← All concepts Concept B · Feeder Board Design proposal · not shipped output Demonstration data — not real equipment
CLI · terminal preview · design proposal

Status, dispatch voice

mainskeeper status on duplex-nuc · incident state · 15:22
Rendering
jp@duplex-nuc: ~ — 92×56TTY · colour
$ 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.
$ ▌
jp@duplex-nuc: ~ — 92×56NO_COLOR=1
$ 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.