Class (b) — declared, not enforced, with the declaring text quoted and a live instance from today. ⛔ Graded by triage, not by this seat.
Dedupe words: dropped-refinements, measured header, refinementSitesThatDidProject, unread counter, declared not enforced.
The claim
packages/spec/dropped-refinements.baseline.json carries a measured block of four numbers presented as a measurement of the tree. Two of them are read by nothing. They can hold any value — wrong by one, wrong by a hundred, or left at a figure from months ago — and every gate in the repository stays green.
Measured on origin/main at 2026-09-22T07:2xZ
git grep <field> origin/main -- ':!*dropped-refinements.baseline.json', one probe per field, same shape, same corpus:
| field |
readers outside the ledger |
role |
publishedSchemasWithDroppedRefinements |
2 — packages/spec/scripts/dropped-refinements.test.ts:369, :370 |
lit control |
droppedRefinementSites |
2 — same file, :369, :371 |
lit control |
refinementSitesThatDidProject |
0 |
the subject |
refinementSitesWithNoJsonFormToCompare |
0 |
the subject |
refinementSitesZZZQ |
0 |
dark control |
Two fields of the same block, in the same file, found by the same instrument, have two readers each. So the two zeros are a real absence and ⛔ not a grep that missed.
The one pin, dropped-refinements.test.ts:370-371, asserts exactly two things: that publishedSchemasWithDroppedRefinements equals entries.length, and that droppedRefinementSites equals the site total derived from the body. It never looks at the other two. The loader (readDroppedRefinementsBaseline) validates entries and does not read measured at all.
The declared contract it fails
The ledger's own description, quoted from the file:
Hand-edited on purpose and with no gen: script: a generator would let a new gap be admitted by running a command instead of by a decision, which is the silence this ledger exists to end.
and:
Adding, removing or moving a site fails packages/spec/scripts/build-schemas.ts until the line moves with it, and the failure prints the corrected entry in full.
That guarantee is real — but it covers entries / sites. The measured block is presented beside it as part of the same record, under a key that says measured, and half of it is unguarded. ⚠️ A file whose stated purpose is to end a silence is carrying one.
⭐ It is not hypothetical — it happened today
While merging origin/main into PR #19373 (card #17518, 128 commits of base movement), the hand-resolved ledger was left with refinementSitesThatDidProject: 357 while the build measured 366 on the merged tree. Nothing in the repository would have caught that. check:generated, build, the pin and the full spec suite were all green over it. It was corrected only because the build prints the number and a human read it off the log by eye.
The same merge moved droppedRefinementSites from 561 to 565 — and that one is pinned, so it could not have drifted. The asymmetry is the whole finding: two counters in one block, one class checked, the other not.
Shape of a fix — suggestions, ⛔ not a ruling
The cheapest repair is to extend the existing pin rather than add a gate: dropped-refinements.test.ts already derives totals from the body, and the build already computes all four. Either
- assert the remaining two against what the build computes, the way the first two are asserted against
entries; or
- if the two are genuinely not derivable from the body alone (they describe refinements that are not in this ledger — those that projected, and those with no JSON form), then say so in the file and move them out of a block named
measured, so no future reader treats an unchecked number as a reading.
⛔ Neither of these is a call this seat makes — the second one in particular touches what the ledger claims about itself.
Provenance
Raised by the merge round on PR #19373 as an out-of-scope finding, then re-verified first-hand by this seat with the lit and dark controls above before filing — the round's reader analysis is confirmed in every cell. Filed-by: session_01LvwGppdonww4zGLWZo5rho (domain:spec execution seat 1); ⛔ not graded, prioritised or dispatched by this seat.
Generated by Claude Code
Class (b) — declared, not enforced, with the declaring text quoted and a live instance from today. ⛔ Graded by triage, not by this seat.
Dedupe words:
dropped-refinements,measured header,refinementSitesThatDidProject,unread counter,declared not enforced.The claim
packages/spec/dropped-refinements.baseline.jsoncarries ameasuredblock of four numbers presented as a measurement of the tree. Two of them are read by nothing. They can hold any value — wrong by one, wrong by a hundred, or left at a figure from months ago — and every gate in the repository stays green.Measured on
origin/mainat 2026-09-22T07:2xZgit grep <field> origin/main -- ':!*dropped-refinements.baseline.json', one probe per field, same shape, same corpus:publishedSchemasWithDroppedRefinementspackages/spec/scripts/dropped-refinements.test.ts:369,:370droppedRefinementSites:369,:371refinementSitesThatDidProjectrefinementSitesWithNoJsonFormToComparerefinementSitesZZZQTwo fields of the same block, in the same file, found by the same instrument, have two readers each. So the two zeros are a real absence and ⛔ not a grep that missed.
The one pin,
dropped-refinements.test.ts:370-371, asserts exactly two things: thatpublishedSchemasWithDroppedRefinementsequalsentries.length, and thatdroppedRefinementSitesequals the site total derived from the body. It never looks at the other two. The loader (readDroppedRefinementsBaseline) validatesentriesand does not readmeasuredat all.The declared contract it fails
The ledger's own
description, quoted from the file:and:
That guarantee is real — but it covers⚠️ A file whose stated purpose is to end a silence is carrying one.
entries/sites. Themeasuredblock is presented beside it as part of the same record, under a key that says measured, and half of it is unguarded.⭐ It is not hypothetical — it happened today
While merging
origin/maininto PR #19373 (card #17518, 128 commits of base movement), the hand-resolved ledger was left withrefinementSitesThatDidProject: 357while the build measured 366 on the merged tree. Nothing in the repository would have caught that.check:generated,build, the pin and the full spec suite were all green over it. It was corrected only because the build prints the number and a human read it off the log by eye.The same merge moved
droppedRefinementSitesfrom 561 to 565 — and that one is pinned, so it could not have drifted. The asymmetry is the whole finding: two counters in one block, one class checked, the other not.Shape of a fix — suggestions, ⛔ not a ruling
The cheapest repair is to extend the existing pin rather than add a gate:
dropped-refinements.test.tsalready derives totals from the body, and the build already computes all four. Eitherentries; ormeasured, so no future reader treats an unchecked number as a reading.⛔ Neither of these is a call this seat makes — the second one in particular touches what the ledger claims about itself.
Provenance
Raised by the merge round on PR #19373 as an out-of-scope finding, then re-verified first-hand by this seat with the lit and dark controls above before filing — the round's reader analysis is confirmed in every cell. Filed-by:
session_01LvwGppdonww4zGLWZo5rho(domain:specexecution seat 1); ⛔ not graded, prioritised or dispatched by this seat.Generated by Claude Code