Bug Flow
| Tipo | Bug (P1 | P2 | P3 | P4) |
| Trigger | /analyze-bug <ticket> |
| Agentes | bug-investigator → impact-analyzer → architecture-agent → builder-agent → code-reviewer-agent → test-validator → pr-generator → release-agent → learning-agent |
| Checkpoints humanos | 4 |
Pré-requisito: instalação concluída — ver 00 — Instalação e Setup.
1. O que é e quando usar
Fluxo para defeito reportado com root cause única e fix localizado (1 arquivo, 1 método). Aplica Hypothesis First: o investigador formula hipóteses explícitas antes de buscar no código.
Use quando: há um sintoma específico reportado por usuário e o fix é focado.
Não use quando: - O fix é só de banco, sem código → Data Fix - É ajuste leve sem lógica de negócio → Small Improvement - É uma classe inteira de problema de security (CWE) → Vulnerability
2. Visão geral do fluxo
/analyze-bug
└── bug-investigator → BugReport
└── impact-analyzer → ImpactReport
↓
⚡ CHECKPOINT 1 — humano revisa e aprova a estratégia
↓
/generate-fix
└── architecture-agent → ArchGuidance / Mini RFC (se necessário)
└── builder-agent → PatchBundle
└── code-reviewer-agent → CodeReviewReport (revisão automatizada antes do humano)
↓
⚡ CHECKPOINT 2 — humano revisa o patch (com o code review ao lado)
↓
/run-regression
└── test-validator → ValidationReport + Gate 1 (1a cobertura do diff + 1b execução no dev)
↓
Esteira de Qualidade: /smoke (Gate 2) → /validacao-testes (Gate 3) → /qa-gate (4 verdes)
↓
/open-pr
└── pr-generator → PR Description + Rollback Plan
↓
⚡ CHECKPOINT 3 — reviewer aprova o PR
↓
/release-check
└── release-agent → ReleasePackage
↓
⚡ CHECKPOINT 4 — humano aprova o deploy
↓
[deploy via pipeline] → learning-agent → atualiza Speckit
3. Passo a passo
Passo 1 — /analyze-bug <ticket> — bug-investigator → impact-analyzer
- Lê
.speckit/known-issues/— há match com padrão conhecido? - Lê
.speckit/architecture/risk-map.md— arquivo suspeito é hotspot? - Lê
.speckit/domain/system-overview.mde.speckit/business-rules/— é bug ou regra? - Analisa o código nos arquivos suspeitos e formula hipótese de root cause.
- Encadeia o
impact-analyzerautomaticamente (blast radius). Output:.ns-flow/analysis/<ticket>-bugreport.md+.ns-flow/analysis/<ticket>-impact.md→ Parar. Checkpoint 1.
Passo 2 — /generate-fix <ticket> — architecture-agent → builder-agent → code-reviewer-agent
architecture-agentvalida a abordagem contra ADRs e políticas:- Hotspot → Mini RFC obrigatória; mudança de banco →
db-change-policy; SQL →security-policy. builder-agentgera o patch mínimo.- Verificações automáticas: nenhuma credencial, SQL parametrizado, sem acesso a produção.
code-reviewer-agentrevisa o diff (escopo, corretude, segurança, reuso, testes, UX) antes do humano — finding Blocker volta ao builder-agent. Output:.ns-flow/design/<ticket>-arch-guidance.md(se necessário) +.ns-flow/delivery/<ticket>-patch.md+.ns-flow/delivery/<ticket>-code-review.md→ Parar. Checkpoint 2.
Passo 3 — /run-regression <ticket> — test-validator (Gate 1)
Identifica testes existentes dos arquivos modificados, garante que passam, escreve teste do cenário
do bug (RED→GREEN) e verifica a cobertura do código alterado — esse é o Gate 1a (Cobertura) (ou N/A-por-ADR quando o stack não permite unit). O Gate 1 também executa o 1b (Execução no dev/stg): o QA Plan (CTs) executado via Playwright no ambiente dev/stg (nunca HML — HML é o Gate 3), reusando o motor do qa-expert com ambiente=dev. Gate 1 verde = 1a (verde ou N/A-por-ADR) E 1b (verde).
Output: .ns-flow/delivery/<ticket>-validation.md + testes em tests/<ticket>/
Passo 3b — Esteira de Qualidade (Gates 2 e 3) — antes do PR
- Gate 2 — smoke:
/smoke <ticket>(caminho crítico) - Gate 3 — E2E:
/validacao-testes <ticket>(FEAT-{N}/critérios com evidência) → alimenta o Checkpoint 3 - Meta-gate:
/qa-gate <ticket>— os 4 verdes liberam o PR/release. Ver Quality Layer.
Passo 4 — /open-pr <ticket> — pr-generator
Output: .ns-flow/delivery/<ticket>-pr-description.md + PR criado no repositório
→ Parar. Checkpoint 3.
Passo 5 — /release-check <ticket> — release-agent
Verifica quality gates e gera o ReleasePackage com instrução de deploy e monitoramento.
Output: .ns-flow/delivery/<ticket>-release.md
→ Parar. Checkpoint 4.
Passo 6 — Pós-deploy — learning-agent
Atualiza .speckit/known-issues/ (padrão novo), risk-map.md (hotspot confirmado),
metrics-feed.jsonl (type: "bug") e speckit-updates.md. Encerra o ticket.
4. Checkpoints humanos
| # | Quando | Quem aprova | Verifica |
|---|---|---|---|
| 1 | Após análise | Dev/TL | Root cause faz sentido? Blast radius correto? Estratégia aprovada? |
| 2 | Após patch | Dev/Reviewer | CodeReviewReport lido (Blockers resolvidos)? Muda só o que o root cause exige? Sem refactoring? Sem credencial? SQL parametrizado? |
| 3 | No PR | Reviewer | Descrição correta? Rollback executável? Homologação (Gate 3 E2E) feita? /qa-gate verde? |
| 4 | Antes do deploy | Responsável de release | 4 gates de qualidade ✅? Janela adequada? On-call ciente? |
Se rejeitado no CP1/CP2: acrescente contexto e re-rode o comando da etapa (
/analyze-bugou/generate-fix) com instrução adicional.
5. Pastas e arquivos gerados
| Etapa | Arquivo |
|---|---|
| Investigação | .ns-flow/analysis/<ticket>-bugreport.md |
| Impacto | .ns-flow/analysis/<ticket>-impact.md |
| Arquitetura (se necessário) | .ns-flow/design/<ticket>-arch-guidance.md |
| Patch | .ns-flow/delivery/<ticket>-patch.md |
| Code Review | .ns-flow/delivery/<ticket>-code-review.md |
| Validação | .ns-flow/delivery/<ticket>-validation.md + tests/<ticket>/ |
| PR | .ns-flow/delivery/<ticket>-pr-description.md |
| Release | .ns-flow/delivery/<ticket>-release.md |
| Encerramento | atualizações em .speckit/ + linha em metrics-feed.jsonl |
6. Aplicação pelo time (papéis)
| Papel | Responsabilidade |
|---|---|
| Dev | Dispara /analyze-bug, valida root cause (CP1), gera e revisa o patch (CP2) |
| Tech Lead | Decide Mini RFC em hotspots; pode aprovar CP1/CP2 |
| Reviewer | Aprova o PR e o rollback plan (CP3) |
| Release / On-call | Aprova e confirma o deploy (CP4) → aciona o learning-agent |
Para investigações longas (várias sessões), mantenha
.ns-flow/state/<ticket>-state.md.
Referências
- Definição canônica:
.claude/workflows/bug-flow.md - Comandos:
/analyze-bug,/generate-fix,/run-regression,/open-pr,/release-check