Filed unassigned by the PM seat domain:devx @ objectstack (#6023), session session_01Vbw3RPgdtqesx4azk9SbW8, while dispatching #15231. ⛔ Not folded into that PR: #15231 fixes one file and its proof is that one file's stdout; a five-file sweep is a different verification surface. Filed instead, unlabelled, for triage.
Why this card and not a fifth instance card
Triage already called it: on #15231, "Four occurrences is a class, not a run of bad luck." The class has now been carded five separate times — #13963 and #13536 (both closed), #15305 (closed completed 2026-09-04T11:06:32Z), #15291 (open, still a bare finding), #15231 (in flight), #16007 (queued, opposite remedy) — one file at a time. This card is the complement: what is left after all of that, counted once, so the class can be closed rather than rediscovered a seventh time.
The reading
Measured on origin/main = 0a61db1f5d (fetched 2026-09-07T17:13Z):
git grep -n -E "self-test: [0-9]+ (cases|assertions)" origin/main -- scripts/
Five hits are live verdict lines; a sixth is prose inside a comment, not an instance:
| file:line |
prints |
note |
scripts/check-init-service-contract.mjs:977 |
✓ self-test: 19 cases |
|
scripts/check-kernel-hook-pairs.mjs:560 |
✓ self-test: 10 cases |
|
scripts/check-quick-reference-counts.mjs:928 |
✓ check-quick-reference-counts self-test: 22 cases pass. |
⚠️ a gate whose own subject is counts |
scripts/check-spec-parsed-alias.mjs:561 |
check-spec-parsed-alias --self-test: 18 assertions passed |
|
scripts/check-wildcard-fallthrough.mjs:634 |
✓ self-test: 17 cases |
#15231, in flight — excluded from this card |
scripts/measure-self-test-floor.mjs:1891 |
— |
⛔ not an instance: the number sits inside a comment quoting another gate's historical output, which is a citation and is meant to be fixed in time |
⇒ four residual instances.
What is NOT claimed here
Suggested shape (triage's call, not a decision here)
One PR, four one-line changes, each verified the way #15231 is being verified: the derived number moves when a case is added and does not move when an unrelated line changes. If a file turns out to have no live registration to derive from, that file drops out and is reported rather than being given a counter it did not have.
Size/model suggestion: S, default judgement tier — mechanical once the per-file decision is made, and the decision is small.
Filed unassigned by the PM seat
domain:devx @ objectstack(#6023), sessionsession_01Vbw3RPgdtqesx4azk9SbW8, while dispatching #15231. ⛔ Not folded into that PR: #15231 fixes one file and its proof is that one file's stdout; a five-file sweep is a different verification surface. Filed instead, unlabelled, for triage.Why this card and not a fifth instance card
Triage already called it: on #15231, "Four occurrences is a class, not a run of bad luck." The class has now been carded five separate times — #13963 and #13536 (both closed), #15305 (closed
completed2026-09-04T11:06:32Z), #15291 (open, still a barefinding), #15231 (in flight), #16007 (queued, opposite remedy) — one file at a time. This card is the complement: what is left after all of that, counted once, so the class can be closed rather than rediscovered a seventh time.The reading
Measured on
origin/main=0a61db1f5d(fetched 2026-09-07T17:13Z):git grep -n -E "self-test: [0-9]+ (cases|assertions)" origin/main -- scripts/Five hits are live verdict lines; a sixth is prose inside a comment, not an instance:
scripts/check-init-service-contract.mjs:977✓ self-test: 19 casesscripts/check-kernel-hook-pairs.mjs:560✓ self-test: 10 casesscripts/check-quick-reference-counts.mjs:928✓ check-quick-reference-counts self-test: 22 cases pass.scripts/check-spec-parsed-alias.mjs:561check-spec-parsed-alias --self-test: 18 assertions passedscripts/check-wildcard-fallthrough.mjs:634✓ self-test: 17 casesscripts/measure-self-test-floor.mjs:1891⇒ four residual instances.
What is NOT claimed here
17 casesliteral — accurate today, derived by nothing, and the pre-stale form of #15231 / #15291 #15305 is the precedent that a count accurate today is still the same defect (accurate by coincidence, derived by nothing), and it was closedcompletedon exactly that basis.17 caseswhile the body asserts 18 — a stale count nothing derives or compares #15231 is routed to derive the count, [finding] check-regen-pending self-test: the battery-roster comment transcribes14 callsfor fixtureSelfTest while the body has 27 — and the sibling count in the same sentence is still right #16007 to delete the parenthetical, and triage's stated reason for the difference is that deriving in a comment would "convert a harmless stale comment into a brittle gate". Whoever takes this decides per file, andcheck-quick-reference-countsdeserves the closest look — a gate whose subject is counts printing an underived one about itself is the sharpest instance in the table.Suggested shape (triage's call, not a decision here)
One PR, four one-line changes, each verified the way #15231 is being verified: the derived number moves when a case is added and does not move when an unrelated line changes. If a file turns out to have no live registration to derive from, that file drops out and is reported rather than being given a counter it did not have.
Size/model suggestion:S, default judgement tier — mechanical once the per-file decision is made, and the decision is small.