
Foreman: fábrica de software da Vercel com agentes em cada etapa
Foreman: fábrica de software da Vercel com agentes em cada etapa
A Vercel lançou o Foreman, um template de software factory da família eve que coloca agentes de IA em todas as etapas do ciclo de desenvolvimento, mantendo humanos nas decisões de julgamento. O sistema recebe tarefas do GitHub e do Linear, passa por quatro estações e entrega um pull request de rascunho revisado no repositório. O desenvolvedor revisa, marca como pronto e faz o merge.
Pipeline em quatro estações
Cada estação é um agente com instruções, sandbox e ferramentas próprios:
- Classifier: faz triagem da tarefa, definindo tipo, prioridade, complexidade e se é acionável. Quando não é, pergunta ao solicitante em vez de construir a coisa errada.
- Analyst: transforma a tarefa em um plano com critérios de aceite, trabalhando em um checkout do repositório.
- Implementer: executa o plano em sandbox própria, verifica com os checks do repositório e publica a branch.
- Reviewer: avalia independentemente o diff real, com evidências para cada veredito. O Reviewer vê apenas a branch publicada, nunca o raciocínio do Implementer.
Entre execuções, o Foreman mantém um "factory brain": notas sobre o repositório que toda execução usa como ponto de partida.
Como o trabalho chega
O sistema pode ser acionado de várias formas: rótulo factory em uma issue, @mention em issue ou PR (para owners, membros e colaboradores), delegação no Linear via Agent Sessions, TUI local para desenvolvimento ou CI vermelho em PR da fábrica - nesse caso, o Foreman diagnostica a falha e publica correção apenas nas próprias branches, nunca nas do usuário. Quando alguém abre um pull request, o Foreman posta um comentário orientando revisores com um resumo, sem fazer review.
Deploy e configuração
O fluxo de deploy na Vercel configura conectores do GitHub e do Linear, Vercel Blob store e variáveis de ambiente. A variável obrigatória FACTORY_REPO define o repositório em que a fábrica trabalha. Outras opções incluem FACTORY_SETUP_COMMAND (comando executado no build, como pnpm install), FACTORY_LABEL (rótulo que entrega issues à fábrica, padrão factory), FACTORY_BRANCH_PREFIX (prefixo das branches da fábrica, padrão factory/) e FACTORY_BOT_NAME. Execuções locais são tratadas como não confiáveis: mudanças no GitHub aguardam aprovação na TUI.