Status affordances — round 3 (quiet state · roadrunner in-bubble)

Refining the header-rail direction you liked. State is now de-emphasized — small muted text, no loud color band — and the roadrunner stays in the content bubble with your text rather than sitting in the toolbar. The rail carries only the action controls. Hover a bubble to confirm the bottom metrics strip never collides. I'll wire the winner into chat-ui.

Option 1 — Quiet rail · roadrunner in corner recommended

Controls sit right-aligned on the top rail. State is a small muted label on the left — spinner + "running", a dot + "queued · #2" — quiet enough to read as minor info. The roadrunner is pinned to the top-right corner inside the content, sitting with the command text where it belongs.

R
running
@collision optimize validate --workdir D:\collisions2
elapsed 4.2s · 3 actions · 1,204 tokens
R
queued · #2
@collision optimize validate --workdir D:\collisions2
queued · waiting on 1 request

Roadrunner lives in the bubble corner with the text; rail holds only controls + quiet state.

Option 2 — Controls-only rail · roadrunner inline with text

The rail is purely the control row (right-aligned), so the top edge stays clean. State becomes a tiny muted prefix on the text line itself, and the roadrunner trails directly after the command text — maximally "with the user text". Best if you want the rail to read unambiguously as actions only.

R
running @collision optimize validate --workdir D:\collisions2
elapsed 4.2s · 3 actions · 1,204 tokens
R
queued · #2 @collision optimize validate --workdir D:\collisions2
queued · waiting on 1 request

Rail = actions only. State is a faint inline prefix; roadrunner trails the text.

Option 3 — Whisper tint · roadrunner in corner

Like Option 1, but the rail carries an extremely subtle state tint (a faint blue/amber wash, ~8–10%) — just enough to sense the state peripherally without the loud band from before. State label stays muted; roadrunner stays in the content corner. The tint disappears entirely once the request goes idle.

R
running
@collision optimize validate --workdir D:\collisions2
elapsed 4.2s · 3 actions · 1,204 tokens
R
queued · #2
@collision optimize validate --workdir D:\collisions2
queued · waiting on 1 request

A whisper of state color on the rail; everything else stays quiet. Roadrunner in corner.

roadrunner — explained / cached (in bubble) run now cancel running remove from queue trash