Criticals (general-172), all red-green proven:
- C1: compaction now PERSISTS (rolling summary keyed by session; only new
turns summarized, only new messages archived — no per-turn re-summarize
or duplicate archive growth)
- C2: compaction trigger measured against the input budget (dead zone
between budget and 0.8*window closed); summarizer-failure degrade keeps
the newest tail that FITS instead of dropping history whole
- C3: fallback window 8192 never cached — transient discovery failure no
longer poisons the process lifetime
Importants: I1 collective mandatory overflow raises; I5 malformed
contributor content = T1 failure; I2 operator tests hermetic (patch
context_length module function); I3 reset clears both caches; I4
summarizer call sized to the discovered window. M6: state/ gitignored.
Suite 482 -> 488 (+6 discharge tests).