Skip to content

Pin ruff at 0.16.4, tightening the floor to an exact version - #12

Merged
lchoquel merged 1 commit into
devfrom
chore/Ruff-0.16.4
Aug 21, 2026
Merged

lchoquel merged 1 commit into
devfrom
chore/Ruff-0.16.4

Conversation

@lchoquel

@lchoquel lchoquel commented Aug 21, 2026

Copy link
Copy Markdown
Member

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.toml itself, 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 phantom Ruff(invalid-syntax) diagnostics on lines like requires-python — read as requires - 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.8 floor 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.8ruff==0.16.4, plus the matching uv.lock update, 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 select list without preview, so none of the new preview rules or the noqaruff: ignore[...] migration that dominated the pipelex sweep 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 --check still reports every target fresh.

Verification

make agent-check — which here runs the full check chain: 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 — and make agent-test both pass. make check was re-run after the changelog edit to confirm it does not disturb the packaging checks.

🤖 Generated with Claude Code


Summary by cubic

Pins ruff to 0.16.4 to eliminate editor/CLI drift and bogus TOML errors. Previously ruff>=0.6.8 resolved to 0.15.20 in the venv while the Ruff VS Code extension used 0.16.4; now both use 0.16.4.

Details

  • Change: pyproject.toml ruff>=0.6.8ruff==0.16.4; updated uv.lock and changelog.
  • Why: ruff 0.16 lints pyproject.toml; pre-0.16 mis-parses it and shows invalid-syntax diagnostics. An exact pin prevents drift with the extension.
  • Impact: Dev-only. No lint findings or formatting changes. 0.16 also formats Python code blocks in Markdown; none changed here.
  • Action: Recreate the venv or run uv sync to install ruff==0.16.4.

Written for commit a7aa1c8. Summary will update on new commits.

Review in cubic

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>
@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The 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

@lchoquel
lchoquel merged commit 2b50d95 into dev Aug 21, 2026
2 checks passed
@lchoquel
lchoquel deleted the chore/Ruff-0.16.4 branch August 21, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant