Composer text drafts and inbox answer drafts (checked choices and free text) are mirrored into localStorage, keyed by user plus the existing composer key or inbox item id, with a debounced save and a flush when leaving the composer. A draft is cleared only after a successful send; a failed send keeps it. Drafts for closed tasks and vanished items are pruned. Storage that throws or holds malformed data falls back to the in-memory drafts. Pending images are not restored; the composer says how many need re-attaching instead of dropping them silently.
- Keyboard shortcut overlay
⌘/ opens an overlay listing every keyboard shortcut.
- Pick project and model when creating a task
The switcher's task creation lets a `proj:` prefix narrow to project rows instead of always using the focused or first project, and the "New task in X" row shows the model that will run.
The Merge confirmation shows a non-blocking review section for the current snapshot: running, failed, skipped, not reviewed, or completed with finding counts by severity and links to each finding (including findings with no path or line), plus how many files changed since the reviewed snapshot. Earlier snapshots' findings sit in an expandable list labelled by snapshot, with resolution unknown rather than "unresolved", since each review covers only its own step. It notes that merging squashes into one commit, pushes, and removes the worktree, and that the Merge turn can still change the branch. Opening a finding and returning keeps the edited title. The section refreshes from events while open and shows a fetch failure as unavailable.
- Closed tasks list
The Project view has a searchable "Closed" list with each closed task's title, outcome, merge commit and final summary, read from the events that survive close. Worktree artifacts are not retained.
A read-only right-pane tab on tasks with a `workflow_run`, showing the frozen graph (lazy-loaded Mermaid) and a textual stage list linking to each stage's task attempts and their finish_stage output. Each stage shows waiting on named dependencies, running, idle but not finished, finished, discarded before finishing, or discarded by normal cleanup after finishing, and which fork attempt fed the next stage. Backed by a typed run-progress API carrying the frozen definition, attempts, completion and dependency provenance, updated from sibling-task events.
- Start a workflow from the switcher
A "Start workflow…" entry beside "New task in …" in the switcher starts a saved workflow.
Switcher and Project rows show one derived label instead of the raw session state, by precedence: "Needs your answer" (an open inbox item), "Merging" or "Merge held", "Error", "Working", "Idle".
Switcher and Project rows show a "New summary" marker, with text and an accessible label, when a task has a summary the user hasn't read. Selecting it opens the Transcript at that summary. Read state is per browser and per user, by event seq; a summary counts as read only when shown in a visible transcript or through "Mark seen", not by opening another tab or switching tasks. Task carries its latest summary seq so the marker survives reload without loading transcripts.
- Answer refinements
Choice blocks get clearer focus and arrow-key navigation. A "Let the agent decide" answer sends "Use your judgment for this decision and continue within the existing task instructions." and appears in the answer history; it never stands in for a required owner authorization.