gabriel / muse public
refactor BREAKING task/unified-object-store #5 / 9
AI Agent gabriel · 114 days ago · May 20, 2026 · Diff

refactor: migrate test suite to unified object store IDs (batches 1–15)

Replace all compute_commit_id/compute_snapshot_id shim imports with hash_commit/hash_snapshot from muse.core.ids across the test suite. Fix accompanying bugs surfaced by the migration:

- _write_object helpers in test_cmd_merge/shelf now use write_object() so the blob header is included - test_cmd_merge_tree snapshot existence check uses object_path() - test_cmd_name_rev/rev_parse/read_commit collision messages recomputed under new hash_commit formula - verify.py snapshot sweep walks iter_stored_objects() instead of scanning .muse/snapshots/*.msgpack - test_cmd_verify_commit _force_write_commit writes to unified object store with commit <size>\0<payload> header - test_cmd_verify_hardening bare hex snap_id wrapped with long_id()

sha256:b0e91fbefb1a2ce2d5cd47f2ac09380c9c25f961d8b2d280b5ccbd0d9e8bd350 sha
+136 ~272 −146 symbols
sha256:9d384fbf47336d7254b6929c7ced935fee28f50c0ca26acaa1143e96bb76cebc snapshot
+136
symbols added
~272
symbols modified
−146
symbols removed
0
dead code introduced
Semantic Changes 554 symbols
~ .coverage .coverage
~ .cursorrules .cursorrules
~ .museattributes .museattributes
~ .museignore .museignore
~ .windsurfrules .windsurfrules
~ AGENTS.md .md
~ CLAUDE.md .md
~ README.md .md
~ dev-setup.sh .sh
~ muse/cli/commands/archive.py .py 1 symbol added, 4 symbols modified
+ read_object import import read_object L112–112
~ run
~ muse/cli/commands/cat_object.py .py 1 symbol added, 4 symbols modified
+ read_object import import read_object L96–96
~ run
~ muse/cli/commands/snapshot_cmd.py .py 1 symbol added, 6 symbols modified
~ muse/core/blame.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
object_path import import object_path L38–38
+ read_object import import read_object L38–38
~ muse/core/gc.py .py 1 symbol modified
~ muse/core/migrate.py .py 1 symbol modified
~ muse/core/stat_cache.py .py 1 symbol modified
~ muse/core/types.py .py 2 symbols modified
~ muse/core/verify.py .py 1 symbol added, 2 symbols modified
+ iter_stored_objects import import iter_stored_objects L58–58
~ pyproject.toml .toml
~ tests/test_algo_prefix_globs.py .py 2 symbols added, 1 symbol removed, 2 symbols modified
compute_snapshot_id import import compute_snapshot_id L39–39
+ hash_commit import import hash_commit L39–39
+ hash_snapshot import import hash_snapshot L39–39
~ tests/test_annotate_command.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L37–37
compute_snapshot_id import import compute_snapshot_id L37–37
+ hash_commit import import hash_commit L37–37
+ hash_snapshot import import hash_snapshot L37–37
~ tests/test_anon_commit_bug.py .py 1 symbol removed, 4 symbols modified
~ tests/test_apply_mpack_pack_store.py .py 3 symbols added, 3 symbols removed, 4 symbols modified
test_writes_no_loose_objects method method test_writes_no_loose_objects L94–100
compute_commit_id import import compute_commit_id L23–23
compute_snapshot_id import import compute_snapshot_id L23–23
+ test_blobs_go_to_pack_not_loose method method test_blobs_go_to_pack_not_loose L94–105
+ hash_commit import import hash_commit L23–23
+ hash_snapshot import import hash_snapshot L23–23
~ tests/test_apply_mpack_partial_failure.py .py 2 symbols added, 2 symbols removed, 4 symbols modified
compute_commit_id import import compute_commit_id L36–36
compute_snapshot_id import import compute_snapshot_id L36–36
+ hash_commit import import hash_commit L36–36
+ hash_snapshot import import hash_snapshot L36–36
~ tests/test_apply_pack_oserror_integrity.py .py 4 symbols added, 12 symbols removed, 13 symbols modified
test_impostor_file_not_overwritten_by_apply_mpack method method test_impostor_file_not_overwritten_by_apply_mpack L177–196
_write_impostor_file function function _write_impostor_file L89–104
NULL_COMMIT_ID import import NULL_COMMIT_ID L37–37
SnapshotRecord import import SnapshotRecord L40–40
commit_path import import commit_path L40–40
commits_dir import import commits_dir L49–49
compute_commit_id import import compute_commit_id L39–39
compute_snapshot_id import import compute_snapshot_id L39–39
msgpack import import msgpack L34–34
snapshots_dir import import snapshots_dir L49–49
write_commit import import write_commit L40–40
write_snapshot import import write_snapshot L40–40
+ test_apply_mpack_oserror_commit_not_written method method test_apply_mpack_oserror_commit_not_written L148–159
+ hash_commit import import hash_commit L20–20
+ hash_snapshot import import hash_snapshot L20–20
+ patch import import patch L15–15
~ tests/test_archive_command.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L36–36
compute_snapshot_id import import compute_snapshot_id L36–36
+ hash_commit import import hash_commit L36–36
+ hash_snapshot import import hash_snapshot L36–36
~ tests/test_bare_hex_rejection.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L40–40
compute_snapshot_id import import compute_snapshot_id L40–40
+ hash_commit import import hash_commit L40–40
+ hash_snapshot import import hash_snapshot L40–40
~ _snap
~ tests/test_bundle_object_compression.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L36–36
compute_snapshot_id import import compute_snapshot_id L36–36
+ hash_commit import import hash_commit L36–36
+ hash_snapshot import import hash_snapshot L36–36
~ tests/test_bundle_reachable_from.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L17–17
compute_snapshot_id import import compute_snapshot_id L17–17
+ hash_commit import import hash_commit L17–17
+ hash_snapshot import import hash_snapshot L17–17
~ tests/test_bundle_supercharge.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L76–76
compute_snapshot_id import import compute_snapshot_id L76–76
+ hash_commit import import hash_commit L76–76
+ hash_snapshot import import hash_snapshot L76–76
~ tests/test_cat_supercharge.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L32–32
compute_snapshot_id import import compute_snapshot_id L32–32
+ hash_commit import import hash_commit L32–32
+ hash_snapshot import import hash_snapshot L32–32
~ tests/test_cli_clone.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L16–16
compute_snapshot_id import import compute_snapshot_id L16–16
+ hash_commit import import hash_commit L16–16
+ hash_snapshot import import hash_snapshot L16–16
~ tests/test_cli_inspect.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L25–25
compute_snapshot_id import import compute_snapshot_id L25–25
+ hash_commit import import hash_commit L25–25
+ hash_snapshot import import hash_snapshot L25–25
~ tests/test_cli_new_commands.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L11–11
compute_snapshot_id import import compute_snapshot_id L11–11
+ hash_commit import import hash_commit L11–11
+ hash_snapshot import import hash_snapshot L11–11
~ tests/test_clone_partial.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L22–22
compute_snapshot_id import import compute_snapshot_id L22–22
+ hash_commit import import hash_commit L22–22
+ hash_snapshot import import hash_snapshot L22–22
~ tests/test_cmd_annotate_hardening.py .py 2 symbols added, 2 symbols removed, 7 symbols modified
compute_commit_id import import compute_commit_id L51–51
compute_snapshot_id import import compute_snapshot_id L51–51
+ hash_commit import import hash_commit L51–51
+ hash_snapshot import import hash_snapshot L51–51
~ tests/test_cmd_apply.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L26–26
compute_snapshot_id import import compute_snapshot_id L26–26
+ hash_commit import import hash_commit L26–26
+ hash_snapshot import import hash_snapshot L26–26
~ tests/test_cmd_apply_patch.py .py 2 symbols added, 2 symbols removed, 3 symbols modified
compute_commit_id import import compute_commit_id L21–21
compute_snapshot_id import import compute_snapshot_id L21–21
+ hash_commit import import hash_commit L21–21
+ hash_snapshot import import hash_snapshot L21–21
~ tests/test_cmd_bisect.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L22–22
compute_snapshot_id import import compute_snapshot_id L22–22
+ hash_commit import import hash_commit L22–22
+ hash_snapshot import import hash_snapshot L22–22
~ tests/test_cmd_bisect_hardening.py .py 2 symbols added, 2 symbols removed, 3 symbols modified
compute_commit_id import import compute_commit_id L23–23
compute_snapshot_id import import compute_snapshot_id L23–23
+ hash_commit import import hash_commit L23–23
+ hash_snapshot import import hash_snapshot L23–23
~ tests/test_cmd_blame.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L54–54
compute_snapshot_id import import compute_snapshot_id L54–54
+ hash_commit import import hash_commit L54–54
+ hash_snapshot import import hash_snapshot L54–54
~ tests/test_cmd_blame_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L56–56
compute_snapshot_id import import compute_snapshot_id L56–56
+ hash_commit import import hash_commit L56–56
+ hash_snapshot import import hash_snapshot L56–56
~ tests/test_cmd_bundle.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L20–20
compute_snapshot_id import import compute_snapshot_id L20–20
+ hash_commit import import hash_commit L20–20
+ hash_snapshot import import hash_snapshot L20–20
~ tests/test_cmd_bundle_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L33–33
compute_snapshot_id import import compute_snapshot_id L33–33
+ hash_commit import import hash_commit L33–33
+ hash_snapshot import import hash_snapshot L33–33
~ tests/test_cmd_check.py .py 3 symbols added, 5 symbols removed, 5 symbols modified
commit_path import import commit_path L87–87
compute_commit_id import import compute_commit_id L86–86
compute_snapshot_id import import compute_snapshot_id L86–86
msgpack import import msgpack L82–82
object_path import import object_path L90–90
+ hash_commit import import hash_commit L85–85
+ hash_snapshot import import hash_snapshot L85–85
+ write_object import import write_object L89–89
~ tests/test_cmd_cherry_pick.py .py 1 symbol modified
~ tests/test_cmd_cherry_pick_hardening.py .py 1 symbol removed, 4 symbols modified
commits_dir import import commits_dir L1145–1145
~ tests/test_cmd_clean.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L17–17
compute_snapshot_id import import compute_snapshot_id L17–17
+ hash_commit import import hash_commit L17–17
+ hash_snapshot import import hash_snapshot L17–17
~ tests/test_cmd_clean_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L31–31
compute_snapshot_id import import compute_snapshot_id L31–31
+ hash_commit import import hash_commit L31–31
+ hash_snapshot import import hash_snapshot L31–31
~ tests/test_cmd_code_query.py .py 2 symbols added, 2 symbols removed, 3 symbols modified
compute_commit_id import import compute_commit_id L46–46
compute_snapshot_id import import compute_snapshot_id L46–46
+ hash_commit import import hash_commit L46–46
+ hash_snapshot import import hash_snapshot L46–46
~ tests/test_cmd_commit_graph.py .py 2 symbols added, 2 symbols removed, 3 symbols modified
compute_commit_id import import compute_commit_id L18–18
compute_snapshot_id import import compute_snapshot_id L18–18
+ hash_commit import import hash_commit L18–18
+ hash_snapshot import import hash_snapshot L18–18
~ _snap
~ tests/test_cmd_commit_graph_enhancements.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L13–13
compute_snapshot_id import import compute_snapshot_id L13–13
+ hash_commit import import hash_commit L13–13
+ hash_snapshot import import hash_snapshot L13–13
~ _snap
~ tests/test_cmd_commit_tree.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L18–18
compute_snapshot_id import import compute_snapshot_id L18–18
+ hash_commit import import hash_commit L18–18
+ hash_snapshot import import hash_snapshot L18–18
~ _snap
~ tests/test_cmd_content_grep.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L21–21
compute_snapshot_id import import compute_snapshot_id L21–21
+ hash_commit import import hash_commit L21–21
+ hash_snapshot import import hash_snapshot L21–21
~ tests/test_cmd_content_grep_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L33–33
compute_snapshot_id import import compute_snapshot_id L33–33
+ hash_commit import import hash_commit L33–33
+ hash_snapshot import import hash_snapshot L33–33
~ tests/test_cmd_core_cat.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L33–33
compute_snapshot_id import import compute_snapshot_id L33–33
+ hash_commit import import hash_commit L33–33
+ hash_snapshot import import hash_snapshot L33–33
~ tests/test_cmd_count_objects.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L25–25
compute_snapshot_id import import compute_snapshot_id L25–25
+ hash_commit import import hash_commit L25–25
+ hash_snapshot import import hash_snapshot L25–25
~ tests/test_cmd_describe.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L20–20
compute_snapshot_id import import compute_snapshot_id L20–20
+ hash_commit import import hash_commit L20–20
+ hash_snapshot import import hash_snapshot L20–20
~ tests/test_cmd_describe_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L30–30
compute_snapshot_id import import compute_snapshot_id L30–30
+ hash_commit import import hash_commit L30–30
+ hash_snapshot import import hash_snapshot L30–30
~ tests/test_cmd_docs.py .py 1 symbol added, 5 symbols modified
~ tests/test_cmd_for_each_ref.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L33–33
compute_snapshot_id import import compute_snapshot_id L33–33
+ hash_commit import import hash_commit L33–33
+ hash_snapshot import import hash_snapshot L33–33
~ _snap
~ tests/test_cmd_for_each_ref_hardening.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L26–26
compute_snapshot_id import import compute_snapshot_id L26–26
+ hash_commit import import hash_commit L26–26
+ hash_snapshot import import hash_snapshot L26–26
~ tests/test_cmd_format_patch.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L22–22
compute_snapshot_id import import compute_snapshot_id L22–22
+ hash_commit import import hash_commit L22–22
+ hash_snapshot import import hash_snapshot L22–22
~ tests/test_cmd_integration.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L29–29
compute_snapshot_id import import compute_snapshot_id L29–29
+ hash_commit import import hash_commit L29–29
+ hash_snapshot import import hash_snapshot L29–29
~ _snap
~ tests/test_cmd_ls_files.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L19–19
compute_snapshot_id import import compute_snapshot_id L19–19
+ hash_commit import import hash_commit L19–19
+ hash_snapshot import import hash_snapshot L19–19
~ tests/test_cmd_ls_tree.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L28–28
compute_snapshot_id import import compute_snapshot_id L28–28
+ hash_commit import import hash_commit L28–28
+ hash_snapshot import import hash_snapshot L28–28
~ tests/test_cmd_maintenance.py .py 1 symbol removed
compute_snapshot_id import import compute_snapshot_id L28–28
~ tests/test_cmd_merge.py .py 2 symbols modified
~ tests/test_cmd_merge_base.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L19–19
compute_snapshot_id import import compute_snapshot_id L19–19
+ hash_commit import import hash_commit L19–19
+ hash_snapshot import import hash_snapshot L19–19
~ _snap
~ tests/test_cmd_merge_base_and_snapshot_diff.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L17–17
compute_snapshot_id import import compute_snapshot_id L17–17
+ hash_commit import import hash_commit L17–17
+ hash_snapshot import import hash_snapshot L17–17
~ _snap
~ tests/test_cmd_merge_dry_run.py .py 1 symbol modified
~ tests/test_cmd_merge_tree.py .py 2 symbols added, 3 symbols removed, 6 symbols modified
compute_commit_id import import compute_commit_id L25–25
compute_snapshot_id import import compute_snapshot_id L25–25
snapshot_path import import snapshot_path L26–26
+ hash_commit import import hash_commit L25–25
+ hash_snapshot import import hash_snapshot L25–25
~ tests/test_cmd_mv.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L24–24
compute_snapshot_id import import compute_snapshot_id L24–24
+ hash_commit import import hash_commit L24–24
+ hash_snapshot import import hash_snapshot L24–24
~ tests/test_cmd_name_rev.py .py 2 symbols added, 2 symbols removed, 5 symbols modified
compute_commit_id import import compute_commit_id L37–37
compute_snapshot_id import import compute_snapshot_id L37–37
+ hash_commit import import hash_commit L37–37
+ hash_snapshot import import hash_snapshot L37–37
~ _snap
~ tests/test_cmd_pull_hardening.py .py 1 symbol modified
~ repo
~ tests/test_cmd_read_commit.py .py 2 symbols added, 2 symbols removed, 7 symbols modified
compute_commit_id import import compute_commit_id L17–17
compute_snapshot_id import import compute_snapshot_id L17–17
+ hash_commit import import hash_commit L17–17
+ hash_snapshot import import hash_snapshot L17–17
~ tests/test_cmd_read_snapshot.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
compute_snapshot_id import import compute_snapshot_id L18–18
+ hash_snapshot import import hash_snapshot L18–18
~ _snap
~ tests/test_cmd_remaining.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L23–23
compute_snapshot_id import import compute_snapshot_id L23–23
+ hash_commit import import hash_commit L23–23
+ hash_snapshot import import hash_snapshot L23–23
~ _snap
~ tests/test_cmd_reset_revert.py .py 1 symbol modified
~ tests/test_cmd_restore.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L26–26
compute_snapshot_id import import compute_snapshot_id L26–26
+ hash_commit import import hash_commit L26–26
+ hash_snapshot import import hash_snapshot L26–26
~ tests/test_cmd_rev_parse.py .py 2 symbols added, 2 symbols removed, 6 symbols modified
compute_commit_id import import compute_commit_id L20–20
compute_snapshot_id import import compute_snapshot_id L20–20
+ hash_commit import import hash_commit L20–20
+ hash_snapshot import import hash_snapshot L20–20
~ tests/test_cmd_rm.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L41–41
compute_snapshot_id import import compute_snapshot_id L41–41
+ hash_commit import import hash_commit L41–41
+ hash_snapshot import import hash_snapshot L41–41
~ tests/test_cmd_shelf.py .py 2 symbols modified
~ tests/test_cmd_shortlog.py .py 2 symbols added, 2 symbols removed, 1 symbol modified
compute_commit_id import import compute_commit_id L19–19
compute_snapshot_id import import compute_snapshot_id L19–19
+ hash_commit import import hash_commit L19–19
+ hash_snapshot import import hash_snapshot L19–19
~ tests/test_cmd_shortlog_hardening.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L33–33
compute_snapshot_id import import compute_snapshot_id L33–33
+ hash_commit import import hash_commit L33–33
+ hash_snapshot import import hash_snapshot L33–33
~ tests/test_cmd_snapshot_diff.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L19–19
compute_snapshot_id import import compute_snapshot_id L19–19
+ hash_commit import import hash_commit L19–19
+ hash_snapshot import import hash_snapshot L19–19
~ _snap
~ tests/test_cmd_sparse_checkout.py .py 2 symbols removed
compute_commit_id import import compute_commit_id L26–26
compute_snapshot_id import import compute_snapshot_id L26–26
~ tests/test_cmd_stress.py .py 2 symbols added, 2 symbols removed, 4 symbols modified
compute_commit_id import import compute_commit_id L34–34
compute_snapshot_id import import compute_snapshot_id L34–34
+ hash_commit import import hash_commit L34–34
+ hash_snapshot import import hash_snapshot L34–34
~ _snap
~ tests/test_cmd_symbolic_ref.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L28–28
compute_snapshot_id import import compute_snapshot_id L28–28
+ hash_commit import import hash_commit L28–28
+ hash_snapshot import import hash_snapshot L28–28
~ _snap
~ tests/test_cmd_tag.py .py 1 symbol modified
~ tests/test_cmd_test.py .py 1 symbol modified
~ repo
~ tests/test_cmd_update_ref.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
compute_commit_id import import compute_commit_id L19–19
compute_snapshot_id import import compute_snapshot_id L19–19
+ hash_commit import import hash_commit L19–19
+ hash_snapshot import import hash_snapshot L19–19
~ tests/test_cmd_verify_commit.py .py 2 symbols added, 2 symbols removed, 4 symbols modified
compute_commit_id import import compute_commit_id L66–66
compute_snapshot_id import import compute_snapshot_id L66–66
+ hash_commit import import hash_commit L66–66
+ hash_snapshot import import hash_snapshot L66–66
~ tests/test_cmd_verify_hardening.py .py 2 symbols added, 2 symbols removed, 5 symbols modified
compute_commit_id import import compute_commit_id L63–63
compute_snapshot_id import import compute_snapshot_id L63–63
+ hash_commit import import hash_commit L63–63
+ hash_snapshot import import hash_snapshot L63–63
~ tests/test_cmd_worktree.py .py 1 symbol modified

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