ERRAND: Budgeted Maintenance of Agent Memory
Organizations: Department of Electrical Engineering and Computer Science South Dakota State University, Brookings, SD 57007, USA
Abstract
Deployed agents run on handed-over knowledge: a frozen policy consults a briefing of consolidated items written before the stream begins. The world then moves while the store stands still: paths close, flags change, price bands move; every item was true at handover, and the failure is staleness, not ignorance. We introduce ERRAND, which treats revalidation as a priced errand: a recheck competes with the task it protects for the same scarce actions, funded only when the value per action of resolving a doubt clears a running wage. The errand index is single-peaked, vanishing at both ends of belief, so certainty in either direction costs nothing; free en-route receipts maintain on-path knowledge, and repair writes a version, never a deletion. Under equal action budgets in two drifting tool-use worlds, ERRAND clears every non-oracle policy on the preregistered calibers, primary in every setting and conditional at every binding budget, leading eager revalidation by 10.0pp at the base cap. Restraint wins: given no cap, ERRAND stops on its own, spending 11.0% of steps, while uncapped eager revalidation spends 70.7% and still finishes 4.5pp behind capped ERRAND. The margin sits where the briefing's coverage is thinnest, the shadow price of long-tail knowledge: a small budget, well priced, beats a bigger store that never rechecks.
Figures & tables
| Budget axis (mid tier, 8B) | High gap | 4B floor | Average | (ours row) | ||||||||||
| Method | ITT | Cond. | ITT | Cond. | ITT | Cond. | ITT | Cond. | ITT | Cond. | ITT | Cond. | ITT | Cond. |
| No maintenance ( ) | 51.1 | 48.9 | 51.1 | 48.9 | 51.1 | 48.9 | 45.4 | 45.5 | 43.8 | 43.6 | 48.5 | 47.1 | 16.8 | 8.5 |
| Bigger memory, no maint. | 51.2 | 51.9 | 51.2 | 51.9 | 51.2 | 51.9 | 46.5 | 45.8 | 43.6 | 45.0 | 48.7 | 49.3 | 16.6 | 6.4 |
| Fixed-cadence recheck | 58.1 | 53.5 | 61.4 | 56.3 | 64.9 | 57.4 | 56.5 | 55.6 | 46.7 | 43.9 | 57.5 | 53.3 | 7.9 | 2.4 |
| Equal-budget random | 55.1 | 52.5 | 60.8 | 55.4 | 66.2 | 56.6 | 54.4 | 52.6 | 46.4 | 44.7 | 56.6 | 52.4 | 8.8 | 3.3 |
| Variant | ITT | Cond. | Spend | ITT |
|---|---|---|---|---|
| Full Errand | 71.3 | 61.3 | 10.3% | – |
| w/o deadband gate | 67.8 | 58.3 | 10.8% | ↓3.5 |
| coverage sum max | 68.1 | 58.5 | 10.7% | ↓3.2 |
| index: belief only | 66.0 | 57.1 | 11.0% | ↓5.3 |
| index: age only | 64.7 | 57.0 | 11.0% | ↓6.6 |
| (no regime return) | 66.3 | 57.9 | 11.0% | ↓5.0 |
| Policy | Tokens/step | LLM calls | Sched. | Tokens | calls | |
|---|---|---|---|---|---|---|
| prompt | gen. | /step | ms/step | /errand | ||
| Errand ( ) | 431 | 64 | 1.10 | 40 | 361 | – |
| Eager ( ) | 455 | 72 | 1.40 | 33 | 334 | ↑0.30 |
| Fixed-cadence | 417 | 60 | 1.53 | 30 | 355 | ↑0.44 |
| Equal-random | 426 | 62 | 1.44 | 29 | 361 | ↑0.35 |
Appendix figures & tables26 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Role | Default | Source |
|---|---|---|---|
| horizon (steps) | ; -step prefix re-read | instrument manifest | |
| warm-up excluded from every metric | steps | instrument manifest | |
| errand-action cap per hundred steps | ; dense | preregistered axis | |
| errand cost (actions) | for site distance | audited per atom | |
| flip-out and flip-back intensity, group A | drift schedule | ||
| groups B, C | drift schedule |
| Symbol | Meaning | Symbol | Meaning |
|---|---|---|---|
| flip-out and flip-back intensity | forgone gain of a suspended item | ||
| total flip intensity | misuse loss of a served stale item | ||
| staleness belief | usage receipts of item | ||
| stationary suspicion | usage rate | ||
| disposition threshold | durability horizon | ||
| wage (shadow price of the budget) | locality discount, in |
| Evidence channels | ||||||
|---|---|---|---|---|---|---|
| no receipts at all | 0.060 | 0.060 | 0.060 | 0.060 | 0.060 | 0.060 |
| use receipts only | 0.258 | 0.258 | 0.163 | 0.163 | 0.103 | 0.103 |
| use en-route receipts | 0.407 | 0.358 | 0.259 | 0.194 | 0.140 | 0.061 |
| System | Staleness model | Return ( )? | Repair |
|---|---|---|---|
| GLOVE ( Yin and Du, 2026 ) | reactive mismatch on re-encounter; no temporal model | no | delete and replace |
| STALE ( Chao et al., 2026 ) | one-way LLM-adjudicated invalidation | no | archive; read-time block |
| AdaMEM ( Zhang et al., 2026a ) | store frozen after construction | n.a. | regenerate a transient strategy |
| SkillGuard ( Fan et al., 2026 ) | one-shot contract check at ingestion | no | one-shot rewrite |
| Feedback loops ( Cui et al., 2026 ) | outcome bookkeeping; hand-set threshold | edge only ∗ | deprecate; no reinstate |
| MemTX ( Li et al., 2026 ) | declared validity interval, never re-evaluated | edge only ∗ | typed cascade; supersede |
| Estimand | Reads | Carrier | Preregistered band | Outcome | Verdict |
|---|---|---|---|---|---|
| StaleCost | stale collapse on the frozen arm | R1 ′ | pp | pp | in band |
| FrontierGap | ITT, Errand vs. eager @ | W1-3 | CI and pp | pp [+8.6, +11.4] | in band |
| SpendSave | spend saved at the same cap | W1-3 | , cond. within pp | % ( cond pp [-0.8, +4.5]) | in band |
| DominanceCell | caps where Errand dominates eager | W1-3 | 1/3: single-cap claim | ||
| CondMatched | matched conditional gap, high tier | W1-5 W3-5 | CI at half-width pp | pp [+3.3, +6.6] | in band |
| GapPrice | ordering premium, high minus mid tier | W1-5 W1-3 | CI | pp [+1.8, +5.8] | in band |
| Tier | Seeds | Pairs (forecast) | Half-width (pp) | Gate at 480 |
|---|---|---|---|---|
| mid | 5 | 451 | 5.27 | below 480 upgrade |
| mid | 8 | 714 | 4.19 | meets |
| high | 5 | 462 | 5.21 | below 480 upgrade |
| high | 8 | 739 | 4.12 | meets |
| high | 11 | 1016 | 3.51 | meets W3 - 5 |
| realized | 11 | 1016 | 1.66 | met |
| Group | Atoms | range | Orders/run | Uses/run | Receipts/run | Stale share |
|---|---|---|---|---|---|---|
| A | 8 | 1–2 | 20.0 | 43.5 | 58.7 | 13.8% |
| B | 8 | 2–3 | 16.0 | 98.5 | 182.7 | 15.3% |
| C | 3 | 3–3 | 22.0 | 17.1 | 28.2 | 15.9% |
| D | 2 | 4–5 | 14.0 | 10.5 | 25.8 | 18.2% |
| F | 4 | 5–7 | 8.0 | 0.2 | 15.7 | 0.0% |
| Tier | Gate | B1 | B2 | B3 | B4a | B4b ′ | B5 | Verdict |
|---|---|---|---|---|---|---|---|---|
| threshold | ||||||||
| high | measured | 23.3 | 69.7 | 199 | 85.4 | 4.7 | 16.0 | PASS (3 seeds) |
| mid | measured | 22.2 | 77.0 | 202 | 85.6 | 5.4 | 19.8 | PASS (5 seeds) |
| Arm | Cap | Conditional (%) | ITT (%) | Spend | Errands | Judged | Cap hit | |||
| judged | full | literal | all steps | % steps | cost/errand | per run | per run | runs | ||
| Errand ( ) | 54.2 | 54.1 | 88.8 | 58.4 | 1.9 | 1.03 | 32 | – | 3/3 | |
| 55.0 | 54.8 | 89.6 | 60.7 | 2.8 | 0.99 | 50 | – | 3/3 | ||
| 56.0 | 55.8 | 87.7 | 65.8 | 6.2 | 1.04 | 102 | 131 | 5/5 | ||
| 57.8 | 57.7 | 89.6 | 71.9 | 10.9 | 1.09 | 170 | 132 | 5/5 | ||
| 57.9 | 57.8 | 89.0 | 71.5 | 10.9 | 1.09 | 170 | 120 | 0/5 | ||
| Arm | Cap | Share of no-spend steps (%) | ||||
|---|---|---|---|---|---|---|
| no candidate | index at zero | gate below wage | cap reached | in flight | ||
| Errand ( ) | 10.9 | 20.8 | 17.9 | 48.3 | 2.2 | |
| 12.1 | 21.6 | 18.2 | 45.0 | 3.1 | ||
| 11.1 | 21.7 | 18.3 | 46.2 | 2.7 | ||
| 12.2 | 39.0 | 33.5 | 12.3 | 2.9 | ||
| 14.5 | 43.7 | 37.5 | 1.0 | 3.3 | ||
| Method | high gap | 4B floor | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ITT | Spend | ITT | Spend | ITT | Spend | ITT | Spend | ITT | Spend | |
| No maintenance ( ) | 51.1 | 0.0 | 51.1 | 0.0 | 51.1 | 0.0 | 45.4 | 0.0 | 43.8 | 0.0 |
| Bigger memory, no maint. | 51.2 | 0.0 | 51.2 | 0.0 | 51.2 | 0.0 | 46.5 | 0.0 | 43.6 | 0.0 |
| Fixed-cadence recheck | 58.1 | 5.9 | 61.4 | 10.8 | 64.9 | 11.3 | 56.5 | 10.9 | 46.7 | 10.6 |
| Equal-budget random | 55.1 | 5.8 | 60.8 | 10.6 | 66.2 | 10.8 | 54.4 | 10.5 | 46.4 | 10.5 |
| Eager revalidation ( ) | 57.8 | 6.2 | 61.9 | 12.1 | 66.2 | 24.1 | 57.2 | 12.2 | 48.5 | – |
| Arm (high tier) | Cond. judged | Cond. full | ITT | Spend | (pp) |
|---|---|---|---|---|---|
| Errand ( ) | 59.5 | 59.4 | 67.1 | 10.7 | 7.3 |
| Eager revalidation ( ) | 54.6 | 54.5 | 57.2 | 12.2 | 3.3 |
| Matched conditional pairs by item class (1016 pairs, 11 seeds; seed-clustered): | |||||
| A_onpath | 261 pairs | cond pp [+6.1, +11.1] | |||
| B_onpath | 248 pairs | cond pp [+1.9, +7.2] | |||
| C_fetch | 256 pairs | cond pp [-1.2, +7.8] | |||
| Variant | ITT (%) | Cond. (%) | Spend (%) | ITT [95% CI] | Predicted |
|---|---|---|---|---|---|
| Full Errand | 71.3 | 61.3 | 10.3 | – | |
| w/o deadband gate (pure ranking) | 67.8 | 58.3 | 10.8 | pp [-7.4, +0.4] | ✓ |
| coverage sum max | 68.1 | 58.5 | 10.7 | pp [-6.7, +0.4] | ✓ |
| index: belief only | 66.0 | 57.1 | 11.0 | pp [-7.1, -3.5] | ✓ |
| index: age only | 64.7 | 57.0 | 11.0 | pp [-13.3, +0.1] | ✓ |
| (no regime return) | 66.3 | 57.9 | 11.0 | pp [-8.6, -1.4] | ✓ |
| Allocator | (tight) | (loose) | ||
|---|---|---|---|---|
| ITT (%) | vs. numeric | ITT (%) | vs. numeric | |
| numeric index (receipts priced in) | 67.1 | – | 72.5 | – |
| Whittle closed form | 65.0 | 70.6 | ||
| myopic | 62.3 | 70.7 | ||
| Coverage | Binding budget | Non-binding budget | ||||||
|---|---|---|---|---|---|---|---|---|
| open channel | gated comparator | open channel | gated comparator | |||||
| light | heavy | light | heavy | light | heavy | light | heavy | |
| 1.7 | 2.3 | 1.6 | 1.9 | -0.1 | -0.0 | -0.4 | -0.2 | |
| 5.6 | 7.4 | 4.8 | 6.1 | -0.3 | 0.1 | 0.1 | 0.1 | |
| 7.2 | 10.5 | 6.0 | 8.6 | 0.5 | 0.4 | 0.1 | 0.2 | |
| 8.4 | 11.8 | 6.6 | 9.8 | -0.1 | 0.2 | 0.0 | -0.1 | |
| Policy | |||||
|---|---|---|---|---|---|
| Errand ( ) | 69.7 | 69.5 | 68.7 | 66.5 | 67.5 |
| Known-rate reference | 71.7 | 72.0 | 70.6 | 68.0 | 70.4 |
| Eager ( ) | 66.0 | 65.2 | 63.5 | 61.1 | 62.5 |
| Literature half-life policy | 68.3 | 65.9 | 58.2 | 50.6 | 46.7 |
| Flip group | Predicted gain (pp) | Measured (pp) | Excess (pp) |
|---|---|---|---|
| flip A | 3.10 | 4.64 | 1.54 |
| flip B | 4.50 | 6.07 | 1.57 |
| flip C | 5.20 | 7.41 | 2.21 |
| flip D | 6.80 | 9.24 | 2.44 |
| pooled | 4.90 | 6.84 | 1.94 |
| Arm | 4B backbone | 8B reference | ||
|---|---|---|---|---|
| ITT (%) | Cond. (%) | ITT (%) | Cond. (%) | |
| No maintenance ( ) | 43.8 | 43.6 | 51.1 | 48.9 |
| Eager revalidation ( ) | 48.5 | 46.0 | 61.9 | 56.0 |
| Errand ( ) | 50.6 | 47.1 | 71.9 | 57.8 |
| Atom group | Verb class | Fetch orders off | Fetch orders on |
|---|---|---|---|
| C_obj_value | fetch | 0.00 | 4.26 |
| D_path | go | 1.14 | 5.62 |
| F_obj_value | fetch | 0.00 | 0.17 |
| Method | ITT@500 | ITT@2000 | Stale@500 | Stale@2000 |
|---|---|---|---|---|
| No maintenance ( ) | 60.1 | 51.1 | 28.7 | 43.2 |
| Bigger memory, no maint. | 60.6 | 51.2 | 30.6 | 53.1 |
| Fixed-cadence recheck | 66.5 | 61.4 | 10.5 | 17.1 |
| Equal-budget random | 65.4 | 60.8 | 10.8 | 18.6 |
| Eager revalidation ( ) | 67.2 | 61.9 | 13.2 | 21.9 |
| Errand ( ) | 73.4 | 71.9 | 7.2 | 12.2 |
| Method | high | 4B | ||||
|---|---|---|---|---|---|---|
| No maintenance ( ) | 43.2 | 43.2 | 43.2 | 54.8 | 46.5 | 28.7 |
| Bigger memory, no maint. | 53.1 | 53.1 | 53.1 | 55.6 | 51.4 | 30.6 |
| Fixed-cadence recheck | 26.5 | 17.1 | 14.8 | 21.5 | 18.8 | 10.5 |
| Equal-budget random | 28.3 | 18.6 | 15.0 | 23.3 | 20.0 | 10.8 |
| Eager revalidation ( ) | 31.6 | 21.9 | 13.9 | 26.1 | 24.9 | 13.2 |
| Oracle detect-and-filter † | 3.4 | 3.4 | 3.4 | 2.6 | 4.3 | – |
| Axis | Family | Errand ITT | Eager ITT | (pp) |
|---|---|---|---|---|
| Budget , base gap | Budget | 66.1 | 57.7 | |
| Budget , base gap | Budget | 71.0 | 61.7 | |
| Budget , base gap | Budget | 72.4 | 66.5 | |
| Budget , high gap | Coverage | 60.0 | 53.5 | |
| Budget , high gap | Coverage | 66.8 | 57.5 | |
| Budget , high gap | Coverage | 66.7 | 61.9 |
| Policy | Prompt tok/step | Gen. tok/step | LLM calls/step | Sched. ms/step | Tok/errand |
|---|---|---|---|---|---|
| Errand ( ) | 431 | 64 | 1.10 | 39.8 | 361 |
| Eager revalidation ( ) | 455 | 72 | 1.40 | 32.7 | 334 |
| Fixed-cadence recheck | 417 | 60 | 1.53 | 30.4 | 355 |
| Equal-budget random | 426 | 62 | 1.44 | 28.8 | 361 |