fix(wire-unpack): load parent snapshot from DB and store full manifest_blob
wire_push_unpack had two bugs affecting delta pushes:
1. Parent manifest not loaded from DB — when parent_snapshot_id points to a prior push bundle, _resolved didn't contain it, so base={} and the hash check always failed → delta snapshot silently skipped entirely.
2. manifest_blob=None — even for correctly resolved snapshots, unpack stored None as a placeholder deferring to process_bundle_index_job. If a pull arrived before the async job ran, wire_fetch_bundle read manifest_blob=None, sent an empty manifest, client hash-checked it against snapshot_id, failed, and aborted with 'snapshot missing or corrupt'.
Fix: pre-load parent snapshot manifests from musehub_snapshot before the delta chain loop (one batched query), and store the full manifest_blob immediately — same as process_bundle_index_job already does after Phase 4 fix.
0 comments
muse hub commit comment sha256:955cfa501e737d45d33655fe9902eab32d1251d27ad18346c1cd5b4e17d70c02 --body "your comment"
No comments yet. Be the first to start the discussion.