core-hub/workplans/CORE-WP-0010-runtime-absorption-and-archive.md
tegwick 881c87905f
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 1s
Build and Publish Container Image / build-and-push (push) Successful in 1m3s
feat: prepare Core Hub production relocation
2026-08-20 22:46:41 +02:00

109 lines
2.9 KiB
Markdown

---
id: CORE-WP-0010
type: workplan
title: "Runtime absorption into hub-core and archive"
domain: infotech
repo: core-hub
status: proposed
owner: codex
topic_slug: infotech
created: "2026-08-09"
updated: "2026-08-09"
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. This workplan remains proposed until `HUB-WP-0004` settles the durable
runtime boundary; absorption must not sit on the critical path for leaving
CoulombCore.
## Inventory runtime surfaces to absorb
```task
id: CORE-WP-0010-T01
status: todo
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.
## Dual-run design
```task
id: CORE-WP-0010-T02
status: todo
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.
## Execute absorption slices
```task
id: CORE-WP-0010-T03
status: todo
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.
## Cutover production traffic
```task
id: CORE-WP-0010-T04
status: todo
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.
## Archive repository
```task
id: CORE-WP-0010-T05
status: todo
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.
## Acceptance
- [ ] Absorption inventory complete
- [ ] 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