- ComposerPanels: todo plan + subagent roster pinned above the chat input,
each independently collapsible, with live state chips (activity, retry,
telemetry, nested count, async marker) fed by subagent_lifecycle/progress
SSE frames
- Subagent integration: lib/subagent-types.ts (defensive AgentProgress
parsing), lib/subagent-history.ts (on-disk roster recovery from task
toolResults + sibling transcript/completion artifacts), task tool-result
summaries in MessageView (size-bounded telemetry via session-reader)
- Transcript dialog now shows only the assignment (markdown) and the final
output (<id>.md via ?mode=completion, bounded read that bypasses the
16MB transcript cap), screen-adaptive width; structured JSON outputs
render as key/value rows with unescaped text
- Session list cache invalidation fixes for new-session visibility
- Tests: composer panels, dialog blocks, subagent history/types, session
reader; 295 passing