feat: add migration export and write fencing
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 2s
Build and Publish Container Image / build-and-push (push) Successful in 19s

This commit is contained in:
tegwick 2026-08-21 17:07:53 +02:00
parent 9285a880be
commit f6758b91ce
10 changed files with 317 additions and 25 deletions

View file

@ -5,9 +5,10 @@
## One-line posture
**Core Hub is the verified production `/api/v2` runtime on railiance01; the
joint hub-core absorption plan is recorded, and internal-only S0 is active to
build durable PostgreSQL storage and the candidate runtime.**
**Core Hub remains the verified production `/api/v2` authority on railiance01.
Hub-core S0S5 implementation is published at `8ab1d0c` with immutable image
digest `sha256:2a8b396c5295476d5ce865927b8309a6e054e50eac4e92175ef32cdeaba962fb`;
the next gate is the private production candidate and data import.**
## Production truth
@ -32,7 +33,7 @@ Deployment packaging and rollout truth lives in the `rapp-core-hub` repository.
| --- | --- | --- |
| `CORE-WP-0001``CORE-WP-0009` | finished / archived | Gen3 runtime, contracts, persistence, consumer gates, and hardening delivered |
| `CORE-WP-0011` | finished | Production relocated to railiance01 and active CoulombCore runtime retired |
| `CORE-WP-0010` | active | Dual-run design done; internal-only S0 foundation started |
| `CORE-WP-0010` | active | S0S5 code done; private candidate/data gates next |
### Open work
@ -40,7 +41,7 @@ Deployment packaging and rollout truth lives in the `rapp-core-hub` repository.
| --- | --- | --- |
| `CORE-WP-0010-T01` inventory | done | Inventory recorded in `docs/specs/runtime-absorption-inventory.md` |
| `CORE-WP-0010-T02` dual-run design | done | Route-group plan recorded in `docs/specs/runtime-absorption-plan.md` |
| `CORE-WP-0010-T03` absorption slices | progress | S0 durable backend, compatibility shell, immutable image, candidate deployment |
| `CORE-WP-0010-T03` absorption slices | progress | Deploy private candidate, import/compare data, run consumers |
| `CORE-WP-0010-T04` production cutover | wait | Absorption evidence and operator approval |
| `CORE-WP-0010-T05` archive | wait | Cutover complete and residual ownership recorded |
@ -68,11 +69,12 @@ curl -fsS https://hub.coulomb.social/readyz
- `CORE-WP-0011` is finished but has no State Hub UUID; the registrar warning is
retained rather than inventing an identifier.
- `.custodian-brief.md` is generated and may lag file-backed workplan truth.
- Hub-core T01T06 are published at `7e1ec03`; S0 must produce and pin the
immutable candidate image before any public route movement.
- `make lint` currently reports seven baseline style findings in unchanged
Python files (two import-order findings and five long lines); `make test`
passes all 24 tests.
- Hub-core runtime/compatibility/migration implementation is published at
`8ab1d0c`; its candidate image digest is recorded above. Public authority
stays here until the private data, conformance, consumer, and rollback gates
pass.
- `make lint` has baseline style findings in unchanged Python files; the full
suite passes all 26 tests after adding migration export and write fencing.
- The stopped CoulombCore workloads and read-only source database are retained
only as controlled fallback evidence.
- Do not archive this repository before `CORE-WP-0010` completes.