Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/dwarves

.nornir/status-board-design.md

status board pane — design

Class: design · Function axis: f0 the Status board pane (the whole) · f1 the run-history fixture · f2 the per-pipeline badge resolution (reuse) · f3 the chip render · f4 the select→SVG seam Strict: this file states only what the Status board IS — its parts and why. Sibling how-to: status-board-guide.md; zero-knowledge walkthrough: status-board-for-idiots.md. The badge primitive itself: status-badge-design.md.

The Status board is the forge's health wall: one status badge per pipeline (green/amber/red/grey), the egui UI surface of the dwarves badge verb. It is the dwarves-gui tab that closes the L4 robot-tested-UI obligation for the badge surface built in status-badge-design.md.

The system as one — the function map (f0)

part lives in what it is
f1 fixture dwarves-gui/src/status.rs a Vec<PipelineRunRow> run history (no backend/network/fs)
f2 resolution dwarves-gui/src/status.rs board() each pipeline → its latest status via the SHARED [badge::latest_status]
f3 chip render dwarves-gui/src/status.rs ui() a colour-filled status chip per row; fill = [badge::color_for], word = [badge::status_text]
f4 select seam dwarves-gui/src/status.rs update_json/state_json {"select":"<pipeline>"} expands that pipeline's wire-identical [badge::svg]

Why it is shaped this way

Place in the nordisk constellation

This is a dwarves-owned pane (the CI/CD forge health surface). It mirrors the constellation's pane convention: a self-contained Facet/Panel fed a fixture, robot- tested over state_json/update_json. When the shell is promoted onto live server data (parity P5), the board swaps its fixture for the Badge/History RPCs behind the same state_json shape — no viewer change.

Deferred