gabriel / muse public
feat patch task/agent-ergonomics #1 / 1
gabriel · 167 days ago · Apr 14, 2026 · Diff

feat: improve agent ergonomics for push errors and show manifest

push: when a named remote is not configured, the error message now lists all configured remotes (or '(none)' when none exist), so an agent never needs a follow-up 'muse remote --json' call to discover what remotes are available.

show: add --manifest / --no-manifest flag to 'muse show --json'. When --manifest is given, the JSON output gains a 'manifest' key mapping every tracked path to its content hash at that commit. Lets agents inspect the full working-tree state recorded by a commit without a separate diff or file-read cycle.

Tests: 9 new cases in TestErrorRouting (push), 25 new cases across TestRegisterFlags and TestManifest (show).

sha256:bc750e9341402dbc32f788102717ce61ef03716dc051c2c3ba685b655f9d61f7 sha
+17 ~5 symbols
sha256:359a23e836d62f525ebfd998462edd9d468d65a90db836c77ca04b0f6094437a snapshot
+17
symbols added
~5
symbols modified
0
dead code introduced
Semantic Changes 22 symbols
~ muse/cli/commands/push.py .py 1 symbol modified
~ run
~ muse/cli/commands/show.py .py 2 symbols modified
~ tests/test_cmd_push_hardening.py .py 2 symbols added, 1 symbol modified
+ test_remote_not_configured_lists_existing_remotes method method test_remote_not_configured_lists_existing_remotes L511–530
+ test_remote_not_configured_lists_none_when_no_remotes method method test_remote_not_configured_lists_none_when_no_remotes L498–509
~ tests/test_cmd_show.py .py 15 symbols added, 1 symbol modified
+ TestManifest class class TestManifest L751–859
+ test_manifest_absent_by_default method method test_manifest_absent_by_default L759–766
+ test_manifest_coexists_with_stat method method test_manifest_coexists_with_stat L822–830
+ test_manifest_contains_committed_file method method test_manifest_contains_committed_file L782–789
+ test_manifest_in_text_mode_no_crash method method test_manifest_in_text_mode_no_crash L839–842
+ test_manifest_is_dict method method test_manifest_is_dict L775–780
+ test_manifest_keys_sorted method method test_manifest_keys_sorted L801–810
+ test_manifest_present_when_flag_set method method test_manifest_present_when_flag_set L768–773
+ test_manifest_reflects_file_at_specific_commit method method test_manifest_reflects_file_at_specific_commit L844–859
+ test_manifest_values_are_non_empty_strings method method test_manifest_values_are_non_empty_strings L791–799
+ test_manifest_with_no_stat method method test_manifest_with_no_stat L812–820
+ test_no_manifest_flag_suppresses_manifest method method test_no_manifest_flag_suppresses_manifest L832–837
+ test_manifest_default_false method method test_manifest_default_false L124–126
+ test_manifest_flag method method test_manifest_flag L116–118
+ test_no_manifest_flag method method test_no_manifest_flag L120–122
← Older Oldest on task/agent-ergonomics
All commits
Newer → Latest on task/agent-ergonomics

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