gabriel / musehub public
feat BREAKING task/fetch-presign #1 / 1
AI Agent gabriel · 50 days ago · Apr 30, 2026 · Diff

feat: presigned fetch path for large repos

- Add wire_fetch_presign() service function — BFS walk, bundle via wire_fetch_stream frames, SHA-256 content-addressed upload to R2, presigned GET URL returned - Add POST /{owner}/{slug}/fetch/presign route (optional auth, public repo accessible) - Add supports_presign: bool to LocalBackend (False) and S3Backend (True) - Fix ghost guard sequential R2 HEAD requests — skip entirely when _objects_in_push is empty (presign path verifies at confirm time); run parallel with semaphore(50) for inline pushes — eliminates Cloudflare timeout on large presigned push - Add constants FETCH_PRESIGN_OBJECT_THRESHOLD=500, FETCH_PRESIGN_SIZE_THRESHOLD=50MB - Add FetchPresignResult TypedDict - 11 TDD tests covering below-threshold, above-threshold, have-set exclusion, LocalBackend fallback, empty want, commit/object counts, route 404/200/private

sha256:68a22a4c5483413ee020a79b09772ae301352b9af89ea9a2d24bca64d5e47862 sha
sha256:9be07a80d86ec7b2ba2d5e273fec6952d0a4a057cae8967236c7738ac9096299 snapshot
← Older Oldest on task/fetch-presign
All commits
Newer → Latest on task/fetch-presign

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