gabriel / musehub public
refactor BREAKING task/typing-audit #1 / 4
AI Agent gabriel · 166 days ago · Apr 12, 2026 · Diff

refactor: eliminate all 135→0 typing violations across musehub/

- db models: Mapped[dict[str, object]] → Mapped[JSONObject] across all ORM models - contracts: fix PydanticJson.__getitem__/__iter__ signatures; _PropWireMap alias - services: SymbolIntel/SymbolIntelMap TypedDicts, _ReleaseContext→IssueReleaseContext, presign_batch on StorageBackend/S3Backend, all bare_list conditions annotations removed, boundary_dict type aliases across proposals/releases/snapshot/webhook - routes: TreeEntryResponse param, _LineMap/_RangeMap/_CountMap/_SeenMap aliases, ui_issues TYPE_CHECKING imports for SymbolIntelMap/IssueReleaseContext - main.py: _handle_pydantic_validation exc: Exception (removes type: ignore), content_cache None guard - mcp/write_tools: import and remove type: ignore for forward refs, _PermRank alias - typing_audit.py: dunder method exclusion for param_object/return_object - gen_type_contracts.py: tools/ path fixes

sha256:8c824ed6d1671e31c24f56fa2f509d167f1faf16b9f3fd454eadbbaf5e93757a sha
+48 ~83 symbols
sha256:39a339c1a503ccfd894374d06f9cda60f50bb665e4eedd155afb941494d08f4e snapshot
+48
symbols added
~83
symbols modified
0
dead code introduced
Semantic Changes 131 symbols
~ musehub/api/routes/musehub/_ui_helpers.py .py 1 symbol added, 2 symbols modified
+ TreeEntryResponse import import TreeEntryResponse L18–18
~ musehub/api/routes/musehub/domains.py .py 1 symbol added, 1 symbol modified
+ _CapabilitiesMap variable variable _CapabilitiesMap L28–28
~ musehub/api/routes/musehub/ui_blob.py .py 2 symbols added, 3 symbols modified
+ _LineMap variable variable _LineMap L33–33
+ _RangeMap variable variable _RangeMap L32–32
~ musehub/api/routes/musehub/ui_issues.py .py 4 symbols added, 2 symbols modified
+ _CountMap variable variable _CountMap L38–38
+ _IssueNumsMap variable variable _IssueNumsMap L40–40
+ _SeenMap variable variable _SeenMap L39–39
+ TYPE_CHECKING import import TYPE_CHECKING L30–30
~ musehub/api/routes/wire.py .py 1 symbol added, 1 symbol modified
+ _IntMap variable variable _IntMap L52–52
~ musehub/db/muse_cli_models.py .py 1 symbol modified
~ musehub/db/musehub_models.py .py 1 symbol added, 6 symbols modified
~ musehub/mcp/write_tools/collaborators.py .py 1 symbol added, 1 symbol modified
+ _PermRank variable variable _PermRank L13–13
~ musehub/mcp/write_tools/proposals.py .py 2 symbols added, 2 symbols modified
+ ProposalCommentResponse import import ProposalCommentResponse L8–8
+ ProposalReviewResponse import import ProposalReviewResponse L8–8
~ musehub/mcp/write_tools/repos.py .py 2 symbols added, 3 symbols modified
+ _PermRank variable variable _PermRank L12–12
+ TYPE_CHECKING import import TYPE_CHECKING L4–4
~ musehub/mcp/write_tools/webhooks.py .py 1 symbol added, 2 symbols modified
+ WebhookResponse import import WebhookResponse L8–8
~ musehub/models/musehub.py .py 1 symbol added, 2 symbols modified
+ _JsonMeta variable variable _JsonMeta L18–18
~ musehub/models/wire.py .py 2 symbols added, 4 symbols modified
+ _SizeMap variable variable _SizeMap L38–38
+ JSONObject import import JSONObject L35–35
~ musehub/muse_contracts/pydantic_types.py .py 1 symbol added, 4 symbols modified
+ Iterator import import Iterator L58–58
~ __eq__
~ musehub/services/musehub_coord.py .py 1 symbol added, 1 symbol modified
+ JSONValue import import JSONValue L51–51
~ musehub/services/musehub_issues.py .py 5 symbols added, 6 symbols modified
+ IssueReleaseContext class class IssueReleaseContext L42–49
+ _CommitMap variable variable _CommitMap L39–39
+ _ProposalMatch class class _ProposalMatch L28–35
+ _SeenMap variable variable _SeenMap L38–38
+ TypedDict import import TypedDict L22–22
~ musehub/services/musehub_jobs.py .py 1 symbol added, 2 symbols modified
+ JSONObject import import JSONObject L32–32
~ musehub/services/musehub_proposals.py .py 2 symbols added, 5 symbols modified
+ _CommentMap variable variable _CommentMap L40–40
+ JSONValue import import JSONValue L30–30
~ musehub/services/musehub_snapshot.py .py 2 symbols added, 3 symbols modified
+ _SizeMap variable variable _SizeMap L49–49
+ _SnapMap variable variable _SnapMap L50–50
~ musehub/services/musehub_symbol_indexer.py .py 5 symbols added, 2 symbols modified
+ SymbolIntel class class SymbolIntel L39–53
+ SymbolIntelMap variable variable SymbolIntelMap L56–56
+ _CountMap variable variable _CountMap L57–57
+ JSONValue import import JSONValue L34–34
+ TypedDict import import TypedDict L25–25
~ musehub/services/musehub_wire.py .py 3 symbols added, 6 symbols modified
+ _BytesMap variable variable _BytesMap L91–91
+ _ChildMap variable variable _ChildMap L92–92
+ _ObjectMap variable variable _ObjectMap L90–90
~ musehub/storage/backends.py .py 3 symbols added, 6 symbols modified
+ presign_batch method async_method presign_batch L491–515
+ presign_batch method async_method presign_batch L157–165
+ StrDict import import StrDict L34–34
~ stream
~ musehub/worker.py .py 6 symbols added, 4 symbols modified
+ _Handler variable variable _Handler L28–28
+ _HandlerMap variable variable _HandlerMap L29–29
+ Callable import import Callable L20–20
+ Coroutine import import Coroutine L20–20
+ JSONObject import import JSONObject L23–23
+ TYPE_CHECKING import import TYPE_CHECKING L21–21
~ tools/typing_audit.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:8c824ed6d1671e31c24f56fa2f509d167f1faf16b9f3fd454eadbbaf5e93757a --body "your comment"