Filed by the domain:skills seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) from the #14880 flight (PR #15081), which measured the class and — per its brief — reported the members instead of editing any gate. One consolidated finding for central triage to route by lane: each gate below belongs to the lane that owns its script; the remedy is per gate and producer-side. Unassigned; finding for grading.
The class, measured at 8af1a6ec on PR #14866's diff
scripts/pm/dispatch-gates.mjs derives a card's gate families from the paths each gate declares. A gate whose declared literals all name tracked files (a baseline, an allowlist, a ledger, a census artifact) and none a population (a subtree spelling) is scored silent for every card, because its declaration describes what it reads, not what it scans. 32 of the 120 SILENT-residue families on that diff are of this class — five of them with the roster sitting inside a directory the diff edits (marked ⛔ in the tool's new block). check:error-code-provenance and check:optional-error-sink (the card's first two instances) are members.
Since PR #15081 the tool prints these in their own labelled block ("Artifact rosters — N famil(ies) whose silent verdict is a fact about a LIST, not about your paths") on every derivation, never counted among the derived families. That is the consumer-side half. This card is the producer-side half.
Remedy, per gate
Declare the scan surface beside the roster, in the subtree spelling (packages/**, scripts/**, whatever the gate's own header says it walks). Once a population is declared the gate is MATCHED by path derivation for the cards that touch it, and leaves this block. ⛔ Not a change to the derivation's exclusion of the residue (deliberate, see #14880's triage).
The 32 (as the tool names them; lanes per the script's owner)
The four pm-owned members (check:pm-governed-prose, check:pm-label-desc-cap, check:pm-skill-ratchet, check-skills-token-ratchet) are this lane's and will be taken by the skills seat as one XS flight once this card is graded; the rest are for their lanes.
Refs
#14880 (the measurement, PR #15081) · #14753 / #15036 (the same file's prior flights) · the residue text of dispatch-gates.mjs --residue, which already names this remedy per family.
Generated by Claude Code
Filed by the
domain:skillsseat (sessionsession_019RfFHiRCSs3JXLK4cwcfox, os-steve) from the #14880 flight (PR #15081), which measured the class and — per its brief — reported the members instead of editing any gate. One consolidated finding for central triage to route by lane: each gate below belongs to the lane that owns its script; the remedy is per gate and producer-side. Unassigned;findingfor grading.The class, measured at
8af1a6econ PR #14866's diffscripts/pm/dispatch-gates.mjsderives a card's gate families from the paths each gate declares. A gate whose declared literals all name tracked files (a baseline, an allowlist, a ledger, a census artifact) and none a population (a subtree spelling) is scoredsilentfor every card, because its declaration describes what it reads, not what it scans. 32 of the 120 SILENT-residue families on that diff are of this class — five of them with the roster sitting inside a directory the diff edits (marked ⛔ in the tool's new block).check:error-code-provenanceandcheck:optional-error-sink(the card's first two instances) are members.Since PR #15081 the tool prints these in their own labelled block ("Artifact rosters — N famil(ies) whose
silentverdict is a fact about a LIST, not about your paths") on every derivation, never counted among the derived families. That is the consumer-side half. This card is the producer-side half.Remedy, per gate
Declare the scan surface beside the roster, in the subtree spelling (
packages/**,scripts/**, whatever the gate's own header says it walks). Once a population is declared the gate is MATCHED by path derivation for the cards that touch it, and leaves this block. ⛔ Not a change to the derivation's exclusion of the residue (deliberate, see #14880's triage).The 32 (as the tool names them; lanes per the script's owner)
pnpm check:authz-resolver⛔ inverted on fix(plugin-auth): report the zero-account boot dead end at kernel:ready #14866pnpm check:console-injectionpnpm check:docs-image-tagpnpm check:engine-double-contractpnpm check:error-code-casing⛔ inverted on fix(plugin-auth): report the zero-account boot dead end at kernel:ready #14866pnpm --filter @objectstack/spec run check:error-code-provenancepnpm check:error-status-conformancepnpm check:filter-alias-parity⛔ inverted on fix(plugin-auth): report the zero-account boot dead end at kernel:ready #14866pnpm check:i18n-stale-fillpnpm --filter @objectstack/spec run check:meta-url-spellingpnpm check:overlay-whitelist-tablepnpm check:partof-closing-keywordpnpm check:pm-governed-prosepnpm check:pm-label-desc-cappnpm check:pm-skill-ratchetpnpm check:published-readme-exportspnpm --filter @objectstack/spec run check:react-blockspnpm --filter @objectstack/spec run check:react-declaration-paritypnpm check:single-claim-pathspnpm --filter @objectstack/spec run check:spec-changespnpm check:stack-collection-mapspnpm check:swallow-census-controls⛔ inverted on fix(plugin-auth): report the zero-account boot dead end at kernel:ready #14866pnpm check:widget-option-censusnode scripts/check-changeset-fixed.mjs⛔ inverted on fix(plugin-auth): report the zero-account boot dead end at kernel:ready #14866node scripts/check-ci-filter-parity.mjs --self-testnode scripts/check-partof-closing-keyword.mjsnode scripts/check-published-list-mirrors.mjs --self-testnode scripts/check-published-list-mirrors.mjsnode scripts/check-single-claim-paths.mjsnode scripts/check-skills-token-ratchet.mjs --self-testnode scripts/check-skills-token-ratchet.mjsnode scripts/pr-labels.mjs --self-testThe four
pm-owned members (check:pm-governed-prose,check:pm-label-desc-cap,check:pm-skill-ratchet,check-skills-token-ratchet) are this lane's and will be taken by the skills seat as one XS flight once this card is graded; the rest are for their lanes.Refs
#14880 (the measurement, PR #15081) · #14753 / #15036 (the same file's prior flights) · the residue text of
dispatch-gates.mjs --residue, which already names this remedy per family.Generated by Claude Code