Ir para o conteúdo

← Skills

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.

PadrãoProcedência: cleanEstado: activev0.1.0 · Apache-2.0

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.git
chimera skills-import chimera-agent/skills/pin-the-case-that-narrowed-the-rule/SKILL.md

Integridade

SHA-256 do arquivo como publicado. Quem importa pode conferir que o que recebeu é o que esta página mostrou.

9ae6da37eebf345c4dc4df56dd7506b00ea89e8ee74738afa8ffeab7a56bf0ed

Leia o cartão no repositório →