Context
#313 pinned ruff to >=0.15.21,<0.16 to restore CI. ruff 0.16.0 (allowed by the previous loose <1 bound) turned on new default rules that fail ruff check server/ tests/ on existing, intentional code, which was blocking every PR (#310, #311, #312).
The pin is a temporary hold, not a forward fix — this issue tracks adopting ruff 0.16 deliberately so we're not stuck on 0.15 indefinitely.
What to do
- Bump the constraint to the 0.16 line (e.g.
ruff>=0.16,<0.17).
- Run
ruff check server/ tests/ under 0.16 and resolve the new diagnostics — decide per rule:
- BLE001 (blind
except Exception, e.g. server/api/admin.py) — narrow the exception where practical, # noqa where the broad catch is intentional, or add BLE to ignore in [tool.ruff.lint] if we don't want the rule.
- S110 (
try/except/pass without logging) — add logging or ignore per the same call.
- I001 (import sort) —
ruff check --fix handles this automatically.
- Keep the linter pinned to a minor line going forward (don't let it float back to
<1), so a future ruff minor can't break CI mid-PR again.
Priority
Low / non-urgent — CI is already unblocked by #313. This is cleanup only.
Context
#313 pinned ruff to
>=0.15.21,<0.16to restore CI. ruff 0.16.0 (allowed by the previous loose<1bound) turned on new default rules that failruff check server/ tests/on existing, intentional code, which was blocking every PR (#310, #311, #312).The pin is a temporary hold, not a forward fix — this issue tracks adopting ruff 0.16 deliberately so we're not stuck on 0.15 indefinitely.
What to do
ruff>=0.16,<0.17).ruff check server/ tests/under 0.16 and resolve the new diagnostics — decide per rule:except Exception, e.g.server/api/admin.py) — narrow the exception where practical,# noqawhere the broad catch is intentional, or addBLEtoignorein[tool.ruff.lint]if we don't want the rule.try/except/passwithout logging) — add logging or ignore per the same call.ruff check --fixhandles this automatically.<1), so a future ruff minor can't break CI mid-PR again.Priority
Low / non-urgent — CI is already unblocked by #313. This is cleanup only.