Fix red CI: pin ruff rule set to the classic default - #147
Merged
Conversation
CI's "Lint with ruff" step installs ruff unpinned (via the `test` extra) and runs `ruff check .`. The last green build was 2026-07-17; every run since is red with no responsible code change. A ruff release after that date widened its default rule set (import-order I001 and others), so untouched files like gonotego/audio/runner.py now fail. [tool.ruff] set no explicit select, so it inherited ruff's shifting default. Pin it to the classic default the code was written against (E4/E7/E9/F) and keep the intentional E722 ignore. `ruff check .` now passes on ruff 0.16.6, and stays deterministic across future ruff versions. No source files changed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Every CI run on
maintoday is red at the Lint with ruff step. Last green build: 2026-07-17 (9ae7fb3). No code change is responsible.Cause
The workflow installs
ruffunpinned (uv pip install .[test], wheretest = ['ruff', 'pytest']) and runsruff check ..[tool.ruff]set no explicitselect, so it relied on ruff's default rule set. A ruff version released after 2026-07-17 widened that default (e.g. import-orderI001), so previously-passing, untouched files (gonotego/audio/runner.pyand others) now fail.Fix
Pin the rule set explicitly to the classic default the code was written against —
E4,E7,E9,F— keeping the existing intentionalE722ignore. Deterministic across ruff versions. No source files changed.Verified
ruff check .clean andpytest64 passed on ruff 0.16.6 (the version CI currently installs).🤖 Generated with Claude Code