gabriel / musehub public
feat patch dev
AI Agent gabriel · 49 days ago · Apr 29, 2026 · Diff

feat: presigned R2 push path for large repos

Add wire_push_presign() service function and POST /push/presign endpoint. For pushes above threshold (500 objects or 50 MB), client gets presigned R2 PUT URLs, uploads directly to R2 bypassing Cloudflare's ~100s timeout, then sends a zero-O-frame push/stream to finalize the commit. The server's existing referential integrity check (Phase C) accepts objects already in storage. LocalBackend returns stream_these for local dev fallback.

Tests: P1-P7 covering LocalBackend, mocked S3, empty list, zero-O-frame push/stream success and failure, full round-trip, and URL key format.

sha256:52b9750b58326265a6b16b945e58ce31ace2cde7a8ad6552085c1bcfd2f20274 sha
sha256:91840af951fd920ba74bbb25f4a58ca24f0b6fd79fa3af7793c9a98d488cdb10 snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

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