MainsKeeper Product & System Guide Edition 0.2.3

Chapter 4 · honesty rules

Information, evidence, and uncertainty

The domain model separates what is configured from what is observed, and what is known from what is merely silent.

Domain relationships

Figure 4. Domain relationships — reads vs powers

Takeaway: The collector uses a source to read a UPS. That UPS has a battery installation and powers equipment. Each arrow ends on its target.

Entities

EntityMeaning
SitePlace with timezone, witnesses, circuits, network namespace
Collector / probeAgent that reports; witness (expected always-on) or workstation (sleep normal)
SourceUSB or network endpoint identity used to read a UPS
UPS assetMonitored unit; identity persists across battery replacements
Powered equipmentLoads linked by configured powers relationships
Battery installationOne installed cartridge interval with its own id

Time semantics

The same Broadwater names continue through the telemetry and replay figures: bw-pi-01 and ups-bw-rack. Idempotency is what makes a retried batch safe.

Normal telemetry flow

Figure 7. Normal telemetry flow

Takeaway: The collector appends locally before upload. Ingestion acknowledges a prefix. Local retirement after that cursor is Proposed.

Offline buffering and replay

Figure 8. Offline buffer → reconnect → replay → acknowledgement

Takeaway: Sampling continues while upload fails. Replay writes history at observation time and does not repeat an alert that already fired.

Broadwater outage timeline

Figure 9. Outage timeline — known vs unknown

Takeaway: Utility, the WAN, and the collector change at different times. The 09:41 cell is local history. Recovery is the fresh reading near 09:48, and silence is not a power failure.

Connectivity vocabulary

PhraseMeansDoes not mean
Heartbeat late / contact lostCollector check-in problemUPS on battery
UPS communication lostCollector up; UPS source silentSite unreachable
Site contact lost — cause unknownAll expected witnesses silentConfirmed ISP failure
Connectivity failure confirmed by local probeProbe saw targets failParticular UPS empty
Asleep (ordinary workstation)Expected non-reportIncident
Non-implications. Missing heartbeat ≠ power failure. Site reachability ≠ a UPS’s state. Full charge or self-test PASS ≠ certified capacity. Estimated remaining runtime ≠ observed battery-operation duration.
Technical detail — freshness, grace, gaps

Accepted Reading freshness vs interval I: On schedule ≤ I+g · Overdue ≤ 2I+g · Stale · last known, with g = max(30 s, I/2).

Accepted Heartbeat H: late after 2H; contact lost after max(5 min, 3H).

Accepted Unknown spans are never interpolated as up/down. Monitoring-disabled gaps use exact stop/resume intervals.