Skip to content

record(ORACLE-LLAMACPP-REPIN-STOCK): the pin named a tree that exists nowhere (#857) - #1051

Merged
localai-bot merged 18 commits into
mainfrom
row/ORACLE-LLAMACPP-REPIN-STOCK
Aug 16, 2026
Merged

record(ORACLE-LLAMACPP-REPIN-STOCK): the pin named a tree that exists nowhere (#857)#1051
localai-bot merged 18 commits into
mainfrom
row/ORACLE-LLAMACPP-REPIN-STOCK

Conversation

@localai-bot

Copy link
Copy Markdown
Collaborator

FOLLOWING_AGENTS_PROTOCOL

Repins the llama.cpp oracle from a local fork to stock upstream and enumerates
every measurement the fork contaminated. Owning issue
#857; the re-measurement is
#1003.

Records and a spec only. No product behaviour changes.

The pin named a tree that exists nowhere

.agents/oracles/llama-cpp.md recorded pin = 237ad9b96, pin_label = b9892,
gateable = yes. All three were wrong:

  • 237ad9b96 is on no remote. GitHub returns No commit found for SHA for
    both mudler/llama.cpp and ggml-org/llama.cpp. It is a local-only commit,
    and the working tree carried 27 uncommitted files on top of it, so builds from
    that directory measured a tree in no repository at all.
  • b9892 is not a label, it is a collision. git rev-list --count returns
    9892 for the fork, and upstream tag b9892 (ee445f93d) is ALSO 65 commits
    past b9827 and ALSO counts 9892. Neither is an ancestor of the other. So a
    reader checking out b9892 to reproduce a number silently gets stock upstream.
    That already happened in-tree: rpi5-a76-llamacpp-20260806.md used stock
    b9892 while cpu-x86-llamacpp-20260811.md built the fork under the same
    label. Two evidence files, one label, two trees.
  • The 65 fork commits are our own performance work — native NVFP4 W4A4
    prefill GEMM, Marlin-style W4A16 grouped MoE GEMM, MoE-decode CUDA graph,
    decode-graph reuse, fused residual-add plus RMSNorm, chunked GDN prefill, a
    TTFT prefill-first scheduler mode. Six of them touch ggml/src/ggml-cpu/, and
    570aadd7a emits its fused GDN and discriminated SSM_CONV ops default-on
    with a CPU reference implementation, so the CPU floor built GGML_CUDA=OFF hit
    them too.

The oracle file defined this comparator as "the numbers a user can actually get
today" and then pinned a local fork carrying 65 of our own optimisations. Both
cannot be true.

Now pinned to stock b10451 / 10bf611e5, reachable, with the tag bound to
the commit on the remote — a check the old label would have failed.
gateable = no, because stock has never been built or run on this hardware, with
#857 owning the measurement. Carrying yes across the repin would have been the
defect this row exists to remove.

Enumeration by sweep, because hand-enumeration failed three times

Round one listed the set by hand and missed the Vulkan MET and the Pi 5 RSS.
Round two missed Muse Glimmer. Round three missed README.md because the sweep's
path set excluded the repo root.

The spec now carries a runnable three-stage sweep with git ls-files and no
path arguments — no include list to fall behind the tree, no exclusion list to
justify. Stage 1 marks a line when it carries a comparison token and llama.cpp is
attributed to it: the line names it, or a line within three does, or the line is
a table body row whose HEADER does. That third clause is what no git grep -C
can express, and it is what catches | Prefill | 223.8 tok/s | 177.3 | 1.18x |
whose own text never says llama.cpp. Stage 2 filters by the page's own rule at
docs/BENCHMARKS.md:32-34. Stage 3 reads each survivor's revision off its
evidence record.

Twelve contaminated measurements, seven favourable verdicts, ordered by
margin against their own noise floor rather than by margin size. That ordering
matters: the Vulkan decode MET at 4.36 versus 4.35 is a 0.23% margin inside
its own 0.69% spread
, so it is far more fragile than the 18% prefill, and
README.md states it publicly as "matches llama.cpp".

Five llama.cpp revisions, and one of them is not a revision

The record twice asserted a universal the same page disproved. Measured, the
tree carries the fork, stock b9892, stock 704485942, stock 030ebb5, and
a Poolside fork on branch laguna with no SHA recorded anywhere. A branch is
a moving reference, so Laguna's 27.8 tok/s was never reproducible and cannot
simply be re-run
: re-taking it means choosing a revision first. That figure
drives the campaign's "15x to 18x behind" statements.

Contamination reaching a shipped default

gguf_keep_quant.cpp quotes llama.cpp denominators in source as the
justification for VT_GGUF_KEEP_F16 shipping default ON. The owning A/B has
three axes and two regress: prefill about 10% worse, decode about 1.4% worse,
bought for 1.05 GiB. The recorded tie-break is stated in the floor's own terms,
"comfortably above the competitor floor".

So the default is owed a decision, not just a re-take, and #1003 says so. If a
re-taken stock pp128 lands above 204 t/s, that clause fails and the default's
only recorded justification is gone. The default itself is unchanged here, since
changing a shipped default on a contaminated justification would be the same
error in the other direction.

Two figures in that comment, pp128 176.6 and 205 t/s, appear in no recorded
run. They are self-consistent (205/176.6 = 1.16), so they were computed rather
than mistyped. Recorded as untraceable rather than reconciled to the spec's
173.2/1.18x, because picking one would invent a provenance.

The instrument was wrong five times, and the fifth is stated rather than fixed

Each round hardened the sweep and the next found a new hole, so the record now
says to assume a residual rather than trust the green.

  • The path set excluded the repo root. Removed entirely.
  • × was present but silently dead: × is not \w, so \b after it needs a
    FOLLOWING word character, and only 3.9×decode matched. A token list can be
    WRONG as well as short.
  • Stage 2 spelled the same rule with no trailing \b, so two expressions
    disagreed and only the narrower one gated. Stage 2 is now compiled from the
    same dict.
  • Stage 2's \b[1-9] never excluded sub-1.0 ratios, because in 0.204x the
    boundary is satisfied after the decimal point. Two defects were cancelling, and
    the rule was wrong anyway since 0.758x is the Pi 5 RSS win.
  • A live token is not a covered shape. The self-test now proves every one of
    19 alternatives is live, 43 mutations all red. It does NOT prove shape
    coverage: narrowing the ratio branch to require a decimal passes green and
    silently drops 32 candidates, and narrowing the attribution window to
    range(n, n+1) passes green while deleting 64% of the instrument's output,
    because every control was a string and the attribution half is not a string.
    Controls added for the two live shapes and for the attribution half; the
    residual is stated with its measured table and carried under ## Owed.

Evidence

scripts/agent-preflight.sh: 77 results, 77 ok, 0 FAIL, 0 SKIP, exit 0,
gated against origin/main d1b0ea3a8, named in both range headings.

The sweep is reproducible from the committed markdown: extract the fenced block
and run it. 1263 candidates in 145 files, 1033 favourable at this head; the
self-test exits 1 naming the strings it can no longer see.

test_cpu_x86_llamacpp_floor (#618) is load-dependent and passed here at an idle
box. It has now been observed failing at a one-minute loadavg of 11.99, below
three loads at which it passed, so the threshold reading of that list is retired.

Owed

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]

mudler added 18 commits August 16, 2026 10:22
…rk, 65 perf commits deep (#1003, #857)

`.agents/oracles/llama-cpp.md` defines this comparator as "the CPU and GGUF
k-quant speed and memory numbers a user can actually get today" and then pins
`237ad9b96`, a local-only commit on branch `localai-paged` in the developer's
checkout. `git branch -r --contains 237ad9b96` is empty. Both statements cannot
be true.

`git describe --tags 237ad9b96` returns `b9827-65-g237ad9b96`. Those 65 commits
are ours: native NVFP4 W4A4 prefill GEMM, Marlin-style W4A16 grouped MoE prefill
GEMM, default-on MoE-decode CUDA graph, paged decode-graph reuse, fused
residual-add plus RMSNorm, chunked parallel-scan GDN prefill, a TTFT scheduler
mode.

The recorded `pin_label = b9892` came from `git rev-list --count`, which returns
9892. That is worse than imprecise. Stock reached tag `b9892` exactly 65 commits
after the same base `b9827`, so the real upstream `b9892` also counts 9892 and
resolves to `ee445f93d`. `git merge-base 237ad9b96 b9892` is `b9827` and neither
is an ancestor of the other. The label names a real, fetchable, different tree at
the same depth, and a reader checking out `b9892` to reproduce a number cannot
notice.

That already happened here. `rpi5-a76-llamacpp-20260806.md` recorded the pin as
unobtainable and substituted stock `b9892`. `cpu-x86-llamacpp-20260811.md`
recorded "local fork `237ad9b96`, build number 9892, the recorded pin". Two
evidence files, one label, two trees.

The contamination is not confined to CUDA, which is what makes it a CPU-oracle
defect rather than a filing error. Six of the 65 touch `ggml/src/ggml-cpu/`,
adding 320 net lines to `ops.cpp` in `ssm_conv_f32`, `gated_delta_net_*`,
`flash_attn_ext_f16*` and `scale`. `570aadd7a` states that the fused GDN op and
the discriminated SSM_CONV decode op are emitted DEFAULT-ON and implemented for
the CUDA family "and the CPU reference ONLY". `git grep ssm_conv_update
origin/master` returns nothing. The CPU floor arm built that fork with
`GGML_CUDA=OFF` and ran a `qwen35` model, whose CPU graph reaches exactly those
ops.

The spec selects stock `b10451` (`10bf611e5`), argues it against `b9892` and
against the fork's own base `b9827`, enumerates all nine contaminated
measurements with a re-take verdict each, states the direction of the error, and
names the one recorded conclusion that can flip unfavourably.

Spec only. No record edit and no pin change in this commit, so the tree still
says `237ad9b96` until the next one.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
… gateable=no (#857, #1003)

The oracle moves from our local-only fork `237ad9b96` to stock upstream tag
`b10451` (`10bf611e533d81f739128304991c5e133c6aebd8`), and `gateable` drops from
`yes` to `no`.

`gateable = no` is the substance of this commit, not a formality. AGENTS.md
admits `yes` only once an oracle demonstrably builds and runs the model, and
stock upstream has never been built or run on this project's hardware. Carrying
`yes` across a repin would assert a measurement nobody took, which is the defect
this row exists to fix. `evidence = #857`, whose acceptance already reads "build
and run the replacement on dgx.casa", so the ungateable lane is visible debt with
a named owner.

Why the newest release rather than something nearer the fork's `b9827` base. The
file's own first sentence defines this comparator as the numbers "a user can
actually get today", and a user installs a release. The competing argument,
minimise behavioural drift from existing evidence, buys nothing, because no
llama.cpp-side number survives the repin: all nine are enumerated in the spec and
every one is owed a re-take whichever stock revision is chosen. Repinning to the
real `b9892` would additionally make two distinct objects both correctly called
`b9892` inside one repository history, which is the collision this row removes.
`b9827` keeps a job as the base of the stock-versus-fork A/B that isolates our
own 65 commits, recorded in #1003.

Two factual errors are fixed regardless of the repin, because both would have
survived a pin advance. The label was derived from `git rev-list --count`, and
the justification argued the pin from the pin ("the fork is what `237ad9b96`
names") while naming no property of the fork that upstream lacks. Stock
`origin/master` carries `src/models/qwen35.cpp`, `qwen35moe.cpp`, the arch
strings at `src/llama-arch.cpp:41-42`, the eight NEXTN entries at `:525-531`, and
`common_speculative_impl_draft_mtp` at `common/speculative.cpp:1274`.

The record now also requires asserting the TREE, not only the commit. The
superseded measurements came from a directory somebody develops in, carrying 27
uncommitted entries at +2279/-762. A pin names a commit and a commit cannot tell
you what was built, so the obligation sits in prose at the point of use: build
from a fresh `git archive` or clone, or assert `git status --porcelain` empty,
and record the binary's sha256 either way.

`docs/BENCHMARKS.md` marks the GB10 CPU floor denominator SUPERSEDED on all three
axes, states in §"How we measure" that every llama.cpp figure on the page ran the
former pin, and names the prefill `1.18x` as the only recorded verdict the
re-take can flip against us. The Pi 5 row gets its own marker, because its
denominator is stock `b9892`, substituted when the pin proved unobtainable, so it
is neither the old pin nor the new one. No number is deleted.

`.agents/upstream-inventory.json` is deliberately NOT edited. Its `pins.llamacpp`
looks like a second transcription of the oracle pin and is not one:
`scripts/upstream-inventory.py:206` emits `head_of(path)[:9]` over
`$LLAMACPP_SOURCE`, so it is a derived snapshot of the developer's checkout HEAD.
The two coincide today only because that checkout sits on `localai-paged`.

No matrix row changes lifecycle state, so no `docs/STATUS.md` edit is owed.
Whether `BACKEND-GATE-CPU-LLAMACPP` should leave its closed state is a judgement
for the re-measurement, not for a record edit that has measured nothing.

`check-env-doc` and `test_check_env_doc` are inherited red from `3005447f8`
(#993, filed as #1000, PR #997 in flight). They fail identically on a pristine
`origin/main` tree with `git status --porcelain` empty, and this branch touches
nothing under `src/` or `include/`.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
Brings the branch onto 332aed7 so the commit-trailer gate has origin/main as an
ancestor of HEAD and actually executes rather than silently skipping.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
…ed (#1003, #857)

A fresh review reproduced this row's factual core exactly and returned ten
findings in the claims layered on top of it. Every one is re-derived here rather
than accepted, and three of them were wrong in a way that would have shaped later
work.

The scoping error is the expensive one. Both `docs/BENCHMARKS.md` and this spec
said the GB10 prefill `1.18x` was "the only llama.cpp verdict recorded as a win,
so the only one the re-take can flip against us". #1003 is scoped by that
sentence, so an agent reading it would have re-taken prefill and stopped. The
counterexamples are on the same page. `BENCH-VK-LLAMA` decode is 4.36 versus 4.35
tok/s `MET`, a 0.23% margin, and its own source puts the 7-leg spread at 0.69%
and calls it "a narrow pass, not a comfortable one". That verdict already sits
inside its own noise floor, which makes it far more exposed than an 18% prefill
margin, and this spec had already listed it as row 7 owed a re-take. The Pi 5
peak RSS is a second favourable comparison at 2.841 versus 3.747 GiB. Both
passages now enumerate all four favourable verdicts ordered by fragility, which
is the margin measured against its own noise floor, not by the size of the
margin. The issue-index row for #1003 carries the same ordering.

The universal in §"How we measure" was contradicted by the same page. It read
"Every llama.cpp figure here ran the former pin `237ad9b96`, our own fork". The
Pi 5 arm did not, and the row eleven lines above says so. Fixed, because
asserting a universal the tree disproves is the exact defect class this row
exists to remove.

Half of Design item 2 had not executed. It names two Vulkan sites, and only the
`Reproduce` recipe got its marker. The `BENCH-VK-LLAMA` result row, which is the
one carrying the `MET` verdict, was unmarked. It now says `denominator
SUPERSEDED`, and its `21.5x` prefill is labelled a SELF-ratio, because the source
JSON says "Prefill is 21.5x its pre-campaign value on the same model" and this
spec's row 7 had filed it as a llama.cpp number.

The authoritative records were untouched, so the public projection read
SUPERSEDED while the record it projects read closed.
`.agents/backend-matrix.md:261` stated the pin as `237ad9b96` and linked to the
oracle file this row repinned. `:266` carried the live "at OR ahead of llama.cpp
on every axis" verdict, all of it against the fork, and
`.agents/quantization-matrix.md` names that cell as "the one place this gate's
live position lives". `.agents/feature-matrix.md:176` repeats the claim. All
three now mark the denominator. No lifecycle state moves, because marking a
denominator is not a state change and the re-measurement owns that judgement.
The quantization matrix needs no edit: its cell already defers to the backend
matrix.

The claimed gate mechanism does not exist, and this is mutation-disproved rather
than reasoned. This spec said editing `.agents/upstream-inventory.json`'s
`pins.llamacpp` "would turn the `upstream-inventory --check` gate red". Setting
it to `10bf611e5` and running the checker printed `OK: the agent record matches
the upstream inventory snapshot` and returned `rc=0`, with `git diff --stat`
confirming the edit had applied. `--check` compares `registry.missing_count`,
`arch_floor.supported`, `arch_floor.supported_with_no_row` and the two
`devices.*_uncovered` lists, and never reads `pins`. The decision not to edit the
file stands and its primary justification verified, but the truth is worse than
written: nothing gates that field, so only the prose protects it.

Four measurements corrected. `src/llama-arch.cpp:525-531` is `:525-532` at
`b10451`, eight entries over eight lines. "adding 320 net lines to `ops.cpp`" is
neither: `git diff --numstat b9827 237ad9b96 -- ggml/src/ggml-cpu/` returns
`ops.cpp` at +318/-13 and `ggml-cpu.c` at +2/-1, so 320 is the insertion total
across both files and `ops.cpp` is net +305. "roughly 50 files carrying
`file:line @ 237ad9b96`" undercounts the owed sweep: 109 files mention the SHA,
67 attribute a path or a tree to it in the `@ <sha>` form, and 52 carry a
`path.ext:LINE` anchor within three lines of the mention. Each replacement states
what was counted. The `docs/BENCHMARKS.md:479` and `:504` anchors went stale
inside this pull request, because the diff added eight lines above them, and
`:479` now lands on a MiniMax-H3 row. They are replaced with row names rather
than re-numbered, and every other repo-local anchor in the spec was re-derived
against HEAD.

§Gates named two inherited reds while runs produce three.
`test_cpu_x86_llamacpp_floor` is the third, filed as #618 and owned by
`BACKEND-GATE-CPU-LLAMACPP`, the row this spec defers its lifecycle judgement to.
It reproduced here at loadavg 61: the contended-leg case exits `NO_QUIET_WINDOW`
(4) instead of the `GIVING_UP` (2) it asserts.

`docs/FEATURES.md` carries both Vulkan defects too: it reads "parity met
narrowly" with an unmarked denominator and quotes the `21.5x` as though it were a
llama.cpp ratio. Both are marked. That edit is separately owed, because
`scripts/check-doc-checkpoint.py` classifies an edit to either matrix as
`feature_surface` and a `feature_surface` change owes `docs/FEATURES.md`.

`scripts/check-public-doc-tables.py` holds `docs/BENCHMARKS.md` at 35 of 35 prose
paragraphs, so the fragility ranking lands as a table, which costs no paragraph.
The `BENCH-VK-LLAMA` row paid for its own new marker inside the 220-character
cell cap by moving its `[source]` link into the key cell, which is what that
checker's `MAX_ROW_CHARS` comment asks for, and the `docs/FEATURES.md` paragraph
was trimmed elsewhere to stay under its 700-character cap. No checker was
weakened and no budget was raised.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
PR #997 landed the `docs/ENVIRONMENT.md` entries for the three expert-streaming
knobs, which clears the `check-env-doc` and `test_check_env_doc` reds this
branch inherited from `3005447f8` (#993, #995, #1000). The gate is rerun on the
merge commit rather than on the pre-merge head, so the result reported is the
one that would land.

`.agents/issue-index.md` changed on both sides and carries `merge=union`, so both
appends survive. The union result is verified row by row rather than assumed.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
…the tree now has three others (#1003)

The re-derivation commit reported §Gates as it stood at that moment. `origin/main`
moved twice under this branch while the work was in flight, so the section is
brought back onto the tree rather than left asserting a state the gate disproves.
That is the same defect class this row exists to remove, applied to its own
record.

`check-env-doc` and `test_check_env_doc` are no longer red. PR #997 landed as
`45b022cdc`, `origin/main` was merged again, and both pass here. The waiver is
retired instead of carried, because a stale exception outlives the condition that
justified it.

`check-agent-record` and `test_agent_record` are red, and they are red on
`origin/main` itself. `.agents/issue-index.md` now holds two rows for #995, one
from this branch's base and one from `45b022cdc`, and the checker refuses that
with "under `merge=union` a duplicate is what two branches appending the same
issue look like". Proved rather than attributed: on a pristine detached worktree
at `45b022cdc` with `git status --porcelain` empty,
`python3 scripts/check-agent-record.py` returns `rc=1` with the identical
message. Not repaired here. The index is append-only, a landed row may not be
edited or deleted, and which of the two #995 texts survives is a judgement for
`ENG-EXPERT-STREAM`, which owns both rows.

`test_cpu_x86_llamacpp_floor` (#618) is now recorded with the measurement that
makes its load-dependence falsifiable instead of a claim about it: it PASSED at
loadavg 12.47 and FAILED at 46, 61 and 216, and each failure names the load it
saw.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
…ead of listing it, and the sweep finds a fifth win, a third revision and a shallow clone (#1003, #857)

Two successive fresh reviews each found one favourable llama.cpp verdict this
row's hand enumeration had missed: the Vulkan `MET` and the Pi 5 RSS in the
first, Muse Glimmer in the second. A third hand pass would fail the same way, so
the set is no longer written from reading. It is the output of a three-stage
sweep that the spec carries in full, and the spec now says how the set was
produced rather than only what it contains.

The sweep is short enough to live in the spec rather than become another file
the tree has to keep true. Stage 1 marks a line in `docs/`, `.agents/` or
`benchmarks/` as a candidate when it carries a comparison token and llama.cpp is
attributed to it, where attribution means the line names llama.cpp, OR a line
within three names it, OR the line is a markdown table body row whose HEADER
names it. That third clause is the one a `git grep -C` cannot express, and it is
what catches `| Prefill | 223.8 tok/s | 177.3 | 1.18x | PASS |`, whose own text
never says llama.cpp. Stage 2 filters to a ratio at or above 1.0 or a favourable
verdict word, which is the page's own rule at `docs/BENCHMARKS.md:32-34`. Stage 3
reads each survivor's revision off the evidence record that produced it. On this
commit's tree the stages print 960 candidate lines over 651 files and 719
favourable ones, and the block in the spec was executed as written to produce
those two numbers.

Muse Glimmer is the fifth favourable verdict, and by this row's own criterion it
ranks second. `docs/BENCHMARKS.md:29` records in128 prefill `1.023x`, the page's
rule at `:32-34` calls 1.0 or higher a win everywhere, and the source at
`.agents/benchmark-record.md:19231` puts our arm at 13.455 with a 4.5% leg spread
over n=4 against llama.cpp's 13.158 at 0.7%. More than half the margin is inside
our own arm's spread before the denominator moves. The criterion is margin
against noise floor, not margin size, so it outranks the 18% prefill and the
24.2% Pi 5 RSS. The honest other half is that its denominator is already stock,
84 commits from the pin, so what exposes it is the noise and not the
denominator. That is stated where it is ranked. `docs/STATUS.md:502` restated the
same number unmarked and now carries the denominator too.

The replacement universal was still false. `docs/BENCHMARKS.md:419-421` said all
figures but the Pi 5 arm ran `237ad9b96` and the Pi 5 arm ran stock `b9892`. The
Muse Glimmer and #391 arm ran neither: `.agents/benchmark-record.md:18996` names
llama.cpp master `704485942ab54bbbbf1f241b3550ffba35f5f37e`, and that object
appeared nowhere in `docs/`, in this spec, or in the issue index. A fourth
revision, stock `030ebb5` at `b10358`, carries one explicitly NON-BINDING
datapoint at `:18159`. The page stops asserting a universal and points at a
Reproduce row that names the three binding revisions, which costs no prose
paragraph on a page that sits at 35 of 35.

The 122-commit window was an instrument defect, not arithmetic, and it is 624.
`git rev-list --count b9827..b10451` returns 122 in the developer's clone because
that clone is SHALLOW: `.git/shallow` grafts at `687e77892`, so
`git rev-list --count b10451` returns 122 where a full clone returns 10451, and
`git merge-base --is-ancestor b9827 b10451` answers no for the same reason. Every
distance and ancestry answer crossing the graft is wrong and looks exactly like a
correct one. The real distance comes from llama.cpp's build-number convention,
which this row already established when it showed the old `pin_label` was a
commit count: tag `bN` sits at depth N, verified in-clone for `b9827` and
`b9892`. Cross-checked on a distance the graft does not truncate, `704485942`
describes as `b10362-5`, predicting 84 commits to `b10451`, and the direct
measurement is 84. Prediction and measurement agree, which is what licenses the
convention. The spec's Tests section now names the precondition so the next
reader asserts it before trusting any of these commands.

The F9 counts went stale inside this pull request, so the spec records the
commands and not only the numbers. `a2ede63a1` measured 109 and 67; `24e47f265`
moved them to 110 and 66 in the act of recording them, by adding a mention to
`.agents/feature-matrix.md` and rewriting the #1003 row out of the `@ <sha>`
form. This commit moves the first to 111, because `docs/BUILD.md` now names the
fork it was measured against. Three commands are recorded, all runnable, and the
`path.ext:LINE` one is a loop rather than a claim. A bare count in a spec is a
measurement of one file stored inside another, which AGENTS.md Records names as
the coupling to avoid.

`## Owed` carried the retired "roughly 50" while `:116` called it an undercount
and `:260` gave the measured figures. It now points at the counting command,
names eleven contaminated measurements rather than nine, and says re-taking the
GB10 prefill alone does not discharge #1003.

Two sites the sweep found that no earlier pass named. `docs/BUILD.md:247` tells a
reader building the project that CPU is "at or ahead of llama.cpp on every GGUF
axis" against an unmarked fork denominator. `.agents/kernel-matrix.md:162` is not
a restatement at all: `KERNEL-GEMM-CPU-TILED` records a MEASUREMENT against ggml
built from the same fork tree with `GGML_LLAMAFILE=OFF`, 216-242 against 208-215
GFLOP/s, "at parity and slightly ahead on four of six shapes". It enters the
enumeration as row 11 and the fragility ranking as the sixth verdict, because it
is what attributes the Arm 16-bit deficit to an absent capability rather than to
that kernel. `.agents/feature-matrix.md:286` `BACKEND-CPU` and `docs/STATUS.md:159`
carried the same claim unmarked and now say so. `docs/FEATURES.md` pays the
`feature_surface` obligation `scripts/check-doc-checkpoint.py` imposes.

One discrepancy is reported and deliberately NOT repaired. Row 11's evidence at
`.agents/benchmark-record.md:13771-13777` shows our kernel ahead on FIVE of six
Arm shapes, not the four both that record's prose and the kernel matrix state.
The narrowest of the five is 216.8 against 215.4 GFLOP/s, 0.6%, which a reader
may reasonably have called a tie. Quietly changing another row's recorded count
on that guess is the silent re-derivation this row exists to stop, so it is
listed under `## Owed` for `KERNEL-GEMM-CPU-TILED` and settled by the row 11
re-take.

No number is re-taken, no row changes lifecycle state, and no checker was
weakened or budget raised. `docs/BENCHMARKS.md` stays inside its 35-paragraph,
600-character-row and 220-character-cell limits, each new marker paid for by
shortening its own row: the Muse Glimmer row moved its `#391` link into the key
cell, and the pin paragraph delegates the revision list to a Reproduce row.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
…record re-applied by hand

Brings in `ff264cb82` (#1025, issue #1022), which repairs the duplicate #995 rows
in `.agents/issue-index.md`, and `4f2d91756` (#1026). The duplicate was the
inherited red this branch recorded under §Gates, so merging clears it here rather
than leaving a stale waiver in the spec. Merged before the gate run so that
`scripts/agent-preflight.sh` finds `origin/main` an ancestor of HEAD and its
commit-trailer block executes instead of silently skipping.

`.agents/issue-index.md` was NOT taken from the automatic merge. The three-way
result reinstated the very duplicate `ff264cb82` had just removed: `merge=union`
plus a deletion on one side and an untouched copy on the other reproduces the
row, and the merge reported clean while carrying two #995 rows again. That is the
failure AGENTS.md Records describes, so the file was rebuilt the way that section
requires: take the complete target-branch version, then apply this branch's
scoped edit again. The result is `origin/main`'s file plus exactly the two rows
this branch appends, for #857 and #1003, and `git diff origin/main` on that path
now shows two additions and nothing else, so every unrelated key is byte-for-byte
equal.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
…nd the anchor count moved a third time without an edit (#1003, #857)

Three record repairs on the merged head, all of them things the merge itself
changed.

The two inherited reds are gone. `check-agent-record` and `test_agent_record`
refused the duplicate #995 rows, PR #1025 (issue #1022) landed as `ff264cb82`
and removed the malformed copy, and merging `origin/main` brings the repair in.
§Gates says so instead of keeping a waiver for a red that no longer reproduces,
which is the same discipline this row applies to the oracle record itself. It
also records what the merge did to the keyed index on the way through: a clean
union merge reinstated the duplicate, and the file was rebuilt from the
target-branch version with this branch's two appended rows re-applied.

The anchor counts moved for a third time, and this time nothing in this branch
edited anything. `origin/main` brought `tests/vt/iq1_golden_vectors.h` and 64
new lines of `.agents/specs/expert-streaming.md`, both citing `237ad9b96` in the
`@ <sha>` form, and the restored index carries that form too, so the sweep goes
from 111 and 66 to 112 and 69 while 52 holds. That is a stronger version of the
point the previous commit made about stale counts: a number in this spec goes
stale when somebody else's pull request lands, not only when its own author
edits. The commands stay the authority and the numbers are labelled as this
commit's tree.

§Gates now reports the gate run the way this project asks a gate to report,
by block and with the counts: `Session role` 1, `Record gates` 26,
`Mutation suites` 44, `Committed range vs origin/main` 3, and
`Commit trailers vs origin/main` 2. That is 76 results, all `ok`, zero SKIP. The
last block is the reason the merge had to come first: it is guarded on
`git merge-base --is-ancestor origin/main HEAD` at
`scripts/agent-preflight.sh:226-234`, and before the merge it printed nothing at
all rather than reporting a skip. It examined every commit in
`origin/main..HEAD`, 9 at this head. `test_cpu_x86_llamacpp_floor` (#618) added
four more datapoints on its load threshold during this pass, failing at loadavg
21.07 and passing at 14.82 and 8.36, which is no information about the diff.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
…and list, and README.md fell outside it (#1003, #857)

The sweep exists because three hand enumerations each missed a favourable
verdict. It took its PATH SET from a hand enumeration: `git ls-files docs
.agents benchmarks`. README.md is at the repository root, so the front page was
outside the instrument built to stop exactly this, and it carries the CPU
comparison table, the "1.18x llama.cpp's prefill" headline, and the "matches
llama.cpp" 4.36 vs 4.35 Vulkan claim, which is the most fragile verdict in the
whole enumeration.

Adding one path would be the same hand list one level up. Stage 0 is now `git
ls-files` with no path arguments: 651 files become 4514, candidates 961 become
1008 over 117 files rather than 93, and stage-2 favourable 719 becomes 752, all
measured at bf62128 on a clean detached worktree. Scanning everything costs 47
lines of adjudication and needs no exclusion list, because a candidate requires
a comparison token AND llama.cpp attributed within three lines, which the 1089
binary fixtures never satisfy.

A fifth hole came with it. CMP had no token for the word this project uses in
its own headline, so README.md:310 "decode matches llama.cpp Vulkan" was
invisible to both path sets. Adding match(es|ed) takes candidates to 1095 over
141 files and favourable to 842.

Twelve contaminated measurements now, and seven favourable verdicts. The twelfth
is keep-f16's L7, whose llama.cpp denominators are quoted in
gguf_keep_quant.cpp as the justification for VT_GGUF_KEEP_F16 shipping default
ON. That is the only place the contamination reaches shipped behaviour. It was
visible to the OLD sweep and missed by three adjudications, which is a different
failure from the path set and is recorded as such.

Also repairs this row's headline evidence. "The pin is on no remote" rested on
`git branch -r --contains 237ad9b96` returning empty, and the developer's clone
is shallow. Disproved with a control rather than doubted: `--contains b9827`,
for an upstream release tag beyond argument on origin/master, lists 68 remote
branches and omits origin/master. Re-derived where a graft cannot reach, with a
positive control on the same call shape: the GitHub API answers 422 for
237ad9b96 in both repositories, resolves 10bf611e5, and binds tag b10451 to the
new pin on the remote. Every other row of the Measured facts table is checked
one at a time and stated to survive. Upstream's latest release is now b10453,
recorded, and the pin stays at b10451 because the criterion is newest at
selection time.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
… denominator that reaches a shipped default (#1003)

The widened sweep surfaced 47 lines the three-directory path set could not see.
Every one is adjudicated in the spec. Two classes needed marking.

README.md, six sites. The Vulkan news bullet and hardware row (4.36 vs 4.35,
stated as "matches"), the "1.18x llama.cpp's prefill" headline, the whole "vs
llama.cpp, on CPU, from the same GGUF file" table with its byte-identical-tokens
claim, and the two "at or ahead of llama.cpp on every GGUF axis" restatements.
Every number is kept and none is softened. What changes is that the denominator
is now named as our own local-only fork and marked owed a re-take. The landing
page had never named the object its figures were measured against, which is why
it was invisible to the SHA-mention count as well as to the sweep.

The README budget is not raised. Each addition is paid for inside the paragraph
it marks, by dropping restatements the page already makes elsewhere: the
concurrency ties are two sections below, opt-125m token-exactness is in the
hardware table, and the four capability labels are in docs/STATUS.md, which the
same sentence links. 29970 chars before, 29989 after, against a 30000 cap.

benchmarks/demo/vulkan_27b_llamacpp.json is the BENCH-VK-LLAMA demo's own
source and what check-doc-checkpoint recognises as a landing source, so the
denominator is marked there too. That is the correct place for it and it is what
makes the README edit a projection of a source change rather than churn.

gguf_keep_quant.cpp and test_gguf_keep_quant.cpp are enumeration row 12, and the
reason the widening was worth doing. keep-f16's llama.cpp denominators (pp128
173.2, peak RSS 2.798 GiB) are quoted in a production comment as the
justification for VT_GGUF_KEEP_F16 shipping DEFAULT ON. No behaviour changes and
no assertion moves: the default stands because its acceptance is a same-binary
ours-versus-ours A/B, 3.885 to 2.832 GiB with tokens byte-identical, which no
denominator move touches. The comments now say so, so a later reader does not
re-derive the default from a ratio nobody can reproduce.

docs/BENCHMARKS.md and the #1003 index row move from six favourable verdicts to
seven and from eleven contaminated measurements to twelve. The new fragility row
is fourth, on the same 2.798 GiB denominator as the GB10 ties.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
…, and it hid a fifth llama.cpp revision (#1003, #857)

Seven review findings, each re-derived here rather than taken on report.

F1, the sweep's `CMP` read `[0-9]+(?:\.[0-9]+)? *[x×]\b`. U+00D7 is not a `\w`
character, so the `\b` after it is satisfied only by a FOLLOWING word character.
Measured on the numeric-ratio alternative in isolation: `1.18x llama.cpp` HIT,
`1.18× llama.cpp` MISS, `| 1.023× |` MISS, `2× over llama.cpp` MISS, `3.9×decode`
HIT. The one live shape is the one nobody writes. The stage-2 filter spells the
same idea without the trailing `\b` and was live all along, so the two
expressions disagreed and only the narrower one gated, which is why five drafts
of re-reading the token list could not find it. Repaired to `(?:x\b|×)`: stage 1
moves 1118 to 1225 candidates over 141 to 144 files at 85a9a7a, a bigger
correction than the `match(es|ed)` token that prompted the previous pass.

The sweep now SELF-TESTS before it scans, and that is the actual fix. A token
list can be WRONG as well as SHORT, and only executing it against known-positive
strings tells the two apart, because a dead branch prints the same clean output
whether it is unreachable or the tree is clean. Red-before/green-after, treated
like a checker change: the spec's python block was EXTRACTED from the committed
markdown and run, giving rc=0; the same extraction with `(?:x\b|×)` mutated back
to `[x×]\b` exits rc=1 with `CMP self-test FAILED on ['1.18× llama.cpp',
'| 1.023× |', '2× over llama.cpp']`. The mutation was diffed against the original
before running, because a mutation that never applied reads as a passing test.

What it hid: a FIFTH llama.cpp revision, now row 13. Laguna-S-2.1's 27.8 tok/s
came from a Poolside FORK on branch `laguna`, and `git grep -i poolside` returns
no SHA for it anywhere in this tree. A branch is a moving reference, so that
denominator was never reproducible and cannot simply be re-run: re-taking it
means choosing a revision first. It drives the campaign's 15x/18x target and the
18x-to-4.7x and 18x-to-3.6x W8/W9 claims. No verdict there is favourable to us,
so seven favourable verdicts stays seven. The section titled "Four llama.cpp
revisions are in play, not two" existed to replace a universal a sweep disproved
and was itself an undercount; it now says five and says why it was wrong twice.

F2 corrects this row's own earlier answer, which was wrong on the one finding
that reaches shipped behaviour. It reported the VT_GGUF_KEEP_F16 default as
resting on a same-binary ours-versus-ours A/B. That reads one row of a three-row
table. The binding L7 A/B has three axes and TWO regress: prefill about 10% worse
(224 to 204 t/s, TTFT 571 to 625 ms) and decode about 1.4% worse (TPOT 40.4 to
40.95 ms), bought for 1.05 GiB of peak RSS. The recorded reason the PREFILL loss
is acceptable is stated in the contaminated floor's own terms at
gguf-keep-quant-loader.md:595, "comfortably above the competitor floor", and that
floor is the fork's pp128 173.2. Since b10451 is 624 commits past b9827 with its
own fused_gdn the direction is not established, so a re-taken stock pp128 above
204 t/s removes the default's only recorded justification for its prefill
regression. #1003's index row said "no" to revisiting the default and now says
the default is owed a DECISION, so the re-taking agent is not told to skip it.
The default itself is NOT changed: that is QUANT-GGUF-KEEPQ-LOADER's call and it
needs the re-take first. The general lesson is recorded with it: when asked
whether a denominator is load-bearing, find the axis that REGRESSED and read why
that was accepted, because the denominator is usually hiding there.

F3, gguf_keep_quant.cpp claimed "~205 t/s = 1.16x AHEAD of pp128 176.6" while the
owning spec says "204 t/s = 1.18x AHEAD of pp128 173.2". `git grep 176.6` returns
only an unrelated MoE microbenchmark mean in MICROSECONDS, and no arm of ours
recorded 205 t/s. The pair is self-consistent (205/176.6 = 1.16) so it was
computed, not mistyped, but neither operand appears in any evidence file. Not
reconciled by picking one, which would assert an attribution nobody measured. The
comment now says the figures cannot be traced to any recorded run, names what the
binding record does say, and leaves one re-measured pair owed to #1003.

F4, oracles/llama-cpp.md said "All nine affected measurements are enumerated"
while the spec had twelve and now thirteen. Fixed so it cannot go stale again: it
names the spec as the single source of truth and states no count at all, which is
the rule the spec quotes at itself. It is the first surface a reader of the pin
hits, so it also records that the set has grown three times purely from widening
instruments, making any remembered number a lower bound.

F5, environment.md:435 is named in row 7's Evidence column, told a reader
llama.cpp "at pin 237ad9b96" is unpacked at ~/lcpp-vk, is one of the 113 mentions
but NOT in the 69 `@ <sha>` subset, and produces zero sweep candidates because it
carries no comparison token. An agent taking #1003's Vulkan re-take, the most
fragile verdict in the enumeration, would rebuild the superseded fork believing
it followed the pin. Marked. The spec now also states the boundary the sweep does
not cover: at 85a9a7a with the repaired token, 286 tracked files name llama.cpp
and the sweep hits 144, so 142 name it and are invisible, correctly, because a
recipe states no verdict. Verdicts and recipes are two surfaces and the pin
reaches a reader through both.

F6, the spec claimed "the sweep runs in under two seconds" inside a paragraph
headed "Two objections, both measured rather than argued". Six timed runs:
40.4 and 40.9 s at loadavg 15, then 43.1, 45.5, 51.2 and 54.4 s at loadavg 62
falling to 30. The old three-directory path set runs in 3.1 to 3.4 s. So it is
40 to 55 s and more than an order of magnitude slower than the set it replaced,
not "about the same". Still cheap for a once-per-pass instrument, which is what
the objection was about, but a stated measurement wrong by 20x in a section
arguing it measured rather than argued has to be corrected.

F7, three counts re-derived at this head: `origin/main..HEAD` is 11 commits, not
the 9 recorded (it read 9 two commits earlier and was not updated, the same
stored-measurement coupling at the smallest possible scale); `git branch -r
--contains b9827` lists 70, not 68, and the total reads a clone outside our
control so the load-bearing half is the OMISSION of origin/master, which
reproduces exactly; and `rev-list --count` over 237ad9b96, b9827, b9892 returns
9892, 9827, 9892, not the transposed "9827, 9892 and 9892", which had lost the
very collision that section exists to explain.

The docs/BENCHMARKS.md edits pay their own way: the fragility row 4 was shortened
to stay under MAX_CELL_CHARS, and the five-revisions fact went into a Reproduce
table ROW rather than the "Oracle pin" paragraph, because that page is at 35 of
35 prose paragraphs and a row costs none. No checker was weakened and no budget
raised. The two #1003 and #857 index rows amended here were appended by this
branch and are absent from origin/main, so this is not an edit to a landed keyed
record.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
Brings in d1b0ea3 (LTX25 decode dtype) and 6621576 (preflight skip
reporting), so the commit-trailer block executes against origin/main rather than
skipping the guard at scripts/agent-preflight.sh:226-234.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
…ir SHA now, and the flake gets a control pair (#1003, #618)

The gate section is re-derived on the merged head rather than carried over.

Blocks now read Session role 1, Record gates 26, Mutation suites 45, Committed
range 3, Commit trailers 2: 77 results, 76 ok, 1 FAIL, ZERO SKIP. Mutation suites
moved 44 to 45 because origin/main landed test_agent_preflight_skip_report with
#1030, which is one more count in this file that somebody else's merge changes.

That same landing (6621576) makes the last two block headings name the SHA they
gated against, "... vs origin/main d1b0ea3",
which is the direct repair for what this bullet was written about. This pass
reproduced the original failure mode once more before merging: origin/main
advanced two commits mid-session, the is-ancestor guard went false, and the
trailer block printed NOTHING. A gate that is silent is not a gate that passed.

The one FAIL is the inherited #618 flake, and it is attributed with a control
rather than by assertion. It FAILED in the full gate at loadavg 64.88 and again
at 84.95, the failure text carrying "waiting for quiet: 15s busy=109%", which is
the NO_QUIET_WINDOW path by name. It PASSED standalone on this branch at loadavg
26.48, and PASSED on a pristine detached origin/main worktree at d1b0ea3 with
git status --porcelain empty at loadavg 54.45. Both arms pass and fail on load,
not on tree. The structural half is stronger than either run: `git diff --stat
origin/main..HEAD -- scripts/ tests/scripts/` is EMPTY, so this branch changes
neither the harness nor the script it exercises and cannot be the cause.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
…5 and red at load 65 (#618, #1003)

The gate bullet said 76 ok and 1 FAIL. On a quiet box the identical commit
returns rc=0 and "All gates green", 77 of 77 ok, zero SKIP, at loadavg 15.47.
The same head returned rc=1 with the test_cpu_x86_llamacpp_floor FAIL at loadavg
64.88 and again at 84.95.

Recording both is the point rather than keeping the green one. It is the
cleanest available statement of what #618 costs: a gate whose verdict depends on
who else is using the machine is reporting on the machine, not on the diff.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
…kens, and stage 2 was a second spelling of stage 1 (#1003)

The previous pass gave the sweep a self-test because its U+00D7 token was
present and dead. The self-test it got was a flat MUST list run against the
whole of CMP, which is a claim about the union and not about any alternative in
it. Measured by deleting each alternative in turn: 12 of the 18 could be removed
with the self-test still passing, because a neighbouring token rescued the
string. Writing the percentage token as `[0-9]+(?:\.[0-9]+)? ?%\b`, the exact
shape of the defect one token over, would have passed and silently dropped 176
of 1253 candidate lines across 42 files at 2f0cd62.

Every alternative now carries controls that no other alternative in its own list
matches, so a dead token leaves its own control unmatched and the assertion
names it. The two dict lengths are asserted beside them, because deleting an
entry outright would take its control with it. Proved by mutation on the block
extracted from the committed markdown: each of the 19 alternatives neutered to
`(?!)` in place and then deleted outright, 38 mutations, every one rc=1, the
unmutated block rc=0. The harness prints applied and compiled beside each
result, and its own first run reported 19 clean passes while every mutation had
failed to apply.

The same defect was live one level over. Stage 1 and stage 2 were two hand
lists of one idea, and the narrower one sat downstream where under-counting is
the direction that matters. Stage 2 dropped 11 `faster`, 11 `wins`, 3 bare
`less` and 2 `ties`, so a future "ours is 24% faster than llama.cpp" would never
have reached adjudication as favourable. Its `\b[1-9]` prefix exclusion never
worked either: in `0.204x` the boundary is satisfied after the decimal point, so
the deficit counted as a win. Both are removed rather than patched. Stage 2 is
now compiled from the same FAV dict stage 1's union is compiled from, the block
prints both counts, and the restructured CMP returns 1225 candidates in 144
files at 85a9a7a, identical to the expression it replaces.

The stage-2 counts in both comparison tables were not reproducible by the
documented pipe, in two different ways nobody had written down: the first table
was taken on the printed `path:lineno:body` with a list that silently tracked
each row's CMP, the second on the body with a third list. All five rows are
re-measured under one rule at their own SHAs, the stage-1 columns are unmoved,
and the derived pair is added as a control row.

Three sets of anchors had gone stale, two of them from this branch's own
insertion. The Laguna W7 mark cited five line numbers in the file it was
inserted into, which its own 16 lines had already moved, and row 13 cited the
same pre-insertion numbers. The mark now names sections, because a citation into
the file it is written in is stale before it is saved. README `:155`, `:308` and
`:310` were each one line short, and `:310` is the Metal row while the spec
called it the Vulkan one. Every repo-local anchor was re-derived at this head,
82 of them, and three bare `record :N` continuations that a reader could attach
to the wrong path are now spelled out.

Two overstated claims are corrected. The oracle file restates no count now, one
paragraph after saying it deliberately does not. And `git grep '176.6'` does not
return "exactly one other site": as a regex the dot matches anything and it
returns about 360 lines, and as a literal it returns four other files, none of
them a llama.cpp prefill number. The conclusion is unchanged and its evidence
was wrong, which is the same shape as the `--contains` result this spec already
corrects.

The whole-tree sweep timing is stated as load-sensitive rather than as a range,
because a later run at loadavg 54.6 took 72.0 s and left the recorded "roughly
40 to 55 seconds" behind.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
…ot shape coverage, and the attribution half had no control (#1003)

The per-alternative control installed last pass proves that every token FIRES.
It does not prove that a token still matches the shapes it exists for, and the
defect that started this whole thread was a narrowing rather than a death: the
old `[x×]\b` was live, on `3.9×decode`, and on nothing else this tree writes.

Measured at `fa94b10ae` on a clean detached worktree against a baseline of 1263
candidates in 145 files and 1033 favourable, five one-token narrowings left the
self-test GREEN: an integer-only ratio drops 32 candidates and 40 favourable
lines, a space-requiring percentage drops 132, narrowing the attribution window
to the line itself drops 803 of 1263, narrowing `SEP` so the table-header clause
stops firing drops 34, and dropping `llama-bench` from `LLAMA` drops 5. Nineteen
alternatives were guarded and the half of the sweep that decides which lines
they apply to was guarded by nothing.

Both cheap known-live shapes now carry controls, `15x` from row 13's Laguna
target and `0.69%` from this spec's own argument, and `scan()` is extracted so
three line fixtures bind the attribution half: the window in both directions
and its far edge, the header clause with llama.cpp out of window reach, and
`llama-bench` as a spelling of `LLAMA`. All five narrowings now exit `rc=1` and
the 38 token mutations still do, so the pass is 43 red and one green. The
extraction moves neither stage: the new block returns the same 1263 in 145 and
1033 on the `fa94b10ae` tree.

The residual is stated rather than closed. Exhaustive shape coverage is not
reachable for a token set whose purpose is to match prose nobody has written
yet, this is the fifth defect found in this one instrument, and every pass has
found the previous pass incomplete. A new `## Owed` entry says so and names the
two concrete pieces it leaves.

Second finding, and it is the conclusion-right, evidence-wrong shape again. The
49-line stage-2 delta did not decompose as recorded. The 27 word-token lines
reproduce exactly, but of the other 22 only 4 carry a ratio below 1.0. The 18
remaining carry no ratio at all: `C2x`, `C3x`, `sm_12x`, `sm8x` and `Q8_0 x
Q8_0` are architecture names and a quantization type. The cause is not the value
rule but the retired pipe's leading `\b`, which `FAV` does not carry, so
dropping it was a stage-2 precision regression this spec never named. Counted on
the same candidate set, the `\b[1-9]` exclusion admitted 201 of 208 sub-1.0
ratios, which is a rule that is not there rather than a weak one. No obligation
is lost, since over-counting is the safe direction downstream, and the
tightening is recorded as owed with its measured cost of 18 lines each way.

Three smaller corrections. `test_cpu_x86_llamacpp_floor` FAILED at loadavg
11.99, below every load this section records as a failure and below three it
records as passes, so the threshold reading of that list is retired. The bare
`:502` after a `docs/BUILD.md` reference resolved mechanically to a line that
file does not have, and both `STATUS` anchors are written in full. The Tests
section counted 12 alternatives against 38 mutations.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
FOLLOWING_AGENTS_PROTOCOL

Landing merge. Any keyed record is resolved to main's version with this row's
scoped additions re-applied, since merge=union is right for an append-only log
and wrong for a deletion.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
@localai-bot
localai-bot merged commit 283c7e4 into main Aug 16, 2026
1 of 14 checks passed
@localai-bot
localai-bot deleted the row/ORACLE-LLAMACPP-REPIN-STOCK branch August 16, 2026 20:30
localai-bot pushed a commit that referenced this pull request Aug 16, 2026
…rom main, not the driver

Three commits landed while this row was being gated: `283c7e492` (#1051, the
llama.cpp repin record), `e34d71379` (#1054, an AppleClang capture fix in
qwen3.5) and `0f8580e26` (#1043, configurable MTP speculation depth). None
touches `src/vllm/model_executor/models/ltx2_video_vae.cpp`, which is this row's
only product file.

`.agents/issue-index.md` overlapped, and its clean auto-merge is not trustworthy:
`merge=union` silently interleaves, and on a sibling branch today it also
reinstated a row `main` had just deleted. Taken from `origin/main` wholesale with
this row's single `#1044` row re-appended, then verified -- `origin/main`'s file
is a byte-identical prefix, 275 rows carry 275 unique ids, and `#1044` appears
exactly once.

The three keyed public records were verified by key rather than accepted:
`docs/FEATURES.md` gains exactly one key (`LTX-2.5 Conv VAE decode threading`),
`docs/BENCHMARKS.md` changes exactly one (`LTX-2.5 axes`), `docs/USAGE.md`
changes none, and nothing is added or removed elsewhere in any of the three.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
localai-bot pushed a commit that referenced this pull request Aug 16, 2026
…om main

Four commits landed while this row was in CI: `283c7e492` (#1051), `e34d71379`
(#1054), `0f8580e26` (#1043) and `b493f4981` (#1035). None touches a `src/`,
`include/` or `tests/` file this row touches -- the only overlaps are
`CMakeLists.txt`, the two keyed public records, and the issue index.

`.agents/issue-index.md` was rebuilt rather than merged: `origin/main`'s file
taken wholesale with this branch's own 8 rows re-appended (#1005, #1013, #1031,
#1039, #1048, #1049, #1050, #1052), then verified -- main's bytes are a
byte-identical prefix, and 283 rows carry 283 unique ids. The union driver's
clean result is not trusted here: on a sibling branch today it interleaved rows
at a measured byte offset and, separately, reinstated a row `main` had deleted.

`CMakeLists.txt` merged to a single added line and still carries exactly one
`ltx2_t2a` reference, so the new translation unit is registered once.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
localai-bot pushed a commit that referenced this pull request Aug 16, 2026
`main` advanced to b493f49 (#1035, #1043, #1054, #1051 and others) while this
row was gating, and GitHub reported CONFLICTING on `.agents/issue-index.md`
again. GitHub does not run the `merge=union` driver that `.gitattributes:7`
sets for that file, so every branch touching it re-conflicts each time main
appends a row, and the resolution has to happen locally where the driver runs.

The union auto-merge of the index was DISCARDED rather than trusted, for the
second time on this branch: took b493f49's file wholesale, then re-appended
only this row's own two rows (#960, #989). A clean union merge INTERLEAVES,
which preserves well-formedness, uniqueness and presence and fails only the
PREFIX property -- the one property `check-issue-index-append-only.py` does not
test.

Verified rather than assumed: 277 rows, zero duplicate keys, and main's file
asserted to be a strict PREFIX of the result.

The verification also found ONE malformed row, #1003, which is INHERITED --
it is already on origin/main, arrived with #1051, and splits into 10 parts
where a well-formed 4-column row splits into 6 (four unescaped pipes in the
Title cell). It is NOT repaired here: it is not this row's work, and repairing
it without a gate only resets the clock. Filed as #1059 with the fix, because
it is the third malformed row today and no checker measures cell count.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [claude-code]
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