# 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. ## App — transcript - [ ] Text inside code blocks does not highlight when selected. **Measured, and it does** — the selection is drawn, but over the near-black surface a code block and a tool's output sit on, Material's default 40%-alpha tint composites to a barely-there smudge, much weaker than the same selection over a reply. The app now states its own selection colours (`AiAppSelectionColors`), which took the fill from #5B4C73 to #776394 on that surface. Worth confirming this was the complaint rather than a selection that draws *nothing* on the phone. - [ ] Text inside an opened peer message or memory note cannot be selected at all — the heading of the same card can, and so can a tool call's output, so it is the markdown text specifically. Pre-existing (measured against the build before this session's changes, by stashing them). It contradicts AGENTS.md's "all transcript text is selectable". - [ ] 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. ## Session settings - [ ] Autocompact belongs in session settings; empty disables it, which is the default. **Needs a decision before building** — nothing called autocompact exists yet on either side. `PLAN.md` has it only as a planned pi-driver feature (`set_auto_compaction`), and Claude Code runs its own. So this is a new server feature, and the open questions are what the empty-or-not value *is* (a token count? a percentage of the context window?) and which drivers it applies to.