chore(lint): pin ruff 0.15.20, fix pre-existing violations from 0.16.0 upgrade - #174
Conversation
… from ruff 0.16.0 upgrade CI used `uvx ruff` (always latest) while the project had no pinned version, causing CI to fail whenever ruff shipped new default rules. Fix: - Add ruff==0.15.20 to dev extras and update CI to use `uv run ruff` - Auto-fix 194 import-sort and type-annotation violations flagged by 0.16.0 - Add E402 ignore for init.py re-export block (backwards-compat pattern)
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Pin and the Two changes worth making before this goes into v0.1.11: Add Use |
db-tycoon-stephen
left a comment
There was a problem hiding this comment.
Claude caught some issues. Can you review them before merging?
db-tycoon-stephen
left a comment
There was a problem hiding this comment.
Requesting changes on the two items in the comment above: add ruff format --check to the ruff job so formatting drift stops leaking into feature PRs, and switch uv sync --all-extras to uv sync --group dev so the step names the group that actually provides ruff.
The pin itself and the uvx → uv run switch are right — this is the fix I want, just want those two tightened before it lands in v0.1.11.
… dev Add ruff format --check to the lint job so formatting drift stops leaking into feature PRs. Switch uv sync --all-extras to uv sync --group dev since ruff lives in [dependency-groups].dev, not an optional extra. Run the full format pass to clear all pre-existing formatting violations.
db-tycoon-stephen
left a comment
There was a problem hiding this comment.
Both addressed — uv sync --group dev with a comment explaining why, and a ruff format --check step. Green across the board. Good to go into v0.1.11.
- pyproject + __init__ to 0.1.11, lockfile refreshed - CHANGELOG [0.1.11] entry: M2 schema work (#83/PR #190), ruff pin + format gate (PR #174), release-time dependency review (PR #180), and the four T2-4 review follow-ups closed on this branch (#185-#188) - docs/releases/v0.1.11.md + mkdocs nav entry Release date matches the planned 2026-08-07; adjust before tagging if the train slips. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Summary
ruff==0.15.20in dev extras so CI and local dev always use the same versionuvx ruff check(always pulls latest) touv run ruff checkE402ignore forsrc/tycoon/commands/init.py(import order side-effect of the auto-fix)Why
CI was using
uvx ruffwhich downloaded ruff 0.16.0 at run time while the project venv had 0.15.20. The version drift caused 299 violations across 54 files that didn't exist locally.Files to focus on
ruff==0.15.20added to dev extras,E402per-file-ignoreuv sync --all-extrasstep +uv run ruff checkBase of the M2 stack — #169 targets this branch.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.