fix(legacy): silence ruff + mypy errors surfaced by litellm 1.83 bump
Three modules touched in Phase 0 surfaced latent issues:
- llm/llm.py:_extract_thinking — choices[0].message can be None or a
TextChoices variant without thinking_blocks under the new stubs.
Narrow via getattr+Any; restructure return through the else block
so try/except/else is ruff-clean (TRY300).
- llm/__init__.py:litellm._logging._disable_debugging is now untyped;
suppress with explicit type:ignore.
- tools/notes/notes_actions.py:append_note_content — drop dead-code
isinstance check (delta is typed str at the boundary), and cast the
update_note return through a typed local in the try/else flow.
Plus per-file PLC0415 ignore for two modules whose lazy imports exist
to break the circular dependency on strix.telemetry. Pre-commit
auto-formatter strips inline #noqa comments, so the suppress lives in
pyproject.toml until the dep graph is refactored.
No behavior change. 165/165 tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -243,6 +243,10 @@ ignore = [
|
||||
]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
# Pre-existing lazy imports inside functions (avoid circular dependency
|
||||
# with strix.telemetry). Keep until the dependency graph is refactored.
|
||||
"strix/llm/llm.py" = ["PLC0415"]
|
||||
"strix/tools/notes/notes_actions.py" = ["PLC0415"]
|
||||
"tests/**/*.py" = [
|
||||
"S106", # Possible hardcoded password
|
||||
"S108", # Possible insecure usage of temporary file/directory
|
||||
|
||||
Reference in New Issue
Block a user