gabriel / muse public
feat patch task/cli-flag-audit-age #9 / 24
AI Agent gabriel · 157 days ago · Apr 20, 2026 · Diff

feat: batch 3 CLI flag audit — merge-base, read-snapshot, read-commit, plan-merge, index, and related tests

- Fully migrate merge_base.py, read_snapshot.py, read_commit.py from partial --format/-f migration to canonical --json/-j (dest=json_out) - Remove _FORMAT_CHOICES and --format/-f arg from all three; replace fmt==text guards with not json_out - _emit_error in merge_base.py: change signature from fmt: str to json_out: bool - Add _short_id = short_id re-export in read_snapshot.py and read_commit.py for unit test compatibility - Fix test_merge_base_supercharge.py: add _mbj helper, convert all JSON-parsing calls from _mb to _mbj, fix TestRegisterFlags with positional args - Fix test_cmd_merge_base.py: add --json to JSON-output tests, fix text-format test, replace --format yaml test with unknown-flag test, fix TestRegisterFlags - Fix test_cmd_read_snapshot.py, test_read_snapshot_supercharge.py: add _rsj helper, replace JSON-parsing calls - Fix test_cmd_read_commit.py, test_read_commit_supercharge.py: add _rcj helper, fix commit_keys envelope exclusion set - Fix test_cmd_plan_merge.py: add json_out= to Namespace creations, fix schema_version→schema - Fix test_cmd_index.py: unpack envelope indexes key, fix schema_version→schema - Fix test_index_supercharge.py: pop timestamp before comparing two invocations - All 385 batch-3 tests pass

sha256:90456eef446f506bedce4236de0f6db85f43d0d87481d24c14dcea82c7683890 sha
+184 ~243 −5 symbols
sha256:fc1e04c478b3926a410ed8d711dc030a5a42fd5a9f378aaa9fe021cb1f665fd5 snapshot
+184
symbols added
~243
symbols modified
−5
symbols removed
0
dead code introduced
Semantic Changes 432 symbols
~ muse/cli/commands/core_blame.py .py 2 symbols modified
~ muse/cli/commands/count_objects.py .py 2 symbols modified
~ muse/cli/commands/describe.py .py 2 symbols modified
~ muse/cli/commands/format_patch.py .py 2 symbols modified
~ muse/cli/commands/heartbeat_coord.py .py 2 symbols modified
~ muse/cli/commands/list_coord.py .py 2 symbols modified
~ muse/cli/commands/ls_files.py .py 2 symbols modified
~ muse/cli/commands/ls_remote.py .py 2 symbols modified
~ muse/cli/commands/merge_base.py .py 1 symbol removed, 3 symbols modified
_FORMAT_CHOICES variable variable _FORMAT_CHOICES L66–66
~ run
~ muse/cli/commands/merge_tree.py .py 3 symbols modified
~ muse/cli/commands/migrate.py .py 3 symbols modified
~ muse/cli/commands/mv.py .py 3 symbols modified
~ muse/cli/commands/narrative.py .py 2 symbols modified
~ muse/cli/commands/pack_objects.py .py 1 symbol modified
~ muse/cli/commands/patch.py .py 2 symbols modified
~ muse/cli/commands/patch_id.py .py 2 symbols modified
~ muse/cli/commands/plan_merge.py .py 3 symbols modified
~ _err
~ run
~ muse/cli/commands/predict.py .py 2 symbols modified
~ muse/cli/commands/prune.py .py 2 symbols modified
~ muse/cli/commands/query.py .py 2 symbols modified
~ muse/cli/commands/query_history.py .py 2 symbols modified
~ muse/cli/commands/range_diff.py .py 2 symbols modified
~ muse/cli/commands/read_commit.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
_FORMAT_CHOICES variable variable _FORMAT_CHOICES L74–74
+ _short_id variable variable _short_id L67–67
~ run
~ muse/cli/commands/read_snapshot.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
_FORMAT_CHOICES variable variable _FORMAT_CHOICES L56–56
+ _short_id variable variable _short_id L56–56
~ run
~ muse/cli/commands/rebase.py .py 3 symbols modified
~ tests/test_cmd_heartbeat_coord.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L832–862
+ test_default_no_json method method test_default_no_json L851–862
+ test_json_long_flag method method test_json_long_flag L842–849
+ test_json_short_flag method method test_json_short_flag L833–840
~ tests/test_cmd_index.py .py 4 symbols added, 7 symbols modified
+ TestRegisterFlags class class TestRegisterFlags L690–716
+ test_default_no_json method method test_default_no_json L709–716
+ test_json_long_flag method method test_json_long_flag L700–707
+ test_json_short_flag method method test_json_short_flag L691–698
~ tests/test_cmd_ls_files.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L328–358
+ test_default_no_json method method test_default_no_json L347–358
+ test_json_long_flag method method test_json_long_flag L338–345
+ test_json_short_flag method method test_json_short_flag L329–336
~ tests/test_cmd_ls_remote.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L327–357
+ test_default_no_json method method test_default_no_json L346–357
+ test_json_long_flag method method test_json_long_flag L337–344
+ test_json_short_flag method method test_json_short_flag L328–335
~ tests/test_cmd_merge_base.py .py 6 symbols added, 1 symbol removed, 7 symbols modified
test_bad_format_flag_exits_user_error method method test_bad_format_flag_exits_user_error L165–173
+ test_unknown_flag_rejected method method test_unknown_flag_rejected L166–175
+ TestRegisterFlags class class TestRegisterFlags L178–197
+ _parse method method _parse L179–185
+ test_default_no_json method method test_default_no_json L195–197
+ test_json_long_flag method method test_json_long_flag L191–193
+ test_json_short_flag method method test_json_short_flag L187–189
~ tests/test_cmd_patch.py .py 5 symbols added
+ TestRegisterFlags class class TestRegisterFlags L489–508
+ _parse method method _parse L490–496
+ test_default_no_json method method test_default_no_json L506–508
+ test_json_long_flag method method test_json_long_flag L502–504
+ test_json_short_flag method method test_json_short_flag L498–500
~ tests/test_cmd_read_snapshot.py .py 7 symbols added, 1 symbol removed, 23 symbols modified
~ tests/test_code_query_supercharge.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L282–312
+ test_default_no_json method method test_default_no_json L301–312
+ test_json_long_flag method method test_json_long_flag L292–299
+ test_json_short_flag method method test_json_short_flag L283–290
~ tests/test_core_blame.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L280–310
+ test_default_no_json method method test_default_no_json L299–310
+ test_json_long_flag method method test_json_long_flag L290–297
+ test_json_short_flag method method test_json_short_flag L281–288
~ tests/test_core_blame_envelope.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L25–55
+ test_default_no_json method method test_default_no_json L44–55
+ test_json_long_flag method method test_json_long_flag L35–42
+ test_json_short_flag method method test_json_short_flag L26–33
~ tests/test_count_objects_envelope.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L30–56
+ _make_parser method method _make_parser L33–39
+ test_default_is_text method method test_default_is_text L49–51
+ test_dest_is_json_out method method test_dest_is_json_out L53–56
+ test_j_alias method method test_j_alias L45–47
+ test_json_flag_long method method test_json_flag_long L41–43
~ tests/test_describe_envelope.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L30–56
+ _make_parser method method _make_parser L33–39
+ test_default_is_text method method test_default_is_text L49–51
+ test_dest_is_json_out method method test_dest_is_json_out L53–56
+ test_j_alias method method test_j_alias L45–47
+ test_json_flag_long method method test_json_flag_long L41–43
~ tests/test_heartbeat_envelope.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L32–62
+ test_default_no_json method method test_default_no_json L51–62
+ test_json_long_flag method method test_json_long_flag L42–49
+ test_json_short_flag method method test_json_short_flag L33–40
~ tests/test_index_supercharge.py .py 4 symbols added, 2 symbols modified
+ TestRegisterFlags class class TestRegisterFlags L335–361
+ test_default_no_json method method test_default_no_json L354–361
+ test_json_long_flag method method test_json_long_flag L345–352
+ test_json_short_flag method method test_json_short_flag L336–343
~ tests/test_ls_files_supercharge.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L415–445
+ test_default_no_json method method test_default_no_json L434–445
+ test_json_long_flag method method test_json_long_flag L425–432
+ test_json_short_flag method method test_json_short_flag L416–423
~ tests/test_ls_remote_supercharge.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L351–381
+ test_default_no_json method method test_default_no_json L370–381
+ test_json_long_flag method method test_json_long_flag L361–368
+ test_json_short_flag method method test_json_short_flag L352–359
~ tests/test_ls_tree_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L408–434
+ _make_parser method method _make_parser L411–417
+ test_default_is_text method method test_default_is_text L427–429
+ test_dest_is_json_out method method test_dest_is_json_out L431–434
+ test_j_alias method method test_j_alias L423–425
+ test_json_flag_long method method test_json_flag_long L419–421
+ TestRegisterFlags class class TestRegisterFlags L340–366
+ _make_parser method method _make_parser L343–349
+ test_default_is_text method method test_default_is_text L359–361
+ test_dest_is_json_out method method test_dest_is_json_out L363–366
+ test_j_alias method method test_j_alias L355–357
+ test_json_flag_long method method test_json_flag_long L351–353
~ tests/test_merge_tree_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L397–423
+ _make_parser method method _make_parser L400–406
+ test_default_is_text method method test_default_is_text L416–418
+ test_dest_is_json_out method method test_dest_is_json_out L420–423
+ test_j_alias method method test_j_alias L412–414
+ test_json_flag_long method method test_json_flag_long L408–410
~ tests/test_migrate.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L649–679
+ test_default_no_json method method test_default_no_json L668–679
+ test_json_long_flag method method test_json_long_flag L659–666
+ test_json_short_flag method method test_json_short_flag L650–657
~ tests/test_mv_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L379–405
+ _make_parser method method _make_parser L382–388
+ test_default_is_text method method test_default_is_text L398–400
+ test_dest_is_json_out method method test_dest_is_json_out L402–405
+ test_j_alias method method test_j_alias L394–396
+ test_json_flag_long method method test_json_flag_long L390–392
~ tests/test_narrative_supercharge.py .py 5 symbols added
+ TestRegisterFlags class class TestRegisterFlags L602–623
+ _parse method method _parse L603–611
+ test_default_no_json method method test_default_no_json L621–623
+ test_json_long_flag method method test_json_long_flag L617–619
+ test_json_short_flag method method test_json_short_flag L613–615
+ TestRegisterFlags class class TestRegisterFlags L541–571
+ test_default_no_json method method test_default_no_json L560–571
+ test_json_long_flag method method test_json_long_flag L551–558
+ test_json_short_flag method method test_json_short_flag L542–549
~ tests/test_patch_id_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L653–679
+ _make_parser method method _make_parser L656–662
+ test_default_is_text method method test_default_is_text L672–674
+ test_dest_is_json_out method method test_dest_is_json_out L676–679
+ test_j_alias method method test_j_alias L668–670
+ test_json_flag_long method method test_json_flag_long L664–666
~ tests/test_patch_supercharge.py .py 5 symbols added
+ TestRegisterFlags class class TestRegisterFlags L459–478
+ _parse method method _parse L460–466
+ test_default_no_json method method test_default_no_json L476–478
+ test_json_long_flag method method test_json_long_flag L472–474
+ test_json_short_flag method method test_json_short_flag L468–470
~ tests/test_predict_supercharge.py .py 5 symbols added
+ TestRegisterFlags class class TestRegisterFlags L821–842
+ _parse method method _parse L822–830
+ test_default_no_json method method test_default_no_json L840–842
+ test_json_long_flag method method test_json_long_flag L836–838
+ test_json_short_flag method method test_json_short_flag L832–834
~ tests/test_prune_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L661–687
+ _make_parser method method _make_parser L664–670
+ test_default_is_text method method test_default_is_text L680–682
+ test_dest_is_json_out method method test_dest_is_json_out L684–687
+ test_j_alias method method test_j_alias L676–678
+ test_json_flag_long method method test_json_flag_long L672–674
+ TestRegisterFlags class class TestRegisterFlags L663–693
+ test_default_no_json method method test_default_no_json L682–693
+ test_json_long_flag method method test_json_long_flag L673–680
+ test_json_short_flag method method test_json_short_flag L664–671
~ tests/test_query_supercharge.py .py 4 symbols added
+ TestRegisterFlags class class TestRegisterFlags L543–573
+ test_default_no_json method method test_default_no_json L562–573
+ test_json_long_flag method method test_json_long_flag L553–560
+ test_json_short_flag method method test_json_short_flag L544–551
~ tests/test_range_diff_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L872–898
+ _make_parser method method _make_parser L875–881
+ test_default_is_text method method test_default_is_text L891–893
+ test_dest_is_json_out method method test_dest_is_json_out L895–898
+ test_j_alias method method test_j_alias L887–889
+ test_json_flag_long method method test_json_flag_long L883–885
~ tests/test_read_snapshot_supercharge.py .py 6 symbols added, 34 symbols modified
+ TestRegisterFlags class class TestRegisterFlags L414–433
+ _parse method method _parse L415–421
+ test_default_no_json method method test_default_no_json L431–433
+ test_json_long_flag method method test_json_long_flag L427–429
+ test_json_short_flag method method test_json_short_flag L423–425
+ _rsj function function _rsj L61–63
~ tests/test_rebase_supercharge.py .py 6 symbols added
+ TestRegisterFlags class class TestRegisterFlags L1005–1031
+ _make_parser method method _make_parser L1008–1014
+ test_default_is_text method method test_default_is_text L1024–1026
+ test_dest_is_json_out method method test_dest_is_json_out L1028–1031
+ test_j_alias method method test_j_alias L1020–1022
+ test_json_flag_long method method test_json_flag_long L1016–1018

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