Concept 5 · Meridian
MainsKeeper

CLI · Meridian voice

Fictional demonstration data — not real equipment

Timestamp-led, aligned, and exact about what is known. Every line leads with a time or a field; estimates carry est.; the gap is named; delayed records say when they arrived. Colour is restrained — ultramarine-light headings, ice for measured values, amber only for estimates and delayed data — and the NO_COLOR rendition keeps every distinction because each state has its own character.

mainskeeper status — colour

On duplex-pi-probe, incident state, 15:22. Max 92 columns.

duplex-pi-probe — ssh — 92×34TERM=xterm-256color
$ mainskeeper status
MainsKeeper · duplex-pi-probe                              2026-09-30 15:22:00 local
Fictional demonstration data — not real equipment

HOST      duplex-pi-probe · site Duplex · Raspberry Pi OS 12 · mainskeeperd 0.4.2
          up 30 min (restarted 14:52)
ROLES     UPS monitoring on · connectivity monitoring on
SERVER    connected · heartbeat 3 s ago · reconnected 15:02

UPS       Duplex Utility UPS · Tripp Lite SMART1500LCD
  state       on utility
  charge      78%        recharging
  runtime     29 min     est. UPS estimate
  load        27%
  input       119 V
  temp        not reported
  reading     3 s old

PROBE     3 of 3 targets answering · last failure window 13:41–15:02

BACKLOG   1,248 pending · 382 of 1,630 uploaded  [####----------------]  23%
  oldest      13:41      1 h 41 m old
  last upload 15:21:48   batch 16 of 64
  retries     1          15:19 server 503 · accepted on retry
  drain       ~22 min    est. at current rate
  buffer      38.2 MB of 512 MB
  history gap 14:30–14:52  no records

fictional demonstration data; output format is a design proposal.

mainskeeper timeline — colour

The last two hours at Duplex on one shared axis, 2 minutes per column. Characters, not colour, carry the state.

duplex-pi-probe — ssh — 92×22TERM=xterm-256color
$ mainskeeper timeline --site duplex --last 2h
Duplex · 13:22 → 15:22 · 2 min per column · event time     2026-09-30 local
Fictional demonstration data — not real equipment

            13:22     13:42     14:02     14:22     14:42     15:02     15:22
            |         |         |         |         |         |         |
  power     --------------------oooooooooooooo...........?--------------
  ups       --------------------oooooooooooooo>..........?--------------
  net       ---------ooooooooooooooooooooooooo...........ooooo----------
  report    ---------xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-------^--
  events             a          b             c          d    e      f  

  a  13:41  connectivity probe failures begin (recorded locally)
  b  14:03  UPS on battery · record received 15:17 (delayed)
  c  14:30  last record · At least 27 minutes on battery; endpoint unknown.
  d  14:52  probe restarted · on utility · 41% · time ±90 s until sync 14:54
  e  15:02  connectivity restored · contact resumed
  f  15:17  delayed 14:03 record received

  legend   - measured   o delayed (received later)   . no records
           x contact lost — cause unknown   > endpoint unknown
           ? timestamp uncertain ±90 s   ^ delayed record received

fictional demonstration data; output format is a design proposal.

NO_COLOR rendition

Same output with NO_COLOR=1 — identical characters and alignment, nothing lost.

$ NO_COLOR=1 mainskeeper statusmonochrome
$ mainskeeper status
MainsKeeper · duplex-pi-probe                              2026-09-30 15:22:00 local
Fictional demonstration data — not real equipment

HOST      duplex-pi-probe · site Duplex · Raspberry Pi OS 12 · mainskeeperd 0.4.2
          up 30 min (restarted 14:52)
ROLES     UPS monitoring on · connectivity monitoring on
SERVER    connected · heartbeat 3 s ago · reconnected 15:02

UPS       Duplex Utility UPS · Tripp Lite SMART1500LCD
  state       on utility
  charge      78%        recharging
  runtime     29 min     est. UPS estimate
  load        27%
  input       119 V
  temp        not reported
  reading     3 s old

PROBE     3 of 3 targets answering · last failure window 13:41–15:02

BACKLOG   1,248 pending · 382 of 1,630 uploaded  [####----------------]  23%
  oldest      13:41      1 h 41 m old
  last upload 15:21:48   batch 16 of 64
  retries     1          15:19 server 503 · accepted on retry
  drain       ~22 min    est. at current rate
  buffer      38.2 MB of 512 MB
  history gap 14:30–14:52  no records

fictional demonstration data; output format is a design proposal.
$ NO_COLOR=1 mainskeeper timeline --site duplex --last 2hmonochrome
$ mainskeeper timeline --site duplex --last 2h
Duplex · 13:22 → 15:22 · 2 min per column · event time     2026-09-30 local
Fictional demonstration data — not real equipment

            13:22     13:42     14:02     14:22     14:42     15:02     15:22
            |         |         |         |         |         |         |
  power     --------------------oooooooooooooo...........?--------------
  ups       --------------------oooooooooooooo>..........?--------------
  net       ---------ooooooooooooooooooooooooo...........ooooo----------
  report    ---------xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-------^--
  events             a          b             c          d    e      f  

  a  13:41  connectivity probe failures begin (recorded locally)
  b  14:03  UPS on battery · record received 15:17 (delayed)
  c  14:30  last record · At least 27 minutes on battery; endpoint unknown.
  d  14:52  probe restarted · on utility · 41% · time ±90 s until sync 14:54
  e  15:02  connectivity restored · contact resumed
  f  15:17  delayed 14:03 record received

  legend   - measured   o delayed (received later)   . no records
           x contact lost — cause unknown   > endpoint unknown
           ? timestamp uncertain ±90 s   ^ delayed record received

fictional demonstration data; output format is a design proposal.

Times first

Every event line starts with a local time (HH:MM or HH:MM:SS); the header carries the ISO date once. Ranges use an en dash.

Certainty in words and glyphs

est. marks UPS and drain estimates; o marks records received late; . is no records; ? is ±90 s; > is an endpoint we never saw.

Monitoring only

No command in this CLI shuts down, tests or switches anything. Thresholds configure notifications only.

Fictional demonstration data — not real equipment · Output format is a design proposal.