🏁 Trave sua linha de chegada
Antes de rodar qualquer loop, responda duas coisas: o que "pronto" significa (escrito de um jeito que uma máquina consiga checar) e como você vai checar. Essas duas respostas são a checagem "pronto?" do loop — não um detalhe, mas o motor da parada.
Leia o diagrama: as duas respostas não ficam soltas — elas se somam e viram a checagem que o loop usa a cada volta. Definir "pronto" e definir "como checar" é definir o loop.
🧩 Os 4 tipos de check
Como você checa depende da tarefa. Existem quatro jeitos, do mais fácil ao mais humano: Functional (máquina decide), Visual (precisa ser visto), Judgment (rubrica + 2º agente) e You-decide (você aprova). Os próximos tópicos abrem cada um.
✅ Check Functional
O check Functional é quando uma máquina responde sim/não com zero opinião: os testes passam, o app roda, o build compila. É o mais fácil de todos — comece por ele sempre que der.
O que ver: os quatro checks, da esquerda (mais automático) para a direita (mais humano). O Functional é o primeiro — um verde/vermelho que a máquina lê sem precisar de você.
Testes passam
Rodar a suíte → "0 falhando". Sim ou não, sem debate.
App roda
Subir o app → responde na porta? Boot sem erro?
Build compila
Compilar → "sucesso" ou "erro na linha X". Binário.
✓ Por que começar pelo Functional
É inquestionável e barato: a máquina já dá a resposta, você não precisa interpretar nada. Sempre que conseguir reduzir o "pronto" a um teste que roda, faça — é o tipo de check mais confiável que existe.
👁️ Check Visual
Às vezes o resultado precisa ser visto para ser julgado: uma UI, um thumbnail, um layout. Esse é o check Visual. A boa notícia: a maioria dos agentes hoje consegue olhar imagens ou tirar um screenshot e julgar a partir dele.
✓ O agente vê
Ele tira um screenshot da tela, abre a imagem gerada, e compara com o que foi pedido — "o botão está centralizado?", "as cores batem?".
✗ Checar só pelo código
Olhar o CSS e supor que ficou bom é cego — o pixel final pode estar quebrado mesmo com o código "certo". Visual pede ver o pixel.
O que ver: o agente captura a tela, olha e devolve um juízo do que viu — não do código.
⚖️ Check Judgment
Quando o "pronto" precisa de gosto, mas dá para descrever esse gosto, use o check Judgment: você escreve um checklist (uma rubrica) e um segundo agente pontua por ela. É o maker→checker da Trilha 2 aplicado à qualidade subjetiva.
⚠️ A armadilha: "até você ficar satisfeito"
"Itere até ficar bom" é subjetivo demais — o loop não tem como medir "satisfeito" e nunca para (ou para no lugar errado).
O conserto: torne objetivo — "keep iterating until X metric = Y", por exemplo "itere até a nota média da rubrica ≥ 9". Agora há um número para o loop perseguir.
✗ Subjetivo demais
"Refaça até ficar elegante." → sem métrica, o loop nunca sabe se chegou.
✓ Objetivado por rubrica
"Pontue por esta rubrica (0-10) e itere até a média ≥ 9." → agora há um alvo.
🙋 Check You-decide
Quando o passo é irreversível ou é puro gosto que nenhuma rubrica captura, use o check You-decide: o loop pausa, você aprova, e ele continua. É o check certo para passos arriscados — as "portas de mão única" (one-way doors), de onde não dá para voltar.
▶ Copy-run: o gate humano
Objetivo: instruir o loop a pausar e pedir aprovação antes de qualquer ação irreversível, em vez de agir por conta.
# Cole junto com seu prompt no Claude Code — um gate humano para portas de mão única
# a regra de pausa (You-decide)
Pause e me pergunte ANTES de deletar, enviar ou pagar qualquer coisa.
Para essas ações, não decida sozinho: descreva o que vai fazer, espere meu "ok",
e só então execute.
# o que NÃO precisa pausar
Ler arquivos, rodar testes, editar código localmente e <outras ações reversíveis>
você pode fazer direto, sem pedir.
Como verificar: dê ao agente uma tarefa que envolva uma ação arriscada (ex.: "limpe a pasta X"). Confirme que ele para e pergunta antes de deletar, em vez de apagar direto. Se pausou e esperou seu "ok", o gate está funcionando.
💡 You-decide é raro, mas crítico
Use com parcimônia — pausar a cada passo mata o ganho do loop. Reserve para o que é irreversível ou para o gosto que nenhuma métrica captura. Para o resto, prefira Functional, Visual ou Judgment.
🎚️ Objetivo vs subjetivo
A regra-mãe deste módulo: quanto mais objetivo o "pronto", melhor o loop. Objetivo dá ao loop um número para perseguir e um momento claro de parar. Subjetivo deixa o loop perdido. Sempre que possível, empurre o "pronto" para o lado objetivo.
🎬 Exemplo real: a foto Abbey Road em CSS (vídeo do Nate)
A tarefa: recriar a clássica foto de capa "Abbey Road" usando só CSS. O "pronto" foi travado de forma objetiva:
- •Parar quando a média de score ≥ 9 (rubrica) OU após 8 passes (cap duro).
- •Cada versão era screenshot + reavaliada (check Visual + Judgment combinados).
Repare: nota e cap. O loop não roda "até ficar bom" — roda até 9 ou 8 passes. Esse cap duro é o freio que impede o loop de girar para sempre.
| "Pronto" subjetivo (ruim) | "Pronto" objetivo (bom) |
|---|---|
| "até ficar elegante" | "até a média da rubrica ≥ 9 ou 8 passes" |
| "melhore o código" | "até o lint e os testes passarem" |
| "resuma bem" | "≤ 5 linhas e cobre os 3 pontos-chave" |
Qual destes é a melhor definição de "pronto" para um loop?
🧾 Resumo do Módulo
Próximo:
Trilha 3 — Construindo seu primeiro loop (a sequência de 7 passos)