v0.279.0: after_install (decision 45), known default logins on the page, Part D empty-backup alarm, night chain (R-705), R-706
gates / gates (push) Successful in 27s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-28 18:38:30 +02:00
parent 2e9a948cbd
commit 0c702f834a
35 changed files with 1119 additions and 16 deletions
@@ -26,6 +26,11 @@ const (
// gate — one constant, so the two can never disagree (TestLegDeadlineAndGateShareW5h).
const UpdateLegStopOffsetMin = 300
// UpdateLegLengthMin is how long the leg may start steps on a normal night: from the off-site leg (W+105m),
// after which it is chained, to W+5h. A MANUAL run of the night's chain (R-705) gives the leg this same
// length, counted from when it starts.
const UpdateLegLengthMin = UpdateLegStopOffsetMin - offboxOffsetMin
// ParseHHMM parses "HH:MM" (24h) into minutes-since-midnight. It rejects anything but a valid
// hour:minute — the same contract as the scheduler's parseDailyTime, kept here so this package is
// dependency-free and reusable by the quiesce gate.