state-hub/workplans/STATE-WP-0097-unlinked-decision-supersession.md
tegwick fec6b5fdff
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
STATE-WP-0097: propose unlinked-supersession check; decline hub contest state
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 356991@bnt-lap001
Assistant-Session: 5d99ea69-ed55-4a1e-8d97-f4f312db247f
2026-10-13 22:19:15 +02:00

2.3 KiB

id type title domain repo status owner topic_slug created updated flavor related
STATE-WP-0097 workplan Flag resolved decisions that a later decision supersedes without a link infotech state-hub proposed claude-code infotech 2026-10-13 2026-10-13 implementation
STATE-WP-0094

Owner response to activity-core suggestion ff7d2152-75dd-4a49-8dac-e0ebe7343039 (contest path for resolved decisions).

Disposition: State Hub does not add a first-class contested decision state or a /decisions/{id}/contest route. State Hub is in retirement (prj-state-hub-retirement). Decisions are file-first work records whose writer convention is repo-manager (RMGR-WP-0008). The worked example was settled the same day by a superseding decision. The defect was that the hub never linked the two decisions. 1c9817ee (Activity Core owns the publisher) remained resolved with superseded_by: null after c6f23433 superseded it. The link was set by hand on 2026-10-13 with founder approval.

The existing model already expresses re-assignment (status: superseded, superseded_by). This plan makes a missing link visible. It does not add a new authoring surface.

Add a consistency check for unlinked supersession

id: STATE-WP-0097-T01
status: todo
priority: medium

Add C-43 (WARN, not auto-fixable) to scripts/consistency_check.py. It fires when a resolved decision's title or rationale cites another decision id with "supersedes"/"superseding" while that cited decision is still resolved, or has superseded_by unset or pointing elsewhere. Report both ids. The fix stays a deliberate founder/decider action: PATCH status: superseded and superseded_by. Add tests for the linked, unlinked and mismatched cases. Document C-43 in the checker header table.

Document the interim contest convention

id: STATE-WP-0097-T02
status: todo
priority: low

Document the convention in docs/. An owner whose checked-in charter (INTENT.md, SCOPE.md, ADRs) excludes an assigned decision replies on the relaying thread with CONTEST <decision_id> and charter refs. Only the founder or the original decider re-resolves. Re-assignment is a new decision that supersedes the old one, followed by the link that C-43 checks. A first-class contest state is routed to the-custodian canon and repo-manager as the long-term owners. It is not built here.