Prune commentary and stale Rust port notes
This commit is contained in:
1 parent
5428cd75c9
commit
25370731d0
193 files changed
+693
-16219
No files matched your search
+9
-36
@@ -1,46 +1,19 @@
|
||||
# TODO
|
||||
|
||||
Working list from Iris, 2026-09-03. Remove an entry when it lands; annotate
|
||||
one in place when it turns out to need a decision.
|
||||
Only open product work lives here. Remove an entry when it lands.
|
||||
|
||||
## App — transcript
|
||||
|
||||
- [ ] Messages received from other agents are inconsistent — sometimes they
|
||||
appear, sometimes they don't. **Needs a rig.** Read the code rather than
|
||||
measured: a live Claude session only learns of a peer message from the
|
||||
`origin` object on a turn's `result`
|
||||
(`session/claude/translate.rs`), which the CLI attaches to a turn the
|
||||
message *started*. So a message that arrives mid-turn, or a second one
|
||||
within one turn, has nowhere to be reported — while an imported session,
|
||||
which syncs from the CLI's own file, picks up every one of them. That
|
||||
would show exactly as "sometimes". Confirming it means driving a real
|
||||
stream-json session and sending it messages in both states.
|
||||
appear, sometimes they don't. **Needs a rig.** The live driver only sees
|
||||
the `origin` attached to a turn result, so a mid-turn or second message
|
||||
may have nowhere to appear; imports read every message from the CLI file.
|
||||
Drive a real stream-json session and send messages in both states.
|
||||
|
||||
## Session settings
|
||||
|
||||
- [ ] Autocompact belongs in session settings; empty disables it, which is the
|
||||
default. Iris chose "hand it to the driver" — only where a driver has
|
||||
auto-compaction of its own. **That option was offered on a false premise
|
||||
and is not buildable yet.** It named pi's `set_auto_compaction`, but pi
|
||||
was never built as a driver here: `session/llama.rs` talks to
|
||||
`llama-server`'s OpenAI-compatible endpoint directly, and its `compact()`
|
||||
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.
|
||||
|
||||
|
||||
## From Iris's phone log export, 2026-09-07 (Compose app)
|
||||
|
||||
- [ ] **Crash on 2026-09-03 11:40, `IllegalArgumentException: Reversed
|
||||
range is not supported`** at `ToolInput.kt:200` (`highlighted`, inside
|
||||
`ToolInputView` -> `RawBlock` -> `ToolCard`). An `AnnotatedString`
|
||||
range was built with end before start while highlighting a tool
|
||||
input. Found in the per-package system log she exported; the tool
|
||||
input that triggered it is not in the log. Reproduce by fuzzing
|
||||
`highlighted` with inputs whose token boundaries collapse, and guard
|
||||
the range construction.
|
||||
default. No current driver accepts that setting: llama refuses compact,
|
||||
and Claude's stream-json protocol cannot configure the CLI's own
|
||||
autocompaction. This needs either a capable driver or a new rule such as
|
||||
watching `contextTokens` and issuing `/compact` from the server.
|
||||
Reference in new issue
Block a user