gabriel / musehub public
fix dev #22 / 100
AI Agent gabriel · 30 days ago · Jun 20, 2026 · Diff

fix: reject manifest_blob with null OIDs in _cached_manifest_reproduces

A snapshot stored while its manifest_blob contained null OIDs would still pass the hash check (the hash was computed with those nulls). This caused _snap_row_to_wire_s3 to treat the corrupt manifest as valid, propagating null OIDs into snap_map and ultimately dropping blobs from the mpack.

Reject any manifest with null/empty values unconditionally so _reconstruct_manifest_validated always walks the delta chain in this case, recovering the correct blob IDs from delta_upsert entries.

sha256:d791fb5725be314a5577b45842acdbf178bc16f6a7000a23a213f0c94eb9525b sha
~1 symbols
sha256:a6142ff2908f2dac314f4fec9d91ad9926cc346b2bd95cffd9f07050aeef42f4 snapshot
~1
symbol modified
0
dead code introduced
Semantic Changes 1 symbol

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:d791fb5725be314a5577b45842acdbf178bc16f6a7000a23a213f0c94eb9525b --body "your comment"