feat(symbol-log): supercharge with TypedDict, -j alias, and JSON envelope
- Add _SymbolLogJson TypedDict with schema_version, exit_code, duration_ms - Add -j alias for --json - Inject schema_version, exit_code, duration_ms into JSON output - Expand register() docstring listing all arguments including --json/-j - Expand run() docstring documenting all JSON envelope fields - 69 new seven-tier tests (unit, integration, e2e, stress, data integrity, security, performance)
sha256:468b2b17c62572bca79660bfac00f862464df1886ed0eaa05de0cc8300ec7367
sha
+109
~3
symbols
sha256:989865a09f68d173c84c0c3cac69b0a0466b30157d62a4c6b2023eb861376ef4
snapshot
+109
symbols added
~3
symbols modified
0
dead code introduced
Semantic Changes
112 symbols
+
test_events_in_json_are_chronological
method
method test_events_in_json_are_chronological L566–572
+
test_rename_tracking_continues_with_new_address
method
method test_rename_tracking_continues_with_new_address L584–592
+
test_bad_address_no_double_colon_exits_nonzero
method
method test_bad_address_no_double_colon_exits_nonzero L452–454
+
test_human_output_shows_symbol_header
method
method test_human_output_shows_symbol_header L491–494
+
test_json_address_field_matches_input
method
method test_json_address_field_matches_input L476–479
+
test_max_1_sets_truncated_true_in_json
method
method test_max_1_sets_truncated_true_in_json L456–461
+
test_max_1_shows_truncation_warning_in_human
method
method test_max_1_shows_truncation_warning_in_human L463–466
+
test_unknown_symbol_exits_zero_with_no_events
method
method test_unknown_symbol_exits_zero_with_no_events L447–450
+
test_replace_renamed_to_updates_address
method
method test_replace_renamed_to_updates_address L319–325
+
test_replace_signature_produces_signature
method
method test_replace_signature_produces_signature L333–337
+
test_unrelated_address_produces_no_events
method
method test_unrelated_address_produces_no_events L346–351
+
test_duration_ms_present_and_reasonable
method
method test_duration_ms_present_and_reasonable L662–667
+
test_ansi_in_commit_message_survives_to_dict
method
method test_ansi_in_commit_message_survives_to_dict L617–622
+
test_hostile_detail_survives_json_serialisation
method
method test_hostile_detail_survives_json_serialisation L633–638
+
test_unicode_in_address_does_not_crash
method
method test_unicode_in_address_does_not_crash L629–631
+
test_very_long_address_does_not_crash
method
method test_very_long_address_does_not_crash L624–627
+
test_very_long_message_in_commit_does_not_crash
method
method test_very_long_message_in_commit_does_not_crash L640–644
+
test_constructor_default_new_address_is_none
method
method test_constructor_default_new_address_is_none L210–213
+
test_to_dict_committed_at_is_isoformat
method
method test_to_dict_committed_at_is_isoformat L233–239
+
test_to_dict_new_address_none_when_not_set
method
method test_to_dict_new_address_none_when_not_set L241–244
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:468b2b17c62572bca79660bfac00f862464df1886ed0eaa05de0cc8300ec7367 --body "your comment"
No comments yet. Be the first to start the discussion.