gabriel / muse public
fix patch feat/test-merge-6 #1 / 3
AI Agent gabriel · 1 day ago · Jun 6, 2026 · Diff

fix: ls-remote signing identity uses resolved remote URL

get_signing_identity was called before the remote URL was resolved, so named remotes pointing to a different host (e.g. staging.musehub.ai) fell back to the repo's default hub URL (e.g. localhost:1337) for the identity lookup. This produced HTTP 401 on staging even when the user was registered there and could push successfully.

Fix: resolve the named-remote or raw URL first, then call get_signing_identity(root, remote_url=url) with the actual target host — matching the pattern already used by fetch.py and clone.py.

Adds two regression tests that assert remote_url is forwarded correctly for both named remotes and direct URL calls.

sha256:f8e686793bb93114c2923d0d294162d13b4e6f4d57ae0f6cbc1e0d493e80f965 sha
+3 ~1 symbols
1067 changed · 1067 in snapshot files
sha256:06d3d33c2d1bd1e6493e61db779c947216cbc1d6854bda478220b2e69d5d5fc5 snapshot
+3
symbols added
~1
symbol modified
1067
files changed
1067
files in snapshot
0
dead code introduced
Semantic Changes 4 symbols
~ muse/cli/commands/ls_remote.py .py 1 symbol modified
~ run
~ tests/test_cmd_ls_remote.py .py 3 symbols added
+ TestSigningIdentityForwarding class class TestSigningIdentityForwarding L336–400
+ test_signing_identity_receives_resolved_remote_url method method test_signing_identity_receives_resolved_remote_url L345–373
+ test_signing_identity_receives_url_when_passed_directly method method test_signing_identity_receives_url_when_passed_directly L375–400
Files Changed
+1067
1067 in snapshot
+ .coverage .coverage
+ .museattributes .museattributes
+ .museignore .museignore
+ CLAUDE.md .md
+ README.md .md
+ dev-setup.sh .sh
+ pyproject.toml .toml

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