--- id: CORE-WP-0010 type: workplan title: "Runtime absorption into hub-core and archive" domain: infotech repo: core-hub status: blocked owner: codex topic_slug: infotech created: "2026-08-09" updated: "2026-08-21" parent_project: prj-state-hub-retirement parent_workplan: SHR-WP-0001 related: - CORE-WP-0009 - CORE-WP-0011 - HUB-WP-0004 - SHR-ARCH-HUB-0001 state_hub_workstream_id: "f5a90aa2-e63f-4f94-b052-8be0d0ee55ea" --- # Runtime absorption into hub-core and archive ## Goal Move production framework responsibility from this repository into the consolidated **hub-core runtime**, preserve `/api/v2` consumer compatibility through dual-run, then **archive core-hub** read-only with evidence. Parent project: `prj-state-hub-retirement`. Depends on **HUB-WP-0004**. ## Sequencing decision — 2026-08-20 The CoulombCore decommission does not force the unresolved hub-core library-vs-thin-host decision. Production continuity is decoupled through `CORE-WP-0011`, which moves the existing Core Hub service to railiance01 first. The absorption work cannot proceed until `HUB-WP-0004` settles the durable runtime boundary; it must not sit on the critical path for leaving CoulombCore. ## Readiness and blocker review — 2026-08-21 At the start of the review, `CORE-WP-0011` was finished and the runtime surface inventory was complete, but `HUB-WP-0004` was still proposed. Its runtime packaging (`T03`), minimal ports (`T04`), and joint absorption plan (`T06`) were therefore recorded as the blockers. The advancement below supersedes that dependency snapshot. ## Dependency advancement — 2026-08-21 Hub-core has completed `HUB-WP-0004-T01`–`T05` in its file-backed workplan and State Hub: the primary-image decision, Tier 1 contracts, minimal port runtime, and initial conformance harness now exist. The paired design is recorded in `docs/specs/runtime-absorption-plan.md`, completing this workplan's T02 input and the Core Hub half of `HUB-WP-0004-T06`. Hub-core then completed T06 with 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. ## Inventory runtime surfaces to absorb ```task id: CORE-WP-0010-T01 status: done priority: high state_hub_task_id: "ce21c47f-ad66-4cd1-bd8b-c8fb92da3075" ``` List routes, models, widgets, manifests, consumer smokes, and deploy assets that must move or remain as historical fixtures. Cross-check Inter-Hub inventory and ops-hub bootstrap. Completed 2026-08-21. The inventory records public/operator routes, durable models, fixtures, consumer gates, extension-port coverage, deploy ownership, and move constraints. ## Dual-run design ```task id: CORE-WP-0010-T02 status: done priority: high state_hub_task_id: "d2679b41-01e9-477c-9d8a-0b1ddc8847cf" ``` Define how hub-core serves equivalent `/api/v2` (or compatible gateway) while core-hub remains rollback. Include feature flags, traffic shift, and smoke ownership. Completed 2026-08-21. `docs/specs/runtime-absorption-plan.md` defines the route-group order, one-writer rule, data/delta checks, compatibility adapters, consumer gates, traffic controls, rollback, evidence, and ownership. It is aligned with hub-core's accepted canonical plan; `HUB-WP-0004-T06` is done. ## Execute absorption slices ```task id: CORE-WP-0010-T03 status: wait priority: high 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. ## Cutover production traffic ```task id: CORE-WP-0010-T04 status: wait priority: high state_hub_task_id: "dc414053-a896-4bf0-af05-944b7a7cf750" ``` With operator approval, point production at hub-core runtime; verify consumer smokes and interaction evidence path. Waiting on completed absorption evidence and explicit operator approval. ## Archive repository ```task id: CORE-WP-0010-T05 status: wait priority: medium state_hub_task_id: "16525001-f85e-4dae-9dc4-d36cb1eb4fbe" ``` Write completion record (revisions, PRs, residual owners), set read-only archive on forge, and hand residual work as live records outside this repo. Waiting on production cutover and recorded residual ownership. ## Acceptance - [x] Absorption inventory complete - [x] Dual-run design approved/recorded - [ ] Consumer smokes pass on hub-core host - [ ] Production traffic cut over with evidence - [ ] core-hub archived read-only; residuals owned elsewhere