Stop button: while the chat's agent has an active turn, the composer's
send button becomes a stop button that sends the cancel-turn control
frame to the agent; a user message in flight keeps the sending spinner.
(MessageComposerProps moves to a sibling file to stay under the
1000-line ceiling.)
Branch chip: tool activity only exists from observer-subscription time,
so a worktree created before the app attached left "No current branch"
even though the agent had announced it. The agent's persisted messages
are now a fallback source — "…on branch kennylopez-dictation",
backticked branch names, and quoted git commands all parse.
Markers: the completed-work expander label and tool preview text drop
to muted-foreground so every marker row reads as secondary to the
conversation.
Shimmer: per-theme band colors — light keeps primary washed toward
white; dark mixes primary toward black in oklch, which keeps the hue
saturated instead of graying into the background, for a clearly
stronger sweep against near-white text.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>