When Is a Memory Safe Enough to Act On? Action-Conditioned Verification for Long-Lived Agents
Organizations: University of Southern Queensland, Australia · Southern University of Science and Technology, Shenzhen, China · Jiangsu University, China · The University of Sydney, Australia ·
Abstract
Long-lived agents act on memory carried across sessions, and many of their actions are irreversible, so a stale memory can turn directly into harm. Existing work improves the memory itself --- retrieving, refreshing, or reconciling entries --- yet whether an entry must be re-checked before acting is not a property of the entry: the same remembered address can be used unchecked for a routine shipment but should be re-confirmed before a valuable one. We therefore study action-conditioned memory verification: given a candidate action, decide which of its memory premises to re-verify and when to proceed or abstain, balancing execution risk, abstention, and verification cost. We formulate this as a sequential stopping problem, in which a verification is worth its cost only if it can change what the agent does next; under suitable verifier reliability and cost conditions, increasing action consequence can move the same memory through proceed, verify, and direct-abstention regimes. Building on this formulation, AMV-Guard is a practical verification gate that extracts the premises a candidate action rests on, calibrates beliefs about whether they are wrong, and selects checks by bounded value of information (VOI). On ToolSandbox, relative to a static policy given the same inputs, it lowers mean verification cost by 33.9% while keeping 100% safe-proceed recall and 0% Gate harmful, and raises Proceed coverage from 38.83% to 44.17%; in a gate-core transfer to AppWorld, which carries over the stopping/VOI core but not the full structured pipeline, it lowers verification cost by 21.3% at a small cost in safe-proceed recall and task success. These results suggest that verification effort should be set by what an agent is about to do, not only by how reliable a memory appears.
Figures & tables
| Method | Safe recall | Gate harmful | Verify cost | Task success | Raw harm | Coverage |
|---|---|---|---|---|---|---|
| Always proceed | 100.00% | 66.67% | 0.000 | 68.23% | 68.75% | 100.00% |
| Always verify all | 100.00% | 23.67% | 1.976 | 74.58% | 28.02% | 62.67% |
| EnvProbe-Simple | 100.00% | 49.00% | 2.018 | 74.48% | 52.19% | 87.00% |
| CTA | 99.83% | 63.61% | 0.123 | 67.71% | 65.89% | 96.89% |
| AMV-Static | 100.00% | 0.00% | 1.843 | 72.34% | 6.82% | 38.83% |
| AMV-Guard (ours) | 100.00% | 0.00% | 1.219 | 73.91% | 7.03% | 44.17% |
| Policy | Harmful | Cost | Multi-step | Safe completion | Objective | Regret |
|---|---|---|---|---|---|---|
| Always Proceed | 14.20 | 0.000 | 0.00 | 85.80 | 0.6824 | – |
| Always Verify | 0.55 | 14.250 | 100.00 | 84.05 | 0.8903 | – |
| AMV-Static | 1.10 | 3.750 | 0.00 | 77.35 | 0.4550 | 0.0746 |
| AMV-Adaptive (one-step) | 1.20 | 4.007 | 6.80 | 81.50 | 0.4236 | 0.0431 |
| Exact Planner | 1.70 | 2.547 | 38.35 | 81.40 | 0.3805 | 0.0000 |
| Method | Safe recall | Gate harmful | Cost | Task success | Raw harm | Coverage |
|---|---|---|---|---|---|---|
| Always Proceed | 100.00 | 18.95 | 0.000 | 35.50 | 19.50 | 100.00 |
| Always Verify | 54.74 | 6.32 | 5.600 | 11.00 | 8.50 | 37.37 |
| EnvProbe | 91.58 | 17.37 | 2.980 | 23.00 | 18.50 | 90.53 |
| CTA | 67.37 | 13.16 | 3.385 | 18.50 | 16.00 | 61.05 |
| AMV-Static | 72.63 | 8.42 | 2.655 | 30.50 | 10.50 | 59.47 |
| AMV-Guard | 70.53 | 7.89 | 2.090 | 28.00 | 10.00 | 57.37 |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| ID | Construction | Intended response | Count | Automated consistency check |
|---|---|---|---|---|
| V0 | No world change. | Proceed when the remembered critical fields agree with the world. | 240/80/80 | Critical memory–world agreement. |
| V1 | Flip exactly one critical field; low-battery is excluded when its cascade would change several services. | Verify if worthwhile; reject/replan if the premise is refuted. | 240/80/80 | Exactly one intended change enters the oracle dependency details. |
| V2 | Flip one causally irrelevant field; fields whose invariants cascade into a critical service are excluded. | Proceed without unnecessary verification. | 240/80/80 | No critical field changes and the selected field is absent from the dependency closure. |
| V3 | Flip two independently sampled critical fields (messaging only). | Exercise multi-premise/adaptive verification. | 160/0/0 | Messaging-only scope and two materialised critical changes. |
| V4 | Apply both fields of one correlated event (contact sync; messaging only). | Exercise correlated-premise handling. | 160/0/0 | Messaging-only scope and both correlated fields materialised. |
| V5 | Flip one critical field and mark every covering channel unavailable/failed ( ). | Abstain when the unsafe premise cannot be checked. | 240/80/80 | Unavailable channels use the failed model and explicit reason. |
| Backbone | Gate harmful | Verify cost | Coverage |
|---|---|---|---|
| Qwen3.5-35B-A3B | 0.00% 0.00% | 1.843 1.219 | 38.83% 44.17% |
| Qwen3.5-27B | 0.00% 0.00% | 1.761 1.016 | 40.21% 40.21% |
| DeepSeek-V4.1-Flash | 0.00% 0.00% | 1.916 0.787 | 45.31% 39.63% |
| Candidate | Extracted premise targets | High-risk verify | Low-risk proceed | Relevant query |
|---|---|---|---|---|
| send_message_with_phone_number | Contact phone; cellular | 100.0 | 100.0 | 100.0 |
| set_wifi_status | Wi-Fi; low-battery mode | 100.0 | 100.0 | 100.0 |
| Method | Loss level | Verify | Harmful proceed | Safe completion | Cost |
|---|---|---|---|---|---|
| AMV-Guard | Low | 0.0 | 0.0 | 100.0 | 0.000 |
| Medium | 15.8 | 64.2 | 33.6 | 0.164 | |
| High | 62.8 | 0.0 | 33.6 | 1.170 | |
| AMV-NoLoss | Low | 15.8 | 0.0 | 97.8 | 0.164 |
| Medium | 15.8 | 64.2 | 33.6 | 0.164 | |
| High | 15.8 | 64.2 | 33.6 | 0.164 |
| Fit data | ECE | Brier | NLL | Safe recall | Gate harmful | Coverage | Cost |
|---|---|---|---|---|---|---|---|
| Raw confidence | 0.319 | 0.319 | 4.401 | 100.00 | 65.83 | 99.17 | 0.000 |
| 10% | 0.114 | 0.230 | 0.727 | 86.00 | 3.40 | 32.07 | 0.980 |
| 25% | 0.123 | 0.230 | 0.697 | 86.00 | 0.00 | 28.67 | 0.998 |
| 50% | 0.108 | 0.218 | 0.609 | 100.00 | 0.00 | 33.33 | 1.082 |
| 100% | 0.082 | 0.209 | 0.588 | 100.00 | 0.00 | 33.33 | 1.167 |
| Stratum | Extractor | Precision | CR | F1 | DA | GH | Cost |
|---|---|---|---|---|---|---|---|
| Seen schema | LLM-only | 100.00 | 94.65 | 97.25 | 100.00 | 10.76 | 1.051 |
| Graph-only | 100.00 | 100.00 | 100.00 | 62.89 | 0.00 | 0.962 | |
| LLM+Graph | 100.00 | 100.00 | 100.00 | 100.00 | 0.00 | 0.962 | |
| Union+CF | 100.00 | 100.00 | 100.00 | 100.00 | 0.00 | 0.962 | |
| Unseen tool family | LLM-only | 100.00 | 95.91 | 97.91 | 100.00 | 8.23 | 1.025 |
| Graph-only | 100.00 | 12.58 | 22.35 | 100.00 | 7.59 | 0.000 |
| Method | Safe recall | Gate harmful | Verify cost | Task success | Raw harm | Coverage |
|---|---|---|---|---|---|---|
| Always Proceed | 100.00 [100.00,100.00] | 66.67 [66.67,66.67] | 0.000 [0.000,0.000] | 68.23 [68.01,68.45] | 68.75 [68.75,68.75] | 100.00 [100.00,100.00] |
| Always Verify | 100.00 [100.00,100.00] | 23.67 [23.25,24.08] | 1.976 [1.964,1.988] | 74.58 [73.99,75.18] | 28.02 [27.21,28.83] | 62.67 [62.25,63.08] |
| EnvProbe-Simple | 100.00 [100.00,100.00] | 49.00 [48.59,49.41] | 2.018 [2.016,2.020] | 74.48 [73.89,75.07] | 52.19 [51.80,52.58] | 87.00 [86.59,87.41] |
| CTA | 99.83 [99.12,100.00] | 63.61 [60.48,66.75] | 0.123 [0.123,0.123] | 67.71 [66.24,69.18] | 65.89 [62.95,68.82] | 96.89 [93.52,100.00] |
| AMV-Static | 100.00 [100.00,100.00] | 0.00 [0.00,0.00] | 1.843 [1.831,1.856] | 72.34 [72.34,72.34] | 6.82 [6.60,7.05] | 38.83 [38.83,38.83] |
| AMV-Guard | 100.00 [100.00,100.00] | 0.00 [0.00,0.00] | 1.219 [1.219,1.219] | 73.91 [73.91,73.91] | 7.03 [7.03,7.03] | 44.17 [44.17,44.17] |
| Backbone | Method | Safe recall | Gate harmful | Verify cost | Task success | Raw harm | Coverage |
|---|---|---|---|---|---|---|---|
| Qwen3.5-35B-A3B | Always Proceed | 100.00 | 66.67 | 0.000 | 68.23 | 68.75 | 100.00 |
| Always Verify | 100.00 | 23.67 | 1.976 | 74.58 | 28.02 | 62.67 | |
| AMV-Static | 100.00 | 0.00 | 1.843 | 72.34 | 6.82 | 38.83 | |
| AMV-Guard | 100.00 | 0.00 | 1.219 | 73.91 | 7.03 | 44.17 | |
| Qwen3.5-27B | Always Proceed | 100.00 | 64.73 | 0.000 | 68.13 | 68.75 | 100.00 |
| Always Verify | 100.00 | 23.63 | 2.060 | 75.52 | 30.63 | 63.84 |
| Method | Unsafe Pass | Resolved w/o action | Final ABSTAIN | Initial action/intent error | Replan |
|---|---|---|---|---|---|
| Always Proceed | 100.00 | 0.00 | 0.00 | 6.25 | 0.00 |
| Always Verify | 35.50 | 22.67 | 14.67 | 6.25 | 17.81 |
| EnvProbe-Simple | 73.50 | 13.00 | 0.00 | 6.25 | 20.63 |
| CTA | 95.42 | 0.11 | 3.00 | 6.25 | 0.00 |
| AMV-Static | 0.00 | 31.83 | 29.33 | 6.25 | 17.08 |
| AMV-Guard | 0.00 | 31.83 | 24.00 | 6.25 | 25.00 |
| Method | Safe recall | Gate harmful | Unsafe Pass | Verify cost | Task success | Raw harm | Coverage |
|---|---|---|---|---|---|---|---|
| Always Proceed | 100.00 [100.00,100.00] | 18.95 [13.68,23.50] | 37.89 [27.37,47.00] | 0.000 [0.000,0.000] | 35.50 [27.00,44.00] | 19.50 [14.50,24.50] | 100.00 [100.00,100.00] |
| Always Verify | 54.74 [44.68,64.44] | 6.32 [3.16,10.10] | 12.63 [6.32,20.20] | 5.600 [4.280,7.105] | 11.00 [6.00,16.50] | 8.50 [5.00,13.00] | 37.37 [29.79,45.31] |
| EnvProbe | 91.58 [86.02,96.88] | 17.37 [12.89,22.11] | 34.74 [25.77,44.21] | 2.980 [1.965,4.170] | 23.00 [16.00,31.00] | 18.50 [14.00,23.50] | 90.53 [84.90,95.88] |
| CTA | 67.37 [58.33,76.84] | 13.16 [8.95,17.74] | 26.32 [17.89,35.48] | 3.385 [2.600,4.280] | 18.50 [12.50,25.00] | 16.00 [11.00,21.50] | 61.05 [52.69,69.59] |
| AMV-Static | 72.63 [63.16,81.25] | 8.42 [4.74,12.50] | 16.84 [9.47,25.00] | 2.655 [2.095,3.285] | 30.50 [22.00,39.00] | 10.50 [6.50,15.00] | 59.47 [51.03,67.37] |
| AMV-Guard | 70.53 [61.29,79.79] | 7.89 [4.35,11.83] | 15.79 [8.70,23.66] | 2.090 [1.620,2.585] | 28.00 [20.50,36.50] | 10.00 [6.00,14.50] | 57.37 [48.92,65.96] |
| Model | Total params | Active params | Experimental role |
|---|---|---|---|
| Qwen3.5-35B-A3B | 35B | 3B | Candidates, premises (§ 4 ); main, AppWorld (§ 5 ) |
| Qwen3.5-27B | 27B dense | 27B | Cross-backbone evaluation |
| DeepSeek-V4.1-Flash | 552B | 8B input / 16B output | Cross-backbone evaluation |
LLM Agent Verification
LLM agent verification checks whether agents’ actions, evidence, policies, and completion claims satisfy explicit requirements.
See all 148 papers