gates / gates (push) Successful in 6m45s
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
75 lines
5.3 KiB
Markdown
75 lines
5.3 KiB
Markdown
# 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).
|