gabriel / muse public
chore patch dev #83 / 100
AI Agent gabriel · 110 days ago · May 27, 2026 · Diff

chore: typing audit — zero violations, zero untyped defs

Fix all 40 pattern violations and 6 untyped defs to pass the typing ratchet at --max-any 0 --max-untyped 0:

Source files: - read.py: bare list[] in nested _strip_position helper - plugins/code/stage.py: bare dict → Mapping[str, object]

Test files: - boundary_dict: _env() helpers returning dict[str, str] → Mapping[str, str] - boundary_dict: JSON-parsing helpers (_read, _diff, _status_json) → Mapping[str, object] - collection_object: dict[str, object] locals → TypedDict or Mapping[str, object] - bare_dict / bare_list: annotate with concrete element types - untyped defs in test_rename_op.py: add return types for _plugin, _snap, _invoke, _rename helpers; import types at module level

sha256:7781e508756c81b7ddb0b08b408fd2b99bad87798cefa596773373efc360952c sha
+27 ~47 symbols
sha256:eea07a1f86a310b9a92122283b46382255efd6e565cd7b349c2fde2fc21b758a snapshot
+27
symbols added
~47
symbols modified
0
dead code introduced
Semantic Changes 74 symbols
+ out
~ muse/cli/commands/read.py .py 1 symbol modified
~ run
~ muse/plugins/code/stage.py .py 1 symbol added, 1 symbol modified
+ Mapping import import Mapping L32–32
~ tests/test_cmd_gc_hardening.py .py 1 symbol added, 1 symbol modified
+ _ShelfEntryData class class _ShelfEntryData L106–109
~ tests/test_cmd_show.py .py 1 symbol added, 2 symbols modified
+ Mapping import import Mapping L20–20
~ _data
~ tests/test_code_add_resolves_conflicts.py .py 1 symbol added, 1 symbol modified
+ Mapping import import Mapping L14–14
~ _env
~ tests/test_code_stage.py .py 1 symbol added, 1 symbol modified
+ Mapping import import Mapping L57–57
~ _env
~ tests/test_commit_dir_changes.py .py 1 symbol modified
~ _read
~ tests/test_core_gc.py .py 2 symbols added, 1 symbol modified
+ _ShelfEntryData class class _ShelfEntryData L43–47
+ TypedDict import import TypedDict L8–8
~ tests/test_diff_dir_tracking.py .py 1 symbol modified
~ _diff
~ tests/test_file_rename_detection.py .py 1 symbol added, 3 symbols modified
+ Mapping import import Mapping L15–15
~ _snap
~ tests/test_invariant_file_cache.py .py 1 symbol added, 2 symbols modified
+ Mapping import import Mapping L39–39
~ tests/test_log_graph.py .py 1 symbol added, 1 symbol modified
+ Mapping import import Mapping L41–41
~ _env
~ tests/test_merge_conflict_markers.py .py 1 symbol added, 1 symbol modified
+ Mapping import import Mapping L16–16
~ _env
~ tests/test_object_store_write_taxonomy.py .py 2 symbols added, 1 symbol modified
+ _ShelfEntryData class class _ShelfEntryData L94–97
+ TypedDict import import TypedDict L45–45
~ tests/test_phase2_legacy_store_migration.py .py 2 symbols added, 3 symbols modified
+ CommitDict import import CommitDict L27–27
+ Mapping import import Mapping L22–22
~ tests/test_phase3_tags_releases_json.py .py 1 symbol added, 1 symbol modified
+ SemVerTag import import SemVerTag L38–38
~ tests/test_phase4_shelf_json.py .py 2 symbols added, 2 symbols modified
+ _ShelfEntry class class _ShelfEntry L50–59
+ TypedDict import import TypedDict L16–16
~ _entry
~ tests/test_phase5_stage_index_json.py .py 1 symbol added, 2 symbols modified
+ StagedFileMap import import StagedFileMap L21–21
~ tests/test_phase6_caches_indices_json.py .py 1 symbol added, 1 symbol modified
+ Mapping import import Mapping L15–15
~ tests/test_rename_op.py .py 5 symbols added, 12 symbols modified
+ CodePlugin import import CodePlugin L24–24
+ DomainOp import import DomainOp L23–23
+ Manifest import import Manifest L22–22
+ RenameOp import import RenameOp L23–23
+ SnapshotManifest import import SnapshotManifest L23–23
~ _snap
~ _snap
~ tests/test_security_symlink.py .py 2 symbols added, 2 symbols modified
+ _MinimalShelfEntry class class _MinimalShelfEntry L364–368
+ TypedDict import import TypedDict L29–29

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