pin-the-case-that-narrowed-the-rule
Quando uma checagem dispara no alvo errado, o conserto a enfraquece. Registre o falso positivo como teste no mesmo commit, ou a regra se corrói em silêncio.
Conferida por quem revisou e leu o cartão, não reivindicada pelo próprio arquivo. Um cartão que o agente destila durante uma execução que consumiu conteúdo não confiável nasce contaminado e fica retido para revisão antes de alguma vez ser recuperado.
Quando ele vem à mente
- o linter acusou algo legítimo
- abrindo uma exceção
- falso positivo no CI
- afrouxando uma checagem
Evite e Verifique são onde costuma estar o valor. Faça é a seção que todo mundo escreve.
O corpo do cartão acima é uma tradução. O original em inglês é o que a CLI importa, o que o agente lê em execução e o que o hash abaixo atesta.
Gatilho
Uma checagem que você escreveu falhou em algo que na verdade está correto, e você está prestes a adicionar uma exceção, uma entrada de allowlist, ou um padrão mais estreito.
Não se aplica quando a checagem encontrou um problema real — conserte o problema. Também não se aplica a ajustar um limiar antes de a checagem ter rodado de verdade pela primeira vez.
Faça
- Escreva, em uma frase, por que o caso sinalizado é legítimo. Se você não conseguir, é possível que a checagem esteja certa e o código, errado.
- Adicione ambos os casos à suíte de testes: o legítimo, que precisa passar, e uma versão sintética da violação real, que precisa continuar falhando.
- Estreite a regra o mínimo possível. Isente um caminho, não um diretório inteiro; exija uma negação próxima, em vez de apagar a frase da lista.
- Coloque o estreitamento em seu próprio commit, e diga na mensagem qual caso o forçou.
Evite
Apagar a regra porque ela incomodou uma vez. Evite também a versão mais silenciosa: alargar uma exceção até a regra não cobrir mais nada — uma allowlist que cresce a cada sprint é uma regra sendo aposentada uma linha de cada vez, sem que ninguém tenha decidido aposentá-la.
Evite isentar por arquivo quando a distinção real é por significado. Uma checagem de frase que bane uma sentença categoricamente também vai banir o aviso que a nega, e o conserto honesto é exigir a negação, não parar de checar aquela página.
Verifique
Depois de estreitar, rode a suíte com a violação original reintroduzida. Ela precisa continuar falhando.
Depois leia o diff da própria regra e pergunte: que classe de problema agora consegue passar que não conseguia antes? Se você não conseguir responder, o estreitamento não foi compreendido.
Risco
Isso adiciona um teste para cada exceção, e uma suíte cheia de testes de exceção é uma suíte cansativa de ler.
O risco maior é tratar o teste fixado (pinned) como prova de que a regra ainda é forte. Ele prova que um caso continua falhando. Uma regra estreitada cinco vezes tem cinco casos fixados e possivelmente um buraco grande entre eles, e só reler a regra como um todo vai mostrar isso.
Como usar
O cartão é dado. Clone o repositório e importe pelo caminho — o que chega pela rede é tratado como contaminado e fica retido para aprovação, que é o comportamento desejável e a razão de não haver um instalador de uma linha aqui.
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/pin-the-case-that-narrowed-the-rule/SKILL.mdIntegridade
SHA-256 do arquivo como publicado. Quem importa pode conferir que o que recebeu é o que esta página mostrou.
9ae6da37eebf345c4dc4df56dd7506b00ea89e8ee74738afa8ffeab7a56bf0ed