gabriel / muse public
feat patch compare dev
AI Agent gabriel · 160 days ago · Apr 19, 2026 · Diff

feat(compare): supercharge — -j alias, exit_code, duration_ms, docstring; fix dead.py elapsed()/compare_short_id bugs

sha256:f84977e7d1fe833c89ad917e7d037c4b0f6430b8e8976a6070040d7b87486af6 sha
+55 ~5 symbols
sha256:69dd0173eafdfd70d4e6392fcfe86e7b5847b0eee509df52eab86ff45ea439b6 snapshot
+55
symbols added
~5
symbols modified
0
dead code introduced
Semantic Changes 60 symbols
~ tests/test_compare_supercharge.py .py 54 symbols added
+ TestAnsiSanitization class class TestAnsiSanitization L354–376
+ test_j_alias_output_no_ansi method method test_j_alias_output_no_ansi L364–369
+ test_json_output_no_ansi_no_changes method method test_json_output_no_ansi_no_changes L371–376
+ test_json_output_no_ansi_with_changes method method test_json_output_no_ansi_with_changes L357–362
+ TestDocstrings class class TestDocstrings L335–346
+ test_run_docstring_mentions_duration_ms method method test_run_docstring_mentions_duration_ms L343–346
+ test_run_docstring_mentions_exit_code method method test_run_docstring_mentions_exit_code L338–341
+ TestDurationMs class class TestDurationMs L176–225
+ test_duration_ms_same_ref method method test_duration_ms_same_ref L208–216
+ test_duration_ms_with_kind_filter method method test_duration_ms_with_kind_filter L218–225
+ test_j_alias_duration_ms_present method method test_j_alias_duration_ms_present L201–206
+ test_json_duration_ms_is_float method method test_json_duration_ms_is_float L194–199
+ test_json_duration_ms_nonnegative method method test_json_duration_ms_nonnegative L187–192
+ test_json_has_duration_ms method method test_json_has_duration_ms L179–185
+ TestExitCode class class TestExitCode L233–287
+ test_exit_code_mirrors_process_exit method method test_exit_code_mirrors_process_exit L273–279
+ test_exit_code_zero_with_filters method method test_exit_code_zero_with_filters L281–287
+ test_j_alias_exit_code_present method method test_j_alias_exit_code_present L266–271
+ test_json_exit_code_is_int method method test_json_exit_code_is_int L259–264
+ test_json_exit_code_zero_no_changes method method test_json_exit_code_zero_no_changes L251–257
+ test_json_exit_code_zero_with_changes method method test_json_exit_code_zero_with_changes L243–249
+ test_json_has_exit_code method method test_json_has_exit_code L236–241
+ TestJsonAlias class class TestJsonAlias L100–168
+ test_j_alias_exits_zero method method test_j_alias_exits_zero L103–108
+ test_j_alias_has_from_key method method test_j_alias_has_from_key L117–123
+ test_j_alias_has_ops_key method method test_j_alias_has_ops_key L125–131
+ test_j_alias_op_count_matches_json_flag method method test_j_alias_op_count_matches_json_flag L145–151
+ test_j_alias_same_ref_empty_ops method method test_j_alias_same_ref_empty_ops L153–159
+ test_j_alias_same_top_level_keys_as_json_flag method method test_j_alias_same_top_level_keys_as_json_flag L133–143
+ test_j_alias_valid_json method method test_j_alias_valid_json L110–115
+ test_j_alias_with_language_filter method method test_j_alias_with_language_filter L161–168
+ TestPerformance class class TestPerformance L384–406
+ test_duration_ms_is_float_not_int method method test_duration_ms_is_float_not_int L401–406
+ test_j_alias_duration_under_2000ms method method test_j_alias_duration_under_2000ms L394–399
+ test_json_duration_under_2000ms method method test_json_duration_under_2000ms L387–392
+ TestTypedDicts class class TestTypedDicts L295–327
+ test_compare_json_typeddict_exists method method test_compare_json_typeddict_exists L298–299
+ test_has_duration_ms_annotation method method test_has_duration_ms_annotation L305–307
+ test_has_exit_code_annotation method method test_has_exit_code_annotation L301–303
+ test_retains_filters_annotation method method test_retains_filters_annotation L325–327
+ test_retains_from_annotation method method test_retains_from_annotation L309–311
+ test_retains_ops_annotation method method test_retains_ops_annotation L321–323
+ test_retains_stat_annotation method method test_retains_stat_annotation L317–319
+ test_retains_to_annotation method method test_retains_to_annotation L313–315
+ _env function function _env L36–37
+ _run function function _run L40–41
+ compare_repo function function compare_repo L50–92
+ CliRunner import import CliRunner L26–26
+ annotations import import annotations L18–18
+ json import import json L20–20
+ pathlib import import pathlib L21–21
+ pytest import import pytest L24–24
+ textwrap import import textwrap L22–22
+ runner variable variable runner L28–28
~ muse/cli/commands/compare.py .py 1 symbol added, 3 symbols modified
+ start_timer import import start_timer L59–59
~ run
~ muse/cli/commands/dead.py .py 2 symbols modified
← Older Oldest on dev
All commits
Newer → Latest on dev

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