477e2548db
gates / gates (push) Successful in 31s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
1.6 KiB
1.6 KiB
REPORT — controller v0.295.0 (2026-10-05, afternoon): a box that is not always on
Brief: the 2026-10-05 catch-up brief (operator), Parts A and B. Full session report: felhom.eu/REPORT-catchup-2026-10-05.md.
Architecture: felhom.eu/documentation/architecture/07-backup-architecture.md §6.1.1 (new), 09 decisions 109–110, 112–114.
| What | Proof |
|---|---|
internal/nightchain: the night ledger + ONE catch-up 15 min after a start or a host resume, backup legs only (R-871) |
9 tests + 9 red-proofs; live on 9202 (twice) and demo-felhom |
scheduler.DailyLateLimit: a daily timer firing > 60 min late is skipped |
test + red-proof |
the whole-guest cycle waits for a running catch-up (quiesce.SetCatchUpFn) and the catch-up waits for a quiesce |
test + red-proof |
wiring (catchUpLegs, start + resume triggers, no update leg) |
2 tests + 2 red-proofs (one test strengthened after its first red-proof did not convict) |
| the missed-backup banner (decision 110): rule, page, durable dismissal | 8 rule tests + 2 page tests; 7 red-proofs; served live on 9202 |
the household's timeline line backup_catchup_done |
live: reached the hub from demo-felhom, no mail |
Delivered: image felhom-controller:0.295.0 (commit 635c33d); floor 0.295.0 (MinAgent 0.131.0) for demo-hp, demo-felhom,
tester-1 — all three run it; 9202 by hand. Golden 0.295.0 baked + vouched. go test ./... rc 0; controller_gates.py
OK (after registering six new Go-side keys as "born as a key"). Red-proofs: felhom.eu/documentation/audits/ catchup-2026-10-05/part{A,B}/red-proofs.txt. Found: R-878 (P4, a daytime catch-up stops a volume app ~1 s for its dump).