Thesis 2 por horas ou dias: trabalho durável precisa sobreviver ao próprio processo
Long-run não significa manter uma função aberta eternamente. Significa estado externo, checkpoints idempotentes, leases, retomada e handoff entre sessões independentes.
Sessões discretas, missão contínua
Cada sessão recebe missão, checkpoint, melhor artefato atual, próximos marcos e falhas abertas. Ela não precisa carregar todas as mensagens anteriores para entender o que ainda falta.
Checkpoint antes do próximo salto
A sequência correta é produzir, validar, persistir e só então agendar a continuação. Disparar a próxima etapa antes de salvar estado cria uma janela em que uma queda perde progresso ou duplica trabalho.
Leases impedem dois agentes de assumir o mesmo turno
Uma atualização condicional do job funciona como lease. Se dois workers acordarem juntos, apenas um adquire a versão atual do estado. O outro deve sair sem produzir uma segunda resposta concorrente.
Falha transitória não é falha terminal
Rate limit de provedor, timeout ou indisponibilidade temporária entram como estado pausado/retryable. Auth inválida, restrição da conta ou orçamento encerrado têm semântica diferente. Misturar essas classes é como transformar “tente depois” em “o projeto morreu”.
Initializer, builder e evaluator não fazem a mesma coisa
O primeiro turno estabelece mapa de milestones e critérios. Turnos de builder executam o próximo pedaço verificável. Periodicamente, um evaluator-integration pass procura deriva, dívida de teste e incompatibilidades entre partes antes de continuar construindo.
Handoff factual, não diário de raciocínio
O checkpoint carrega decisões e evidência necessária, não uma tentativa de serializar pensamento privado. Isso o torna menor, mais estável e mais útil para uma sessão nova.
Critério de término
“Tempo acabou” não é conclusão. O job termina quando a entrega está completa e o melhor gate de verificação disponível passou, ou quando existe uma condição explícita de pausa/falha que pode ser mostrada ao usuário sem fingir sucesso.