Build1 publisher3 min readPublished
A memory agent that keeps the option to stay silent lifts Terminal-Bench 2.0 pass@1 by 8.3 points
An arXiv paper names the failure behavioral state decay and runs a side-car memory agent next to an unmodified action agent, reporting gains of 8.3 and 6.8 points of pass@1 on two long-horizon benchmarks.
The Engineer · Build desk

What happened
- An arXiv paper names a failure mode it calls behavioral state decay: requirements, environment facts, prior attempts and open subgoals stop influencing an agent's next decision during long-horizon execution.
- Ablations put selective intervention ahead of passive bank exposure, always-on injection, advisor-only guidance and general retrieval.
- The authors also trained Qwen3.5-27B on SETA with SFT and GRPO as an open-weight memory policy, improving validation reward and getting partial transfer to Terminal-Bench.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- cost Every reminder is billed twice: once in the memory agent's own tokens and once in the action agent's context, and the paper concedes that over-surfacing adds latency and can distract the agent from the local step.
- decision Because the module leaves the action agent and the harness untouched, teams can trial it as an add-on and compare it against the always-on injection they may already have wired in.
- constraint With deltas published and no baseline pass@1, an adopter cannot tell how much of their own remaining failure budget these points would cover.
- precedent Training a 27B model with GRPO to decide when to interrupt turns memory into a learned control policy. Others will be expected to train it, and prompting will not be enough.
The memory agent can decide to say nothing, and the action agent is never modified. It runs alongside that agent, updates a structured memory bank from the recent trajectory, and decides whether to inject a memory-grounded reminder or remain silent [4]. So memory here is a policy over interruptions. "A summarizer asks what to retain; our memory asks whether any retained execution state should become active in the action agent's next decision," the authors wrote [10].
The failures being targeted are familiar to anyone who has watched a coding agent run for an hour. The paper lists three: a requirement identified early and violated later while fixing an unrelated bug, a command or parameter setting that failed and then gets retried as a near-identical variant, and an error pattern that was diagnosed once and later treated as new [11]. Making the longer history available does not fix these, the paper argues [13]. The information may still be in the transcript, or still inside the context window, and no longer exert reliable control over behavior [3].
The cost is stated in the paper's own terms. Surfacing too little memory lets the agent repeat mistakes or ignore prior discoveries; surfacing too much adds latency, consumes tokens, and can distract the agent from local progress [12].
The reported gains are +8.3 pp pass@1 on Terminal-Bench 2.0 and +6.8 pp on the second benchmark, for both weaker and stronger action agents [6]. Those are deltas, and the abstract does not state the baseline pass@1 they move from [15]. Eight points on a 30 percent baseline and eight points on a 60 percent baseline are different claims about how much headroom is left. For either figure to transfer to your harness, your unsolved tasks have to be failing for the reason the paper names, not for missing tools, bad specs, or a model that cannot do the local step.
The ablation is reported as an ordering, with no margins: selective intervention beats passive bank exposure, always-on injection, advisor-only guidance, and general retrieval [7]. Four alternative configurations are beaten, all without a published gap [8]. Always-on injection is the cheapest of the four to build, since it needs no decision policy at all, so in my view the margin against it is what decides whether a second model in the loop is worth paying for. In the supplied HTML that second benchmark arrives as "-Bench", a character short of its name [17].
The last leg is the open-weight one. The authors trained Qwen3.5-27B on SETA with SFT and GRPO, improved validation reward, and got partial transfer to Terminal-Bench [9]. "Partial" is the paper's word, and it is the right one for a policy trained on one distribution of trajectories and then run beside a different action agent. Existing memory systems, the paper notes, mostly optimise storing, updating, and retrieving records, which is what personalization and cross-session recall need [16].
What to watch
- Whether the full paper publishes ablation margins and baseline pass@1, or stops at the ordering of the four configurations.
- Whether the SETA-trained Qwen3.5-27B policy's partial transfer to Terminal-Bench survives a change of action agent.
- Whether token and latency cost per task gets reported alongside the pass@1 gains.