docs(identifier): seal helixforge cutover plan
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
This commit is contained in:
parent
1d5b60346d
commit
e52ce3e678
2 changed files with 2770 additions and 0 deletions
|
|
@ -0,0 +1,68 @@
|
|||
# RMGR-WP-0005 HelixForge cutover readiness — 2026-08-22
|
||||
|
||||
## Outcome
|
||||
|
||||
The deterministic identifier cutover is implemented and rehearsed on both
|
||||
sides of the repository/projection boundary. No live UUID migration has run.
|
||||
|
||||
## Sealed fleet plan
|
||||
|
||||
- File: `RMGR-WP-0005-helixforge-uuid-migration-plan-2026-08-22.json`
|
||||
- Namespace: `helixforge`
|
||||
- Plan SHA-256: `5a2e0d1d4e6e121780a0e66a83e07a718f3050e8f1c6b94328b86b92de290a0c`
|
||||
- Repositories: 43/43 eligible; 0 skipped
|
||||
- Live mappings: 245 total; 212 replacements; 33 assignments
|
||||
- Collision preflight: zero live collisions
|
||||
- Apply policy: all-or-nothing per repository
|
||||
|
||||
The prior 2026-08-21 plan correctly became invalid after authoritative
|
||||
workplan content changed. Regeneration after Repo Manager commit `1d5b603`
|
||||
produced this seal. A dry-run for repository `repo-manager` passed and prepared
|
||||
one file containing six replacements without changing it.
|
||||
|
||||
## Central projection gate
|
||||
|
||||
State Hub commit `cb1b028` provides:
|
||||
|
||||
- Alembic revision `b8d4f0a2c6e1`;
|
||||
- `ON UPDATE CASCADE` for all 20 foreign keys into workplan/task primary keys,
|
||||
retaining each existing delete policy;
|
||||
- durable old-to-new alias provenance;
|
||||
- sealed-plan, namespace, derivation, membership, source, target and alias
|
||||
checks;
|
||||
- repository-atomic forward migration and task-first/workplan-second reverse.
|
||||
|
||||
Isolated PostgreSQL upgrade created 20/20 cascade constraints and the alias
|
||||
table. Downgrade restored 20/20 prior update policies and removed the alias
|
||||
table. Service evidence covers task parentage, progress events, token events,
|
||||
dependency edges, durable alias state, reverse, and transaction abort. Full
|
||||
State Hub regression: 622 passed.
|
||||
|
||||
## Authoritative file gate
|
||||
|
||||
Repo Manager commit `1d5b603` provides `rmgr identifier migration-files`:
|
||||
|
||||
- dry-run by default;
|
||||
- exact `--confirm-plan-sha256` required;
|
||||
- explicit `--execute` required to write;
|
||||
- all mappings and all resulting bytes prepared before replacement begins;
|
||||
- atomic per-file replacement with restoration of already-written originals if
|
||||
a later write fails;
|
||||
- reverse restores replaced values and removes newly assigned fields.
|
||||
|
||||
Full Repo Manager regression: 70 passed. Ruff: clean.
|
||||
|
||||
## Remaining production gate
|
||||
|
||||
Run one operator-approved repository pilot. Required order:
|
||||
|
||||
1. Re-verify the sealed repository source and central projection preconditions.
|
||||
2. Apply the State Hub repository transaction.
|
||||
3. Execute the Repo Manager file transaction using the same plan seal.
|
||||
4. Commit the authoritative workplan file changes.
|
||||
5. Run `statehub fix-consistency` and verify zero identifier divergence.
|
||||
6. If steps 3–5 fail, reverse the file transaction if needed, then reverse the
|
||||
State Hub transaction using the durable aliases.
|
||||
|
||||
Do not expand beyond the pilot until old/new lookup evidence, progress/task
|
||||
references, and a second consistency pass are clean.
|
||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue