Harden SBOM retries and align hub evidence
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Container Image / build-and-push (push) Successful in 21s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a028de-e2c8-7732-8521-46a7fc5db82f
This commit is contained in:
tegwick 2026-08-22 22:51:13 +02:00
parent 0f573c4378
commit 3b3e1a1ff0
17 changed files with 941 additions and 140 deletions

View file

@ -4,11 +4,11 @@ type: workplan
title: "Hub port and schedule alignment for State Hub retirement"
domain: infotech
repo: activity-core
status: active
status: finished
owner: grok
topic_slug: infotech
created: "2026-08-09"
updated: "2026-08-18"
updated: "2026-08-22"
parent_project: prj-state-hub-retirement
parent_workplan: SHR-WP-0001
stream: S5
@ -107,16 +107,27 @@ inside this repo.
```task
id: ACTIVITY-WP-0029-T03
status: wait
status: done
priority: medium
state_hub_task_id: "3fbadbfe-9107-4869-b53f-3b9b46e0555a"
```
Wait on **HUB-WP-0004** (ports still `proposed`) and the CORE-WP-0010
absorption path. Interaction-event / progress evidence follows the
**hub-core** runtime, not a permanent core-hub or State Hub host. Update
smokes when the port exists. Until then, keep the State Hub beachhead
(ACTIVITY-WP-0015) as the compatibility sink.
HUB-WP-0004 finished and hub-core became production authority on 2026-08-21.
Activity-core now implements `hub-core-interaction-event` against canonical
`POST /ports/events/interaction`, then verifies the accepted id through
`GET /ports/projections/interaction_events`. The Railiance projection points
`HUB_CORE_BASE_URL` at the in-cluster hub-core runtime and uses this sink; it
does not require the legacy Core Hub widget mapping/runtime-token contract.
The old `core-hub-interaction-event` compatibility sink remains available for
the no-writer rollback window, but is no longer the configured probe path.
General progress callers not yet moved by the retirement strangler continue to
use the State Hub beachhead rather than creating another permanent authority.
Unit and deployment-wiring tests cover catalog envelope shape, readback,
sanitization, missing configuration, and the in-cluster target. A disposable
integration smoke against hub-core 0.2.0 returned `202 Accepted` from the
canonical interaction port and verified the new event through the interaction
projection.
## Execution queue boundary
@ -138,6 +149,6 @@ index, issue-core lifecycle, ITC Task Model types, policy-nexus publication.
(`docs/state-hub-caller-map.md`)
- [x] Sweep still fires from activity-core and hits repo-manager (or dual-run)
(`CONSISTENCY_SWEEP_URL` / `REPO_MANAGER_URL`; default State Hub adapter)
- [x] Evidence sink plan names hub-core as the permanent host; T03 stays wait until that port exists
- [x] Ops evidence uses hub-core's canonical interaction port; the legacy Core Hub sink is rollback-only
- [x] Execution boundary is written so `/execution/*` cannot be read as "activity-core owns tasks"
(`docs/execution-queue-boundary.md`, `GET /execution/semantics`, 410 on workplan routes)