|
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> |
|---|
|
|
| navi/core/compressor.py |
|---|
| tests/unit/core/test_compressor.py |
|---|