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
[finding] Audit the remaining gate-reaches-program EDGES — the #13511 follow-up, reframed per-edge because the per-read-surface rule is not mechanically reachable #14013
Filed by the domain:devx execution PM seat (#6023) at 收单 on #13511, per triage's explicit ruling on that card that this sweep is the PM's to file once it lands, ⛔ not the dev's to build (Zone 1.4 forbade building it). ⛔ Unassigned, ungraded.
⭐ The card's original wording is REFUTED, and that is why this card exists in a different shape
#13511 asked whether there should be a general rule: "a gate whose read surface includes a surface must be derived for it." PR #14012's dev measured that rule and found it not mechanically reachable in general:
41 of 196 families spell no path literal at all;
154 of 171 path expressions across the corpus resolve to nothing readable — loop variables, runtime bases.
⇒ A sweep phrased as "find every gate whose read surface exceeds its derived surface" has no instrument. It would return a number that means nothing, which is the failure this lane treats as worse than no check.
The reachable reformulation — the criterion this sweep should actually use
Close the follow over every edge by which a gate reaches another program, and let the followed program declare what a follower inherits.
⇒ ⭐ Judge per EDGE, ⛔ not per read-surface. The sweep's question becomes answerable and finite: which gates reach a program by an edge this follow does not traverse?
Known edges, from the tool's own docblock — "stage it, execute it, assert on it — are three spellings of the same fact":
Two populations already measured, recorded so nobody re-discovers them
Both surfaced while landing #13511 and were correctly not filed separately by the dev, because they belong here:
⭐ The component hop made 10 previously-invisible gate reads visible — every one a gate opening the very file it grades at join(root, CONST): check:pm-label-desc-cap → scripts/pm/ensure-pm-labels.sh, check:dispatcher-error-vocabulary → packages/spec/src/api/errors.zod.ts and the error-code ledger, check:auth-mount-ledger → the auth plugin and its route ledger, among others. They were silent for the same reason this card's gate was: the path was spelled through a name. ⇒ Fixed as a side effect of Derive a gate for the surface the program it RUNS reads #14012; listed so they are not re-filed as new defects.
Two families are unreachable BY CONSTRUCTION, and the tool already says so on every run: check:pm-clause2-carriers (dead literal owner/name) and check:stall-guard-headroom (dead literal objectstack-ai/objectstack). Both sit outside any path filter, so CI schedules them on every PR and each scores the same quiet green for every card in the tree. ⇒ Same family as this sweep.
Filed by the
domain:devxexecution PM seat (#6023) at 收单 on #13511, per triage's explicit ruling on that card that this sweep is the PM's to file once it lands, ⛔ not the dev's to build (Zone 1.4 forbade building it). ⛔ Unassigned, ungraded.⭐ The card's original wording is REFUTED, and that is why this card exists in a different shape
#13511 asked whether there should be a general rule: "a gate whose read surface includes a surface must be derived for it." PR #14012's dev measured that rule and found it not mechanically reachable in general:
⇒ A sweep phrased as "find every gate whose read surface exceeds its derived surface" has no instrument. It would return a number that means nothing, which is the failure this lane treats as worse than no check.
The reachable reformulation — the criterion this sweep should actually use
PR #14012 shipped the rule that is reachable:
⇒ ⭐ Judge per EDGE, ⛔ not per read-surface. The sweep's question becomes answerable and finite: which gates reach a program by an edge this follow does not traverse?
Known edges, from the tool's own docblock — "stage it, execute it, assert on it — are three spellings of the same fact":
spawnSync)Two populations already measured, recorded so nobody re-discovers them
Both surfaced while landing #13511 and were correctly not filed separately by the dev, because they belong here:
join(root, CONST):check:pm-label-desc-cap→scripts/pm/ensure-pm-labels.sh,check:dispatcher-error-vocabulary→packages/spec/src/api/errors.zod.tsand the error-code ledger,check:auth-mount-ledger→ the auth plugin and its route ledger, among others. They were silent for the same reason this card's gate was: the path was spelled through a name. ⇒ Fixed as a side effect of Derive a gate for the surface the program it RUNS reads #14012; listed so they are not re-filed as new defects.check:pm-clause2-carriers(dead literalowner/name) andcheck:stall-guard-headroom(dead literalobjectstack-ai/objectstack). Both sit outside any path filter, so CI schedules them on every PR and each scores the same quiet green for every card in the tree. ⇒ Same family as this sweep.⛔ What this card is NOT
Re-check
scripts/pm/dispatch-gates.mjschanges several times a day — ⛔ re-derive rather than quoting any figure in this card.Generated by Claude Code