Revocation Is Not Complete at Receipt: An Executable Outcome Contract for Distributed Agent-Tool Gateways
Organizations: Independent Researcher Seattle, WA, USA · Nanchang Hangkong University Nanchang, China
Abstract
Distributed agent workflows cache delegated authority at tool gateways. Revocation may be reported at issuer commit, transport acknowledgment, or receiver persistence, although none of these observations establishes that all gateways enforced the change or that guarded effects stopped. We define C0-C5, a bounded outcome contract spanning issuer commit through effect prevention, and implement it as a persistent monitor over a frozen gateway set, call set, and observation window. A 14-case fault matrix checks conservative classification, sticky violations, restart persistence, and evidence immutability. In a derived audit of its eight semantic cases, treating C3 or C4 as completion produces seven or five false positives, respectively; the bounded C0-C5 verdict produces none. Descriptive scaling covers 1,024 gateways and 10,000 effect vectors. The primary experiment uses the maintained Keycloak 26.7 identity server and measures the contract across two durable receivers, eight physical agent-tool gateways, Filesystem and PostgreSQL effects, and 16 AWS hosts in three availability zones. Normal delivery and recovery commit no effects. Under receiver-selective non-delivery, transport acknowledgment and receiver persistence still succeed, but 112 of 225 calls (49.78%) are admitted, and all 112 effects commit in every treatment block. A separately provisioned execution repeats the result. OPA/Toxiproxy and a live three-role LLM workflow with networked MCP tools reproduce the persisted-but-not-enforced boundary on narrower surfaces. Finally, an unmodified external MCPMark agent executes 60 closed-loop task arms. Normal C4 denies all 31 exposed post-barrier calls and commits no effect; selective C3 allows 344 calls and commits 145 effects across Filesystem and PostgreSQL. Transport success is therefore evidence of progress, not a revocation-completion verdict.
Figures & tables
| Study | Evidence surface | Primary observation | Role in this paper |
|---|---|---|---|
| E-B24 | Primary and separately provisioned repeatability executions; 16 AWS hosts, 8 gateways, 3 zones, durable receivers, real effects | C2/C3 coexist with missing C4 and 112 committed effects per block; the second execution exactly matches the first. | Primary causal result and repeatability. |
| E-B25 | OPA 1.17 policy engines and Toxiproxy 2.12 on one Docker host | A post-persistence fault leaves one engine stale: 112/225 effects commit and the monitor returns VIOLATED . | Cross-implementation replication. |
| E-B28 | Unmodified external MCPMarkAgent; 10 frozen tasks, 2 repetitions, Filesystem and PostgreSQL ( Wu et al., 2025 ) | Normal C4 denies all 31 exposed later calls with zero effects; selective C3 allows 344 and commits 145 effects. | Closed-loop agent-workload replication. |
| E-B25/26 | OPA/Toxiproxy and a narrow live multi-role MCP workflow | The post-persistence boundary recurs under another policy engine and under two model-generated networked actions. | Cross-stack execution sanity. |
| E-B27 | Frozen monitor fault matrix and local SQLite scaling | All 14 conservative-classification and integrity rows pass; 33 fresh trials span 1,024 gateways and 10,000 effect vectors. | Monitor correctness and engineering-cost boundary. |
| Qualification | E-B17/18/20/22/23: mechanism models, local MCP execution, MCPMark traces, and external Keycloak PUSH/POLL ( Wu et al., 2025 ) | The 50% cost gate and 30% workload hypothesis fail; real delivery paths can reach enforcement when the downstream handoff completes. | Cost/workload boundaries and execution sanity checks. |
| Phase | Run 1 allowed/effects | Run 2 allowed/effects | FS | PG | B: C2 | B: C3/C4 |
|---|---|---|---|---|---|---|
| Normal | 0/0 | 0/0 | 0 | 0 | HTTP 202 | persisted/4 receipts |
| Receiver–gateway fault | 3,360/3,360 | 3,360/3,360 | 1,680 | 1,680 | HTTP 202 | persisted/0 receipts |
| Recovery | 0/0 | 0/0 | 0 | 0 | retained | retained/4 receipts |
| Study | Arm | Allowed | Effects | Monitor |
|---|---|---|---|---|
| E-B25 OPA | normal | 0/225 | 0 | v1 complete ∗ |
| fault | 112/225 | 112 | violated | |
| recovery | 0/225 | 0 | v1 complete ∗ | |
| E-B26 live MCP | normal | 0/2 | 0 | v1 complete ∗ |
| fault | 1/2 | 1 | violated | |
| recovery | 0/2 | 0 | v1 complete ∗ |
| Detector | TP | FP | TN | FN |
|---|---|---|---|---|
| C3 persistence as complete | 1 | 7 | 0 | 0 |
| C4 receipts as complete | 1 | 5 | 2 | 0 |
| Bounded C0–C5 monitor | 1 | 0 | 7 | 0 |
| Gateways | Vectors | Receipt total | Effect total | Assess p95 |
|---|---|---|---|---|
| (ms) | (ms) | (ms) | ||
| 8 | 225 | 3.53 | 68.09 | 1.31 |
| 1,024 | 225 | 3,811.27 | 77.28 | 7.49 |
| 8 | 10,000 | 3.66 | 10,216.50 | 25.10 |
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
| Suppression | Mechanism | Stale calls/gw | Complete | Audit | Msgs/gw | Feasible |
|---|---|---|---|---|---|---|
| 20% | Push + repair | 0.877 | 1.0 | 1.0 | 8.001 | yes |
| 20% | Matched log polling | 50.549 | 1.0 | 1.0 | 6.001 | yes |
| 50% | Push + repair | 1.663 | 1.0 | 1.0 | 9.501 | no |
| 50% | Matched log polling | 50.549 | 1.0 | 1.0 | 6.001 | yes |
| E-B17 row | Behavior retained in the model | 20% matched disposition |
|---|---|---|
| AIP -03 | Signed events; 1/2/4-second retries; status fallback ( Singla, 2026 ) . | Fails: completeness 0.8; audit evidence 0. |
| DRP -10/60 | Signed log polling with independently checkable evidence ( Nelson, 2026 ) . | Passes after the disclosed 10-second rescaling. |
| DRP -10/300 | Relaxed polling posture from the same draft ( Nelson, 2026 ) . | Passes, but matches DRP -10/60 and is not an independent replication. |
| HBHC | Published 10/30-second heartbeat with multipath gossip ( Deochake, 2026 ) . | Fails: no positive event or audit evidence; 12 messages/gateway exceeds the cap. |
| CAEP/SSF | Signed session-revoked event over a modeled local stream ( Cappalli and Tulshibagwale, 2025 ; Tulshibagwale et al., 2025 ) . | Fails: completeness 0.8; audit evidence 0. |
| Status list | Signed snapshot polling at the matched 10-second interval. | Fails: completeness 0.8, audit evidence 0, and 750,000 bytes/gateway. |
| Study | Evidence added | Explicit limit |
|---|---|---|
| E-B1–B3 | Suppression boundary, delivery regimes, and mapping from delay to stale-authority damage. | Discrete-event models and synthetic rates. |
| E-B4 | Below-quorum rejection and signed-checkpoint split-view detection. | Detection requires eventual cross-observation. |
| E-B5–B7 | A2A-shaped events, loopback signed transport, and parameter sensitivity. | Local serialization/transport, not third-party conformance. |
| E-B8–B9 | Cached gateway effects and A2A lifecycle-binding cells. | Gateway and compatibility models. |
| E-B10–B12 | Gateway/tool/log TCP paths, envelopes, dropped push, delayed log, partition heal, and restart. | Scripted single-host faults. |
| E-B13–B15 | LangGraph/CrewAI trace bridge, separate processes, official MCP typing, and a compiled LangGraph workflow. | Local execution, not production interoperability. |
Runtime Enforcement for AI Agents
Runtime enforcement for AI agents checks and constrains actions as they execute, helping prevent unsafe or unauthorized effects.
See all 270 papers