# F live: agent 0.134.0-livetest (backupSpaceGrowth=10, build-only patch) selftest=backup of 9201 on demo-hp — must REFUSE, start nothing — 2026-09-24T20:40:20+00:00
local before: /dev/mapper/pve-root 41424257024 23269031936 16018018304  60% /
archives before: 1
    "crash_consistent": true,
    "size_bytes": 0,
    "success": false,
    "error": "proxmox: task UPID:demo-hp:000E124D:119D831D:6AB58AB5:vzdump:9201:felhom-agent@pve!agent: failed: exitstatus \"job errors\"",
    "started_at": "2026-09-24T20:40:21Z",
    "duration_seconds": 317.416191027,
    "uncovered_volumes": [
      "/etc/felhom-bootstrap",
      "/mnt/felhom-drives"
    ]
  }
  [FAIL] backup: backup: vzdump task vmid 9201: proxmox: task UPID:demo-hp:000E124D:119D831D:6AB58AB5:vzdump:9201:felhom-agent@pve!agent: failed: exitstatus "job errors"
selftest_rc=1
local after: /dev/mapper/pve-root 41424257024 23269306368 16017743872  60% /
archives after: 1
vzdump tasks in the last 5 min: 0

## RESULT: THE PREFLIGHT DID NOT REFUSE — a real vzdump of 9201 started (22:40:21 CEST) and was ABORTED by CC
- The livetest (growth ×10 → need ≈ 77 GiB, 16 GiB free) should have refused. It did not: `spaceFits` reads free
  space from `BackupAPI.ListStorage` = `GET /storage`, the cluster storage DEFINITIONS, which carry NO usage
  (avail 0) → the check's own fail-open ("an unknown avail never refuses") let the backup run. The unit tests'
  fake supplied `Avail` on that list, which production never does — a seam that lied.
- 22:45:3x CEST: CC stopped the task (`pvesh delete /nodes/demo-hp/tasks/<UPID>`): vzdump log "interrupted by
  signal", the `.tmp`/`.dat` removed by vzdump, NO new archive (`pvesm list local`: the 21:59 one only), root
  back to 60 % (16.0 GB free), no lock on 9201, 9201 running. Snapshot mode: the guest was suspended 2 s
  ("guest is online again after 2 seconds"); its apps were NOT stopped.
- This breached the brief's fence "no whole-box backup on a demo box except Part A4's single proof" for 5 min 16 s.
- Fix (same release, before any tag): read free space from `GET /nodes/<node>/storage` (`NodeStorage`); the test
  fake now serves avail ONLY there, like production.
