# RMGR-WP-0005 batch 0004 readiness **Observed at:** `2026-08-22T20:23:10Z` **Scope:** `railiance-cluster` only **Decision:** `RMGR-DEC-2026-003` ## Outcome The next deterministic-identifier batch is sealed and ready for an explicit approval decision. No database or repository identifier was changed. Source plan: `RMGR-WP-0005-helixforge-uuid-migration-plan-2026-08-22-v3.json`, SHA-256 seal `b155d8f193ae3496765b1964e51f9918a3a55b1993793cc7fd3ceb3b18d12ad0`. Batch manifest: `RMGR-WP-0005-batch-0004-railiance-cluster.json`, SHA-256 seal `554c6cbe119e13738efc6e2836254ddae00ea870f1cb99f2b5603336160e308d`. ## Mappings | Kind | Record | Current 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 batch contains six replacements, no assignments, and no unchanged records. `railiance-cluster` is clean, exactly synchronized with `origin/main`, and uses the Forgejo lineage. The source plan pins HEAD `41fdfd9d086f52eda399ddb4c740297dc0094129` and source fingerprint `485b518216f6a731837e8ba62b9d11b154b362da3e635501c7a76e773235f468`. Tasks `RCLUSTER-WP-0007-T03` and `RCLUSTER-WP-0007-T04` are cancelled and are outside the live-record migration plan. Their task UUIDs remain unchanged; the workplan foreign-key update carries both rows to the derived parent UUID. ## Projection preflight Read-only checks against the workstation and production projections found the same source and target rows: | Check | Workstation | Production | | --- | ---: | ---: | | Current workplan UUID rows | 1 | 1 | | Derived workplan UUID rows | 0 | 0 | | Current mapped task UUID rows | 5 | 5 | | Derived mapped task UUID rows | 0 | 0 | | All tasks linked to current workplan | 7 | 7 | | Progress events linked to current workplan | 14 | 12 | | Decisions linked to current workplan | 1 | 1 | | Progress events linked to mapped tasks | 5 | 5 | Dynamic inspection of every current foreign key into `workplans` and `tasks` found no other non-zero references to the mapped rows. The workstation schema has 22 such foreign keys and production has 20; every one uses `ON UPDATE CASCADE`. The two-event workplan-history difference is existing projection history and must be preserved independently in each database. ## Approved execution interface If `RMGR-DEC-2026-003` is approved against the exact batch hash: 1. Re-run batch/source/Git and projection preflight; stop on any drift. 2. Retain fresh, verified workstation and production database restore points. 3. Apply the repository transaction to workstation and production projections. 4. Apply the sealed authoritative file transaction for `railiance-cluster`. 5. Commit and push only the mapped workplan file. 6. Run consistency twice against each projection and require old/new API lookups of 404/200 for all six mapped records. 7. Require all seven tasks, each projection's original workplan progress count, its one decision, and the five mapped-task progress references to remain linked after the cutover. 8. Require the two cancelled task UUIDs to remain unchanged beneath the derived parent workplan UUID. 9. On failure after database apply, reverse written files if necessary, then reverse production and workstation projection transactions through their durable aliases. The decision does not authorize another repository, the two cancelled task identifiers, an assignment-only batch, or restoration of the disabled production sweep.