gabriel / muse public
feat patch task/fetch-presign-client #1 / 1
AI Agent gabriel · 43 days ago · Apr 30, 2026 · Diff

feat: client-side fetch presign routing in pull and clone

- Add HttpTransport.fetch_presign_or_stream(): tries POST /fetch/presign first; if server returns presign=True downloads bundle directly from R2 presigned URL, bypassing Cloudflare streaming timeout; falls back to fetch/stream otherwise - Wire fetch_presign_or_stream into pull.py (via getattr for safe fallback) - Wire fetch_presign_or_stream into clone.py for full clones (depth=None); shallow clones (depth set) still use fetch/stream - Add _FETCH_PRESIGN_OBJECT_THRESHOLD=500 and _FETCH_PRESIGN_BYTE_THRESHOLD=50MB to pull.py — must match server-side constants - 11 TDD tests (FPR0-FPR10) covering threshold routing, presign/stream fallback, on_object dispatch, FetchStreamResult shape, error propagation, constant match - Fix test_cli_clone.py, test_cmd_clone_hardening.py, test_cmd_pull_hardening.py: add fetch_presign_or_stream side_effect alongside fetch_stream; fix stale compute_commit_id(repo_id=...) kwarg that no longer exists in the signature

sha256:5046dc6fc91d1df74486fb3c4a5b194b6e3b9a062c3e0cb18e8a31ecb9285b73 sha
sha256:32a2866ef46940db27a07309347116b92b54f2c335c0969e82fdd8f88d3e34f5 snapshot
← Older Oldest on task/fetch-presign-client
All commits
Newer → Latest on task/fetch-presign-client

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