docs(ENG-EXPERT-STREAM-DEVICE): a decode figure called VOID one row above its replacement (#1442) - #1449
Merged
Merged
Conversation
…bove its replacement (#1442) `docs/BENCHMARKS.md:8`, the `ENG-EXPERT-STREAM` row, read "Streaming-ON decode **VOID** (#912 F1); re-measure owed" while line 9, the row directly under it, recorded 11.05 s/token at 4000 slots against a live cache with a decode-phase `exhausted` delta of 0, explicitly as replacing that VOID figure. `docs/STATUS.md:129` repeated the VOID claim. A reader got the answer that depended on which row they read first. The re-measure stopped being owed at `c805ccbb3`, recorded in `.agents/benchmark-record.md` under `ENG-EXPERT-STREAM-DEVICE W0e`: 11.05 is rep 2's median over steps 4 to 32, and rep 1's 11.22 sits 1.54% above it. The 8000-slot arm is not a second figure for the same thing; it measures 39.98 to 45.40 s/token and consumed all 30,625 MiB of swap. Both `ENG-EXPERT-STREAM` cells now keep the VOID and its cause, a step clock with no caller, and point at the row that carries the live figure instead of repeating the number. Repeating it is the shape that lets two records drift apart, which is the defect being fixed. No CUDA number moves: `e67b2a4ba` makes `--device cuda` decode 32/32 steps, G0-CORRECT fails on a step-7 near-tie, and the row's own stop condition therefore leaves G0-SPEED VOID. The `BENCHMARKS.md` cell budget is 220 characters and the old cell measured 215, so the 4 KiB demand-fault mechanism moved out to make room. It is stated in full in `.agents/benchmark-record.md` under "Why it is slow, and by how much", which is where the page's own legend sends a reader for detail. No gate catches this class, by design. The two rows are keyed on different IDs, so `check-public-doc-tables.py` sees two well-formed rows and `check-agent-record.py` sees two individually consistent lifecycle states, and no checker here compares a claim in one keyed row against a claim in another. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
`origin/main` moved from `b537a5344` to `9ecaf1bb3` while this row was in flight. The merge is clean and touches no file this row edits: the one overlap is `.agents/issue-index.md`, which carries `merge=union` and took both appends. `docs/FEATURES.md` moved on the CPU backend row, not on the routed-expert streaming row this row reads. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
`origin/main` moved to `f07f96e1c` while this pull request was open, and GitHub reported the branch CONFLICTING while `git merge-tree --write-tree` reported it clean at exit 0. The file is `.agents/issue-index.md`, which carries `merge=union` in `.gitattributes`; the forge does not apply that driver, so two appends read as a conflict there and merge without one here. This merge takes both appends and leaves every other row byte-for-byte unchanged. `f07f96e1c` (#1444) also edits `.agents/specs/expert-streaming.md` and `docs/USAGE.md`, neither of which this row touches. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
… public cell now points at (#1442) Repairs four findings from the fresh review of #1449. `.agents/specs/expert-streaming.md`'s `## Owed` still read "Re-measure decode on a LIVE cache ... is void", with "why it is open" naming an unreachable `dgx.casa`. That is the same contradiction this row is closing, one level down: the repaired `docs/BENCHMARKS.md` cell routes a reader to the row record, and the row record told them the measurement was still owed and blocked. It landed at `c805ccbb3` and the box was reached. The entry is struck as CLOSED by W0e and kept as a line, because the void's cause is what shaped the replacement: `EndStep()` had no caller, `protected_this_step` never cleared, and every slice from partway through token 3 came from the mmap, which is why W0e gates `exhausted` on its decode-phase DELTA rather than on a total. `.agents/specs/expert-stream-device-slots.md`'s `## Owed` listed #1387 as open while the same flow closed it. Struck, with the measured evidence beside it and with #573 named as the surviving half, which is the checker-semantics question this change does not touch. The paragraph added to that spec's `## Now` asserted of both public files what was true of one. `docs/BENCHMARKS.md:8` never carried a cause and its replacement was one line down; `docs/STATUS.md:129` carried the cause, never said a re-measure was owed, and its replacement sits 38 lines away in a different table. Both spec and index now state the repair per file. `docs/BENCHMARKS.md:8`'s pointer said "the next row", which is positional inside a 253-row table, measured with the checker's own `_table_rows` parser. It now names `ENG-EXPERT-STREAM-DEVICE`, as `docs/STATUS.md:129` already did. The 220-character cell paid for the 26-character key by dropping bold from three supporting numbers and by moving "streaming OFF" out of parentheses; bold now marks the claim and the verdict, and the cell measures 217. The index row is corrected in place rather than superseded by a second row. `scripts/check-issue-index-append-only.py` evaluates one aggregate diff against the merge base, and its docstring gives the reason the rule exists: a union merge duplicates an EDITED line, which needs the line to exist on both sides. This row exists on neither `main` nor any other branch, so the net diff against `f07f96e1c` is one added line and no removed line. Appending a second #1442 row to correct an unmerged one would leave a duplicate key in an append-only log. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
`origin/main` advanced again while this pull request was under review. The merge is clean. `.agents/issue-index.md` is the only file both sides touch, and it carries `merge=union` in `.gitattributes`, so both appends land and no other row moves. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
…t two (#1442) The repair that split the public-page claim per file replaced one over-generalisation with a checkable falsehood. It said `docs/STATUS.md:167` is "38 lines away and in a different table". The distance is right and the table is wrong. Measured, not read: `docs/STATUS.md` holds exactly two contiguous blocks of table rows, 126-190 and 192-192. Lines 129 and 167 both sit inside 126-190, with no blank line, heading or separator between them. The only non-row lines anywhere in 120-190 are prose at 120-124 and blanks at 122 and 125. So the replacement figure is 38 rows further down the same 65-row table. Corrected in the spec paragraph and in the index row. Both now say "38 rows further down the SAME table" and give the span, so the claim carries the measurement that settles it rather than a characterisation a reader has to trust. The pointer decision it was offered as justification for is unchanged and did not depend on it. `docs/BENCHMARKS.md:8` says "re-measured LIVE by `ENG-EXPERT-STREAM-DEVICE`" because a positional pointer inside a 253-row table breaks when a row is inserted above it, which is true whatever `docs/STATUS.md`'s table structure is. The index row is corrected in place for the second time, on the same grounds as the first and re-verified rather than assumed: the row appears in no ref but this branch, checked across all 513 remote heads, and the absence from `origin/main` is now backed by an instrument proven to fire, `git show origin/main:.agents/issue-index.md | grep -c` at 0 against the same command on `HEAD` at 1. An earlier `git grep` of the same pattern returned "absent" for BOTH sides, which is a broken instrument rather than a result, and is recorded here because it nearly passed for one. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
`#1450` landed the conflict-marker gate and appended to `.agents/issue-index.md`, the one file this branch also touches. The merge is clean: that path carries `merge=union` in `.gitattributes`, so both appends land and no other row moves. Merged locally rather than left for the forge, which does not apply the driver and reports a phantom conflict on exactly this shape. 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.
Two public pages and one row record all told a reader the streaming-ON decode
figure was void, after the measurement that replaced it had landed.
The public cells
docs/BENCHMARKS.md:8, theENG-EXPERT-STREAMrow, read "Streaming-ON decodeVOID (#912 F1); re-measure owed" while line 9, the row directly under it,
recorded 11.05 s/token at 4000 slots against a live cache with a decode-phase
exhausteddelta of 0, explicitly as replacing that VOID figure.docs/STATUS.md:129also carried the VOID. A reader got the answer thatdepended on which row they read first.
The two cells never said the same thing, so the repair is stated per file:
docs/BENCHMARKS.md:8named no cause and its replacement was one line down.It keeps its
**VOID** (#912 F1)and now reads "re-measured LIVE byENG-EXPERT-STREAM-DEVICE" where it said "the next row". A positionalpointer breaks the moment a row is inserted above it, and no checker
validates one; the table holds 253 rows, measured with the checker's own
_table_rowsparser.docs/STATUS.md:129never said a re-measure was owed, and its replacement isnot adjacent: that figure is at
docs/STATUS.md:167, 38 rows further downthe SAME table, which runs 126-190 as one unbroken block. It keeps the cause
verbatim, the step clock that had no caller, and gains the same named
pointer.
Neither cell repeats 11.05 s/token.
docs/BENCHMARKS.md:9anddocs/STATUS.md:167already carry it, and one number stated in two keyed rowsis what lets the two drift apart.
The row record said the same thing one level down
.agents/specs/expert-streaming.md's## Owedstill read "Re-measure decodeon a LIVE cache ... is void", with its "why it is open" naming an unreachable
dgx.casa. So a fixed public cell routed a reader to the row record and therow record told them the measurement was still owed and blocked. The entry is
struck as CLOSED by
ENG-EXPERT-STREAM-DEVICEW0e and kept as a line, usingthe convention the sibling spec already uses, because the void's cause is what
shaped the replacement:
EndStep()had no caller,protected_this_stepnevercleared, and every slice from partway through token 3 came from the mmap, which
is why W0e gates
exhaustedon its decode-phase DELTA rather than on a total..agents/specs/expert-stream-device-slots.md's## Owedlisted issue 1387 asopen while the same flow closed it. Struck, with the measured evidence beside
it and with issue 573 named as the surviving half.
Evidence for the figures
The re-measure stopped being owed at
c805ccbb3, recorded in.agents/benchmark-record.mdunderENG-EXPERT-STREAM-DEVICE W0e: 11.05 isrep 2's median over steps 4 to 32, and rep 1's 11.22 sits 1.54% above it. The
8000-slot arm is not a second figure for the same thing; it measures 39.98 to
45.40 s/token and consumed all 30,625 MiB of swap, which that record reads as
page-cache displacement and states as a reading of its columns rather than a
proven mechanism. No CUDA number moves:
e67b2a4bamakes--device cudadecode 32/32 steps at peak RSS 97.75 GiB, G0-CORRECT fails on a step-7 near-tie
whose cause is not identified, and the row's own stop condition therefore
leaves G0-SPEED VOID.
What the pointer cost the cell
The pointer clause grew 31 characters, from
; re-measure owedat 17 to; re-measured LIVE by ENG-EXPERT-STREAM-DEVICEat 48. Two edits paid for itand both belong in this sentence, because the second alone does not cover it:
the words "as 4 KiB faults" came out at 16 characters, and dropping bold from
three supporting numbers and moving "streaming OFF" out of parentheses freed 13
more. 31 against 29 is the +2 that takes the cell from 215 on
mainto 217here, inside the 220 budget. No fact was lost. The 4 KiB demand-fault mechanism
survives verbatim at
.agents/benchmark-record.md:22198and.agents/specs/expert-streaming.md:880, which is where this page's own legendsends a reader, and the index row discloses the displacement in full. Bold now
marks the claim and the verdict.
docs/STATUS.md's cell measures 195, and thatpage's
oversized_cellsratchet sits at 44 of 44, unmoved by this change.No gate catches this class, by design. The rows are keyed on different IDs, so
check-public-doc-tables.pysees well-formed rows andcheck-agent-record.pysees individually consistent lifecycle states, and no checker here compares a
claim in one keyed row against a claim in another.
The index row is corrected in place
.agents/issue-index.mdis append-only. This row is corrected rather thansuperseded by a second row, and the reason is the rule's own reason:
check-issue-index-append-only.pyevaluates one aggregate diff against themerge base, and its docstring says a union merge duplicates an EDITED line,
which needs that line to exist on both sides. Verified rather than assumed: the
row appears in no ref but this branch, checked across all 513 remote heads, and
git show origin/main:.agents/issue-index.md | grep -creturns 0 where thesame command on
HEADreturns 1, so the absence comes from an instrumentproven to fire. The net diff against the merge base is one added line and no
removed line. Appending a second row for the same issue would leave a duplicate
key in an append-only log. This is flagged rather than done silently, and it is
not a precedent: the argument holds only while no other branch carries the row.
Gates
Run from this worktree's own
scripts/, exit status captured unpiped, aftermerging
origin/main4cde4762a:check-agent-record0, re-run after themerge;
check-public-doc-tables0, re-run after each edit;check-now-current0;
check-conflict-markers0, the gate #1450 had just landed;check-doc-checkpoint --base origin/main --head HEAD0;check-issue-index-append-only --base origin/main --head HEAD0, with adetached scratch commit editing row 168, a row that DOES exist on
main, asits positive control at 1 and the mutation proven applied by
git diff --stat;check-commit-trailers --range origin/main..HEAD0;check-commit-style --range origin/main..HEAD0;git grep -n '^<<<<<<< \|^>>>>>>> '1 with atwo-line fixture as its positive control at 0.
agent-preflight.shreports one red,test_cpu_x86_llamacpp_floor, whichexits 4
NO_QUIET_WINDOWwhere its case asserts 2, at one-minute load averagesof 49.77, 52.96, 58.34 and 211.99 across four observations. That is the load
dependence tracked in issue 618. A quiet re-run was attempted and could not be
taken: the box was polled for 30 minutes and never fell below load 8, peaking
at 126. The independence argument is structural instead: this branch changes
five files, all
.agents/ordocs/Markdown, so neither the test noranything it drives differs from
origin/main.Issue 1387
It gets no product change here, and the reason is evidence rather than scope.
Its record half already landed: the stale string "CPU keep-quant towers only"
is absent from
docs/FEATURES.mdonorigin/mainand present at5f4eb356e^, which is the positive control for that grep.5f4eb356e(#1377)wrote the row and
e67b2a4ba(#1427) refined it again, so the page names thestaging device and both accepted residencies, keep-quant and keep-f16. Its
checker half, whether a per-commit record gate should be satisfiable after the
commit is published, is issue 573 and stays open under
ENG-RECORD-CONFLICT-SURFACES. This branch touches no file underscripts/.Closes #1442
FOLLOWING_AGENTS_PROTOCOL
Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]