Justy: The part that got me was not the benchmark. It was the memory thing. Because yeah, of COURSE agents get weird when the world changes under them. Cody: Right. Static evals have been flattering these systems for a while. This paper finally pokes the annoying real question, which is whether an agent can survive version drift instead of one clean frozen task. Justy: And that is such an Exploring Next episode four hundred eighty-two problem. We built a whole industry on demos where nothing moves, then act shocked when the API changed on Tuesday. Cody: What they’re solving is pretty specific. Most agent benchmarks assume the environment is fixed once the benchmark exists, but real deployments keep changing. Interfaces move, codebases evolve, terminal workflows shift, user preferences update. Justy: Yeah. And from a product angle, that’s the difference between a neat assistant and one that quietly starts making old assumptions in production. Which is honestly worse than failing loudly. Cody: Mm-hm. Justy: Anyway. Their benchmark setup is actually clean. They turn one environment into a chain of progressive releases, so the same underlying setting stays around while rules or workflows or preferences mutate over time. Cody: Exactly. And they split that across three domains: Terminal-Bench-Evo for terminal workflows, SWE-Chain-Evo for evolving codebases, and PersonaMem-Evo for changing user preferences. So it’s not just, can the agent do task X. It’s, can it do task X after version three changed the ground truth without deleting everything version one still taught it. Justy: That last part matters. Because a lot of product systems kind of assume new info simply replaces old info. But sometimes old behavior is still valid for an older release, or a different org, or some rollback nobody documented well. Cody: Yeah. Cody: That’s their core failure mode, and I think they name it well: state collapse. A lot of memory systems keep one latest state. In evolving environments, it can overwrite context you still need, plus the reason the update happened. Justy: So EvoMem is the fix, and this is the part I liked because it’s plain enough to ship. It’s basically git for agent memory. Not literally code diffs, but append-only patches that track how memory changed. Cody: Right, right. Cody: Each patch stores four things once: the pre-update memory, the post-update memory, the rationale for the update, and supporting evidence from the triggering context. That means the agent doesn’t just keep the newest answer. It keeps a little audit trail of what changed and why. Justy: Which feels so obvious in hindsight. Of course an agent should know not only the current state, but the path it took to get there. Cody: The inference behavior is also sensible. Latest memory is still the default, and it selectively retrieves patches when the query smells like overwritten state, conflicting evidence, or an earlier environment version. Justy: That selective part is what makes me think this is more than a research toy. If they’d said every query has to traverse the full history, I’d be out immediately. Cody: There is still a trade-off, though. You’re adding another retrieval surface, and now patch quality matters. If the rationale is vague or the evidence capture is weak, you’ve preserved a bad update more neatly. Justy: Sure. Though the benchmark numbers do say current agents are struggling enough that even modest gains count. Average accuracy across EvoArena is thirty-nine point six percent, which is… not exactly comforting. Cody: No way. Cody: Yeah, it’s rough. EvoMem improves average accuracy by one point five percent on EvoArena, which sounds small until you notice chain-level accuracy goes up three point seven percent. For these evolving task sequences, chain success is the scarier metric, because one stale assumption can poison everything downstream. Justy: And they also get gains on GAIA and LoCoMo, six point one and four point eight. So the patch idea isn’t only helping inside their own benchmark. Cody: I also liked that they did mechanistic analysis instead of stopping at score bumps. On PersonaMem-Evo, they show better evidence capture and stronger results on temporal trajectory and multi-pattern synthesis questions. Justy: But okay, real build question. I think teams building long-lived copilots, support agents, internal ops bots, anything touching changing repos or preferences, should look at this. It feels shippable because it augments a standard memory system instead of replacing the whole stack. Cody: I agree, with one caveat. I’d want aggressive controls on patch creation so you don’t log every trivial state twitch forever. And I’d probably test whether structured patches beat a stronger baseline with better memory summarization, because some of this may be about disciplined evidence capture, not only versioning. Cody: Oh interesting. Also, they did give actual stuff to try. There’s the project page at aiden zero five two six dot github dot io slash EvoArena, code on GitHub under Aiden zero five two six slash EvoArena, and a Hugging Face collection called Aiden zero five two six slash evoarena. Justy: Good. You can go clone the git-like memory thing while I go drink water and apologize to my nervous system for the coffee experiment. That feels like the right ending, Cody.