--- 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: "3321dfd5-2a15-5b1c-8d2e-85c2ba307d34" --- # 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: "1f913e3a-b847-5f21-ab4b-456275a0d47d" ``` 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: "e28e687d-a323-5aad-ae48-58b9cdcaf316" ``` 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: "215d426e-7dd6-5523-bf07-d37087d699ca" ``` 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: "125181ee-f9af-5aca-81fa-3b28f8475131" ``` 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: "1979dabe-4527-5818-801d-c24454769de7" ``` 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: "0b6b5710-8344-5c7f-81e7-0f5fd06878a1" ``` 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