fix: refuse to scaffold prj- repos from statehub register
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

STATE-WP-0080-T01: detect project flavor from classification, GOAL.md,
or a prj- slug, then exit pointing at rmgr scaffold. Durable-repo
write path is unchanged. Rebind 0080 hub IDs to the live workstream
and open T02 now that RMGR-WP-0004-T03 has landed.
This commit is contained in:
tegwick 2026-08-18 21:36:53 +02:00
parent 131b824dd3
commit f564e99a14
4 changed files with 216 additions and 12 deletions

View file

@ -8,7 +8,7 @@ status: active
owner: codex
topic_slug: infotech
created: "2026-08-16"
updated: "2026-08-16"
updated: "2026-08-18"
parent_project: prj-state-hub-retirement
parent_workplan: SHR-WP-0001
related:
@ -16,7 +16,7 @@ related:
- STATE-WP-0079
- CFED-WP-0001
- SHR-WP-0001
state_hub_workstream_id: "bbfce36a-0b19-462f-af78-167f9eb89b86"
state_hub_workstream_id: "03f38314-7d2c-42ee-bd1e-b0cc555dc06b"
---
# statehub register: stop repo scaffolding, hand off to repo-manager
@ -70,9 +70,9 @@ manual deletion after registration.
```task
id: STATE-WP-0080-T01
status: todo
status: done
priority: high
state_hub_task_id: "6b01a939-7d60-4a0c-90db-af8e31c45359"
state_hub_task_id: "65c52600-15fe-45bd-82b1-dfeff54698af"
```
Add a minimal flavor guard to the register path — detect project flavor from
@ -85,13 +85,18 @@ path here would become a second source of truth competing with `RMGR-WP-0004`.
Durable-repo behaviour is untouched.
**Result (2026-08-18):** `statehub register` exits before writing files when any
of those three signals match. Message points at
`rmgr scaffold --path <repo> --flavor project --wp-prefix <PREFIX>-WP`.
Durable path (`write_registration_files`) is unchanged.
## Delegate registration scaffolding
```task
id: STATE-WP-0080-T02
status: wait
status: todo
priority: high
state_hub_task_id: "bd6a9069-b455-4f5e-b1a5-4a87d014e8f6"
state_hub_task_id: "ab1e079c-b36f-4bfc-a9fd-fb43f7f93924"
```
Once `RMGR-WP-0004-T03` lands, route scaffolding through Repo Manager instead of
@ -101,13 +106,16 @@ does: record the repo, its identity, and its host path.
Coordinate the cutover point with `RMGR-WP-0004-T05`.
**Opened (2026-08-18):** T01 guard is live and `RMGR-WP-0004-T03` (`rmgr scaffold`)
has landed. Ready to replace the refusal with a delegated scaffold call.
## Correct the inventory disposition
```task
id: STATE-WP-0080-T03
status: wait
priority: medium
state_hub_task_id: "b141b378-10d0-4865-a67b-159806bcf037"
state_hub_task_id: "91cb1a33-7748-4d65-bfbc-bad21234e364"
```
Confirm the register/scaffolding capability is dispositioned `move`
@ -122,7 +130,7 @@ the boundary violation during cutover.
id: STATE-WP-0080-T04
status: wait
priority: low
state_hub_task_id: "d933ae91-ad40-4a88-9ce3-90872cd1f3d7"
state_hub_task_id: "342aa5e8-96d0-4832-be60-f48815a86f71"
```
After delegation is live and `RMGR-WP-0004-T06` compatibility tests pass, delete
@ -139,7 +147,7 @@ retirement rather than as an isolated breaking change.
id: STATE-WP-0080-T05
status: cancel
priority: medium
state_hub_task_id: "9eb5ddb5-28d9-4244-8a4f-8fe2a50b5d27"
state_hub_task_id: "03224fa5-56f1-4e32-bc2e-40457dceb9cc"
```
Cancelled — moved to **`RMGR-WP-0004-T04`** by decision `747011c6`.
@ -155,7 +163,7 @@ registration, and it must not be lost in the handoff.
id: STATE-WP-0080-T06
status: cancel
priority: low
state_hub_task_id: "3467ae11-1301-46ab-9e7e-75c4f55f53fe"
state_hub_task_id: "47adb8e3-2a03-45b9-9647-fc4e42c58cd1"
```
Cancelled — moved to **`RMGR-WP-0004-T02`** by decision `747011c6`.
@ -171,7 +179,7 @@ the result rather than computing it.
id: STATE-WP-0080-T07
status: cancel
priority: medium
state_hub_task_id: "126ddd07-df9d-4b65-a651-fff0ad2d4074"
state_hub_task_id: "c056b8fd-d91b-4cf0-973c-d74d8e718dd1"
```
Cancelled — moved to **`RMGR-WP-0004-T06`** by decision `747011c6`.
@ -185,7 +193,7 @@ the handoff must not change what ordinary repositories receive.
id: STATE-WP-0080-T08
status: cancel
priority: medium
state_hub_task_id: "405526b7-b133-4746-aab5-6301c1a0b72e"
state_hub_task_id: "15eca52e-7c3b-40a7-b2a8-38b0313f57a8"
```
Cancelled — superseded by decision `747011c6`, which answered this task's open