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
0 comments
muse hub commit comment sha256:68a22a4c5483413ee020a79b09772ae301352b9af89ea9a2d24bca64d5e47862 --body "your comment"
No comments yet. Be the first to start the discussion.