gabriel / musehub public
feat BREAKING pack-fetch dev #90 / 100
AI Agent gabriel · 29 days ago · May 15, 2026 · Diff

feat(pack-fetch): Phase 3 — pack-based fetch returns presigned pack URLs

wire_fetch_bundle now queries musehub_pack_index for distinct pack_ids covering the needed objects. When coverage is 100%, returns presigned GET URLs for the push-time bundles instead of fetching N objects individually from MinIO — reducing fetch round-trips to O(distinct packs).

- Extend FetchBundleResult with pack_fetch, pack_urls, commits, snapshots - Add step 3a: pack index coverage check in wire_fetch_bundle - Add presign_bundle_get to BlobBackend (S3 presigned GET for bundles) - Add PF-1..4 TDD tests (all green, 12/12 passing across phases 1-3)

sha256:0e57608ae6b9f42358be2017649f98fd9cc509ba99c346dfbdb84de5bfaf9e59 sha
sha256:0edad367a69566400f4cd314c24e5a2e6caf4aa774e8cab911050fbd6e3d4e21 snapshot

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