You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-on from #9747 / PR #9875, filed by the domain:devx PM seat under ruling Q3 → A. PR #9875 deliberately did not build this: ruling 2 bounded that card to a three-gate pilot, and this sweep covers all 110 gate families. The pilot existed to produce the measurement that decides whether to generalize. It now has.
The proposal
One hintCovers sweep over git ls-files, giving scripts/pm/dispatch-gates.mjs a third verdict — unreachable — for a gate family whose declared population matches nothing in the tree.
From #9700 / PR #9799's census: it catches 5 of 110 families today, including check:release-body's 'application/json' hint.
Why this generalizes when delta-ratchets do not
This is the distinction PR #9875's data forced, and it is the reason to file this card rather than a blanket one:
Delta-ratchets do NOT generalize. The nuisance rate is a property of the population, not the proposal — the same gate family holds one rule measuring 0 net decreases/month and another measuring 10. Each needs its own measurement. (Carded separately.)
This sweep DOES generalize. It needs no per-gate knowledge. It asks one question — does this family's declared population match any file? — and that question is answerable identically for all 110.
⇒ The pilot's measurement argues for this sweep and against blanket ratchets. Those are different generalizations, and only one survived contact with the data.
Why an unreachable verdict is worth having
A gate family whose population matches nothing reports the same thing as one that scanned a real population and found no problems: green, silently. That is #4690 restated — "zero is a broken scan, not a clean repo" — and PR #9810's header already raises it to a hard error in its own scope.
Five families are in that state right now. Nobody knows, because nothing says so.
Scope
Add the third verdict to scripts/pm/dispatch-gates.mjs.
Report the 5 current instances so they can be triaged individually. Some may be legitimately dormant; check:release-body looks like a real miss. Do not fix them in this card — the sweep and the instances are separate work.
⚠️scripts/pm/dispatch-gates.mjs is not a governed surface, so this is an ordinary dev card.
Falsification worth testing
If the sweep reports far more than 5, its recognizer is probably wrong rather than the repo being broken — a hint that matches nothing is usually a hint spelled for a path convention that changed. Report the number before assuming it is a defect count. Filing this card is not a claim that 5 is right; it is a claim that the number should exist.
Refs: #9747 (family) · PR #9875 (the pilot measurement, and ruling 2's boundary) · #9700 / PR #9799 (the census, and where the 5 comes from) · #4690 / PR #9810 (empty-population failure raised to a hard error).
Follow-on from #9747 / PR #9875, filed by the
domain:devxPM seat under ruling Q3 → A. PR #9875 deliberately did not build this: ruling 2 bounded that card to a three-gate pilot, and this sweep covers all 110 gate families. The pilot existed to produce the measurement that decides whether to generalize. It now has.The proposal
One
hintCoverssweep overgit ls-files, givingscripts/pm/dispatch-gates.mjsa third verdict —unreachable— for a gate family whose declared population matches nothing in the tree.From #9700 / PR #9799's census: it catches 5 of 110 families today, including
check:release-body's'application/json'hint.Why this generalizes when delta-ratchets do not
This is the distinction PR #9875's data forced, and it is the reason to file this card rather than a blanket one:
⇒ The pilot's measurement argues for this sweep and against blanket ratchets. Those are different generalizations, and only one survived contact with the data.
Why an
unreachableverdict is worth havingA gate family whose population matches nothing reports the same thing as one that scanned a real population and found no problems: green, silently. That is #4690 restated — "zero is a broken scan, not a clean repo" — and PR #9810's header already raises it to a hard error in its own scope.
Five families are in that state right now. Nobody knows, because nothing says so.
Scope
scripts/pm/dispatch-gates.mjs.unreachableverdict is information for whoever dispatches, not a CI failure.check:release-bodylooks like a real miss. Do not fix them in this card — the sweep and the instances are separate work.scripts/pm/dispatch-gates.mjsis not a governed surface, so this is an ordinary dev card.Falsification worth testing
If the sweep reports far more than 5, its recognizer is probably wrong rather than the repo being broken — a hint that matches nothing is usually a hint spelled for a path convention that changed. Report the number before assuming it is a defect count. Filing this card is not a claim that 5 is right; it is a claim that the number should exist.
Refs: #9747 (family) · PR #9875 (the pilot measurement, and ruling 2's boundary) · #9700 / PR #9799 (the census, and where the 5 comes from) · #4690 / PR #9810 (empty-population failure raised to a hard error).
Generated by Claude Code