feat(runtime): consume governed Activity Core closes

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
This commit is contained in:
tegwick 2026-09-04 19:54:07 +02:00
parent 0e6d795aa4
commit d00ffcb402
22 changed files with 1218 additions and 148 deletions

View file

@ -278,7 +278,7 @@ evidence, and lease-cancellation cases, all T02 exit criteria are met. T02 is
```task
id: REINAH-WP-0003-T03
status: wait
status: done
priority: high
state_hub_task_id: "6297dee4-c10f-5d5f-8d7c-7edfafa27e7f"
```
@ -417,6 +417,40 @@ terminal reconciliation in State Hub message
`6c4189a5-5971-4eb9-a7bd-62fe368f9a02`. Live outbox activation stays
fail-closed until that exact upstream contract is available.
### Activity Core contract consumption — 2026-09-04
Reviewed Activity Core implementation `b63131e`, subsequently published on
its `origin/main` through `52f2ac9`. Independent verification passes all 73
focused grant/evidence/close tests and the full Activity Core suite (`493
passed, 1 skipped`). It satisfies the requested upstream contract: migration
`0010` adds separately typed grant and terminal intent fields; definition and
emission boundaries validate v1 authority; results retain bounded transaction,
grant, acceptance, and metrics identity; and exact same-owner terminal repeats
return `reconciled` while conflicts remain machine-distinct.
The rein claim client now parses the queued grant strictly and carries it
without deriving authority. A grant-bearing row requires an authoritative
profile. Under the existing lease-bound repository transaction, profiled runs
validate every successful commit against that grant, persist transaction-linked
external metrics, and submit only bounded execution/transaction evidence.
Unknown provider fields and direct tool output never enter durable close state.
Activated the close outbox for profiled terminal results. The exact run,
transaction, worker, action, reopen decision, and bounded result are persisted
before the API call. Pending close-only work replays before another claim, an
Activity Core `applied` or `reconciled` response marks it delivered, transient
or unclassified failures remain pending, and conclusive owner/lease/state/
evidence/terminal conflicts move to quarantine. `rein-aharness close-outbox
status|replay` supplies bounded operator controls. Tests simulate a lost close
response and prove the same durable intent reconciles without a second gateway
or repository execution.
Final contract review and verification pass: 132 focused tests cover the
repository, grant, queue, evidence, outbox, CLI, and claim paths; the full rein
suite passes (`241 passed, 1 skipped`). T03 is `done`. Deployment of Activity
Core migration `0010` and the compatible worker artifact remains tracked under
T05/T06 rather than being represented as completed here.
## Remove tenant logic from the shared runtime
```task