First surfaced in Tandemly Briefing — 2026-08-31.

Agent Memory · Protocol Design

Your cached memory
has no expiry.

Every time an agent carries knowledge from one session into the next, it takes a quiet gamble: is that information still true? Servers change. APIs add fields. Schemas shift. The agent has no mechanism to find out except by trying and failing. Wu and Canedo argue this is a protocol problem, not a storage problem, and propose a fix that belongs on the wire.

Core insight
Cache savings decompose into two independent terms: validity (fraction of cached answers still correct after a server-side change, a protocol property) and compliance (fraction the planning model applies the validity signal on the first try, a model property). Fix the protocol and you may still fail on compliance.
scroll to explore

Stale discovery
is not the same as
stale avoidance.

The agent memory literature has been asking "how do agents find the right memory?" This paper asks a different question: how does the server tell the client when its memory went wrong?

Agent systems increasingly cache information across sessions. When you ask an agent to help you next week with the same service it helped you configure last week, it should be able to draw on what it learned. The field has spent considerable effort making that retrieval better: denser indexes, smarter similarity metrics, tiered storage architectures.

Those investments all share the same blind spot. They help an agent find a cached entry. None of them tell the agent whether that entry is still true. The underlying service may have changed its API, added a required field, or moved a configuration parameter since the last session. The agent discovers this by trying the cached suggestion and watching it fail. That is stale discovery: learning about staleness through failure.

What the field has not addressed is stale avoidance: the client knowing, before it tries, that a cached item is no longer valid. For that to work, the server needs a way to say so. No standard protocol for agent memory provides one.

The reframe

The existing memory literature treats this as a client problem: build a better retriever, compress the cache more intelligently, add a reranker. Wu and Canedo treat it as a protocol problem: put the validity signal on the wire so the client does not have to guess. The server owns the truth about whether its own outputs are still valid. It should say so.

Version stamps,
cacheability hints,
and a clean decomposition.

The proposed invalidation contract attaches version stamps and cacheability hints to every recovery suggestion. When the underlying data changes, the server signals exactly which cached entries are stale and at what granularity.

The mechanism is straightforward. Every suggestion the server sends carries a version stamp tied to the relevant data state, plus a cacheability hint saying how long and at what granularity the suggestion should be trusted. When that state changes, the server issues an invalidation that the client can match against its cache and evict deterministically, rather than waiting to discover the staleness through a failed retry.

The insight that makes this design tractable is a decomposition. Total cache savings do not depend on one variable; they depend on two independent ones. Validity is the fraction of cached suggestions that are still correct after a drift event. It is a protocol property: the design of the contract and the granularity of the invalidation signal determine it, independent of which model is running. Compliance is the fraction of valid invalidation signals the planning model actually applies on the first try. It is a model property: the protocol can be perfect and compliance can still be low.

That decomposition is the paper's most transferable contribution. It tells you which half of the problem to fix. Low validity means improve the protocol. Low compliance means examine the model.

Without invalidation contracts
Client guesses. The agent applies a cached suggestion from a prior session. It may succeed, or it may fail on a validation error because the server changed a schema field since the last run. Staleness is discovered through failure. Every doomed cache hit wastes tokens and latency before surfacing the problem.
With invalidation contracts
Server signals. Each recovery suggestion carries a version stamp. When the underlying data changes, the server sends an invalidation at row or table granularity. The client evicts matching entries before attempting a call. No wasted token spend on cached suggestions the server has already declared stale.
Scale and domains

The evaluation ran across seven models, three serving paths, two domains, and approximately 9,400 episodes. Granularity was varied between row-level and table-level to isolate the granularity effect cleanly. The domains were narrow: API error recovery scenarios. Generalization to other memory content types is not yet tested.

Granularity is binary.
Compliance is a
model property.

Two findings reshape how teams should think about cross-episode memory. The first is about granularity. The second is about which model they pick.

100%
First-try compliance
Claude Haiku 4.5
≤11%
First-try compliance
Claude Sonnet 5
15%
Added response payload
zero contract failures
Finding 1: Granularity determines whether recovery is possible at all

Row-level invalidation raised first-try compliance from near zero to 55.6-66.7 percentage points on three models, and recovered 29-33% of baseline token cost on four of seven models. Eviction precision hit 1.00 at row granularity on every model under the paper's row-level oracle.

Table-level invalidation produced a different outcome entirely. Invalidating at the table level destroys co-located entries, not just the stale one. First-try compliance dropped to 0% on five of seven models after a drift event. This is not degraded recovery. It is no recovery. The granularity choice is binary: row-level is survivable, table-level is not.

Finding 2: The compliance gap is a model variable, not a capability variable

The most consequential number in the paper is the compliance gap between Claude Haiku 4.5 (100%) and Claude Sonnet 5 (11% or below). The failure mode on Sonnet 5 was specific: input-schema conservatism. Sonnet 5 refused to apply fixes that added fields not present in the original request, even when the invalidation contract supplied a valid signal authorizing that change.

The implication is direct. A stronger model is not a safe substitution for a model that already works. For deployments that depend on cross-episode cache reuse, compliance is a first-class selection criterion alongside capability. Measure it before committing to a model choice.

Scope and limitations

Results are based on a row-level oracle defined in the paper. The evaluation domains were narrow (API error recovery). Generalization to other memory content types, such as conversational history or multi-turn task state, is untested. The overhead figure of 15% added response payload is honest and consistently reported across conditions; no contract failures were observed in the evaluation.

What to do
with this.

The invalidation-contracts pattern applies to any agent system that caches server-side suggestions across episodes. The compliance finding applies to any system that depends on a planner model acting on a structured signal.

1
For developers building cross-episode agent systems
Ask whether your server has any mechanism to signal cache staleness before the agent tries to use a cached entry. If the answer is no, you are leaving stale discovery as the only path. Add version stamps to your recovery suggestions and a row-level invalidation channel before investing further in retrieval quality. A clean invalidation signal does more for reliability than a better similarity metric.
2
For teams choosing planner models
Before committing to a model for a deployment that relies on cross-episode caching, run a compliance test. Provide the model with a valid invalidation signal and measure how often it applies the fix on the first try. A model that scores highly on capability benchmarks may still score poorly on compliance if it applies input-schema conservatism. Measure separately.
3
For teams evaluating cache performance
Report validity and compliance as two separate metrics rather than a single cache hit rate. A high hit rate on a system where compliance is low tells you that the protocol is working but the model is ignoring it. The decomposition makes the gap visible. If you only track hit rate, you cannot tell these apart.
4
For architects designing the invalidation contract
Choose row granularity for invalidation, not table granularity. Table-level invalidation destroys co-located entries and produces zero first-try compliance on most models under a drift event. The overhead cost of row-level precision is 15% added response payload, which is small relative to the cost of a cache system that fails completely after any data change.
5
For everyone: note the domain caveat
The evaluation covered API error recovery scenarios. Before applying these patterns to conversational history, task-state memory, or other cross-episode content, run your own narrow validation. The decomposition and the compliance test methodology transfer. The specific numbers may not.

Where to go
from here.

Concrete next steps if you want to apply or extend this work.

1
Read the paper
Wu, M., & Canedo, A. (2026). Invalidation Contracts for Cross-Episode Agent Memory. arXiv:2609.00243. The decomposition into validity and compliance is in the methodology section and is the most reusable part of the work.
2
Audit your current caching setup
List every place your agent caches a server-side suggestion across sessions. For each, ask: when the server changes, how does the client find out? If the only answer is "on the next failed call," you have a stale-discovery setup. That is the gap this paper addresses.
3
Run a compliance test on your planner model
Construct a minimal test harness: one cached suggestion, one invalidation signal at row granularity, one request to the planner to apply the fix. Measure first-try compliance across ten to twenty runs. This takes an hour and tells you more about your deployment's readiness than any capability benchmark.
4
Pair with related work on memory validity and agent safety
Wu and Canedo address cross-episode protocol staleness. Related work on implicit memory conflicts (STALE benchmark), longitudinal memory drift (Remembering More, Risking More), and adversarial memory writes (FARMA) cover adjacent failure modes. Together they sketch a more complete picture of what makes agent memory unsafe at scale.
5
Track validity and compliance in production
Once you have an invalidation contract deployed, add two dashboard metrics: the fraction of cached entries that survive a drift event (validity) and the fraction of valid signals the planner applies on first try (compliance). If compliance starts dropping, investigate the planner model before tuning the protocol.