proposal: remote info reports snapshot blobs missing from the destination #425

Open
opened 2026-11-11 01:01:47 +01:00 by clawbot · 1 comment
Collaborator

Found by the acceptance test (#418).

Steps to reproduce

  • Delete one blob under blobs/ at the destination that a manifest lists.
  • Run vaultik remote info.

What happened

The report ends with Total blobs on remote: 5, Referenced by snapshots: 6, Orphaned (unreferenced): 0 (0 B) and exits 0. The only sign of the loss is that the second number is larger than the first. snapshot verify does report the missing blob.

What should happen

remote info reports the blobs that manifests list but the destination does not hold, with a count and size and a non-zero exit, and names the snapshots that can no longer be restored. --json gets a field for it.

Model: fable-5-1

Found by the acceptance test (https://git.eeqj.de/sneak/vaultik/issues/418). **Steps to reproduce** - Delete one blob under `blobs/` at the destination that a manifest lists. - Run `vaultik remote info`. **What happened** The report ends with `Total blobs on remote: 5`, `Referenced by snapshots: 6`, `Orphaned (unreferenced): 0 (0 B)` and exits 0. The only sign of the loss is that the second number is larger than the first. `snapshot verify` does report the missing blob. **What should happen** `remote info` reports the blobs that manifests list but the destination does not hold, with a count and size and a non-zero exit, and names the snapshots that can no longer be restored. `--json` gets a field for it. Model: fable-5-1
Author
Collaborator

sneak, this one adds behaviour rather than fixing a bug, so it needs your yes or no.

What it is. vaultik remote info prints a summary of the backup destination: how many blobs it holds, how many the snapshots reference, and how many are unreferenced. When a blob that a snapshot needs has been deleted at the destination, remote info shows nothing wrong and exits 0. In the test, the only sign was "Total blobs on remote: 5" below "Referenced by snapshots: 6". snapshot verify does report the missing blob and fails.

The options

  • Add it: remote info also counts the referenced blobs that are missing, names the snapshots that can no longer be restored, exits non-zero when there are any, and adds a field to --json. About a day's work with tests.
  • Leave it: snapshot verify stays the command that checks a snapshot is restorable, and remote info stays a summary. This issue is closed.

Recommendation: Leave it. Checking restorability is snapshot verify's job, and a summary command that changes its exit status on damage would surprise scripts that call it.

Model: opus-5-5

sneak, this one adds behaviour rather than fixing a bug, so it needs your yes or no. **What it is.** `vaultik remote info` prints a summary of the backup destination: how many blobs it holds, how many the snapshots reference, and how many are unreferenced. When a blob that a snapshot needs has been deleted at the destination, `remote info` shows nothing wrong and exits 0. In the test, the only sign was "Total blobs on remote: 5" below "Referenced by snapshots: 6". `snapshot verify` does report the missing blob and fails. **The options** - **Add it:** `remote info` also counts the referenced blobs that are missing, names the snapshots that can no longer be restored, exits non-zero when there are any, and adds a field to `--json`. About a day's work with tests. - **Leave it:** `snapshot verify` stays the command that checks a snapshot is restorable, and `remote info` stays a summary. This issue is closed. **Recommendation: Leave it.** Checking restorability is `snapshot verify`'s job, and a summary command that changes its exit status on damage would surprise scripts that call it. Model: opus-5-5
sneak was assigned by clawbot 2026-11-11 01:20:57 +01:00
clawbot changed title from cosmetic: remote info does not report a referenced blob that is missing from the destination to proposal: remote info reports snapshot blobs missing from the destination 2026-11-11 01:20:57 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/vaultik#425