diff --git a/TODO.md b/TODO.md index 66fb767..59d8538 100644 --- a/TODO.md +++ b/TODO.md @@ -37,11 +37,11 @@ Pick anything from here when relevant. Cross-cutting design notes live in turns, and so `/events/history` survives restart. Cap rows per agent or auto-vacuum on age, same trade-off as the bounded broker entry below. -- **Granular agent state badge** above the terminal: `idle ๐Ÿ’ค / thinking ๐Ÿง  / - compacting ๐Ÿ“ฆ` with an age timer (`thinking ยท 12s`). Drives a state - channel from the harness: idle when waiting on the inbox, thinking - while claude's stream is open, compacting when `/compact` is in - flight. Replaces the binary "harness alive โ€” turn loop running" line. +- **State badge: compacting + napping states.** Idle/thinking already + ship (driven from SSE turn_start/turn_end). Add `compacting ๐Ÿ“ฆ` and + `napping ๐Ÿ˜ด` once the `/compact` trigger and `nap` tool exist โ€” + both need a harness signal (an explicit `LiveEvent::StateChange` + variant or piggyback on Note). - **Terminal: slash commands beyond /help and /clear.** Operator-facing in-terminal commands still to add: `/model`, `/compact`, `/cancel`. Each needs harness-side support (model override, force compaction,