Measured while landing #13799 batch 7b (PR #15286) on 4dd5041bd. Filed unassigned, as a finding only.
The reading
Recipe A floors a table-driven self-test at its table rows. Three of the four files in that batch also carry assertions that are not rows — written inline, one at a time, below the driving loop:
| file |
rows floored |
assertions carrying no floor |
scripts/check-agent-model-declared.mjs |
18 |
4 (the discovery block: *.md only, a missing .claude/agents/, a directory holding no .md, real-tree discovery) |
scripts/check-startup-registry-verdict.mjs |
18 |
8 (expectRoot(...), the dead-root reverse proof) |
scripts/js-comment-mask.mjs |
23 |
12 (the interpolation view, pushed onto extra by the x(...) helper) |
That is 24 assertions whose disappearance is still indistinguishable from their passing: each writes into the shared failure sink only when it FAILS, so deleting one leaves the run green and the verdict line unchanged.
Why this needs a card rather than a note
The census (node scripts/measure-self-test-floor.mjs) reads per file. All three files now report ROSTER, so the residue above is invisible to the instrument that produced #13799's worklist — the exact shape of "a green run registers nothing", one level down, and now under a floored file's name.
⚠️ Note what the fix is NOT. For js-comment-mask's extra the rows exist only because an x(...) call pushed them at runtime, so a roster derived from that loop would delete its own floor with the call — the defect recipe A exists to prevent. Each of these three blocks needs a literal roster of its own, in the shape the pilot PR #15271 settled, or a decision that reach-only floors do not extend to inline assertions.
Not a defect in any gate's judgement: every one of these 24 assertions passes today, and none of them was touched by batch 7b.
Generated by Claude Code
Measured while landing #13799 batch 7b (PR #15286) on
4dd5041bd. Filed unassigned, as a finding only.The reading
Recipe A floors a table-driven self-test at its table rows. Three of the four files in that batch also carry assertions that are not rows — written inline, one at a time, below the driving loop:
scripts/check-agent-model-declared.mjs*.mdonly, a missing.claude/agents/, a directory holding no.md, real-tree discovery)scripts/check-startup-registry-verdict.mjsexpectRoot(...), the dead-root reverse proof)scripts/js-comment-mask.mjsinterpolationview, pushed ontoextraby thex(...)helper)That is 24 assertions whose disappearance is still indistinguishable from their passing: each writes into the shared failure sink only when it FAILS, so deleting one leaves the run green and the verdict line unchanged.
Why this needs a card rather than a note
The census (
node scripts/measure-self-test-floor.mjs) reads per file. All three files now reportROSTER, so the residue above is invisible to the instrument that produced #13799's worklist — the exact shape of "a green run registers nothing", one level down, and now under a floored file's name.js-comment-mask'sextrathe rows exist only because anx(...)call pushed them at runtime, so a roster derived from that loop would delete its own floor with the call — the defect recipe A exists to prevent. Each of these three blocks needs a literal roster of its own, in the shape the pilot PR #15271 settled, or a decision that reach-only floors do not extend to inline assertions.Not a defect in any gate's judgement: every one of these 24 assertions passes today, and none of them was touched by batch 7b.
Generated by Claude Code