gabriel / muse public
fix BREAKING task/issue-67-presign-only-enforcement #2 / 2
AI Agent gabriel · 117 days ago · May 15, 2026 · Diff

fix: enforce presign-only path for all wire verbs; clean up stale stream references (issue #67)

- clone: always calls fetch_bundle (removed fetch_stream branch for --depth) - pull: removed dead _FETCH_PRESIGN_*_THRESHOLD constants - push: log labels and dead-code comment on unreachable stream branch - store: remove debug prints from _verify_commit_id - tests: update clone_shallow, fetch_hardening, fetch_presign_routing, add CW0/CW1/CW2 wiring tests

sha256:9a4a65d83ea5f86be03d4711a2820bd5e5868847d0072813ef0ef5693e0a5257 sha
+4 ~57 −15 symbols
sha256:721a7ad2eb82dddc25d0613ee4bcb270436ab6d39de5578e8e71b3389b1e6d73 snapshot
+4
symbols added
~57
symbols modified
−15
symbols removed
0
dead code introduced
Semantic Changes 76 symbols
~ muse/cli/commands/apply_patch.py .py 1 symbol modified
~ run
~ muse/cli/commands/cat.py .py 1 symbol modified
~ run
~ muse/cli/commands/cherry_pick.py .py 1 symbol modified
~ run
~ muse/cli/commands/clone.py .py 1 symbol modified
~ run
~ muse/cli/commands/commit.py .py 1 symbol modified
~ run
~ muse/cli/commands/core_cat.py .py 1 symbol modified
~ run
~ muse/cli/commands/diff.py .py 1 symbol modified
~ run
~ muse/cli/commands/fetch.py .py 1 symbol modified
~ muse/cli/commands/format_patch.py .py 1 symbol removed, 6 symbols modified
~ muse/cli/commands/merge.py .py 1 symbol modified
~ muse/cli/commands/pull.py .py 2 symbols removed, 1 symbol modified
_FETCH_PRESIGN_BYTE_THRESHOLD variable variable _FETCH_PRESIGN_BYTE_THRESHOLD L88–88
_FETCH_PRESIGN_OBJECT_THRESHOLD variable variable _FETCH_PRESIGN_OBJECT_THRESHOLD L87–87
~ run
~ muse/cli/commands/push.py .py 1 symbol modified
~ muse/cli/commands/status.py .py 1 symbol modified
~ run
~ muse/cli/commands/type_cmd.py .py 1 symbol modified
~ muse/cli/guard.py .py 1 symbol modified
~ tests/test_clone_shallow.py .py 2 symbols added, 2 symbols removed, 5 symbols modified
test_depth_1_passed_to_fetch_stream method method test_depth_1_passed_to_fetch_stream L104–131
test_no_depth_passes_none_to_fetch_stream method method test_no_depth_passes_none_to_fetch_stream L133–155
+ test_depth_1_calls_fetch_bundle method method test_depth_1_calls_fetch_bundle L104–130
+ test_no_depth_calls_fetch_bundle method method test_no_depth_calls_fetch_bundle L132–155
~ tests/test_cmd_fetch_hardening.py .py 1 symbol added, 1 symbol removed, 5 symbols modified
test_negotiate_called_before_fetch_stream method method test_negotiate_called_before_fetch_stream L414–449
+ test_negotiate_called_before_fetch_bundle method method test_negotiate_called_before_fetch_bundle L414–449
~ tests/test_fetch_bundle_command_wiring.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_cw1_clone_shallow_still_calls_fetch_stream function function test_cw1_clone_shallow_still_calls_fetch_stream L115–136
+ test_cw1_clone_shallow_calls_fetch_bundle function function test_cw1_clone_shallow_calls_fetch_bundle L113–134
~ tests/test_fetch_presign_routing.py .py 8 symbols removed
_SERVER_BYTE_THRESHOLD variable variable _SERVER_BYTE_THRESHOLD L80–80
_SERVER_OBJECT_THRESHOLD variable variable _SERVER_OBJECT_THRESHOLD L79–79
_use_fetch_presign function function _use_fetch_presign L87–99
test_fpr0_below_threshold_uses_stream function function test_fpr0_below_threshold_uses_stream L144–149
test_fpr10_threshold_constants_match_server function function test_fpr10_threshold_constants_match_server L65–72
test_fpr1_object_threshold_triggers_presign function function test_fpr1_object_threshold_triggers_presign L156–161
test_fpr2_byte_threshold_triggers_presign function function test_fpr2_byte_threshold_triggers_presign L168–173
test_fpr3_loopback_never_presigns function function test_fpr3_loopback_never_presigns L180–185

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