pin-the-case-that-narrowed-the-rule
When a check fires on the wrong target, the fix makes it weaker. Capture the false positive as a test in the same commit, or the rule erodes silently.
Присвоено человеком, который прочитал карточку, а не заявлено файлом о самом себе. Карточка, которую агент выводит во время запуска, поглотившего недоверенное содержимое, рождается заражённой и удерживается на разбор, прежде чем её вообще извлекут.
Когда это вспоминается
- the linter flagged something legitimate
- adding an exception
- false positive in CI
- relaxing a check
Ценность обычно лежит в разделах «Избегать» и «Проверить». «Делать» — это раздел, который пишут все.
Повод
A check you wrote has failed on something that is actually fine, and you are about to add an exemption, an allowlist entry, or a narrower pattern.
It does not apply when the check found a real problem — fix the problem. It also does not apply to tuning a threshold before the check has ever run in anger.
Делать
- Write down, in one sentence, why the flagged case is legitimate. If you cannot, the check may be right and the code wrong.
- Add both cases to the test suite: the legitimate one that must pass, and a synthetic version of the real violation that must still fail.
- Narrow the rule as little as possible. Exempt a path, not a whole directory; require a negation nearby, rather than deleting the phrase from the list.
- Put the narrowing in its own commit, and say in the message which case forced it.
Избегать
Deleting the rule because it was annoying once. Also avoid the quieter version: broadening an exemption until the rule covers nothing — an allowlist that grows every sprint is a rule being retired one line at a time, without anyone deciding to retire it.
Avoid exempting by file when the real distinction is by meaning. A phrase check that bans a sentence outright will ban the warning that negates it, and the honest fix is to require the negation, not to stop checking that page.
Проверить
After narrowing, run the suite with the original violation reintroduced. It must still fail.
Then read the diff of the rule itself and ask: what class of problem can now get through that could not before? If you cannot answer, the narrowing was not understood.
Риск
This adds a test for every exception, and a suite full of exception tests is a suite that is tedious to read.
The bigger risk is treating the pinned test as proof the rule is still strong. It proves one case still fails. A rule narrowed five times has five pinned cases and possibly a large hole between them, and only re-reading the rule as a whole will show that.
Как применить
Карточка — это данные. Склонируйте репозиторий и импортируйте её по пути: всё, что приходит по сети, считается заражённым и удерживается до одобрения — это и есть желаемое поведение, и поэтому здесь нет установщика в одну строку.
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/pin-the-case-that-narrowed-the-rule/SKILL.mdЦелостность
SHA-256 файла в опубликованном виде. Импортёр может проверить, что полученное совпадает с показанным на этой странице.
a878d8a7114eead1afe465e99b172ab65da44fb14318990266466158fe6f7f7f