hub-core/workplans/HUB-WP-0005-core-hub-absorption-execution.md

125 lines
3.9 KiB
Markdown
Raw Normal View History

---
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 S0S6 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