RECURSOS / 10
Verificação
Um comando seu que confere a etapa depois do turno do agente. Se ele reprovar, a etapa não fica pronta, mesmo que o agente diga que terminou.
Atualizado para o PrumoGrid 0.5.11
Para que serve
O agente avisar que terminou quer dizer que ele parou de falar. A verificação é um comando seu, como npm test, que o PrumoGrid roda depois do turno para conferir o trabalho. Quem decide é o código de saída: se o comando sai com o código esperado, a etapa fica aprovada; se não, ela fica reprovada e não libera a próxima. O comando roda no serviço, fora do terminal do agente, e o resultado mostra o comando, o código de saída, o tempo e o veredito.
Veja no vídeo
Uma operação de correção com vários agentes. Um bug corrigido do começo ao fim por três agentes: análise, correção confirmada pelo npm test e revisão com a minha aprovação. Legendas e transcrição ↗
Quando usar e quando não usar
Use uma verificação nas etapas que mudam código e que alguém vai incorporar: uma correção, uma refatoração, um teste novo. Numa etapa que só analisa ou escreve um relatório, um comando raramente prova alguma coisa, e o aviso do agente ou a sua aprovação servem melhor.
Uma verificação só vale se puder reprovar. echo ok, ou um comando que sempre sai com zero, não confere nada. E um comando que já passa antes do trabalho também não confere o trabalho.
Passo a passo
A verificação do projeto
Cada projeto pode ter um comando de verificação, usado pelas etapas e pelas rotinas.
- Olhe o cartão da
loja-api. A linha Verificação: npm test · detectado diz que o PrumoGrid achou onpm testnopackage.json. - Para conferir ou mudar, abra o menu
···do cartão e escolha Verificação do projeto…. A paleta de comandos (Ctrl+K) tem o mesmo comando. - No diálogo Verificação · loja-api, confira Comando, Pasta e Tempo limite (min). A frase Passa quando o comando termina com 0. diz a regra.
- Clique em Testar agora. O PrumoGrid pergunta "Vai rodar npm test em C:\demo\loja-api. Rodar?". Clique em Rodar e veja o código de saída, o tempo e se passou.
- Clique em Salvar.
A detecção olha arquivos como package.json, pom.xml, go.mod e os manifestos .NET. Quando o comando vem de outro lugar, o cartão diz a origem: definido por você, do CLAUDE.md, do AGENTS.md ou sugerido. Sem comando, o cartão mostra Sem verificação.
Um critério que falha antes: o cupom PRIMEIRA
O cupom PRIMEIRA dá desconto em dobro quando o carrinho tem dois itens. A loja-api não tem teste de cupom, então npm test passa hoje, com o defeito lá. Usar npm test sozinho como critério aprovaria a etapa mesmo que o agente não corrigisse nada.
Um critério que pega o defeito: um carrinho com um item de R$ 100 e outro de R$ 50 deve ter R$ 15 de desconto (10 %), e hoje sai R$ 30.
node -e "const {descontoDoCupom}=require('./src/cupom.cjs');process.exit(descontoDoCupom([{preco:100,quantidade:1},{preco:50,quantidade:1}],'PRIMEIRA',{})===15?0:1)"- Rode o comando no PowerShell da
loja-apie confira o código:$LASTEXITCODEmostra1. O critério reprova agora, que é o que se quer. - Clique em + Nova etapa e escreva
Corrija o cupom PRIMEIRA, que dá desconto em dobro com dois itens. Acrescente um teste que reproduz o caso e rode npm test. - Em Mais opções, escolha Automática com verificação · o comando passa e a próxima começa sozinha.
- Em Conferir com um comando, cole o comando acima no lugar de
npm test. Deixe aprova quando terminar com em sucesso (0) e o tempo em 120 segundos. - Clique em Criar etapa.
Quando o agente termina o turno, o PrumoGrid roda o comando. Com o cupom corrigido, ele sai com 0, e o cartão da etapa diz que o comando passou, com aprovada ✓. Se o agente parou no meio, sai com 1, e a etapa fica reprovada, com Ver saída e corrigir no cartão.
O que aparece na tela
| Na tela | O que significa |
|---|---|
| Verificação: npm test · detectado | O comando do projeto e de onde ele veio. |
· do projeto: npm test | A etapa usa o comando do projeto. Trocar o texto vale só para esta etapa; usar o do projeto volta. |
| aprova quando terminar com sucesso (0) / erro (1) | O código de saída esperado. Alguns comandos de conferência saem com 1 quando acham o que procuram. |
| desiste depois de N segundos | O tempo máximo da verificação da etapa, de 5 a 900 segundos. |
comando rodou 23:50, reprovada: saída 1 | No cartão: a verificação rodou e reprovou com código 1. |
critério reprovado há 1m06s: exit 1 (esperado 0) | No topo do Fluxo: o último veredito, com Ir à etapa. |
Conferir se algo mudou no código
Para exigir que a etapa mude alguma coisa, sem depender da linguagem, há Conferir se algo mudou no código desde que esta etapa recebeu a instrução. O PrumoGrid fotografa a pasta quando entrega a instrução e de novo na conferência, e aprova só se houver arquivo novo, modificado ou apagado entre as duas. Mudanças que já estavam pendentes antes não contam. Essa opção não confere se a alteração está certa; use junto de um teste quando der.
Quando a verificação reprova
- Leia o erro em Ver saída e corrigir ou em Ver saída da verificação, no resultado.
- Decida o que está errado: o código, as dependências ou o próprio critério.
- Se o código precisa de correção, peça ao agente na mesma conversa ou devolva a etapa.
- Se o critério estava errado, use Trocar critério e depois Verificar de novo… para rodar o novo agora.
Trocar o comando, a pasta ou a condição de aprovação invalida a evidência anterior. O resultado antigo continua no histórico, mas não aprova o critério novo.
Dicas
- Antes de configurar, rode o comando no terminal com o trabalho por fazer. Se ele passar, ele não verifica o trabalho, e o PrumoGrid avisa quando reconhece esse caso.
- Prefira testes que exercitam a mudança pedida. Uma suíte inteira que demora dez minutos atrasa cada etapa.
- O comando roda pelo Windows (
cmd.exe), na pasta da etapa. Se o agente está no WSL e o comando depende do Linux, envolva-o:wsl -e sh -lc "npm test". - Use Verificação e sua aprovação quando quiser que o comando passe e, além disso, ler o resultado antes de liberar a próxima etapa.
Limites conhecidos
- O código de saída prova só o que o comando testou. Um
npm testque passa não diz nada sobre o que nenhum teste cobre. - Comando de verificação: até 512 caracteres. Tempo da verificação da etapa: de 5 a 900 segundos.
- Até 16 verificações cadastradas no serviço.
- O resultado guarda até 200 caracteres da saída do comando.
- A verificação roda no serviço, fora do terminal do agente: a saída dela não aparece naquele terminal.
- A detecção sugere um comando; ela não instala ferramentas nem garante que as dependências estejam prontas.