docs(workplans): RMGR-WP-0005 registrar consolidation + deterministic IDs

Implements ADR-007 decision 2: interim single-writer, target UUIDv5 derived
from the globally unique PREFIX-WP-NNNN so writeback is idempotent across
instances. T04 migrates the 758 files carrying hub identifiers. T06 covers
lifecycle protection including the C-15 task-status override.

RMGR-WP-0004 gains T08 enforcing ADR-007 identifier uniqueness, which gates
RMGR-WP-0005-T03 — deriving from a non-unique identifier would manufacture
UUID collisions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-17 10:19:03 +02:00
parent 211b81cd94
commit c9b7cab9c3
3 changed files with 224 additions and 0 deletions

View file

@ -16,6 +16,7 @@ related:
- STATE-WP-0079
- RMGR-WP-0001
- CFED-WP-0001
state_hub_workstream_id: "b8b3f1e0-b8df-4405-849e-11ec51f80ae5"
---
# Repository standards conformance and governed scaffolding
@ -55,6 +56,7 @@ claims "repository registration, identity, classification, and lifecycle" and
id: RMGR-WP-0004-T01
status: todo
priority: high
state_hub_task_id: "dd2db30f-c48f-404d-a1b4-bd75b41d42f4"
```
Give Repo Manager a first-class representation of the standards a repository is
@ -81,6 +83,7 @@ into a second definition.
id: RMGR-WP-0004-T02
status: wait
priority: high
state_hub_task_id: "2c9b0cb1-f0f0-40f7-83ef-1828298338d3"
```
Check a repository against its flavor's standard and report violations with
@ -104,6 +107,7 @@ Known first findings, both live today:
id: RMGR-WP-0004-T03
status: wait
priority: high
state_hub_task_id: "8e6fa8d7-f169-44f5-bdc9-29376bb2ef64"
```
Take ownership of creating conformant repository files, replacing the templating
@ -134,6 +138,7 @@ ordinary repos receive.
id: RMGR-WP-0004-T04
status: wait
priority: medium
state_hub_task_id: "8cd3ba11-b16b-4910-8bf6-651a24d47b8c"
```
`make update-agent-instructions` regenerates `AGENTS.md`, `CLAUDE.md`,
@ -152,6 +157,7 @@ flavor-blind template silently re-breaks conformant repos.
id: RMGR-WP-0004-T05
status: wait
priority: medium
state_hub_task_id: "8402b8b6-2a1e-4236-b27d-d50b6161a176"
```
Coordinate the transfer with `STATE-WP-0080`, which is retargeted to a thin
@ -173,6 +179,7 @@ Follow the dual-run strangler pattern already proven in `RMGR-WP-0002` and
id: RMGR-WP-0004-T06
status: wait
priority: medium
state_hub_task_id: "faaeb016-3ba8-493a-bbdf-9227de24f720"
```
Per `SCOPE.md` § Initial extraction source, extraction must preserve behaviour
@ -185,12 +192,54 @@ with compatibility tests. Cover:
- flavor signals that disagree warn rather than silently resolving;
- re-running scaffolding on a conformant repo is idempotent.
## Enforce workplan identifier uniqueness
```task
id: RMGR-WP-0004-T08
status: wait
priority: high
```
Implement `ADR-007` decision 1 as a repository standard: `PREFIX-WP-NNNN` names
exactly one workplan fleet-wide, for all time.
- **Prefix ownership registry** — one prefix, one repository. New machinery: no
such registry exists today. `C-26` checks prefix conformance *within* a repo
against a canonical prefix, but nothing checks across repos.
- **Forward-only numbering** — a running number is never reused within a prefix,
including after cancel, archive, or delete.
- **Prefixes derive from project or repository identity**, never from a flavor
marker or category. This is what makes `PRJ-WP-` invalid by construction and
connects back to T03.
Live violations to detect (fleet scan, 2026-08-16 — 955 hub workplans, 525
parseable identifiers):
```text
prefixes shared across repos:
CUST-WP- state-hub, the-custodian
RAIL-BS-WP- railiance-bootstrap, railiance-cluster
RAILIANCE-WP- railiance-apps, railiance-forge, railiance-platform, railiance-telemetry
identifiers reused:
CUST-WP-0000 / 0010 / 0045 the-custodian ×2 each
RAILIANCE-WP-0015 railiance-platform, railiance-apps
RAILIANCE-WP-0016 railiance-platform ×2, railiance-apps
```
Detection only. Remediating the existing collisions is an open ruling in
`ADR-007` § Migration and is not authorized by this task.
**This task gates `RMGR-WP-0005`.** Deterministic identifier derivation from a
non-unique identifier would manufacture UUID collisions rather than remove them.
## Confirm the canon boundary
```task
id: RMGR-WP-0004-T07
status: wait
priority: low
state_hub_task_id: "7fdd54fe-fba7-4713-9814-d4534ff19706"
```
Repo Manager implements repository standards; it does not author them. Confirm