When should I compact manually?
Before starting a fresh subtask: /compact with a keep-directive naming decisions and invariants, dropping the tangent explicitly.
Glossary · Compaction
Summarize the past to afford the future.
Direct answer
Compaction summarizes a near-full conversation into a high-fidelity seed and restarts a fresh window with it — the standard lever for long-horizon tasks that exceed any context window. Done well it preserves decisions, open threads, and invariants while dropping resolved subtasks and verbose tool dumps. Done blindly (auto-compact at 80–95%) it paraphrases exact code into lossy prose at the worst moment — so manual compaction with keep/drop directives beats automatic.
In Anvaya
Questions
Before starting a fresh subtask: /compact with a keep-directive naming decisions and invariants, dropping the tangent explicitly.
Decisions + why, open threads, invariants and hard constraints. Drop resolved subtasks, verbose outputs, abandoned attempts.
For open-ended work it helps; for structured spec→implement→verify flows, explicit fresh sessions still give tighter control.
One binary. 11+9 Rust crates. 545 tests. Hand-written HNSW index. Three transport modes. Four providers, Ollama, Anthropic, OpenAI, Siemens. Zero API keys required to start. Mind remembers everything after the first session.