Memory is (almost) solved. time is next.
AI can't tell if a memory is two minutes or two weeks old. The fix isn't making models feel time — it's cache invalidation: an as-of stamp on every fact, a clock in the context, and a freshness window for anything volatile.
The newsletter assistant told me the campaign would go out in about an hour. It had already sent.
Here is what the system was actually looking at. The campaign record was a Brevo email object with three relevant fields: a scheduledAt timestamp set to 9:00 AM, a status field, and a sentDate. The assistant read the first field and reported it back to me as if it described the present moment. What it didn’t reconcile were the other two. Status was already sent. The send had fired at 9:00. I was reading this report at roughly 9:40, forty minutes after the thing the assistant was describing in the future tense had already happened.
The artifact was correct. The reasoning built on top of it was fluent. Both were wrong. The record contained the whole truth, a scheduled time and a sent time and a status flag sitting right next to each other, and the system anchored on the one field that described intention instead of the two that described what had actually occurred.
AI memory is being solved at scale right now. Retrieval is better. Context windows are longer. Persistence across sessions is closer to standard than novelty AI Apps with Memory vs No Memory. None of that solved the problem I ran into. The system remembered the record. It just had no way to tell that the record had aged past the point of being true. That gap isn’t a small implementation detail. It’s the difference between a memory system and a filing cabinet.
The gap AI cannot feel
A model has no native sense of now. It doesn’t experience duration. Two minutes between messages and two weeks between messages look identical from the inside, because nothing in the data tells it otherwise.
Strip away the framing and here is what a memory system typically holds at the data level: content, an embedding, a source ID, maybe a relevance score. That’s it, most of the time. Whatever the system reasons about when something happened comes from words inside the content itself, phrases like “tomorrow” or “in an hour” or “just shipped.” Those words were true at the moment they were written and they come completely detached from the present the instant they’re stored.
There are actually two different clocks a system could care about: when a fact was ingested, and when the fact was true as of. Systems almost always store the first. They need the second. And neither one typically rides into the prompt as something the model can attend to. By the time a retrieved chunk reaches the model, it’s a role and a string of text. There is no as_of field to subtract from now, because there usually is no now either.
Retrieval and long context have gotten enormously good at what and how much. Almost none of that investment went into when. Time isn’t a token. It’s a field. And the field got dropped before it ever reached the model.
Memory without timestamps is hoarding
I spent years in print production, where a proof from yesterday was expired by default. Not suspect, expired. You didn’t sign off on a proof because it looked correct. You signed it because you could prove it was today’s proof of the current file, because the date on the slip matched the revision on the job ticket and nothing downstream had moved since it was pulled.
Name the actual condition, and it comes down to this: a proof is current only if its version matches the live version. Freshness was never a property of looking right. A beautiful proof of last week’s file is exactly the thing that produces a five-figure misprint. Freshness was a match, verified at the moment of decision, between the artifact and the source of truth.
Stored context in most AI systems runs the opposite rule. It’s treated as valid until something contradicts it. The press-check discipline inverts that: stored context is expired until proven current, and the burden of proof sits with the artifact, not with the person about to rely on it.
This is why retrieval and currency are not the same question. Retrieval answers whether the system pulled the right record. Currency answers whether that record is still true Stop Treating AI Memory Like a Search Problem. A system can ace the first question and fail the second in the same breath. It pulled the exact correct campaign object, and that object was a snapshot from before the send fired. Right record, wrong world.
There’s a test worth handing to anyone building or evaluating one of these systems: if the thing this fact describes changed one second ago, would what you just retrieved reflect it? If the answer is no, you don’t have currency. You have a cache, and the system should say so.
The dangerous failure isn’t the wrong answer. A wrong answer interrupts you. It contradicts something you already know and your error-detection fires. The dangerous case is the right-shaped answer built on stale input, because output quality is a function of reasoning quality, not input freshness. A well-formed, confident answer over old data is indistinguishable at the surface from a well-formed, confident answer over current data. The polish is the camouflage.
“Your newsletter goes out in an hour” was fluent and it confirmed what I expected, so it slid right past me. Catching it would have required redoing the exact check I’d delegated in the first place.
The fix is cache invalidation, not empathy
If the whole problem is telling a one-second delta apart from a one-week delta, the data has to carry the thing you’d take the delta of. Three fields do most of the work. First, an as_of timestamp on every fact, meaning when it was true, not when it was filed. Second, now, the reasoner’s current clock, passed in so a subtraction is even possible. Third, a volatility class. Some facts are durable, like a client’s company name. Some are volatile, like a campaign’s send status. The same delta means something entirely different depending on which kind of fact it’s attached to.
The smallest structural change is the first two fields. Stamp each retrieved fact with an as-of time and put the current time in the context, and the model can compute an age. The fix that earns its keep is the third: tag volatile facts so the system knows a campaign’s status has a freshness window measured in seconds, while a birthday can sit untouched for a year.
None of this is new engineering. Databases have solved cache invalidation for forty years. TTLs, updated_at fields, cache-control headers, ETags: these are old and boring tools AI Memory: Everything You Need To Know About What AI Remembers. Brevo’s own API already hands you status, sentDate, and modifiedAt. The data model already had the answer sitting in it. The retrieval pipeline threw the answer away before the model ever got a chance to use it.
As I argued in “Manual fluency is the prerequisite for agent supervision,” automation without understanding is abdication. Passing a fact into a model’s context without an as-of stamp is the same move. It’s automation dressed up as memory.
The fix doesn’t belong in the prompt. You cannot instruct your way out of a missing field. Telling a model to “consider recency” does nothing if the timestamp was never in the data to begin with. The fix belongs in the architecture, in the memory schema, owned by whoever builds the context-assembly layer. The line I’d put in a design spec, verbatim: no fact enters the model’s context without an as-of timestamp, and any fact describing mutable state gets re-verified against its source once now minus as-of exceeds that fact’s freshness window.
Put that sentence in a design doc and the newsletter incident stops being possible. The send-status fact gets stamped, aged, flagged volatile, and re-checked before anyone gets told the thing is going out in an hour.
There are proposals circulating for richer temporal models entirely, tensor clocks and metagraphs that place events on multiple coordinates at once: life context, granularity, emotional weight, goal alignment Why AI Memory Needs to Forget About Timestamps - LinkedIn. Some of that will matter eventually. None of it matters yet, because most systems in production today can’t even answer the simple version of the question: how old is this fact, and has it expired.
Solve that first.
Memory without time is just storage.
This isn’t a philosophical claim about whether AI can feel duration. It’s an information architecture decision that either gets made deliberately in a design review or gets made accidentally by omission, the way it did for me on a Tuesday morning at 9:40, reading a confident report about something that had already finished forty minutes earlier.
Additional reading
- Why AI Memory Needs to Forget About Timestamps - LinkedIn — Volodymyr Pavlyshyn argues that AI memory systems need to move beyond traditional timestamp-based approaches to tensor clocks and metagraph models that capture contextual, multi-dimensional relationships like human memory. He proposes that this “semantic time” approach would allow AI to remember events through interconnected narratives across different life contexts, emotional dimensions, and goal alignments rather than just storing chronological data.
- AI Apps with Memory vs No Memory — The source explains how AI applications with memory capabilities transform interactions from stateless exchanges to personalized experiences by retaining user context, preferences, and historical data. Memory reduces token repetition, lowers costs, and enables consistent responses, while being especially critical for AI agents performing multi-step workflows to maintain state across tasks and avoid redundant operations. Examples demonstrate memory’s role in creating human-like interactions and efficient problem-solving compared to memoryless systems.
- Stop Treating AI Memory Like a Search Problem
- AI Memory: Everything You Need To Know About What AI Remembers — This article explains AI memory, detailing how it works (short-term and long-term memory), where it is stored (cloud, on-device, hybrid), and how users can control it. It compares memory features across AI platforms like ChatGPT, Grok, Claude, and Perplexity, and discusses Ajelix’s own memory implementation. The source provides a comprehensive overview of AI memory capabilities, limitations, and security considerations.
Nobody takes you aside anymore
Print taught a generation when to stop. What we lose when the machines absorb the constraints that used to form us.
Your AI agents need a water cooler
Coordination is a property of the room, not the org chart. What that means when your coworkers are agents.
On the death of the author and the birth of the detector
Why worrying about AI authorship is lazier, and more prejudiced, than it looks.
The work of being available now
A book on AI, judgment, and staying human at work.
The practice of work in progress
Practical essays on how work actually gets done.
Did the state change? A simple test for whether work actually happened
Either something exists now that did not exist before, or it does not. A simple test for whether work actually happened, and what changes when you build your systems so they can't record anything else.
How to manage content for multiple clients without flattening their voices
How to manage content for multiple clients without their voices blurring into one house style: a workspace and a voice profile per client, batchable stages, and approval buffers.
Why does AI writing sound generic? It has nothing to work with
Why does AI writing sound generic? Because the model has none of your perspective, examples, constraints, or stakes to work with. The fix is interview-first, not better adjectives.
Tag things the way you'd order them
Most taxonomies are built for the classifier, not the person doing the thing. The cheap test that separates one from the other.
The day nothing satisfying happened
The most productive day in an organization's life usually looks like nothing happened. No launches, no features, no announcements. Just people quietly making the existing work more honest.
When execution becomes cheap, ideas become expensive
When anyone can execute, the scarce thing flips. A note on where the value moved.