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
This commit is contained in:
parent
acf6e277af
commit
fec6b5fdff
2 changed files with 76 additions and 13 deletions
|
|
@ -2,11 +2,20 @@
|
||||||
# Custodian Brief — state-hub
|
# Custodian Brief — state-hub
|
||||||
|
|
||||||
**Domain:** infotech
|
**Domain:** infotech
|
||||||
**Last synced:** 2026-10-06 11:35 UTC
|
**Last synced:** 2026-10-13 19:57 UTC
|
||||||
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
||||||
|
|
||||||
## Active Workstreams
|
## Active Workstreams
|
||||||
|
|
||||||
|
### Route human gates and expose actionable owner returns
|
||||||
|
Progress: 3/5 done | workplan_id: `2c4e96a3-ca0d-5003-b759-880976600ecc`
|
||||||
|
|
||||||
|
**Open tasks:**
|
||||||
|
- ! Integrate deduplicated owner wakeups with the supported runner `cd73e265`
|
||||||
|
*(wait: Memo 2 plan-only and submit trials wait for a live owner return; C-25 found zero findings across 13 public repos on 2026-10-04)*
|
||||||
|
- ! Prepare approved receiving promotion and assess graph freshness (P6) `ec0acd06`
|
||||||
|
*(wait: Memo 3 apply trials need a read-only Forgejo token for the Activity Core worker (draft CCR-2026-0034 in railiance-platform); then memo 4 schedule and 48 h freshness evidence)*
|
||||||
|
|
||||||
### State Hub retirement strangler and disposition execution
|
### State Hub retirement strangler and disposition execution
|
||||||
Progress: 6/9 done | workplan_id: `ed077b62-7048-5752-bf65-f90471f45854`
|
Progress: 6/9 done | workplan_id: `ed077b62-7048-5752-bf65-f90471f45854`
|
||||||
|
|
||||||
|
|
@ -18,21 +27,13 @@ Progress: 6/9 done | workplan_id: `ed077b62-7048-5752-bf65-f90471f45854`
|
||||||
- ! Stabilization window and archive prep `9230c99b`
|
- ! Stabilization window and archive prep `9230c99b`
|
||||||
*(wait: Stopping the primary is a founder decision; needs T04 handoffs and T05 retirement first; legacy meter still has live callers.)*
|
*(wait: Stopping the primary is a founder decision; needs T04 handoffs and T05 retirement first; legacy meter still has live callers.)*
|
||||||
|
|
||||||
### Route human gates and expose actionable owner returns
|
|
||||||
Progress: 3/5 done | workplan_id: `2c4e96a3-ca0d-5003-b759-880976600ecc`
|
|
||||||
|
|
||||||
**Open tasks:**
|
|
||||||
- ! Integrate deduplicated owner wakeups with the supported runner `cd73e265`
|
|
||||||
*(wait: Memo 2 plan-only and submit trials wait for a live owner return; C-25 found zero findings across 13 public repos on 2026-10-04)*
|
|
||||||
- ! Prepare approved receiving promotion and assess graph freshness (P6) `ec0acd06`
|
|
||||||
*(wait: Memo 3 apply trials need a read-only Forgejo token for the Activity Core worker (draft CCR-2026-0034 in railiance-platform); then memo 4 schedule and 48 h freshness evidence)*
|
|
||||||
|
|
||||||
## Inbox Hygiene
|
## Inbox Hygiene
|
||||||
|
|
||||||
**Stale unread:** 7 message(s) older than 3 day(s) — triage at session start.
|
**Stale unread:** 11 message(s) older than 3 day(s) — triage at session start.
|
||||||
**Missing thread_id:** 7 unread message(s) lack supersession chains.
|
**Missing thread_id:** 9 unread message(s) lack supersession chains.
|
||||||
|
- ! repo-manager: RMGR-WP-0019-T03: Activity owner sync pending_commit (dirty ACTIVITY-WP-0045) `59c50c6a`
|
||||||
|
- ! the-custodian: P6a retained: Forge derivation omits qualifiers; checker verifies current UUID fields `d8e40e88`
|
||||||
- ! informed-decision: INFD-WP-0005: hub as memo submitter + decision write-back `e30dea31`
|
- ! informed-decision: INFD-WP-0005: hub as memo submitter + decision write-back `e30dea31`
|
||||||
- ! the-custodian: Proposal from CUST-WP-0075: P1 routed human gates, P5 owner-return sweep, P6 nightly graph sync `b4825539`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
## MCP Orientation (when available)
|
## MCP Orientation (when available)
|
||||||
|
|
|
||||||
62
workplans/STATE-WP-0097-unlinked-decision-supersession.md
Normal file
62
workplans/STATE-WP-0097-unlinked-decision-supersession.md
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
---
|
||||||
|
id: STATE-WP-0097
|
||||||
|
type: workplan
|
||||||
|
title: "Flag resolved decisions that a later decision supersedes without a link"
|
||||||
|
domain: infotech
|
||||||
|
repo: state-hub
|
||||||
|
status: proposed
|
||||||
|
owner: claude-code
|
||||||
|
topic_slug: infotech
|
||||||
|
created: "2026-10-13"
|
||||||
|
updated: "2026-10-13"
|
||||||
|
flavor: implementation
|
||||||
|
related: [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
|
||||||
|
|
||||||
|
```task
|
||||||
|
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
|
||||||
|
|
||||||
|
```task
|
||||||
|
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.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue