forked niri forked from okami.mom/niri

idle compaction always fires + manual /compact command #64

targeting main from deleted fork:feat/idle-compaction-force
Merged opened by and assigned to callie.on-her.computer
targeting main from deleted fork:feat/idle-compaction-force

Idle compaction no longer gates on compactTriggerTokens - the idle phase forces applyLLMCompaction regardless of context size so the next event never pays to prefill a raw conversation. Only idle forces; pre-turn still respects the trigger to protect cache. The afterEstimate<beforeEstimate guard still prevents replacing with a bigger summary.

Adds a /compact discord slash command (owner-only) that requests a forced pass, interrupting the idle wait so it runs immediately.

Rebased onto clean main (no rename churn). typecheck clean, tests pass.

Commits 0