record(ROAD-V1-C3): DSpark is not unspiked, and TLI was never a DSpark tail (#536) - #867
Merged
Merged
Conversation
…k tail (#536) Punch-list item 17 of .agents/specs/roadmap-v1-completion.md reads "`ROAD-V1-C3` DSpark + TLI (core spec-decode done; overlaps D3). Size M", and the §2 row it summarises calls both halves "unspiked". Re-verifying against the tree, as AGENTS.md requires before claiming, found that no clause of it survives. DSPARK. The spike spec landed 2b34262 on 2026-08-09, `SPEC-DSPARK` has been `ACTIVE` in the engine matrix ever since, and W1-W8 are implemented and GPU-gated: the Markov head, the sequential sampler, native AND Speculators-format loading, the `d2t` reduced draft vocab, the runner/one-surface wiring, the device sequential sample (#436) and the T=1+k verify capture (#442, mirroring vLLM's `uniform_decode_query_len = 1 + num_speculative_tokens`). Roughly twenty `measure(SPEC-DSPARK)` commits sit behind that, two of them landing today. Under pinned clocks the 35B-A3B MoE lane reads 0.975x on the code cell and 1.012x on the prose cell against the pinned graphed oracle -- not parity, not claimed as such -- with the residual localised to `marlin_moe_wna16::Marlin` and attributed to a 12.9% effective-DRAM-bandwidth gap on byte-equivalent machine code. What remains is a perf tail plus owed gates, not a port. TLI. Genuinely untouched -- no commit, code, spec or issue -- and it is NOT a DSpark tail. Upstream's `use_heterogeneous_vocab` (config/speculative.py:150) and `VocabMapping` (v1/spec_decode/vocab_mapping.py:68) are consumed only by `SpecDecodeBaseProposer` (v1/spec_decode/llm_base_proposer.py) and v1/spec_decode/draft_model.py:19. The V2-runner speculators our DFlash/DSpark port mirrors carry no heterogeneous-vocab path at all, so nothing DSpark lands moves TLI: its host row is `SPEC-DRAFT-MODEL`, locally a CPU propose brick with no runner construction, and TLI is prerequisite-blocked behind that row's W3. DSpark's `d2t` does not cover it either -- `d2t` offsets ids inside ONE tokenizer's vocabulary, while `VocabMapping` builds a string-level intersection ACROSS tokenizer families. Filing the two as one item hid a real dependency. D3. The overlap runs the other way: spec-decode-breadth-d3.md puts DSpark and TLI explicitly out of `ROAD-V1-D3` and back under C3, so D3's landing covers no part of this tail. What DSpark reused is C3's own MTP/DFlash verify/reject loop. Reconciled surfaces: roadmap-v1-completion.md §2 and §3 item 17; roadmap_v1.md row 3, the C3 area row and the DSpark grounding note (which still said `INVENTORIED` and "future spike"); spec-decode-inventory.md's `dspark` row, lifecycle summary, TLI axis and the "no `speculators`-format adapter" paragraph that W3 refutes; dspark-spec-decode.md's Status field, stale at "W1-W5 ... W6 PARTIAL ... ~2% BEHIND spec-off"; and docs/STATUS.md, which listed `dspark` among the INVENTORIED methods while its own DSpark paragraph three hundred lines later described the shipped lane. Issues #436, #442 and #513 were tracking DSpark work while absent from roadmap_v1.md's intake table, so the "three places must agree" rule had only two; they are listed now. Every superseded sentence is struck through and kept in place. It is history, and a reader has to be able to see what the record used to claim -- which is also the diagnosis: the drift is entirely in statements ABOUT the row stored away from the row, where nothing fails when they go stale. Records only. No src/, include/ or tests/ file is touched, no measurement is asserted, and no GPU was used. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: ClaudeCode:claude-opus-5 [ClaudeCode]
FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: ClaudeCode:claude-opus-5 [ClaudeCode]
…k tail (#536) Rebase and reconciliation of #539, which was opened 2026-08-12 and went CONFLICTING as main moved. Its argument survives intact; two of its surfaces did not, and its measurements are superseded. WHAT IT ESTABLISHES, unchanged: punch-list item 17 of roadmap-v1-completion.md calls DSpark "unspiked" three days after its spike spec landed (2b34262) and W1-W8 shipped GPU-gated; it files TLI under DSpark when TLI belongs to SPEC-DRAFT-MODEL; and it claims an overlap with ROAD-V1-D3 that spec-decode-breadth-d3.md explicitly scopes OUT. No src/, include/ or tests/ file is touched and no measurement is asserted by the change itself. SURFACE MOVED. The branch edited the issue intake table in roadmap_v1.md. That table no longer exists: intake moved to .agents/issue-index.md, which is append-only and carries merge=union in .gitattributes, precisely so concurrent branches stop colliding here. roadmap_v1.md is therefore taken from main byte-for-byte, and the four keys (#436, #442, #513, #536) are appended to issue-index.md instead, once each, verified. MEASUREMENTS SUPERSEDED. The branch asserts the 35B-A3B MoE lane at 0.975x (code) / 1.012x (prose) under pinned clocks. Those were measured on promaxgb10-4ad8, which no longer exists after the reimage. On the rebuilt stack the matched-and-warm paired ratio is 0.834x, and the 2026-08-15 record entries show every earlier ratio used a single COLD oracle invocation. Both figures are kept but marked superseded with a pointer, rather than deleted -- they are what that box measured, and the record does not erase evidence. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
Records-only branch; clean merge, no overlap with this row's edits. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebase and reconciliation of #539, which was opened 2026-08-12 and went
CONFLICTINGasmainmoved. Its argument survives intact; two of its surfaces did not, and its measurements are superseded. Closes #536. Supersedes #539.What it establishes, unchanged. Punch-list item 17 of
roadmap-v1-completion.mdcalls DSpark "unspiked" three days after its spike spec landed (2b342620e) and W1–W8 shipped GPU-gated; it files TLI under DSpark when TLI belongs toSPEC-DRAFT-MODEL; and it claims an overlap withROAD-V1-D3thatspec-decode-breadth-d3.mdexplicitly scopes out. Nosrc/,include/ortests/file is touched, and the change asserts no measurement of its own.Surface moved. The branch edited the issue intake table in
roadmap_v1.md. That table no longer exists — intake moved to.agents/issue-index.md, which is append-only and carriesmerge=unionin.gitattributes, precisely so concurrent branches stop colliding there. Soroadmap_v1.mdis taken frommainbyte-for-byte and the four keys (#436, #442, #513, #536) are appended toissue-index.mdinstead, once each, verified.Measurements superseded. The branch asserts the 35B-A3B MoE lane at 0.975x (code) / 1.012x (prose) under pinned clocks. Those were measured on
promaxgb10-4ad8, which no longer exists after the reimage. On the rebuilt stack the matched-and-warm paired ratio is 0.834x, and the 2026-08-15 record entries show every earlier ratio used a single cold oracle invocation. Both figures are kept and marked superseded with a pointer rather than deleted — they are what that box measured, and the record does not erase evidence.Gate:
scripts/agent-preflight.sh --staged— All gates green.FOLLOWING_AGENTS_PROTOCOL