feat: model repo standards and detect prefix collisions

Implement RMGR-WP-0004 T01 (flavor, required files, anti-patterns from
canon) and T08 (prefix ownership registry plus uniqueness scan).
rmgr conform and rmgr prefix-uniqueness are detection only.
This commit is contained in:
tegwick 2026-08-18 13:28:40 +02:00
parent 106d7d5b2b
commit 04145a59d9
8 changed files with 640 additions and 4 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:
@ -54,7 +54,7 @@ claims "repository registration, identity, classification, and lifecycle" and
```task
id: RMGR-WP-0004-T01
status: todo
status: done
priority: high
state_hub_task_id: "dd2db30f-c48f-404d-a1b4-bd75b41d42f4"
```
@ -77,11 +77,16 @@ Source standards: `project-repository-flavor_v0.1.md` and
authoritative; Repo Manager implements against it and must not fork the rules
into a second definition.
**Result (2026-08-18):** `src/repo_manager/standards.py` resolves flavor
(classification → GOAL.md → `prj-` slug), lists required files, and names
anti-patterns (`INTENT.md`+`GOAL.md`, `PRJ-WP-`). Index:
`docs/repository-standards_v0.1.md`.
## Implement conformance checking
```task
id: RMGR-WP-0004-T02
status: wait
status: progress
priority: high
state_hub_task_id: "2c9b0cb1-f0f0-40f7-83ef-1828298338d3"
```
@ -101,6 +106,10 @@ Known first findings, both live today:
- every `prj-` repo would collide on workplan prefix `PRJ-WP-`, because the
prefix is derived from the flavor marker rather than from the project.
**In progress (2026-08-18):** `rmgr conform` reports `missing` vs
`contradictory` and flags both known findings. Remaining: call from the
consistency lane / STATE-WP-0080 guard.
## Own governed scaffolding
```task
@ -196,7 +205,7 @@ with compatibility tests. Cover:
```task
id: RMGR-WP-0004-T08
status: wait
status: done
priority: high
state_hub_task_id: "fc7395b0-e86d-4231-baac-ea7fa5dc2174"
```
@ -234,6 +243,13 @@ Detection only. Remediating the existing collisions is an open ruling in
**This task gates `RMGR-WP-0005`.** Deterministic identifier derivation from a
non-unique identifier would manufacture UUID collisions rather than remove them.
**Result (2026-08-18):** `config/workplan-prefix-registry.yaml` plus
`rmgr prefix-uniqueness --root <fleet>`. Detection only: shared prefixes,
reused identifiers, `PRJ-WP-`, retired prefixes still in use. A 112-repo
scan still finds `CUST-WP`, `RAILIANCE-WP`, `PRJ-WP` (in
`prj-forgejo-org-refactor`). Remediating historical collisions remains
ADR-007 § Migration.
## Assign ownership of the shared prefixes
```task