Record why autocompact cannot be handed to a driver yet

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Opus 5 committed 2026-09-03 21:19:51 -04:00
1 parent aa6d9b256e
commit 9c4df43951
1 file changed
+13 -6
+13 -6
View File
@@ -19,10 +19,17 @@ one in place when it turns out to need a decision.
## Session settings ## Session settings
- [ ] Autocompact belongs in session settings; empty disables it, which is the - [ ] Autocompact belongs in session settings; empty disables it, which is the
default. **Needs a decision before building** — nothing called autocompact default. Iris chose "hand it to the driver" — only where a driver has
exists yet on either side. `PLAN.md` has it only as a planned pi-driver auto-compaction of its own. **That option was offered on a false premise
feature (`set_auto_compaction`), and Claude Code runs its own. So this is and is not buildable yet.** It named pi's `set_auto_compaction`, but pi
a new server feature, and the open questions are what the empty-or-not was never built as a driver here: `session/llama.rs` talks to
value *is* (a token count? a percentage of the context window?) and which `llama-server`'s OpenAI-compatible endpoint directly, and its `compact()`
drivers it applies to. refuses outright. Claude Code's auto-compaction is the CLI's own and
nothing in the stream-json control protocol this app uses configures it.
So the setting would be stored, passed to a driver, refused by every one
of them, and the field would never appear on any session. What is needed
first is either a driver that can take it, or a different rule — the
server watching `contextTokens` and running `/compact` itself is the one
that would work today, for Claude sessions, and it is the option that was
not chosen.