E22 · De 0/8 a 8/8 no ensaio
5 minRode o ensaio.
Pronto quando: LOOP: 0/8 com saída: 1, depois LOOP: 8/8 — PRONTO com saída: 0.
Aula 8 · 20 min
As sete aulas deram as peças: hipótese, experimento, promoção, lições, regra vinculante, medidor protegido e rastro. Falta juntar no seu sistema e conferir que nenhuma ficou de fora. Esta aula também fecha a formação: o que cada um dos seis cursos põe no loop e o plano datado para montar o seu.
Começar a aula
Objetivo: conferir as oito peças do loop que aprende no seu projeto, fechar o que falta e fechar a formação com o plano datado.
Uma por aula. Clique em cada peça para ver o que o conferir-loop.py exige.
conferir-loop.py lê loop.conf na raiz do projeto. Ele confere a presença e a coerência das peças, não a qualidade da sua hipótese.
Uma pasta vazia e um loop montado pelo kit (montar.sh repete, sem modelo, o que as aulas 1 a 7 fizeram). Precisa dos repositórios loop-r e sil-loop-r em ~/projetos.
K=~/projetos/loop-r-eng-aprende-v72/kit
E=${TMPDIR:-/tmp}/ensaio-aprende/a8; rm -rf $E; mkdir -p $E/vazio
echo "## uma pasta sem nada"; python3 $K/conferir-loop.py $E/vazio > $E/vazio.txt; echo "saída: $?"; tail -1 $E/vazio.txt
echo "## as oito peças montadas pelo kit (o que as aulas 1 a 7 fizeram)"
bash $K/montar.sh $E/meu-loop > /dev/null
python3 $K/conferir-loop.py $E/meu-loop; echo "saída: $?"
echo "## o loop.conf que o conferir lê"; cat $E/meu-loop/loop.conf# loop.conf — o que o conferir-loop.py lê (KEY=valor; ~ e $HOME valem). Fica na raiz do seu projeto. SISTEMA=~/projetos/<seu-sistema> # repo onde o experimento roda (tem results.tsv); padrão: esta pasta LOOP=~/loops/<seu-loop>/promocao # versoes/ + memoria/ledger.md (aula 3); fora do repo do sistema GUARDA=~/loops/<seu-loop>/medidor.sha256 # manifesto do medidor (aula 6); fora do repo ESCONDIDOS=~/loops/<seu-loop>/escondidos.jsonl RASTRO=~/loops/<seu-loop>/rastros.jsonl # uma linha por ciclo (aula 7) TETO_TOKENS=<tokens por ciclo, a partir da sua medição real> APROVADOR=<quem aprova a promoção (nível L1)>
## uma pasta sem nada saída: 1 LOOP: 0/8 — FALTAM 1, 2, 3, 4, 5, 6, 7, 8 ## as oito peças montadas pelo kit (o que as aulas 1 a 7 fizeram) OK 1 hipótese com número (hipotese.md passa no hipotese.py) OK 2 experimento keep/discard (results.tsv com 1 ciclo(s)) OK 3 promoção e rollback (versoes/atual + ledger com PROMOVIDA) OK 4 lições com decisão (SIL) (1 regra(s) ativa(s) no SIL) OK 5 regra vinculante no AGENTS.md (bloco promovido e check sem pendência) OK 6 medidor fora do alcance (GUARDA confere e ESCONDIDOS fora da pasta) OK 7 rastro por ciclo (RASTRO com pelo menos um ciclo) OK 8 teto e aprovador (TETO_TOKENS e APROVADOR no loop.conf) LOOP: 8/8 — PRONTO saída: 0 ## o loop.conf que o conferir lê LOOP=/tmp/ensaio-aprende/a8/meu-loop-fora/promocao GUARDA=/tmp/ensaio-aprende/a8/meu-loop-fora/medidor.sha256 ESCONDIDOS=/tmp/ensaio-aprende/a8/meu-loop-fora/escondidos.jsonl RASTRO=/tmp/ensaio-aprende/a8/meu-loop-fora/rastros.jsonl TETO_TOKENS=50000 APROVADOR=Seu Nome
O que fica fora do repo do sistema (medidor, escondidos, rastro, versões) vai para uma pasta irmã: o agente que mexe no sistema não alcança o que o julga.
O que cada curso põe no seu loop. Este é o último.
As cinco peças do loop (objetivo, estado, ação, verificação, parada), o harness, os motores de loop de hoje, o LOOP-R e o critério de pronto de 0 a 4.
Quem diz que acabou não pode ser quem fez: avaliador cético, testes congelados, atalhos, conjunto de ouro, juiz calibrado e o portão em camadas.
O kit de sete arquivos, goal.md nível 3+, contexto em faixas, handoff que confere, loop headless com teto e a medição da sessão.
Quando não usar, subagentes com retorno curto, gerador × avaliador, worktrees, filas sem colisão e o time Claude + Codex.
Tríade letal, Regra de Dois, injeção pelo conteúdo lido, permissões por etapa, hooks de guarda, sandbox e a porta do irreversível.
Hipótese com número, keep/discard, promoção e rollback, lições que viram regra vinculante, medidor protegido e custo por ciclo.
O ensaio, depois o seu sistema.
Rode o ensaio.
Pronto quando: LOOP: 0/8 com saída: 1, depois LOOP: 8/8 — PRONTO com saída: 0.
No seu projeto, copie o loop.conf.exemplo para loop.conf, aponte cada caminho para as peças que você montou nas práticas das aulas 1 a 7 e rode o conferir-loop.py. Feche as peças que faltam, uma por vez, na ordem.
Pronto quando: python3 $K/conferir-loop.py ~/projetos/[seu-projeto]; echo "saída: $?" → LOOP: 8/8 — PRONTO e saída: 0.
Com o loop 8/8, rode um ciclo real com o seu agente, guarda e escondidos ligados e o rastro gravando (MEDIR e MEDIDOR exportados como na aula 2, se o medidor é seu). Se der keep, faça o cartão e peça a aprovação a quem decide.
Pronto quando: o results.tsv do seu sistema ganha uma linha nova, o rastro ganha uma linha com tokens, e há um decisao.md com nome e data se o ciclo deu keep.
Quatro entregas, na ordem. Clique num exercício para ver o "pronto quando".
aulas 3, 4 e 5
3 exercícios
Promoção com rollback e lições que viram regra.
Ver a aulaKit clonado, hipotese.md aprovado e três ciclos no ensaio, mais um real.
Requer o dia 1. Vereditos refeitos, SIL no seu projeto e uma regra vinculante.
Requer os dias 2 e 3. Os dois atalhos vistos e fechados; o custo por keep medido.
Requer tudo antes. loop.conf apontando para as peças, conferir-loop.py em 8/8.
Medir, decidir, proteger e montar. Só passe para a próxima entrega quando o "pronto quando" da anterior for verdade.
Ordem obrigatória: promover sem medidor protegido é promover o atalho.
Escolha o início e quanto tempo você tem por semana. O plano lista os 24 exercícios na ordem.
Pergunta 1 de 4
O conferir-loop.py deu 8/8. O que isso garante?competência
Pergunta 2 de 4
Por que medidor, escondidos, rastro e versões ficam fora do repo do sistema?competência
Pergunta 3 de 4
Qual curso da formação é dono de "avaliador separado, testes congelados e juiz calibrado"?
Pergunta 4 de 4
Na ordem do mapa, por que "Proteger" vem antes de "Montar"?
Escolha uma alternativa. A explicação aparece depois da sua tentativa.