gabriel / muse public
refactor BREAKING task/wire-load-json-file #2 / 2
AI Agent gabriel · 162 days ago · Apr 18, 2026 · Diff

refactor: wire load_json_file into all json.loads(path.read_text()) try/except sites

Replace 21 repeated try/except json.loads(path.read_text()) blocks across 14 files with the canonical load_json_file() helper from muse.core._types. For sites with size-check guards before json.loads, split the try into separate OSError and load_json_file calls. Remove import json from snapshot.py and registry.py where it was the only remaining usage.

sha256:039d2425414ff671b3ea7c7f88332e20a194f10b320dd06f74d9c59429da90c3 sha
+18 ~42 −6 symbols
sha256:edf1f785c9ff8fb37d2080de42704b37849bb9165b2b12c70303232445d5e940 snapshot
+18
symbols added
~42
symbols modified
−6
symbols removed
0
dead code introduced
Semantic Changes 66 symbols
~ muse/cli/commands/domains.py .py 1 symbol added, 2 symbols modified
+ load_json_file import import load_json_file L66–66
~ muse/cli/commands/init.py .py 2 symbols added, 1 symbol removed, 2 symbols modified
− datetime import import datetime L60–60
+ load_json_file import import load_json_file L69–69
+ now_utc_iso import import now_utc_iso L69–69
~ run
~ muse/cli/commands/maintenance.py .py 2 symbols added, 1 symbol removed, 3 symbols modified
− datetime import import datetime L103–103
+ load_json_file import import load_json_file L109–109
+ now_utc_iso import import now_utc_iso L109–109
~ muse/cli/commands/shelf.py .py 2 symbols added, 1 symbol removed, 5 symbols modified
− datetime import import datetime L75–75
+ load_json_file import import load_json_file L83–83
+ now_utc_iso import import now_utc_iso L83–83
~ muse/cli/commands/watch_coord.py .py 2 symbols added, 1 symbol removed, 2 symbols modified
− datetime import import datetime L130–130
+ load_json_file import import load_json_file L141–141
+ now_utc_iso import import now_utc_iso L141–141
~ muse/core/coordination.py .py 1 symbol added, 6 symbols modified
~ muse/core/dag.py .py 1 symbol added, 1 symbol modified
+ load_json_file import import load_json_file L76–76
~ muse/core/harmony.py .py 1 symbol added, 8 symbols modified
+ load_json_file import import load_json_file L95–95
~ muse/core/rebase.py .py 1 symbol added, 3 symbols modified
+ load_json_file import import load_json_file L69–69
~ muse/core/snapshot.py .py 1 symbol added, 1 symbol removed, 4 symbols modified
− json import import json L54–54
+ load_json_file import import load_json_file L59–59
~ muse/core/sparse.py .py 1 symbol added, 2 symbols modified
+ load_json_file import import load_json_file L31–31
~ muse/plugins/midi/entity.py .py 1 symbol added, 1 symbol modified
+ load_json_file import import load_json_file L60–60
~ muse/plugins/midi/manifest.py .py 1 symbol added, 2 symbols modified
+ load_json_file import import load_json_file L48–48
~ muse/plugins/registry.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− json import import json L18–18
+ load_json_file import import load_json_file L20–20

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