docs(identifiers): record markitect cutover

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
This commit is contained in:
tegwick 2026-08-22 16:48:41 +02:00
parent 09dcd010fa
commit 0362ed8d12
2 changed files with 100 additions and 0 deletions

View file

@ -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.