From 6d9216922264bfe361aad2d4221b3ced59e673fb Mon Sep 17 00:00:00 2001 From: Andrey Fedorov Date: Fri, 31 Jul 2026 14:31:05 -0400 Subject: [PATCH] chore(lint): pin ruff's rule selection explicitly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ruff 0.16 expanded its *default* rule selection from 59 rules to 413. The project had no `[tool.ruff.lint] select`, so it rode that default — which turned a patch-range bump of the ruff pin into a lint policy change and failed CI with 19 errors on unmodified code. Select the previous default set explicitly so `ruff check` is reproducible across upgrades. Verified identical (59 rules, all checks passed) under both 0.15.21 and 0.16.0. Widening the set is now a deliberate edit to this list, landing with its fixes in the same PR rather than arriving with whatever ruff release dependabot happens to open next. Co-Authored-By: Claude Opus 5 --- pyproject.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 8df5ace..78697a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,3 +53,10 @@ asyncio_mode = "auto" [tool.ruff] line-length = 100 target-version = "py311" + +[tool.ruff.lint] +# Selected explicitly rather than left to ruff's default. Ruff 0.16 expanded that default from +# 59 rules to 413, so a patch-range bump of the ruff pin silently became a lint policy change +# and failed CI on unmodified code. Pinning the set keeps `ruff check` reproducible across +# upgrades; widening it is a deliberate edit here, with the resulting fixes in the same PR. +select = ["E4", "E7", "E9", "F"]