Add meta-summary for multi-level compression
When to_summarize contains multiple existing summary messages whose
combined length exceeds 8000 chars (~1/3 of max summarizer input),
run a quick meta-summary pass first to consolidate them into a single
compact summary before the main compression. This prevents information
loss when repeated compressions stack up long summary chains.

- _meta_summarize(): fast LLM pass (think=False, max_tokens=1500)
- compress_context(): detects >1 long summaries and triggers meta pass
- Graceful fallback: if meta-summary fails, continue with raw summaries
- 3 new unit tests: consolidation, skipped for short summaries, failure fallback

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 7dcec4c commit 182629bbb35da64b7b338b5e524bedb7b8eca7cd
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 25 May
Showing 2 changed files
View
navi/core/compressor.py
View
tests/unit/core/test_compressor.py