Files
felhom.eu/REPORT-power-cut-fixes-2026-10-14.md
T
admin 65493fc481
gates / gates (push) Successful in 6m45s
Power-cut fixes E done: a real cut mid-backup on demo-hp, the box cleared up by itself; agent 0.156.1 on all three boxes; R-1006 + R-1008 closed, R-1013 filed
demo-hp 12:06:52 UTC, 1.53 GB written: at boot the dead task was judged dead, the partial and its .tmp
removed by the root helper, the next backup finished (5.65 GB), host root back below its pre-cut use.
Orphan thin device 4 repaired first (operator B2 - A); R-1012 P2 -> P3, detection stays open.
Delivered by signed jobs to Tester 1 and the N100 (probe 71/71, real sudo checked). Controller 0.310.0
everywhere after the operator cleared the per-customer floors. Register 134 -> 134 (opened 4, closed 4).
Report: REPORT-power-cut-fixes-2026-10-14.md. Both plugs ON.

Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
2026-10-14 15:08:57 +02:00

5.3 KiB
Raw Blame History

REPORT — Day 2026-10-14: the FAQ power-cut promise, the estimator figures, and a box that clears up after a power cut

Times UTC. Evidence: documentation/audits/power-cut-fixes-2026-10-14/ (C1–C4, E, F), documentation/audits/sizing-check-2026-10-14/CHECK.md, documentation/tests/golden-0.310.0-2026-10-14/. Architecture read first: 14-host-power-off.md, 07-backup-architecture.md, 03-host-agent.md, 13-threat-model.md. No key, token, device id or password in any file.

1. The FAQ (Part A) — live

  • New power-cut answer (the operator's text: who sets the BIOS) and a new answer „Hogyan kapcsolhatom ki a gépet?" / „How do I turn the machine off?", in the JSON-LD and the visible copy. Every website gate green; read back live.
  • https://felhom.eu/gyik and https://felhom.eu/en/faq — commit d61aa206. R-1003 and R-1000 closed. No BIOS menu steps (ruling).

2. The estimator (Part B) — STOPPED, nothing published

The „raise only" rule raises 23 figures and lowers none, but one verdict changes: „5 apps without Immich" on 8 GB goes from „fits well" to „fits, but tight" (0.5 MB over: peak 2,731 MB × 1.5 = 4,096.5 MB against 4,096 MB). By the STOP rule the website was not pushed and the data change was reverted. The patch waits as sizing-check-2026-10-14/raise-only-source.patch. Decision R-1009 (A publish / B round down / C keep) is with the operator — CHECK.md last section.

3. The power-cut clean-up (Parts C, D, E) — proven live, on all three boxes

  • Spike C1–C4: a cut leaves vzdump-lxc-<id>-<time>.tar.dat + .tmp/; a killed worker leaves tar/zstd writing for 4 min 40 s (so „no vzdump process" alone is not enough); Proxmox lists the dead task for only ~30–60 s after a boot; vzdump removes its own partial on a full disk — but a full host root can leave an orphan thin snapshot (R-1012).
  • Agent v0.156.1 (7ae3081; 0.156.0 superseded — its boot-time rule was fail-open under a clock step): in flight = the worker process lives (pid + start time, R-1008); a root helper removes a dead partial at start-up and before every backup, re-checking everything itself (R-1006). 19 red-proofs (redproof.txt), helper suite 22 tests with positive controls.
  • The live cut (E), demo-hp, 12:06:52 → 12:07:02, at 1.53 GB written:
    • boot: „worker process is gone — it is dead, not running"; the partial (0.96 GB survived) and its .tmp removed, „written before this boot";
    • the household power-off request at uptime 147 s: refused too_soon_after_boot only;
    • next backup: finished, 5,650,197,172 B; vzdump removed the cut's LVM snapshot itself;
    • host root 24.69 GB used after, below the 24.72 GB before the press.
  • Delivered by signed jobs to Tester 1 and the N100 too: agent 0.156.1, bundle probe 71/71, real sudo allows the clean-up shape and refuses a finished archive. Controller 0.310.0 on all three after the operator cleared the per-customer floors.
  • Repair (operator „B2 - A"): orphan thin device 4 on demo-hp deleted by identity (dmsetup message … "delete 4"); thin_ls and LVM agree; backups run again.

4. Immich (Part F) — a proposal, nothing changed

Immich v3.2.4 does not repair by itself after an unclean boot. Only „thumbnails: all" (force=true) regenerates the zero-byte previews; the „missing files" integrity job finds a lost original. Proposal (STATUS D9, R-1007): run both in the night window after an unclean boot. Cost: CPU in proportion to the library.

5. Versions, and what waits on the operator

Box Agent Bundle Controller
demo-hp 0.156.1 0.156.1 (71/71) 0.310.0
Tester 1 0.156.1 0.156.1 (71/71) 0.310.0
N100 0.156.1 0.156.1 (71/71) 0.310.0

Golden 0.310.0 baked and published (sha 2110d5e4…, round trip verified). Waiting on the operator: R-1009 (estimator A/B/C) and R-1007 (Immich repair yes/no). If nothing is done: the page keeps today's lower figures; broken previews stay.

6. Wrong claims made earlier today, corrected

  • „The guest restart is refused while a backup runs" — false: the restart route never asks BackupRunning (C3).
  • A „CHECK 1b" was cited — there is no such check.
  • The family preset sum is 6,021 MB, not 5,938; Immich alone is 3,760 MB, not 3,770.
  • Agent 0.156.0 was presented as the fix — it is superseded by 0.156.1 and must never be vouched.

7. Record

  • Fixed without a row: none. New finding filed (release spent): R-1013 — the start-up unlock logs ERROR „no lock found" when Proxmox cleared the lock in the same second.
  • Register: 134 before → 134 after; opened 4 (R-1010, R-1011, R-1012, R-1013); closed 4 (R-1003, R-1000, R-1006, R-1008). R-1012 repaired on demo-hp, P2 → P3, the detection stays open.
  • Commits: felhom.eu d61aa206, 94fc3ba9, c75a9c8b, 89c79dd4 and this one; felhom-agent a2f3aee, 7ecd63c, 7ae3081 (v0.156.1), 9b749ee.
  • Real power cuts: two, both demo-hp with plugcut.py (C3 08:44, E 12:06). The N100, DooPlex and ep0 were never cut. Both plugs end ON. The household power-off was never completed (refusal path only).
  • STATUS.md: 47 lines. System poster: no listed fact changed.
  • Teardown: machine — the test partials removed by the product, the orphan device by the repair; host — no scratch storage or guest made; hub — read only, nothing changed by CC (the floors were cleared by the operator).