activity-core/docs/execution-queue-boundary.md
tegwick f6cfc28c33
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 32s
feat(ACTIVITY-WP-0029): inventory callers, retarget sweep, bound execution
Map every State Hub/core-hub caller to a post-retirement owner. Keep the
15-minute sweep schedule here and point the engine at repo-manager
(State Hub dual-run by default, REPO_MANAGER_URL when present). Publish
GET /execution/semantics and 410 workplan launch routes so State Hub
/execution/* is not re-homed as a task database. T03 still waits on
HUB-WP-0004.
2026-08-18 10:52:56 +02:00

2.7 KiB

id type title updated
ACTIVITY-WP-0029-T04 contract Execution queue boundary 2026-08-18

Execution queue boundary

Replaces State Hub /execution/* as the place callers look for when work should fire. It does not move workplan files, task lifecycle, or ITC Task Model types into activity-core.

What activity-core owns

Surface Meaning
Temporal Schedule + POST /activity-definitions/{id}/trigger When an ActivityDefinition fires
POST /ops-runs/claim and complete/fail/heartbeat Claimable ops run for that fire (ACT-ADR-005)
GET /execution/semantics This contract

port.schedule (hub-extension 0.1) is the hub-core outbound port that asks activity-core to wake a schedule or accept a launch of an ActivityDefinition. activity-core implements the receiving side.

What activity-core does not own

Concern Owner
Workplan / task files and their status The repo (ADR-001)
Work-record index and C-rule consistency repo-manager (port.work)
Task / Commitment / TaskState vocabulary info-tech-canon Task Model
Assign / track / close a development task issue-core / work records
Policy publication policy-nexus
Workplan execution_state rows on State Hub retiring; do not re-home as hub tables here

A workplan being active is a lifecycle fact in the repo file. An ops_run being open is an automation fire. Those are different planes (ACT-ADR-005). Mapping State Hub POST /execution/launch-requests onto “create a workplan execution row here” would collapse them again.

Replacement for State Hub routes

State Hub route Replacement
GET /execution/semantics GET /execution/semantics on activity-core (this contract)
POST /execution/launch-requests (workplan) Do not send here. Queue the workplan in the repo file; use an ActivityDefinition + ops_run if the work is a recurring/ops fire
GET /execution/launch-requests GET /ops-runs
GET /execution/workplan-stack repo-manager work index / hub-core projection — not this API
PATCH /execution/workplans/{id}/intent Edit the workplan file; repo-manager indexes it

Callers that still hit /execution/* on activity-core for workplan ids get 410 with replacement_ref pointing at the table above.

Semantics payload

GET /execution/semantics returns:

  • activity_core_owns — schedules, triggers, ops_run claim/complete
  • activity_core_does_not_own — workplan files, task lifecycle, C-rules
  • replacements — map from retired State Hub paths to current surfaces
  • portport.schedule (consume; do not invent the hub-core side here)