gabriel / muse public
refactor BREAKING task/full-id-audit #1 / 1
AI Agent gabriel · 133 days ago · May 5, 2026 · Diff

refactor: replace short_id with full IDs in all non-narrow-column contexts

- JSON output fields: all now return full sha256:<64-hex> IDs - Error/status/warning messages: all use full IDs - Narrow-column exceptions kept: log tables, range-diff, reflog, bundle commit lists, harmony table rows, lineage/rebase dry-run tables, release/query/symbol_log/type_cmd commit columns, git-style [branch sha] confirmations, branch -v hash column - Tests updated: length assertions changed 19→71, regex changed [:12]→[:64] - Tests fixed: removed import of non-existent _short_id from read_commit, updated archive test to expect full bare hex filename, shard test updated for collapsed commit/full_commit_id fields

sha256:6c97140db66841bed0201ccee4f032ed3dbd033efcd327ba501b2a9cd0ec6b55 sha
+28 ~254 −110 symbols
sha256:73aa22c637b1f4ae29c62f9274f44cd78694223ee79d61ca8bcd25b4cb0e31a9 snapshot
+28
symbols added
~254
symbols modified
−110
symbols removed
0
dead code introduced
Semantic Changes 392 symbols
~ muse/cli/commands/agent_map.py .py 1 symbol modified
~ run
~ muse/cli/commands/annotate.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L100–100
~ _show
~ run
~ muse/cli/commands/api_surface.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L83–83
~ muse/cli/commands/archive.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
short_id import import short_id L109–109
+ split_id import import split_id L109–109
~ run
~ muse/cli/commands/bisect.py .py 1 symbol removed, 6 symbols modified
~ muse/cli/commands/blame.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L88–88
~ run
~ muse/cli/commands/branch.py .py 1 symbol modified
~ run
~ muse/cli/commands/breakage.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L60–60
~ run
~ muse/cli/commands/cadence.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L32–32
~ run
~ muse/cli/commands/cat.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L40–40
~ run
~ muse/cli/commands/cat_object.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L94–94
~ run
~ muse/cli/commands/check.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L62–62
~ run
~ muse/cli/commands/checkout.py .py 1 symbol removed, 4 symbols modified
short_id import import short_id L95–95
~ run
~ muse/cli/commands/checkout_symbol.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L96–96
~ run
~ muse/cli/commands/cherry_pick.py .py 1 symbol modified
~ run
~ muse/cli/commands/clone.py .py 1 symbol removed, 4 symbols modified
short_id import import short_id L65–65
~ run
~ muse/cli/commands/clones.py .py 1 symbol removed, 4 symbols modified
short_id import import short_id L86–86
~ run
~ muse/cli/commands/code_check.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L51–51
~ run
~ muse/cli/commands/codemap.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L74–74
~ run
~ muse/cli/commands/commit.py .py 1 symbol modified
~ run
~ muse/cli/commands/compare.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L53–53
~ run
~ muse/cli/commands/content_grep.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L90–90
~ run
~ muse/cli/commands/contour.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L32–32
~ run
~ muse/cli/commands/core_cat.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L49–49
~ run
~ muse/cli/commands/coverage.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L93–93
~ run
~ muse/cli/commands/dag.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L90–90
~ muse/cli/commands/dead.py .py 1 symbol removed, 3 symbols modified
short_id import import short_id L141–141
~ run
~ muse/cli/commands/density.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L31–31
~ run
~ muse/cli/commands/deps.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L79–79
~ run
~ muse/cli/commands/detect_refactor.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L100–100
~ run
~ muse/cli/commands/docs_cmd.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L126–126
~ muse/cli/commands/fetch.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L87–87
~ muse/cli/commands/find_phrase.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L33–33
~ run
~ muse/cli/commands/find_symbol.py .py 1 symbol removed, 3 symbols modified
short_id import import short_id L96–96
~ run
~ muse/cli/commands/gravity.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L123–123
~ run
~ muse/cli/commands/grep.py .py 1 symbol modified
~ run
~ muse/cli/commands/impact.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L87–87
~ muse/cli/commands/instrumentation.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L35–35
~ run
~ muse/cli/commands/invariants.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L115–115
~ run
~ muse/cli/commands/languages.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L53–53
~ muse/cli/commands/merge.py .py 2 symbols modified
~ muse/cli/commands/merge_tree.py .py 1 symbol removed, 3 symbols modified
short_id import import short_id L91–91
~ run
~ muse/cli/commands/midi_compare.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L37–37
~ _load
~ muse/cli/commands/midi_harmony.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L40–40
~ run
~ muse/cli/commands/motif_detect.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L31–31
~ run
~ muse/cli/commands/narrative.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L145–145
~ muse/cli/commands/note_blame.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L32–32
~ run
~ muse/cli/commands/note_log.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L35–35
~ run
~ muse/cli/commands/notes.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L40–40
~ run
~ muse/cli/commands/piano_roll.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L37–37
~ run
~ muse/cli/commands/plan_merge.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L106–106
~ run
~ muse/cli/commands/prune.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L85–85
~ run
~ muse/cli/commands/pull.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L53–53
~ run
~ muse/cli/commands/push.py .py 2 symbols modified
~ muse/cli/commands/query.py .py 1 symbol modified
~ run
~ muse/cli/commands/query_history.py .py 1 symbol removed, 3 symbols modified
short_id import import short_id L81–81
~ run
~ muse/cli/commands/read.py .py 1 symbol removed, 4 symbols modified
short_id import import short_id L83–83
~ run
~ muse/cli/commands/read_commit.py .py 2 symbols removed, 3 symbols modified
_short_id variable variable _short_id L65–65
short_id import import short_id L63–63
~ run
~ muse/cli/commands/read_snapshot.py .py 2 symbols removed, 2 symbols modified
_short_id variable variable _short_id L54–54
short_id import import short_id L49–49
~ run
~ muse/cli/commands/rebase.py .py 2 symbols modified
~ muse/cli/commands/remote.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L82–82
~ run
~ muse/cli/commands/reset.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L39–39
~ run
~ muse/cli/commands/revert.py .py 1 symbol modified
~ run
~ muse/cli/commands/rhythm.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L29–29
~ run
~ muse/cli/commands/scale_detect.py .py 1 symbol modified
~ run
~ muse/cli/commands/semantic_cherry_pick.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L61–61
~ run
~ muse/cli/commands/semantic_test_coverage.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L141–141
~ run
~ muse/cli/commands/shard.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L98–98
~ run
~ muse/cli/commands/snapshot_cmd.py .py 1 symbol added, 1 symbol removed, 8 symbols modified
short_id import import short_id L80–80
+ split_id import import split_id L80–80
~ muse/cli/commands/switch.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L73–73
~ muse/cli/commands/symbolic_ref.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L108–108
~ run
~ muse/cli/commands/symbols.py .py 1 symbol modified
~ run
~ muse/cli/commands/tag.py .py 1 symbol removed, 5 symbols modified
short_id import import short_id L66–66
~ muse/cli/commands/tempo.py .py 1 symbol modified
~ run
~ muse/cli/commands/tension.py .py 1 symbol modified
~ run
~ muse/cli/commands/verify_commit.py .py 1 symbol removed, 5 symbols modified
short_id import import short_id L62–62
~ run
~ muse/cli/commands/verify_object.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L93–93
~ muse/cli/commands/verify_pack.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L115–115
~ run
~ muse/cli/commands/workspace.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L50–50
~ muse/cli/commands/worktree.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L39–39
~ muse/core/diff_algorithms/lcs.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L28–28
~ diff
~ muse/core/diff_algorithms/set_ops.py .py 1 symbol removed, 1 symbol modified
short_id import import short_id L23–23
~ diff
~ muse/core/doc_renderer.py .py 1 symbol removed, 3 symbols modified
short_id import import short_id L42–42
~ muse/core/gc.py .py 1 symbol removed, 4 symbols modified
~ muse/core/harmony_engine.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L76–76
~ muse/core/merge_engine.py .py 1 symbol modified
~ muse/core/op_log.py .py 1 symbol removed, 5 symbols modified
short_id import import short_id L62–62
~ OpLog
~ muse/core/query_engine.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L77–77
~ muse/core/rebase.py .py 1 symbol removed, 3 symbols modified
short_id import import short_id L68–68
~ muse/core/verify.py .py 1 symbol removed, 7 symbols modified
short_id import import short_id L56–56
~ muse/plugins/code/_refactor_classify.py .py 1 symbol removed, 4 symbols modified
short_id import import short_id L32–32
~ muse/plugins/code/release_analysis.py .py 1 symbol removed, 2 symbols modified
short_id import import short_id L39–39
~ tests/test_archive_command.py .py 1 symbol added, 6 symbols modified
~ tests/test_cmd_cherry_pick_hardening.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_dry_run_text_shows_prefixed_short_id method method test_dry_run_text_shows_prefixed_short_id L1119–1137
+ test_dry_run_text_shows_prefixed_full_id method method test_dry_run_text_shows_prefixed_full_id L1119–1136
~ tests/test_cmd_codemap.py .py 1 symbol added, 1 symbol removed, 3 symbols modified
test_json_commit_is_short_id method method test_json_commit_is_short_id L554–562
+ test_json_commit_is_full_id method method test_json_commit_is_full_id L553–560
~ tests/test_cmd_semantic_cherry_pick.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_json_from_commit_is_short_id method method test_json_from_commit_is_short_id L458–463
+ test_json_from_commit_is_full_id method method test_json_from_commit_is_full_id L458–462
~ tests/test_cmd_shard.py .py 1 symbol added, 3 symbols removed, 5 symbols modified
test_commit_short_is_8_chars method method test_commit_short_is_8_chars L506–509
test_full_commit_id_present_and_full method method test_full_commit_id_present_and_full L498–504
short_id import import short_id L72–72
+ test_commit_is_full_id method method test_commit_is_full_id L498–503
~ tests/test_cmd_tag_hardening.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
test_list_text_mode_shows_commit_short method method test_list_text_mode_shows_commit_short L1157–1166
+ test_list_text_mode_shows_commit_full_id method method test_list_text_mode_shows_commit_full_id L1157–1166
~ tests/test_read_commit_supercharge.py .py 10 symbols added, 12 symbols removed
TestShortId class class TestShortId L117–147
test_short_id_12_hex_chars_after_prefix method method test_short_id_12_hex_chars_after_prefix L125–129
test_short_id_bare_hex_fallback method method test_short_id_bare_hex_fallback L137–142
test_short_id_keeps_sha256_prefix method method test_short_id_keeps_sha256_prefix L120–123
test_short_id_matches_regex method method test_short_id_matches_regex L144–147
test_short_id_total_length_is_19 method method test_short_id_total_length_is_19 L131–135
TestTextFormatShortId class class TestTextFormatShortId L209–256
_short_token method method _short_token L212–217
test_text_short_id_has_12_hex_chars method method test_text_short_id_has_12_hex_chars L229–238
test_text_short_id_has_sha256_prefix method method test_text_short_id_has_sha256_prefix L219–227
test_text_short_id_is_prefix_of_full_id method method test_text_short_id_is_prefix_of_full_id L249–256
test_text_short_id_total_length_is_19 method method test_text_short_id_total_length_is_19 L240–247
+ TestCommitIdFormat class class TestCommitIdFormat L117–130
+ test_commit_id_keeps_sha256_prefix method method test_commit_id_keeps_sha256_prefix L120–122
+ test_commit_id_total_length_is_71 method method test_commit_id_total_length_is_71 L124–126
+ test_full_id_matches_regex method method test_full_id_matches_regex L128–130
+ TestTextFormatFullId class class TestTextFormatFullId L192–237
+ _full_token method method _full_token L195–199
+ test_text_full_id_has_64_hex_chars method method test_text_full_id_has_64_hex_chars L211–219
+ test_text_full_id_has_sha256_prefix method method test_text_full_id_has_sha256_prefix L201–209
+ test_text_full_id_matches_commit_id method method test_text_full_id_matches_commit_id L230–237
+ test_text_full_id_total_length_is_71 method method test_text_full_id_total_length_is_71 L221–228
~ tests/test_read_snapshot_supercharge.py .py 10 symbols added, 12 symbols removed
TestShortId class class TestShortId L77–104
test_short_id_12_hex_chars_after_prefix method method test_short_id_12_hex_chars_after_prefix L85–89
test_short_id_bare_hex_fallback method method test_short_id_bare_hex_fallback L96–99
test_short_id_keeps_sha256_prefix method method test_short_id_keeps_sha256_prefix L80–83
test_short_id_matches_regex method method test_short_id_matches_regex L101–104
test_short_id_total_length_is_19 method method test_short_id_total_length_is_19 L91–94
TestTextFormatShortId class class TestTextFormatShortId L163–204
_short_token method method _short_token L166–170
test_text_short_id_has_12_hex_chars method method test_text_short_id_has_12_hex_chars L181–188
test_text_short_id_has_sha256_prefix method method test_text_short_id_has_sha256_prefix L172–179
test_text_short_id_is_prefix_of_full_id method method test_text_short_id_is_prefix_of_full_id L198–204
test_text_short_id_total_length_is_19 method method test_text_short_id_total_length_is_19 L190–196
+ TestSnapshotIdFormat class class TestSnapshotIdFormat L77–90
+ test_snapshot_id_keeps_sha256_prefix method method test_snapshot_id_keeps_sha256_prefix L80–82
+ test_snapshot_id_matches_full_regex method method test_snapshot_id_matches_full_regex L88–90
+ test_snapshot_id_total_length_is_71 method method test_snapshot_id_total_length_is_71 L84–86
+ TestTextFormatFullId class class TestTextFormatFullId L149–190
+ _full_token method method _full_token L152–156
+ test_text_full_id_has_64_hex_chars method method test_text_full_id_has_64_hex_chars L167–174
+ test_text_full_id_has_sha256_prefix method method test_text_full_id_has_sha256_prefix L158–165
+ test_text_full_id_matches_snapshot_id method method test_text_full_id_matches_snapshot_id L184–190
+ test_text_full_id_total_length_is_71 method method test_text_full_id_total_length_is_71 L176–182
← Older Oldest on task/full-id-audit
All commits
Newer → Latest on task/full-id-audit

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