--- id: HUB-WP-0005 type: workplan title: "Core Hub absorption execution" domain: infotech repo: hub-core status: finished owner: codex topic_slug: custodian created: "2026-08-21" updated: "2026-08-21" parent_project: prj-state-hub-retirement parent_workplan: CORE-WP-0010 related: - HUB-WP-0004 - CORE-WP-0010 - RAPPCOREHUB-WP-0002 state_hub_workstream_id: "73099dd7-5eac-499e-8632-cef0c0331d90" --- # Core Hub absorption execution ## Goal Implement the accepted S0–S6 plan in `docs/core-hub-absorption-plan.md`, move Core Hub compatibility and durable framework authority into hub-core without concurrent production writers, and retain a tested rollback until the final stabilization gate closes. ## S0 durable runtime and audit boundary ```task id: HUB-WP-0005-T01 status: done priority: high state_hub_task_id: "8a88e580-d94b-40d2-bac7-f434f20cc332" ``` Add hub-core-owned PostgreSQL models/migrations, a durable `PortStore`, audit ledger, dependency-aware readiness, and production-safe lifecycle. The memory backend remains local/conformance only. ## S0 compatibility shell and migration tooling ```task id: HUB-WP-0005-T02 status: done priority: high state_hub_task_id: "fbbc739c-cc7c-449a-985f-c7aeb769c885" ``` Add legacy bearer authentication, non-overlapping route/write group controls, versioned import/export/delta bundles, idempotent imports, canonical count/hash comparison, and safe evidence. Never serialize a raw key or secret. ## S1 system and discovery compatibility ```task id: HUB-WP-0005-T03 status: done priority: high state_hub_task_id: "3b205d8a-add9-480c-90ca-e7152a6a32ed" ``` Implement the health/readiness, catalog, OpenAPI/docs, and compatibility alias surface with normalized response comparison against Core Hub. ## S2 and S3 registry and credential compatibility ```task id: HUB-WP-0005-T04 status: done priority: high state_hub_task_id: "6d391a34-dab8-4aa6-ba83-72d6ad694183" ``` Absorb hubs, manifests/activation, hub registry, API consumers, key issuance, and token compatibility with stable identities, audit, fail-closed auth, and reverse-delta support. ## S4 and S5 interaction and operator compatibility ```task id: HUB-WP-0005-T05 status: done priority: high state_hub_task_id: "042662c7-7472-46d4-962d-6af75757a113" ``` Absorb widgets and interaction events through the named interaction port, preserve explicitly empty deferred collections, and rebuild the operator surface without reads from the legacy schema. ## S6 production cutover and retirement handoff ```task id: HUB-WP-0005-T06 status: done priority: high state_hub_task_id: "ba7956a5-af12-4de3-9d8a-f816bdefec2c" ``` Publish immutable artifacts, pass all conformance and consumer gates, support the operator-approved production writer cutover, exercise rollback, and hand the seven-day stabilization/archive residual to CORE-WP-0010. Wait until RAPPCOREHUB-WP-0002 provides the private candidate and route controls. Completed 2026-08-21. Production runs immutable image `sha256:adf580d09a4a9139b1663c41d59d46903a007e03a3ae567e09b8a6ec23708ab8`. All five route groups and all four writer groups are hub-core-owned; Core Hub is live with no writer groups as rollback. The seven-table import and reverse export have exact counts, identity sets, and content hashes. Conformance is 8/8, ops-hub and activity-core gates pass, and Helm rollback to the pre-cutover revision plus forward recovery was exercised. The seven-day window ends no earlier than 2026-08-28T20:49:50+02:00 under CORE-WP-0010. ## Acceptance - [x] Production readiness requires durable PostgreSQL and auth dependencies - [x] Import is idempotent; counts, identities, hashes, and provenance compare - [x] All 22 checked-in Core Hub OpenAPI paths have governed dispositions - [x] ops-hub and activity-core gates pass on hub-core - [x] Production runs the immutable hub-core image with one writer per group - [x] Rollback is exercised and stabilization residual is recorded