feat(mobile): make the composer pill the hub for the running turn

The pill above the composer only tracked queued messages, and a follow-up
sent during a turn always queued because mobile hardcoded its dispatch
mode. Steering meant sending the message and then promoting it from the
queue sheet, and the turn's subagents were only reachable as transcript
rows.

The pill now carries an agents segment alongside the queue count, scoped
to the running turn and hidden once it settles. Tapping either segment
opens a sheet: agents lists the turn's subagents and opens a child
thread, and the queue sheet is rebuilt on the native header with compact
rows, swipe to remove, a context menu, and full editing that saves
through queued-run.edit while keeping the message's place in line.

Follow-ups become a choice. A Follow-ups settings screen picks queue or
steer, the send button says which one it will do, and long-pressing it
uses the other for a single message. On a hardware keyboard the Command
chord does the same, so the composer text view now reports whether the
submit was the alternate and names both chords for the iPad shortcut HUD.
Steering travels as "auto" so a turn that ends mid-flight degrades to a
queued run instead of bouncing the message back into the draft, and the
button only offers Steer when the provider can actually steer.

Web's dispatch resolver moves into client-runtime so both clients share
it. The lineage banner is gone from the transcript, taking mobile's
disconnect action with it; merge back to source now lives in the thread
header's git menu.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
04e178e947Julius Marminge committed on 9/18/2026, 12:50:18 AM· committed by Julius Marmingeparent644055e
49 files changedLine totals unavailable