docs(identifiers): record railiance-cluster 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 23:04:30 +02:00
parent c3e22baf5a
commit 63c00f9c9d
2 changed files with 126 additions and 0 deletions

View file

@ -0,0 +1,108 @@
# RMGR-WP-0005 batch 0004 Railiance Cluster cutover
**Completed at:** `2026-08-22T21:03:00Z`
**Scope:** `railiance-cluster` only
**Decision:** `RMGR-DEC-2026-003` (`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 | `RCLUSTER-WP-0007` | `9e208376-23f1-40c7-9813-fac1f7d6ad3b` | `16da36fe-5a10-522b-b6d6-02dbb6de6c14` |
| Task | `RCLUSTER-WP-0007-T01` | `1f8a8668-31eb-4d79-bbcd-50f6430a8d66` | `9d1f463f-e4d1-5e75-97fd-e57b833bc2b9` |
| Task | `RCLUSTER-WP-0007-T02` | `b1d4e0fa-da41-4b13-a7d6-34dd040cb605` | `a1f4fa2b-69a7-5de4-8c44-15e8f9baf0b2` |
| Task | `RCLUSTER-WP-0007-T05` | `68315a40-dd5b-4032-a9e7-1152e38f9807` | `02cc3adb-9d42-5540-9f32-4e5f1198b79e` |
| Task | `RCLUSTER-WP-0007-T06` | `f658aa6a-1c48-4660-88fa-35eaa0137e12` | `4f033381-24aa-5773-bca6-337ccacc0e7a` |
| Task | `RCLUSTER-WP-0007-T07` | `70f6c8ab-a700-4fb2-893e-cf5a40615044` | `b45b3086-3beb-56d4-a028-6bf651834992` |
The source-plan seal was
`b155d8f193ae3496765b1964e51f9918a3a55b1993793cc7fd3ceb3b18d12ad0`.
The approved batch seal was
`554c6cbe119e13738efc6e2836254ddae00ea870f1cb99f2b5603336160e308d`.
The post-approval no-drift gate passed against pinned source HEAD
`41fdfd9d086f52eda399ddb4c740297dc0094129` before mutation.
## Restore points
Fresh PostgreSQL custom-format archives were retained before mutation and
successfully enumerated through `pg_restore --list`.
| Projection | Archive | Bytes | SHA-256 | Archive entries |
| --- | --- | ---: | --- | ---: |
| Workstation | `/tmp/state-hub-railiance-cluster-batch-0004-workstation-preapply.dump` | 4,715,411 | `b8fb7ab7f064090959620f42f086982767ec2544ec10606018391e343c5574f0` | 433 |
| Production | `/tmp/state-hub-railiance-cluster-batch-0004-production-preapply.dump` | 4,807,736 | `763fba39f637530290831261128d97bbdc70e35ad3ad7520e14e1f2e4d9ffb0e` | 410 |
The durable alias reverse executor remains available in each projection; the
restore archives are the database-level fallback.
## Projection transactions
The State Hub repository transaction ran first on the workstation projection
and then inside the production State Hub runtime. Both executions reported six
replacements, zero deferred assignments, direction `forward`, and the exact
source-plan seal above.
Final database and API checks agree:
| Check | Workstation | Production |
| --- | ---: | ---: |
| Previous workplan UUID rows | 0 | 0 |
| Derived workplan UUID rows | 1 | 1 |
| Previous mapped task UUID rows | 0 | 0 |
| Derived mapped task UUID rows | 5 | 5 |
| Tasks linked to derived workplan | 7 | 7 |
| Cancelled tasks retained under derived workplan | 2 | 2 |
| Progress events linked to derived workplan | 14 | 12 |
| Progress events linked to mapped tasks | 5 | 5 |
| Decisions linked to derived workplan | 1 | 1 |
| Applied aliases for the batch mappings | 6 | 6 |
| Previous UUID API lookups | six × 404 | six × 404 |
| Derived UUID API lookups | six × 200 | six × 200 |
| Retained cancelled-task API lookups | two × 200 | two × 200 |
The different 14/12 progress histories were present before the cutover and
were preserved independently rather than normalized away.
## Authoritative file transaction
`rmgr identifier migration-files` changed only
`workplans/RCLUSTER-WP-0007-threephoenix-ha-cluster.md`, replacing the six
approved identifier values. The two cancelled task UUIDs were untouched. The
reviewed diff passed `git diff --check` and was pushed as `railiance-cluster`
commit `2bcc3f06e25312b1d29436e62ac8364b7d30db54`.
Consistency refreshed only the generated `.custodian-brief.md` cache after the
migration. The final synchronized source HEAD is
`434bbd9` and the authoritative workplan has no post-migration change.
## Consistency verification
Two workstation passes were identifier- and status-idempotent for the batch.
They retained 58 pre-existing conformance warnings about legacy prefixes,
record species, and cross-repository collisions; none concerns a migrated UUID.
Production required one transport correction: the initial short-lived HTTP
relay returned FastAPI's canonical-path `307` responses instead of following
them for PATCH. No UUID or file transaction was affected. After the relay was
corrected, the first pass applied file-authoritative cache repairs for the
workplan status, the two cancelled-task statuses, and task descriptions. The
second full pass reported no issue for `RCLUSTER-WP-0007` or any of its seven
tasks and applied no batch repair.
The production checker still reports six pre-existing C-03 assessment failures
for other file-backed records absent from that projection, plus legacy
conformance warnings. Those residuals predate and are outside this approved
repository-atomic batch; no automation error occurred.
## Rollback posture
Rollback was not invoked. If later required, reverse the generated cache/file
transaction first, then reverse production and workstation projection
transactions through the six durable aliases. Restore from the archives only
after an isolated restore rehearsal.

View file

@ -504,6 +504,24 @@ uses `ON UPDATE CASCADE`. The fail-closed batch hash is
identifier mutation has run. Evidence:
`docs/evidence/RMGR-WP-0005-batch-0004-railiance-cluster-readiness-2026-08-22.md`.
**Batch 0004 completed (2026-08-22):** `RMGR-DEC-2026-003` approved the exact
sealed `railiance-cluster` package. Fresh workstation and production restore
points were created and verified before both projection transactions replaced
the workplan and five live task UUIDs. The authoritative six-line file
transaction was pushed in commit `2bcc3f0`; the two cancelled task UUIDs stayed
unchanged beneath the derived parent.
Both projections now return old/new API lookups 404/200 for all six mapped
records, retain seven child tasks, two cancelled tasks, one decision, five
mapped-task progress references, and their original 14/12 workplan progress
histories, and carry six applied aliases. Repeated consistency found no
remaining issue in the migrated slice. Production retains six pre-existing
C-03 failures for unrelated repository records that are absent from that
projection. Full restore hashes, commits, checks, and the bounded transport
note are in
`docs/evidence/RMGR-WP-0005-batch-0004-railiance-cluster-cutover-2026-08-22.md`.
T04 remains in progress for separately sealed and approved fleet batches.
## Retire the interim rule
```task