Skip to content

[finding] 32 gates declare only their own artifacts and no scan surface, so path derivation scores them silent for every card — per-gate producer-side remedy, routed by lane #15082

Description

@claude

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions