# 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 - [ ] 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.