Kymata Labs
KYMATA LABS·AI RELIABILITY
← Back to Research Hub
AI AgentsMemoryReliabilityProduction Systems

The Agent Memory Staleness Problem

Your agent's memory will confidently tell you something that was true once and is false now. Here is the operator's framework for when to distrust it.

Kymata Labs Research·June 2026·~16 min read

This is not an argument that AI agents cannot remember. They can, and the engineering that lets them is genuinely good. It is also not the knowledge-cutoff problem, the well-worn observation that a model's training data freezes at a date. The claim here is narrower and, we think, more dangerous to ignore: the memory systems we are shipping optimize for persistence and retrieval, and almost none of them track whether a thing they remember is still true. A stored fact is a claim with a decay rate that nobody is measuring. And a stale fact that is retrieved confidently is worse than no memory at all, because the agent does not hesitate. It acts.

📄 The full cited PDF report is free to download at the bottom of this page, no signup.

The argument

The thesis in six moves

We run a long-lived, memory-persisting, multi-agent system in production. This paper is written from that chair, not from the outside. The failure mode it describes is one we have lived, and as it happens, one this very document caught us committing while it was being written. More on that later.

  1. We solved remembering. The last two years produced a real memory stack for agents. Mem0 builds a production extraction-and-consolidation pipeline over long conversations. Letta (formerly MemGPT) treats context like an operating system, paging memory in and out and letting the agent edit its own blocks. Zep's Graphiti stores memory as a temporal knowledge graph. A-MEM links notes Zettelkasten-style. Each is a serious answer to how does an agent retain and recall information across a long run.
  2. We did not solve truth-maintenance. Read the design of those systems closely and a pattern appears: they optimize formation, extraction, consolidation, ranking, and retrieval. None has a first-class mechanism for noticing that a stored fact, true when written, has since become false in the world. The fact does not get retracted. It sits in the store, ranked by relevance, and is served on the next relevant query with the same confidence as a fact that is still true.
  3. This is a distinct failure mode, not a relabeling of a known one. It is not catastrophic forgetting, which is the loss of correct knowledge. It is not the model's knowledge cutoff, which lives in the weights and is patched by web search or retrieval. It is not RAG index freshness, which lives at the document layer. It is the decay of a persisted belief the agent has written down and trusts. The Knowledge Conflicts survey gives it a clean place in the taxonomy: a context-memory conflict, where what the agent stored contradicts what is now true.
  4. It is pervasive, and it is hard. DyKnow tested time-sensitive factual knowledge across twenty-four open and commercial LLMs against Wikidata and concluded that outdatedness is a critical problem across the state of the art. The same study found that the leading knowledge-editing algorithms could not reliably reduce the outdated answers. The benchmarks tell the same story from every angle: TimeQA's best model reaches 46% on time-evolving facts where humans reach 87%; LongMemEval measures a roughly 30% accuracy drop for commercial assistants maintaining information across sustained interactions, and one of its named abilities is “knowledge updates”; SituatedQA finds that about one in six information-seeking questions has an answer that changes with time or place, and models trained on past data lose about fifteen points answering present-day questions even with an updated evidence corpus.
  5. The fixes that exist are reactive. The best of the current systems handle contradiction, but only when the contradiction arrives. Zep's bi-temporal graph will invalidate an edge, but the trigger is a new, semantically related edge that an LLM judges to conflict. Mem0's update phase issues a DELETE for a memory contradicted by new information. Both are correct and both are necessary. Neither is sufficient, because both wait for a contradicting message. A fact that goes quietly false in the world, with no new input announcing the change, stays marked valid forever. The agent never hears that you moved.
  6. The operator's question is unanswered. Granting all of the above, the person actually running an agent in production is left with three questions nobody has framed end to end: which of my stored memories should I distrust, how fast does each kind go stale, and who or what is responsible for re-verifying them before they are served. That framework is the contribution of this paper.
46%

TimeQA’s best model on time-evolving facts, where humans reach 87%

~30%

LongMemEval accuracy drop for commercial assistants over sustained interactions

1 in 6

SituatedQA: information-seeking questions whose answer changes with time or place

24

open and commercial LLMs DyKnow found outdated against Wikidata

Definitions

What “stale” actually means

Precision first, because the word is overloaded.

A useful distinction comes from temporal databases and shows up, not by accident, in the most advanced agent-memory system to adopt it. Zep's Graphiti tracks two independent time axes on every fact: transaction time (when the system learned a fact, and when it retired it) and valid time (the span during which the fact was actually true in the world). The gap between those two axes is exactly where staleness lives. A memory store that records only transaction time, which is most of them, knows when it wrote a fact down. It does not know, and cannot tell you, whether that fact is still true.

It is worth being concrete about what does and does not count, because the term gets stretched. When Anthropic writes about “stale” content in its guidance on context management, it means stale tool calls and results cleared from the context window as it approaches a token limit. That is a budget concern about the working set, not a truth concern about the memory store. Anthropic's actual memory tool, the persistent one, is described as the ability to create, read, update, and delete files in a dedicated directory. It is CRUD on files. It has no notion of whether a file's contents are still true. The responsibility for noticing decay is delegated, silently and completely, to the model. We are not singling out Anthropic; this is the norm. We are pointing at it because it is the clearest illustration that the truth layer is simply absent from the tools people deploy.

When we say a memory is stale, we mean precisely this: it was true at the transaction time it was written, it is false at the valid time it is being read, and nothing in the system knows the difference.

The working definition
The literature on itself

The gap, shown

The cleanest evidence that the field has under-attended to this is the field's own literature describing itself. Read the major surveys of LLM-agent memory and the vocabulary is consistent: writing, management, reading; formation, consolidation, retrieval; summarization, recall, reflection. When those same survey texts are searched for the language of staleness, the core terms are essentially absent. Words like obsolete, expired, invalidate, superseded, and freshnessbarely register against the dense formation-and-retrieval vocabulary that surrounds them. We are deliberately not claiming a tally of “N formation papers versus zero staleness papers,” because no survey tabulates it that way and we will not invent a number. The honest framing is the one the texts support: the language of remembering outnumbers the language of distrusting a memory by a wide margin, and the specific notion of a stored belief that silently goes false is, in the agent-memory literature, close to unspoken.

Close to, not entirely. Honesty requires naming the work that gets closest, and one paper now names the failure mode almost exactly. STALE, published in May 2026, asks in its title whether LLM agents can know when their memories are no longer valid, observes that current benchmarks primarily measure static fact retrieval while overlooking the ability to revise stored beliefs, and introduces a name for the case we care about most: Implicit Conflict, where a later observation invalidates an earlier memory without explicitly negating it. We cite it head-on. The reader who knows the literature would surface it anyway, and a paper that hid its closest prior art would deserve the skepticism. STALE plants the academic flag.

What STALE is, though, is an evaluation: a benchmark of conflict scenarios that measures whether a model can detect implicit conflict when shown the evidence. That is upstream of the operator's problem and does not touch it. Knowing that models are mediocre at spotting an implicit contradiction does not tell the person running an agent which of ten thousand stored facts to re-check tonight, how often, or at whose expense. The diagnosis exists. The operating manual does not. That is the unclaimed ground, and the rest of this paper tries to claim it.

What exists: the diagnosis

STALEMeasures whether a model can detect an implicit conflict when shown the evidence.
ReachUpstream of the operator. Tells you models are mediocre at spotting contradiction.
LimitDoes not tell you which stored fact to re-check, how often, or at whose expense.

What is missing: the manual

WhichOf ten thousand stored facts, which should be distrusted first.
How fastHow quickly each class of fact goes stale, so you can budget re-checks.
WhoWhat is responsible for re-verifying a memory before it is served as truth.
The toolbox today

Why the existing fixes don’t close it

It is worth walking the current toolbox and marking precisely where each stops, because every one of these is a real, shipped technique and several are excellent.

Contradiction-on-write (Mem0's DELETE, Zep's edge invalidation). When new information arrives that an LLM judges to conflict with a stored memory, the old memory is retracted or invalidated. This is the right floor. It is also fundamentally reactive: it requires the contradicting input to show up. The hardest stale facts are the ones the world changed without telling your agent. You changed jobs in a conversation your agent was not part of. The product you cached the price of went on sale. Nothing in the input stream announces it, so contradiction-on-write never fires.

Bi-temporal validity (Zep/Graphiti). Tracking valid-time and transaction-time is, in our view, the most important primitive in the space, because it is the data model that can represent staleness at all. But representing it is not detecting it. In the published design the invalidation is still triggered by an incoming contradictory edge. Searched directly, the architecture paper does not use the language of proactive expiry, decay, or scheduled re-checking. The graph can hold the truth that a fact expired; it waits to be told.

Self-editing and background consolidation(MemGPT/Letta, sleep-time compute). Letta gives the agent tools to rewrite its own memory and runs an asynchronous “sleep-time” pass that reorganizes memory between turns. This is genuinely useful, and it is the closest structural hook for what we will propose. But its stated purpose is tidiness: memory that would otherwise become messy and disorganized. Reorganizing a false fact more neatly does not make it true. The background pass exists; it is pointed at the wrong target.

Knowledge editing(ROME, MEMIT). These apply a correction to a model's parametric knowledge. They are downstream of the operator's problem in the same way STALE is upstream of it: editing assumes you already know which fact is wrong and what the right answer is. The detection, the “which of my beliefs went stale,” is the part left undone, and DyKnow's finding that editing fails to reduce outdatedness in practice underlines that you cannot edit your way out of a problem you cannot first detect.

The shape of the gap

Everything we have is either reactive (waits for contradiction), structural without a trigger (can represent expiry, does not schedule it), or corrective without detection (fixes a fact once you know it is wrong). Nobody is proactively asking, of a memory sitting quietly in the store, is this still true, and how would I know.

The part the operator needs

A taxonomy of decay

Here is the observation that the academic framing misses and the operator cannot avoid: facts do not decay at the same rate, and the spread is enormous. Treating “memory” as one thing with one freshness policy is the original sin.

Consider the memories a real assistant accumulates about one person:

Decay classExamplesHalf-life
Effectively permanentDate of birth, the city someone grew up in, the fact that they have a sister. Re-verifying these is waste.decades
SlowHome address, employer, job title, the car they drive. Consequential when wrong: an agent that books travel to a stale home address fails expensively.years
MediumStated preferences, current projects, who they are working with, their goals this quarter. The dangerous middle: stable enough to trust, changes often enough to betray you.months
FastMood, what they are doing today, the open thread in the current conversation. Acting on yesterday's state is a visible, immediate failure.hours
VolatilePrices, availability, the contents of a shared document, anything with an authoritative external source. Arguably should not be memorized at all; they should be re-fetched.minutes

This is why a single time-to-live is the wrong instrument. Set the TTL aggressive enough to catch the volatile facts and you burn re-verification budget churning birthdays. Set it slack enough to leave permanent facts alone and every price you cached is a lie within the hour. The research that takes this seriously arrives at the same conclusion from the formal side: HALO had to model a half-life per fact precisely because outdated facts result from exceeding an expiration date that is not uniform across facts. The operator's version of that insight is a policy table, not a constant.

The principle

The practical artifact is a mapping from fact class to re-verification policy. Every memory, on write, gets tagged with a class. Each class carries a half-life and a re-grounding method: permanent facts are never re-checked; slow facts are re-checked on a long cadence or when high-stakes actions depend on them; volatile facts are not stored as truth at all but as a cache with a hard expiry and a source to re-fetch from. The point is not the exact buckets, which every team will tune, but the principle: staleness policy is a property of the fact, assigned at write time, not a global setting. No memory system we surveyed asks the writer that question.

The responsibility model

Who re-verifies, and how

A taxonomy of decay is inert without an owner. The second half of the operator's framework is a responsibility model: a clear answer to who or what re-checks a memory, and how, before it is served as truth. Three mechanisms, in increasing order of how much they close the gap.

01
Provenance as a prerequisite

You cannot re-verify a fact you cannot trace. Every memory should carry where it came from: the source episode, message, document, or tool result. The thinnest, most under-built part of the stack, the cheapest to add, and nothing else works without it. A fact with no source should be trusted least of all.

02
Proactive re-grounding, budgeted by value

The operator's move is to go looking before being told. A background pass walks the store and re-checks facts that are both past their half-life and high-value, where value is retrieval frequency times the stakes of the actions that depend on them. Letta's sleep-time slot, repointed from tidiness to truth.

03
Distrust as a first-class state

The most important change is the cheapest. Introduce a third state: present but past its confidence horizon. A stale-by-policy memory is not silently served and not silently deleted. It is surfaced, flagged, re-grounded on demand, or escalated. Making decayed memory visibly decayed is most of the fix.

Provenance is the thinnest, most under-built part of the current stack and the cheapest to add, and nothing else in this section works without it. Proactive re-grounding is the same machinery as Letta's sleep-time consolidation, repointed from tidiness to truth, and the same idea as the search-augmented refresh that FreshLLMs applies to model knowledge, applied instead to the persisted store. A fact retrieved a hundred times a week and last verified six months ago is the first thing the pass should re-ground; a birthday verified once is the last. And the failure we are trying to prevent is not that the agent lacks a fact. It is that the agent serves a decayed fact with the full confidence of a fresh one.

None of these three requires the protocol's cooperation or a new model. They are operator-side controls, implementable on top of any of the memory systems named above, the same way the defenses in our MCP work sat on top of a protocol we did not control.

Scar tissue

From the operator’s chair

We promised this was written from inside a running system, so here is the scar tissue, including a piece of it produced in the act of writing.

We run Agent OS, a multi-agent system with a persistent memory layer that has accumulated for months. The symptoms in this paper are not hypotheticals; they are our incident log.

The memory index itself bloated past the point of trust. The human-readable memory file the system loads each session grew to fifty-four kilobytes and over two hundred and seventy lines, and the harness now warns, on load, that it is too large and that entries should be moved out. A memory store that has to warn you it can no longer be reasoned about in one pass is a store accumulating faster than it is being validated. Persistence without truth-maintenance does not fail loudly. It silts up.

We had already, before writing this, been forced into one of the controls above by the failure it prevents. The system's recall instructions now carry an explicit rule: a recalled memory reflects what was true when it was written, and if it names a file, a function, or a configuration flag, that reference must be re-verified against the live system before it is acted on. That rule did not come from theory. It came from agents confidently acting on remembered file paths and flags that had since moved or been renamed. It is, in miniature, exactly the distrust-as-a-state control: a class of memory (code references) marked low-half-life, with a mandatory re-grounding step before use.

The thesis demonstrated itself on its author. A long-standing entry in our memory said, in effect, the house writing style uses no em-dashes. It had been true once, for a different surface and a different voice, and had quietly gone false. It was confidently stored, retrieved exactly when relevant, and wrong.

Persistence is not truth

And then, while researching this very paper, the thesis demonstrated itself on its author. A long-standing entry in our memory said, in effect, the house writing style uses no em-dashes. We nearly wrote the entire paper to that rule. Before doing so, we sent an agent to measure the actual published papers it was supposed to match. They use the em-dash heavily, dozens of times each. The memory had been true once, for a different surface and a different voice, and had quietly gone false as the body of work evolved. It was confidently stored, it was retrieved exactly when relevant, and it was wrong. The only thing that caught it was a re-grounding step against the source of truth, run because the stakes of getting the house voice wrong were high enough to justify the budget. That is this paper's entire argument, compressed into a punctuation decision: persistence is not truth, and the only defense is to go and look.

The operating manual

What to do Monday

The framework reduces to five controls an operator can implement this week, on top of whatever memory system is already running. They are ordered by leverage.

  1. Stamp every memory, on write, with two things: a last_verified timestamp and a fact class. The timestamp is the transaction-time anchor; the class assigns a half-life. This single change converts an undifferentiated store into one that can reason about its own freshness. It is also the change that costs the least and unlocks the rest.
  2. Run a proactive re-verification pass, budgeted by value. Background work that re-grounds facts which are both past their half-life and high-retrieval or high-stakes. Reuse the sleep-time/consolidation slot you may already have; point it at truth, not tidiness.
  3. Keep contradiction-detection on write as the floor, not the ceiling. Mem0's DELETE and Zep's invalidation are correct and you should have them. Just do not mistake reacting to an announced contradiction for detecting a silent one.
  4. Track provenance on every fact. Source episode, message, document, or tool. A fact with no source cannot be re-grounded and should be trusted least. This is the cheapest gap to close and the prerequisite for control 2.
  5. Make stale memory a visible state, not a silent answer. Past its confidence horizon, a memory is flagged, re-grounded on demand, or surfaced for review, never served with the confidence of a fresh fact. The goal is to prevent the confident lie, which is the failure that actually costs you.

The weighting matters: prefer proactive re-grounding over reactive contradiction, and prefer visible distrust over silent service. The reactive techniques catch the contradictions that arrive. The damage is done by the ones that do not.

Why now

The next reliability cliff is quieter

The reason this is becoming urgent now, rather than being a permanent footnote, is duration. An agent that runs for the length of one conversation can hold its world in its context and barely needs a memory store at all. An agent that runs for months accumulates a body of beliefs that drifts out of sync with the world at a rate proportional to how much it has stored. The longer and more useful the agent, the larger and staler its memory, and the more confidently it will act on facts that expired while it was working.

The field solved remembering because remembering was the obvious problem. The next reliability cliff is quieter. It is not that your agent forgets. It is that it remembers, perfectly, something that is no longer true, and tells you so without a flicker of doubt. Persistence was the easy half. Truth is the half that is still open, and it belongs, for now, to whoever is willing to go and look.

Common questions

What people ask about agent memory staleness

No. Knowledge cutoff lives in the model's weights and is addressed by retrieval or web search. Staleness here lives in the agent's persisted memory, the facts it wrote down and trusts. A perfectly current model will still confidently serve a stale fact from its own store.

For facts that have an authoritative external source, yes, and those arguably should be re-fetched rather than memorized. RAG does not help for derived memories, like inferred preferences, relationships, or summarized state, which have no single document to re-read. Those are exactly the memories that go stale silently.

A single TTL cannot, because facts decay at radically different rates. A TTL tight enough for prices churns through permanent facts; one slack enough for birthdays leaves prices stale for hours. The fix is a half-life per fact class, assigned at write time, not a global constant.

Cache invalidation assumes a canonical source of truth to invalidate against. The hardest agent memories, inferred preferences and conversational state, have no oracle to check, which is why both Zep and Mem0 use an LLM to detect contradiction rather than a key-based eviction. It is harder than cache invalidation, not equivalent to it.

No. A larger window changes how much you can hold, not whether a held fact is true. As Anthropic notes, context windows of all sizes remain subject to pollution and relevance problems. A stale fact in a larger window is still a stale fact.

About this research

Sourced, and written from the chair

Every source below was retrieved and read during research; claims in the text trace to these. Where a result rests on simulation or postdates verification, it is noted. The paper is written from the standpoint of a team that runs a long-lived, memory-persisting multi-agent system in production, and the framework it proposes is the one that system now runs on.

Mousavi, Alghisi, RiccardiDyKnow: Dynamically Verifying Time-Sensitive Factual Knowledge in LLMs. arXiv:2404.08700 (EMNLP 2024 Findings).Xu et al.Knowledge Conflicts for LLMs: A Survey. arXiv:2403.08319 (EMNLP 2024).Chao, Bai, Sheng, Li, SunSTALE: Can LLM Agents Know When Their Memories Are No Longer Valid? arXiv:2605.06527 (May 2026). Existence and framing verified; findings not independently assessed.Chhikara, Khant, Aryan, Singh, YadavMem0: Building Production-Ready AI Agents with Scalable Long-Term Memory. arXiv:2504.19413.Rasmussen, Paliychuk, Beauvais, Ryan, ChalefZep: A Temporal Knowledge Graph Architecture for Agent Memory. arXiv:2501.13956.Packer et al.MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560. (Letta.)Chen, Wang, WangA Dataset for Answering Time-Sensitive Questions (TimeQA). arXiv:2108.06314 (NeurIPS 2021).Wu et al.LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory. arXiv:2410.10813 (ICLR 2025).Zhang, ChoiSituatedQA: Incorporating Extra-Linguistic Contexts into QA. arXiv:2109.06157 (EMNLP 2021).Vu et al.FreshLLMs / FreshQA. arXiv:2310.03214.Kasai et al.RealTime QA: What's the Answer Right Now? arXiv:2207.13332 (NeurIPS 2022).Ding et al.HALO: Half-Life-Based Outdated Fact Filtering in Temporal Knowledge Graphs. arXiv:2505.07509.AnthropicEffective context engineering for AI agents and Managing context on the Claude Developer Platform (2025). anthropic.com.Huyen, ChipAgents. huyenchip.com, 2025-01-07. (Knowledge-cutoff framing.)Meng et al.ROME: Locating and Editing Factual Associations in GPT. arXiv:2202.05262. / MEMIT. arXiv:2210.07229.
The full report

Get the complete white paper, free

The full PDF: the six-move thesis, the bi-temporal definition of staleness, the walk of why every shipped fix is reactive, the decay-rate taxonomy, the re-verification responsibility model, the five controls to ship this week, and the full reference list. No signup, no email wall.

Download the PDF

Kymata Labs Research · Public · v1.0 · Distributed for public use

Share this article