C-43: flag resolved decisions whose superseded predecessor is unlinked (STATE-WP-0097-T01)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 1m17s

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
This commit is contained in:
tegwick 2026-10-13 22:30:43 +02:00
parent d60f2647d4
commit 81dea1f356
3 changed files with 112 additions and 2 deletions

View file

@ -4,7 +4,7 @@ type: workplan
title: "Flag resolved decisions that a later decision supersedes without a link"
domain: infotech
repo: state-hub
status: proposed
status: active
owner: claude-code
topic_slug: infotech
created: "2026-10-13"
@ -34,7 +34,7 @@ authoring surface.
```task
id: STATE-WP-0097-T01
status: todo
status: done
priority: medium
state_hub_task_id: "dd2d184a-9bfd-5578-b7ce-cc487f1a8a0a"
```
@ -47,6 +47,13 @@ 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.
2026-10-13 done: `find_unlinked_supersessions` and `_check_unlinked_supersession`
in `scripts/consistency_check.py`, scoped to decisions on the repo's own
workplans (one `GET /decisions/` per run). The check matches "supersedes
[decision] <8-hex|uuid>" and ignores "superseded by". It skips ambiguous
prefixes. Five new tests pass, and the full module passes (168 tests).
Live scan across all decisions: zero findings now that 1c9817ee is linked.
## Document the interim contest convention
```task