Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
3.9 KiB
Prediction table — written 2026-10-04 ~21:45 CEST, BEFORE anything ran
All times CEST (the controller's scheduler is Europe/Budapest). Sources: each controller's "Daily job … scheduled for"
lines (baseline/schedule-*.txt), the agent journals of the last 7 nights, 11 §5.5 / §8.1, 07 §6.1.
The 20-hour gap
The marker /var/lib/felhom-agent/os/last-night-run is written only by a night-trigger leg. It does not exist on
either demo box (both: No such file): every OS run today was debug or signed, and the hub has no night report from
either demo box (os_reports: only Tester 2's two). Prediction: the gap skips nothing tonight on either box. No
marker to clear on demo-felhom — §1.2's "clear the marker" step is not needed (and no documented route exists to clear
it; none was invented).
Per box
| Box | Leg | Expected | Why |
|---|---|---|---|
| demo-hp | db-dump | 02:30 | scheduler |
| demo-hp | tier-2 copy + fill-watch | 03:30 | scheduler |
| demo-hp | metrics-prune | 04:00 | scheduler |
| demo-hp | off-site | 04:15 | scheduler |
| demo-hp | whole-guest backup (local) |
~04:35 → ~04:40 | last nights: 04:34:55 → 04:39:41 |
| demo-hp | OS leg guest → host → Docker (ring 0) | ~04:40 → ~04:45, right after the backup | AfterPrimaryBackup; no gap marker. Guest: pending Debian fixes if any appeared since today; host: same; Docker: select pending-docker = nothing newer than 29.8.2 expected → "nothing". The root-owned ring0_slow_lane mark is ON on both demo boxes (read 21:47: os-trust.json), so the Docker step runs unsigned and should report "nothing". |
| demo-hp | controller 04:30 self-update | no action | current 0.293.0 = floor 0.293.0 |
| demo-hp | offsite-abandon-sweep / offsite-proof / offsite-integrity | 05:10 / 05:30 / 06:00 | scheduler |
| demo-felhom | db-dump / tier-2 / off-site | 02:30 / 03:30 / 04:15 | scheduler |
| demo-felhom | whole-guest backup (felhom-backup) |
~07:45–07:55 — after the 06:30 stop | last 7 nights 07:37 → 07:49, drifting +2–3 min a night |
| demo-felhom | OS leg | after ~07:50 — not watched | follows the backup |
| Tester 1 (new box) | first whole-guest backup + OS leg | minutes after enrolment, not at night | Tester 2 (2026-10-04): backup 14 min after enrolment, night-trigger OS leg right after (49 + 106 packages) |
| Tester 1 | its first OS leg's package count | 0 guest, 0 host — ring 1 installs only an approved release, and none is in force; it reports the pending ones (~49 guest from the golden) as "not covered" | 11 §5.3, golden 0.293.0 |
| Tester 1 | night db-dump / tier-2 / off-site | 02:30 / 03:30 (no 2nd drive → skipped) / 04:15 | scheduler |
| Tester 1 | off-site night one — decision 78 | 04:15: the orphaned old repository (earlier tester-1 boxes) is SET ASIDE, never deleted; a new repository started; one household line | decision 78 (controller v0.291.0) |
| Tester 1 | whole-guest at night | not due (the install-time one is < 24 h old) | cadence |
| Tester 1 | OS leg at night | none — the install-time leg wrote the marker < 20 h before | the gap |
| Tester 2 | anything | offline since 18:06 UTC — nothing | hub STALE |
Approvals
No guest or host release is in force (today's test approvals were cancelled at 18:20 UTC). The ruled rule: 24 h since
the set was first seen AND one night run on EVERY ring-0 box since then. Guest set first seen 11:07 UTC, host 12:24 UTC
(if tonight's leg installs something, the set changes and the clock restarts). demo-felhom's night run comes ~07:50, so
the earliest real approval is after ~11:07 UTC tomorrow, only if neither box's set changes tonight. Docker: the
operator's release stays; no new set expected.
Mails expected tonight
None to a household from the demo boxes (a normal night). Tester 1: the household line for the off-site set-aside; the
operator mail for it. Operator: host_stale / node_stale for Tester 2 already sent; nothing more unless it returns.