Reference
Source references
Ordinary reading does not require the app archive. Citations below open a bundled, unchanged extract. UI mockups stay in the companion zip.
Companion archive. mainskeeper-app-0.2.3.zip
SHA-256 37696293ce26ea8cc73be572684288a0b946d452cd66b402b0e93eff02ce7663
The zip is the MainsKeeper app handoff, preserved unchanged. It is not this guide’s checkpoint series. This guide’s checkpoints are mainskeeper-product-system-guide-checkpoint-*.
SHA-256 37696293ce26ea8cc73be572684288a0b946d452cd66b402b0e93eff02ce7663
The zip is the MainsKeeper app handoff, preserved unchanged. It is not this guide’s checkpoint series. This guide’s checkpoints are mainskeeper-product-system-guide-checkpoint-*.
Bundled in the guide
| Reference | What it is |
|---|---|
| CONTRACT.md | Unchanged extract. Later sections override earlier ones. §18 through §22 win over older freshness and platform wording. |
| Brand readme | Lattice identity notes from the app handoff. |
| REVIEW-0.2.3.txt | App verification record. Not a guide test log. |
| Snapshot readme | What was extracted, and what was left in the zip. |
Inside the companion zip, not loose HTML
These paths are usable once the zip is opened. They are not rewritten into the guide, so a checkpoint does not treat each mockup as a guide page.
product/implementation.html— implementation map and limitsproduct/notes.html— provenance notesproduct/cli/— proposed CLI grammar and examplesproduct/app/*.html— UI mockups. Fixture numbers are not field measurements.
Traceability
| Guide claim | Contract | Where the guide says it |
|---|---|---|
| Monitoring only. No self-test, shutdown, or outlet control. | §2 | Figure 2, glossary |
| Freshness follows cadence. The old ≤60 s / ≤5 min rule is superseded. | §18.4 over §15.1 | Freshness |
| Backfill writes history at observation time and does not repeat obsolete alerts. A still-active condition stays alertable. Replay does not recover an incident; recovery needs fresh evidence. | §15.4, §2 | Figure 8, walkthrough ledger, 09:48 |
| Six timestamps. Ack, recovery, and resolution differ. Resolved means recovered and stable for 5 minutes. | §15.2, §15.3 | Figure 11 |
| Gaps stay gaps. Unknown is not uptime. | §18.3, §20, §21 | Figure 13 |
| Network UPS identity includes namespace. A host alone is not an identity. | §18.1 | UPS ↔ adapter |
| Desired, pending, applied, and failed are distinct. Lost contact stays pending. | §12.4, §13, §18.2 | Figure 10 |
| Enrollment behavior and the 10-minute code lifetime are Accepted. Endpoint names are not. | §12.4, §14 (CLI shapes are design grammar, not a frozen HTTP API) | Figure 6 status correction in Chapter 5 |
| ESP32 figures are illustrative until a board and UPS list is validated. | §2, §15.5 | d7 |
| Installations, evidence eligibility, and documented resolution. | §22 | Figure 12, Chapter 7 |
Guide deliverables
index.html— hub and reading pathschapters/01–08— narrative chaptersbroadwater-outage.html— one synthetic incidentglossary.html,interfaces.html,decisions.html,broadwater-pilot.html,diagram-gallery.html,sources.htmlassets/diagrams/fig-01.svg–fig-14.svg— single source for chapter and gallery figuresfig-enroll-sequence.svgis the same file bytes asfig-06.svg.fig-replay-sequence.svgmatchesfig-08.svg.
Correction precedence: later CONTRACT sections override older foundation text. This page’s extract and the companion zip are the references. Prototype fixtures are not measurements.