feat: interim identifier registrar (RMGR-WP-0005-T01)

Add is_identifier_registrar so only the production instance may mint
hub UUIDs into repository files. Workstation hubs stay read/project
caches until deterministic derivation lands.

Also close RMGR-WP-0004-T05: register cutover is STATE-WP-0080-T02.
This commit is contained in:
tegwick 2026-08-18 21:49:08 +02:00
parent 0dde030ae3
commit f509da5606
5 changed files with 90 additions and 2 deletions

View file

@ -170,7 +170,7 @@ flavor-blind template silently re-breaks conformant repos.
```task
id: RMGR-WP-0004-T05
status: todo
status: done
priority: medium
state_hub_task_id: "8402b8b6-2a1e-4236-b27d-d50b6161a176"
```
@ -192,6 +192,12 @@ Follow the dual-run strangler pattern already proven in `RMGR-WP-0002` and
points at `rmgr scaffold`. T03 is done. Cutover / inventory move can start
alongside `STATE-WP-0080-T02`.
**Result (2026-08-18):** Cutover is live via `STATE-WP-0080-T02`: project
flavor delegates to `rmgr scaffold` (or registers only when `GOAL.md`
exists); durable repos keep hub templating until `STATE-WP-0080-T04`
deletes it. Inventory `caller:custodian-cli` is already `move`
`repo-manager`. Coordination remains `SHR-WP-0001`.
## Add compatibility and regression tests
```task

View file

@ -50,7 +50,7 @@ model; a file carrying a hub's private key is the file holding hub state.
```task
id: RMGR-WP-0005-T01
status: todo
status: done
priority: high
state_hub_task_id: "b57a6882-280d-4f0a-9c73-899843dfc3d3"
```
@ -69,6 +69,12 @@ workstation hubs are rebuildable caches (`ADR-010` decision 2).
Interim, and deliberately so — it trades availability for correctness, and T03
removes the need for the trade.
**Result (2026-08-18):** `repo_manager.registrar.is_identifier_registrar`
(`STATEHUB_REGISTRAR` env, else hostname prefix `railiance`).
`statehub fix-consistency` skips C-06 / C-11 / C-32 mint+writeback when
this instance is not the registrar. Read/project checks are unchanged.
Cost documented in `docs/repository-standards_v0.1.md`.
## Re-register identifiers minted outside the registrar
```task