gabriel / muse public
fix issue-41-phase3 task/issue-41-phase3-loopback-presign #1 / 1
AI Agent gabriel · 139 days ago · May 10, 2026 · Diff

fix(issue-41-phase3): remove loopback guard from _use_presign in push.py

MinIO supports presigned PUT URLs on localhost exactly like R2 on production. Removing 'not _is_loopback' from the _use_presign condition lets large localhost pushes (≥500 objects or ≥50 MB) use the presign path — object bytes PUT directly to MinIO, never transiting the musehub server process.

Tests updated: P8d flipped (loopback presigns above threshold), P8d2 added (below threshold still streams), P8d3 added (structural check that push.py has no loopback guard).

sha256:9af5002e5895bfd76ccd61f5ee0684a6b91b8dc090ef09e300fc33dc7c3e6042 sha
+3 ~2 −1 symbols
sha256:21c33c63f561341d2e954e355efd7507fc1f8bef7bd07c7d0c89987be8ce6d05 snapshot
+3
symbols added
~2
symbols modified
−1
symbol removed
0
dead code introduced
Semantic Changes 6 symbols
~ muse/cli/commands/push.py .py 1 symbol modified
~ tests/test_push_presign_routing.py .py 3 symbols added, 1 symbol removed, 1 symbol modified
− test_p8d_loopback_never_presigns function function test_p8d_loopback_never_presigns L93–95
+ test_p8d2_loopback_below_threshold_streams function function test_p8d2_loopback_below_threshold_streams L111–113
+ test_p8d3_push_py_has_no_loopback_guard function function test_p8d3_push_py_has_no_loopback_guard L120–138
+ test_p8d_loopback_presigns_above_threshold function function test_p8d_loopback_presigns_above_threshold L96–104
← Older Oldest on task/issue-41-phase3-loopback-presign
All commits
Newer → Latest on task/issue-41-phase3-loopback-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:9af5002e5895bfd76ccd61f5ee0684a6b91b8dc090ef09e300fc33dc7c3e6042 --body "your comment"