REPORT + CONTEXT: v0.272.0, floor 0.272.0
gates / gates (push) Successful in 26s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-25 11:33:46 +02:00
parent 44ae4dea70
commit 3d49df1e5a
2 changed files with 13 additions and 21 deletions
+5
View File
@@ -9,6 +9,11 @@
Last updated: 2026-09-25 night (v0.271.0 — automatic app updates, `09` §6.4 part 7; R-680, R-678; floor 0.271.0)
> **2026-09-25 midday — v0.272.0, floor 0.272.0.** `web.noSpaceLine` (agent prefix `skipped: not enough space: `,
> key `backup.tier.no_space`); `backup.SetUndoCopyRemover` → `stacks.RemoveUndoCopies` from `clearUpdateHoldAfterRestore`
> (R-671); `stacks.LoadProbeMetadata` (R-670); `stacks.BehindSinceAge` in both badge producers (R-677). Rulings: Peti's
> box retired; `09` decision 34 — no resume of the update leg after a restart.
> **2026-09-25 night — v0.271.0, floor 0.271.0 (MinAgent 0.131.0).** `stacks/unattended.go`: `RunUpdateLeg` — one
> app at a time, ONE step per app per night (decision 33), only `proven` entries, never `needs_person`,
> `files_may_change` only with `backup.FreshWholeCopy` (the hold's truth table), never the step in `app.yaml`
+8 -21
View File
@@ -1,22 +1,9 @@
# REPORT — controller v0.271.0: automatic app updates (night 2026-09-25)
# REPORT — controller v0.272.0 (2026-09-25)
**What shipped:** `09` §6.4 part 7 — the automatic update leg (`stacks/unattended.go`), chained after the off-site
leg in the `offbox-backup` job on every path (`chainUpdateLeg`); the full-system gate waits for it until W+5h
(`quiesce.Options.UpdateLegFn`, decisions 20 + 31); the per-box switch `app_update.unattended` (absent = ON) with a
card on /settings; R-680 (`failed_update_step`), R-678 (fresh steps-left at done); the page line `last_auto_update`;
the report's `update_leg`; the self-update waits for the whole leg (decision 32); `stacks.update_window` removed.
Commit `9cf13a3`, image `gitea.dooplex.hu/admin/felhom-controller:0.271.0`, floor 0.271.0 (MinAgent 0.131.0), CI job
974 success.
**Red-proofs:** 11, each seen failing under its mutation and the tree restored — `felhom.eu/documentation/audits/
night-2026-09-25/B/redproofs/SUMMARY.txt`.
**Live:** six simulated nights on 9202 (one step per app, a failing step undone and not re-pressed until re-tested,
`needs_person` skipped, `files_may_change` with a whole copy taken, a kill during a step put back, a power cut
during a verify resumed and finished, switch off = nothing pressed; data read back after every night). The demo
boxes' first real night: demo-felhom opengist 1.13 → 1.15 done in 20 s; demo-hp nothing to do; both summaries in the
hub. Record: `felhom.eu/documentation/audits/DRILL-night-2026-09-25.md`.
**Open:** R-686 (the leg is not resumed after a restart), R-687 (live-proof gaps: W+5h live, a failing off-site leg
live, `files_may_change` without a copy live, the gate's wait live; `"steps": null` for an empty leg), R-685's page
half, R-671 / R-670 / R-677 (not started — each needs a release).
`44ae4de`, image `gitea.dooplex.hu/admin/felhom-controller:0.272.0`, floor 0.272.0 (MinAgent 0.131.0), both demo
boxes arrived in ~25 s. **R-685 page half:** the backup page's tier row says, in both languages, when the agent
skipped a whole-box backup because it cannot fit, with the agent's numbers. **R-671:** a restore that lifts an update
hold removes that hold's undo copies. **R-670:** probe-only `.felhom.yml` copies load without the backup-block check.
**R-677:** a re-tested floating tag's badge age counts from its test. Red-proofs: five; live on 9202: R-670, R-671,
R-677 proven; R-685's line render-tested only (no box short of space; 9202 has no agent). Also: the unprompted-work
rule no longer names Peti's box (retired). Record: `felhom.eu/documentation/audits/RETIRE-peti-2026-09-25.md` Part B.