109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
|
|
---
|
|||
|
|
id: HUB-WP-0005
|
|||
|
|
type: workplan
|
|||
|
|
title: "Core Hub absorption execution"
|
|||
|
|
domain: infotech
|
|||
|
|
repo: hub-core
|
|||
|
|
status: active
|
|||
|
|
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
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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: wait
|
|||
|
|
priority: high
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
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.
|
|||
|
|
|
|||
|
|
## 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
|
|||
|
|
- [ ] ops-hub and activity-core gates pass on hub-core
|
|||
|
|
- [ ] Production runs the immutable hub-core image with one writer per group
|
|||
|
|
- [ ] Rollback is exercised and stabilization residual is recorded
|