Refuse a backup destination an unplugged volume left empty #349

Open
clawbot wants to merge 1 commits from issue-239-destination-marker into next
1 Commits
Author SHA1 Message Date
sneak dc12400268 Refuse a backup destination an unplugged volume left empty (closes #239)
check / check (push) Waiting to run
Every backup now writes vaultik-destination.txt at the destination
root. While the local index holds snapshots, a destination without it
is not present: snapshot create refuses before writing, prune and
snapshot purge fail, and snapshot list and snapshot remove warn.
remote nuke deletes the marker last. The file:// backend no longer
creates its destination directory and checks for it on every write;
that protects a directory on a removable volume, not the mount point
itself.

Tests back up into existing directories; fixtures standing for a
written destination carry the marker.

Judgement call: the marker is rewritten on every backup.
Deviation: for the complexity limit, snapshot name selection left CreateSnapshot and the --force/--json test moved into confirmRemoveSnapshot, both unchanged.

Model: opus-5-5
2026-10-13 15:19:57 +00:00