Chapter 3 · logical ownership
System responsibilities
Logical components own clear inputs, outputs, and ends-here lines. An MVP may combine deployables; credentials still stay on the collector.
Figure 5. Logical components and responsibility boundaries
Takeaway: Telemetry does not pass through enrollment. Storage feeds queries, evaluation, Assurance, and notification. Scrape reads current gauges only.
Related: Interface catalog · Contracts
Component cards
UPS / protocol adapters
- Owns
- USB-HID / NUT / SNMP read paths; normalized readings; source identity fields
- Runs
- Inside the host collector process (ESP32: constrained USB-HID firmware path)
- In / out
- Hardware protocol in → structured observations out
- Ends
- Does not store fleet history, evaluate incidents, or write UPS controls
Host collector and constrained probe
- Owns
- Sampling cadence, heartbeat, local buffer, upload attempts, role application, source tests
- Runs
- macOS / Windows / Linux / Pi host agent, or ESP32 firmware
- In / out
- Adapter readings + connectivity checks in → buffered telemetry + heartbeats out
- Deps
- Local secret store; platform service manager
- Ends
- Does not own fleet UI policy; does not accept dashboard-delivered secrets
Local persistence and upload
- Owns
- On-disk/flash queue, retention pressure signals, retry/backoff, ack cursor
- Ends
- When batches are acknowledged or explicitly dropped under overflow policy
Host disk caps and ~30-day targets are Proposed. ESP32 flash figures remain illustrative.
Enrollment, identity, configuration
- Owns
- Enrollment codes, collector credentials, site assignment, desired config records
- Split
- Dashboard-managed keys vs local secrets vs local host settings vs capabilities (not settings)
Telemetry ingestion
Accept batches, authenticate the collector, advance the acknowledgement cursor, and deduplicate. Proposed wire protocol.
Current-state & history queries
Latest + observation-timed history with gaps. Storage engine Open.
Incident evaluation & notify
Rules, grace, declare, deliver. Channels Proposed.
Battery Assurance
Evidence, installations, findings — monitoring-only. Accepted product rules.
Web dashboard & CLI
Operator surfaces. CLI grammar Proposed as shipped binary.
External monitoring
Prometheus scrape path Proposed. Does not replace durable replay.