gabriel / muse public
feat BREAKING verify dev
gabriel · 62 days ago · Apr 14, 2026 · Diff

feat(verify): snapshot store sweep, nothing_checked flag, zero-byte detection

Three supercharges to muse verify:

1. Snapshot store sweep — after BFS walk from branch refs, also checks every .muse/snapshots/*.msgpack not yet visited. Catches missing objects after partial clones where the branch ref file was never written (clone crashed before the final step). Previously these repos showed all_ok=True because the BFS found 0 branch refs and checked nothing.

2. nothing_checked flag — VerifyResult and --json output now include nothing_checked: bool. True when refs=0, commits=0, and snapshots=0, meaning the repo was structurally empty. Distinguishes 'clean' from 'nothing was checked' for scripts and repair tools.

3. Zero-byte object detection — always flags object files with st_size==0 as corruption, even with --no-objects / check_objects=False. Zero bytes cannot match any real SHA-256 OID (e3b0c442… is the empty-bytes hash). Previously these slipped through --no-objects undetected.

9 new tests in TestVerifySupercharged covering all three capabilities plus edge cases (no double-reporting, sweep deduplication, orphan snapshots with present vs missing objects).

sha256:30637a38c2c205fb4bbc0568ed26ce4c8dc05636ad069a8486019d224f4b3c20 sha
sha256:d571fa4494adcb6e114036f6718093572a7f98219aad6afa76939a6dd7aae23a snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:30637a38c2c205fb4bbc0568ed26ce4c8dc05636ad069a8486019d224f4b3c20 --body "your comment"