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

@ -19,8 +19,9 @@ retains a legacy set of local task executors for unattended repository work.
fails them with normalized result data.
- A queued `harness_profile_ref` is authoritative. The worker carries its
allowlisted attribution refs into a Glas `ExecutionRequest`, uses governed
actor `agt`, returns the complete `GatewayResult`, and never falls back to a
legacy approach after profile refusal or failure.
actor `agt`, retains bounded execution evidence, and never falls back to a
legacy approach after profile refusal or failure. A separately typed queued
repository grant is parsed strictly and cannot cross a profile-absent route.
- Profile-absent rows use the coexistence registry in `approaches.py`.
Dispatch requires an explicit, non-expired
`AGENT_HARNESS_LEGACY_APPROACHES_UNTIL` date; unmatched or disabled routes
@ -43,7 +44,8 @@ retains a legacy set of local task executors for unattended repository work.
reported to State Hub.
- Versioned profiled rows delegate profile, rein, model, tool, sandbox, and
teardown decisions to Glas/sand-boxer. `rein-aharness` owns the queue
adapter, not the meta-framework or sandbox implementation.
adapter, repository transaction/acceptance, external metrics, and durable
terminal-close delivery—not the meta-framework or sandbox implementation.
- Legacy structured executors produce Freedom Intelligence daily research
briefs, Binky daily/weekly briefs, deterministic mailbox scans, and mailbox
triage. The LLM-backed structured paths use the llm-connect HTTP service;
@ -67,6 +69,10 @@ retains a legacy set of local task executors for unattended repository work.
Granted runs instead require private, durable external metrics with a
projection descriptor so accepted checkouts remain clean. State Hub
progress/tool/token events and task closing remain best-effort.
- Profiled terminal closes are written to a private outbox before delivery.
Pending close-only work replays before another claim; exact Activity Core
repeats reconcile, permanent machine-distinct conflicts quarantine, and
operator status/replay commands expose unresolved evidence.
- llm-connect HTTP errors retain only bounded, allowlisted provider diagnosis.
### Packaging and deployment
@ -94,10 +100,10 @@ retains a legacy set of local task executors for unattended repository work.
the host checkout. They are not an OS-level sandbox and do not prove that
no push/network activity occurred after the run. Unattended mutation now
takes a process-safe repository lock (ADR-002 / T02).
- Explicitly granted local task files have full repository acceptance and
clean external metrics. Grant-absent compatibility and profiled queue runs
still use their prior result contracts because Activity Core carries no
authoritative repository grant. Durable queue-close replay is also not live.
- Explicitly granted local task files and profiled Activity Core rows have full
repository acceptance and clean external metrics. Source compatibility is
pinned to Activity Core `b63131e` / schema migration `0010`; production must
deploy that schema/API contract before a granted definition is enabled.
- The worker is sequential and repository mapping is host configuration. There
is no multi-worker repository lease, per-tenant process isolation, generic
credential broker, or tenant onboarding API.