# Decisions awaiting review Choices made while working autonomously, for Bryan to keep or change. Each says what was picked and why; the detail is in the design doc it names. Delete an entry once it has been looked at. ## Subagent views (2026-09-05, `SUBAGENTS.md`) Made on my own judgement, limited blast radius: 1. **A subagent is a transcript, not a session.** It has no process, controls or settings; it is addressed as `/sessions/{id}/subagents/{sub}` and stored under the session's directory, so deleting the session takes it. Alternative rejected: registering it as a session of its own, which would give it a card in the main list and a driver that can do nothing. 2. **Read-only view is the session screen minus its controls**, rather than a second, simpler transcript screen. Keeps paging, caching, selection and rendering in one place. Cost: a `readOnly` mode threaded through `SessionScreen`. 3. **The list only carries a count.** Each session row says how many subagents it has; their titles and statuses are fetched when the card is expanded. Keeps `GET /sessions` from reading every subagent transcript. Consequence: an expanded card's statuses refresh with the list, not live. 4. **Expanded/collapsed is remembered per session on the phone**, not on the server. Collapsed by default, per the transcript convention that new things arrive collapsed. 5. **Subagents of imported sessions are not shown.** The import path still skips `isSidechain` records; the CLI's own `subagents/agent-*.jsonl` files are not read. Only subagents run while this backend was watching exist. 6. **Echo grows `/subagent [n]`** as the test rig, so nothing here needs a paid turn to exercise. Deferred, because they reach further than this feature: - **Live status on the list.** Whether the session list should follow a stream at all (it refreshes on demand today) decides whether subagent status can ever be live there. Not changed. - **Nested subagents.** A subagent's own Task calls are shown as tool calls in its transcript and are not given transcripts of their own. Supporting that is the same mechanism one level down, but the UI would need nested expanders. - **The subagent status row says "context unknown".** Nothing measures a subagent's context; the row could leave it out rather than admit it.