gabriel / muse public
BREAKING main #38 / 55
AI Agent gabriel · 140 days ago · Apr 17, 2026 · Diff

merge: dev → main (resolve 73 core/ conflicts, accept theirs)

sha256:f834dcfd0040b030428d1bdf9b405fcd5b2efd2bc9e3b3bedc44a9f64ffacceb sha
+982 ~360 −53 symbols
sha256:f645bb9b6434c71afb2499cad01b35bcb13eae937891e49e3d4e293f69e0c66b snapshot
+982
symbols added
~360
symbols modified
−53
symbols removed
0
dead code introduced
Semantic Changes 1395 symbols
~ muse/cli/commands/core_cat.py .py 21 symbols added
+ _FileError class class _FileError L70–76
+ __init__ method method __init__ L73–76
+ _get_file_bytes function function _get_file_bytes L79–127
+ ExitCode import import ExitCode L52–52
+ Manifest import import Manifest L55–55
+ annotations import import annotations L44–44
+ argparse import import argparse L46–46
+ get_commit_snapshot_manifest import import get_commit_snapshot_manifest L55–55
+ get_head_snapshot_manifest import import get_head_snapshot_manifest L55–55
+ json import import json L47–47
+ pathlib import import pathlib L48–48
+ read_current_branch import import read_current_branch L55–55
+ read_object import import read_object L53–53
+ read_repo_id import import read_repo_id L54–54
+ require_repo import import require_repo L54–54
+ resolve_commit_ref import import resolve_commit_ref L55–55
+ sanitize_display import import sanitize_display L62–62
+ sys import import sys L49–49
+ time import import time L50–50
+ register function function register L135–166
+ run function function run L174–289
~ muse/plugins/midi/_midi_keys.py .py 8 symbols added
+ NoteKey class class NoteKey L16–30 ← moved from muse/plugins/midi/midi_diff.py
+ _PITCH_NAMES variable variable _PITCH_NAMES L13–13 ← moved from muse/plugins/midi/midi_diff.py
+ _note_content_id function function _note_content_id L40–51 ← moved from muse/plugins/midi/midi_diff.py
+ _note_summary function function _note_summary L54–63 ← moved from muse/plugins/midi/midi_diff.py
+ _pitch_name function function _pitch_name L33–37 ← moved from muse/plugins/midi/midi_diff.py
+ TypedDict import import TypedDict L11–11
+ annotations import import annotations L8–8
+ hashlib import import hashlib L10–10
+ TestBranchMetaUpdate class class TestBranchMetaUpdate L558–617
+ test_intent_visible_in_listing_after_update method method test_intent_visible_in_listing_after_update L575–580
+ test_no_meta_flags_still_errors_on_existing method method test_no_meta_flags_still_errors_on_existing L613–617
+ test_resumable_visible_in_listing_after_update method method test_resumable_visible_in_listing_after_update L589–594
+ test_set_intent_on_existing_branch method method test_set_intent_on_existing_branch L561–564
+ test_set_resumable_on_existing_branch method method test_set_resumable_on_existing_branch L582–587
+ test_update_action_in_json method method test_update_action_in_json L566–573
+ test_update_does_not_overwrite_unspecified_fields method method test_update_does_not_overwrite_unspecified_fields L596–605
+ test_update_with_start_point_still_errors method method test_update_with_start_point_still_errors L607–611
+ TestCreateWithIntent class class TestCreateWithIntent L242–277
+ test_create_json_includes_intent method method test_create_json_includes_intent L263–267
+ test_create_json_includes_resumable method method test_create_json_includes_resumable L269–272
+ test_create_json_resumable_false_when_not_set method method test_create_json_resumable_false_when_not_set L274–277
+ test_create_stores_intent_in_config method method test_create_stores_intent_in_config L247–250
+ test_create_stores_resumable_in_config method method test_create_stores_resumable_in_config L252–255
+ test_create_with_intent_exits_0 method method test_create_with_intent_exits_0 L243–245
+ test_create_without_intent_no_config_entry method method test_create_without_intent_no_config_entry L257–261
+ TestDataIntegrity class class TestDataIntegrity L492–515
+ test_config_toml_valid_toml_after_write method method test_config_toml_valid_toml_after_write L509–515
+ test_intent_not_lost_on_second_branch_create method method test_intent_not_lost_on_second_branch_create L493–499
+ test_resumable_preserved_across_other_branch_operations method method test_resumable_preserved_across_other_branch_operations L501–507
+ TestE2eRoundTrips class class TestE2eRoundTrips L410–444
+ test_create_intent_resumable_json_schema method method test_create_intent_resumable_json_schema L429–436
+ test_created_by_survives_new_branch_on_agent_repo method method test_created_by_survives_new_branch_on_agent_repo L419–427
+ test_intent_survives_list_cycle method method test_intent_survives_list_cycle L411–417
+ test_resumable_filter_with_r_flag method method test_resumable_filter_with_r_flag L438–444
+ TestIntentSecurity class class TestIntentSecurity L452–484
+ _has_ansi method method _has_ansi L453–454
+ test_ansi_in_intent_stripped_from_output method method test_ansi_in_intent_stripped_from_output L456–461
+ test_intent_truncated_to_reasonable_length method method test_intent_truncated_to_reasonable_length L477–484
+ test_newline_in_intent_escaped_in_toml method method test_newline_in_intent_escaped_in_toml L463–468
+ test_toml_metachar_in_intent_safe method method test_toml_metachar_in_intent_safe L470–475
+ TestListJsonNewFields class class TestListJsonNewFields L285–353
+ test_list_json_created_by_empty_for_empty_branch method method test_list_json_created_by_empty_for_empty_branch L337–344
+ test_list_json_created_by_empty_for_human_commit method method test_list_json_created_by_empty_for_human_commit L328–335
+ test_list_json_created_by_from_agent_commit method method test_list_json_created_by_from_agent_commit L320–326
+ test_list_json_has_created_by_field method method test_list_json_has_created_by_field L315–318
+ test_list_json_has_intent_field method method test_list_json_has_intent_field L286–292
+ test_list_json_has_resumable_field method method test_list_json_has_resumable_field L301–307
+ test_list_json_intent_null_for_plain_branch method method test_list_json_intent_null_for_plain_branch L294–299
+ test_list_json_resumable_false_for_plain_branch method method test_list_json_resumable_false_for_plain_branch L309–313
+ test_schema_complete method method test_schema_complete L346–353
+ TestParserFlags class class TestParserFlags L207–234
+ _parse method method _parse L208–214
+ test_intent_default_none method method test_intent_default_none L220–222
+ test_intent_flag method method test_intent_flag L216–218
+ test_resumable_default_false method method test_resumable_default_false L228–230
+ test_resumable_filter_flag method method test_resumable_filter_flag L232–234
+ test_resumable_flag method method test_resumable_flag L224–226
+ TestPerformance class class TestPerformance L523–550
+ test_list_50_branches_with_intent_under_1s method method test_list_50_branches_with_intent_under_1s L524–535
+ test_resumable_filter_50_branches_under_500ms method method test_resumable_filter_50_branches_under_500ms L537–550
+ TestReadBranchMeta class class TestReadBranchMeta L182–199
+ test_returns_empty_for_unknown_branch method method test_returns_empty_for_unknown_branch L192–194
+ test_returns_empty_when_no_config method method test_returns_empty_when_no_config L196–199
+ test_returns_intent_and_resumable method method test_returns_intent_and_resumable L185–190
+ TestResumableFilter class class TestResumableFilter L361–402
+ test_resumable_combined_with_merged_filter method method test_resumable_combined_with_merged_filter L394–402
+ test_resumable_filter_all_resumable_returned method method test_resumable_filter_all_resumable_returned L387–392
+ test_resumable_filter_empty_when_none method method test_resumable_filter_empty_when_none L375–379
+ test_resumable_filter_shows_only_resumable method method test_resumable_filter_shows_only_resumable L362–373
+ test_resumable_filter_text_output method method test_resumable_filter_text_output L381–385
+ TestWriteBranchMeta class class TestWriteBranchMeta L110–179
+ test_creates_config_file_if_absent method method test_creates_config_file_if_absent L172–179
+ test_does_not_clobber_upstream_fields method method test_does_not_clobber_upstream_fields L139–151
+ test_multiple_branches_independent method method test_multiple_branches_independent L162–170
+ test_updates_existing_entry method method test_updates_existing_entry L153–160
+ test_writes_both_fields method method test_writes_both_fields L131–137
+ test_writes_intent_to_config method method test_writes_intent_to_config L113–117
+ test_writes_resumable_false method method test_writes_resumable_false L125–129
+ test_writes_resumable_true method method test_writes_resumable_true L119–123
+ _branch function function _branch L58–59
+ _commit function function _commit L62–63
+ _config function function _config L66–71
+ _invoke function function _invoke L49–55
+ agent_repo function function agent_repo L88–102
+ CliRunner import import CliRunner L38–38
+ InvokeResult import import InvokeResult L38–38
+ annotations import import annotations L28–28
+ get_head_commit_id import import get_head_commit_id L39–39
+ json import import json L30–30
+ os import import os L31–31
+ pathlib import import pathlib L32–32
+ pytest import import pytest L36–36
+ time import import time L33–33
+ tomllib import import tomllib L34–34
+ repo function function repo L75–84
+ runner variable variable runner L41–41
~ tests/test_cmd_auth_supercharged.py .py 87 symbols added
+ HOSTNAME variable variable HOSTNAME L38–38
+ HOSTNAME2 variable variable HOSTNAME2 L40–40
+ HUB variable variable HUB L37–37
+ HUB2 variable variable HUB2 L39–39
+ TestDisplayEntryProvisionedBy class class TestDisplayEntryProvisionedBy L176–218
+ test_agent_hd_path_in_json method method test_agent_hd_path_in_json L198–211
+ test_agent_provisioned_by_in_json method method test_agent_provisioned_by_in_json L177–189
+ test_human_no_provisioned_by method method test_human_no_provisioned_by L191–196
+ test_no_hd_path_absent_from_json method method test_no_hd_path_absent_from_json L213–218
+ TestKeygenJsonTypedDict class class TestKeygenJsonTypedDict L106–128
+ test_all_required_keys_present method method test_all_required_keys_present L123–128
+ test_hd_path_in_keygen_typeddict method method test_hd_path_in_keygen_typeddict L109–114
+ test_mnemonic_word_count_in_keygen_typeddict method method test_mnemonic_word_count_in_keygen_typeddict L116–121
+ TestLoadAllPerformance class class TestLoadAllPerformance L424–448
+ test_50_entries_under_200ms method method test_50_entries_under_200ms L425–448
+ TestLogoutPerformance class class TestLogoutPerformance L607–634
+ test_logout_all_50_hubs_under_100ms method method test_logout_all_50_hubs_under_100ms L608–634
+ TestLogoutStress class class TestLogoutStress L554–601
+ test_logout_all_50_hubs method method test_logout_all_50_hubs L557–601
+ TestRecoverDataIntegrity class class TestRecoverDataIntegrity L640–767
+ _patch method method _patch L648–661
+ test_different_mnemonic_different_fingerprint method method test_different_mnemonic_different_fingerprint L691–724
+ test_recover_hd_path_persisted method method test_recover_hd_path_persisted L726–746
+ test_recover_mnemonic_not_in_toml method method test_recover_mnemonic_not_in_toml L748–767
+ test_same_mnemonic_same_fingerprint method method test_same_mnemonic_same_fingerprint L663–689
+ TestRecoverPerformance class class TestRecoverPerformance L839–870
+ test_recover_under_3_seconds method method test_recover_under_3_seconds L845–870
+ TestRecoverStress class class TestRecoverStress L773–833
+ _patch method method _patch L779–792
+ test_10_recoveries_different_hubs method method test_10_recoveries_different_hubs L813–833
+ test_10_recoveries_same_fingerprint method method test_10_recoveries_same_fingerprint L794–811
+ TestRegisterPerformance class class TestRegisterPerformance L876–938
+ test_register_under_500ms method method test_register_under_500ms L879–938
+ TestRegisterStress class class TestRegisterStress L944–1009
+ test_5_register_calls_same_hub method method test_5_register_calls_same_hub L947–1009
+ TestShowJsonKeyPathAlgorithm class class TestShowJsonKeyPathAlgorithm L357–392
+ test_show_json_agent_has_provisioned_by method method test_show_json_agent_has_provisioned_by L387–392
+ test_show_json_algorithm_value_correct method method test_show_json_algorithm_value_correct L380–385
+ test_show_json_has_algorithm method method test_show_json_has_algorithm L365–370
+ test_show_json_has_key_path method method test_show_json_has_key_path L358–363
+ test_show_json_key_path_value_correct method method test_show_json_key_path_value_correct L372–378
+ TestShowJsonTypedDict class class TestShowJsonTypedDict L134–155
+ test_algorithm_in_show_typeddict method method test_algorithm_in_show_typeddict L143–145
+ test_key_path_in_show_typeddict method method test_key_path_in_show_typeddict L139–141
+ test_provisioned_by_fingerprint_in_show_typeddict method method test_provisioned_by_fingerprint_in_show_typeddict L152–155
+ test_provisioned_by_in_show_typeddict method method test_provisioned_by_in_show_typeddict L147–150
+ TestShowStress class class TestShowStress L454–548
+ test_show_50_repeated_calls_consistent method method test_show_50_repeated_calls_consistent L509–548
+ test_show_with_50_identities_returns_correct_entry method method test_show_with_50_identities_returns_correct_entry L457–507
+ TestTypeFilterSecurity class class TestTypeFilterSecurity L398–418
+ test_type_with_ansi_injection_rejected method method test_type_with_ansi_injection_rejected L399–404
+ test_type_with_newline_injection_rejected method method test_type_with_newline_injection_rejected L406–411
+ test_type_with_semicolon_rejected method method test_type_with_semicolon_rejected L413–418
+ TestWhoamiHdPath class class TestWhoamiHdPath L329–351
+ test_whoami_json_hd_entry_has_hd_path method method test_whoami_json_hd_entry_has_hd_path L330–344
+ test_whoami_json_no_hd_path_when_absent method method test_whoami_json_no_hd_path_when_absent L346–351
+ TestWhoamiJsonTypedDict class class TestWhoamiJsonTypedDict L161–170
+ test_hd_path_in_whoami_typeddict method method test_hd_path_in_whoami_typeddict L167–170
+ test_provisioned_by_in_whoami_typeddict method method test_provisioned_by_in_whoami_typeddict L162–165
+ TestWhoamiProvisionedBy class class TestWhoamiProvisionedBy L302–323
+ test_whoami_all_json_agent_has_provisioned_by method method test_whoami_all_json_agent_has_provisioned_by L317–323
+ test_whoami_json_agent_has_provisioned_by method method test_whoami_json_agent_has_provisioned_by L303–308
+ test_whoami_json_human_no_provisioned_by method method test_whoami_json_human_no_provisioned_by L310–315
+ TestWhoamiTypeFilter class class TestWhoamiTypeFilter L224–296
+ test_type_agent_includes_provisioned_by method method test_type_agent_includes_provisioned_by L289–296
+ test_type_agent_returns_only_agents method method test_type_agent_returns_only_agents L239–249
+ test_type_filter_counts_correctly method method test_type_filter_counts_correctly L276–287
+ test_type_filter_no_match_exits_nonzero method method test_type_filter_no_match_exits_nonzero L251–255
+ test_type_filter_no_match_json_exits_nonzero method method test_type_filter_no_match_json_exits_nonzero L257–260
+ test_type_human_returns_only_humans method method test_type_human_returns_only_humans L227–237
+ test_type_invalid_value_exits_nonzero method method test_type_invalid_value_exits_nonzero L262–266
+ test_type_requires_all_flag method method test_type_requires_all_flag L268–274
+ _agent function function _agent L83–91
+ _human function function _human L73–80
+ _parse_json function function _parse_json L94–100
+ cli variable variable cli L34–34
+ CliRunner import import CliRunner L31–31
+ IdentityEntry import import IdentityEntry L32–32
+ InvokeResult import import InvokeResult L31–31
+ annotations import import annotations L23–23
+ json import import json L25–25
+ pathlib import import pathlib L26–26
+ pytest import import pytest L29–29
+ save_identity import import save_identity L32–32
+ time import import time L27–27
+ repo function function repo L47–70
+ runner variable variable runner L35–35
~ tests/test_cmd_blame.py .py 97 symbols added
+ TestBlameAuthor class class TestBlameAuthor L413–469
+ test_author_combined_with_range method method test_author_combined_with_range L455–461
+ test_author_filter_case_insensitive method method test_author_filter_case_insensitive L424–429
+ test_author_filter_matches method method test_author_filter_matches L416–422
+ test_author_filter_no_match_returns_empty method method test_author_filter_no_match_returns_empty L431–436
+ test_author_filter_substring_match method method test_author_filter_substring_match L438–443
+ test_author_filter_with_two_authors method method test_author_filter_with_two_authors L445–453
+ test_author_line_count_reflects_filter method method test_author_line_count_reflects_filter L463–469
+ TestBlameDataIntegrity class class TestBlameDataIntegrity L637–689
+ test_all_commit_ids_sha256_prefixed method method test_all_commit_ids_sha256_prefixed L646–650
+ test_author_never_empty_string method method test_author_never_empty_string L652–656
+ test_content_no_trailing_newline method method test_content_no_trailing_newline L658–662
+ test_json_is_valid_and_parseable method method test_json_is_valid_and_parseable L682–689
+ test_line_count_equals_lines_length_always method method test_line_count_equals_lines_length_always L674–680
+ test_linenos_are_contiguous_from_1 method method test_linenos_are_contiguous_from_1 L640–644
+ test_range_linenos_match_original_positions method method test_range_linenos_match_original_positions L664–672
+ TestBlameJsonAttribution class class TestBlameJsonAttribution L213–269
+ test_committed_at_is_iso8601 method method test_committed_at_is_iso8601 L255–260
+ test_content_has_no_trailing_newline method method test_content_has_no_trailing_newline L248–253
+ test_empty_file_returns_zero_lines method method test_empty_file_returns_zero_lines L262–269
+ test_message_is_first_line_of_commit_message method method test_message_is_first_line_of_commit_message L242–246
+ test_new_line_attributed_to_newer_commit method method test_new_line_attributed_to_newer_commit L234–240
+ test_older_lines_attributed_to_older_commit method method test_older_lines_attributed_to_older_commit L224–232
+ test_single_commit_all_lines_attributed method method test_single_commit_all_lines_attributed L216–222
+ TestBlameJsonFlag class class TestBlameJsonFlag L277–341
+ test_j_short_alias method method test_j_short_alias L285–290
+ test_json_flag_exits_0 method method test_json_flag_exits_0 L280–283
+ test_json_indent2 method method test_json_indent2 L337–341
+ test_porcelain_flag_rejected method method test_porcelain_flag_rejected L292–297
+ test_ref_branch_name method method test_ref_branch_name L330–335
+ test_short_n_changes_sha_width method method test_short_n_changes_sha_width L321–328
+ test_text_output_contains_content method method test_text_output_contains_content L307–311
+ test_text_output_contains_lineno method method test_text_output_contains_lineno L313–319
+ test_text_output_no_json method method test_text_output_no_json L299–305
+ TestBlameJsonSchema class class TestBlameJsonSchema L146–205
+ test_file_key_matches_input method method test_file_key_matches_input L157–162
+ test_line_count_is_int method method test_line_count_is_int L201–205
+ test_line_count_matches_lines_array method method test_line_count_matches_lines_array L171–176
+ test_line_entry_keys method method test_line_entry_keys L178–184
+ test_ref_key_is_full_commit_id method method test_ref_key_is_full_commit_id L164–169
+ test_short_id_default_length_is_12 method method test_short_id_default_length_is_12 L194–199
+ test_short_id_is_prefix_of_commit_id method method test_short_id_is_prefix_of_commit_id L186–192
+ test_top_level_keys method method test_top_level_keys L149–155
+ TestBlamePerformance class class TestBlamePerformance L607–629
+ test_100_line_file_under_2s method method test_100_line_file_under_2s L610–618
+ test_10_commit_chain_under_3s method method test_10_commit_chain_under_3s L620–629
+ TestBlameRange class class TestBlameRange L344–410
+ test_range_clamped_to_file_length method method test_range_clamped_to_file_length L387–394
+ test_range_full_file_explicit method method test_range_full_file_explicit L367–372
+ test_range_limits_lines_returned method method test_range_limits_lines_returned L347–355
+ test_range_line_count_reflects_filtered method method test_range_line_count_reflects_filtered L405–410
+ test_range_single_line method method test_range_single_line L357–365
+ test_range_start_gt_end_is_error method method test_range_start_gt_end_is_error L374–379
+ test_range_text_output_respected method method test_range_text_output_respected L396–403
+ test_range_zero_start_is_error method method test_range_zero_start_is_error L381–385
+ TestBlameSecurity class class TestBlameSecurity L477–540
+ test_ansi_in_author_sanitized_text method method test_ansi_in_author_sanitized_text L517–521
+ test_ansi_in_content_sanitized_text method method test_ansi_in_content_sanitized_text L511–515
+ test_json_output_no_ansi method method test_json_output_no_ansi L523–527
+ test_no_repo_exits_2 method method test_no_repo_exits_2 L529–534
+ test_null_byte_in_path_is_error method method test_null_byte_in_path_is_error L480–485
+ test_range_invalid_format_is_error method method test_range_invalid_format_is_error L536–540
+ test_unknown_file_error_on_stderr method method test_unknown_file_error_on_stderr L493–497
+ test_unknown_file_exits_1 method method test_unknown_file_exits_1 L487–491
+ test_unknown_ref_error_on_stderr method method test_unknown_ref_error_on_stderr L505–509
+ test_unknown_ref_exits_1 method method test_unknown_ref_exits_1 L499–503
+ TestBlameStress class class TestBlameStress L548–599
+ test_20_commit_chain method method test_20_commit_chain L561–570
+ test_500_line_file method method test_500_line_file L551–559
+ test_file_no_trailing_newline method method test_file_no_trailing_newline L580–588
+ test_range_on_large_file method method test_range_on_large_file L590–599
+ test_single_line_file method method test_single_line_file L572–578
+ _BASE_DT variable variable _BASE_DT L66–66
+ _commit function function _commit L95–130
+ _invoke function function _invoke L133–134
+ _make_repo function function _make_repo L69–80
+ _obj_id function function _obj_id L83–84
+ _parse_json function function _parse_json L137–138
+ _store_text function function _store_text L87–92
+ CliRunner import import CliRunner L58–58
+ CommitRecord import import CommitRecord L56–56
+ Manifest import import Manifest L57–57
+ SnapshotRecord import import SnapshotRecord L56–56
+ annotations import import annotations L43–43
+ compute_commit_id import import compute_commit_id L55–55
+ compute_snapshot_id import import compute_snapshot_id L55–55
+ datetime import import datetime L45–45
+ hashlib import import hashlib L46–46
+ json import import json L47–47
+ pathlib import import pathlib L48–48
+ pytest import import pytest L52–52
+ time import import time L49–49
+ uuid import import uuid L50–50
+ write_commit import import write_commit L56–56
+ write_object import import write_object L54–54
+ write_snapshot import import write_snapshot L56–56
+ runner variable variable runner L60–60
~ tests/test_cmd_branch_supercharged.py .py 105 symbols added
+ TestCleanupEmptyDirs class class TestCleanupEmptyDirs L135–178
+ test_leaves_non_empty_parent method method test_leaves_non_empty_parent L156–168
+ test_removes_empty_parent_dir method method test_removes_empty_parent_dir L136–144
+ test_removes_multiple_levels method method test_removes_multiple_levels L170–178
+ test_stops_at_heads_dir method method test_stops_at_heads_dir L146–154
+ TestCreateJsonSchema class class TestCreateJsonSchema L651–677
+ test_create_commit_id_is_sha256_prefixed method method test_create_commit_id_is_sha256_prefixed L661–666
+ test_create_from_is_null_when_no_start_point method method test_create_from_is_null_when_no_start_point L668–671
+ test_create_from_set_when_start_point_given method method test_create_from_set_when_start_point_given L673–677
+ test_create_json_schema_complete method method test_create_json_schema_complete L652–659
+ TestDataIntegrityNested class class TestDataIntegrityNested L531–582
+ test_delete_nested_cleans_parent_dirs method method test_delete_nested_cleans_parent_dirs L532–540
+ test_delete_nested_keeps_sibling_dir method method test_delete_nested_keeps_sibling_dir L542–548
+ test_force_copy_preserves_src_tip method method test_force_copy_preserves_src_tip L567–576
+ test_force_rename_preserves_tip method method test_force_rename_preserves_tip L558–565
+ test_rename_current_branch_updates_head method method test_rename_current_branch_updates_head L578–582
+ test_rename_into_nested_path_creates_dirs method method test_rename_into_nested_path_creates_dirs L550–556
+ TestDiamondMergeDag class class TestDiamondMergeDag L470–523
+ test_merged_branch_included_after_diamond_merge method method test_merged_branch_included_after_diamond_merge L473–499
+ test_unmerged_sibling_excluded_from_diamond method method test_unmerged_sibling_excluded_from_diamond L501–523
+ TestDocstrings class class TestDocstrings L736–784
+ _has_doc method method _has_doc L737–740
+ test_cleanup_empty_dirs_docstring method method test_cleanup_empty_dirs_docstring L774–776
+ test_commit_ancestors_docstring method method test_commit_ancestors_docstring L762–764
+ test_contains_commit_docstring method method test_contains_commit_docstring L770–772
+ test_is_merged_docstring method method test_is_merged_docstring L766–768
+ test_list_local_branches_docstring method method test_list_local_branches_docstring L750–752
+ test_list_remotes_docstring method method test_list_remotes_docstring L754–756
+ test_module_docstring method method test_module_docstring L742–744
+ test_ref_file_docstring method method test_ref_file_docstring L746–748
+ test_resolve_start_point_docstring method method test_resolve_start_point_docstring L778–780
+ test_run_docstring method method test_run_docstring L782–784
+ test_upstream_for_docstring method method test_upstream_for_docstring L758–760
+ TestJsonErrorSchemas class class TestJsonErrorSchemas L590–643
+ test_copy_not_found_json_schema method method test_copy_not_found_json_schema L633–637
+ test_create_already_exists_json_schema method method test_create_already_exists_json_schema L639–643
+ test_delete_current_branch_json_schema method method test_delete_current_branch_json_schema L612–616
+ test_delete_not_found_json_schema method method test_delete_not_found_json_schema L593–598
+ test_delete_not_merged_json_schema method method test_delete_not_merged_json_schema L600–610
+ test_rename_already_exists_json_schema method method test_rename_already_exists_json_schema L624–631
+ test_rename_not_found_json_schema method method test_rename_not_found_json_schema L618–622
+ TestListJsonCommittedAt class class TestListJsonCommittedAt L232–270
+ test_committed_at_is_iso8601 method method test_committed_at_is_iso8601 L243–251
+ test_committed_at_null_for_empty_branch method method test_committed_at_null_for_empty_branch L253–262
+ test_committed_at_present_in_schema method method test_committed_at_present_in_schema L235–241
+ test_committed_at_schema_complete method method test_committed_at_schema_complete L264–270
+ TestListRemotes class class TestListRemotes L186–224
+ test_empty_when_no_remotes_dir method method test_empty_when_no_remotes_dir L187–190
+ test_lists_nested_remote_branch method method test_lists_nested_remote_branch L200–206
+ test_lists_single_remote method method test_lists_single_remote L192–198
+ test_skips_hidden_files method method test_skips_hidden_files L208–215
+ test_sorted_output method method test_sorted_output L217–224
+ TestRefFile class class TestRefFile L113–127
+ test_nested_branch method method test_nested_branch L119–122
+ test_returns_pathlib_path method method test_returns_pathlib_path L124–127
+ test_simple_branch method method test_simple_branch L114–117
+ TestRemoteTrackingBranches class class TestRemoteTrackingBranches L327–423
+ test_dr_deletes_remote_tracking_ref method method test_dr_deletes_remote_tracking_ref L387–398
+ test_dr_json_schema method method test_dr_json_schema L400–408
+ test_dr_no_slash_exits_1 method method test_dr_no_slash_exits_1 L421–423
+ test_dr_nonexistent_exits_1 method method test_dr_nonexistent_exits_1 L417–419
+ test_dr_remotes_prefix_accepted method method test_dr_remotes_prefix_accepted L410–415
+ test_list_a_includes_both method method test_list_a_includes_both L350–360
+ test_list_a_sorted_by_name method method test_list_a_sorted_by_name L375–385
+ test_list_r_empty_when_no_remotes method method test_list_r_empty_when_no_remotes L362–365
+ test_list_r_excludes_local_branches method method test_list_r_excludes_local_branches L341–348
+ test_list_r_nested_remote_branch method method test_list_r_nested_remote_branch L367–373
+ test_list_r_shows_only_remotes method method test_list_r_shows_only_remotes L328–339
+ TestSecurityFilterFlags class class TestSecurityFilterFlags L685–708
+ _has_ansi method method _has_ansi L686–687
+ test_ansi_in_contains_ref method method test_ansi_in_contains_ref L697–699
+ test_ansi_in_delete_json_error_sanitized method method test_ansi_in_delete_json_error_sanitized L705–708
+ test_ansi_in_merged_ref_rejected_or_sanitized method method test_ansi_in_merged_ref_rejected_or_sanitized L689–691
+ test_ansi_in_no_merged_ref method method test_ansi_in_no_merged_ref L693–695
+ test_newline_in_branch_name_rejected method method test_newline_in_branch_name_rejected L701–703
+ TestSortCommittedDateOrdering class class TestSortCommittedDateOrdering L278–319
+ test_empty_branches_sorted_last method method test_empty_branches_sorted_last L305–319
+ test_newer_branch_first method method test_newer_branch_first L281–294
+ test_timestamp_order_consistent_on_ties method method test_timestamp_order_consistent_on_ties L296–303
+ TestSortCommittedDatePerformance class class TestSortCommittedDatePerformance L716–728
+ test_50_branches_committeddate_under_3s method method test_50_branches_committeddate_under_3s L717–728
+ TestVerboseUpstream class class TestVerboseUpstream L431–462
+ _set_upstream method method _set_upstream L432–441
+ test_v_does_not_show_upstream method method test_v_does_not_show_upstream L454–458
+ test_vv_no_upstream_no_brackets method method test_vv_no_upstream_no_brackets L460–462
+ test_vv_shows_upstream method method test_vv_shows_upstream L443–447
+ test_vv_upstream_in_brackets method method test_vv_upstream_in_brackets L449–452
+ _branch function function _branch L60–61
+ _commit function function _commit L64–65
+ _first_json function function _first_json L89–95
+ _invoke function function _invoke L51–57
+ _make_remote_ref function function _make_remote_ref L98–105
+ CliRunner import import CliRunner L40–40
+ InvokeResult import import InvokeResult L40–40
+ annotations import import annotations L31–31
+ get_head_commit_id import import get_head_commit_id L41–41
+ json import import json L33–33
+ os import import os L34–34
+ pathlib import import pathlib L35–35
+ pytest import import pytest L38–38
+ read_current_branch import import read_current_branch L41–41
+ time import import time L36–36
+ repo function function repo L69–79
+ runner variable variable runner L43–43
+ two_commit_repo function function two_commit_repo L83–86
~ tests/test_cmd_bundle_supercharged.py .py 112 symbols added
+ TestBundleDiffDataIntegrity class class TestBundleDiffDataIntegrity L958–1002
+ test_diff_new_count_matches_actual_writes method method test_diff_new_count_matches_actual_writes L981–1002
+ test_diff_then_unbundle_gives_zero_new method method test_diff_then_unbundle_gives_zero_new L959–979
+ TestBundleDiffPerformance class class TestBundleDiffPerformance L1005–1024
+ test_diff_100_commit_bundle_under_1s method method test_diff_100_commit_bundle_under_1s L1006–1024
+ TestBundleDiffSecurity class class TestBundleDiffSecurity L939–955
+ _has_ansi method method _has_ansi L940–941
+ test_ansi_in_bundle_message_stripped method method test_ansi_in_bundle_message_stripped L943–955
+ TestBundleDiffStress class class TestBundleDiffStress L1027–1043
+ test_diff_200_commit_bundle method method test_diff_200_commit_bundle L1028–1043
+ TestBundleDiffText class class TestBundleDiffText L912–936
+ test_text_output_mentions_new_commits method method test_text_output_mentions_new_commits L913–925
+ test_text_output_up_to_date_message method method test_text_output_up_to_date_message L927–936
+ TestBundleDiffUnit class class TestBundleDiffUnit L725–909
+ test_diff_commit_entry_schema method method test_diff_commit_entry_schema L827–842
+ test_diff_commits_list_contains_new_entries method method test_diff_commits_list_contains_new_entries L805–825
+ test_diff_file_not_found method method test_diff_file_not_found L885–891
+ test_diff_help_exits_0 method method test_diff_help_exits_0 L728–730
+ test_diff_help_mentions_agent method method test_diff_help_mentions_agent L732–734
+ test_diff_j_alias method method test_diff_j_alias L893–909
+ test_diff_json_schema_keys method method test_diff_json_schema_keys L736–745
+ test_diff_known_commits_when_already_applied method method test_diff_known_commits_when_already_applied L747–758
+ test_diff_new_commits_in_fresh_repo method method test_diff_new_commits_in_fresh_repo L760–776
+ test_diff_partial_known_commits method method test_diff_partial_known_commits L844–869
+ test_diff_refs_to_advance_empty_when_known method method test_diff_refs_to_advance_empty_when_known L793–803
+ test_diff_refs_to_advance_populated method method test_diff_refs_to_advance_populated L778–791
+ test_diff_requires_repo method method test_diff_requires_repo L871–883
+ TestBundleInspectDataIntegrity class class TestBundleInspectDataIntegrity L427–473
+ test_inspect_branch_commit_id_matches_list_heads method method test_inspect_branch_commit_id_matches_list_heads L461–473
+ test_inspect_commit_ids_match_create_json method method test_inspect_commit_ids_match_create_json L430–444
+ test_inspect_consistent_with_verify method method test_inspect_consistent_with_verify L446–459
+ TestBundleInspectPerformance class class TestBundleInspectPerformance L476–490
+ test_inspect_100_commit_bundle_under_1s method method test_inspect_100_commit_bundle_under_1s L477–490
+ TestBundleInspectSecurity class class TestBundleInspectSecurity L378–424
+ _has_ansi method method _has_ansi L381–382
+ test_ansi_in_agent_id_stripped method method test_ansi_in_agent_id_stripped L409–416
+ test_ansi_in_branch_name_stripped method method test_ansi_in_branch_name_stripped L395–407
+ test_ansi_in_commit_message_stripped method method test_ansi_in_commit_message_stripped L384–393
+ test_oversized_bundle_rejected method method test_oversized_bundle_rejected L418–424
+ TestBundleInspectStress class class TestBundleInspectStress L493–548
+ test_concurrent_inspect_consistent method method test_concurrent_inspect_consistent L522–548
+ test_inspect_200_commit_bundle method method test_inspect_200_commit_bundle L494–504
+ test_inspect_multi_branch_bundle method method test_inspect_multi_branch_bundle L506–520
+ TestBundleInspectText class class TestBundleInspectText L348–375
+ test_text_output_includes_commit_message method method test_text_output_includes_commit_message L369–375
+ test_text_output_mentions_branch method method test_text_output_mentions_branch L360–367
+ test_text_output_mentions_commits method method test_text_output_mentions_commits L351–358
+ TestBundleInspectUnit class class TestBundleInspectUnit L170–345
+ test_inspect_agent_id_empty_for_human_commit method method test_inspect_agent_id_empty_for_human_commit L258–266
+ test_inspect_agent_id_from_agent_commit method method test_inspect_agent_id_from_agent_commit L248–256
+ test_inspect_branch_annotated_on_tip_commit method method test_inspect_branch_annotated_on_tip_commit L281–290
+ test_inspect_branches_map method method test_inspect_branches_map L229–236
+ test_inspect_commit_entry_schema method method test_inspect_commit_entry_schema L196–207
+ test_inspect_commit_message_present method method test_inspect_commit_message_present L238–246
+ test_inspect_commits_newest_first method method test_inspect_commits_newest_first L268–279
+ test_inspect_does_not_require_repo method method test_inspect_does_not_require_repo L304–314
+ test_inspect_empty_bundle method method test_inspect_empty_bundle L326–334
+ test_inspect_file_not_found method method test_inspect_file_not_found L316–318
+ test_inspect_help_exits_0 method method test_inspect_help_exits_0 L173–175
+ test_inspect_help_mentions_agent method method test_inspect_help_mentions_agent L177–179
+ test_inspect_help_mentions_json_schema method method test_inspect_help_mentions_json_schema L181–183
+ test_inspect_invalid_msgpack method method test_inspect_invalid_msgpack L320–324
+ test_inspect_j_alias method method test_inspect_j_alias L336–345
+ test_inspect_json_schema_keys method method test_inspect_json_schema_keys L185–194
+ test_inspect_non_tip_commit_has_no_branch method method test_inspect_non_tip_commit_has_no_branch L292–302
+ test_inspect_total_commits_count method method test_inspect_total_commits_count L209–218
+ test_inspect_total_objects_positive method method test_inspect_total_objects_positive L220–227
+ TestBundleUnbundleVerifyFlag class class TestBundleUnbundleVerifyFlag L556–692
+ _src_dst method method _src_dst L559–568
+ test_no_verify_flag_still_works method method test_no_verify_flag_still_works L654–661
+ test_verify_and_no_update_refs_combined method method test_verify_and_no_update_refs_combined L663–676
+ test_verify_flag_applies_objects method method test_verify_flag_applies_objects L583–590
+ test_verify_flag_clean_bundle_exits_0 method method test_verify_flag_clean_bundle_exits_0 L575–581
+ test_verify_flag_corrupt_bundle_exits_1 method method test_verify_flag_corrupt_bundle_exits_1 L592–603
+ test_verify_flag_corrupt_does_not_write method method test_verify_flag_corrupt_does_not_write L605–621
+ test_verify_flag_help_mentioned method method test_verify_flag_help_mentioned L570–573
+ test_verify_flag_json_corrupt_verified_false method method test_verify_flag_json_corrupt_verified_false L638–652
+ test_verify_flag_json_output_has_verified_field method method test_verify_flag_json_output_has_verified_field L623–636
+ test_verify_flag_security_corrupt_before_parse method method test_verify_flag_security_corrupt_before_parse L678–692
+ TestBundleUnbundleVerifyStress class class TestBundleUnbundleVerifyStress L695–717
+ test_verify_flag_100_commit_bundle method method test_verify_flag_100_commit_bundle L696–717
+ _REPO_ID variable variable _REPO_ID L80–80
+ _counter variable variable _counter L107–107
+ _create_bundle function function _create_bundle L151–154
+ _env function function _env L103–104
+ _init_repo function function _init_repo L92–100
+ _invoke function function _invoke L147–148
+ _make_commit function function _make_commit L110–144
+ _parse_diff function function _parse_diff L161–162
+ _parse_inspect function function _parse_inspect L157–158
+ _sha function function _sha L88–89
+ CliRunner import import CliRunner L73–73
+ CommitRecord import import CommitRecord L76–76
+ InvokeResult import import InvokeResult L73–73
+ Manifest import import Manifest L77–77
+ SnapshotRecord import import SnapshotRecord L76–76
+ annotations import import annotations L60–60
+ compute_commit_id import import compute_commit_id L75–75
+ compute_snapshot_id import import compute_snapshot_id L75–75
+ datetime import import datetime L62–62
+ hashlib import import hashlib L63–63
+ json import import json L64–64
+ msgpack import import msgpack L70–70
+ os import import os L65–65 ← moved from tests/test_auth_hd_persistence.py
+ pathlib import import pathlib L66–66
+ pytest import import pytest L71–71
+ threading import import threading L68–68
+ time import import time L67–67
+ write_commit import import write_commit L76–76
+ write_object import import write_object L74–74
+ write_snapshot import import write_snapshot L76–76
+ runner variable variable runner L79–79
~ tests/test_cmd_cat_supercharged.py .py 58 symbols added
+ TestAllJsonTotalSymbols class class TestAllJsonTotalSymbols L190–240
+ test_all_json_has_total_symbols method method test_all_json_has_total_symbols L191–197
+ test_all_json_kind_filter_shows_unfiltered_total method method test_all_json_kind_filter_shows_unfiltered_total L207–224
+ test_all_json_total_symbols_count method method test_all_json_total_symbols_count L199–205
+ test_all_json_total_symbols_stable_across_filters method method test_all_json_total_symbols_stable_across_filters L226–240
+ TestAllLimit class class TestAllLimit L248–317
+ _big_repo method method _big_repo L249–253
+ test_limit_caps_results method method test_limit_caps_results L255–262
+ test_limit_larger_than_results_not_truncated method method test_limit_larger_than_results_not_truncated L280–289
+ test_limit_sets_truncated_true method method test_limit_sets_truncated_true L264–270
+ test_limit_text_mode_respects_cap method method test_limit_text_mode_respects_cap L301–309
+ test_limit_without_all_is_ignored method method test_limit_without_all_is_ignored L311–317
+ test_limit_zero_shows_zero_results method method test_limit_zero_shows_zero_results L291–299
+ test_no_limit_truncated_false method method test_no_limit_truncated_false L272–278
+ TestDataIntegrity class class TestDataIntegrity L375–432
+ test_all_symbols_cover_all_defs method method test_all_symbols_cover_all_defs L406–416
+ test_at_ref_gives_different_content_than_head method method test_at_ref_gives_different_content_than_head L386–404
+ test_limit_preserves_lineno_order method method test_limit_preserves_lineno_order L418–432
+ test_symbol_source_matches_file_bytes method method test_symbol_source_matches_file_bytes L376–384
+ TestFmtBugFix class class TestFmtBugFix L163–182
+ test_no_address_json_contains_error_key method method test_no_address_json_contains_error_key L178–182
+ test_no_address_json_flag_no_unbound_error method method test_no_address_json_flag_no_unbound_error L166–171
+ test_no_address_text_mode_no_crash method method test_no_address_text_mode_no_crash L173–176
+ TestPerformance class class TestPerformance L440–459
+ large_repo method method large_repo L442–446
+ test_limit_10_faster_than_all method method test_limit_10_faster_than_all L448–459
+ TestRedirectedFrom class class TestRedirectedFrom L325–367
+ test_json_global_fallback_has_redirected_from method method test_json_global_fallback_has_redirected_from L326–350
+ test_text_fallback_still_prints_note method method test_text_fallback_still_prints_note L352–367
+ _REPO_ID variable variable _REPO_ID L39–39
+ _SIMPLE_PY variable variable _SIMPLE_PY L110–120
+ _UPDATED_PY variable variable _UPDATED_PY L122–132
+ _add_file function function _add_file L67–74
+ _counter variable variable _counter L40–40
+ _env function function _env L63–64
+ _init_repo function function _init_repo L52–60
+ _make_commit function function _make_commit L77–107
+ _sha function function _sha L48–49
+ cli variable variable cli L36–36
+ CliRunner import import CliRunner L29–29
+ CommitRecord import import CommitRecord L32–32
+ SnapshotRecord import import SnapshotRecord L32–32
+ annotations import import annotations L20–20
+ compute_commit_id import import compute_commit_id L31–31
+ compute_snapshot_id import import compute_snapshot_id L31–31
+ datetime import import datetime L33–33
+ hashlib import import hashlib L34–34
+ json import import json L22–22
+ pathlib import import pathlib L23–23
+ pytest import import pytest L27–27
+ textwrap import import textwrap L24–24
+ time import import time L25–25
+ write_commit import import write_commit L32–32
+ write_object import import write_object L30–30
+ write_snapshot import import write_snapshot L32–32
+ repo function function repo L141–144
+ runner variable variable runner L37–37
+ two_commit_repo function function two_commit_repo L148–155
~ tests/test_cmd_core_cat.py .py 79 symbols added
+ TestArgumentValidation class class TestArgumentValidation L127–164
+ test_no_args_exits_nonzero method method test_no_args_exits_nonzero L128–130
+ test_no_args_json_is_valid_json_with_error method method test_no_args_json_is_valid_json_with_error L132–136
+ test_symbol_address_json_has_error_code method method test_symbol_address_json_has_error_code L143–149
+ test_symbol_address_rejected method method test_symbol_address_rejected L138–141
+ test_untracked_file_exits_nonzero method method test_untracked_file_exits_nonzero L151–153
+ test_untracked_file_json_has_error_code method method test_untracked_file_json_has_error_code L155–164
+ TestAtRef class class TestAtRef L262–306
+ test_at_bad_ref_exits_nonzero method method test_at_bad_ref_exits_nonzero L294–298
+ test_at_bad_ref_json_has_error method method test_at_bad_ref_json_has_error L300–306
+ test_at_branch_name method method test_at_branch_name L287–292
+ test_at_json_source_ref_contains_commit method method test_at_json_source_ref_contains_commit L275–285
+ test_at_old_commit_shows_old_content method method test_at_old_commit_shows_old_content L263–273
+ TestDataIntegrity class class TestDataIntegrity L386–437
+ test_at_content_differs_from_head method method test_at_content_differs_from_head L400–416
+ test_empty_file_handled method method test_empty_file_handled L428–437
+ test_json_content_equals_disk_bytes method method test_json_content_equals_disk_bytes L387–391
+ test_json_size_bytes_equals_len_of_content_utf8 method method test_json_size_bytes_equals_len_of_content_utf8 L393–398
+ test_multi_file_sizes_sum_correctly method method test_multi_file_sizes_sum_correctly L418–426
+ TestE2E class class TestE2E L314–344
+ test_head_shows_latest_content method method test_head_shows_latest_content L315–320
+ test_old_ref_shows_old_content method method test_old_ref_shows_old_content L322–329
+ test_requires_repo method method test_requires_repo L340–344
+ test_working_tree_edit_visible_without_at method method test_working_tree_edit_visible_without_at L331–338
+ TestMultiFile class class TestMultiFile L219–254
+ test_multi_file_json_each_has_schema method method test_multi_file_json_each_has_schema L229–237
+ test_multi_file_json_has_files_key method method test_multi_file_json_has_files_key L220–227
+ test_multi_file_one_missing_exits_nonzero method method test_multi_file_one_missing_exits_nonzero L247–254
+ test_multi_file_text_prints_all method method test_multi_file_text_prints_all L239–245
+ TestPerformance class class TestPerformance L470–499
+ test_10_files_under_1s method method test_10_files_under_1s L478–487
+ test_large_file_json_under_1s method method test_large_file_json_under_1s L489–499
+ test_single_file_under_300ms method method test_single_file_under_300ms L471–476
+ TestSecurity class class TestSecurity L352–378
+ test_ansi_in_path_not_in_output method method test_ansi_in_path_not_in_output L365–370
+ test_newline_in_path_rejected method method test_newline_in_path_rejected L372–374
+ test_null_byte_in_path_rejected method method test_null_byte_in_path_rejected L376–378
+ test_path_traversal_rejected method method test_path_traversal_rejected L359–363
+ test_symlink_rejected method method test_symlink_rejected L353–357
+ TestSingleFile class class TestSingleFile L172–211
+ test_json_file_path_correct method method test_json_file_path_correct L188–191
+ test_json_schema_single_file method method test_json_schema_single_file L178–186
+ test_json_shorthand_flag method method test_json_shorthand_flag L203–206
+ test_json_size_bytes_accurate method method test_json_size_bytes_accurate L198–201
+ test_json_source_ref_working_tree method method test_json_source_ref_working_tree L193–196
+ test_prints_file_content method method test_prints_file_content L173–176
+ test_subdirectory_file method method test_subdirectory_file L208–211
+ TestStress class class TestStress L445–462
+ test_10_files_json method method test_10_files_json L454–462
+ test_large_file_1mib method method test_large_file_1mib L446–452
+ _CONTENT_V1 variable variable _CONTENT_V1 L103–103
+ _CONTENT_V2 variable variable _CONTENT_V2 L104–104
+ _REPO_ID variable variable _REPO_ID L38–38
+ _add_file function function _add_file L66–72
+ _commit function function _commit L75–95
+ _counter variable variable _counter L39–39
+ _env function function _env L62–63
+ _init_repo function function _init_repo L51–59
+ _sha function function _sha L47–48
+ cli variable variable cli L35–35
+ CliRunner import import CliRunner L30–30
+ CommitRecord import import CommitRecord L33–33
+ SnapshotRecord import import SnapshotRecord L33–33
+ annotations import import annotations L19–19
+ compute_commit_id import import compute_commit_id L32–32
+ compute_snapshot_id import import compute_snapshot_id L32–32
+ datetime import import datetime L26–26
+ hashlib import import hashlib L25–25
+ json import import json L21–21
+ pathlib import import pathlib L22–22
+ pytest import import pytest L28–28
+ textwrap import import textwrap L23–23
+ time import import time L24–24
+ write_commit import import write_commit L33–33
+ write_object import import write_object L31–31
+ write_snapshot import import write_snapshot L33–33
+ repo function function repo L108–111
+ runner variable variable runner L36–36
+ two_commit_repo function function two_commit_repo L115–119
~ .museattributes .museattributes
~ docs/agent-guide.md .md 14 symbols added, 3 symbols removed, 21 symbols modified
code[bash]@L212 variable variable code[bash]@L212 L212–234
code[bash]@L387 variable variable code[bash]@L387 L387–393
table@L346 section table@L346 L346–361
+ Branch semantic flags section Branch semantic flags L210–236
+ code[bash]@L214 variable variable code[bash]@L214 L214–233
+ code[bash]@L238 variable variable code[bash]@L238 L238–263
+ Bundle — Off-Network Transfer section Bundle — Off-Network Transfer L266–318
+ Agent decision chain section Agent decision chain L272–297
+ code[bash]@L276 variable variable code[bash]@L276 L276–293
+ Create section Create L297–305
+ code[bash]@L299 variable variable code[bash]@L299 L299–304
+ Subcommand reference section Subcommand reference L305–318
+ table@L307 section table@L307 L307–315
+ code[bash]@L479 variable variable code[bash]@L479 L479–486
+ muse cat vs muse code cat — two different commands section muse cat vs muse code cat — two different commands L467–477
+ table@L469 section table@L469 L469–474
+ table@L427 section table@L427 L427–443
~ muse/cli/commands/branch.py .py 2 symbols added, 3 symbols modified
+ read_branch_meta import import read_branch_meta L61–61
+ write_branch_meta import import write_branch_meta L61–61
~ run
~ muse/cli/commands/bundle.py .py 7 symbols added, 6 symbols modified
+ _BundleDiffCommit class class _BundleDiffCommit L160–165
+ _BundleDiffJson class class _BundleDiffJson L168–174
+ _BundleInspectCommit class class _BundleInspectCommit L141–148
+ _BundleInspectJson class class _BundleInspectJson L151–157
+ _verify_bundle_integrity function function _verify_bundle_integrity L683–714
+ run_diff function function run_diff L822–911
+ run_inspect function function run_inspect L717–819
~ muse/cli/commands/cat.py .py 2 symbols modified
~ muse/cli/commands/cat_object.py .py 3 symbols added, 2 symbols modified
+ base64 import import base64 L87–87
+ hashlib import import hashlib L88–88
+ time import import time L93–93
~ run
~ muse/cli/commands/check.py .py 3 symbols modified
~ muse/cli/commands/check_attr.py .py 2 symbols added, 2 symbols modified
+ _SummaryDict class class _SummaryDict L172–176
+ time import import time L140–140
~ run
~ muse/cli/commands/check_ignore.py .py 2 symbols added, 2 symbols modified
+ _SummaryDict class class _SummaryDict L144–147
+ time import import time L124–124
~ run
~ muse/cli/commands/check_ref_format.py .py 1 symbol added, 3 symbols modified
+ time import import time L122–122
~ run
~ muse/cli/commands/checkout.py .py 1 symbol added, 1 symbol modified
+ time import import time L68–68
~ run
~ muse/cli/commands/commit.py .py 1 symbol modified
~ run
~ muse/cli/commands/core_blame.py .py 6 symbols added, 2 symbols modified
+ _BlameJson class class _BlameJson L60–64
+ _BlameLineJson class class _BlameLineJson L50–57
+ _RANGE_RE variable variable _RANGE_RE L47–47
+ _parse_range function function _parse_range L76–89
+ TypedDict import import TypedDict L33–33
+ re import import re L31–31
~ run
~ muse/cli/config.py .py 3 symbols added, 8 symbols modified
+ BranchMeta class class BranchMeta L117–135
+ read_branch_meta function function read_branch_meta L952–971
+ write_branch_meta function function write_branch_meta L918–949
~ muse/core/_types.py .py 2 symbols added
+ SemVerBump variable variable SemVerBump L15–15 ← moved from muse/domain.py
+ Literal import import Literal L9–9
~ muse/core/identity.py .py 1 symbol modified
~ muse/core/semver.py .py 1 symbol modified
~ muse/core/store.py .py 1 symbol added, 1 symbol removed, 5 symbols modified
StructuredDelta import import StructuredDelta L101–101
+ TYPE_CHECKING import import TYPE_CHECKING L75–75
~ muse/core/transport.py .py 1 symbol modified
~ muse/domain.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
SemVerBump variable variable SemVerBump L344–344 → moved to muse/core/_types.py
+ SemVerBump import import SemVerBump L52–52
~ muse/plugins/code/plugin.py .py 2 symbols modified
~ muse/plugins/midi/midi_diff.py .py 4 symbols added, 5 symbols removed
NoteKey class class NoteKey L70–84 → moved to muse/plugins/midi/_midi_keys.py
_PITCH_NAMES variable variable _PITCH_NAMES L62–62 → moved to muse/plugins/midi/_midi_keys.py
_note_content_id function function _note_content_id L99–110 → moved to muse/plugins/midi/_midi_keys.py
_note_summary function function _note_summary L113–122 → moved to muse/plugins/midi/_midi_keys.py
_pitch_name function function _pitch_name L92–96 → moved to muse/plugins/midi/_midi_keys.py
+ NoteKey import import NoteKey L56–56
+ _note_content_id import import _note_content_id L56–56
+ _note_summary import import _note_summary L56–56
+ _pitch_name import import _pitch_name L56–56
~ tests/test_auth_hd_persistence.py .py 28 symbols added, 28 symbols removed, 17 symbols modified
TestKeygenHdWritesIdentity class class TestKeygenHdWritesIdentity L184–241
_run method method _run L187–192
test_hd_path_written method method test_hd_path_written L209–212
test_json_output_has_no_mnemonic_key method method test_json_output_has_no_mnemonic_key L214–224
test_key_source_hd_written method method test_key_source_hd_written L199–202
test_keygen_hd_force_overwrites_identity method method test_keygen_hd_force_overwrites_identity L235–241
test_mnemonic_absent_from_json_object method method test_mnemonic_absent_from_json_object L226–233
test_mnemonic_written method method test_mnemonic_written L204–207
test_jbok_entry_has_no_hd_fields method method test_jbok_entry_has_no_hd_fields L151–160
test_loads_all_hd_fields_together method method test_loads_all_hd_fields_together L139–149
test_loads_key_source method method test_loads_key_source L115–121
test_loads_mnemonic method method test_loads_mnemonic L123–129
test_round_trip_hd_fields method method test_round_trip_hd_fields L162–176
test_keygen_hd_json_mnemonic_word_count_present method method test_keygen_hd_json_mnemonic_word_count_present L384–398
test_keygen_hd_json_no_mnemonic_key method method test_keygen_hd_json_no_mnemonic_key L368–382
TestMnemonicTomlEscaping class class TestMnemonicTomlEscaping L331–357
test_hd_path_prime_and_slash_preserved method method test_hd_path_prime_and_slash_preserved L346–357
test_mnemonic_with_quotes_round_trips method method test_mnemonic_with_quotes_round_trips L332–344
test_keygen_hd_then_load_identity_under_3s method method test_keygen_hd_then_load_identity_under_3s L454–466
test_10_successive_registers_preserve_mnemonic method method test_10_successive_registers_preserve_mnemonic L477–496
test_concurrent_identity_writes_do_not_corrupt method method test_concurrent_identity_writes_do_not_corrupt L498–518
_setup_hd_keygen method method _setup_hd_keygen L252–265
test_hd_fields_preserved_after_register method method test_hd_fields_preserved_after_register L273–282
test_jbok_register_no_hd_fields_added method method test_jbok_register_no_hd_fields_ L306–323
test_register_second_time_still_preserves_mnemonic method method test_register_second_time_still_preserves_mnemonic L295–304
os import import os L27–27 → moved to tests/test_cmd_bundle_supercharged.py
patch import import patch L32–32
tempfile import import tempfile L29–29
+ TestDumpIdentityHdFields class class TestDumpIdentityHdFields L175–229
+ test_hd_path_round_trips method method test_hd_path_round_trips L215–229
+ test_hd_path_serialised method method test_hd_path_serialised L178–188
+ test_key_source_never_serialised method method test_key_source_never_serialised L204–213
+ test_mnemonic_never_serialised method method test_mnemonic_never_serialised L190–202
+ TestHdPathTomlEscaping class class TestHdPathTomlEscaping L428–452
+ test_handle_with_special_chars_round_trips method method test_handle_with_special_chars_round_trips L443–452
+ test_hd_path_prime_and_slash_preserved method method test_hd_path_prime_and_slash_preserved L431–441
+ TestKeygenWritesIdentity class class TestKeygenWritesIdentity L237–282
+ _run method method _run L241–246
+ test_force_overwrites_writes_hd_path method method test_force_overwrites_writes_hd_path L274–282
+ test_hd_path_written method method test_hd_path_written L253–256
+ test_key_source_not_in_toml method method test_key_source_not_in_toml L268–272
+ test_mnemonic_not_in_toml method method test_mnemonic_not_in_toml L258–266
+ test_entry_without_hd_fields_has_no_hd_keys method method test_entry_without_hd_fields_has_no_hd_keys L149–158
+ test_loads_provisioned_by method method test_loads_provisioned_by L160–167
+ test_mnemonic_not_loaded_from_toml method method test_mnemonic_not_loaded_from_toml L119–129
+ test_no_key_source_field_exists method method test_no_key_source_field_exists L139–147
+ test_keygen_json_has_mnemonic_word_count method method test_keygen_json_has_mnemonic_word_count L324–342
+ test_keygen_json_mnemonic_content_absent method method test_keygen_json_mnemonic_content_absent L308–322
+ test_keygen_json_no_mnemonic_key method method test_keygen_json_no_mnemonic_key L293–306
+ test_mnemonic_not_in_toml_after_keygen method method test_mnemonic_not_in_toml_after_keygen L344–359
+ test_keygen_then_load_identity_under_3s method method test_keygen_then_load_identity_under_3s L508–521
+ test_10_successive_registers_preserve_hd_fields method method test_10_successive_registers_preserve_hd_fields L532–551
+ test_20_successive_saves_preserve_hd_path method method test_20_successive_saves_preserve_hd_path L553–578
+ _setup_keygen method method _setup_keygen L371–379
+ test_hd_path_preserved_after_register method method test_hd_path_preserved_after_register L388–397
+ test_mnemonic_not_in_toml_after_register method method test_mnemonic_not_in_toml_after_register L399–408
~ HUB
~ tests/test_cli_new_commands.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
test_blame_porcelain_json_output method method test_blame_porcelain_json_output L436–447
+ test_blame_json_output method method test_blame_json_output L436–448
~ tests/test_cli_workflow.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_porcelain_flag method method test_porcelain_flag L182–186
+ test_json_flag method method test_json_flag L182–188
~ tests/test_cmd_auth_keygen_register.py .py 4 symbols added, 10 symbols modified
~ tests/test_cmd_bundle.py .py 1 symbol modified
~ tests/test_cmd_cat_object.py .py 13 symbols added, 2 symbols removed, 14 symbols modified
test_invalid_object_id_non_hex method method test_invalid_object_id_non_hex L206–209
test_invalid_object_id_uppercase method method test_invalid_object_id_uppercase L201–204
+ test_invalid_object_id_bare_hex_rejected method method test_invalid_object_id_bare_hex_rejected L217–221
+ test_invalid_object_id_non_hex_content method method test_invalid_object_id_non_hex_content L233–236
+ test_invalid_object_id_uppercase_content method method test_invalid_object_id_uppercase_content L228–231
+ test_json_elapsed_seconds_present_for_missing_object method method test_json_elapsed_seconds_present_for_missing_object L197–203
+ test_json_output_has_elapsed_seconds method method test_json_output_has_elapsed_seconds L186–195
+ TestInline class class TestInline L530–607
+ test_inline_binary_content_round_trips method method test_inline_binary_content_round_trips L556–564
+ test_inline_embeds_content_b64 method method test_inline_embeds_content_b64 L537–546
+ test_inline_empty_object method method test_inline_empty_object L589–597
+ test_inline_json_still_has_standard_fields method method test_inline_json_still_has_standard_fields L575–587
+ test_inline_missing_object_no_content_b64 method method test_inline_missing_object_no_content_b64 L566–573
+ test_inline_requires_json_flag method method test_inline_requires_json_flag L548–554
+ test_no_inline_flag_has_no_content_b64 method method test_no_inline_flag_has_no_content_b64 L599–607
~ _store
~ tests/test_cmd_check.py .py 7 symbols added, 6 symbols modified
+ TestExitCodeInJson class class TestExitCodeInJson L859–907
+ test_exit_code_in_json_with_filter method method test_exit_code_in_json_with_filter L900–907
+ test_exit_code_matches_process_exit_strict_and_warn method method test_exit_code_matches_process_exit_strict_and_warn L893–898
+ test_exit_code_matches_process_exit_with_strict method method test_exit_code_matches_process_exit_with_strict L879–884
+ test_exit_code_matches_process_exit_with_warn method method test_exit_code_matches_process_exit_with_warn L886–891
+ test_exit_code_present_in_json method method test_exit_code_present_in_json L862–868
+ test_exit_code_zero_when_no_strict_or_warn method method test_exit_code_zero_when_no_strict_or_warn L870–877
~ tests/test_cmd_check_attr.py .py 23 symbols added
+ TestElapsed class class TestElapsed L471–495
+ test_elapsed_absent_from_text_output method method test_elapsed_absent_from_text_output L492–495
+ test_elapsed_in_all_rules_json method method test_elapsed_in_all_rules_json L486–490
+ test_elapsed_in_default_json method method test_elapsed_in_default_json L472–477
+ test_elapsed_in_rules_only_json method method test_elapsed_in_rules_only_json L479–484
+ TestExitCode class class TestExitCode L503–520
+ test_exit_code_0_in_default_json method method test_exit_code_0_in_default_json L504–508
+ test_exit_code_in_all_rules_json method method test_exit_code_in_all_rules_json L516–520
+ test_exit_code_in_rules_only_json method method test_exit_code_in_rules_only_json L510–514
+ TestSummary class class TestSummary L528–566
+ test_summary_absent_from_all_rules method method test_summary_absent_from_all_rules L563–566
+ test_summary_absent_from_rules_only method method test_summary_absent_from_rules_only L557–561
+ test_summary_all_unmatched method method test_summary_all_unmatched L548–555
+ test_summary_by_strategy method method test_summary_by_strategy L539–546
+ test_summary_present_in_default_json method method test_summary_present_in_default_json L529–537
+ TestUnmatchedOnly class class TestUnmatchedOnly L574–621
+ test_all_when_none_matched method method test_all_when_none_matched L589–592
+ test_empty_when_all_matched method method test_empty_when_all_matched L583–587
+ test_filters_to_auto_paths method method test_filters_to_auto_paths L575–581
+ test_incompatible_with_rules_only method method test_incompatible_with_rules_only L610–613
+ test_stdin_compatible method method test_stdin_compatible L615–621
+ test_summary_reflects_filter method method test_summary_reflects_filter L594–600
+ test_text_format method method test_text_format L602–608
~ tests/test_cmd_check_ignore.py .py 25 symbols added, 2 symbols modified
+ TestElapsed class class TestElapsed L420–437
+ test_elapsed_absent_from_text_output method method test_elapsed_absent_from_text_output L434–437
+ test_elapsed_in_default_json method method test_elapsed_in_default_json L421–426
+ test_elapsed_in_patterns_only_json method method test_elapsed_in_patterns_only_json L428–432
+ TestExitCode class class TestExitCode L445–456
+ test_exit_code_0_in_default_json method method test_exit_code_0_in_default_json L446–450
+ test_exit_code_in_patterns_only_json method method test_exit_code_in_patterns_only_json L452–456
+ TestIgnoredOnly class class TestIgnoredOnly L529–581
+ test_all_when_all_ignored method method test_all_when_all_ignored L543–547
+ test_empty_when_none_ignored method method test_empty_when_none_ignored L538–541
+ test_filters_to_ignored_paths method method test_filters_to_ignored_paths L530–536
+ test_incompatible_with_patterns_only method method test_incompatible_with_patterns_only L565–568
+ test_incompatible_with_quiet method method test_incompatible_with_quiet L578–581
+ test_stdin_compatible method method test_stdin_compatible L570–576
+ test_summary_reflects_filtered_count method method test_summary_reflects_filtered_count L549–555
+ test_text_format method method test_text_format L557–563
+ TestPatternsOnlyCount class class TestPatternsOnlyCount L504–521
+ test_patterns_loaded_matches_list_length method method test_patterns_loaded_matches_list_length L517–521
+ test_patterns_loaded_present method method test_patterns_loaded_present L505–510
+ test_patterns_loaded_zero_when_empty method method test_patterns_loaded_zero_when_empty L512–515
+ TestSummary class class TestSummary L464–496
+ test_summary_absent_from_patterns_only method method test_summary_absent_from_patterns_only L492–496
+ test_summary_all_ignored method method test_summary_all_ignored L475–482
+ test_summary_none_ignored method method test_summary_none_ignored L484–490
+ test_summary_present_in_default_json method method test_summary_present_in_default_json L465–473
~ tests/test_cmd_check_ref_format.py .py 20 symbols added, 1 symbol modified
+ TestElapsed class class TestElapsed L483–499
+ test_elapsed_absent_from_text_output method method test_elapsed_absent_from_text_output L497–499
+ test_elapsed_in_default_json method method test_elapsed_in_default_json L484–489
+ test_elapsed_in_rules_json method method test_elapsed_in_rules_json L491–495
+ TestExitCode class class TestExitCode L507–533
+ test_exit_code_0_when_all_valid method method test_exit_code_0_when_all_valid L508–510
+ test_exit_code_1_when_any_invalid method method test_exit_code_1_when_any_invalid L512–516
+ test_exit_code_in_rules_json method method test_exit_code_in_rules_json L530–533
+ test_exit_code_matches_process_exit method method test_exit_code_matches_process_exit L518–528
+ TestInvalidOnly class class TestInvalidOnly L541–591
+ test_all_results_when_all_invalid method method test_all_results_when_all_invalid L559–563
+ test_counts_reflect_full_set_not_filtered method method test_counts_reflect_full_set_not_filtered L565–570
+ test_empty_results_when_all_valid method method test_empty_results_when_all_valid L552–557
+ test_filters_to_invalid_names method method test_filters_to_invalid_names L542–550
+ test_incompatible_with_quiet method method test_incompatible_with_quiet L585–587
+ test_incompatible_with_rules method method test_incompatible_with_rules L589–591
+ test_stdin_compatible method method test_stdin_compatible L579–583
+ test_text_format method method test_text_format L572–577
+ test_check_ref_format_result_has_elapsed method method test_check_ref_format_result_has_elapsed L78–79
+ test_check_ref_format_result_has_exit_code method method test_check_ref_format_result_has_exit_code L81–82
~ tests/test_cmd_checkout.py .py 27 symbols added, 4 symbols modified
+ TestElapsed class class TestElapsed L1198–1280
+ test_already_on_json_has_elapsed method method test_already_on_json_has_elapsed L1213–1217
+ test_conflict_resolved_all_json_has_elapsed method method test_conflict_resolved_all_json_has_elapsed L1249–1263
+ test_conflict_resolved_single_json_has_elapsed method method test_conflict_resolved_single_json_has_elapsed L1265–1280
+ test_create_json_has_elapsed method method test_create_json_has_elapsed L1207–1211
+ test_detach_json_has_elapsed method method test_detach_json_has_elapsed L1219–1225
+ test_dry_run_create_json_has_elapsed method method test_dry_run_create_json_has_elapsed L1232–1235
+ test_dry_run_detach_json_has_elapsed method method test_dry_run_detach_json_has_elapsed L1237–1242
+ test_dry_run_switch_json_has_elapsed method method test_dry_run_switch_json_has_elapsed L1227–1230
+ test_restored_json_has_elapsed method method test_restored_json_has_elapsed L1244–1247
+ test_switch_json_has_elapsed method method test_switch_json_has_elapsed L1201–1205
+ TestExitCode class class TestExitCode L1283–1361
+ test_already_on_json_exit_code_0 method method test_already_on_json_exit_code_0 L1296–1299
+ test_conflict_resolved_all_json_exit_code_0 method method test_conflict_resolved_all_json_exit_code_0 L1330–1344
+ test_conflict_resolved_single_json_exit_code_0 method method test_conflict_resolved_single_json_exit_code_0 L1346–1361
+ test_create_json_exit_code_0 method method test_create_json_exit_code_0 L1291–1294
+ test_detach_json_exit_code_0 method method test_detach_json_exit_code_0 L1301–1306
+ test_dry_run_create_json_exit_code_0 method method test_dry_run_create_json_exit_code_0 L1313–1316
+ test_dry_run_detach_json_exit_code_0 method method test_dry_run_detach_json_exit_code_0 L1318–1323
+ test_dry_run_switch_json_exit_code_0 method method test_dry_run_switch_json_exit_code_0 L1308–1311
+ test_restored_json_exit_code_0 method method test_restored_json_exit_code_0 L1325–1328
+ test_switch_json_exit_code_0 method method test_switch_json_exit_code_0 L1286–1289
+ TestJsonSchemaComplete class class TestJsonSchemaComplete L1364–1396
+ test_already_on_has_complete_schema method method test_already_on_has_complete_schema L1392–1396
+ test_create_has_complete_schema method method test_create_has_complete_schema L1378–1382
+ test_detach_has_complete_schema method method test_detach_has_complete_schema L1384–1390
+ test_switch_has_complete_schema method method test_switch_has_complete_schema L1372–1376
~ tests/test_cmd_config_hardening.py .py 59 symbols modified
~ tests/test_cmd_status.py .py 1 symbol added, 8 symbols removed, 2 symbols modified
test_exit_code_with_porcelain method method test_exit_code_with_porcelain L483–487
test_porcelain_shows_merging_suffix method method test_porcelain_shows_merging_suffix L664–667
TestPorcelainOutput class class TestPorcelainOutput L413–441
test_added_format method method test_added_format L431–435
test_deleted_format method method test_deleted_format L437–441
test_header_line_format method method test_header_line_format L414–417
test_modified_format method method test_modified_format L425–429
test_no_ansi_codes method method test_no_ansi_codes L419–423
+ test_text_shows_merging_message method method test_text_shows_merging_message L621–624
~ tests/test_code_plugin_attributes.py .py 109 symbols added
+ PATH variable variable PATH L48–48
+ TestAutoPermutations class class TestAutoPermutations L713–770
+ _m method method _m L716–721
+ test_both_added_different_conflicts method method test_both_added_different_conflicts L752–754
+ test_both_added_same_no_conflict method method test_both_added_same_no_conflict L748–750
+ test_both_deleted_no_conflict method method test_both_deleted_no_conflict L744–746
+ test_convergent method method test_convergent L727–729
+ test_divergent_conflicts method method test_divergent_conflicts L739–742
+ test_only_ours_added method method test_only_ours_ L756–758
+ test_only_theirs_added method method test_only_theirs_ L760–762
+ test_ours_deleted_theirs_modified_conflicts method method test_ours_deleted_theirs_modified_conflicts L764–766
+ test_ours_modified_theirs_deleted_conflicts method method test_ours_modified_theirs_deleted_conflicts L768–770
+ test_ours_only_no_conflict method method test_ours_only_no_conflict L731–733
+ test_theirs_only_no_conflict method method test_theirs_only_no_conflict L735–737
+ test_unchanged method method test_unchanged L723–725
+ TestBasePermutations class class TestBasePermutations L509–569
+ _m method method _m L512–517
+ test_both_added_different_reverts_to_absent method method test_both_added_different_reverts_to_absent L549–554
+ test_both_added_same method method test_both_added_same L545–547
+ test_both_deleted method method test_both_deleted L541–543
+ test_convergent method method test_convergent L523–525
+ test_divergent_deletion_conflict_reverts_to_base method method test_divergent_deletion_conflict_reverts_to_base L564–569
+ test_divergent_reverts_to_base method method test_divergent_reverts_to_base L535–539
+ test_only_ours_added method method test_only_ours_ L556–558
+ test_only_theirs_added method method test_only_theirs_ L560–562
+ test_ours_only method method test_ours_only L527–529
+ test_theirs_only method method test_theirs_only L531–533
+ test_unchanged method method test_unchanged L519–521
+ TestManualPermutations class class TestManualPermutations L635–710
+ _m method method _m L639–644
+ test_both_added_different_forces_conflict method method test_both_added_different_forces_conflict L707–710
+ test_both_added_same_no_conflict method method test_both_added_same_no_conflict L664–668
+ test_both_deleted_no_conflict method method test_both_deleted_no_conflict L658–662
+ test_convergent_no_conflict method method test_convergent_no_conflict L652–656
+ test_divergent_forces_conflict method method test_divergent_forces_conflict L694–697
+ test_only_ours_added_forces_conflict method method test_only_ours_added_forces_conflict L682–686
+ test_only_theirs_added_forces_conflict method method test_only_theirs_added_forces_conflict L688–692
+ test_ours_deleted_theirs_modified_forces_conflict method method test_ours_deleted_theirs_modified_forces_conflict L699–701
+ test_ours_modified_theirs_deleted_forces_conflict method method test_ours_modified_theirs_deleted_forces_conflict L703–705
+ test_ours_only_forces_conflict method method test_ours_only_forces_conflict L670–674
+ test_theirs_only_forces_conflict method method test_theirs_only_forces_conflict L676–680
+ test_unchanged_no_conflict method method test_unchanged_no_conflict L646–650
+ TestMuseAttributesRules class class TestMuseAttributesRules L833–1031
+ _write method method _write L836–837
+ test_commands_divergent_prefers_ours method method test_commands_divergent_prefers_ours L943–951
+ test_core_convergent_no_conflict method method test_core_convergent_no_conflict L871–877
+ test_core_divergent_conflict method method test_core_divergent_conflict L863–869
+ test_core_manual_beats_any_other_rule method method test_core_manual_beats_any_other_rule L1012–1021
+ test_core_rule_beats_lower_priority_wildcard method method test_core_rule_beats_lower_priority_wildcard L879–887
+ test_core_single_branch_change_forces_conflict method method test_core_single_branch_change_forces_conflict L854–861
+ test_core_unchanged_no_false_conflict method method test_core_unchanged_no_false_conflict L843–852
+ test_docs_disjoint_additions_both_kept method method test_docs_disjoint_additions_both_kept L893–901
+ test_docs_divergent_prefers_ours method method test_docs_divergent_prefers_ours L903–912
+ test_nested_md_NOT_matched_by_root_glob method method test_nested_md_NOT_matched_by_root_glob L997–1006
+ test_pyproject_divergent_forces_conflict method method test_pyproject_divergent_forces_conflict L975–981
+ test_pyproject_single_branch_change_forces_conflict method method test_pyproject_single_branch_change_forces_conflict L964–973
+ test_pyproject_unchanged_no_conflict method method test_pyproject_unchanged_no_conflict L958–962
+ test_root_md_union method method test_root_md_union L987–995
+ test_tests_disjoint_files_both_kept method method test_tests_disjoint_files_both_kept L918–926
+ test_tests_same_file_divergent_prefers_ours method method test_tests_same_file_divergent_prefers_ours L928–937
+ test_unmatched_path_gets_auto method method test_unmatched_path_gets_auto L1023–1031
+ TestOursPermutations class class TestOursPermutations L370–437
+ _m method method _m L373–378
+ test_both_added_different_takes_ours method method test_both_added_different_takes_ours L411–415
+ test_both_added_same method method test_both_added_same L407–409
+ test_both_deleted method method test_both_deleted L403–405
+ test_convergent method method test_convergent L384–386
+ test_divergent_takes_ours method method test_divergent_takes_ours L397–401
+ test_only_ours_added method method test_only_ours_ L417–419
+ test_only_theirs_added method method test_only_theirs_ L421–423
+ test_ours_deleted_theirs_modified_ours_wins method method test_ours_deleted_theirs_modified_ours_wins L432–437
+ test_ours_modified_theirs_deleted_takes_ours method method test_ours_modified_theirs_deleted_takes_ours L425–430
+ test_ours_only method method test_ours_only L388–391
+ test_theirs_only method method test_theirs_only L393–395
+ test_unchanged method method test_unchanged L380–382
+ TestTheirsPermutations class class TestTheirsPermutations L440–506
+ _m method method _m L443–448
+ test_both_added_different_takes_theirs method method test_both_added_different_takes_theirs L480–484
+ test_both_added_same method method test_both_added_same L476–478
+ test_both_deleted method method test_both_deleted L472–474
+ test_convergent method method test_convergent L454–456
+ test_divergent_takes_theirs method method test_divergent_takes_theirs L466–470
+ test_only_ours_added method method test_only_ours_ L486–488
+ test_only_theirs_added method method test_only_theirs_ L490–492
+ test_ours_deleted_theirs_modified_takes_theirs method method test_ours_deleted_theirs_modified_takes_theirs L494–499
+ test_ours_modified_theirs_deleted_theirs_wins method method test_ours_modified_theirs_deleted_theirs_wins L501–506
+ test_ours_only method method test_ours_only L458–460
+ test_theirs_only method method test_theirs_only L462–464
+ test_unchanged method method test_unchanged L450–452
+ TestUnionPermutations class class TestUnionPermutations L572–632
+ _m method method _m L575–580
+ test_both_added_different_prefers_ours method method test_both_added_different_prefers_ours L613–617
+ test_both_added_same method method test_both_added_same L609–611
+ test_both_deleted method method test_both_deleted L605–607
+ test_convergent method method test_convergent L586–588
+ test_divergent_prefers_left_for_blobs method method test_divergent_prefers_left_for_blobs L598–603
+ test_only_ours_added method method test_only_ours_ L619–621
+ test_only_theirs_added method method test_only_theirs_ L623–625
+ test_ours_deleted_theirs_modified_keeps_theirs method method test_ours_deleted_theirs_modified_keeps_theirs L627–632
+ test_ours_only method method test_ours_only L590–592
+ test_theirs_only method method test_theirs_only L594–596
+ test_unchanged method method test_unchanged L582–584
+ _ALT variable variable _ALT L46–46
+ _MUSE_ATTRS variable variable _MUSE_ATTRS L785–830
+ _NEW variable variable _NEW L45–45
+ _OLD variable variable _OLD L44–44
+ _files function function _files L72–73
+ _merge function function _merge L63–69
+ _rule function function _rule L51–52
~ tests/test_code_stage.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_porcelain_format_with_stage method method test_porcelain_format_with_stage L517–523
+ test_json_format_with_stage method method test_json_format_with_stage L517–523
~ tests/test_core_merge_engine.py .py 15 symbols added, 3 symbols modified
+ TestManualStrategyUnchangedFiles class class TestManualStrategyUnchangedFiles L444–497
+ test_73_unchanged_plus_one_real_conflict method method test_73_unchanged_plus_one_real_conflict L486–497
+ test_convergent_same_change_no_conflict method method test_convergent_same_change_no_conflict L454–460
+ test_divergent_changes_conflict method method test_divergent_changes_conflict L478–484
+ test_only_ours_changed_manual_forces_conflict method method test_only_ours_changed_manual_forces_conflict L462–468
+ test_only_theirs_changed_manual_forces_conflict method method test_only_theirs_changed_manual_forces_conflict L470–476
+ test_unchanged_no_conflict method method test_unchanged_no_conflict L447–452
+ _DUMMY_ROOT variable variable _DUMMY_ROOT L416–416
+ _code_plugin function function _code_plugin L419–420
+ _manual_attrs function function _manual_attrs L427–428
+ _merge_with_manual function function _merge_with_manual L431–441
+ _snap function function _snap L423–424
+ AttributeRule import import AttributeRule L37–37
+ CodePlugin import import CodePlugin L38–38
+ mock import import unittest.mock L11–11
~ tests/test_core_store.py .py 2 symbols added, 2 symbols removed, 4 symbols modified
test_format_version_round_trips_through_store_v7 method method test_format_version_round_trips_through_store_v7 L99–104
test_new_commit_has_format_version_7 method method test_new_commit_has_format_version_7 L94–97
+ test_format_version_round_trips_through_store_v8 method method test_format_version_round_trips_through_store_v8 L99–104
+ test_new_commit_has_format_version_8 method method test_new_commit_has_format_version_8 L94–97

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