SWE-bench Verified · 40 tasks · model under test bench-openai-xiaomi-mimo-v2-5-pro · Judge claude-opus-4-8
In a shared session context accumulates across tasks: flowctx:off (no compression) climbs monotonically from ~49k to ~374k; flowctx:on folds it back and holds ~100–170k. off·isolated is per-task with no accumulation, ~45k as a baseline. X-axis = 40 tasks (moving-smoothed).
Each task's point = the prompt-tokens value after that task finished (not the starting value); in a shared session it reflects the context accumulated up to that task. The three lines start close on task 1 (off·shared 49k / on·shared 52k / off·isolated 48k) because only the first task has run, nothing accumulated yet. Sources: off_shared 20260708T125312Z, on_shared run#2 20260710T170648Z, off_isolated 20260708T081538Z per-task run.json (agentMeta.promptTokens). Smoothing: 5-point moving average, shrinking window at the ends.
With flowctx on, once the raw transcript crosses the 100k gate a fold fires (leaf summary / condense roll-up to d1). Vertical line top = raw before fold, bottom = assembled after fold; the area line = per-turn assembled est (pulled back inside the gate). Showing on·shared run #2 (20260710T170648Z).
on = mean of the two shared runs; savings baseline = off·shared session (same accumulated-context basis). Resolve rate uses a uniform /40 basis.
KV Cache hit rate = usage.cacheRead / (cacheRead + input) — the weighted-average hit rate over all LLM calls in a task (higher = more prompt served from cache, less full-price input). off·shared and on both sit high at ~94–96%; a fold rewrites the summary node, slightly lowering the rate (rewritten content must be recomputed), but the cost is tiny. Total Token = usage.total accumulated per task. Resolve rate uses the /40 basis (numerator = tasks judged resolved, denominator fixed at 40).