2026-08-21 16:16:42 +02:00
|
|
|
|
---
|
|
|
|
|
|
id: HUB-WP-0005
|
|
|
|
|
|
type: workplan
|
|
|
|
|
|
title: "Core Hub absorption execution"
|
|
|
|
|
|
domain: infotech
|
|
|
|
|
|
repo: hub-core
|
2026-08-21 21:07:09 +02:00
|
|
|
|
status: finished
|
2026-08-21 16:16:42 +02:00
|
|
|
|
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
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_workstream_id: "73099dd7-5eac-499e-8632-cef0c0331d90"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# 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
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_task_id: "8a88e580-d94b-40d2-bac7-f434f20cc332"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_task_id: "fbbc739c-cc7c-449a-985f-c7aeb769c885"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_task_id: "3b205d8a-add9-480c-90ca-e7152a6a32ed"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_task_id: "6d391a34-dab8-4aa6-ba83-72d6ad694183"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_task_id: "042662c7-7472-46d4-962d-6af75757a113"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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
|
2026-08-21 21:07:09 +02:00
|
|
|
|
status: done
|
2026-08-21 16:16:42 +02:00
|
|
|
|
priority: high
|
2026-08-22 00:15:09 +02:00
|
|
|
|
state_hub_task_id: "ba7956a5-af12-4de3-9d8a-f816bdefec2c"
|
2026-08-21 16:16:42 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
2026-08-21 21:07:09 +02:00
|
|
|
|
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.
|
|
|
|
|
|
|
2026-08-21 16:16:42 +02:00
|
|
|
|
## 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
|
2026-08-21 21:07:09 +02:00
|
|
|
|
- [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
|