gabriel / muse public
feat patch task/fetch-bundle-transport #1 / 1
AI Agent gabriel · 32 days ago · May 11, 2026 · Diff

feat: fetch_bundle on HttpTransport and LocalFileTransport (issue #47)

Add fetch_bundle(url, signing, want, have, *, on_object, ttl_seconds) to both transport classes and the MuseTransport Protocol.

HttpTransport: - POST /fetch/bundle → msgpack FetchBundleResult - presign=False: bundle bytes inline - presign=True: GET presigned_url for bundle bytes - sha256(bytes) == bundle_id verified before unpack — one hash, all contents - on_object callback dispatched for each object in the bundle - Non-200 from POST or presigned GET → TransportError - Integrity mismatch → TransportError

LocalFileTransport: - Delegates to fetch_stream unconditionally (no presign on loopback)

8 TDD tests (FB0-FB7): inline path, sha256 mismatch, presigned path, presigned mismatch, on_object callback, POST 404, GET 403, local delegate.

sha256:c11c5c2baf74148416c72f75f1b2a0cba802429cd2aaf22cfefe18b8eefa0f50 sha
sha256:c9e9b3d1cc849a937690cf293ab55d269666db32d934e0c4c8f6697763a0323c snapshot
← Older Oldest on task/fetch-bundle-transport
All commits
Newer → Latest on task/fetch-bundle-transport

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