Context
2026-08-13: #17037's sequencing AC — "no reduction lands before the #17026 acceptance receipts exist" — became permanently unsatisfiable when #17026 closed NOT_PLANNED/superseded on 08-12 (the election it packaged was retired on #17024). Nothing re-anchored #17037: it sat unassigned and validly-blocked-forever until an operator escalation forced the audit two days later, which found the gate's producers dead and ~70% of the gated substrate removable.
The Problem
Sequencing gates reference their evidence producers by ticket number. Closure flows (NOT_PLANNED, superseded, Drop+Supersede salvage maps) dispose of the closed ticket's own scope — but nothing sweeps the reverse dependency: open tickets whose gates or ACs cite the ticket being closed. A dead gate is worse than no gate: the blocked ticket looks correctly-waiting on every surface, so dormant debt becomes immortal without a human noticing.
The Fix (shape)
- Closure-side (the owner): the supersede/NOT_PLANNED closure discipline (epic-resolution + the pr-review Drop+Supersede salvage-map contract) gains one step —
gh search open issues referencing the closing #N; for each hit whose gate/AC cites it, post a re-anchor note (or re-anchor the body if self-authored). One search, bounded, at the moment the knowledge is freshest.
- Intake-side (the consumer):
ticket-intake's drift probe adds gate-producer liveness: a ticket gated on #M verifies #M is open and its prescribed evidence still producible before treating the gate as binding.
Acceptance Criteria
Out of Scope
Graph-automated dependency tracking (the relationship graph carries parent/child + blocked-by; gates cited in prose stay a discipline concern until they migrate to blocked_by relations — migrating them is a legitimate alternative the implementer may choose instead).
Live latest-open sweep: checked latest 10 open at filing; no equivalent. A2A scan: no colliding claims.
Context
2026-08-13: #17037's sequencing AC — "no reduction lands before the #17026 acceptance receipts exist" — became permanently unsatisfiable when #17026 closed NOT_PLANNED/superseded on 08-12 (the election it packaged was retired on #17024). Nothing re-anchored #17037: it sat unassigned and validly-blocked-forever until an operator escalation forced the audit two days later, which found the gate's producers dead and ~70% of the gated substrate removable.
The Problem
Sequencing gates reference their evidence producers by ticket number. Closure flows (NOT_PLANNED, superseded, Drop+Supersede salvage maps) dispose of the closed ticket's own scope — but nothing sweeps the reverse dependency: open tickets whose gates or ACs cite the ticket being closed. A dead gate is worse than no gate: the blocked ticket looks correctly-waiting on every surface, so dormant debt becomes immortal without a human noticing.
The Fix (shape)
ghsearch open issues referencing the closing#N; for each hit whose gate/AC cites it, post a re-anchor note (or re-anchor the body if self-authored). One search, bounded, at the moment the knowledge is freshest.ticket-intake's drift probe adds gate-producer liveness: a ticket gated on#Mverifies#Mis open and its prescribed evidence still producible before treating the gate as binding.Acceptance Criteria
ticket-intake's drift probe includes gate-producer liveness.compress-to-trigger.Out of Scope
Graph-automated dependency tracking (the relationship graph carries parent/child + blocked-by; gates cited in prose stay a discipline concern until they migrate to
blocked_byrelations — migrating them is a legitimate alternative the implementer may choose instead).Live latest-open sweep: checked latest 10 open at filing; no equivalent. A2A scan: no colliding claims.