From 3cccc8a7a5cfe273d42df9e3191dcdebbee79dcb Mon Sep 17 00:00:00 2001 From: furedea <132188853+furedea@users.noreply.github.com> Date: Tue, 10 Nov 2026 18:04:50 +0900 Subject: [PATCH 1/2] build(ruff): drop CPY and enable PLR0917 outside tests CPY001 is preview-only, fires on the template's own src/main.py, and personal repositories need no copyright header. PLR0917 is a preview rule, so under explicit-preview-rules the PLR prefix does not enable it. Select it explicitly and ignore it in tests only: pytest passes fixtures and parametrize values by name, so positional-order mistakes cannot happen there. Refs furedea/agent-config#74 Co-Authored-By: Claude Sonnet 5.5 --- pyproject.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cfe43e2..217f4af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,7 +66,6 @@ select = [ "B", "A", "C4", - "CPY", "DTZ", "T10", "DJ", @@ -105,6 +104,7 @@ select = [ "INP", "C901", "PLR1702", + "PLR0917", ] ignore = [ "G004", @@ -126,7 +126,8 @@ ignore = [ ] [tool.ruff.lint.per-file-ignores] -"tests/**" = ["D", "PLR0913"] +# pytest passes fixtures and parametrize values by name, so positional-order mistakes cannot happen (PLR0917's premise). +"tests/**" = ["D", "PLR0913", "PLR0917"] [tool.ruff.lint.pydocstyle] convention = "google" From 834abd0eb943fd844a9952f345c3e5fe80a298e0 Mon Sep 17 00:00:00 2001 From: furedea <132188853+furedea@users.noreply.github.com> Date: Tue, 10 Nov 2026 19:47:18 +0900 Subject: [PATCH 2/2] build(ruff): do not enable PLR0917 PLR0917 is not used. With max-args = 3 it is fully covered by PLR0913: the positional count never exceeds the total count, so it can never add a finding. Revert the explicit select and the tests ignore added in the previous commit; the CPY removal stays. Refs furedea/agent-config#74 Co-Authored-By: Claude Sonnet 5.5 --- pyproject.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 217f4af..ea4c2ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -104,7 +104,6 @@ select = [ "INP", "C901", "PLR1702", - "PLR0917", ] ignore = [ "G004", @@ -126,8 +125,7 @@ ignore = [ ] [tool.ruff.lint.per-file-ignores] -# pytest passes fixtures and parametrize values by name, so positional-order mistakes cannot happen (PLR0917's premise). -"tests/**" = ["D", "PLR0913", "PLR0917"] +"tests/**" = ["D", "PLR0913"] [tool.ruff.lint.pydocstyle] convention = "google"