The status light has one state and says nothing about the backend #3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reported from the running system. The live dot is the right idea and carries almost
no information: it is on, or it is not.
What it should carry
ready,running,down— and the states thesystem already distinguishes internally and hides here: the upstream being unreachable
is not the same as the stream being disconnected, and neither is the same as idle.
Colour should carry the distinction, not just presence.
vLLM · qwen3.8-27b. Braid is intended to beextensible to other backends, and the moment there is more than one, "which model am I
actually talking to" becomes the first question anybody asks of a run — especially when
a run behaves differently from yesterday's.
Why this is not cosmetic
/healthzalready distinguishes the cases (upstream stale, no server for a running step,the liveness survey's own age) and
GET /api/slotsalready reports the upstream endpointand its vLLM metrics. The information exists and is thrown away at the last inch. A
single green dot for "something is fine" is the shape of status display that teaches
people to stop looking at it.
Acceptance
which to a screen reader.
Written from watching the running system. Source:
docs/issues/03-the-status-light-should-say-what-is-connected.md.Done and verified against the live system.
GET /api/statusreduces healthz toready/running/starting/degraded/down. The page adds what only it can see:connecting(no answer yet),offline(status unanswered 12s),reconnecting(live updates silent 25s). From the slot strip's own numbers:◐ readywhen only outside traffic is on the server, andbackend fullin words when a run started now would wait (with "its memory is full" when that happens beside free slots).vLLM · qwen3.8-27b, from onebackend_identity()in osfd shared by/api/statusand/api/slots. After review, it lives on the rail's slot strip and the Inference screen, and in the light's description; the header carries only the light, by request. A second backend changes that one function's output and nothing else.connecting;offline10s after status was blocked and back 2s after;reconnectingat 25.2s on a hung stream; no false state over 45s idle;backend fullfits the header without wrapping from 1024 to 1440px.Commits:
189908d,e398d36(pushed),e570721(local main, not yet pushed).