Record deployed queue boundary

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b6f-7db1-7222-918b-e813a6bda38d
This commit is contained in:
tegwick 2026-08-23 13:08:51 +02:00
parent 74d7801b22
commit 36e10962f7
2 changed files with 29 additions and 11 deletions

View file

@ -37,11 +37,16 @@ but it is not an accurate description of the current governed chain:
normalization. It neither stores credentials nor chooses organizational normalization. It neither stores credentials nor chooses organizational
policy. policy.
The current Activity Core worker API does not yet authenticate an individual At the first proposed revision of this decision, the Activity Core worker API
worker identity. `ACTIVITY_CORE_WORKER_TOKEN` authenticates a shared caller authenticated a shared caller class while `worker_id` was request-supplied and
class, while `worker_id` is request-supplied and is not bound to that principal. not principal-bound. Activity Core subsequently deployed `ACTIVITY-WP-0036` at
That is a current-state limitation, not a property this decision may silently revisions `f0a897e` and `3cd5250`: `ACTIVITY_CORE_WORKER_TOKEN` is now bound to
upgrade into an identity guarantee. configured `ACTIVITY_CORE_WORKER_ID=rein-aharness@railiance01`; mismatched body
identity and operator/SSO mutation credentials are rejected; and heartbeat,
completion, and failure row-lock and reject missing, equal-to-expiry, or expired
leases. The rollout has automated and live spoof-refusal evidence; a natural
late-heartbeat/close production observation remains pending because no claimed
row existed and no unrelated run was manufactured for the proof.
Calling the rein the only enforcement point obscures these fail-closed Calling the rein the only enforcement point obscures these fail-closed
boundaries. Calling it the only credential holder obscures custody and release boundaries. Calling it the only credential holder obscures custody and release
@ -61,7 +66,7 @@ The production target for unattended agentic repository mutation is:
```text ```text
Activity Core ops_run + lease Activity Core ops_run + lease
-> rein-aharness queue adapter (configured worker_id; principal binding target) -> rein-aharness queue adapter (Activity-Core-bound configured worker_id)
-> Glas pinned execution profile -> Glas pinned execution profile
-> sand-boxer isolated venue -> sand-boxer isolated venue
-> selected rein and model/provider adapter -> selected rein and model/provider adapter
@ -102,7 +107,7 @@ recording evidence does not transfer that authority.
| Concern | Authority / enforcement | Required evidence at the handoff | | Concern | Authority / enforcement | Required evidence at the handoff |
|---|---|---| |---|---|---|
| Schedule and task definition | Activity Core definition owner | definition id, trigger/idempotency key, target repo, bounded task, pinned profile, allowlisted organizational refs | | Schedule and task definition | Activity Core definition owner | definition id, trigger/idempotency key, target repo, bounded task, pinned profile, allowlisted organizational refs |
| Queue caller, identity, and lease | Current: Activity Core authenticates a shared worker caller class; `worker_id` is request-supplied, and rein-aharness claims, heartbeats, and closes with its configured value. Required target: Activity Core binds an approved credential/principal to that configured `worker_id`, rejects mismatches, and rejects heartbeat/completion/failure at or after lease expiry | caller/principal class, binding contract/version, configured and accepted worker id, ops_run id, claim owner, attempt, lease/heartbeat outcome, final queue state | | Queue caller, identity, and lease | Activity Core binds the approved worker token to configured `worker_id`, rejects body/principal mismatch and non-worker mutation credentials, and rejects heartbeat/completion/failure at or after lease expiry; rein-aharness claims, heartbeats, and closes with that configured identity | caller/principal class, binding contract/version, configured and accepted worker id, ops_run id, claim owner, attempt, lease/heartbeat outcome, final queue state |
| Governed actor identity | Channel/rein adapter maps this runtime to `agt`; Glas and sand-boxer validate the governed actor enum | actor plus request/run correlation; queue `worker_id` remains separate | | Governed actor identity | Channel/rein adapter maps this runtime to `agt`; Glas and sand-boxer validate the governed actor enum | actor plus request/run correlation; queue `worker_id` remains separate |
| Organizational authority | Workforce/leadership owners upstream of Activity Core | allowlisted assignment, role, duty, goal, and resource-envelope refs; refs are attribution, not authorization | | Organizational authority | Workforce/leadership owners upstream of Activity Core | allowlisted assignment, role, duty, goal, and resource-envelope refs; refs are attribution, not authorization |
| Execution constellation | Glas profile catalog and resolver | exact profile/rein/model/tool/sandbox revisions, readiness state, resolution outcome | | Execution constellation | Glas profile catalog and resolver | exact profile/rein/model/tool/sandbox revisions, readiness state, resolution outcome |
@ -160,9 +165,10 @@ does not reopen profiled failures itself.
runtime wiring remains unchanged. runtime wiring remains unchanged.
- T02 must make Activity Core lease loss observable inside execution and bind a - T02 must make Activity Core lease loss observable inside execution and bind a
repository lock/transaction to the claimed run. repository lock/transaction to the claimed run.
- Before the strategic route is ready, Activity Core must publish and enforce a - Activity Core deployed the required worker-principal/`worker_id` binding and
worker-principal/`worker_id` binding contract plus fail-closed expired-lease fail-closed expired-lease mutation semantics under `ACTIVITY-WP-0036`.
mutation semantics. A shared caller token is not sufficient identity proof. A natural late-heartbeat/close observation remains integration evidence for a
future real claimed row, not a reason to manufacture unrelated work.
- T03 must make repository acceptance and required result delivery - T03 must make repository acceptance and required result delivery
reconcilable. Best-effort Hub telemetry is not sufficient completion proof. reconcilable. Best-effort Hub telemetry is not sufficient completion proof.
- T04 may migrate, but may not expand, the profile-absent compatibility table. - T04 may migrate, but may not expand, the profile-absent compatibility table.
@ -200,6 +206,9 @@ Reviews requiring follow-up:
route and no-fallback posture confirmed, but acknowledgement withheld until route and no-fallback posture confirmed, but acknowledgement withheld until
the shared-caller/current-state limitation, principal-to-`worker_id` target, the shared-caller/current-state limitation, principal-to-`worker_id` target,
Activity-Core-side expired-lease rejection, and explicit break-glass boundary Activity-Core-side expired-lease rejection, and explicit break-glass boundary
were recorded. Those edits are incorporated in this revision. were recorded. Message `900801f4-0641-4e87-90e6-0279b6c892a6` reports those
boundaries deployed at revisions `f0a897e` and `3cd5250`, with 468 tests,
live spoof-refusal evidence, and no manufactured late-close run. Those facts
are incorporated in this revision for final Activity Core acknowledgement.
Pending: revised Activity Core acknowledgement, sand-boxer, and llm-connect. Pending: revised Activity Core acknowledgement, sand-boxer, and llm-connect.

View file

@ -126,6 +126,15 @@ and T02T06 can cite stable decisions rather than infer ownership from code.
(`704aa396-52b7-4c9f-80b7-6cf8a81ce0a1`). Glas reconfirmed the exact (`704aa396-52b7-4c9f-80b7-6cf8a81ce0a1`). Glas reconfirmed the exact
revision and digest in `9638537b-e3c3-414d-a2d7-8beab61a4e1f`; revised revision and digest in `9638537b-e3c3-414d-a2d7-8beab61a4e1f`; revised
Activity Core, sand-boxer, and llm-connect acknowledgements remain pending. Activity Core, sand-boxer, and llm-connect acknowledgements remain pending.
- Activity Core message `900801f4-0641-4e87-90e6-0279b6c892a6` reports the
requested boundary deployed under `ACTIVITY-WP-0036` at revisions `f0a897e`
and `3cd5250`: the worker token is bound to configured
`rein-aharness@railiance01`, mismatched body and operator/SSO identities are
rejected, and heartbeat/complete/fail enforce row-locked active leases with
equal-to-expiry treated as expired. Its 468-test suite and live spoof refusal
passed. ADR-002 now records this as deployed current state; natural
heartbeat/late-close production evidence remains pending for the next real
claimed row rather than a manufactured run.
## Make each repository run a lease-bound transaction ## Make each repository run a lease-bound transaction