Filed unassigned, recording only. Observed 2026-08-26 while deriving gates for an unrelated .claude/** card, by a skills-lane dev seat.
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack prints, on every run for every card, an Unreachable bucket: gate families whose declared population matches NOTHING in the tree, swept over 6,914 tracked files. Today it holds 11, of which 9 are packages/spec gates whose layout moved under them — the tool's own words: "a real miss, worth triaging".
| gate | a dead literal it still spells |
|---|
check:api-surface | packages/spec/scripts/lib/dist-freshness, packages/spec/scripts/lib/sharded-artifacts |
check:dual-source-exports | packages/spec/scripts/lib/dist-freshness |
check:entry-nameability | packages/spec/scripts/lib/dist-freshness, packages/spec/scripts/dist/other.d.ts |
check:export-origins | packages/spec/scripts/lib/export-origins-layout |
check:exported-any | packages/spec/scripts/lib/dist-freshness |
check:meta-url-spelling | packages/spec/src/meta-spelling/metadata-url-spelling |
check:spec-changes | packages/spec/src/migrations/spec-changes |
check:strictness-ledger | packages/spec/scripts/lib/strictness-ledger |
check:upgrade-guide | packages/spec/src/conversions/registry |
In each case the tree stops at a prefix (e.g. packages/spec/scripts/lib) and the layout moved below it.
Why it is worth recording
CI still RUNS these gates on every pull request, so this is not a coverage hole today. What it costs is the DERIVATION: no path derivation can name them, so they score the same quiet green for every card in the tree whether they still work or not — a seat editing packages/spec is never told to run them locally, and a gate that silently stopped matching its subject would look identical from here.
The unreachable verdict exists precisely so this is visible rather than invisible, and it does its job — the bucket is printed on every run. What is missing is that nobody owns the list: it is printed to whoever is holding an unrelated card, and no card carries it.
⛔ Not proposing a shape here
Re-pointing each gate's declared population at the path the layout actually moved to is the obvious repair, but whether all nine are stale spellings or some are deliberately-frozen ledgers is the triage this card asks for, not something to decide from the printout.
Dedup: semantic search of the open board for dispatch-gates / unreachable-population cards found the family that BUILT this verdict (closed) and several open cards about OVER-naming, none about these nine.
Generated by Claude Code
Filed unassigned, recording only. Observed 2026-08-26 while deriving gates for an unrelated
.claude/**card, by a skills-lane dev seat.node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstackprints, on every run for every card, anUnreachablebucket: gate families whose declared population matches NOTHING in the tree, swept over 6,914 tracked files. Today it holds 11, of which 9 arepackages/specgates whose layout moved under them — the tool's own words: "a real miss, worth triaging".check:api-surfacepackages/spec/scripts/lib/dist-freshness,packages/spec/scripts/lib/sharded-artifactscheck:dual-source-exportspackages/spec/scripts/lib/dist-freshnesscheck:entry-nameabilitypackages/spec/scripts/lib/dist-freshness,packages/spec/scripts/dist/other.d.tscheck:export-originspackages/spec/scripts/lib/export-origins-layoutcheck:exported-anypackages/spec/scripts/lib/dist-freshnesscheck:meta-url-spellingpackages/spec/src/meta-spelling/metadata-url-spellingcheck:spec-changespackages/spec/src/migrations/spec-changescheck:strictness-ledgerpackages/spec/scripts/lib/strictness-ledgercheck:upgrade-guidepackages/spec/src/conversions/registryIn each case the tree stops at a prefix (e.g.
packages/spec/scripts/lib) and the layout moved below it.Why it is worth recording
CI still RUNS these gates on every pull request, so this is not a coverage hole today. What it costs is the DERIVATION: no path derivation can name them, so they score the same quiet green for every card in the tree whether they still work or not — a seat editing
packages/specis never told to run them locally, and a gate that silently stopped matching its subject would look identical from here.The
unreachableverdict exists precisely so this is visible rather than invisible, and it does its job — the bucket is printed on every run. What is missing is that nobody owns the list: it is printed to whoever is holding an unrelated card, and no card carries it.⛔ Not proposing a shape here
Re-pointing each gate's declared population at the path the layout actually moved to is the obvious repair, but whether all nine are stale spellings or some are deliberately-frozen ledgers is the triage this card asks for, not something to decide from the printout.
Dedup: semantic search of the open board for dispatch-gates / unreachable-population cards found the family that BUILT this verdict (closed) and several open cards about OVER-naming, none about these nine.
Generated by Claude Code