gabriel / muse public
refactor BREAKING task/museignore-tls #7 / 19
AI Agent gabriel · 151 days ago · Apr 25, 2026 · Diff

refactor: path helpers sweep + canonical sha256: prefix on all stored hashes

- Add muse/core/paths.py: composable path helpers for every .muse/ layout path - Replace all inline root/.muse/... construction with named helpers throughout - Fix batch-script-mangled calls in gc.py, repo.py, semver_classifier.py - Wrap every bare hexdigest() that produces a stored/transmitted ID with long_id() so all content IDs carry the canonical sha256: prefix: diff_algorithms/numerical.py, provenance.py, plugins/identity, plugins/midi/*, plugins/code/manifest.py, plugins/code/_query.py, cli/commands/harmony.py, cli/commands/patch_id.py, cli/commands/sign.py - Rename _fake_hex64 -> _stub_id in harmony.py - Delete dead _hash_file and content_hash functions from plugins/midi/plugin.py - Signing preimages (provenance_payload, tag_payload) remain bare hex intentionally

sha256:0f305a9f195ecc81351e2bf54e4b59caa5d712a6c2cb3eaa6a2aa6d97b423577 sha
+192 ~203 −12 symbols
sha256:b7b3b9e6f10e10faf2cd66fa1ff627ebeb9cace82c39071260a1ff36f12be800 snapshot
+192
symbols added
~203
symbols modified
−12
symbols removed
0
dead code introduced
Semantic Changes 407 symbols
~ muse/core/paths.py .py 51 symbols added
+ agent_md_path function function agent_md_path L135–137
+ bisect_state_path function function bisect_state_path L145–147
+ checkout_head_path function function checkout_head_path L200–202
+ code_config_path function function code_config_path L215–217
+ code_dir function function code_dir L205–207
+ code_manifests_dir function function code_manifests_dir L220–222
+ code_stage_path function function code_stage_path L210–212
+ commits_dir function function commits_dir L40–42
+ config_toml_path function function config_toml_path L120–122
+ coordination_dir function function coordination_dir L65–67
+ dead_allowlist_path function function dead_allowlist_path L230–232
+ harmony_dir function function harmony_dir L70–72
+ head_path function function head_path L110–112
+ heads_dir function function heads_dir L85–87
+ MUSE_DIR import import MUSE_DIR L22–22
+ OBJECTS_DIR import import OBJECTS_DIR L22–22
+ annotations import import annotations L18–18
+ pathlib import import pathlib L20–20
+ indices_dir function function indices_dir L60–62
+ logs_dir function function logs_dir L75–77
+ maintenance_json_path function function maintenance_json_path L180–182
+ merge_state_path function function merge_state_path L150–152
+ midi_invariants_path function function midi_invariants_path L165–167
+ muse_dir function function muse_dir L30–32
+ objects_dir function function objects_dir L35–37
+ prev_branch_path function function prev_branch_path L195–197
+ rebase_merge_dir function function rebase_merge_dir L170–172
+ ref_path function function ref_path L100–102
+ reflog_branch_path function function reflog_branch_path L190–192
+ reflog_heads_dir function function reflog_heads_dir L185–187
+ refs_dir function function refs_dir L80–82
+ releases_dir function function releases_dir L55–57
+ remote_ref_path function function remote_ref_path L105–107
+ remote_tracking_dir function function remote_tracking_dir L95–97
+ remotes_dir function function remotes_dir L90–92
+ repo_json_path function function repo_json_path L115–117
+ shallow_path function function shallow_path L140–142
+ shelf_json_path function function shelf_json_path L130–132
+ snapshots_dir function function snapshots_dir L45–47
+ sparse_checkout_path function function sparse_checkout_path L225–227
+ stability_toml_path function function stability_toml_path L155–157
+ symbol_cache_path function function symbol_cache_path L160–162
+ tags_dir function function tags_dir L50–52
+ test_history_path function function test_history_path L175–177
+ user_agent_slots_path function function user_agent_slots_path L255–257
+ user_config_toml_path function function user_config_toml_path L260–262
+ user_hub_trust_path function function user_hub_trust_path L250–252
+ user_identity_toml_path function function user_identity_toml_path L265–267
+ user_keys_dir function function user_keys_dir L245–247
+ user_muse_dir function function user_muse_dir L240–242
+ workspace_toml_path function function workspace_toml_path L125–127
~ muse/cli/commands/agent_config.py .py 3 symbols added, 10 symbols modified
+ _agent_md_path import import _agent_md_path L64–64
+ _config_toml_path import import _config_toml_path L64–64
+ _workspace_toml_path import import _workspace_toml_path L64–64
~ muse/cli/commands/branch.py .py 4 symbols added, 5 symbols modified
+ _config_toml_path import import _config_toml_path L64–64
+ _heads_dir import import _heads_dir L64–64
+ _ref_path import import _ref_path L64–64
+ _remotes_dir import import _remotes_dir L64–64
~ run
~ muse/cli/commands/bundle.py .py 1 symbol added, 1 symbol modified
+ _heads_dir import import _heads_dir L71–71
~ muse/cli/commands/checkout.py .py 2 symbols added, 2 symbols modified
+ _checkout_head_path import import _checkout_head_path L98–98
+ _muse_dir import import _muse_dir L98–98
~ run
~ muse/cli/commands/clean.py .py 1 symbol added, 2 symbols modified
+ _muse_dir import import _muse_dir L81–81
~ muse/cli/commands/clone.py .py 2 symbols added, 2 symbols modified
+ _muse_dir import import _muse_dir L68–68
+ _ref_path import import _ref_path L68–68
~ run
~ muse/cli/commands/coord_sync.py .py 1 symbol added, 2 symbols modified
+ _coordination_dir import import _coordination_dir L105–105
~ muse/cli/commands/core_blame.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L36–36
~ run
~ muse/cli/commands/count_objects.py .py 1 symbol added, 1 symbol modified
+ _objects_dir import import _objects_dir L69–69
~ run
~ muse/cli/commands/dead.py .py 1 symbol added, 1 symbol modified
+ _dead_allowlist_path import import _dead_allowlist_path L145–145
~ run
~ muse/cli/commands/domains.py .py 2 symbols added, 3 symbols modified
+ _muse_dir import import _muse_dir L68–68
+ _repo_json_path import import _repo_json_path L68–68
~ muse/cli/commands/fetch.py .py 1 symbol added, 2 symbols modified
+ _remote_tracking_dir import import _remote_tracking_dir L90–90
~ muse/cli/commands/find_symbol.py .py 1 symbol added, 1 symbol modified
+ _heads_dir import import _heads_dir L99–99
~ muse/cli/commands/format_patch.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L134–134
~ muse/cli/commands/gc.py .py 1 symbol added, 1 symbol modified
+ _symbol_cache_path import import _symbol_cache_path L37–37
~ run
~ muse/cli/commands/harmony.py .py 2 symbols added, 1 symbol removed, 2 symbols modified
_fake_hex64 function function _fake_hex64 L2270–2273
+ _stub_id function function _stub_id L2270–2273
+ long_id import import long_id L152–152
~ muse/cli/commands/index_rebuild.py .py 2 symbols added, 2 symbols modified
+ _muse_dir import import _muse_dir L74–74
+ _ref_path import import _ref_path L74–74
~ muse/cli/commands/init.py .py 2 symbols added, 1 symbol modified
+ _muse_dir import import _muse_dir L67–67
+ _ref_path import import _ref_path L67–67
~ run
~ muse/cli/commands/log.py .py 2 symbols added, 1 symbol modified
+ _ref_path import import _ref_path L115–115
+ _remote_ref_path import import _remote_ref_path L115–115
~ muse/cli/commands/ls_tree.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L103–103
~ muse/cli/commands/maintenance.py .py 1 symbol added, 1 symbol modified
+ _maintenance_json_path import import _maintenance_json_path L110–110
~ muse/cli/commands/merge.py .py 1 symbol added, 1 symbol modified
+ _merge_state_path import import _merge_state_path L67–67
~ muse/cli/commands/merge_tree.py .py 2 symbols added, 2 symbols modified
+ _ref_path import import _ref_path L93–93
+ _repo_json_path import import _repo_json_path L93–93
~ run
~ muse/cli/commands/midi_check.py .py 1 symbol added, 1 symbol modified
+ _midi_invariants_path import import _midi_invariants_path L53–53
~ run
~ muse/cli/commands/patch_id.py .py 2 symbols added, 3 symbols modified
+ _ref_path import import _ref_path L79–79
+ long_id import import long_id L78–78
~ muse/cli/commands/push.py .py 1 symbol added, 1 symbol modified
+ _remotes_dir import import _remotes_dir L84–84
~ muse/cli/commands/range_diff.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L105–105
~ muse/cli/commands/rebase.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L80–80
~ muse/cli/commands/remote.py .py 1 symbol added, 1 symbol modified
+ _remote_tracking_dir import import _remote_tracking_dir L84–84
~ muse/cli/commands/shortlog.py .py 1 symbol added, 1 symbol modified
+ _heads_dir import import _heads_dir L88–88
~ muse/cli/commands/show_ref.py .py 1 symbol added, 1 symbol modified
+ _muse_dir import import _muse_dir L83–83
~ muse/cli/commands/sign.py .py 1 symbol added, 3 symbols modified
+ long_id import import long_id L89–89
~ muse/cli/commands/snapshot_cmd.py .py 1 symbol added, 2 symbols modified
+ _snapshots_dir import import _snapshots_dir L83–83
~ muse/cli/commands/snapshot_diff.py .py 1 symbol added, 1 symbol modified
+ _snapshots_dir import import _snapshots_dir L113–113
~ muse/cli/commands/sparse_checkout.py .py 1 symbol added, 1 symbol modified
+ _sparse_checkout_path import import _sparse_checkout_path L98–98
~ muse/cli/commands/status.py .py 2 symbols added, 2 symbols modified
+ _repo_json_path import import _repo_json_path L93–93
+ _sparse_checkout_path import import _sparse_checkout_path L93–93
~ muse/cli/commands/switch.py .py 2 symbols added, 2 symbols modified
+ _prev_branch_path import import _prev_branch_path L76–76
+ _ref_path import import _ref_path L76–76
~ muse/cli/commands/symbolic_ref.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L111–111
~ muse/cli/commands/type_cmd.py .py 1 symbol added, 2 symbols modified
+ _muse_dir import import _muse_dir L46–46
~ run
~ muse/cli/commands/update_ref.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L73–73
~ run
~ muse/cli/commands/verify_commit.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L64–64
~ muse/cli/commands/verify_tag.py .py 1 symbol added, 1 symbol modified
+ _repo_json_path import import _repo_json_path L83–83
~ run
~ muse/cli/commands/watch_coord.py .py 1 symbol added, 1 symbol modified
+ _coordination_dir import import _coordination_dir L142–142
~ muse/cli/commands/worktree.py .py 1 symbol added, 1 symbol modified
+ _ref_path import import _ref_path L42–42
~ muse/cli/config.py .py 4 symbols added, 5 symbols modified
+ _remote_ref_path import import _remote_ref_path L56–56
+ _remote_tracking_dir import import _remote_tracking_dir L56–56
+ _user_config_toml_path import import _user_config_toml_path L56–56
+ _user_muse_dir import import _user_muse_dir L56–56
~ muse/cli/guard.py .py 1 symbol added, 1 symbol modified
+ _repo_json_path import import _repo_json_path L17–17
~ muse/core/agent_slots.py .py 2 symbols added, 2 symbols modified
+ _user_agent_slots_path import import _user_agent_slots_path L44–44
+ _user_muse_dir import import _user_muse_dir L44–44
~ muse/core/bisect.py .py 2 symbols added, 2 symbols modified
+ MUSE_DIR import import MUSE_DIR L68–68
+ _muse_dir import import _muse_dir L69–69
~ muse/core/callgraph_cache.py .py 1 symbol added, 2 symbols modified
+ _muse_dir import import _muse_dir L79–79
~ muse/core/coordination.py .py 1 symbol added, 1 symbol modified
+ _coordination_dir import import _coordination_dir L107–107
~ muse/core/diff_algorithms/numerical.py .py 1 symbol added, 2 symbols modified
+ long_id import import long_id L29–29
~ muse/core/gc.py .py 5 symbols added, 3 symbols modified
+ _commits_dir import import _commits_dir L67–67
+ _heads_dir import import _heads_dir L67–67
+ _shelf_json_path import import _shelf_json_path L67–67
+ _snapshots_dir import import _snapshots_dir L67–67
+ _tags_dir import import _tags_dir L67–67
~ muse/core/harmony.py .py 1 symbol added, 1 symbol removed, 4 symbols modified
harmony_dir function function harmony_dir L575–577
+ _harmony_dir import import _harmony_dir L96–96
~ muse/core/hub_trust.py .py 1 symbol added, 1 symbol modified
+ _user_hub_trust_path import import _user_hub_trust_path L52–52
~ muse/core/identity.py .py 2 symbols added, 2 symbols modified
+ _user_identity_toml_path import import _user_identity_toml_path L79–79
+ _user_muse_dir import import _user_muse_dir L79–79
~ muse/core/implicit_edge_cache.py .py 1 symbol added, 2 symbols modified
+ _muse_dir import import _muse_dir L67–67
~ muse/core/indices.py .py 1 symbol added, 1 symbol modified
+ _indices_dir import import _indices_dir L48–48
~ muse/core/keypair.py .py 1 symbol added, 1 symbol modified
+ _user_keys_dir import import _user_keys_dir L60–60
~ muse/core/merge_engine.py .py 1 symbol added
+ _merge_state_path import import _merge_state_path L60–60
~ muse/core/migrate.py .py 5 symbols added, 3 symbols modified
+ _commits_dir import import _commits_dir L39–39
+ _merge_state_path import import _merge_state_path L39–39
+ _muse_dir import import _muse_dir L39–39
+ _objects_dir import import _objects_dir L39–39
+ _rebase_merge_dir import import _rebase_merge_dir L39–39
~ muse/core/object_store.py .py 1 symbol added, 2 symbols removed, 8 symbols modified
_OBJECTS_DIR variable variable _OBJECTS_DIR L71–71
OBJECTS_DIR import import OBJECTS_DIR L60–60
+ _objects_dir import import _objects_dir L61–61
~ muse/core/reflog.py .py 3 symbols added, 1 symbol removed, 3 symbols modified
_logs_dir function function _logs_dir L89–90
+ _logs_dir_path import import _logs_dir_path L58–58
+ _reflog_branch_path import import _reflog_branch_path L58–58
+ _reflog_heads_dir import import _reflog_heads_dir L58–58
~ muse/core/refs.py .py 1 symbol added, 1 symbol modified
+ _heads_dir import import _heads_dir L37–37
~ muse/core/repo.py .py 2 symbols added, 5 symbols modified
+ _muse_dir import import _muse_dir L37–37
+ _repo_json_path import import _repo_json_path L37–37
~ muse/core/semver_classifier.py .py 1 symbol added, 2 symbols modified
+ _stability_toml_path import import _stability_toml_path L112–112
~ load
~ muse/core/shallow.py .py 3 symbols added, 1 symbol removed, 2 symbols modified
shallow_path function function shallow_path L46–48
+ _shallow_path function function _shallow_path L49–51
+ MUSE_DIR import import MUSE_DIR L45–45
+ _shallow_path import import _shallow_path L46–46
~ muse/core/snapshot.py .py 1 symbol added, 1 symbol modified
+ _repo_json_path import import _repo_json_path L60–60
~ muse/core/sparse.py .py 1 symbol added, 3 symbols modified
+ _muse_dir import import _muse_dir L31–31
~ muse/core/stat_cache.py .py 1 symbol added
+ _muse_dir import import _muse_dir L81–81
~ muse/core/store.py .py 9 symbols added, 4 symbols removed, 7 symbols modified
_commits_dir function function _commits_dir L1327–1328
_releases_dir function function _releases_dir L1339–1340
_snapshots_dir function function _snapshots_dir L1331–1332
_tags_dir function function _tags_dir L1335–1336
+ _commits_dir import import _commits_dir L175–175
+ _head_path import import _head_path L175–175
+ _heads_dir import import _heads_dir L175–175
+ _ref_path import import _ref_path L175–175
+ _releases_dir import import _releases_dir L175–175
+ _remotes_dir import import _remotes_dir L175–175
+ _repo_json_path import import _repo_json_path L175–175
+ _snapshots_dir import import _snapshots_dir L175–175
+ _tags_dir import import _tags_dir L175–175
~ muse/core/symbol_cache.py .py 1 symbol added, 2 symbols modified
+ _muse_dir import import _muse_dir L75–75
~ muse/core/test_history.py .py 1 symbol added, 1 symbol modified
+ _test_history_path import import _test_history_path L45–45
~ muse/core/test_selection.py .py 1 symbol added, 1 symbol modified
+ _muse_dir import import _muse_dir L46–46
~ muse/core/transport.py .py 4 symbols added, 7 symbols modified
+ _heads_dir import import _heads_dir L150–150
+ _muse_dir import import _muse_dir L150–150
+ _ref_path import import _ref_path L150–150
+ _repo_json_path import import _repo_json_path L150–150
~ muse/core/verify.py .py 2 symbols added, 2 symbols modified
+ _heads_dir import import _heads_dir L57–57
+ _snapshots_dir import import _snapshots_dir L57–57
~ muse/core/workspace.py .py 3 symbols added, 4 symbols modified
+ _muse_dir import import _muse_dir L60–60
+ _shelf_json_path import import _shelf_json_path L60–60
+ _workspace_toml_path import import _workspace_toml_path L60–60
~ muse/core/worktree.py .py 3 symbols added, 5 symbols modified
+ _heads_dir import import _heads_dir L54–54
+ _muse_dir import import _muse_dir L54–54
+ _ref_path import import _ref_path L54–54
~ muse/plugins/code/_framework.py .py 1 symbol added, 1 symbol modified
+ _code_config_path import import _code_config_path L68–68
~ muse/plugins/code/_invariants.py .py 1 symbol added, 2 symbols modified
+ _muse_dir import import _muse_dir L84–84
~ load
~ muse/plugins/code/_query.py .py 1 symbol added, 4 symbols modified
+ long_id import import long_id L22–22
~ muse/plugins/code/ast_parser.py .py 1 symbol added, 1 symbol modified
+ _code_config_path import import _code_config_path L82–82
~ muse/plugins/code/manifest.py .py 1 symbol added, 5 symbols modified
~ muse/plugins/code/stage.py .py 1 symbol added, 1 symbol modified
+ _code_stage_path import import _code_stage_path L39–39
~ muse/plugins/identity/plugin.py .py 1 symbol added, 3 symbols modified
+ long_id import import long_id L30–30
~ muse/plugins/midi/_midi_keys.py .py 1 symbol added, 1 symbol modified
+ long_id import import long_id L13–13
~ muse/plugins/midi/manifest.py .py 1 symbol added, 5 symbols modified
+ long_id import import long_id L48–48
~ muse/plugins/midi/midi_merge.py .py 1 symbol added, 1 symbol modified
+ long_id import import long_id L114–114
~ muse/plugins/midi/plugin.py .py 1 symbol added, 2 symbols removed, 5 symbols modified
_hash_file function function _hash_file L1223–1229
content_hash function function content_hash L1245–1248
+ long_id import import long_id L64–64
~ merge
~ muse/plugins/registry.py .py 1 symbol added, 1 symbol modified
+ _repo_json_path import import _repo_json_path L21–21

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