gabriel / musehub public
fix patch task/wire-clone-fix #1 / 1
gabriel · 66 days ago · Apr 14, 2026 · Diff

fix: wire clone — all snapshots + bounded R2 concurrency

Two fixes for muse clone correctness and speed:

1. wire_fetch returns ALL snapshots (not just tip) - The 'lazy fetch' comment was aspirational — never implemented - muse verify walks all commits and fails on every missing snapshot - Fix: collect all snapshot IDs from all returned commits and batch-load - Snapshot manifests are small (path→hash) so sending all is safe

2. _pack_objects_response bounded to 32 concurrent R2 GETs - Unbounded asyncio.gather on 665 objects floods R2 → rate limits + OOM - Fix: asyncio.Semaphore(32) caps concurrent backend.get() calls - All objects still returned; peak memory and R2 load stay bounded

TDD: 8 tests covering both behaviours, all green.

sha256:cc96d33afd14450354ddf00bad3f1996c588aee01c3fc7c5f2d359562afc9c2d sha
sha256:6a0e77075c7f475bb524897a6496d3391725e98e41612ce8168948449337d798 snapshot
← Older Oldest on task/wire-clone-fix
All commits
Newer → Latest on task/wire-clone-fix

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