repo-manager/docs/evidence/RMGR-WP-0005-batch-0002-cutover-2026-08-22.md
tegwick e7f3eece34 docs(identifiers): record whynot cutover
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 16:13:50 +02:00

3.7 KiB

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.