diff --git a/docs/evidence/RMGR-WP-0005-batch-0003-markitect-cutover-2026-08-22.md b/docs/evidence/RMGR-WP-0005-batch-0003-markitect-cutover-2026-08-22.md new file mode 100644 index 0000000..925c40d --- /dev/null +++ b/docs/evidence/RMGR-WP-0005-batch-0003-markitect-cutover-2026-08-22.md @@ -0,0 +1,87 @@ +# RMGR-WP-0005 batch 0003 Markitect cutover + +**Completed at:** `2026-08-22T14:47:56Z` + +**Scope:** `markitect-main` only + +**Decision:** `RMGR-DEC-2026-002` (`approved`) + +## Outcome + +The approved repository-atomic batch completed in both current State Hub +projections and the authoritative repository. No other identifier mapping was +applied. + +| Kind | Record | Previous UUID | Derived UUID | +| --- | --- | --- | --- | +| Workplan | `MARKITECT-WP-0002` | `e203d487-01f1-494a-b14d-a436241a4c01` | `e03ef262-5284-5dd3-92d2-dbd85c6b6159` | +| Task | `MARKITECT-WP-0002-T01` | `88b3c206-4d45-4bb3-bbb3-47443cdf2123` | `1852eca1-92e2-518e-bb21-9dffbeb32a4f` | + +The source plan seal was +`ac97f6e4f0b35db63a0dc1b4a439f0a39738d13c1407f18419f706d780d4eea0`. +The approved batch seal was +`494db8e101aeae7f8488082565dec3b4dd5c9c6ccb5f8812aaf233f813768f67`. +The no-drift gate was repeated after approval and passed against pinned source +HEAD `3a45d51bbad49512d2610950eccaa3c2782a8523`. + +## 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-markitect-batch-0003-workstation-preapply.dump` | 4,644,612 | `4c18f737c0d2711f0c08fb9d33eaba1b02ccbd4609e51d915ee91fc22a7a2032` | 423 | +| Production | `/tmp/state-hub-markitect-batch-0003-production-preapply.dump` | 4,801,559 | `7333bd89ac8f3dc75ae9228918da85a4472ca29e7013973d18c0a8efa02c9ae6` | 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 two +replacements, zero deferred assignments, direction `forward`, and the exact +source-plan seal above. + +Final direct database and API checks agree: + +| Check | Workstation | Production | +| --- | ---: | ---: | +| Previous workplan UUID rows | 0 | 0 | +| Derived workplan UUID rows | 1 | 1 | +| Previous task UUID rows | 0 | 0 | +| Derived task UUID rows | 1 | 1 | +| Tasks linked to derived workplan | 10 | 10 | +| Progress events linked to derived workplan | 9 | 9 | +| Progress events linked to derived task | 0 | 0 | +| Applied aliases for the batch mappings | 2 | 2 | +| Previous UUID API lookups | 404/404 | 404/404 | +| Derived UUID API lookups | 200/200 | 200/200 | + +## Authoritative file transaction + +`rmgr identifier migration-files` changed only +`workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md`, replacing the two +mapped frontmatter values. The reviewed diff passed `git diff --check` and was +pushed as `markitect-main` commit +`e26bd8b7eb8531be222edf42ba0604b1b05250e3`. + +Two consistency passes ran against each projection. They were identifier- and +status-idempotent and produced no source change. The checkout remains clean and +synchronized at the migration commit. + +## Existing conformance warnings + +The consistency passes retained pre-existing, non-identifier warnings: +`markitect-main` lacks the product-flavor `INTENT.md` and `README.md`; nine +database tasks have no file backing; and `MARKITECT-WP-0001`/`0002` logical ids +also occur in `markitect-project`. These findings did not change during the +cutover and were outside the UUID-only approval. + +## 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. diff --git a/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md b/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md index e247604..91f8527 100644 --- a/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md +++ b/workplans/RMGR-WP-0005-registrar-consolidation-deterministic-ids.md @@ -474,6 +474,19 @@ hash is `494db8e101aeae7f8488082565dec3b4dd5c9c6ccb5f8812aaf233f813768f67`. has run. Evidence: `docs/evidence/RMGR-WP-0005-batch-0003-markitect-readiness-2026-08-22.md`. +**Batch 0003 completed (2026-08-22):** `RMGR-DEC-2026-002` approved the exact +sealed `markitect-main` package. Fresh workstation and production restore +points were created and verified before both projection transactions replaced +the workplan and task UUIDs. The authoritative two-line file transaction was +pushed in `markitect-main` commit `e26bd8b7`. Both projections now return +old/new API lookups 404/200 for both records, retain 10 tasks and 9 progress +events under the derived workplan, retain zero references to the mapped task, +and carry two applied aliases. Two consistency passes against each projection +were identifier- and status-idempotent. Full restore hashes, commits, checks, +and pre-existing conformance warnings are in +`docs/evidence/RMGR-WP-0005-batch-0003-markitect-cutover-2026-08-22.md`. T04 +remains in progress for separately sealed and approved fleet batches. + ## Retire the interim rule ```task