Fault-Tolerant Budget Conservation in Distributed Multi-Agent Delegation
Organizations: Accentrust, Vancouver, Canada · Georgia Institute of Technology, Atlanta, Georgia, USA · University of Illinois Urbana-Champaign, Urbana, Illinois, USA
Abstract
Resource limits are becoming an authorization boundary for AI agents that delegate work across concurrent and failure-prone workers. Parent-child allocation constraints, affine objects, and distributed escrow do not by themselves prevent overspend when replies are lost, effects complete after timeout, messages repeat, branches partition, or DAG joins alias one lineage. We formalize fault-tolerant budget conservation for distributed multi-agent delegation. Budgets are quantized resource vectors represented by exclusive escrow credits that move through a delegation DAG. Before dispatch, a branch converts credit into an operation reservation bound to lineage, epoch, normalized effect, maximum charge, receiver, and idempotency key. It persists a signed dispatch permit with quarantine; the gateway verifies that permit before first acceptance. Uncertain effects remain charged until authenticated settlement, a fenced authoritative no-effect proof, or permanent retirement. We prove ownership partition, ledger and effect conservation, descendant non-amplification, at-most-once settlement, late-completion safety, and partition confinement under explicit mediation, durability, authentication, normalization, and gateway assumptions. An indistinguishability result shows that partition-local availability requires exclusive preallocation. Bounded TLA+ checking, an independent JavaScript explorer, and crash-injected two-process SQLite experiments exercise the declared scope and detect timeout-refund and historical-certificate-validation mutants. The mechanism preserves the issued budget bound across the evaluated crash, retry, duplicate, partition, join, and late-completion schedules.
Figures & tables
| Work | Consumable vector | Recursive / DAG delegation | Crash + partition | External-effect settlement | Primary contribution | Boundary relative to this paper |
|---|---|---|---|---|---|---|
| Agent Contracts | Yes | Recursive hierarchy | No fault semantics evaluated | Between-action monitor | Resource-bounded contract + allocation law | No duplicate/late-effect/fencing model |
| Token Budgets | Cost scalar/object | Fan-out ownership | In-process focus | Estimator-based cap | Incident catalog + affine Rust case study | No durable cross-protocol recovery |
| CapLease | Consumable authorization state | Delegation | Crash/retry recovery | Idempotent receiver contract | Durable authorization-state protocol | No partitioned vector-credit DAG join/effect-coverage theorem |
| EpochX | Task credits / bounties | Recursive delegation | No reported crash/partition proof | Lock + acceptance settlement | Agent marketplace and asset economy | No prefix ownership/effect-uncertainty invariant |
| AIP / AAT | Reusable scopes | Signed chains | Offline verification | Invocation + completion binding | Identity and monotone scope attenuation | No exclusive consumable ownership |
| MPAC | Not central | Multi-principal graph | Optimistic conflicts | Operation state | General agent coordination | No resource invariant |
| Fault or attack | Naive failure | Required mechanism | Safe consequence |
|---|---|---|---|
| Concurrent fan-out | Two children copy one remainder | Exclusive atomic split with stable operation ID | Inputs consumed once; duplicate is a stutter |
| Multi-parent join | Shared ancestor counted twice | Disjoint lineage test and atomic input consumption | Alias rejected; distinct inputs may merge |
| Duplicate dispatch | Effect executes twice | Canonical effect key at fenced gateway | Replay returns same outcome |
| Response loss | Timeout interpreted as failure | Durable obligation and indeterminate state | Credit stays reserved |
| Crash after effect | Ledger misses consumption | Authenticated receipt query and idempotent settlement | Recovery moves reservation once |
| Stale worker | Old owner spends reclaimed credit | Monotone epoch and gateway fence | Old generation rejected |
| Reason | Meaning | Required response |
|---|---|---|
| INSUFFICIENT_LOCAL_ESCROW | Branch lacks exclusive rights | Coordinate transfer or refuse; never read a stale global total |
| LINEAGE_ALIAS | Join inputs overlap | Reject and audit |
| STALE_CREDIT_EPOCH | Message targets an old generation | Return prior outcome or reject; do not execute |
| OPERATION_BINDING_MISMATCH | Replay changed effect/vector/receiver | Reject as conflicting replay |
| TERMINAL_EVIDENCE_BINDING_MISMATCH | Success receipt or no-effect certificate does not prove this operation | Retain reservation and investigate |
| EFFECT_INDETERMINATE | Dispatch may have crossed boundary | Keep quarantined; query or forfeit |
| Result | Required assumptions / premises | Failure if omitted | Not concluded |
|---|---|---|---|
| Ownership partition and exact conservation | Authenticated unique roots/credits (Assumption 1 ); atomic durable moves ( 2 ); singleton-source guards and stable decision keys ( 3 ) | Forged issuance, torn moves, or copied inputs can duplicate or lose atoms | Fair allocation, low stranding, or timely completion |
| Semantic and descendant non-amplification | Root/lineage authenticity; exclusive transfer; label attenuation and credit-cut accounting | A numeric balance may remain bounded while purpose, audience, or ancestry widens | Correctness of the policy classifier or optimal task decomposition |
| At-most-once settlement | Atomic terminal-decision key; immutable operation binding; sound tagged terminal evidence; receiver-scoped gateway idempotency | Duplicate or conflicting evidence can move the same reservation twice, or one transport retry can create multiple logical outcomes | Exactly-once delivery or honesty of an arbitrary third-party receiver |
| Effect coverage and external exposure bound | Authenticated binding, atomic durable ownership, and stable decisions ( 1 – 3 ); persist-before-exposure; sound normalization ( 4 ); enforced maximum-charge contract ( 6 ); fenced queryable gateway ( 5 ); complete non-equivocating terminal evidence ( 7 ); complete mediation ( 9 ) | An effect can bypass its obligation, alias another effect identity, or be refunded on a false result | Coverage of covert, direct-credential, or otherwise unmediated effects |
| Late-completion safety and reclaim | Durable cut; gateway-visible monotone epoch; authoritative success/no-effect result | Timeout refund or store-only fencing permits old and new generations to use one right | Rollback of an irreversible effect or eventual recovery of stranded rights |
| Partition confinement | Exclusive preallocation before the cut; no unfenced cross-cut acceptance | Disconnected branches may spend the same cached remainder | Availability after local escrow is exhausted |
| Record | Immutable identity/binding | Mutable state | Uniqueness or integrity rule |
|---|---|---|---|
| root_grant | root, issuer, resource schema, issued vector, label digest | status, current policy version, installed fence epochs | issuer signature; one issued vector per root generation |
| credit | root, logical slot/reissue-chain ID, credit ID, parent credit ID, generation, epoch, issuer, credit authority/owner, source-label digest, lineage and rights commitments | available ranges, lifecycle, current marker | immutable predecessor identity; at most one current generation per logical slot/reissue chain; disjoint split siblings may be current concurrently, but live ranges never overlap |
| transfer | root, transfer ID, source generation, destination, ranges, label | sealed / accepted / rejected / fenced | unique ; terminal decision immutable |
| operation | root, logical slot, operation ID, source lineage/rights commitments, epoch, effect digest, receiver, key, , maximum vector, source/operation labels, witness, selector schema version | reserved/quarantined/terminal phase; write-once return target and inside the terminal decision | unique ; immutable replay, partition, and return binding |
| gateway_effect | , key, , receiver, effect digest, acceptance sequence | accepted/effect/terminal outcome | one immutable acceptance binding and at most one instance per key |
| terminal_evidence | evidence ID, tagged variant, , root/slot/operation binding, authority/signature; success adds , acceptance sequence, and actual vector; no-effect adds fence epoch | verification result and application time | unique evidence ID and one compatible terminal variant per operation |
| Transition | Local work | Coordination |
|---|---|---|
| Reserve / settle | one local durable transaction | |
| Split | one local durable transaction | |
| Cross-store transfer | source seal + destination accept | |
| Join | one authority over all consumed inputs | |
| Reconcile | per operation | gateway query; reclaim additionally needs fence + non-acceptance proof |
| Audit replay | per transition | none on enforcement path |
| Fault injection point | Ambiguity created | Required safe state | Bug exposed if weakened |
|---|---|---|---|
| After reserve commit, before dispatchable | No exposure possible by durable evidence | , then verified abort | leaked reservation or unsafe send without outbox |
| After quarantine commit, before send | Send may not have happened | until gateway proof | utilization loss if safe; double spend if blindly refunded |
| After gateway effect, before reply | Effect exists, response absent | , then receipt settlement | timeout-refund/late-effect overspend |
| After receipt arrival, before ledger commit | Receipt can replay | same settlement applied once | duplicate charge or duplicate remainder |
| During sealed transfer | Source debited, destination unknown | until accept/exclusion | both-side ownership after retry |
| During epoch advance | Old worker may retain credentials | old gateway requests fenced | stale-generation spend after reclaim |
| Evidence | Declared finite scope | Generated or edges | Distinct states | Depth | Safe outcome |
|---|---|---|---|---|---|
| Settlement TLC | 2 atoms, 2 actors, epochs/generations 0..1 | 54,477 | 16,592 | 29 | exhausted; no violation |
| Lineage TLC | 2 dimensions, 4 rights, 4 credits | 23 | 21 | 8 | exhausted; no violation |
| JavaScript graph | 2 atoms, 2 actors, complete reachable graph | 54,476 | 16,592 | 28 | exhausted; no violation |
| Weakening | Detection | Shortest retained witness | Observed failure |
|---|---|---|---|
| Timeout refund after exposure | TLC and JavaScript | TLC depth 4; JS depths 3 and 5 | unsafe reclaim; then loss of effect coverage after the accepted request completes late |
| Historical-certificate validation (compound) | lineage TLC | 6 states | ownership uniqueness; 8 live occurrences for 4 rights (maximum multiplicity 2) |
| Safe schedule | Kills | Records | Checker |
|---|---|---|---|
| W2 pre-commit rollback | 1 | 29 | pass |
| W2 post-commit recovery | 1 | 23 | pass |
| gateway-accept pre-commit rollback/retry | 1 | 33 | pass |
| gateway-accept post-commit dedupe | 1 | 24 | pass |
| effect/reply loss; W4 pre-commit | 2 | 29 | pass |
| W4 post-commit dedupe | 1 | 27 | pass |
| Attack or failure | Prevented or detected by | Residual consequence | Outside the theorem |
|---|---|---|---|
| Duplicate child allocation | atomic exclusive split + stable ID | duplicate request stutters | corrupt authoritative store |
| Lineage alias at fan-in | disjoint rights commitment + input consumption | join rejected | unsound commitment implementation |
| Dispatch replay | operation binding + gateway idempotency | prior outcome returned | non-cooperating receiver |
| Timeout refund race | retention + reconciliation | stranded capacity | guaranteed eventual receiver response |
| Stale worker | gateway-visible epoch fence | old request rejected or observed | direct credentials bypassing gateway |
| Forged/changed receipt | signature and full binding verification | quarantine and investigation | compromised terminal-evidence authority |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Domain | Meaning |
|---|---|---|
| finite set | authenticated resource dimensions | |
| vector issued by root grant | ||
| finite disjoint union | logical unit rights underlying | |
| subsets of | credit, operation, and transfer footprints | |
| per-dimension cardinality of footprint | ||
| authorization-label domain | root, principal, purpose, audience, effect class, expiry, and policy version |
| Action | Precondition | Postcondition | Replay/failure behavior |
|---|---|---|---|
| authenticated fresh root; vector and label schema valid | all in one root credit with a fresh logical slot; install matching epoch and active-generation registers | duplicate root ID rejected or returns identical issuance | |
| current owner generation/epoch; pairwise-disjoint subsets; attenuated labels | parent loses exactly union; install every child under a pairwise-distinct fresh logical slot; close and clear the parent only if its complete responsibility is consumed | same request stutters; conflicting replay rejected | |
| seal | current source; subset available; destination/label bound | same atoms ; signed certificate/outbox durable | send retries preserve transfer ID; timeout stays |
| decision | valid current certificate or destination-exclusion proof; decision pending | CAS to exactly one of accepted or cancelled and logically moves the footprint to the unique destination child or back to the source; acceptance installs the child under a fresh logical slot with matching current registers | duplicate returns prior decision; competing terminal decision rejected |
| materialize | terminal transfer decision and matching footprint | durable rows materialize the logical owner already selected by the decision register; abstract stutter | crash recovery repeats the same materialization; stale source or destination rows are never authoritative |
| current credit/epoch; available footprint; valid effect and joint witness | same atoms ; operation, obligation, outbox, audit atomically durable | duplicate identical operation stutters; changed binding rejected |
| Action | Precondition | Postcondition | Replay/failure behavior |
|---|---|---|---|
| success | full footprint in ; valid receipt for , matching ; when the remainder is nonempty, a decision-bound return credit satisfying Equation ( 7 ); | version-bound ; complement ; bind and | identical receipt stutters; conflicting receipt or partition rejects |
| type-matched : local no-dispatch precondition for , or gateway fence plus authoritative proof that the exact binding was never accepted and cannot occur; return target satisfies Equation ( 7 ) | all operation atoms move from the branch-specific ; write terminal decision and audit; the local branch also persists and sets the dispatch gate to absorbing local-abort | timeout or local lease expiry alone has no transition | |
| unresolved quarantined operation and authorized administrative decision | all operation atoms | availability never increases; is absorbing | |
| source is current; authenticated target ; gateway installation protocol satisfied | install the gateway fence, mark the old credit closing, clear its active generation, and advance the slot authority epoch without moving balance or creating a successor; old generation cannot initiate a new effect and recorded old outcomes remain queryable | old messages reject or return prior result | |
| old generation closed at installed ; exact footprint uniquely available; ; write-once key selects for normalized predecessor ; target satisfies Equation ( 16 ) | one transaction moves only that footprint and installs as current for the same logical slot | committed, forfeited, accepted, or unresolved atoms never move; exact replay stutters and changed target rejects | |
| fenced predecessor is closing; is its final nonterminal operation with a type-matched terminal-outcome witness; source and settlement authority agree; ; both decision keys are unassigned; normalized reissue target satisfies Equations ( 17 )–( 18 ) | one transaction fixes the terminal partition, moves only its return footprint plus disjoint to , closes , and installs , writes both keys, sets the witness-specific operation/outbox outcome, and appends its audit node; the local branch additionally sets the absorbing local-abort dispatch gate | exact replay stutters; changed evidence, partition, epoch, or successor rejects |
| Concrete event | Abstract image | Required evidence | Forbidden mapping |
|---|---|---|---|
| Root row commit | issuer signature, fresh generation, exact vector | editing an existing issued vector | |
| Source debit + transfer row commit | seal | one transaction, same compressed ranges | message send before source debit |
| Transfer-decision CAS | or , including the one logical ownership switch | valid certificate/exclusion proof and monotone decision register | accepted and cancelled both becoming terminal |
| Destination/source finalization | (materialization only) | same terminal decision and exact compressed ranges; logical ownership is read from the decision register | treating a stale row as authoritative or moving the abstract footprint a second time |
| Operation/outbox commit | atomic debit and immutable slot/effect binding | reserving after tool execution | |
| Dispatchable marker commit | durable before gateway exposure | network send while still only |
| Concrete event | Abstract image | Required evidence | Forbidden mapping |
|---|---|---|---|
| Terminal-outcome transaction | , , or, when fused with successor installation, | a tagged external signature or trusted durable local no-dispatch witness, including selector version, one terminal CAS, exact committed/remainder footprint commitments, and Equation ( 7 ) for every returned atom | treating a success receipt as no-effect evidence, choosing a noncanonical partition, applying a textual worker assertion, or widening/redirecting a remainder |
| Timeout / worker death | stutter + reconciliation request | no ownership change | |
| Epoch installation | monotone successor visible at every protected gateway | local-only epoch bump followed by reuse | |
| Ordinary successor-generation transaction | closed-generation proof at the installed , exact uniquely available reusable footprint, write-once unique reissue decision, and authenticated target satisfying Equation ( 16 ); decision, current metadata, and move are atomic | copying old atoms or widening/changing the successor lineage, root, or authority | |
| Fused final-outcome/successor transaction | Equations ( 17 )–( 18 ); canonical terminal partition and status; complete ; atomic terminal and normalized reissue decisions | mapping the fused commit to only , , or , or copying an input atom | |
| Audit-only append | stutter | digest of an already authoritative decision | moving rights solely because a log entry exists |
| Claim | Analytical support | Executable support | Explicit exclusion |
|---|---|---|---|
| Ownership partition | transition induction over raw ownership relations | lineage tagged-occurrence model, legal-join witness, and compound invalid fan-in mutant; settlement model separately checks the single-location obligations | Byzantine/corrupt authoritative store |
| Exact six-bucket conservation | partition lemma + vector corollary | finite transition-accounting checks and runtime prefix checks | real-world value not represented by resource schema |
| Descendant non-amplification | cut/lineage induction | split, transfer, join, and alias schedules | task quality and fair allocation |
| At-most-once settlement | immutable binding + terminal CAS | duplicate and conflicting receipt cases | exactly-once network delivery |
| Effect-instance coverage and external exposure bound | injective gateway binding + complete-charge theorem | effect-instance log joined to operation and maximum-vector trace | unmediated paths or dishonest charge authority |
| Late-completion safety | retention + fence argument | effect-before-response-loss and delayed receipt cases | automatic eventual refund |