From 0394649f6b4a0c2a7d4f76f3bdcb677dc242943f Mon Sep 17 00:00:00 2001 From: Markus Neusinger <2921697+MarkusNeusinger@users.noreply.github.com> Date: Thu, 15 Oct 2026 09:59:01 +0200 Subject: [PATCH 1/2] docs: mirror "proper lint fixes only" into the Copilot instructions Owner decision 2026-10-15: the CLAUDE.md rule against disable comments (eslint-disable, noqa and similar without explicit approval) applies to Copilot too. It sits on the "Fixing linting/formatting issues" task line, where Copilot meets lint work, and tests/unit/test_agent_instructions.py pins it as a mirrored rule (prohibition and approval exit, not the topic). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GdMSqLR5ww4ji74EUSmk9M --- .github/copilot-instructions.md | 2 +- changelog.d/copilot-proper-lint-fixes.md | 7 +++++++ tests/unit/test_agent_instructions.py | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 changelog.d/copilot-proper-lint-fixes.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 3a7fd203084..af9110a35ee 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -28,7 +28,7 @@ A companion guide `CLAUDE.md` at the repo root carries the shared rules for Clau - Updating documentation - Writing or improving unit tests - Code refactoring within established patterns -- Fixing linting/formatting issues +- Fixing linting/formatting issues — **proper lint fixes only**: fix the cause. Never use disable comments (`eslint-disable`, `noqa`, `type: ignore`, or similar) unless explicitly approved by the repository owner. - Updating dependencies (after checking security advisories) **Tasks requiring human review:** diff --git a/changelog.d/copilot-proper-lint-fixes.md b/changelog.d/copilot-proper-lint-fixes.md new file mode 100644 index 00000000000..254095480e7 --- /dev/null +++ b/changelog.d/copilot-proper-lint-fixes.md @@ -0,0 +1,7 @@ +### Changed + +- **Copilot gets the "proper lint fixes only" rule.** The lint task line in + `.github/copilot-instructions.md` now says to fix the cause and never add + disable comments (`eslint-disable`, `noqa`, and similar) without the owner's + explicit approval, matching `CLAUDE.md`; the instruction tests pin the rule on + both sides. diff --git a/tests/unit/test_agent_instructions.py b/tests/unit/test_agent_instructions.py index d1256af34b4..fcf4921c880 100644 --- a/tests/unit/test_agent_instructions.py +++ b/tests/unit/test_agent_instructions.py @@ -317,6 +317,13 @@ def test_every_named_skill_exists() -> None: ], # Owner decision 2026-10-15: no `pip` fallback for either audience. "python tooling is uv only": ["`uv` only", "never `pip`", "instead of falling back to `pip`"], + # Owner decision 2026-10-15. The pin carries the prohibition and its one + # exit (explicit approval), not just the topic "lint". + "proper lint fixes only, no disable comments": [ + "proper lint fixes only", + "never use disable comments", + "unless explicitly approved", + ], # The repository's most consequential rule, and the one an agent that opens # and edits PRs is most able to break: specs and implementations go through # the workflows, and their PRs are merged by `impl-merge`, never by hand. From cea0a19380f4a5f4a57f21e5b29442c60071cb76 Mon Sep 17 00:00:00 2001 From: Markus Neusinger <2921697+MarkusNeusinger@users.noreply.github.com> Date: Thu, 15 Oct 2026 09:59:12 +0200 Subject: [PATCH 2/2] chore: add PR reference to the copilot-proper-lint-fixes fragment Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GdMSqLR5ww4ji74EUSmk9M --- changelog.d/copilot-proper-lint-fixes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/copilot-proper-lint-fixes.md b/changelog.d/copilot-proper-lint-fixes.md index 254095480e7..1f71964d759 100644 --- a/changelog.d/copilot-proper-lint-fixes.md +++ b/changelog.d/copilot-proper-lint-fixes.md @@ -4,4 +4,4 @@ `.github/copilot-instructions.md` now says to fix the cause and never add disable comments (`eslint-disable`, `noqa`, and similar) without the owner's explicit approval, matching `CLAUDE.md`; the instruction tests pin the rule on - both sides. + both sides. (#12190)