2026-08-09 21:22:51 +02:00
|
|
|
|
---
|
|
|
|
|
|
id: CORE-WP-0010
|
|
|
|
|
|
type: workplan
|
|
|
|
|
|
title: "Runtime absorption into hub-core and archive"
|
|
|
|
|
|
domain: infotech
|
|
|
|
|
|
repo: core-hub
|
2026-08-21 08:49:15 +02:00
|
|
|
|
status: blocked
|
2026-08-09 21:22:51 +02:00
|
|
|
|
owner: codex
|
|
|
|
|
|
topic_slug: infotech
|
|
|
|
|
|
created: "2026-08-09"
|
2026-08-21 08:49:15 +02:00
|
|
|
|
updated: "2026-08-21"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
parent_project: prj-state-hub-retirement
|
|
|
|
|
|
parent_workplan: SHR-WP-0001
|
|
|
|
|
|
related:
|
|
|
|
|
|
- CORE-WP-0009
|
2026-08-20 22:46:41 +02:00
|
|
|
|
- CORE-WP-0011
|
2026-08-09 21:22:51 +02:00
|
|
|
|
- HUB-WP-0004
|
|
|
|
|
|
- SHR-ARCH-HUB-0001
|
2026-08-19 21:23:27 +02:00
|
|
|
|
state_hub_workstream_id: "f5a90aa2-e63f-4f94-b052-8be0d0ee55ea"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# 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**.
|
|
|
|
|
|
|
2026-08-20 22:46:41 +02:00
|
|
|
|
## 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
|
2026-08-21 08:49:15 +02:00
|
|
|
|
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
|
2026-08-20 22:46:41 +02:00
|
|
|
|
CoulombCore.
|
|
|
|
|
|
|
2026-08-21 08:49:15 +02:00
|
|
|
|
## Readiness and blocker review — 2026-08-21
|
|
|
|
|
|
|
2026-08-21 10:57:13 +02:00
|
|
|
|
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
|
2026-08-21 10:59:39 +02:00
|
|
|
|
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`.
|
2026-08-21 10:57:13 +02:00
|
|
|
|
|
|
|
|
|
|
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.
|
2026-08-21 08:49:15 +02:00
|
|
|
|
|
2026-08-09 21:22:51 +02:00
|
|
|
|
## Inventory runtime surfaces to absorb
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: CORE-WP-0010-T01
|
2026-08-21 08:49:15 +02:00
|
|
|
|
status: done
|
2026-08-09 21:22:51 +02:00
|
|
|
|
priority: high
|
2026-08-19 21:23:27 +02:00
|
|
|
|
state_hub_task_id: "ce21c47f-ad66-4cd1-bd8b-c8fb92da3075"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
2026-08-21 08:49:15 +02:00
|
|
|
|
Completed 2026-08-21. The inventory records public/operator routes, durable
|
|
|
|
|
|
models, fixtures, consumer gates, extension-port coverage, deploy ownership,
|
|
|
|
|
|
and move constraints.
|
|
|
|
|
|
|
2026-08-09 21:22:51 +02:00
|
|
|
|
## Dual-run design
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: CORE-WP-0010-T02
|
2026-08-21 10:57:13 +02:00
|
|
|
|
status: done
|
2026-08-09 21:22:51 +02:00
|
|
|
|
priority: high
|
2026-08-19 21:23:27 +02:00
|
|
|
|
state_hub_task_id: "d2679b41-01e9-477c-9d8a-0b1ddc8847cf"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Define how hub-core serves equivalent `/api/v2` (or compatible gateway) while
|
|
|
|
|
|
core-hub remains rollback. Include feature flags, traffic shift, and smoke
|
|
|
|
|
|
ownership.
|
|
|
|
|
|
|
2026-08-21 10:57:13 +02:00
|
|
|
|
Completed 2026-08-21. `docs/specs/runtime-absorption-plan.md` defines the
|
|
|
|
|
|
route-group order, one-writer rule, data/delta checks, compatibility adapters,
|
2026-08-21 10:59:39 +02:00
|
|
|
|
consumer gates, traffic controls, rollback, evidence, and ownership. It is
|
|
|
|
|
|
aligned with hub-core's accepted canonical plan; `HUB-WP-0004-T06` is done.
|
2026-08-21 08:49:15 +02:00
|
|
|
|
|
2026-08-09 21:22:51 +02:00
|
|
|
|
## Execute absorption slices
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: CORE-WP-0010-T03
|
2026-08-21 08:49:15 +02:00
|
|
|
|
status: wait
|
2026-08-09 21:22:51 +02:00
|
|
|
|
priority: high
|
2026-08-19 21:23:27 +02:00
|
|
|
|
state_hub_task_id: "c01ddec1-5737-4115-ac73-c402ffb5bdc5"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Migrate in slices with consumer smokes (ops-hub, activity-core) after each.
|
|
|
|
|
|
Record row counts and fixture replays per slice.
|
|
|
|
|
|
|
2026-08-21 10:57:13 +02:00
|
|
|
|
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.
|
2026-08-21 08:49:15 +02:00
|
|
|
|
|
2026-08-09 21:22:51 +02:00
|
|
|
|
## Cutover production traffic
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: CORE-WP-0010-T04
|
2026-08-21 08:49:15 +02:00
|
|
|
|
status: wait
|
2026-08-09 21:22:51 +02:00
|
|
|
|
priority: high
|
2026-08-19 21:23:27 +02:00
|
|
|
|
state_hub_task_id: "dc414053-a896-4bf0-af05-944b7a7cf750"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
With operator approval, point production at hub-core runtime; verify consumer
|
|
|
|
|
|
smokes and interaction evidence path.
|
|
|
|
|
|
|
2026-08-21 08:49:15 +02:00
|
|
|
|
Waiting on completed absorption evidence and explicit operator approval.
|
|
|
|
|
|
|
2026-08-09 21:22:51 +02:00
|
|
|
|
## Archive repository
|
|
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
|
id: CORE-WP-0010-T05
|
2026-08-21 08:49:15 +02:00
|
|
|
|
status: wait
|
2026-08-09 21:22:51 +02:00
|
|
|
|
priority: medium
|
2026-08-19 21:23:27 +02:00
|
|
|
|
state_hub_task_id: "16525001-f85e-4dae-9dc4-d36cb1eb4fbe"
|
2026-08-09 21:22:51 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Write completion record (revisions, PRs, residual owners), set read-only archive
|
|
|
|
|
|
on forge, and hand residual work as live records outside this repo.
|
|
|
|
|
|
|
2026-08-21 08:49:15 +02:00
|
|
|
|
Waiting on production cutover and recorded residual ownership.
|
|
|
|
|
|
|
2026-08-09 21:22:51 +02:00
|
|
|
|
## Acceptance
|
|
|
|
|
|
|
2026-08-21 08:49:15 +02:00
|
|
|
|
- [x] Absorption inventory complete
|
2026-08-21 10:57:13 +02:00
|
|
|
|
- [x] Dual-run design approved/recorded
|
2026-08-09 21:22:51 +02:00
|
|
|
|
- [ ] Consumer smokes pass on hub-core host
|
|
|
|
|
|
- [ ] Production traffic cut over with evidence
|
|
|
|
|
|
- [ ] core-hub archived read-only; residuals owned elsewhere
|