docs: unblock RMGR-WP-0005-T03, assign live-collision remediation
ADR-007 amended 2026-08-21 to derive C2 identifiers for live records only, so T03's uniqueness prerequisite now has a bounded surface: 11 live files across 5 identifiers, not 48. T03 moves wait -> todo with the derivation rules recorded, including that namespace is the fleet branch and not the repository, that derivation is not retroactive, and that un-archiving is a collision hazard needing its own check. T09 gains the remediation assignment, split by root cause: 5 files are stragglers from its own incomplete RAILIANCE-WP retirement, 4 are the never-assigned WHYNOT-WP prefix, and 2 are same-repo reuse in kontextual-engine. Execution stays with workers in each repo per ADR-007 decision 4. Notes that both WHYNOT-WP-0001 files are statehub-bootstrap workplans -- the generic bootstrap defect STATE-WP-0080 contained -- so the same residue is likely wherever that path ran before the guard. Also records OPS-WP and REPO-WP as unassigned shared prefixes with no live collisions yet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
ebb1891b2d
commit
c874ad75e0
2 changed files with 73 additions and 1 deletions
|
|
@ -401,6 +401,58 @@ rewrite those repos.
|
|||
`railiance-platform` persists by design under option 2. Note it in the registry
|
||||
so citations are forced to name the repository.
|
||||
|
||||
### Live-collision remediation (assigned 2026-08-21)
|
||||
|
||||
`ADR-007` was amended to derive C2 identifiers for **live records only**, so the
|
||||
blocking surface is the 11 live files below, not the 48 in the full scan.
|
||||
`RMGR-WP-0005-T03` is gated on these. Per `ADR-007` decision 4, execution
|
||||
belongs to a worker in each repository — this task assigns, it does not rename.
|
||||
|
||||
Three distinct root causes, not one:
|
||||
|
||||
**1. Incomplete T09 prefix migration — 5 files.** `railiance-apps` and
|
||||
`railiance-platform` still carry live `RAILIANCE-WP-` plans although T09 retired
|
||||
that prefix and assigned `RAPPS-WP-` and `RPF-WP-`. `railiance-platform` has
|
||||
already begun using `RPF-WP-` (0018–0020 exist), so these are stragglers. Fix is
|
||||
the assigned migration, not a fresh number:
|
||||
|
||||
```text
|
||||
railiance-apps RAILIANCE-WP-0015-cnpg-backup-scheduledbackup-coverage.md -> RAPPS-WP-
|
||||
RAILIANCE-WP-0016-railiance01-activity-core-backup-automation.md -> RAPPS-WP-
|
||||
railiance-platform RAILIANCE-WP-0015-platform-rapp-consistency.md -> RPF-WP-
|
||||
RAILIANCE-WP-0016-apps-pg-resource-evidence.md -> RPF-WP-
|
||||
RAILIANCE-WP-0016-architecture-cleanup-backlog.md -> RPF-WP-
|
||||
```
|
||||
|
||||
Numbers are reallocated above each repo's current maximum, not preserved —
|
||||
`railiance-platform` holds two live files at `0016`, so preservation is
|
||||
impossible for that pair.
|
||||
|
||||
**2. `WHYNOT-WP-` prefix never assigned — 4 files.** T09 assigned `CUST-WP-`,
|
||||
`RAIL-BS-WP-` and `RAILIANCE-WP-`; the 2026-08-21 scan shows **five** shared
|
||||
prefixes. `WHYNOT-WP-` is shared by `whynot-control` and `whynot-design` with
|
||||
both `0001` and `0002` colliding.
|
||||
|
||||
Note the cause of `WHYNOT-WP-0001`: both files are
|
||||
`WHYNOT-WP-0001-statehub-bootstrap.md` — the generic bootstrap workplan that
|
||||
`statehub register` wrote unconditionally. That is the defect `STATE-WP-0080`
|
||||
contained; these two files are its residue, and the same pattern will exist
|
||||
wherever else that path ran before the guard landed.
|
||||
|
||||
Assign `WHYNOT-WP-` to one repo and a new prefix to the other, then renumber.
|
||||
|
||||
**3. Same-repo number reuse — 2 files.** `kontextual-engine` has two live
|
||||
`KONT-WP-0013` files (`blob-storage-content-streaming`,
|
||||
`cmis-browser-binding-tck-compatibility`). Straight forward-only renumber of one
|
||||
to the next free `KONT-WP-` number.
|
||||
|
||||
### Also unassigned (not blocking T03)
|
||||
|
||||
`OPS-WP-` (`ops-bridge`, `ops-hub`) and `REPO-WP-` (`core-hub`,
|
||||
`disaster-control`, `repo-seed`) are shared prefixes with no live collisions —
|
||||
every clash is against an archived file. Assign them before either repo
|
||||
allocates its next number, or they become live collisions.
|
||||
|
||||
## Confirm the canon boundary
|
||||
|
||||
```task
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ before then.
|
|||
|
||||
```task
|
||||
id: RMGR-WP-0005-T03
|
||||
status: wait
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "28067729-498d-4f47-89bd-5b9718e999c7"
|
||||
```
|
||||
|
|
@ -120,6 +120,26 @@ Replace minted UUIDs with UUIDv5 derived from the globally unique
|
|||
manufactures collisions: two repositories sharing `PRJ-WP-` would compute the
|
||||
same UUID for different workplans. Uniqueness must be enforced first.
|
||||
|
||||
**Unblocked 2026-08-21.** `RMGR-WP-0004-T08` closed 2026-08-18 (prefix registry
|
||||
plus `rmgr prefix-uniqueness`), and `ADR-007` was amended the same day with the
|
||||
derivation scope this task needs:
|
||||
|
||||
- **Derive for live records only**; archived records keep frozen minted
|
||||
identifiers. This is what reconciles `ADR-007` § Migration option 2 with the
|
||||
uniqueness derivation requires.
|
||||
- Derivation input is `(namespace, identifier)` per `ADR-011` decision 7.
|
||||
**Namespace is the fleet branch, not the repository** — the ecosystem is at
|
||||
`N1`, one implied namespace, so the pair does not disambiguate intra-namespace
|
||||
collisions and must not be read as if it did.
|
||||
- Derivation is **not retroactive**: existing live records keep minted UUIDs
|
||||
until deliberately re-derived.
|
||||
- **Un-archiving is a collision hazard** — a record returning to live must be
|
||||
checked against the live namespace and renumbered if it clashes. Build this
|
||||
check alongside derivation, not after.
|
||||
|
||||
Remaining prerequisite is the live-collision remediation below, tracked on
|
||||
`RMGR-WP-0004-T09`. 11 files, 5 identifiers.
|
||||
|
||||
## Migrate the fleet
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue