docs(identifiers): record whynot cutover
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
This commit is contained in:
parent
bb915a64fe
commit
e7f3eece34
2 changed files with 104 additions and 0 deletions
89
docs/evidence/RMGR-WP-0005-batch-0002-cutover-2026-08-22.md
Normal file
89
docs/evidence/RMGR-WP-0005-batch-0002-cutover-2026-08-22.md
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
# RMGR-WP-0005 batch 0002 cutover
|
||||
|
||||
**Completed at:** `2026-08-22T14:12:19Z`
|
||||
|
||||
**Scope:** `whynot-design` only
|
||||
|
||||
**Decision:** `RMGR-DEC-2026-001` (`approved`)
|
||||
|
||||
## Outcome
|
||||
|
||||
The approved repository-atomic batch completed in both current State Hub
|
||||
projections and the authoritative repository. No other identifier mapping was
|
||||
applied.
|
||||
|
||||
| Record | Previous UUID | Derived UUID |
|
||||
| --- | --- | --- |
|
||||
| `WHYNOT-WP-0003` | `41fed928-f44a-48f4-9870-120310fbf071` | `d3a6ec16-ac40-5ffb-99e7-07f997e59a4a` |
|
||||
|
||||
The source plan seal was
|
||||
`ac97f6e4f0b35db63a0dc1b4a439f0a39738d13c1407f18419f706d780d4eea0`.
|
||||
The approved batch seal was
|
||||
`4039224352c6590fdc6b41e739539f1f9c92d098b43ed6e30b3cd9a87b53da65`.
|
||||
The no-drift gate was repeated after approval and passed against pinned source
|
||||
HEAD `4b62cffc86496d587ac8d48a8e199624bc4a5c1f`.
|
||||
|
||||
## Restore points
|
||||
|
||||
Fresh PostgreSQL custom-format archives were retained before mutation and
|
||||
successfully enumerated by `pg_restore --list`.
|
||||
|
||||
| Projection | Archive | Bytes | SHA-256 | Archive entries |
|
||||
| --- | --- | ---: | --- | ---: |
|
||||
| Workstation | `/tmp/state-hub-whynot-batch-0002-workstation-preapply.dump` | 4,640,237 | `19a24b573adbe9807970dcdd0d0c17e63247a0e3135c6dd32b297648f680cc2b` | 423 |
|
||||
| Production | `/tmp/state-hub-whynot-batch-0002-production-preapply.dump` | 4,799,940 | `1435ef077d664a46bf989a9daad9fab2c010ea19e3198a867690233c4a77c926` | 425 |
|
||||
|
||||
The durable alias reverse executor remains available in each projection; the
|
||||
restore archives are the database-level fallback.
|
||||
|
||||
## Projection transaction
|
||||
|
||||
The State Hub repository transaction ran first on the workstation projection
|
||||
and then inside the production State Hub runtime. Both executions reported one
|
||||
replacement, zero deferred assignments, direction `forward`, and the exact
|
||||
source-plan seal above.
|
||||
|
||||
Final direct database and API checks agree:
|
||||
|
||||
| Check | Workstation | Production |
|
||||
| --- | ---: | ---: |
|
||||
| Previous UUID rows | 0 | 0 |
|
||||
| Derived UUID rows | 1 | 1 |
|
||||
| Tasks linked to derived UUID | 9 | 9 |
|
||||
| Progress events linked to derived UUID | 11 | 11 |
|
||||
| Decisions linked to derived UUID | 1 | 1 |
|
||||
| Applied aliases for exact plan | 1 | 1 |
|
||||
| Previous UUID API lookup | 404 | 404 |
|
||||
| Derived UUID API lookup | 200 | 200 |
|
||||
|
||||
## Authoritative file transaction
|
||||
|
||||
`rmgr identifier migration-files` changed only
|
||||
`workplans/WHYNOT-WP-0003-downstream-consumption.md`, replacing the one mapped
|
||||
frontmatter value. The reviewed diff passed `git diff --check` and was pushed
|
||||
as `whynot-design` commit
|
||||
`9ffe187731bfd51869b487805ec6c937bdc653e7`.
|
||||
|
||||
Two consistency passes then ran against each projection. They produced the
|
||||
standard generated-brief commits `e915d4c`, `5b38e07`, `3cfee73`, and
|
||||
`a427356`; the checkout is clean and synchronized at
|
||||
`a4273562b131cf41f3c8afdd385ea458bda62fa0`. The generated brief carries the
|
||||
derived identity and no workplan identifier was changed after the file
|
||||
transaction.
|
||||
|
||||
## Existing status-rule warning
|
||||
|
||||
The consistency passes exposed a pre-existing disagreement unrelated to the
|
||||
identifier cutover: the authoritative workplan frontmatter says `active`, all
|
||||
nine tasks are done, and the projection's completion rule therefore returns
|
||||
the row to `finished` on the second pass. This produces alternating C-04/C-13
|
||||
warnings but no identifier or reference drift. The UUID-only approval did not
|
||||
authorize changing that status. Existing C-24 classification advisories and
|
||||
C-27 cross-repository logical-id collisions also remain outside this batch.
|
||||
|
||||
## Rollback posture
|
||||
|
||||
Rollback was not invoked. If later required, reverse the authoritative file
|
||||
transaction first, then reverse production and workstation projection
|
||||
transactions through the durable aliases. Restore from the archives only after
|
||||
an isolated restore rehearsal.
|
||||
|
|
@ -448,6 +448,21 @@ No mutation has run; approval, revision, or rejection of that exact package is
|
|||
the remaining gate. Evidence:
|
||||
`docs/evidence/RMGR-WP-0005-batch-0002-readiness-2026-08-22.md`.
|
||||
|
||||
**Batch 0002 completed (2026-08-22):** `RMGR-DEC-2026-001` approved the exact
|
||||
sealed `whynot-design` package. Fresh workstation and production restore points
|
||||
were created and verified before both projection transactions replaced
|
||||
`WHYNOT-WP-0003` with derived UUID
|
||||
`d3a6ec16-ac40-5ffb-99e7-07f997e59a4a`. The authoritative one-line file
|
||||
transaction was pushed in `whynot-design` commit `9ffe187`; both projections
|
||||
now return old/new API lookups 404/200, retain 9 tasks, 11 progress events, and
|
||||
1 decision, and carry one applied alias for the exact plan. Two consistency
|
||||
passes ran against each projection. They exposed an existing active-versus-all-
|
||||
tasks-done status-rule oscillation but no identifier or reference drift. Full
|
||||
restore hashes, commits, checks, and the bounded warning are in
|
||||
`docs/evidence/RMGR-WP-0005-batch-0002-cutover-2026-08-22.md`. T04 remains in
|
||||
progress because the remaining fleet repositories require separately sealed
|
||||
and approved batches.
|
||||
|
||||
## Retire the interim rule
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue