Histórico de uma US
Agentes
Board por coluna
Fluxo da esteira
Regras do manifesto bpm-ia/examples/argos.installation.yaml: o agente só pega card com a tag esteira na coluna dele e move só para as colunas permitidas; o humano avança cada etapa. O número em cada etapa é a quantidade de cards nela agora.
-
👤 HumanoTriagemO que o humano faz
- Confere se é User Story ou Bug, na área
Argos\Esteira, com o pedido escrito de forma que outra pessoa entenda (tela, comportamento esperado, exemplo). - Se o card depende de outro, cria o vínculo Predecessor agora — o Programador respeita esse vínculo.
- Marca a tag
esteira: sem ela nenhum agente toca no card.
Opções- → Refinamento com a tag
esteira: o Escritor assume. - fica sem a tag: o card é de um dev humano e os agentes o ignoram.
- → Removed pedido duplicado ou cancelado.
⚠ Mover para outra coluna sem a tagesteiradeixa o card parado sem aviso (trava 7). - Confere se é User Story ou Bug, na área
- ↓
-
✍️ EscritorRefinamento
- Lê o código, roteia o repositório (tag
repo:) e escreve o requisito e os critérios de aceite. - Cria as tasks e marca a prioridade (cor do card).
→ Refinamento Done (requisito pronto) → Closed (já implementado / não é bug: tagorientacao-usuario) - Lê o código, roteia o repositório (tag
- ↓
-
👤 PortãoRefinamento DoneO que o humano faz
- Lê o requisito e os critérios de aceite que o Escritor escreveu e confere se é isso mesmo que foi pedido.
- Confere o repositório escolhido (tag
repo:), as tasks criadas e a prioridade (cor do card). - Vê se o Escritor marcou
infra-humano(deploy, servidor, rede): isso o agente não executa. - Declara os predecessores (vínculo Predecessor) se a entrega depende de outro card.
Opções- → Desenvolvimento aprovado: o Programador pega na próxima rodada.
- ↩ Refinamento comentar marcando @Escritor com o ajuste: ele responde ou retoma o card sozinho, sem arrastar.
- fica corrigir o requisito à mão e depois mover para Desenvolvimento.
- dev humano infra ou algo que o agente não deve fazer: tirar a tag
esteirae fazer você mesmo. - → Removed / Closed pedido cancelado ou já resolvido.
⚠ Card cominfra-humanomovido para Desenvolvimento é bloqueado na hora pelo Programador (trava 6). - ↓
-
💻 ProgramadorDesenvolvimento
- Só pega o card se os predecessores já estão em Publicação, Testado, Resolved ou Closed; senão, tag
aguarda-dependencia. - Implementa numa branch própria (card devolvido: retoma a mesma branch e responde cada apontamento).
- Um card por rodada, para o Revisor e o Testador ganharem vez.
- Só pega o card se os predecessores já estão em Publicação, Testado, Resolved ou Closed; senão, tag
- ↓
-
💻 ProgramadorTeste
- Roda o build e os testes do repositório.
- Passou: abre o PR (não aprova nem faz merge).
→ CodeReview (PR aberto; não existe "Teste Done") ↩ Desenvolvimento (falhou) - ↓
-
🔍 RevisorCodeReview
- Lê o PR e o diff, roda os testes e vota no PR.
→ CodeReview Done (aprovou) ↩ Desenvolvimento (reprovou: o Programador retoma a mesma branch) - ↓
-
👤 PortãoCodeReview DoneO que o humano faz
- Abre o PR (vínculo no card): lê o diff e o parecer do Revisor, confere se o build passou.
- Se aparecer conflito com a branch principal, o Programador tenta resolver; se não conseguir, o card ganha
conflito-manuale o PR recebe o aviso.
Opções- merge → Publicação conclui o merge do PR na
mastere deixa o card aqui: no iargos (argos-web-27) o merge na master dispara o deploy automático em QAS e o pipeline move o card direto para Publicação. - ↩ Desenvolvimento quer mudança: escreva o pedido como comentário no PR e devolva o card. O Programador lê as threads do PR; comentário só no card ele ainda não lê (US #1166).
- conflito
conflito-manual: resolver o conflito na branch, fazer push e tirar a tag. - → Refinamento / Removed abandonar: o requisito estava errado ou a entrega não faz mais sentido (abandone o PR também).
⚠ Não mova o card para PR: o pipeline só move para Publicação quem está em CodeReview Done (trava 4). Devolver só com comentário no card pode deixar o card parado em Desenvolvimento (trava 5). - ↓
-
👤 HumanoPR (coluna sem uso no iargos)O que acontece
- O pipeline do argos-web-27 move para Publicação só os cards do build que estão em CodeReview Done; card nesta coluna fica parado.
- Serve só para repositório sem essa integração, em que o humano publica e move o card à mão.
Opções- → Publicação à mão o card veio para cá por engano depois do merge, ou o repositório não tem a integração: confirme que já está em QAS e mova.
- → Testado entrega sem tela para testar (API, script): pular o Testador.
- ↓ merge na master → pipeline publica em QAS e move o card de CodeReview Done para Publicação
-
🧪 TestadorPublicação
- Abre a tela em QAS no desktop e no celular, segue o roteiro e grava vídeo e foto de cada passo como anexo.
- Reprova se houver erro de API, erro no console, rolagem horizontal ou passo não cumprido. Diferença do molde é só aviso.
→ Testado (passou) ↩ falhou: cria um Bug filho e põe a tagteste-falhou↓🔍 RevisorDiagnóstico da reprovação- Escreve o requisito no bug filho e cria a task do Programador; o card volta para Desenvolvimento.
- Defeito fora da tela (roteiro, dados, outro sistema): o bug vai para Refinamento como card próprio.
- Reprovação repetida com os mesmos problemas: tag
Bloqueado.
- ↓
-
👤 PortãoTestadoO que o humano faz
- Assiste os vídeos e vê as fotos anexadas pelo Testador (desktop e celular), um por caso de teste.
- Lê os avisos do relatório: diferença em relação ao molde não reprova sozinha — quem decide é você.
Opções- → Resolved aprovado: pronto para produção.
- ↩ Desenvolvimento reprovado por algo que o teste não pegou: crie a task (ou o bug) com o que corrigir e devolva.
- → Publicação quer que o Testador rode de novo (depois de corrigir dado ou ambiente de QAS).
- ↓
-
👤 HumanoResolvedO que o humano faz
- Dispara o pipeline do argos-web-27 manualmente com
ambiente=prode o número do card; ele recusa se o card não estiver em Resolved. - O deploy de PROD publica a
masterinteira daquele momento — leva junto todo card já mesclado, mesmo os que ainda estão em Publicação ou Testado (trava 10). - Pode juntar vários cards em Resolved numa mesma release.
Opções- → Closed automático: o pipeline põe a tag
versao:, comenta "Publicado em PROD" e fecha. - segurar esperar a janela de deploy; o card espera aqui.
- ↩ Desenvolvimento problema descoberto antes de subir.
- Dispara o pipeline do argos-web-27 manualmente com
- ↓ release em PROD (Build Service)
-
⚙️ CIClosed
- O pipeline põe a tag
versao:, comenta "Publicado em PROD na release …" e fecha o card.
- O pipeline põe a tag
agente-processando:<dono>: lock. O agente põe a tag ao pegar o card e tira ao soltar; outro agente não pega.Bloqueado: o card falhou e fica na coluna onde parou (vermelho no board). O humano corrige e remove a tag para a esteira retomar.aguardando-retentativa: erro não reconhecido. Tenta de novo sozinho até 3 vezes; esgotou, chama o humano.aguardando-sessao: a sessão do Claude no argos-server caiu e o agente espera ela voltar.aguarda-dependencia: o predecessor ainda não chegou em Publicação; um comentário diz qual card vem antes.- Card sem a tag
esteiraé ignorado pelos agentes (o board também tem devs humanos).
Bloqueado: como destravarO card fica na coluna onde parou. Leia o último comentário do agente (🛑, 🔁, ⚔️, 🩺) para saber o motivo e só então tire a tag.
| Motivo (comentário) | O que fazer |
|---|---|
| Falhou em 3 rodadas de 3 tentativas (erro não reconhecido) | Ler o erro. Se foi instabilidade, só tirar Bloqueado; se é defeito do requisito, corrigir o card antes. |
| Passou de 4 idas e voltas Revisor ⇄ Programador | Decidir o ponto em discussão respondendo no PR e depois tirar Bloqueado. Tirar sem decidir só compra mais 4 voltas. |
| 🔁 Mesmos bloqueantes do bug anterior (Testador) | A correção não resolveu ou o defeito não é da tela: abrir card para a causa real, ou aceitar e mover para Testado. |
| 🩺 Diagnóstico: fora da tela | O bug virou card próprio em Refinamento. Quando ele chegar em Publicação/Closed, tirar Bloqueado deste card à mão — nada faz isso sozinho. |
| 🛑 INFRA — não executado pelo agente | Fazer a parte de infra. Tirar infra-humano e Bloqueado (só a segunda faz o card voltar a bloquear na hora). |
| Login em QAS falhou (Testador) | Corrigir QAS ou a credencial do usuário de teste; depois tirar Bloqueado dos cards em Publicação. |
⚔️ conflito-manual (sem Bloqueado) | Resolver o conflito na branch do PR, fazer push e tirar conflito-manual. |
Análise do manifesto e do código do motor bpm-ia (05/11/2026). Os números aparecem como ⚠ no diagrama ao lado.
- Bloqueado por "fora da tela" não destrava sozinho. O card pai é bloqueado e o bug segue como card próprio; quando o bug termina, nenhum código tira o
Bloqueadodo pai. Se ninguém lembrar, o card fica parado em Publicação para sempre. Sugestão ao motor: ao bug chegar em Publicação/Closed, desbloquear o pai e devolvê-lo ao Testador. - Dependência que nunca se cumpre. O Programador espera o predecessor chegar em Publicação, Testado, Resolved ou Closed. Predecessor Removed, fora da esteira ou parado em outra coluna, e dependência circular (A espera B, B espera A), deixam o card com
aguarda-dependenciapara sempre — o aviso é escrito uma vez só. O que fazer: conferir os vínculos Predecessor; sugestão: tratar Removed como cumprido ou avisar, e detectar ciclo. - Filas nos portões humanos. Nada anda em Triagem, Refinamento Done, CodeReview Done, PR, Testado e Resolved sem alguém agir, e não há alerta de tempo parado. É a maior trava hoje: veja as contagens de Refinamento Done e CodeReview Done no diagrama.
- Card movido para PR. O pipeline do iargos só move para Publicação os cards do build que estão em CodeReview Done; se o humano move para PR depois do merge, o card fica lá. O motor também não acompanha merge nem deploy, então entrega em outro repositório (correção pontual permitida pelo contrato) espera um humano mover. O que fazer: fazer o merge e deixar o card em CodeReview Done.
- Devolução humana só pelo card. O Programador lê o feedback das threads do PR, ainda não o comentário humano do card (US #1166). Se o PR já está marcado como endereçado e o humano devolve o card para Desenvolvimento só com comentário no card, o Programador pula o card e ninguém o move de volta a CodeReview. O que fazer: sempre comentar no PR ao devolver.
- Loops com o humano: tirar a tag sem resolver a causa.
infra-humanobloqueia de novo na hora;conflito-manualvolta a ser marcado; o teto de 4 voltas recomeça a contagem a cada desbloqueio. Não é loop automático, mas gasta rodadas e tokens até alguém decidir. - Card sem a tag
esteira. Movido para uma coluna de agente sem a tag, é ignorado sem aviso nenhum. - Reprovações alternadas no teste. O freio do Testador só compara com o último bug: falhas que alternam (A, B, A, B) nunca são "a mesma" e o card dá voltas Desenvolvimento → CodeReview → merge → Publicação. Cada volta passa por merge humano, então não roda sozinho, mas pode repetir muitas vezes. Sugestão: comparar com todos os bugs do card ou limitar o número de bugs por card.
- Agente sem credencial (inapto). Pausa 15 min e tenta de novo sem contar tentativa e sem bloquear; o card fica com
aguardando-sessao. Sessão esgotada volta à fila em 6 h, mas credencial recusada só se resolve renovando a credencial no argos-server — o aviso fica só no log do container. - PROD leva a master inteira. A
masteré o ambiente de QAS: todo merge vai para QAS. O deploy de PROD é uma execução manual que confere só o card informado (precisa estar em Resolved) e publica tudo o que estiver na master, inclusive cards mesclados depois e ainda não validados em QAS. O que fazer: antes de subir, conferir se há cards em Publicação ou Testado com merge feito; sugestão: o gate de PROD checar todos os cards entre a última release e o commit publicado.
Protegido contra loop infinito: erro transitório (3 tentativas com espera de 1, 5 e 15 min, até 3 rodadas, depois Bloqueado); Revisor ⇄ Programador (teto de 4 voltas); lock abandonado (liberado após 45 min sem alteração no card); sessão esgotada (volta à fila em 6 h); mesma reprovação repetida (Bloqueado).
O que os agentes fizeram
Carregando as ações (a primeira carga pode levar ~30 s)...
| Data/hora | Quando | Agente | Card | Coluna | O que fez |
|---|