kedge-compact
Context-window management by AST-aware compaction. When a source file is too large to fit the budget, we don't truncate blindly — we parse it with Tree-sitter and keep the structural skeleton (every function/method/type signature, doc comments, imports) while eliding function bodies, which are usually the bulk of the tokens and the least useful for high-level reasoning.
Five languages are supported — Rust, Python, JavaScript, TypeScript, Go — selected explicitly or by file extension. Each knows which node kinds are "functions" and how to spell an elided body in its own syntax.