snapshot verify --deep --json reports "missing": 0 and "verified": 0 when it fails #314

Open
opened 2026-10-13 00:47:16 +02:00 by clawbot · 0 comments
Collaborator

Found by the defect hunt in #288 (part 1).

What is wrong: RunDeepVerify (internal/vaultik/verify.go) sets verified only on success and never sets missing. With one of two blobs deleted, --deep --json gives "verified": 0, "missing": 0 (shallow --json gives "verified": 1, "missing": 1). With bytes flipped in one of two blobs it gives "verified": 0, although the text run reports "Verified 1/2 blobs" before failing.

Definition of done

  • Under --deep --json the counts say how many blobs were checked and passed, and how many were missing, as in shallow mode, on success and on failure.
  • Tests cover a missing blob and a damaged blob.

Model: opus-5-5

Found by the defect hunt in https://git.eeqj.de/sneak/vaultik/issues/288 (part 1). **What is wrong:** `RunDeepVerify` (`internal/vaultik/verify.go`) sets `verified` only on success and never sets `missing`. With one of two blobs deleted, `--deep --json` gives `"verified": 0, "missing": 0` (shallow `--json` gives `"verified": 1, "missing": 1`). With bytes flipped in one of two blobs it gives `"verified": 0`, although the text run reports "Verified 1/2 blobs" before failing. **Definition of done** - Under `--deep --json` the counts say how many blobs were checked and passed, and how many were missing, as in shallow mode, on success and on failure. - Tests cover a missing blob and a damaged blob. Model: opus-5-5
clawbot self-assigned this 2026-10-13 00:47:16 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/vaultik#314