v2.10.1 — fix dropped-suggestions bug + show the compounding win honestly
A bug-fix + honesty release. Both came out of running context-os on its own sessions.
Fixed: /savings showed 0 searches avoided
auto_context logs the session id truncated to 12 chars; savings_tracker compared it against the full 36-char UUID, so every retrieval suggestion was silently dropped → 0 assisted hits, even though auto_context was firing on every prompt. (Slices used the correct comparison, which is why they showed up and searches didn't.) Fixed, with a regression test using a real UUID so it can't recur. The 39→41-assertion suite missed it because synthetic tests used short session ids where [:12] == full.
Added: the compounding win is now visible (and honestly labelled)
The headline tokens saved only counted the first load of a sliced file. It hid the bigger effect: that file body would have been re-sent on every turn until compaction. /savings now shows a separate "Budget freed" line, measured from the real transcript (kept-out tokens × turns the file persisted, capped at an inter-compaction window so one long autonomous session can't distort it).
Framed honestly: budget-freed is context-budget, not dollars — prompt caching makes re-sent content cheap, so it mostly means you hit compaction / the context limit later, not a 10× bill cut. The conservative first-load number stays the headline; milestone/$/streak ride that floor.
Also
- README + Show HN draft reframed: lead with the proven, version-independent claim (retrieval quality, CI-gated), and caption the −40.9% A/B as cold-cache
--print, N=36 — not a warm-session bill saving. - New:
replay_history.py— validate the whole stack on your own Claude Code history,$0, no API key.
curl -fsSL https://raw.githubusercontent.com/sravan27/context-os/main/setup.sh | bash
python3 python/evals/runners/replay_history.py # validate on your own transcripts