Skip to content

[DataFlow runtime] Phase B4 — adopt the de-EAGLE3 surface (cutover + docs + gate)#635

Merged
jiapingW merged 1 commit into
dataflow-up-16-zerocopyfrom
dataflow-up-27-target-engine-cutover
Jul 3, 2026
Merged

[DataFlow runtime] Phase B4 — adopt the de-EAGLE3 surface (cutover + docs + gate)#635
jiapingW merged 1 commit into
dataflow-up-16-zerocopyfrom
dataflow-up-27-target-engine-cutover

Conversation

@maocheng23

Copy link
Copy Markdown
Collaborator

Phase B — 4/4 (clean-up). Stacked on #633 (B3). Makes the Phase B abstractions load-bearing instead of forward-only scaffolding: after B1–B3 the new generic surface (get_target_engine, TargetEngine.capture) existed but no production caller used it yet — callers still hit generate_eagle3_data / get_eagle3_target_model. This adopts it.

  1. adapter cutoverSGLangAdapter / DFlashAdapter now call the engine's generic capture(...) instead of generate_eagle3_data / generate_dflash_data (kept as byte-identical back-compat aliases). This is the dataflow runtime's real capture path, so TargetEngine.capture() is now exercised end-to-end.
  2. factory cutover — the dataflow test fixtures + online launch tests build targets via get_target_engine(strategy=, backend=); get_eagle3_target_model / get_dflash_target_model stay as shims (legacy scripts untouched).
  3. docsruntime/inference/DESIGN.md, runtime/ARCHITECTURE.md, and the adapter docstrings now describe the boundary as TargetEngine.capture (sglang glue behind SGLangCaptureBackend) instead of Eagle3TargetModel.generate_eagle3_data.
  4. explicit B gatetests/test_runtime/test_phase_b_gate.py: capture() ≡ legacy generate_*_data() bytewise (eagle3 + dflash), a stable captured-feature digest, and per-step-loss reproducibility through the full online capture→train path — instead of relying only on the full-suite's indirect coverage.

No behavior change: capture() dispatches to the legacy method.

Validation (8×H200)

Full tests/test_runtime 218 OK (2 skip, 1 xfail) = the prior 214 + the 4 new gate tests. The new gate confirms capture() is byte-identical to the legacy extraction for both eagle3 and dflash.

With this, Phase B is complete. (Deferred to Phase E by decision: collapsing the per-(algorithm × backend) engine classes into per-backend generic engines + a CaptureSpec, alongside the models/targets/ move — see plan.md §2.3.)

🤖 Generated with Claude Code

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@maocheng23 maocheng23 force-pushed the dataflow-up-26-domain-trainer branch from 4e3c214 to 1d9060e Compare July 1, 2026 06:34
…docs + gate)

Makes the Phase B abstractions load-bearing instead of forward-only scaffolding.

1. adapter cutover: SGLangAdapter / DFlashAdapter now call the engine's generic
   `capture(...)` instead of `generate_eagle3_data` / `generate_dflash_data`
   (which stay as byte-identical back-compat aliases). This is the dataflow
   runtime's real capture path, so `TargetEngine.capture()` is now exercised.
2. factory cutover: the dataflow test fixtures + online launch tests build targets
   via `get_target_engine(strategy=, backend=)`; the old `get_eagle3_target_model`
   / `get_dflash_target_model` stay as shims (legacy scripts untouched).
3. docs: runtime/inference/DESIGN.md, runtime/ARCHITECTURE.md, and the adapter
   docstrings now describe the boundary as `TargetEngine.capture` (sglang glue in
   SGLangCaptureBackend) instead of `Eagle3TargetModel.generate_eagle3_data`.
4. explicit B gate: tests/test_runtime/test_phase_b_gate.py — `capture() ≡ legacy
   generate_*_data()` **bytewise** (eagle3 + dflash), a stable captured-feature
   digest, and per-step-loss reproducibility through the full online capture→train
   path (which now routes through `capture()`), instead of relying only on the
   full-suite's indirect coverage.

No behavior change: `capture()` dispatches to the legacy method, so byte-identical.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@maocheng23 maocheng23 force-pushed the dataflow-up-27-target-engine-cutover branch from 7c6457c to e6aaead Compare July 1, 2026 07:13
@maocheng23 maocheng23 marked this pull request as ready for review July 1, 2026 08:22
@maocheng23 maocheng23 requested a review from FrankLeeeee as a code owner July 1, 2026 08:22
Base automatically changed from dataflow-up-26-domain-trainer to dataflow-up-16-zerocopy July 3, 2026 02:17
@jiapingW jiapingW self-requested a review July 3, 2026 02:25
@jiapingW jiapingW merged commit 6f0da78 into dataflow-up-16-zerocopy Jul 3, 2026
1 check passed
@jiapingW jiapingW deleted the dataflow-up-27-target-engine-cutover branch July 3, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants