fix(builds): add missing start/stop/graceful_stop kind glyphs to QUEUE_KIND_GLYPH

The QueueKind enum has graceful_stop, start, and stop variants but the
dashboard QUEUE_KIND_GLYPH map only covered rebuild/meta_update/spawn/
destroy/restart/startup_sweep/perm_change — the three missing kinds
rendered as '?' in the build queue UI.

This became visible with the deferred start-after-rebuild change: a fast-lane
Start entry now appears as a child of its Rebuild parent, but showed the
fallback '?' glyph.

Glyphs assigned: graceful_stop=⏹, start=▶, stop=■.

Also update the dashboard.md kind-glyph list to include all nine kinds and
note that deferred start-after-rebuild entries also use parent_id grouping.
This commit is contained in:
iris 2026-07-02 11:56:03 +02:00 committed by mara
commit 688531030b
2 changed files with 9 additions and 3 deletions

View file

@ -155,11 +155,14 @@ operations: rebuilds, meta-update cascades, and first-spawns.
One operation runs at a time; the worker drains FIFO. Each row
shows a state glyph (`⏸` queued / `▶` running / `✔` done /
`✖` failed / `⊘` cancelled), kind glyph + verb (`↻ rebuild`,
`◆ meta_update`, `✨ spawn`, `🗑 destroy`), agent name, source
`◆ meta_update`, `✨ spawn`, `🗑 destroy`, `↺ restart`,
`⚡ startup_sweep`, `🔑 perm_change`, `⏹ graceful_stop`,
`▶ start`, `■ stop`), agent name, source
chip (`manual | meta_update | auto_update | crash_recover | approval`
— green for operator-approved config changes), timing, and an
optional reason / error. Meta-update cascade rebuilds nest under
their parent entry (`parent_id` grouping; `rqe-child` CSS class).
optional reason / error. Meta-update cascade rebuilds and deferred
start-after-rebuild follow-ups nest under their parent entry
(`parent_id` grouping; `rqe-child` CSS class).
Dedup: re-enqueueing a still-queued op for the same agent
collapses into the existing entry. All timing labels stay live:
running entries tick elapsed seconds every second; queued and

View file

@ -128,6 +128,9 @@ const QUEUE_KIND_GLYPH = {
restart: '↺',
startup_sweep: '⚡',
perm_change: '🔑',
graceful_stop: '⏹',
start: '▶',
stop: '■',
};
const QUEUE_STATE_GLYPH = {
queued: '⏸',