prepare fleet identifier completion batch

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
This commit is contained in:
tegwick 2026-08-31 17:02:19 +02:00
parent c52d222cc6
commit 8f3b8ac2f6
8 changed files with 4691 additions and 8 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,63 @@
# RMGR-WP-0005 batch 0007 fleet-completion readiness
Date: 2026-08-31
Decision: `RMGR-DEC-2026-006` (pending)
Source plan SHA-256: `ab8ae2e55470553f105c6209d6aa4c7b828085bd6c71cec7b16173b8a19bef7b`
Batch SHA-256: `c0cc496a06d9535a40840a0c7488cf365d8e47c5c58cc29aca72fb6d98273700`
## Outcome
Batch 0007 is ready for an explicit approve, revise, or reject decision. No
identifier mutation has run. The sealed batch contains ten clean,
Forgejo-synchronized repositories, 85 replacements, zero assignments, and 19
already-canonical records.
| Repository | Replace | Unchanged | Primary projection state |
| --- | ---: | ---: | --- |
| `fin-hub` | 13 | 0 | 13 legacy sources |
| `net-kingdom` | 16 | 19 | 16 legacy sources |
| `prj-canon-federation` | 13 | 0 | 13 legacy sources |
| `prj-forgejo-org-refactor` | 6 | 0 | 6 legacy sources |
| `prj-state-hub-retirement` | 8 | 0 | 8 legacy sources |
| `prj-unattended-progress-company` | 13 | 0 | 13 legacy sources |
| `railiance-master` | 3 | 0 | 3 legacy sources |
| `railiance-telemetry` | 4 | 0 | 4 legacy sources |
| `rapp-qonto` | 4 | 0 | 1 legacy source, 3 safe duplicate targets |
| `soul-frame` | 5 | 0 | 5 legacy sources |
## Preconditions closed
- A refreshed, non-mutating fleet scan covers 42 eligible repositories and 306
live records: 85 replacements, 6 assignments, and 215 unchanged records.
- `audit-core` received all six missing deterministic identifiers through its
ordinary reconciliation path and was pushed in commit `95dcb78`.
- The three `rapp-qonto` duplicate task targets have byte-equivalent business
payloads and no inbound task references. State Hub now coalesces only that
exact safe shape, retains durable aliases, and refuses divergent or referenced
duplicates.
- State Hub focused migration tests pass (19), its full suite passes (828), and
the dashboard production build succeeds. Repo Manager's full suite passes
(150) and Ruff is clean.
- State Hub commit `a7c91a6` is deployed on railiance01 and pinned by commit
`667ed28`; the live health endpoint reports the expected current schema.
- Fresh batch preflight reports `ok: true`, `ready_for_approval: true`, and no
source, Git, projection, collision, or status errors.
## Execution and rollback
Approval authorizes repository-atomic sequential execution, stopping on the
first failure. Before each repository, the executor repeats plan-seal, source,
Git, and primary-projection checks. It then updates the primary transaction,
rewrites the complete repository mapping atomically, commits and pushes the
authoritative file change, and verifies identifiers, relationships, aliases,
and consistency before continuing.
If a repository fails after its projection phase, reverse its file transaction
if written and then reverse its projection transaction through the durable
aliases. Repositories already completed remain valid independent cutovers;
reversing those would require a separate decision.
Canonical machine evidence:
- `docs/evidence/RMGR-WP-0005-fleet-plan-2026-08-31-v2.json`
- `docs/evidence/RMGR-WP-0005-batch-0007-fleet-completion-preflight-2026-08-31.json`

File diff suppressed because it is too large Load diff

View file

@ -80,10 +80,13 @@ origin. The batch records these facts and its own SHA-256 seal, but always emits
`apply_authorized: false`. An explicit decision must cite that batch hash before
any database or file mutation. Repeat `--projection-api-base` for every hub in
the cutover. Each replacement is classified as `legacy_source`,
`derived_target`, `both_present`, or `neither_present`. The first two may coexist
inside one repository-atomic migration: State Hub migrates legacy rows, verifies
already-derived rows against their canonical record identity, and records the
same durable aliases for both. The latter two states are refused. Saved
`derived_target`, `duplicate_target`, `both_present`, or `neither_present`. The
first three may coexist inside one repository-atomic migration: State Hub
migrates legacy rows, verifies already-derived rows against their canonical
record identity, and may coalesce a `duplicate_target` task only when both
business payloads are equal and the legacy row has zero inbound references.
Other both-present and all neither-present states are refused. Durable aliases
are recorded for every converged replacement. Saved
projection endpoints are rechecked by `migration-batch-verify`; omitting the
option retains the offline source/Git-only planning mode. A projection-aware
batch containing UUID assignments fails closed until an assignment-specific