successThe old mark expands outward and fades until it is past the frame and gone, then a beat of nothing, then a replacement grows from the centre out of invisibility and overshoots into the rest shape. Success is the end of something, so the thing that was working actually leaves.
warningCollapses to a concentric triangle in three stutters, and the drift all but stops. Both rings land on three. The colour breathes across a narrow hue swing so it stays present without moving.
errorA blunt square around a six-sided cutout, slammed in and buzzing, then dead still. Four outside, six inside. Once frozen, a narrow hue pulse is the only thing left alive in it.
no turnnothing has been asked yet
running, no streamstatus says working, nothing on the wire
awaiting_subagentsparent turn over, children still working
completeplays success, then hands back to idle on its own
failed · cancelledthe user pressed stop, so this is not an alarm
failed · AbortErrorwall-clock timeout
idleThe decorative parent. Drifts, breathes, nothing more.
workingRises out of idle, runs, and settles back into it. Eight sides outside and four inside, turning against each other at speed while the band opens and closes.
thinkingThe same shape as working, and identical on purpose. It used to be two near-circles, which was the clearest shape in the set until it met the place it ships: the chat list draws a resting row as a small ring, so a circle at 12px read as a row doing nothing. The two in-progress states now share the polygon, which is the one no resting row can be mistaken for.