Update night: the final PROGRESS lines — teardown, documents, CI green by id
gates / gates (push) Successful in 24s

Both CI runs confirmed by job id: app-catalog-felhom.eu job 830 and felhom.eu job 870, each
'completed' / 'success', matched on head_sha. unproven.py --summary did not move and that is
stated rather than left for the reader to notice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-21 22:35:42 +02:00
parent 8d786f7940
commit 1ee14ce166
@@ -55,3 +55,7 @@ A resuming session reads THIS FILE FIRST and never repeats a finished step.
| 22:20 | **Bonus proof across a REAL power cut** | The boot sweep met the held `glance` after an unclean shutdown and **deliberately left it alone**: „is a boot orphan by intent but is HELD … NOT starting it; whatever is holding it owns its recovery". §6.1's three-unattended-paths claim, proven across a power cut | 25-B5-the-two-early-cuts.md |
| 22:22 | **mealie v3.20.1 -> v3.27.0** (db-postgres) | **PROVEN** — the edge that failed twice on instrument problems, walked cleanly on the third | apps/mealie/ |
| 22:23 | **PHASE 1+2 COMPLETE** | **21 edges attempted: 14 proven, 3 failed, 4 inconclusive.** Ten of the fourteen printed a verbatim migration line. Up from the **three** apps this project had ever measured | summarise.py |
| 22:27 | **PHASE 5 — teardown, three layers plus Gitea** | **Machine:** every throwaway app removed through the product; three with an `HDD_PATH` refused at „remove with data" (R-442, correct) and removed keeping it; registry, drill images and drill volumes gone BY NAME, never pruned; `controller.yaml` restored and `git.repo_url` **read back as the LIVE catalog with an empty token**; only `felhom-controller`, `filebrowser`, `traefik` left. **Host:** no harness LXC was created, so none was destroyed; guest 9201 untouched. **Hub:** nothing provisioned; floor 0.261.0. **Gitea:** drill repo KEPT, private, reset to live `main`; **every `image:` line IDENTICAL** | teardown/ |
| 22:28 | **The teardown found the night's LAST defect** | A `navidrome` container the product's own removal left behind, resurrected by Docker's restart policy at a power cut, invisible to every sweep keying on `deployed`. Removed by name. **R-626** | 26-removed-app-came-back.txt |
| 22:4x | **Documents, register, CI** | 12 new rows (register **303 -> 315**), 8 existing rows updated, `09` §3b answered for Q2–Q6, §6.4 re-costed, §6.5 (the drill method) added, limitation 8 replaced, capability map widened, rotation **2 -> 16** fully-walked apps, STATUS morning note. **CI green by id: catalog job 830, felhom.eu job 870, both `success`** | felhom.eu@8d786f7940b0 |
| — | **`unproven.py --summary` did NOT move** | 55 claims, 35 not walked — unchanged. Tonight measured the UPDATE arc, which that file tracks as one claim already marked walked; no claim's status changed, so no number moved. Stated because the checklist asks | scripts/unproven.py |