Pin ruff at 0.16.4, tightening the floor to an exact version - #12
Merged
Merged
Conversation
Ruff 0.16 lints pyproject.toml itself, and the VS Code extension syncs config files to the language server. A pre-0.16 binary parses those TOML documents as Python source and paints phantom invalid-syntax diagnostics on lines like requires-python, so the editor disagreed with the CLI. The pin here was a >=0.6.8 floor, which resolved to whatever was current at lock time and let the editor and the CLI land on different binaries. An exact 0.16.4 cannot drift that way, matching the rest of the workspace. The upgrade produced no lint findings and no reformatting. Worth noting for the next repo in the sweep: 0.16 also formats Python code blocks embedded in Markdown, so the formatter now considers the generated skill docs as well as the source tree. They were already conformant, and the gen_skill_docs freshness check still passes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Confidence Score: 5/5The PR appears safe to merge, with the manifest and lockfile consistently pinning Ruff 0.16.4 and no actionable changed-code defects identified. The dependency declaration and lockfile agree on Ruff 0.16.4, the updated lock entry includes broad platform coverage, and no incompatible repository configuration or changed transitive dependency was established. Reviews (1): Last reviewed commit: "Pin ruff at 0.16.4, tightening the floor..." | Re-trigger Greptile |
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.
Part of the workspace-wide ruff 0.16.4 rollout (
wip/updates/ruff-0.16.4-workspace-rollout-20260814.md). Repo 4 of the scoped batch of seven, after cocode#83, pipelex-starter-python#68 and kajson#58.Why
Ruff 0.16 lints
pyproject.tomlitself, and the Ruff VS Code extension syncs config files to the language server. A pre-0.16 binary parses those TOML documents as Python source and paints phantomRuff(invalid-syntax)diagnostics on lines likerequires-python— read asrequires - python, an invalid assignment target. The extension runs whatever binary it finds, repo venv first, so the venv pin is what has to move.This repo carried a
>=0.6.8floor rather than an exact pin, so the venv resolved to whatever was current at lock time (0.15.20 here) while the editor ran 0.16.4. That is precisely the drift an exact pin prevents, and it is the convention the rest of the workspace has settled on.What changed
pyproject.toml:ruff>=0.6.8→ruff==0.16.4, plus the matchinguv.lockupdate, and a changelog entry. That is the whole diff — this was the repo's only ruff pin site.Fallout: none
Zero lint findings and zero reformatting, as the rollout plan predicted for this repo's small Python surface: the ruff config uses a narrow
selectlist withoutpreview, so none of the new preview rules or thenoqa→ruff: ignore[...]migration that dominated thepipelexsweep applies.One thing worth recording for the repos still to come: 0.16 also formats Python code blocks embedded in Markdown, so the formatter's file count here jumped once the generated skill docs came into scope. They were already conformant, so nothing changed — but in a repo whose Markdown carries less tidy examples this is where the diff shows up, and it interacts with generated-doc freshness checks.
gen_skill_docs.py --checkstill reports every target fresh.Verification
make agent-check— which here runs the fullcheckchain: shared-reference and target-version lockstep, generated skill-doc freshness across the Claude, Codex and Mistral Vibe targets,ruff format --check,ruff check, pyright and mypy, then the Claude and Codex packaging consistency checks — andmake agent-testboth pass.make checkwas re-run after the changelog edit to confirm it does not disturb the packaging checks.🤖 Generated with Claude Code
Summary by cubic
Pins
ruffto 0.16.4 to eliminate editor/CLI drift and bogus TOML errors. Previouslyruff>=0.6.8resolved to 0.15.20 in the venv while the Ruff VS Code extension used 0.16.4; now both use 0.16.4.Details
pyproject.tomlruff>=0.6.8→ruff==0.16.4; updateduv.lockand changelog.ruff0.16 lintspyproject.toml; pre-0.16 mis-parses it and shows invalid-syntax diagnostics. An exact pin prevents drift with the extension.uv syncto installruff==0.16.4.Written for commit a7aa1c8. Summary will update on new commits.