ExAthena.Compactors.ObservationMask (ExAthena v0.17.0)

Copy Markdown View Source

Observation masking — the research-validated middle layer between source-side tool caps and whole-transcript summarization.

Replaces tool RESULTS older than a protected recency tail with short, RESTORABLE placeholders (the tool call itself — name + args — stays intact, so pairing is preserved and the model can re-run the tool).

Evidence (June 2026): JetBrains "The Complexity Trap" — masking matches or beats LLM summarization on SWE-bench at half the cost, and avoids summarization's failure mode of smoothing over error signals (agents loop ~15% longer when summaries hide how stuck they are). Anthropic's context editing ships the same shape (+29% agentic eval, −84% tokens).

Rules:

  • never mask the last 5 tool results (protected tail)
  • never mask ERROR results — failure evidence prevents repeated mistakes (Manus)
  • never mask state-bearing tools (todo_write)
  • batched: only runs when ≥ a minimum is reclaimable — every edit point invalidates the prefix cache once, so make it count