Carryover Effects in Reused KV Caches Across Agent Handoffs and Policy Updates

What does a stale KV cache do to the model that reads it?

AuthorsHossain Pazooki, Vikram Nadathur, Lingyuan Yan, Samuel Alake, Muhammad Zain Asad, Emerson Yu, Ritvik Aggarwal, Md Farhan Ishmam
Published13 November 2026
VenueNeurIPS 2026 Workshop on Long Context Foundation Models
Recordlinear-ceiling · lag-ladder

Abstract

A carryover effect is what a model shows when it reads a KV cache that another computation wrote: the text or the weights differ from the writer's, and the reader's next-token distribution shifts with them. The systems that serve and train long-horizon agents produce such reads by design, whenever a later stage rebuilds its prompt from text an earlier stage processed, or a pipelined trainer serves rollouts from a cache an earlier policy wrote. We ask what predicts the effect and measure it on two pre-registered records, one for the text axis and one for the weights axis.

On the text axis, the record is 35 coding-agent handoffs whose sender histories run from 35K to 80K tokens. For each, we measure the oracle removal fraction: the share of matched tokens we must remove before the mean key deviation of the remainder falls within a tolerance drawn from a cross-model map's held-out error. Under same-model reuse, the fraction is zero on every one of the 35 handoffs. Its median is zero as well on shorter handoffs, on a second model family, and at two further receivers. Across the four pair cells, the cross-model map must remove 73% to 96% of the matched tokens, and truncating the senders to the short cell's length leaves the deviation above the short cell's level.

On the weights axis, a policy reads a cache that its own earlier weights wrote, up to 32 GRPO steps later. On held-out text, the per-token KL stays inside the registered band on three model families and two seeds. On the policy's own prompts, it sits three to four orders of magnitude higher and is outside the band from the first step, where the stale cache already flips the greedy answer on 71% of GSM8K problems, and on 84% to 90% at later steps. At 32 steps, the stale cache costs the trained policy six of the seven accuracy points it had gained. In the opening windows of the agent trajectories that MLPerf Agentic Inference serves, per-token KL stays within the same band, three orders of magnitude below the policy's own prompts.

At their operating extremes, the two axes land in the same decade: a re-rendered handoff reads at a median of 0.14 nats with 90% greedy agreement, and a policy's own prompts at 32 steps read at 0.09 nats with 90%. The text's relation to the computation that wrote the cache predicts the carryover effect; weight distance, model family, and context length do not.

FIVE READINGS OF A REUSED CACHE, ORDERED BY THE READER'S RELATION TO THE WRITER Same computation identity control · removal fraction 0 · KL at the float16 floor Later weights, held-out text inside the 1e-3 band to 32 GRPO steps · three families, two seeds · the benchmark's windows too Same weights, re-rendered handoff removal fraction 0 on all 35 · 0.14 nats and 90% greedy agreement at the reader Later weights, the policy's own prompts out of band from step 1 · 0.09 nats and 90% at step 32 · 71% of greedy answers flip at step 1 Another model's cache, mapped 73% to 96% of matched tokens must be removed · truncating the sender does not close the gap
The order is by what the reader is reading, not by how far the weights moved: a re-rendered handoff under the same weights and the policy's own prompts 32 steps later land in the same decade, while held-out text under those same later weights stays four orders below both.

On the name. In a crossover trial, a carryover effect is the residue of one treatment period on the next. Here the residue is the cache's: a representation of a computation that is not the reader's own, carried into the reader's next token.

The weights axis

A policy at GRPO step g reads the cache its step-0 self wrote. On text the trainer never touched, the stale and fresh readers agree to within the sealed band at every lag; on the prompts the trainer optimises, they part at the first step.

Median per-token KL of the stale-cache reader against its fresh self, by lag, log scale. Held-out corpus and the benchmark's agentic windows on one Qwen2.5-1.5B trajectory; the policy's own prompts on three families. Dashed: the sealed HOLDS_B edge at 1e-3 nats. lag-ladder entries 0018 (seed 1), 0032 (Llama-3.2-3B), 0037 (SmolLM3-3B), 0036 (agentic windows) · summaries

The text axis

At a handoff the receiver re-renders its prompt from text the sender processed, and reads the sender's cache on the tokens that match. The oracle removal fraction is the share of those tokens an oracle sorting by deviation must remove before the mean key deviation of the rest falls within the tolerance; it is a distance from the reader's own computation, not a recomputation budget.

CellEntryHandoffsSame-model median f*Cross-model median f*
The four pair cells. Same-model reuse removes nothing; the cross-model map removes most of the matched tokens. The two further receivers of entry 0048 (Qwen3-4B, SmolLM3-3B; same-model only) also read a median of 0.

Benchmarks

Five texts carry the measurements. Each is public, each enters a record through a registered entry, and none was written for this paper: the handoffs are what a leaderboard's agents actually did, the prompts are what the trainer actually optimises, and the benchmark windows are what an inference benchmark actually serves.

TextAxisWhat it suppliesSize as readEntries
SWE-bench leaderboard trajectories
composio SWE-Kit submissions of 16 and 25 October 2024 (astropy and django instances)
textThe recorded coding-agent handoffs: a Claude 3.5 Sonnet solve thread whose text an o1-mini stage then re-renders for summarisation and patch selection. The sender's history and the receiver's rebuilt prompt are the two sides of every handoff.68 handoffs observed; 35 long (sender 35K to 80K tokens) and 25 short under the Qwen pair; 28 short and 32 long under the Llama pairlinear-ceiling 0013, 0025, 0029, 0036, 0044, 0051
GSM8K
test split
weightsThe trainer's own prompts: the GRPO policy trains on GSM8K, so its rollouts are the text a stale cache meets in a pipelined trainer. Also the task endpoint (statistic C): whether the greedy answer changes and what the stale cache costs in accuracy.1,319 test prompts, six readers (lags 1 to 32), greedy at a 256-token caplag-ladder 0017, 0018, 0027
FineWeb-Edu
sample-10BT
weightsHeld-out prose the trainer never touched: the text on which stale and fresh readers agree to within the sealed band at every lag.Ten held-out sequences of 1,024 tokens (reads at 256), shuffle seed 0, drawn once by the instrumentlag-ladder 0005, 0016
The reader's own continuation
on-path text
weightsEach reader's greedy continuation from the held-out prefixes: text of the reader's own making that is still not the trainer's, the second held-out reading.Same ten prefixes, one continuation per readerlag-ladder 0016, 0019
MLPerf Agentic Inference
MLCommons, 613 trajectories: 113 DeepSWE coding traces and 500 Workato workflow conversations
bothWhat an agent inference benchmark serves. The opening windows are read under the stale-cache readers on the weights axis and registered for the cross-model mapper on the text axis, the same fifty windows on both records.50 windows, 25 per suite, the first 1,024 tokens of each trajectory (median first user turn about 1,100 tokens)lag-ladder 0030, 0036 · linear-ceiling 0064
What each text is for. Together they place the five readings of the opening figure: held-out prose and the benchmark windows are where the weights axis stays in band, the trainer's prompts are where it leaves it, and the handoffs are where the text axis is measured.

Citation

For attribution in academic contexts, please cite this work as

@inproceedings{pazooki2026carryover,
  title     = {Carryover Effects in Reused {KV} Caches Across Agent Handoffs and Policy Updates},
  author    = {Pazooki, Hossain and Nadathur, Vikram and Yan, Lingyuan and Alake, Samuel and Asad, Muhammad Zain and Yu, Emerson and Aggarwal, Ritvik and Ishmam, Md Farhan},
  booktitle = {NeurIPS 2026 Workshop on Long Context Foundation Models},
  year      = {2026},
  note      = {Non-archival; camera-ready 13 November 2026},
  url       = {https://carryover.pub}
}

Open source record

The two records are public: linear-ceiling (the text axis) and the lag ladder (the weights axis). This page is built from data/figures.json, whose MANIFEST names the summary file and sha behind every number drawn here; the source is at carryoverpub/carryoverpub.github.io.

Reuse

Diagrams and text on this page are licensed under Creative Commons Attribution CC-BY 4.0 once published. The two records carry their own licences.