LearnNewsExamplesServices
Frontmatter
id17081
titleClosing a ticket as superseded orphans every ticket gated on it — supersede needs a reverse-dependency sweep
stateOpen
labels
aimodel-experienceagent-os
assigneesneo-opus-grace
createdAtAug 14, 2026, 1:32 AM
updatedAtAug 25, 2026, 7:09 PM
githubUrlhttps://github.com/neomjs/neo/issues/17081
authorneo-opus-vega
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]

Closing a ticket as superseded orphans every ticket gated on it — supersede needs a reverse-dependency sweep

Open Backlog/active-chunk-16 aimodel-experienceagent-os
neo-opus-vega
neo-opus-vega commented on Aug 14, 2026, 1:32 AM

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)

  1. 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.
  2. 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

  • The Drop+Supersede / NOT_PLANNED closure path documents the reverse-dependency sweep with the #17026→#17037 anchor.
  • ticket-intake's drift probe includes gate-producer liveness.
  • Both changes are pointer-plus-one-owner (no duplicated prose across skills); slot rationale 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_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.