gabriel / muse public
refactor BREAKING task/short-id-and-harmony-migration #1 / 1
AI Agent gabriel · 162 days ago · Apr 17, 2026 · Diff

refactor: replace ID slices with short_id() and migrate rerere to harmony

- Replace all [:8]/[:12]/[:16] SHA-256 ID slice patterns with short_id() across all core, CLI, and plugin files (~111 files) - Fix 6 botched .short_id() method-call bugs introduced by over-eager replace_all (harmony.py lines 1152/1163/1172/1746, hub.py 5581/5613) - Add auto_apply() and record_resolutions() to harmony.py — port of the mechanical rerere integration functions using harmony storage - Add compute_semantic_fingerprint() to harmony.py — uses HarmonyPlugin protocol for domain-aware conflict fingerprinting - Rename RererePlugin -> HarmonyPlugin in domain.py and all callers - Rename --rerere-autoupdate -> --harmony-autoupdate in merge command - Remove rerere as a public API: delete muse/core/rerere.py, muse/cli/commands/rerere.py, tests/test_rerere.py, tests/test_cmd_rerere_hardening.py - Remove rerere subcommand registration from app.py - Update merge.py, commit.py, domain_info.py to use harmony equivalents - Update tests to reflect new flag names and capability key ('harmony')

sha256:82012c0e1346b7ae2738028919f69e316d74a864129e995a86ca56746ee65c96 sha
+116 ~358 −511 symbols
sha256:c60d4c621703c6d4f662e3bc826ae79d653b1d03ee2f1ef9405a4a90d2c46990 snapshot
+116
symbols added
~358
symbols modified
−511
symbols removed
0
dead code introduced
Semantic Changes 985 symbols
~ muse/cli/commands/rerere.py .py 45 symbols removed
− _FORMAT_CHOICES variable variable _FORMAT_CHOICES L123–123
− _RerereApplyJson class class _RerereApplyJson L131–136
− _RerereForgetJson class class _RerereForgetJson L165–169
− _RerereRecordJson class class _RerereRecordJson L139–143
− _RerereScalarJson class class _RerereScalarJson L172–175
− _RerereStatusJson class class _RerereStatusJson L158–162
− _RerereStatusRecordJson class class _RerereStatusRecordJson L146–155
− _check_format function function _check_format L214–221
− _fmt_record function function _fmt_record L204–211
− _load_conflict_manifests function function _load_conflict_manifests L183–201
− ExitCode import import ExitCode L99–99
− Manifest import import Manifest L116–116
− RerereRecord import import RerereRecord L102–102
− TYPE_CHECKING import import TYPE_CHECKING L97–97
− TypedDict import import TypedDict L97–97
− annotations import import annotations L90–90
− apply_cached import import apply_cached L102–102
− argparse import import argparse L92–92
− clamp_int import import clamp_int L114–114
− clear_all import import clear_all L102–102
− compute_fingerprint import import compute_fingerprint L102–102
− forget_record import import forget_record L102–102
− gc_stale import import gc_stale L102–102
− json import import json L93–93
− list_records import import list_records L102–102
− logging import import logging L94–94
− pathlib import import pathlib L95–95
− read_commit import import read_commit L113–113
− read_domain import import read_domain L115–115
− read_merge_state import import read_merge_state L100–100
− read_snapshot import import read_snapshot L113–113
− record_preimage import import record_preimage L102–102
− require_repo import import require_repo L101–101
− resolve_plugin import import resolve_plugin L115–115
− rr_cache_dir import import rr_cache_dir L102–102
− sanitize_display import import sanitize_display L114–114
− sys import import sys L96–96
− logger variable variable logger L121–121
− register function function register L229–424
− run function function run L432–521
− run_clear function function run_clear L788–841
− run_forget function function run_forget L685–780
− run_gc function function run_gc L849–887
− run_record function function run_record L529–593
− run_status function function run_status L601–677
~ muse/core/rerere.py .py 44 symbols removed
− RerereMetaDict class class RerereMetaDict L107–115
− RerereRecord class class RerereRecord L124–148
− has_resolution method method has_resolution L146–148
− _FINGERPRINT_RE variable variable _FINGERPRINT_RE L99–99
− _MAX_META_BYTES variable variable _MAX_META_BYTES L93–93
− _MAX_RESOLUTION_BYTES variable variable _MAX_RESOLUTION_BYTES L96–96
− _MAX_SCAN variable variable _MAX_SCAN L90–90
− _META_FILE variable variable _META_FILE L86–86
− _RESOLUTION_FILE variable variable _RESOLUTION_FILE L87–87
− _RR_CACHE variable variable _RR_CACHE L85–85
− _entry_dir function function _entry_dir L174–180
− _meta_path function function _meta_path L183–184
− _resolution_path function function _resolution_path L187–188
− _validate_fingerprint function function _validate_fingerprint L161–171
− _write_atomic function function _write_atomic L265–276
− apply_cached function function apply_cached L460–521
− auto_apply function function auto_apply L674–762
− clear_all function function clear_all L606–639
− compute_fingerprint function function compute_fingerprint L214–257
− conflict_fingerprint function function conflict_fingerprint L196–211
− forget_record function function forget_record L572–603
− gc_stale function function gc_stale L642–666
− has_resolution function function has_resolution L452–457
− Manifest import import Manifest L73–73
− TYPE_CHECKING import import TYPE_CHECKING L71–71
− TypedDict import import TypedDict L71–71
− annotations import import annotations L60–60
− dataclass class import dataclass L70–70
− datetime import import datetime L62–62
− hashlib import import hashlib L63–63
− json import import json L64–64
− logging import import logging L65–65
− os import import os L66–66
− pathlib import import pathlib L67–67
− re import import re L68–68
− tempfile import import tempfile L69–69
− validate_object_id import import validate_object_id L74–74 → moved to muse/core/harmony.py
− list_records function function list_records L529–569
− load_record function function load_record L366–444
− logger variable variable logger L79–79
− record_preimage function function record_preimage L284–329
− record_resolutions function function record_resolutions L765–826
− rr_cache_dir function function rr_cache_dir L156–158
− save_resolution function function save_resolution L332–363
~ tests/test_cmd_rerere_hardening.py .py 281 symbols removed
− TestApplyCachedSizeCap class class TestApplyCachedSizeCap L275–295
− test_invalid_fingerprint_returns_false method method test_invalid_fingerprint_returns_false L292–295
− test_oversized_resolution_skipped method method test_oversized_resolution_skipped L276–290
− TestAutoApplyPathTraversal class class TestAutoApplyPathTraversal L367–404
− test_traversal_path_skipped method method test_traversal_path_skipped L368–385
− test_valid_path_processed method method test_valid_path_processed L387–404
− TestCheckFormat class class TestCheckFormat L529–542
− test_invalid_format_raises method method test_invalid_format_raises L538–542
− test_valid_json_passes method method test_valid_json_passes L534–536
− test_valid_text_passes method method test_valid_text_passes L530–532
− TestClearAllSymlinkGuard class class TestClearAllSymlinkGuard L336–359
− test_regular_entries_cleared method method test_regular_entries_cleared L354–359
− test_symlink_not_cleared method method test_symlink_not_cleared L337–352
− TestClearIntegration class class TestClearIntegration L1491–1515
− test_clear_empty_cache_json method method test_clear_empty_cache_json L1510–1515
− test_clear_json_schema method method test_clear_json_schema L1499–1508
− test_clear_yes_removes_all method method test_clear_yes_removes_all L1492–1497
− TestEntryDir class class TestEntryDir L201–215
− test_entry_is_inside_rr_cache method method test_entry_is_inside_rr_cache L212–215
− test_traversal_fp_raises method method test_traversal_fp_raises L207–210
− test_valid_fp_returns_path method method test_valid_fp_returns_path L202–205
− TestFmtRecord class class TestFmtRecord L469–521
− _rec method method _rec L470–478
− test_no_color_parameter method method test_no_color_parameter L480–485
− test_sanitizes_path method method test_sanitizes_path L487–499
− test_shows_preimage_only_status method method test_shows_preimage_only_status L516–521
− test_shows_resolved_status method method test_shows_resolved_status L501–514
− TestForgetFingerprint class class TestForgetFingerprint L859–927
− test_forget_by_fingerprint_json method method test_forget_by_fingerprint_json L869–876
− test_forget_by_fingerprint_no_merge_required method method test_forget_by_fingerprint_no_merge_required L886–894
− test_forget_by_fingerprint_not_found method method test_forget_by_fingerprint_not_found L878–884
− test_forget_by_fingerprint_removes_entry method method test_forget_by_fingerprint_removes_entry L860–867
− test_forget_invalid_fingerprint_rejected method method test_forget_invalid_fingerprint_rejected L896–903
− test_forget_multiple_fingerprints method method test_forget_multiple_fingerprints L905–920
− test_forget_no_args_exits_user_error method method test_forget_no_args_exits_user_error L922–927
− TestGcAge class class TestGcAge L1193–1228
− test_default_age_flag_present_in_help method method test_default_age_flag_present_in_help L1194–1196
− test_gc_age_custom method method test_gc_age_custom L1198–1215
− test_gc_json_schema method method test_gc_json_schema L1217–1222
− test_gc_text_mentions_threshold method method test_gc_text_mentions_threshold L1224–1228
− TestGcStaleAgeDays class class TestGcStaleAgeDays L412–461
− test_age_1_day_removes_entry_written_two_days_ago method method test_age_1_day_removes_entry_written_two_days_ago L420–440
− test_default_60_days_keeps_recent method method test_default_60_days_keeps_recent L413–418
− test_resolved_entry_never_removed method method test_resolved_entry_never_ L442–461
− TestHelpText class class TestHelpText L1858–1873
− test_forget_help_shows_fingerprint_flag method method test_forget_help_shows_fingerprint_flag L1865–1868
− test_gc_help_shows_age_flag method method test_gc_help_shows_age_flag L1870–1873
− test_help_shows_subcommands method method test_help_shows_subcommands L1859–1863
− TestJsonSchemas class class TestJsonSchemas L1805–1850
− test_apply_dry_run_json method method test_apply_dry_run_json L1815–1820
− test_apply_json_schema method method test_apply_json_schema L1806–1813
− test_clear_json_schema method method test_clear_json_schema L1838–1843
− test_forget_json_schema method method test_forget_json_schema L1830–1836
− test_gc_json_schema_fields method method test_gc_json_schema_fields L1845–1850
− test_record_json_schema method method test_record_json_schema L1822–1828
− TestListRecordsSymlinkGuard class class TestListRecordsSymlinkGuard L303–328
− test_regular_dirs_included method method test_regular_dirs_included L320–328
− test_symlink_skipped method method test_symlink_skipped L304–318
− TestLoadRecordSizeCaps class class TestLoadRecordSizeCaps L223–267
− test_invalid_fingerprint_returns_none method method test_invalid_fingerprint_returns_none L254–257
− test_oversized_meta_returns_none method method test_oversized_meta_returns_none L224–236
− test_oversized_resolution_ignored method method test_oversized_resolution_ignored L238–252
− test_valid_entry_loads_correctly method method test_valid_entry_loads_correctly L259–267
− TestReRereSecurity class class TestReRereSecurity L1751–1797
− test_ansi_in_path_sanitized_in_forget method method test_ansi_in_path_sanitized_in_forget L1773–1778
− test_ansi_in_path_sanitized_in_status method method test_ansi_in_path_sanitized_in_status L1754–1771
− test_invalid_format_rejected method method test_invalid_format_rejected L1780–1783
− test_json_on_stdout_text_on_stderr method method test_json_on_stdout_text_on_stderr L1790–1797
− test_no_traceback_on_invalid_format method method test_no_traceback_on_invalid_format L1785–1788
− TestRerereForgetExtended class class TestRerereForgetExtended L935–1062
− test_fingerprint_mode_forgotten_in_json method method test_fingerprint_mode_forgotten_in_json L943–948
− test_fingerprint_mode_no_merge_required method method test_fingerprint_mode_no_merge_required L1034–1039
− test_fingerprint_mode_not_found_in_json method method test_fingerprint_mode_not_found_in_json L950–954
− test_fingerprint_mode_removes_entry method method test_fingerprint_mode_removes_entry L936–941
− test_help_mentions_agent_quickstart method method test_help_mentions_agent_quickstart L1056–1058
− test_help_mentions_exit_codes method method test_help_mentions_exit_codes L1060–1062
− test_invalid_fingerprint_lands_in_not_found method method test_invalid_fingerprint_lands_in_not_found L1049–1054
− test_invalid_format_exits_1 method method test_invalid_format_exits_1 L1019–1022
− test_j_alias method method test_j_alias L963–971
− test_json_compact_no_indent method method test_json_compact_no_indent L956–961
− test_json_schema_fields_present method method test_json_schema_fields_present L1041–1047
− test_mixed_found_and_not_found method method test_mixed_found_and_not_found L987–999
− test_multiple_fingerprints_all_forgotten method method test_multiple_fingerprints_all_forgotten L973–985
− test_no_args_exits_1 method method test_no_args_exits_1 L1014–1017
− test_outside_repo_exits_2 method method test_outside_repo_exits_2 L1024–1026
− test_path_mode_no_merge_exits_1 method method test_path_mode_no_merge_exits_1 L1028–1032
− test_text_output_shows_forgot method method test_text_output_shows_forgot L1001–1006
− test_text_output_shows_no_record_found method method test_text_output_shows_no_record_found L1008–1012
− TestRerereForgetSecurity class class TestRerereForgetSecurity L1070–1112
− test_ansi_in_fingerprint_stripped_json method method test_ansi_in_fingerprint_stripped_json L1071–1077
− test_ansi_in_fingerprint_stripped_text method method test_ansi_in_fingerprint_stripped_text L1095–1101
− test_ansi_in_not_found_stripped_json method method test_ansi_in_not_found_stripped_json L1079–1085
− test_control_char_in_item_stripped_json method method test_control_char_in_item_stripped_json L1087–1093
− test_no_json_outside_repo method method test_no_json_outside_repo L1103–1107
− test_no_traceback_outside_repo method method test_no_traceback_outside_repo L1109–1112
− TestRerereForgetStress class class TestRerereForgetStress L1120–1185
− test_50_fingerprints_all_forgotten method method test_50_fingerprints_all_forgotten L1121–1139
− test_50_fingerprints_all_not_found method method test_50_fingerprints_all_not_found L1141–1158
− test_mixed_25_found_25_not_found method method test_mixed_25_found_25_not_found L1160–1185
− TestRerereGcExtended class class TestRerereGcExtended L1260–1381
− test_age_negative_exits_1 method method test_age_negative_exits_1 L1291–1295
− test_age_zero_exits_1 method method test_age_zero_exits_1 L1284–1289
− test_default_age_is_60 method method test_default_age_is_60 L1347–1354
− test_exit_code_zero_nothing_removed method method test_exit_code_zero_nothing_ L1261–1266
− test_exit_code_zero_with_removal method method test_exit_code_zero_with_removal L1268–1273
− test_format_text_explicit method method test_format_text_explicit L1369–1373
− test_fresh_preimage_kept method method test_fresh_preimage_kept L1319–1325
− test_help_mentions_agent_quickstart method method test_help_mentions_agent_quickstart L1375–1377
− test_help_mentions_exit_codes method method test_help_mentions_exit_codes L1379–1381
− test_invalid_format_exits_1 method method test_invalid_format_exits_1 L1279–1282
− test_j_alias method method test_j_alias L1297–1303
− test_json_compact_no_indent method method test_json_compact_no_indent L1305–1309
− test_outside_repo_exits_2 method method test_outside_repo_exits_2 L1275–1277
− test_resolved_entry_never_removed method method test_resolved_entry_never_ L1327–1334
− test_stale_preimage_removed method method test_stale_preimage_ L1311–1317
− test_stale_removed_fresh_kept method method test_stale_removed_fresh_kept L1336–1345
− test_text_output_nothing_to_remove method method test_text_output_nothing_to_remove L1363–1367
− test_text_output_removed_count method method test_text_output_removed_count L1356–1361
− TestRerereGcSecurity class class TestRerereGcSecurity L1389–1421
− test_age_exceeds_max_exits_1 method method test_age_exceeds_max_exits_1 L1416–1421
− test_age_max_boundary_accepted method method test_age_max_boundary_accepted L1410–1414
− test_no_json_outside_repo method method test_no_json_outside_repo L1390–1393
− test_no_traceback_age_zero method method test_no_traceback_age_zero L1405–1408
− test_no_traceback_invalid_format method method test_no_traceback_invalid_format L1400–1403
− test_no_traceback_outside_repo method method test_no_traceback_outside_repo L1395–1398
− TestRerereGcStress class class TestRerereGcStress L1429–1483
− test_100_stale_entries_removed method method test_100_stale_entries_ L1430–1442
− test_50_stale_50_fresh_only_stale_removed method method test_50_stale_50_fresh_only_stale_ L1444–1462
− test_50_stale_50_resolved_only_stale_removed method method test_50_stale_50_resolved_only_stale_ L1464–1483
− TestRerereRecordExtended class class TestRerereRecordExtended L2065–2188
− test_exits_0_no_merge_in_progress method method test_exits_0_no_merge_in_progress L2066–2070
− test_exits_0_with_conflicts method method test_exits_0_with_conflicts L2077–2080
− test_format_text_explicit method method test_format_text_explicit L2178–2183
− test_help_mentions_agent_quickstart method method test_help_mentions_agent_quickstart L2166–2168
− test_help_mentions_exit_codes method method test_help_mentions_exit_codes L2170–2172
− test_help_mentions_json_schema method method test_help_mentions_json_schema L2174–2176
− test_idempotent_double_record method method test_idempotent_double_record L2097–2104
− test_invalid_format_exits_1 method method test_invalid_format_exits_1 L2185–2188
− test_j_alias method method test_j_alias L2130–2136
− test_json_is_single_line method method test_json_is_single_line L2123–2128
− test_json_schema_no_conflicts method method test_json_schema_no_conflicts L2106–2113
− test_json_schema_with_conflicts method method test_json_schema_with_conflicts L2115–2121
− test_multiple_paths_all_recorded method method test_multiple_paths_all_recorded L2151–2159
− test_outside_repo_exits_2 method method test_outside_repo_exits_2 L2161–2164
− test_rr_cache_entry_created method method test_rr_cache_entry_created L2088–2095
− test_skipped_path_one_side_deleted method method test_skipped_path_one_side_deleted L2138–2149
− test_text_nothing_to_record_message method method test_text_nothing_to_record_message L2072–2075
− test_text_shows_recorded_path method method test_text_shows_recorded_path L2082–2086
− TestRerereRecordSecurity class class TestRerereRecordSecurity L2196–2256
− test_ansi_path_stripped_json method method test_ansi_path_stripped_json L2208–2217
− test_ansi_path_stripped_text method method test_ansi_path_stripped_text L2197–2206
− test_control_char_in_path_stripped method method test_control_char_in_path_stripped L2247–2256
− test_no_json_on_error method method test_no_json_on_error L2231–2239
− test_outside_repo_no_traceback method method test_outside_repo_no_traceback L2241–2245
− test_skipped_ansi_path_stripped_json method method test_skipped_ansi_path_stripped_json L2219–2229
− TestRerereRecordStress class class TestRerereRecordStress L2264–2305
− test_50_conflict_paths method method test_50_conflict_paths L2265–2272
− test_idempotent_100_calls method method test_idempotent_100_calls L2274–2281
− test_mixed_recorded_and_skipped method method test_mixed_recorded_and_skipped L2283–2305
− TestRerereStatusExtended class class TestRerereStatusExtended L612–739
− test_exit_code_zero_empty method method test_exit_code_zero_empty L613–617
− test_exit_code_zero_with_entries method method test_exit_code_zero_with_entries L619–624
− test_help_mentions_agent_quickstart method method test_help_mentions_agent_quickstart L733–735
− test_help_mentions_exit_codes method method test_help_mentions_exit_codes L737–739
− test_invalid_format_exits_1 method method test_invalid_format_exits_1 L631–634
− test_j_alias method method test_j_alias L636–643
− test_json_all_fields_present method method test_json_all_fields_present L665–672
− test_json_compact_no_indent method method test_json_compact_no_indent L645–651
− test_json_has_resolution_true_and_false method method test_json_has_resolution_true_and_false L697–707
− test_json_matches_current_conflict_false_without_merge method method test_json_matches_current_conflict_false_without_merge L709–716
− test_json_multiple_entries_total method method test_json_multiple_entries_total L674–682
− test_json_resolution_id_null_without_resolution method method test_json_resolution_id_null_without_resolution L684–688
− test_json_resolution_id_set_with_resolution method method test_json_resolution_id_set_with_resolution L690–695
− test_json_total_field method method test_json_total_field L653–657
− test_json_total_zero_when_empty method method test_json_total_zero_when_empty L659–663
− test_outside_repo_exits_2 method method test_outside_repo_exits_2 L626–629
− test_text_format_explicit method method test_text_format_explicit L718–724
− test_text_shows_header_when_entries_exist method method test_text_shows_header_when_entries_exist L726–731
− TestRerereStatusSecurity class class TestRerereStatusSecurity L747–795
− test_ansi_in_path_stripped_json method method test_ansi_in_path_stripped_json L748–755
− test_ansi_in_path_stripped_text method method test_ansi_in_path_stripped_text L757–764
− test_control_char_in_path_stripped_json method method test_control_char_in_path_stripped_json L766–773
− test_no_json_outside_repo method method test_no_json_outside_repo L775–779
− test_no_traceback_outside_repo method method test_no_traceback_outside_repo L781–785
− test_resolution_id_ansi_stripped_json method method test_resolution_id_ansi_stripped_json L787–795
− TestRerereStatusStress class class TestRerereStatusStress L803–851
− test_100_entries_json_total method method test_100_entries_json_total L821–833
− test_100_entries_text method method test_100_entries_text L804–819
− test_mixed_resolved_and_preimage_counts method method test_mixed_resolved_and_preimage_counts L835–851
− TestRerereclearExtended class class TestRerereclearExtended L1523–1635
− test_clear_is_idempotent method method test_clear_is_idempotent L1579–1584
− test_entries_gone_after_clear method method test_entries_gone_after_clear L1573–1577
− test_exit_code_zero_yes_empty method method test_exit_code_zero_yes_empty L1524–1528
− test_exit_code_zero_yes_with_entries method method test_exit_code_zero_yes_with_entries L1530–1534
− test_format_text_explicit method method test_format_text_explicit L1598–1603
− test_help_mentions_agent_quickstart method method test_help_mentions_agent_quickstart L1629–1631
− test_help_mentions_exit_codes method method test_help_mentions_exit_codes L1633–1635
− test_invalid_format_exits_1 method method test_invalid_format_exits_1 L1540–1543
− test_j_alias method method test_j_alias L1545–1551
− test_json_compact_no_indent method method test_json_compact_no_indent L1553–1558
− test_json_removed_count_matches_entries method method test_json_removed_count_matches_entries L1565–1571
− test_json_removed_zero_when_empty method method test_json_removed_zero_when_empty L1560–1563
− test_json_schema_field_present method method test_json_schema_field_present L1624–1627
− test_outside_repo_exits_2 method method test_outside_repo_exits_2 L1536–1538
− test_resolved_entries_also_cleared method method test_resolved_entries_also_cleared L1613–1622
− test_text_output_empty_cache_message method method test_text_output_empty_cache_message L1592–1596
− test_text_output_shows_count method method test_text_output_shows_count L1586–1590
− test_y_alias_same_as_yes method method test_y_alias_same_as_yes L1605–1611
− TestRerereclearSecurity class class TestRerereclearSecurity L1643–1686
− test_json_stdout_on_success method method test_json_stdout_on_success L1682–1686
− test_no_json_outside_repo method method test_no_json_outside_repo L1644–1648
− test_no_traceback_on_invalid_format method method test_no_traceback_on_invalid_format L1677–1680
− test_no_traceback_outside_repo method method test_no_traceback_outside_repo L1650–1653
− test_symlink_entry_not_removed method method test_symlink_entry_not_ L1655–1664
− test_symlink_not_counted_in_removed method method test_symlink_not_counted_in_ L1666–1675
− TestRerereclearStress class class TestRerereclearStress L1694–1743
− test_100_entries_cleared method method test_100_entries_cleared L1695–1707
− test_clear_then_repopulate_then_clear method method test_clear_then_repopulate_then_clear L1709–1728
− test_mixed_preimage_and_resolved_100_entries method method test_mixed_preimage_and_resolved_100_entries L1730–1743
− TestStatusIntegration class class TestStatusIntegration L550–604
− test_empty_cache_shows_no_records method method test_empty_cache_shows_no_records L551–555
− test_status_json_has_resolution_false method method test_status_json_has_resolution_false L581–591
− test_status_json_has_resolution_true method method test_status_json_has_resolution_true L593–604
− test_status_json_schema method method test_status_json_schema L564–579
− test_status_shows_entry method method test_status_shows_entry L557–562
− TestStress class class TestStress L1881–1973
− test_concurrent_gc_stale_isolated method method test_concurrent_gc_stale_isolated L1940–1973
− test_concurrent_record_load_isolated method method test_concurrent_record_load_isolated L1907–1938
− test_list_records_10k_entries method method test_list_records_10k_entries L1882–1905
− TestValidateFingerprint class class TestValidateFingerprint L159–193
− test_empty_string_rejected method method test_empty_string_rejected L187–189
− test_exactly_64_hex_passes method method test_exactly_64_hex_passes L191–193
− test_null_byte_rejected method method test_null_byte_rejected L183–185
− test_path_traversal_rejected method method test_path_traversal_rejected L163–165
− test_slash_in_fingerprint_rejected method method test_slash_in_fingerprint_rejected L179–181
− test_too_long_rejected method method test_too_long_rejected L171–173
− test_too_short_rejected method method test_too_short_rejected L167–169
− test_uppercase_rejected method method test_uppercase_rejected L175–177
− test_valid_fingerprint_passes method method test_valid_fingerprint_passes L160–161
− _SHA_A variable variable _SHA_A L83–83
− _SHA_B variable variable _SHA_B L84–84
− _SHA_C variable variable _SHA_C L85–85
− _VALID_FP variable variable _VALID_FP L86–86
− _invoke function function _invoke L128–133
− _make_record_repo function function _make_record_repo L2031–2062
− _make_repo function function _make_repo L94–103
− _parse_json function function _parse_json L136–151
− _write_commit_with_manifest function function _write_commit_with_manifest L2002–2028
− _write_merge_state function function _write_merge_state L1984–1999
− _write_preimage function function _write_preimage L106–118
− _write_resolution function function _write_resolution L121–125
− _write_stale_preimage function function _write_stale_preimage L1231–1252
− cli variable variable cli L81–81
− CliRunner import import CliRunner L77–77
− ExitCode import import ExitCode L59–59
− InvokeResult import import InvokeResult L77–77
− Manifest import import Manifest L78–78
− MsgpackDict import import MsgpackDict L78–78
− RerereRecord import import RerereRecord L60–60
− _MAX_META_BYTES import import _MAX_META_BYTES L60–60
− _MAX_RESOLUTION_BYTES import import _MAX_RESOLUTION_BYTES L60–60
− _entry_dir import import _entry_dir L60–60
− _validate_fingerprint import import _validate_fingerprint L60–60
− annotations import import annotations L49–49
− apply_cached import import apply_cached L60–60
− clear_all import import clear_all L60–60
− conflict_fingerprint import import conflict_fingerprint L60–60
− datetime import import datetime L51–51
− forget_record import import forget_record L60–60
− gc_stale import import gc_stale L60–60
− json import import json L52–52
− list_records import import list_records L60–60
− load_record import import load_record L60–60
− pathlib import import pathlib L53–53
− pytest import import pytest L57–57
− record_preimage import import record_preimage L60–60
− rr_cache_dir import import rr_cache_dir L60–60
− save_resolution import import save_resolution L60–60
− threading import import threading L54–54
− uuid import import uuid L55–55
− runner variable variable runner L80–80
~ tests/test_rerere.py .py 128 symbols removed
− TestApplyCached class class TestApplyCached L363–410
− test_apply_restores_file_to_working_tree method method test_apply_restores_file_to_working_tree L364–382
− test_apply_returns_false_when_blob_missing_from_store method method test_apply_returns_false_when_blob_missing_from_store L396–410
− test_apply_returns_false_when_no_resolution method method test_apply_returns_false_when_no_resolution L384–394
− TestAutoApply class class TestAutoApply L530–615
− test_auto_apply_mixed_cached_and_uncached method method test_auto_apply_mixed_cached_and_uncached L586–615
− test_auto_apply_records_preimage_for_unresolved method method test_auto_apply_records_preimage_for_unresolved L554–571
− test_auto_apply_resolves_cached_conflicts method method test_auto_apply_resolves_cached_conflicts L531–552
− test_auto_apply_skips_deletion_conflicts method method test_auto_apply_skips_deletion_conflicts L573–584
− TestBulkOperations class class TestBulkOperations L418–522
− test_clear_all_on_empty_cache_returns_zero method method test_clear_all_on_empty_cache_returns_zero L485–486
− test_clear_all_removes_all_entries method method test_clear_all_removes_all_entries L468–483
− test_forget_record_removes_entry method method test_forget_record_removes_entry L457–463
− test_forget_record_returns_false_for_missing method method test_forget_record_returns_false_for_missing L465–466
− test_gc_removes_stale_preimage_only_entries method method test_gc_removes_stale_preimage_only_entries L488–522
− test_list_records_empty_when_no_cache method method test_list_records_empty_when_no_cache L419–420
− test_list_records_returns_all_entries method method test_list_records_returns_all_entries L422–437
− test_list_records_sorted_most_recent_first method method test_list_records_sorted_most_recent_first L439–455
− TestComputeFingerprint class class TestComputeFingerprint L233–261
− test_falls_back_on_invalid_short_fingerprint method method test_falls_back_on_invalid_short_fingerprint L256–261
− test_falls_back_on_plugin_exception method method test_falls_back_on_plugin_exception L249–254
− test_falls_back_to_default_for_plain_plugin method method test_falls_back_to_default_for_plain_plugin L234–239
− test_uses_plugin_fingerprint_when_conflict_fingerprint_present method method test_uses_plugin_fingerprint_when_conflict_fingerprint_present L241–247
− TestConflictFingerprint class class TestConflictFingerprint L203–230
− test_commutative method method test_commutative L209–213
− test_deterministic method method test_deterministic L204–207
− test_different_inputs_produce_different_fingerprints method method test_different_inputs_produce_different_fingerprints L215–219
− test_identical_sides_produces_valid_fingerprint method method test_identical_sides_produces_valid_fingerprint L221–225
− test_output_is_64_char_hex method method test_output_is_64_char_hex L227–230
− TestPreimageLifecycle class class TestPreimageLifecycle L269–355
− test_has_resolution_false_before_save method method test_has_resolution_false_before_save L338–343
− test_has_resolution_true_after_save method method test_has_resolution_true_after_save L345–355
− test_load_record_no_resolution method method test_load_record_no_resolution L296–307
− test_load_record_returns_none_for_missing_fingerprint method method test_load_record_returns_none_for_missing_fingerprint L291–294
− test_record_preimage_creates_meta_file method method test_record_preimage_creates_meta_file L270–281
− test_record_preimage_is_idempotent method method test_record_preimage_is_idempotent L283–289
− test_save_resolution_persists_and_loads method method test_save_resolution_persists_and_loads L309–322
− test_save_resolution_raises_without_preimage method method test_save_resolution_raises_without_preimage L324–328
− test_save_resolution_rejects_invalid_id method method test_save_resolution_rejects_invalid_id L330–336
− TestRRCacheLayout class class TestRRCacheLayout L832–881
− test_meta_json_is_valid_utf8 method method test_meta_json_is_valid_utf8 L863–870
− test_preimage_creates_correct_directory_tree method method test_preimage_creates_correct_directory_tree L837–845
− test_resolution_file_contains_valid_hex_id method method test_resolution_file_contains_valid_hex_id L847–861
− test_rr_cache_dir_path method method test_rr_cache_dir_path L833–835
− test_write_is_atomic method method test_write_is_atomic L872–881
− TestRecordResolutions class class TestRecordResolutions L623–683
− test_creates_preimage_if_missing method method test_creates_preimage_if_missing L665–683
− test_records_user_resolution_after_commit method method test_records_user_resolution_after_commit L624–648
− test_skips_paths_not_in_new_manifest method method test_skips_paths_not_in_new_manifest L650–663
− TestRerereCliApply class class TestRerereCliApply L691–707
− test_json_format_with_no_merge method method test_json_format_with_no_merge L703–707
− test_no_merge_in_progress method method test_no_merge_in_progress L692–695
− test_unknown_format_errors method method test_unknown_format_errors L697–701
− TestRerereCliClear class class TestRerereCliClear L757–789
− test_clear_empty method method test_clear_empty L758–762
− test_clear_json_format method method test_clear_json_format L776–789
− test_clear_removes_records method method test_clear_removes_records L764–774
− TestRerereCliGC class class TestRerereCliGC L792–804
− test_gc_json_format method method test_gc_json_format L798–804
− test_gc_nothing_to_remove method method test_gc_nothing_to_remove L793–796
− TestRerereCliRecord class class TestRerereCliRecord L710–720
− test_record_no_merge_in_progress method method test_record_no_merge_in_progress L711–714
− test_record_unknown_format method method test_record_unknown_format L716–720
− TestRerereCliStatus class class TestRerereCliStatus L723–754
− test_status_empty_cache method method test_status_empty_cache L724–727
− test_status_json_format method method test_status_json_format L741–754
− test_status_shows_records method method test_status_shows_records L729–739
− TestRererePluginProtocol class class TestRererePluginProtocol L812–824
− test_custom_fp_plugin_isinstance method method test_custom_fp_plugin_isinstance L822–824
− test_isinstance_detection_with_all_methods method method test_isinstance_detection_with_all_methods L813–816
− test_plain_plugin_is_not_rerere_plugin method method test_plain_plugin_is_not_rerere_plugin L818–820
− _CustomFPPlugin class class _CustomFPPlugin L96–109
− __init__ method method __init__ L99–100
− conflict_fingerprint method method conflict_fingerprint L102–109
− _ErrorFPPlugin class class _ErrorFPPlugin L112–122
− conflict_fingerprint method method conflict_fingerprint L115–122
− _RerereEnabledPlugin class class _RerereEnabledPlugin L138–148
− conflict_fingerprint method method conflict_fingerprint L141–148
− _ShortFPPlugin class class _ShortFPPlugin L125–135
− conflict_fingerprint method method conflict_fingerprint L128–135
− _StubPlugin class class _StubPlugin L61–93
− apply method method apply L89–90
− diff method method diff L67–74
− drift method method drift L86–87
− merge method method merge L76–84
− schema method method schema L92–93
− snapshot method method snapshot L64–65
− _make_plugin function function _make_plugin L151–152
− _sha function function _sha L160–161
− cli variable variable cli L21–21
− CliRunner import import CliRunner L19–19
− DomainSchema import import DomainSchema L40–40
− DriftReport import import DriftReport L41–41
− LiveState import import LiveState L41–41
− MergeResult import import MergeResult L41–41
− MuseDomainPlugin import import MuseDomainPlugin L41–41
− RererePlugin import import RererePlugin L41–41
− RerereRecord import import RerereRecord L23–23
− SnapshotManifest import import SnapshotManifest L41–41
− StateDelta import import StateDelta L41–41
− StateSnapshot import import StateSnapshot L41–41
− StructuredDelta import import StructuredDelta L41–41
− annotations import import annotations L11–11
− auto_apply import import auto_apply L23–23
− clear_all import import clear_all L23–23
− compute_fingerprint import import compute_fingerprint L23–23
− conflict_fingerprint import import conflict_fingerprint L23–23
− datetime import import datetime L13–13
− forget_record import import forget_record L23–23
− gc_stale import import gc_stale L23–23
− has_resolution import import has_resolution L23–23
− hashlib import import hashlib L14–14
− json import import json L15–15
− list_records import import list_records L23–23
− load_record import import load_record L23–23
− pathlib import import pathlib L16–16
− pytest import import pytest L18–18
− record_preimage import import record_preimage L23–23
− record_resolutions import import record_resolutions L23–23
− rerere_mod import import rerere_mod L22–22
− rr_cache_dir import import rr_cache_dir L23–23
− save_resolution import import save_resolution L23–23
− write_object import import write_object L39–39
− ours_id function function ours_id L175–179
− repo function function repo L165–171
− resolution_id function function resolution_id L191–195
− runner variable variable runner L53–53
− theirs_id function function theirs_id L183–187
~ muse/cli/commands/age.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L135–135
~ run
~ muse/cli/commands/agent_map.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L37–37
~ run
~ muse/cli/commands/annotate.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L100–100
~ _show
~ run
~ muse/cli/commands/api_surface.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L84–84
~ muse/cli/commands/apply_patch.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L67–67
~ run
~ muse/cli/commands/archive.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L111–111
~ run
~ muse/cli/commands/bisect.py .py 1 symbol added, 6 symbols modified
~ muse/cli/commands/blame.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L88–88
~ run
~ muse/cli/commands/branch.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L62–62
~ run
~ muse/cli/commands/breakage.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L61–61
~ run
~ muse/cli/commands/bundle.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L71–71
~ muse/cli/commands/cadence.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L34–34
~ run
~ muse/cli/commands/cat.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L43–43
~ run
~ muse/cli/commands/cat_object.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L95–95
~ run
~ muse/cli/commands/check.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L65–65
~ run
~ muse/cli/commands/checkout.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L97–97
~ run
~ muse/cli/commands/checkout_symbol.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L96–96
~ run
~ muse/cli/commands/cherry_pick.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L80–80
~ run
~ muse/cli/commands/clone.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L67–67
~ run
~ muse/cli/commands/clones.py .py 1 symbol added, 4 symbols modified
+ short_id import import short_id L87–87
~ run
~ muse/cli/commands/code_check.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L52–52
~ run
~ muse/cli/commands/codemap.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L76–76
~ run
~ muse/cli/commands/commit.py .py 2 symbols added, 1 symbol removed, 1 symbol modified
− rerere_record_resolutions import import rerere_record_resolutions L52–52
+ harmony_record_resolutions import import harmony_record_resolutions L53–53
+ short_id import import short_id L41–41
~ run
~ muse/cli/commands/compare.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L55–55
~ run
~ muse/cli/commands/content_grep.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L92–92
~ run
~ muse/cli/commands/contour.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L34–34
~ run
~ muse/cli/commands/core_cat.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L52–52
~ run
~ muse/cli/commands/coverage.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L95–95
~ run
~ muse/cli/commands/dag.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L89–89
~ muse/cli/commands/dead.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L144–144
~ run
~ muse/cli/commands/density.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L33–33
~ run
~ muse/cli/commands/deps.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L78–78
~ run
~ muse/cli/commands/detect_refactor.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L102–102
~ run
~ muse/cli/commands/docs_cmd.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L128–128
~ muse/cli/commands/domain_info.py .py 1 symbol added, 1 symbol removed, 4 symbols modified
− RererePlugin import import RererePlugin L84–84
+ HarmonyPlugin import import HarmonyPlugin L84–84
~ run
~ muse/cli/commands/fetch.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L86–86
~ muse/cli/commands/find_phrase.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L35–35
~ run
~ muse/cli/commands/find_symbol.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L97–97
~ run
~ muse/cli/commands/for_each_ref.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L92–92
~ run
~ muse/cli/commands/gravity.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L126–126
~ run
~ muse/cli/commands/grep.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L49–49
~ run
~ muse/cli/commands/harmony.py .py 1 symbol added, 12 symbols modified
~ muse/cli/commands/impact.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L89–89
~ muse/cli/commands/index_rebuild.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L71–71
~ muse/cli/commands/instrumentation.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L37–37
~ run
~ muse/cli/commands/invariants.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L118–118
~ run
~ muse/cli/commands/languages.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L55–55
~ muse/cli/commands/lineage.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L83–83
~ run
~ muse/cli/commands/log.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L115–115
~ run
~ muse/cli/commands/merge.py .py 2 symbols added, 1 symbol removed, 4 symbols modified
− rerere_auto_apply import import rerere_auto_apply L76–76
+ harmony_auto_apply import import harmony_auto_apply L77–77
+ short_id import import short_id L66–66
~ run
~ muse/cli/commands/merge_tree.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L93–93
~ run
~ muse/cli/commands/name_rev.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L111–111
~ muse/cli/commands/narrative.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L147–147
~ muse/cli/commands/plan_merge.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L110–110
~ run
~ muse/cli/commands/prune.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L85–85
~ run
~ muse/cli/commands/pull.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L54–54
~ run
~ muse/cli/commands/push.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L86–86
~ run
~ muse/cli/commands/query.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L63–63
~ run
~ muse/cli/commands/query_history.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L83–83
~ run
~ muse/cli/commands/range_diff.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
− _short_id function function _short_id L618–629
+ short_id import import short_id L103–103
~ muse/cli/commands/read_commit.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− _short_id function function _short_id L77–86
+ short_id import import short_id L64–64
~ run
~ muse/cli/commands/read_snapshot.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
− _short_id function function _short_id L58–67
+ short_id import import short_id L51–51
~ run
~ muse/cli/commands/rebase.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
− _short_id function function _short_id L147–159
+ short_id import import short_id L76–76
~ run
~ muse/cli/commands/reflog.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− _short_id function function _short_id L141–152
+ short_id import import short_id L86–86
~ muse/cli/commands/release.py .py 1 symbol added, 1 symbol removed, 3 symbols modified
− _short_id function function _short_id L149–158
+ short_id import import short_id L107–107
~ muse/cli/commands/remote.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L82–82
~ run
~ muse/cli/commands/reset.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L42–42
~ run
~ muse/cli/commands/revert.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L46–46
~ run
~ muse/cli/commands/semantic_cherry_pick.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L64–64
~ run
~ muse/cli/commands/semantic_test_coverage.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L144–144
~ run
~ muse/cli/commands/shard.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L96–96
~ run
~ muse/cli/commands/show.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L50–50
~ run
~ muse/cli/commands/snapshot_cmd.py .py 1 symbol added, 7 symbols modified
~ muse/cli/commands/switch.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L56–56
~ muse/cli/commands/symbol_log.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L78–78
~ muse/cli/commands/symbolic_ref.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L90–90
~ run
~ muse/cli/commands/symbols.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L71–71
~ run
~ muse/cli/commands/tag.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L57–57
~ muse/cli/commands/type_cmd.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L45–45
~ muse/cli/commands/verify_commit.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L64–64
~ run
~ muse/cli/commands/verify_object.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L78–78
~ muse/cli/commands/verify_pack.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L93–93
~ run
~ muse/cli/commands/workspace.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L38–38
~ muse/cli/commands/worktree.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L41–41
~ muse/cli/config.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L55–55
~ muse/core/_types.py .py 1 symbol added
+ short_id function function short_id L52–68
~ muse/core/diff_algorithms/lcs.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L30–30
~ diff
~ muse/core/diff_algorithms/set_ops.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L25–25
~ diff
~ muse/core/doc_renderer.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L44–44
~ muse/core/gc.py .py 1 symbol added, 3 symbols modified
~ muse/core/harmony.py .py 6 symbols added, 9 symbols modified
+ auto_apply function function auto_apply L1933–2036
+ compute_semantic_fingerprint function function compute_semantic_fingerprint L1889–1930
+ Manifest import import Manifest L96–96
+ short_id import import short_id L96–96
+ validate_object_id import import validate_object_id L97–97 ← moved from muse/core/rerere.py
+ record_resolutions function function record_resolutions L2039–2138
~ muse/core/harmony_engine.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L77–77
~ muse/core/merge_engine.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L60–60
~ muse/core/object_store.py .py 1 symbol added, 4 symbols modified
+ short_id import import short_id L55–55
~ muse/core/op_log.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L66–66
~ OpLog
~ muse/core/pack.py .py 1 symbol added, 6 symbols modified
~ muse/core/provenance.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L67–67
~ muse/core/query_engine.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L80–80
~ muse/core/rebase.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L69–69
~ muse/core/transport.py .py 1 symbol added, 4 symbols modified
+ short_id import import short_id L157–157
~ muse/core/verify.py .py 1 symbol added, 1 symbol modified
+ short_id import import short_id L47–47
~ muse/domain.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
− RererePlugin class class RererePlugin L849–911
+ HarmonyPlugin class class HarmonyPlugin L849–911
~ muse/plugins/code/_query.py .py 1 symbol added, 3 symbols modified
+ short_id import import short_id L21–21
~ muse/plugins/code/_refactor_classify.py .py 1 symbol added, 4 symbols modified
+ short_id import import short_id L34–34
~ muse/plugins/code/release_analysis.py .py 1 symbol added, 2 symbols modified
+ short_id import import short_id L41–41
~ tests/test_cmd_merge_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
− test_no_rerere_autoupdate method method test_no_rerere_autoupdate L175–177
− test_rerere_autoupdate_default_true method method test_rerere_autoupdate_default_true L171–173
+ test_harmony_autoupdate_default_true method method test_harmony_autoupdate_default_true L171–173
+ test_no_harmony_autoupdate method method test_no_harmony_autoupdate L175–177
← Older Oldest on task/short-id-and-harmony-migration
All commits
Newer → Latest on task/short-id-and-harmony-migration

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