gabriel / musehub public
perf BREAKING task/r2-presign-push #1 / 1
gabriel · 70 days ago · Apr 12, 2026 · Diff

perf: add R2 presigned upload support to MWP wire protocol

- S3Backend.presign_put / presign_get: generate boto3 presigned PUT/GET URLs for direct client→R2 uploads that bypass Cloudflare entirely - Add generate_presigned_url to _S3Client Protocol - WireConfirmObjectsRequest / WireConfirmObjectsResponse: new Pydantic models for POST /{owner}/{slug}/push/objects/confirm (Phase 3b) - WirePresignRequest.object_ids max_length raised 10_000→50_000 - wire_confirm_objects: service function that registers objects uploaded via presigned URL in musehub_objects so filter_objects skips them on future pushes — fixes the core bug where presigned uploads were re-uploaded on every push - POST /push/objects/confirm route wired up in wire.py - docs/reference/type-contracts.md regenerated

--agent-id claude-sonnet-4-6 --model-id claude-sonnet-4-6

sha256:bf1282e54c2551d1b56457d465f247676e62797fe6f3bca37b98d11edb2553dd sha
sha256:aa703d0352f6b23fe16b51e104c640cfa7514fa0ae3e53394416c53f7e11da2f snapshot
← Older Oldest on task/r2-presign-push
All commits
Newer → Latest on task/r2-presign-push

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