docs: realign WP-0029 and boundaries with canon and nexus owners
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Review ACTIVITY-WP-0029 against info-tech-canon, policy-nexus, and
State Hub retirement: activity-core keeps schedule and ops_run;
repo-manager owns consistency; hub-core owns progress ports.
Mark WP-0026 finished. Refresh INTENT, SCOPE, and repo-boundary.
This commit is contained in:
tegwick 2026-08-18 10:27:29 +02:00
parent 3a8fe6585a
commit e7f615be38
6 changed files with 163 additions and 65 deletions

View file

@ -4,12 +4,12 @@ type: workplan
title: "Ops run claim queue — durable claimable work for scheduled automation"
domain: infotech
repo: activity-core
status: done
status: finished
owner: grok
topic_slug: activity-core
priority: high
created: "2026-08-03"
updated: "2026-08-03"
updated: "2026-08-18"
depends_on: []
related:
- ACT-ADR-005

View file

@ -4,18 +4,23 @@ type: workplan
title: "Hub port and schedule alignment for State Hub retirement"
domain: infotech
repo: activity-core
status: proposed
owner: codex
status: ready
owner: grok
topic_slug: infotech
created: "2026-08-09"
updated: "2026-08-09"
updated: "2026-08-18"
parent_project: prj-state-hub-retirement
parent_workplan: SHR-WP-0001
stream: S5
related:
- ACTIVITY-WP-0015
- ACTIVITY-WP-0017
- ACTIVITY-WP-0026
- HUB-WP-0004
- RMGR-WP-0001
- STATE-WP-0079
- CORE-WP-0010
- SHR-ARCH-HUB-0001
state_hub_workstream_id: "1b18849c-db3a-40a0-8f22-7af7fd4dbcfc"
---
@ -23,11 +28,52 @@ state_hub_workstream_id: "1b18849c-db3a-40a0-8f22-7af7fd4dbcfc"
## Goal
Align activity-core sweeps, sinks, and execution with **hub-core ports** and
**repo-manager** ownership so State Hub is no longer the permanent target for
automation.
Align activity-core **schedules, sinks, and the execution-queue boundary** with
the postState Hub owners so this repo stays the Event Bridge (when / what /
where) and does not absorb work that now has a clearer home.
## Map current State Hub / core-hub callers
Reviewed 2026-08-18 against `prj-state-hub-retirement` (SHR-ARCH-HUB-0001,
SHR-INV-0001, child-workplan map S5), `repo-manager` INTENT,
`info-tech-canon` (Task / Organization / Governance / Repository Layout),
and `policy-nexus` INTENT.
## Responsibility map
activity-core **owns** schedule fire, rule/instruction evaluation, bounded
declared side-effects, spawn/run evidence, and the **ops_run claim queue**
(ACTIVITY-WP-0026). It does not own the things it currently *calls*.
| Concern | Owner | activity-core role |
| --- | --- | --- |
| Cron / event / one-shot fire | **activity-core** | Authority |
| Ops-run claim / lease | **activity-core** | Authority (not a task database) |
| Work-item semantics (Task, Commitment, TaskState) | **info-tech-canon** | Consume vocabulary; do not redefine |
| Who is responsible / accountable | **info-tech-canon** Organization Model | Do not invent org roles here |
| Policy *content* (canon, ADRs) | Owning repo | Local files stay source of truth |
| Policy *publication* | **policy-nexus** | Do not publish or host policy |
| Regulatory interpretation | **risk-nexus** | Out of scope |
| Repo registry, file↔index consistency, work-record index | **repo-manager** | Schedule the sweep; do not own C-rules |
| Messages, progress projections, hub ports | **hub-core** (surviving runtime) | Sink / consume after HUB-WP-0004 |
| core-hub `/api/v2` | **CORE-WP-0010** → absorbed into hub-core | Temporary dual-run only |
| Issue projection | **issue-core** | Optional `ISSUE_SINK_TYPE=rest` |
| State Hub routes used today | **STATE-WP-0079** strangler | Compatibility until cutover |
Naming: **hub-core** is the surviving framework *and* runtime
(SHR-ARCH-HUB-0001). **core-hub** is the current production host to be
archived. Do not treat them as interchangeable, and do not add permanent
authorities on State Hub.
Inventory split that T02 must honour (`job:consistency-sweep-remote-all`):
activity-core **stays the executor**; the reconciliation engine **moves** to
repo-manager (`route:POST:/consistency/sweep/remote-all`, disposition `move`).
T04 is a **replace** of State Hub `/execution/*` onto activity-core. That is
**schedule / launch / ops_run** ownership, not workplan file authority (repos)
and not task lifecycle (issue-core / work records / ITC Task Model).
Out of this workplan: SBOM catch-up (CUST-WP-0062 / ACTIVITY-WP-0030, parked).
## Map current State Hub / hub-core callers
```task
id: ACTIVITY-WP-0029-T01
@ -36,8 +82,12 @@ priority: high
state_hub_task_id: "03021be2-5d60-455b-9c9c-b8681d65911c"
```
Inventory schedules, sinks, and context resolvers that call State Hub or core-hub
APIs; tag each with target port (`port.schedule`, interaction sink, work index).
Inventory schedules, sinks, and context resolvers that call State Hub or
core-hub APIs. For each caller record: current URL, SHR-INV item if any,
**target owner** (table above), and target port when HUB-WP-0004 has named it
(`port.schedule` is ours to consume, not to invent in hub-core).
Do not retarget a caller to activity-core just because we schedule it.
## Retarget consistency sweep
@ -48,20 +98,25 @@ priority: high
state_hub_task_id: "f8107e2b-ab1f-4a3b-9348-8d5dcfb647b4"
```
Plan and implement retarget of remote consistency sweep from State Hub-only
endpoints to repo-manager (or dual-run adapter) without losing C-rule coverage.
Keep the activity-core schedule. Point the remote sweep at **repo-manager**
(or the existing State Hub dual-run adapter until RMGR cutover) without losing
C-rule coverage. RMGR-WP-0001 is finished; do not re-implement consistency
inside this repo.
## Align ops evidence sink
```task
id: ACTIVITY-WP-0029-T03
status: todo
status: wait
priority: medium
state_hub_task_id: "3fbadbfe-9107-4869-b53f-3b9b46e0555a"
```
Ensure interaction-event sink follows consolidated hub-core runtime after
CORE-WP-0010 / HUB-WP-0004 cutover; update smokes.
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.
## Execution queue boundary
@ -72,12 +127,14 @@ priority: medium
state_hub_task_id: "a34b42c3-8a08-482b-936f-14675ee254ca"
```
Clarify workplan launch/execution ownership vs State Hub execution routes
(inventory: replace → activity-core). Implement or document port contract.
Document the contract first, then replace State Hub `/execution/*` callers
with activity-core (ops_run / launch), matching SHR-INV
`workplan-execution-queue`. Explicit non-goals: repo-manager work-record
index, issue-core lifecycle, ITC Task Model types, policy-nexus publication.
## Acceptance
- [ ] Caller map complete
- [ ] Sweep retarget plan or implementation evidenced
- [ ] Ops evidence sink aligned to hub-core
- [ ] Execution boundary documented/implemented
- [ ] Caller map lists owner + current URL for every State Hub / core-hub call
- [ ] Sweep still fires from activity-core and hits repo-manager (or dual-run)
- [ ] Evidence sink plan names hub-core as the permanent host; T03 stays wait until that port exists
- [ ] Execution boundary is written so `/execution/*` cannot be read as "activity-core owns tasks"