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

feat(type): supercharge with TypedDicts, -j alias, schema_version, mode, exit_code, duration_ms on all 5 JSON modes

sha256:287c5ef3301c6bb160ab91a5bf0c0263239cf970bceb50f5d247ba626e2867e8 sha
+149 ~3 symbols
sha256:011c0f58ec07390227389ee2c88c36b09b5cae9cb3297261fb87d36d3f5963e9 snapshot
+149
symbols added
~3
symbols modified
0
dead code introduced
Semantic Changes 152 symbols
~ tests/test_type_cmd_supercharge.py .py 140 symbols added
+ TestAliasRegistration class class TestAliasRegistration L523–560
+ test_j_alias_registered method method test_j_alias_registered L524–531
+ test_j_and_drift_parse_together method method test_j_and_drift_parse_together L542–550
+ test_j_and_migration_targets_parse_together method method test_j_and_migration_targets_parse_together L552–560
+ test_json_long_form_works method method test_json_long_form_works L533–540
+ TestDataIntegrity class class TestDataIntegrity L739–795
+ test_drift_json_serialisable method method test_drift_json_serialisable L777–780
+ test_duration_ms_is_float method method test_duration_ms_is_float L756–760
+ test_exit_code_is_int method method test_exit_code_is_int L750–754
+ test_health_json_serialisable method method test_health_json_serialisable L782–785
+ test_health_total_symbols_is_int method method test_health_total_symbols_is_int L787–791
+ test_mode_present_in_drift_json method method test_mode_present_in_drift_json L762–765
+ test_mode_present_in_health_json method method test_mode_present_in_health_json L767–770
+ test_mode_present_in_migrate_json method method test_mode_present_in_migrate_json L772–775
+ test_parse_since_returns_none_for_none method method test_parse_since_returns_none_for_none L793–795
+ test_schema_version_is_str method method test_schema_version_is_str L740–743
+ test_schema_version_nonempty method method test_schema_version_nonempty L745–748
+ TestDocstrings class class TestDocstrings L563–583
+ test_register_mentions_j_alias method method test_register_mentions_j_alias L564–567
+ test_run_mentions_duration_ms method method test_run_mentions_duration_ms L577–579
+ test_run_mentions_exit_code method method test_run_mentions_exit_code L573–575
+ test_run_mentions_mode method method test_run_mentions_mode L581–583
+ test_run_mentions_schema_version method method test_run_mentions_schema_version L569–571
+ TestEndToEnd class class TestEndToEnd L591–682
+ test_drift_exits_zero method method test_drift_exits_zero L592–594
+ test_drift_json_emits_drift_list method method test_drift_json_emits_drift_list L621–624
+ test_drift_json_emits_duration_ms method method test_drift_json_emits_duration_ms L614–619
+ test_drift_json_emits_exit_code method method test_drift_json_emits_exit_code L608–612
+ test_drift_json_emits_mode method method test_drift_json_emits_mode L602–606
+ test_drift_json_emits_schema_version method method test_drift_json_emits_schema_version L596–600
+ test_health_json_emits_coverage_fraction method method test_health_json_emits_coverage_fraction L655–660
+ test_health_json_emits_duration_ms method method test_health_json_emits_duration_ms L649–653
+ test_health_json_emits_exit_code method method test_health_json_emits_exit_code L643–647
+ test_health_json_emits_mode method method test_health_json_emits_mode L638–641
+ test_health_json_emits_schema_version method method test_health_json_emits_schema_version L632–636
+ test_j_alias_drift method method test_j_alias_drift L626–630
+ test_j_alias_health method method test_j_alias_health L678–682
+ test_migrate_json_emits_mode method method test_migrate_json_emits_mode L668–671
+ test_migrate_json_emits_schema_version method method test_migrate_json_emits_schema_version L662–666
+ test_migrate_json_emits_targets_list method method test_migrate_json_emits_targets_list L673–676
+ TestParseSince class class TestParseSince L238–269
+ test_invalid_date_exits_1 method method test_invalid_date_exits_1 L259–263
+ test_invalid_date_prints_to_stderr method method test_invalid_date_prints_to_stderr L265–269
+ test_none_returns_none method method test_none_returns_none L239–241
+ test_valid_iso_date_returns_datetime method method test_valid_iso_date_returns_datetime L243–250
+ test_valid_iso_datetime_returns_datetime method method test_valid_iso_datetime_returns_datetime L252–257
+ TestPerformance class class TestPerformance L859–889
+ test_1000_render_health_text_under_1s method method test_1000_render_health_text_under_1s L860–867
+ test_500_render_blast_text_under_500ms method method test_500_render_blast_text_under_500ms L869–877
+ test_drift_json_completes_quickly method method test_drift_json_completes_quickly L879–884
+ test_duration_ms_positive method method test_duration_ms_positive L886–889
+ TestRenderBlastText class class TestRenderBlastText L337–373
+ test_empty_nodes_prints_no_propagation method method test_empty_nodes_prints_no_propagation L338–342
+ test_groups_by_depth method method test_groups_by_depth L357–365
+ test_shows_caller_address method method test_shows_caller_address L350–355
+ test_shows_total_caller_count method method test_shows_total_caller_count L367–373
+ test_source_only_no_callers method method test_source_only_no_callers L344–348
+ TestRenderDiffText class class TestRenderDiffText L465–515
+ test_changed_shown method method test_changed_shown L484–488
+ test_empty_prints_no_changes method method test_empty_prints_no_changes L466–469
+ test_narrowed_shown method method test_narrowed_shown L478–482
+ test_no_widenings_shows_safe_message method method test_no_widenings_shows_safe_message L510–515
+ test_shows_address method method test_shows_address L490–494
+ test_shows_signatures_when_present method method test_shows_signatures_when_present L496–502
+ test_widened_count_in_footer method method test_widened_count_in_footer L504–508
+ test_widened_shown_with_warning method method test_widened_shown_with_warning L471–476
+ TestRenderDriftText class class TestRenderDriftText L381–419
+ test_degrading_trend method method test_degrading_trend L407–412
+ test_empty_prints_no_history method method test_empty_prints_no_history L382–385
+ test_improving_trend method method test_improving_trend L400–405
+ test_shows_coverage_fraction method method test_shows_coverage_fraction L394–398
+ test_shows_short_commit_id method method test_shows_short_commit_id L387–392
+ test_stable_trend method method test_stable_trend L414–419
+ TestRenderHealthText class class TestRenderHealthText L277–329
+ test_empty_symbols_does_not_crash method method test_empty_symbols_does_not_crash L316–319
+ test_file_filter_shown_in_scope method method test_file_filter_shown_in_scope L298–301
+ test_full_coverage_renders method method test_full_coverage_renders L326–329
+ test_no_filter_no_scope_label method method test_no_filter_no_scope_label L303–307
+ test_shows_coverage_percentage method method test_shows_coverage_percentage L278–281
+ test_shows_fully_typed method method test_shows_fully_typed L288–291
+ test_shows_total_symbols method method test_shows_total_symbols L283–286
+ test_shows_untyped_count method method test_shows_untyped_count L293–296
+ test_worst_symbols_listed method method test_worst_symbols_listed L309–314
+ test_zero_coverage_renders method method test_zero_coverage_renders L321–324
+ TestRenderMigrateText class class TestRenderMigrateText L427–457
+ test_empty_prints_all_typed method method test_empty_prints_all_typed L428–431
+ test_shows_caller_count method method test_shows_caller_count L445–449
+ test_shows_priority_score method method test_shows_priority_score L439–443
+ test_shows_top_address method method test_shows_top_address L433–437
+ test_top_address_gets_tip method method test_top_address_gets_tip L451–457
+ TestSecurity class class TestSecurity L803–851
+ test_ansi_in_conflict_signature_survives method method test_ansi_in_conflict_signature_survives L846–851
+ test_hostile_address_in_blast_survives_json method method test_hostile_address_in_blast_survives_json L804–811
+ test_null_byte_in_drift_message_does_not_crash method method test_null_byte_in_drift_message_does_not_crash L840–844
+ test_sql_injection_in_drift_message_survives method method test_sql_injection_in_drift_message_survives L819–824
+ test_unicode_in_migration_target_address method method test_unicode_in_migration_target_address L834–838
+ test_very_long_address_does_not_crash method method test_very_long_address_does_not_crash L826–832
+ test_xss_in_conflict_address_survives method method test_xss_in_conflict_address_survives L813–817
+ TestStress class class TestStress L690–731
+ test_1000_render_health_text method method test_1000_render_health_text L691–697
+ test_500_render_blast_text method method test_500_render_blast_text L699–706
+ test_concurrent_render_health method method test_concurrent_render_health L715–731
+ test_render_drift_text_200_points method method test_render_drift_text_200_points L708–713
+ TestTypedDict class class TestTypedDict L171–230
+ test_blast_json_has_duration_ms method method test_blast_json_has_duration_ms L196–198
+ test_blast_json_has_exit_code method method test_blast_json_has_exit_code L192–194
+ test_blast_json_has_schema_version method method test_blast_json_has_schema_version L188–190
+ test_diff_json_has_duration_ms method method test_diff_json_has_duration_ms L228–230
+ test_diff_json_has_exit_code method method test_diff_json_has_exit_code L224–226
+ test_diff_json_has_schema_version method method test_diff_json_has_schema_version L220–222
+ test_drift_json_has_duration_ms method method test_drift_json_has_duration_ms L208–210
+ test_drift_json_has_exit_code method method test_drift_json_has_exit_code L204–206
+ test_drift_json_has_schema_version method method test_drift_json_has_schema_version L200–202
+ test_health_json_has_duration_ms method method test_health_json_has_duration_ms L180–182
+ test_health_json_has_exit_code method method test_health_json_has_exit_code L176–178
+ test_health_json_has_mode method method test_health_json_has_mode L184–186
+ test_health_json_has_schema_version method method test_health_json_has_schema_version L172–174
+ test_migrate_json_has_exit_code method method test_migrate_json_has_exit_code L216–218
+ test_migrate_json_has_schema_version method method test_migrate_json_has_schema_version L212–214
+ _commit function function _commit L108–119
+ _invoke function function _invoke L122–128
+ _make_blast_node function function _make_blast_node L63–67
+ _make_conflict function function _make_conflict L96–105
+ _make_drift_point function function _make_drift_point L70–81
+ _make_health function function _make_health L42–54
+ _make_migration_target function function _make_migration_target L84–93
+ _make_symbol_entry function function _make_symbol_entry L57–60
+ CliRunner import import CliRunner L32–32
+ InvokeResult import import InvokeResult L32–32
+ annotations import import annotations L20–20
+ get_type_hints import import get_type_hints L28–28
+ json import import json L22–22
+ os import import os L23–23
+ pathlib import import pathlib L24–24
+ pytest import import pytest L30–30
+ textwrap import import textwrap L25–25
+ threading import import threading L26–26
+ time import import time L27–27
+ runner variable variable runner L34–34
+ type_repo function function type_repo L132–163
~ muse/cli/commands/type_cmd.py .py 9 symbols added, 3 symbols modified
+ _BlastJson class class _BlastJson L96–104
+ _DiffJson class class _DiffJson L128–136
+ _DriftJson class class _DriftJson L107–115
+ _HealthJson class class _HealthJson L80–93
+ _MigrateJson class class _MigrateJson L118–125
+ Any import import Any L43–43
+ TypedDict import import TypedDict L43–43
+ __version__ import import __version__ L45–45
+ start_timer import import start_timer L47–47
~ run
← 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:287c5ef3301c6bb160ab91a5bf0c0263239cf970bceb50f5d247ba626e2867e8 --body "your comment"