The consolidated, phase-by-phase roadmap behind ../../plan.md (the reconciled
architecture). It folds in the former online-disaggregation roadmap PR (#618) so there is one
roadmap home. Each track doc gives, per phase: Goal / Target state / Implementation
(files + symbols) / Tests / Done-when.
Standing decisions (apply across all tracks)
Substrate is canonical.SampleRef (metadata, control plane; assert_no_tensors) +
FeatureStore (tensors: Local/SharedDir/Mooncake) + FeatureDataLoader β TrainBatch. There is
no separate HiddenStateStream source of truth β the loader is the stream; online/offline/
disaggregated vary only in (ref source + FeatureStore), shielded from training.
Frozen target, no weight sync. "Train-with-decode" = a frozen target streams hidden
states over a fixed prompt set; the draft is not in the generation loop. Weight-sync /
hot draft-update / weight-version registry / staleness gate / on-policy are out of scope;
draft_weight_version is kept only as provenance.
Ray is OPEN. A candidate for the O2 scale-out orchestration layer β likely needed for
multi-node N-producer/M-trainer scale-out β but not committed and not a non-goal. See the
decision gate in online-disaggregation.md Β§O2.
Preserve the training seam (TrainerCore / DraftTrainStrategy / TrainingBackend +
StepContext); a domain Trainer + managers wrap it, they do not replace it. It is relocated
intact (not rewritten) from runtime/training to top-level training/ in the move-only
step E0 β see domain-refactor.md.
One implementation home per concern; runtime/ is substrate-only.runtime/ holds only the
DataFlow spine (control_plane + data_plane + contracts). All training-execution code lives
in top-level training/, all rollout/capture-execution code in top-level inference/, and
modeling/ holds model definitions only (no orchestration, no capture factory). New code is
born in its final home β the Phase-D managers land directly in training/, never deeper in
runtime/; the existing seam and target engine are relocated once, in E0. There is no facade
package.