Ir para o conteúdo

Skills

build-the-gate-before-the-content

Uma checagem acrescentada depois daquilo que ela guarda é uma checagem que alguém desliga para entregar. Feche-a enquanto não há nada para bloquear.

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

  • planejando uma migração
  • começando uma superfície nova
  • a gente adiciona o lint depois
  • definindo a ordem do trabalho

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

Você está prestes a construir algo que vai precisar de uma regra aplicada em todo o seu alcance — uma restrição de estilo, uma checagem de atualidade, um schema, um validador de links, um orçamento. A ordem natural é construir a coisa e adicionar a checagem só depois que houver algo para checar.

Não se aplica a uma checagem que você está adicionando a um código que já existe; esse é um trabalho diferente e mais difícil, e a resposta ali é uma catraca (ratchet), não um muro.

Faça

  1. Adicione a checagem no primeiro commit, antes de existir qualquer conteúdo para ela falhar em cima. Ela passa trivialmente, e esse é o ponto: nasce verde.
  2. Dê a ela uma mensagem de falha que diga o que rodar. Um gate cuja saída é assert False é apagado pela próxima pessoa que esbarrar nele às 2 da manhã.
  3. Escreva a checagem para que ela falhe na primeira violação, não na centésima. Catracas são para código legado; projeto novo (greenfield) começa do zero.
  4. Quando a checagem disparar, conserte o conteúdo. Toda vez que você alterar a checagem em vez disso, anote na mensagem do commit qual caso forçou a mudança.

Evite

"Vamos ligar isso quando as páginas estiverem escritas." Nessa hora a checagem já tem um backlog, ligá-la significa um dia de correções sem relação com a tarefa, e o caminho mais barato é uma lista de skip que nunca encolhe.

Evite também afrouxar um gate no mesmo commit da feature que o disparou. O afrouxamento fica invisível num diff grande, e é exatamente o momento em que um gate deixa de ser um gate — por isso ele pertence ao seu próprio commit, com sua própria explicação.

Verifique

Introduza uma violação de propósito e confirme que o build fica vermelho — depois remova-a. Faça isso no dia em que você escrever o gate, não depois.

Um gate que ninguém nunca viu falhar não é um gate; é um arquivo que afirma ser um.

Risco

Um gate escrito antes do conteúdo codifica uma suposição sobre um conteúdo que ainda não existe, e algumas dessas suposições acabam erradas. Espere ter que estreitá-lo uma ou duas vezes no início.

Esse estreitamento é o momento perigoso. Cada um enfraquece a regra, e uma regra estreitada três vezes sem que ninguém perceba é uma regra que não cobre mais o caso para o qual foi escrita. Prenda (pin) cada estreitamento ao exemplo de falha que o causou.

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/build-the-gate-before-the-content/SKILL.md

Integridade

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

58c3de3bf7323fb3be38d084394e45ff97e408c20c45db31749cde2b8a13fc81

Leia o cartão no repositório