Leia o diff e exija uma prova
Revise a mudança, execute testes e peça evidência que corresponda ao risco.
O que você leva desta lição
- Ler diff antes de aceitar
- Relacionar mudança a critério de aceite
- Rodar testes e checagens reais
- Recusar afirmações sem evidência
Por que importa: Código plausível não é código correto. A pessoa que aprova continua sendo você.
Field Note
Quarta-feira, 18h. O Claude Code termina e escreve: "Implementei a validação de CPF, todos os testes passam." Você está com pressa, faz o commit. No dia seguinte, o cadastro aceita 000.000.000-00. Você abre o diff e encontra a explicação: a função nova está certa para os casos do teste, e o teste só tinha três casos, todos válidos. "Todos os testes passam" era verdade. Só não provava nada.
Conceito
Código plausível não é código correto. O agente para quando o trabalho parece pronto. Sem uma prova que corresponda ao risco da mudança, "parece pronto" é tudo que você tem, e quem aprova continua sendo você.
Esta lição fecha o Território 2 com três hábitos: ler o diff, ligar cada mudança a um critério de aceite e exigir evidência em vez de afirmação.
Ler o diff dentro da sessão. /diff mostra as mudanças na sua árvore de trabalho, incluindo as edições do Claude e o que mais você não comitou. Na renderização em tela cheia, ele abre um painel ao lado da conversa que se atualiza enquanto o trabalho segue. No renderizador clássico, abre um visualizador no lugar do prompt. Fora da sessão, git diff resolve igual.
O que procurar em cada arquivo:
- Mudou o que precisava? Cada trecho alterado responde a algum item do critério de aceite.
- Mudou o que não precisava? Formatação em arquivo que não tinha nada a ver, renomeação "de brinde", dependência nova.
- Mexeu em teste? Asserção trocada, teste pulado, caso removido. É o alerta mais importante.
- Silenciou algum erro?
@ts-ignore,eslint-disable,catchvazio,tryengolindo exceção.
Evidência, não afirmação. A doc de boas práticas pede que o Claude mostre evidência em vez de declarar sucesso: a saída do teste, o comando que rodou e o que voltou, um print do resultado. Revisar evidência é mais rápido que rodar tudo de novo, e funciona até para sessões que você não acompanhou.
A doc também mostra um contraste útil. Em vez de "o build está falhando", algo como "o build falha com este erro: [erro]. Corrija e confirme que o build passa. Resolva a causa raiz, não suprima o erro".
Prova proporcional ao risco. Nem toda mudança pede o mesmo nível de prova:
- Texto, estilo, log: o diff basta.
- Lógica interna: teste unitário que cobre o caso novo e um caso inválido.
- Fluxo de usuário: teste de integração ou rodar a aplicação e ver funcionando.
- Dinheiro, dado pessoal, permissão, migração: tudo acima, mais revisão de outra pessoa.
Ferramentas de revisão que a doc lista. Conferidas em outubro de 2026:
/code-review: revisa o diff atual em busca de bugs de correção. Com--fix, aplica as correções./reviewé apelido./security-review: revisa o diff em busca de vulnerabilidades./simplify: procura oportunidades de limpeza. A doc avisa que ele não procura bugs./verify: confirma a mudança construindo e rodando a aplicação e observando o resultado, em vez de confiar só em teste ou checagem de tipo.
Revisor com olhar fresco. A doc recomenda um passo adversarial: um subagente revisa o diff num contexto limpo, vendo só a mudança e os critérios, não o raciocínio que a produziu. Com um alerta honesto: um revisor instruído a achar lacunas quase sempre acha alguma, mesmo quando o trabalho está bom. Peça que ele aponte só o que afeta correção ou requisito.
Para quando virar rotina. Se a checagem precisa acontecer sempre, sem exceção, a doc indica um hook de Stop, que roda seu script e impede o turno de terminar até passar. Isso é assunto para mais adiante na trilha. Por enquanto, vale saber que existe.
Quando usar
- Sempre que for fazer commit de algo que o agente escreveu.
- Com mais rigor quando a mudança mexe em regra de negócio, dado sensível, segurança ou dinheiro.
- Quando a resposta final é curta e confiante demais para o tamanho da mudança.
- Antes de abrir PR para outra pessoa revisar. Ela merece receber algo que você já leu.
Quando não usar
Ler o diff não tem exceção. O que varia é a profundidade da prova:
- Não exija teste de integração para ajuste de texto.
- Não rode revisão adversarial em mudança de uma linha. O custo passa do benefício.
- Não persiga todo achado de revisão automática. A doc avisa que isso leva a excesso de engenharia: abstração a mais, código defensivo e teste para caso impossível.
Faça agora
A prática é entregar um Primeiro commit auditado.
- Escolha uma alteração pequena e real: uma validação, uma regra, uma correção de bug. Branch separada.
- Peça com critério de aceite e exigência de evidência:
Implemente X. Critérios de aceite: [liste dois ou três]. Escreva ou ajuste testes que cubram pelo menos um caso válido e um inválido. Rode os testes e me mostre o comando e a saída. Não altere asserções existentes. Se precisar, explique por quê antes.
- Rode
/diffe leia cada linha. Para cada trecho, escreva qual critério ele atende. Trecho sem critério é suspeito. - Encontre pelo menos um ponto para questionar: um caso de borda sem teste, um nome confuso, um erro engolido, uma mudança fora do escopo. Pergunte a ele. Anote a resposta.
- Rode os testes você mesmo, fora da conversa, e compare com a saída que ele mostrou.
- Opcional: rode
/code-reviewe veja se ele encontra algo que você não viu. - Faça o commit com uma mensagem que diga o que mudou, por quê, e como foi verificado.
Armadilhas
- "Todos os testes passam." Pergunte quais testes, quantos, e se algum foi alterado.
- Teste ajustado para passar. Asserção trocada no mesmo diff da correção é sinal vermelho até prova em contrário.
- Mock que esconde o problema. Teste que simula exatamente o trecho que deveria ser testado não testa nada.
- Ler só o resumo. O resumo é o que ele acha que fez. O diff é o que ele fez.
- Aprovar pelo tamanho. Diff pequeno também quebra produção.
- Terceirizar a revisão inteira.
/code-reviewajuda, não assina por você.
Material para levar
Ficha do commit auditado:
Tarefa:
Branch:
Critérios de aceite:
1.
2.
3.
Arquivo | Trecho alterado | Critério atendido
| |
Mudanças fora do escopo encontradas:
Testes alterados? Quais e por quê:
Erros silenciados? (ts-ignore, eslint-disable, catch vazio):
Ponto que eu questionei:
Resposta do agente:
Comando de teste que eu rodei:
Saída (resumo):
Bate com o que ele mostrou? sim / não
Mensagem do commit:
Prova proporcional ao risco:
Texto, estilo, log → diff lido
Lógica interna → teste com caso válido e inválido
Fluxo de usuário → integração ou app rodando
Dinheiro, dado, permissão → tudo acima e outra pessoa revisando
Prática: Primeiro commit auditado
Faça uma alteração pequena, leia cada linha do diff e encontre ao menos um ponto para questionar.
O que guardar como prova
- Diff revisado, teste executado e justificativa do commit.
Checkpoint
- O entregável “Primeiro commit auditado” existe e pode ser verificado por outra pessoa.
Referências
- Quickstart oficialoficial
- Boas práticas oficiaisoficial
- Workflows comunsoficial
- code.claude.com/docs/en/interactive-mode
- code.claude.com/docs/en/commands
- code.claude.com/docs/en/hooks-guide
- code.claude.com/docs/en/sub-agents
Conferido na documentação oficial em 22/10/2026. Ferramenta muda rápido: se algo não bater, a doc oficial manda.