REPORT — the „turn the machine off" button: spike on the N100, then built and proven (2026-10-13)
Architecture: documentation/architecture/14-host-power-off.md (new), 03-host-agent.md §6, 13-threat-model.md,
05 staleness. Evidence: documentation/audits/poweroff-2026-10-13/README.md (Part A, Part B, HP). Times UTC.
1. Watts and the restart
| Item |
Value |
| N100 at rest |
8.5 W mean, 7.2 W median |
| N100 at work (Immich, 200 photos) |
20.7 W mean, 24.0 W busiest minute, 25.2 W max |
| N100 off |
0.0 W (below the plug's 0.1 W step), 2 h 56 min |
| N100 plug off/on |
did not start (BIOS not read — no monitor) |
| N100 power button |
Part A: dashboard 200 in 42 s. Part B: dashboard 200 within 50 s |
| HP t740 off, plug on |
0–3.2 W |
| HP after a power cut |
did not start (BIOS „After Power Loss" Off) → operator set „Previous State" → starts by itself, controller healthy 2 min 38 s after power returned |
2. The hub during the hand test (Part A, before the build)
| Item |
Result |
| 18 min after power-off |
hosts page ONLINE, „Last Report 18 min ago"; no event, no mail |
| Code reading |
without the build: host_stale at 45 min, host_down at 90 min, and the 05:00 expected_backup_missed pair — as Tester 2 gets every day |
3. The button
| Who |
What they see |
| Household |
Beállítások → Rendszer → „A gép kikapcsolása". They type KIKAPCSOLÁS (EN: TURN OFF). Text: to start it again, press the machine's power button. The plug trick is not mentioned. Refusals in plain words: too soon after start, already done this boot, backup, update, drive work, another machine running |
| Old restart button |
now „A Felhom újraindítása" / „Restart Felhom" (R-999); reboot is POST only |
| Hub |
event host_deliberate_off at once; host page „Power: Kikapcsolva a háztartás által … riasztás szünetel eddig: +14 days"; badge KIKAPCSOLVA once the report is stale (45 min — R-1002); no stale/down/backup/offsite/restore-test/OS alarm for 14 days; OS ring-0 stall is still raised on purpose |
| Hub, machine back |
host_deliberate_off_ended (info) with the first report; staleness back to ok; no *_recovered, no crash mail |
| Live proof |
press 18:52:34 → 202 → 0.0 W 18:53:07 → 2 h 56 min quiet (mailbox checked; positive control: the HP crash mails arrived) → button 21:48:43 → clean boot → hub cleared 21:49:22 |
4. Versions and what waits on the operator
| Part |
Version |
Where |
| Agent |
v0.155.0 + config bundle |
all three boxes by signed job; sudo checked live on each |
| Hub |
v0.149.0 |
live (ArgoCD, hub Deployment only) |
| Controller |
v0.310.0, MinAgent 0.155.0 |
N100 guest 9201 only, by hand |
| Waiting on the operator |
If nothing is done |
| Golden bake (weekly) |
the waiver covers it until 2026-10-20 |
| Vouch agent 0.155.0 + bundle |
a fresh install gets 0.154.0, without the power-off lines |
Floor 0.310.0 with min_agent 0.155.0 |
demo-hp and Tester 1 keep 0.309.0: no button there |
| N100 BIOS „After Power Loss" |
unknown; a deliberately-off N100 stays off after a power cut (looks like „last state") |
| HP BIOS: „Bypass F1 on configuration changes" → Enable |
a changed BIOS can stop the HP at an F1 prompt after a cut |
5. Claims in the spec that were wrong
| Claim |
What is true |
| „guestpower.go guards a reboot during a vzdump" |
only the watchdog path does; the new route takes the heavy-operation gate itself |
| „the plug can be switched; the spike runs without the operator" |
the N100 does not start on plug power; the operator pressed the button twice |
| A0 „never cut a running machine" as written |
needed a measured standby value first (standby_w) and a 20 s reading window; the first live off refused on 16 s |
Decisions taken in the session (doc 14): refuse while another guest or VM runs; os_ring0_stalled not held; the
unaccented KIKAPCSOLAS accepted; the golden waiver renewed to 2026-10-20 to let the hub deploy pass its gate.
6. Commits, register, STATUS
| Repo |
Commits |
| felhom.eu |
6a1f715a, b4dcf4b3, 750b55e9, 50e47e29, a6acb0f7, 35e546a9, e8c8fc30, 81e64c6f, 0544ae0d, 95d293b9, and this one |
| felhom-agent |
3403c87, f38b03c, c6d9435, bdf25f0, 68a2130, 10ca63a, e7d4ecd |
| felhom-controller |
201f936, e24430c, acbbf4b |
Register: 125 before, 127 after. Opened R-998, R-999, R-1000, R-1001, R-1002 (5). Closed R-998, R-999 (2).
R-997 was closed by another session in between (−1).
Fixed without a row: an escrow-ceremony data race (agent); plugswitch read window (bench tool); my wrong
os_ring0_stalled sentence in the hub CHANGELOG and doc 14.
Teardown: machine — the N100 and the HP run as before, Immich removed in Part A; host — no change left on either host
apart from the released agent and bundle; hub — the hold was set and cleared by the product. The bench meters are
stopped. Home Assistant on demo-hp stays (Task 1, on purpose).
System poster: no fact in felhom-system-poster.facts.md changed.