Backups completed before the keep-local-backups feature never had
local_path nulled out after the local archive was deleted, so the new
"Local copy: Kept" indicator was trusting a stale DB column instead of
reality. GET /api/backups and GET /api/backups/{id} now verify the
file still exists and clear local_path if it doesn't, which also
covers any future case of a local file disappearing outside the app.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The keep-local-backups toggle, download, and delete-local-copy work
just shipped resolves this item; move it into Completed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Lets operators opt into keeping the local archive after upload (global
keep_local_backups setting), pull a remote archive back down into the
Proxmox dump directory for manual restore, and drop a locally-retained
copy without touching the remote object. Consolidates deletion so
retention, job-cascade delete, manual delete, and crash-recovery resume
all clean up local copies alongside remote ones.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Backup jobs stored their own proxmox_storage column, copied from
settings at creation time and never resynced. process_backup preferred
that frozen job value, so changing Settings > Proxmox storage had no
effect on existing jobs. Drop the per-job column and always use the
current global setting when starting a backup.
Also copies AGENTS.md to CLAUDE.md.