CLI · terminal preview · design proposal
Status, dispatch voice
mainskeeper status on duplex-nuc · incident state · 15:22
Rendering
$ NO_COLOR=1 mainskeeper status MAINSKEEPER STATUS · duplex-nuc · Duplex Wed 30 Sep 2026 15:22:00 local DEMONSTRATION DATA — NOT REAL EQUIPMENT COLLECTOR id duplex-nuc site Duplex platform Fedora Linux 42 daemon mainskeeperd 0.4.2 uptime 30 min · since restart 14:52 [ON] UPS monitoring enabled [ON] connectivity enabled SERVER REPORTING [OK] CONNECTED [OK] connection connected · last heartbeat 3 s ago reconnected 15:02 UPS OBSERVATIONS · Duplex Utility UPS reading 3 s old model Tripp Lite SMART1500LCD [OK] source on utility [OK] charge 78% · recharging [EST] runtime 29 min UPS estimate, not a measurement [OK] load 27% [OK] input 119 V [N/R] temperature not reported protects duplex-nuc, duplex-router, duplex-camera-nvr CONNECTIVITY PROBE [OK] 3/3 TARGETS [OK] targets 3 of 3 OK last failure window 13:41–15:02 (1 h 21 m) · cause not determined LOCAL BACKLOG · uploading history current readings stay live pending 1,248 records · oldest 13:41 (1 h 41 m old) uploaded 382 of 1,630 batch [........................] 16/64 last upload 15:21:48 · 12 s ago [RETRY] retries 1 · recovered buffer 38.2 MB / 512 MB [EST] drain ~22 min at current rate 15:19 WARN upload rejected: server 503 · retried once → [OK] accepted HISTORY NOTICE 1 gap · 1 uncertain time [LAST] 14:30 last record before observation ended 14:03–14:30 At least 27 minutes on battery; endpoint unknown. [GAP] 14:30–14:52 no records · collector offline · will not backfill [±90S] 14:52 timestamp uncertain until NTP sync 14:54 [LATE] 14:03 on-battery record received 15:17 (+74 m) codes [OK] current [EST] UPS estimate [LAST] last known [GAP] no records [N/R] not reported [±90S] uncertain time [LATE] received late Demonstration data — not real equipment. Monitoring only; no commands are sent to the UPS. $ ▌
$ NO_COLOR=1 mainskeeper status MAINSKEEPER STATUS · duplex-nuc · Duplex Wed 30 Sep 2026 15:22:00 local DEMONSTRATION DATA — NOT REAL EQUIPMENT COLLECTOR id duplex-nuc site Duplex platform Fedora Linux 42 daemon mainskeeperd 0.4.2 uptime 30 min · since restart 14:52 [ON] UPS monitoring enabled [ON] connectivity enabled SERVER REPORTING [OK] CONNECTED [OK] connection connected · last heartbeat 3 s ago reconnected 15:02 UPS OBSERVATIONS · Duplex Utility UPS reading 3 s old model Tripp Lite SMART1500LCD [OK] source on utility [OK] charge 78% · recharging [EST] runtime 29 min UPS estimate, not a measurement [OK] load 27% [OK] input 119 V [N/R] temperature not reported protects duplex-nuc, duplex-router, duplex-camera-nvr CONNECTIVITY PROBE [OK] 3/3 TARGETS [OK] targets 3 of 3 OK last failure window 13:41–15:02 (1 h 21 m) · cause not determined LOCAL BACKLOG · uploading history current readings stay live pending 1,248 records · oldest 13:41 (1 h 41 m old) uploaded 382 of 1,630 batch [........................] 16/64 last upload 15:21:48 · 12 s ago [RETRY] retries 1 · recovered buffer 38.2 MB / 512 MB [EST] drain ~22 min at current rate 15:19 WARN upload rejected: server 503 · retried once → [OK] accepted HISTORY NOTICE 1 gap · 1 uncertain time [LAST] 14:30 last record before observation ended 14:03–14:30 At least 27 minutes on battery; endpoint unknown. [GAP] 14:30–14:52 no records · collector offline · will not backfill [±90S] 14:52 timestamp uncertain until NTP sync 14:54 [LATE] 14:03 on-battery record received 15:17 (+74 m) codes [OK] current [EST] UPS estimate [LAST] last known [GAP] no records [N/R] not reported [±90S] uncertain time [LATE] received late Demonstration data — not real equipment. Monitoring only; no commands are sent to the UPS. $ ▌
Voice
- Dispatch terse: noun, fact, age. No adjectives, no exclamation.
- Section headers in caps; values in plain lowercase words.
- Every value carries its freshness or its source. Estimates say “UPS estimate”.
- Loss of contact is reported as observed, with cause “not determined”.
- Output stays within 92 columns so it survives a split pane and a pasted ticket.
Status codes · words first
[OK]current and within expected range
[EST]prediction reported by the UPS, not a measurement
[LAST]last known value, shown with its time
[GAP]no records exist for the window
[N/R]capability not reported by the device
[±90S]timestamp uncertain by the stated amount
[LATE]recorded locally, received later
[RETRY]upload retried; outcome on the log line
Colour rules (proposed)
- Colour off when NO_COLOR is set, when stdout is not a terminal, or with --no-color.
- Colour only repeats the bracket code. Nothing is said by colour alone.
- Bold is kept under NO_COLOR for section headers; it is weight, not colour.
- The backlog meter is plain ASCII: # sent, . pending.
- Read-only command. The CLI has no shutdown, switching or UPS command verbs.