From 9285a880be91760b2b5a82fe04903150bf507bf5 Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 21 Aug 2026 11:01:37 +0200 Subject: [PATCH] docs: start hub-core absorption foundation --- INTENT.md | 5 +++-- README.md | 6 +++--- STATE.md | 12 +++++------ WORK-RECORDS.md | 4 ++-- docs/specs/runtime-absorption-plan.md | 13 ++++++------ ...-WP-0010-runtime-absorption-and-archive.md | 20 ++++++++++--------- 6 files changed, 32 insertions(+), 28 deletions(-) diff --git a/INTENT.md b/INTENT.md index dfa36e0..3db2a9f 100644 --- a/INTENT.md +++ b/INTENT.md @@ -66,7 +66,8 @@ decision resources, and a single extension runtime remain outside Core Hub or only partially represented. `CORE-WP-0010` tracks absorption into hub-core and repository archive. Hub-core's packaging, contract, port, and conformance foundations are complete, and the joint route-group migration design is -recorded. Execution now waits on a published immutable hub-core revision, a -durable PostgreSQL backend, and an internal candidate deployment. The healthy +recorded. Hub-core revision `7e1ec03` publishes that foundation, so S0 is +active: durable PostgreSQL storage, legacy auth/health compatibility, an +immutable image, and an internal candidate deployment come next. The healthy service remains the production and rollback authority until dual-run consumer gates prove a replacement. See `STATE.md` for current operational truth. diff --git a/README.md b/README.md index 4590059..311b1a3 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,6 @@ It carries forward the lessons from State Hub and Inter-Hub: workplans and progr The contract, FastAPI/Postgres foundation, Inter-Hub migration, Haskell/IHP retirement, and relocation from CoulombCore to railiance01 are complete. `CORE-WP-0011` is finished. The only open local workplan is runtime absorption -and eventual archive (`CORE-WP-0010`). Its dual-run design is recorded; Slice 0 -waits on a published hub-core runtime revision, durable PostgreSQL backend, and -internal candidate deployment before any public traffic changes. +and eventual archive (`CORE-WP-0010`). Its dual-run design is recorded and S0 +is active against published hub-core revision `7e1ec03`, building the durable +backend and internal candidate before any public traffic changes. diff --git a/STATE.md b/STATE.md index 2542e59..454f8aa 100644 --- a/STATE.md +++ b/STATE.md @@ -6,8 +6,8 @@ ## One-line posture **Core Hub is the verified production `/api/v2` runtime on railiance01; the -joint hub-core absorption plan is recorded, and Slice 0 waits on a published -hub-core runtime with durable PostgreSQL storage.** +joint hub-core absorption plan is recorded, and internal-only S0 is active to +build durable PostgreSQL storage and the candidate runtime.** ## Production truth @@ -32,7 +32,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` | blocked | Dual-run design done; Slice 0 publication/storage gates remain | +| `CORE-WP-0010` | active | Dual-run design done; internal-only S0 foundation started | ### Open work @@ -40,7 +40,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 | wait | Published hub-core revision/image, durable backend, candidate deployment | +| `CORE-WP-0010-T03` absorption slices | progress | S0 durable backend, compatibility shell, immutable image, candidate deployment | | `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,8 +68,8 @@ 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 T01–T06 are complete in its workplan and State Hub, but Slice 0 must - pin a committed source revision and immutable image before implementation. +- Hub-core T01–T06 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. diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 65a6e2e..dc20df8 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -15,7 +15,7 @@ | workplan | CORE-WP-0006 | finished | — | workplans/CORE-WP-0006-operator-console-and-whynot-ui.md | | workplan | CORE-WP-0008 | finished | — | workplans/CORE-WP-0008-api-first-ops-evidence-continuation.md | | workplan | CORE-WP-0009 | finished | — | workplans/CORE-WP-0009-hub-core-adoption-and-integration.md | -| workplan | CORE-WP-0010 | blocked | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | +| workplan | CORE-WP-0010 | active | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | | workplan | CORE-WP-0011 | finished | — | workplans/CORE-WP-0011-railiance01-production-relocation.md | | task | CORE-WP-0001-T01 | done | — | workplans/CORE-WP-0001-statehub-bootstrap.md | | task | CORE-WP-0001-T02 | done | — | workplans/CORE-WP-0001-statehub-bootstrap.md | @@ -51,7 +51,7 @@ | task | CORE-WP-0009-T06 | done | — | workplans/CORE-WP-0009-hub-core-adoption-and-integration.md | | task | CORE-WP-0010-T01 | done | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | | task | CORE-WP-0010-T02 | done | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | -| task | CORE-WP-0010-T03 | wait | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | +| task | CORE-WP-0010-T03 | progress | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | | task | CORE-WP-0010-T04 | wait | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | | task | CORE-WP-0010-T05 | wait | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md | | task | CORE-WP-0011-T01 | done | — | workplans/CORE-WP-0011-railiance01-production-relocation.md | diff --git a/docs/specs/runtime-absorption-plan.md b/docs/specs/runtime-absorption-plan.md index bc8d031..b105769 100644 --- a/docs/specs/runtime-absorption-plan.md +++ b/docs/specs/runtime-absorption-plan.md @@ -47,9 +47,10 @@ Core Hub models and migrations are not imported. Deployment remains owned by `rapp-core-hub` during dual-run, with final package naming/ownership recorded before this repository is archived. -## Entry gates +## Public route movement gates -Absorption implementation does not begin until all of these are evidenced: +S0 may build the missing foundation, but no public route group leaves Core Hub +until all of these are evidenced: - the completed `HUB-WP-0004-T01`–`T05` work is committed and pushed; - a hub-core wheel and OCI image identify the same revision and version; @@ -178,7 +179,7 @@ keeps public authority on Core Hub. ## Next executable work -After hub-core publishes its completed T01–T06 revision, start S0. The -first implementation commit should add the durable PostgreSQL boundary and -legacy auth/health compatibility in hub-core, plus a candidate deployment mode -in `rapp-core-hub`. It must not change public DNS or ingress. +Hub-core published its completed T01–T06 work as revision `7e1ec03`; S0 is now +active. Its first implementation commit adds the durable PostgreSQL boundary +and legacy auth/health compatibility in hub-core, followed by a candidate +deployment mode in `rapp-core-hub`. It must not change public DNS or ingress. diff --git a/workplans/CORE-WP-0010-runtime-absorption-and-archive.md b/workplans/CORE-WP-0010-runtime-absorption-and-archive.md index f6e4859..d502789 100644 --- a/workplans/CORE-WP-0010-runtime-absorption-and-archive.md +++ b/workplans/CORE-WP-0010-runtime-absorption-and-archive.md @@ -4,7 +4,7 @@ type: workplan title: "Runtime absorption into hub-core and archive" domain: infotech repo: core-hub -status: blocked +status: active owner: codex topic_slug: infotech created: "2026-08-09" @@ -57,10 +57,11 @@ the canonical joint record in `hub-core/docs/core-hub-absorption-plan.md`, decision `12514947-6cc0-42a0-98ca-9aacc9d875b0`, and coordination message `819d5af0-959f-4b0d-9f52-87514d99b480`. -Execution remains blocked on publishing the completed hub-core work at an -immutable source/image revision and replacing its deliberately ephemeral -in-memory backend with a production PostgreSQL boundary. Those are explicit -Slice 0 entry gates, not reasons to reopen the architecture decision. +Hub-core revision `7e1ec03` is committed and pushed with T01–T06 complete. S0 +can therefore begin. It must replace the deliberately ephemeral in-memory +backend with a production PostgreSQL boundary and produce an immutable image +before any public route is eligible to move; those are implementation gates, +not reasons to reopen the architecture decision. ## Inventory runtime surfaces to absorb @@ -101,7 +102,7 @@ aligned with hub-core's accepted canonical plan; `HUB-WP-0004-T06` is done. ```task id: CORE-WP-0010-T03 -status: wait +status: progress priority: high state_hub_task_id: "c01ddec1-5737-4115-ac73-c402ffb5bdc5" ``` @@ -109,9 +110,10 @@ state_hub_task_id: "c01ddec1-5737-4115-ac73-c402ffb5bdc5" Migrate in slices with consumer smokes (ops-hub, activity-core) after each. Record row counts and fixture replays per slice. -Waiting on a committed/published hub-core runtime revision, immutable image, -durable PostgreSQL backend, and candidate deployment. Start with Slice 0; do -not change public traffic. +Started 2026-08-21 after hub-core revision `7e1ec03` closed the joint planning +and publication gate. S0 now owns the durable PostgreSQL backend, legacy +auth/health compatibility, immutable image, and internal candidate deployment. +Do not change public traffic. ## Cutover production traffic