night 2026-09-25 (in progress): part 7 shipped as controller v0.271.0 — decisions 31-33, evidence A/B/C/F, register (R-685..R-687; closed R-672 R-673 R-684 R-680 R-678)
gates / gates (push) Successful in 25s

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-24 23:04:43 +02:00
parent 75ff26408a
commit a7971c4822
126 changed files with 10324 additions and 9 deletions
@@ -332,6 +332,17 @@ per Part 1: **snapshot** (LVM-thin, transient, whole-guest rollback — not a ba
> `/etc/felhom-agent/agent.json.pre-r672`. On demo-hp, a full restore-test of 9201 does not fit today
> (21.1 GiB restored needs 30.3 GiB; 22.1 GiB free) — the preflight will refuse it, correctly, until the
> pool has room.
>
> **Delivered 2026-09-24 night** to demo-felhom and demo-hp by CC-signed `agent_update` jobs; the restore test is
> back ON on both (the `-1` config kept as `agent.json.night-0925-off`). Peti's box has not received it.
> **A whole-box backup that cannot fit is skipped with a reason, before anything starts (R-685, agent v0.134.0).**
> Before a vzdump to a LOCAL (non-PBS) target: free ≥ the guest's newest archive on that target × 1.25 + 1 GiB,
> because PVE prunes old archives only AFTER a successful backup. A shortfall is a named skip (`skipped: not enough
> space: <target> has X GiB free; the last archive … needs about Z GiB`) that reaches the tier view and the
> operator; it FAILS OPEN on a PBS target, a first backup or unreadable usage. **Free space comes from
> `GET /nodes/<node>/storage` — `GET /storage` is the definitions and has NO usage** (a build that read it let a
> real vzdump start in its own live test, 2026-09-24 night — aborted, no archive left).
- **Quiescing (controller-driven for app-consistency) — implemented (slice 8B):** an LXC has no
fsfreeze (`proxmox-platform.md` §4.2), so app-consistency is the controller's job: it learns a