Files
felhom.eu/documentation/audits/security-2026-11-02/part3
..

Part 3 — the live proofs on scratch 9202 (2026-11-03), controller test image of c4b6844

The image 0.350.0-rc.1-sec1102fault was local only: docker save/load, never pushed, removed after. Driver: proof1102.py. Events went to a sink in the guest, not a hub.

Row What was staged What happened File
R-1347 an update with its undo copy cut off (finished-marker removed while it verifies; a held volume does not stop the undo, try1-…) hold update_failed; the household's restore: „the update hold … is CLEARED", „its update-held flag is forgotten"; six kill -9: crash_loop … STOPPING, hold unhealthy_stop: the watcher watches again stdout-r1347.txt, stdout-r1347b.txt
R-1348 a restore cut at „the restore copy is recorded": docker kill, the volume held by a created-only container, the controller started „could NOT be put back", hold restore_mixed / interrupted_put_back, event backup_run_failures with the R-1340 sentence in the sink. It showed a wrong run name (offsite-reconstitute): fixed, 3764445 stdout-r1348.txt, r1348-after.txt
R-1339 a guest reboot, before and after 9 false lines → 0 stdout-boot-before.txt, stdout-boot-after.txt
R-1351 reboots: plain; the sync recreating; also the file manager held down so both paths run in one second 0 Conflict and 0 first-boot WARN on all six, 3 per image. The race did not fire on the old image either, so these boots do not tell the images apart. The proof is the test with the lock removed stdout-boot-*.txt
Traefik v3.7.17 three boots started, dashboard 200, file manager healthy stdout-boot-after.txt

Left on 9202: one hold in its settings, radicale (restore_mixed), from R-1348's proof. A brief's fence forbids CC to clear a restore hold; the app itself is removed. To clear it: pct exec 9202 -- docker exec felhom-controller felhom-controller --clear-restore-hold radicale. Until then a walk of Radicale on 9202 is refused its start.