# mainskeeper CLI — PROPOSED product contract, not shipped software. Fictional demonstration data.
# screen: status-duplex · host: duplex-pi-probe · 120 columns · NO_COLOR · exit 0
# clock: Wed 30 Sep 2026 15:22 PDT · Fixture · incident state, now 15:22
# stderr lines (counting the prompt line as 1): none
duplex-pi-probe $ mainskeeper status
MainsKeeper · duplex-pi-probe · site Duplex                                                    Wed 30 Sep 2026 15:22 PDT
✓ Monitoring normally · INC-0411 resolved 15:07:06 · ⇡ history arriving (1,248 pending)

COLLECTOR       duplex-pi-probe · Raspberry Pi 4 · Raspberry Pi OS 12 · site witness (always-on)
SERVICE         ● running · mainskeeperd 0.4.2 (systemd) · restarted 14:52:10 PDT · up 29 min
CLOUD           ● connected · Heartbeat on time · last contact 3 s ago · every 30 s · enrollment valid
ROLES           UPS monitoring on · connectivity monitoring on · applied (set in the dashboard)

UPS             Duplex Utility UPS · Tripp Lite SMART1500LCD · USB · NUT usbhid-ups (bundled)
                Power           Charge              UPS estimate    Load    Input    Battery temp
                ● on utility    78% (recharging)    29 min est.     27%     119 V    ▨ Unsupported
                reading       On schedule · read 3 s ago · expected every 30 s · at 15:21:57 PDT
                contact       heartbeat 3 s ago (separate from reading age)
                freshness     every 30 s: On schedule ≤ 60 s · Overdue ≤ 90 s · Stale · last known beyond (allowance
                              30 s)
                powers        duplex-router, duplex-ont, duplex-camera-nvr (configured)

CONNECTIVITY    ● 3 of 3 targets answering · checked 20 s ago
                Target                Address                       Method      Result        RTT
                Gateway               192.168.77.1                  ICMP        ● answering   2 ms
                DNS resolver          resolver.example.net          DNS query   ● answering   14 ms
                MainsKeeper ingest    ingest.mainskeeper.example    HTTPS       ● answering   41 ms

INCIDENT        ✓ INC-0411 Contact lost — Duplex · Resolved
                First evidence        13:41:00 PDT · local probe, received 15:02:06
                Grace period started  13:44:00 PDT · first missed heartbeat (server)
                Declared              13:49:00 PDT · email delivered 13:49:03
                Acknowledged          jp 13:52 — “ISP outage reported by neighbor”
                Recovered             15:02:06 PDT · fresh contact + probe evidence
                Resolved              15:07:06 PDT · stable for 5 min

HISTORY SYNC    ⇡ History arriving · 1,248 pending (38.2 MB of 512 MB) · oldest 13:41
                upload        last 15:21:48 PDT · batch 16 of 64 · drain ~22 min (estimate)
                replayed      14:03 on-battery record received 15:17:40 — Received late · replayed
                gap           ▨ 14:30–14:52 No records · probe offline — none exist, not lost in transit
                policy        Historical backfill updates history at observation time and does not generate duplicate or
                              obsolete notifications. Fresh evidence of an active condition remains alertable while a
                              backlog drains. Ordinary transmission latency does not make a reading historical replay.
                details       mainskeeper queue

DASHBOARD       https://mainskeeper.example.net/sites/duplex
                site          Recovered 15:02 · history arriving (1,248 pending)
                fleet         2 open incidents (1 critical, 1 warning; 0 acknowledged)
                collectors    4 of 6 expected collectors reporting · 1 workstation asleep
