gabriel / muse public
feat minor feat/issue-crud-cli #1 / 1
AI Agent gabriel · 160 days ago · Apr 10, 2026 · Diff

feat: add issue assign and label CLI subcommands

- Add muse hub issue assign <number> --assignee <user> (--unassign via '') - Add muse hub issue label <number> --set <labels>... | --remove <label> - --set uses POST .../labels (bulk replace); --remove uses DELETE .../labels/{name} - Update _hub_api body type to accept None values for null JSON fields - Add 31 hardening + registration tests for both new subcommands

sha256:49d11ed17deec1d97867d332ea0205a9df55d97234de8f3f7a52ee81fc15ee5a sha
+37 ~2 symbols
sha256:74c932254678a30530e7e81681c036b975c64a786debfe082ee382e023f9c5d1 snapshot
+37
symbols added
~2
symbols modified
0
dead code introduced
Semantic Changes 39 symbols
~ muse/cli/commands/hub.py .py 2 symbols added, 2 symbols modified
+ run_issue_assign function function run_issue_assign L2492–2532
+ run_issue_label function function run_issue_label L2535–2584
~ tests/test_cmd_hub_hardening.py .py 35 symbols added
+ TestIssueAssignHardening class class TestIssueAssignHardening L7785–7911
+ test_json_short_flag method method test_json_short_flag L7841–7849
+ test_missing_assignee_flag_exits_nonzero method method test_missing_assignee_flag_exits_nonzero L7806–7813
+ test_negative_number_exits_nonzero_no_network method method test_negative_number_exits_nonzero_no_network L7797–7804
+ test_success_json_output_has_expected_fields method method test_success_json_output_has_expected_fields L7827–7839
+ test_success_message_contains_assignee method method test_success_message_contains_assignee L7889–7897
+ test_success_text_mode_exit_zero method method test_success_text_mode_exit_zero L7815–7825
+ test_unassign_empty_string_sends_null method method test_unassign_empty_string_sends_null L7851–7870
+ test_unassign_success_message method method test_unassign_success_message L7899–7911
+ test_uses_post_method method method test_uses_post_method L7872–7887
+ test_zero_number_exits_nonzero_no_network method method test_zero_number_exits_nonzero_no_network L7788–7795
+ TestIssueAssignSubparserRegistration class class TestIssueAssignSubparserRegistration L7919–7940
+ test_assign_help_exits_zero method method test_assign_help_exits_zero L7922–7924
+ test_assign_number_arg_registered method method test_assign_number_arg_registered L7926–7928
+ test_assignee_flag_registered method method test_assignee_flag_registered L7930–7932
+ test_json_flag_registered method method test_json_flag_registered L7934–7936
+ test_short_json_flag_registered method method test_short_json_flag_registered L7938–7940
+ TestIssueLabelHardening class class TestIssueLabelHardening L7948–8092
+ test_missing_set_or_remove_exits_nonzero method method test_missing_set_or_remove_exits_nonzero L7969–7976
+ test_negative_number_exits_nonzero_no_network method method test_negative_number_exits_nonzero_no_network L7960–7967
+ test_remove_json_output method method test_remove_json_output L8027–8038
+ test_remove_success_exit_zero method method test_remove_success_exit_zero L8015–8025
+ test_remove_uses_delete_method method method test_remove_uses_delete_method L8057–8072
+ test_set_and_remove_mutually_exclusive method method test_set_and_remove_mutually_exclusive L7978–7987
+ test_set_json_output method method test_set_json_output L8001–8013
+ test_set_sends_labels_in_body method method test_set_sends_labels_in_body L8074–8092
+ test_set_success_exit_zero method method test_set_success_exit_zero L7989–7999
+ test_set_uses_post_method method method test_set_uses_post_method L8040–8055
+ test_zero_number_exits_nonzero_no_network method method test_zero_number_exits_nonzero_no_network L7951–7958
+ TestIssueLabelSubparserRegistration class class TestIssueLabelSubparserRegistration L8100–8121
+ test_json_flag_registered method method test_json_flag_registered L8115–8117
+ test_label_help_exits_zero method method test_label_help_exits_zero L8103–8105
+ test_number_arg_registered method method test_number_arg_registered L8119–8121
+ test_remove_flag_registered method method test_remove_flag_registered L8111–8113
+ test_set_flag_registered method method test_set_flag_registered L8107–8109
← Older Oldest on feat/issue-crud-cli
All commits
Newer → Latest on feat/issue-crud-cli

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