Sistema do Agente @qa
Versão: 1.0.0 Criado: 2026-02-04 Owner: @qa (Quinn - Guardian) Status: Documentação Oficial
Visão Geral
O agente @qa (Quinn) e o Test Architect & Quality Advisor do AIOX. Seu papel e fornecer analise abrangente de qualidade, decisoes de quality gates e recomendacoes acionaveis para equipes de desenvolvimento.
Arquetipo: Guardian (Virgem) Tom de Comunicacao: Analitico, sistematico, educacional, pragmatico Vocabulario Caracteristico: validar, verificar, garantir, proteger, auditar, inspecionar, assegurar
Principios Core
- Profundidade Conforme Necessario - Ir fundo baseado em sinais de risco, manter conciso quando baixo risco
- Rastreabilidade de Requisitos - Mapear todas stories para testes usando padroes Given-When-Then
- Testes Baseados em Risco - Avaliar e priorizar por probabilidade x impacto
- Atributos de Qualidade - Validar NFRs (seguranca, performance, confiabilidade)
- Avaliacao de Testabilidade - Avaliar controlabilidade, observabilidade, debuggabilidade
- Governanca de Gates - Fornecer decisoes claras PASS/CONCERNS/FAIL/WAIVED com justificativa
- Excelencia Consultiva - Educar atraves de documentacao, nunca bloquear arbitrariamente
- Integracao CodeRabbit - Usar revisao automatizada para detectar problemas precocemente
Lista Completa de Arquivos
Arquivos Core de Tasks do @qa
| Arquivo | Comando | Propósito |
|---------|---------|-----------|
| .aiox-core/development/tasks/qa-gate.md | *gate {story} | Criar arquivo de decisao de quality gate |
| .aiox-core/development/tasks/qa-review-story.md | *review {story} | Revisao completa de story com decisao de gate |
| .aiox-core/development/tasks/qa-test-design.md | *test-design {story} | Criar cenarios de teste abrangentes |
| .aiox-core/development/tasks/qa-risk-profile.md | *risk-profile {story} | Gerar matriz de avaliacao de risco |
| .aiox-core/development/tasks/qa-nfr-assess.md | *nfr-assess {story} | Validar requisitos não-funcionais |
| .aiox-core/development/tasks/qa-trace-requirements.md | *trace {story} | Mapear requisitos para testes (Given-When-Then) |
| .aiox-core/development/tasks/qa-generate-tests.md | *generate-tests | Gerar suites de teste automaticamente |
| .aiox-core/development/tasks/qa-run-tests.md | *run-tests | Executar suite de testes com gate de qualidade |
| .aiox-core/development/tasks/qa-backlog-add-followup.md | *backlog-add | Adicionar follow-ups ao backlog |
| .aiox-core/development/tasks/qa-create-fix-request.md | *create-fix-request {story} | Gerar documento de fix request para @dev |
Arquivos de Tasks Secundarias do @qa
| Arquivo | Propósito |
|---------|-----------|
| .aiox-core/development/tasks/qa-browser-console-check.md | Verificar erros no console do browser |
| .aiox-core/development/tasks/qa-evidence-requirements.md | Requisitos de evidencia para QA |
| .aiox-core/development/tasks/qa-false-positive-detection.md | Deteccao de falsos positivos |
| .aiox-core/development/tasks/qa-fix-issues.md | Task para @dev aplicar fixes de QA |
| .aiox-core/development/tasks/qa-library-validation.md | Validacao de bibliotecas |
| .aiox-core/development/tasks/qa-migration-validation.md | Validacao de migracoes |
| .aiox-core/development/tasks/qa-review-build.md | Revisao de builds |
| .aiox-core/development/tasks/qa-security-checklist.md | Checklist de seguranca |
| .aiox-core/development/tasks/qa-review-proposal.md | Revisao de propostas |
Arquivos de Definição do Agente
| Arquivo | Propósito |
|---------|-----------|
| .aiox-core/development/agents/qa.md | Definição completa do agente QA |
| .claude/commands/AIOX/agents/qa.md | Comando Claude Code para ativar @qa |
Arquivos de Workflow
| Arquivo | Propósito |
|---------|-----------|
| .aiox-core/development/workflows/qa-loop.yaml | Orquestrador do loop QA (Review -> Fix -> Re-review) |
Arquivos de Time
| Arquivo | Propósito |
|---------|-----------|
| .aiox-core/development/agent-teams/team-qa-focused.yaml | Configuracao do time focado em QA (@dev, @qa, @github-devops) |
Arquivos de Dados (Outputs)
| Arquivo | Propósito |
|---------|-----------|
| docs/qa/gates/ | Arquivos de decisao de quality gate |
| docs/qa/assessments/ | Avaliacoes de risco, NFR e trace |
| docs/qa/coderabbit-reports/ | Relatorios de revisao do CodeRabbit |
| docs/qa/backlog-archive-{YYYY-MM}.md | Arquivo de itens completados |
Arquivos de Configuracao
| Arquivo | Propósito |
|---------|-----------|
| .aiox-core/core-config.yaml | Configuracao central (qa.qaLocation, etc.) |
| .aiox-core/development/data/technical-preferences.md | Preferencias tecnicas para QA |
Flowchart: Sistema Completo de QA
flowchart TB
subgraph TRIGGERS["Gatilhos de QA"]
DEV_DONE["@dev marca story<br/>Ready for Review"]
MANUAL["Usuario executa<br/>*review {story}"]
LOOP["QA Loop<br/>*qa-loop {story}"]
end
DEV_DONE --> START
MANUAL --> START
LOOP --> START
subgraph QA_PROCESS["Processo de QA"]
START["Iniciar Review"]
subgraph CODERABBIT["CodeRabbit Self-Healing"]
CR_SCAN["Scan CodeRabbit"]
CR_CHECK{{"CRITICAL ou<br/>HIGH issues?"}}
CR_FIX["Auto-Fix<br/>(max 3 iter)"]
CR_PASS["CodeRabbit PASS"]
CR_FAIL["CodeRabbit FAIL"]
CR_SCAN --> CR_CHECK
CR_CHECK -->|Sim| CR_FIX
CR_FIX --> CR_SCAN
CR_CHECK -->|Nao| CR_PASS
CR_SCAN -->|3 iter max| CR_FAIL
end
START --> CR_SCAN
subgraph MANUAL_REVIEW["Review Manual"]
RISK["*risk-profile<br/>Avaliacao de Risco"]
NFR["*nfr-assess<br/>NFRs (Seg/Perf/Rel/Mnt)"]
TEST["*test-design<br/>Design de Testes"]
TRACE["*trace<br/>Rastreabilidade"]
ANALYSIS["Analise de Codigo<br/>e Refatoracao"]
end
CR_PASS --> RISK
RISK --> NFR
NFR --> TEST
TEST --> TRACE
TRACE --> ANALYSIS
subgraph GATE_DECISION["Decisao de Gate"]
GATE["*gate {story}"]
PASS["PASS"]
CONCERNS["CONCERNS"]
FAIL["FAIL"]
WAIVED["WAIVED"]
end
ANALYSIS --> GATE
CR_FAIL --> GATE
GATE -->|Score OK| PASS
GATE -->|Issues Medium| CONCERNS
GATE -->|Issues High/Critical| FAIL
GATE -->|Aprovado com Ressalvas| WAIVED
end
subgraph OUTPUTS["Outputs"]
GATE_FILE["Gate File<br/>(qa/gates/*.yml)"]
STORY_UPDATE["Story Update<br/>(QA Results section)"]
FIX_REQUEST["Fix Request<br/>(QA_FIX_REQUEST.md)"]
BACKLOG["Backlog Items<br/>(follow-ups)"]
end
PASS --> GATE_FILE
CONCERNS --> GATE_FILE
FAIL --> FIX_REQUEST
WAIVED --> GATE_FILE
GATE_FILE --> STORY_UPDATE
FIX_REQUEST --> DEV_FIX["@dev aplica fixes"]
DEV_FIX --> LOOP
style TRIGGERS fill:#e1f5fe
style QA_PROCESS fill:#fff3e0
style CODERABBIT fill:#fce4ec
style MANUAL_REVIEW fill:#e8f5e9
style GATE_DECISION fill:#f3e5f5
style OUTPUTS fill:#fff9c4
style PASS fill:#c8e6c9
style CONCERNS fill:#fff9c4
style FAIL fill:#ffcdd2
style WAIVED fill:#e1bee7
Fluxo do QA Loop Automatizado
flowchart LR
subgraph LOOP["QA Loop (max 5 iteracoes)"]
direction TB
REVIEW["Phase 1<br/>QA Review"]
CHECK{{"Verdict?"}}
FIX_REQ["Phase 3<br/>Create Fix Request"]
DEV_FIX["Phase 4<br/>@dev Apply Fixes"]
INCREMENT{{"iter < max?"}}
REVIEW --> CHECK
CHECK -->|APPROVE| COMPLETE["COMPLETO"]
CHECK -->|BLOCKED| ESCALATE["ESCALAR"]
CHECK -->|REJECT| FIX_REQ
FIX_REQ --> DEV_FIX
DEV_FIX --> INCREMENT
INCREMENT -->|Sim| REVIEW
INCREMENT -->|Nao| ESCALATE
end
style COMPLETE fill:#c8e6c9
style ESCALATE fill:#ffcdd2
Mapeamento de Comandos para Tasks
Comandos de Analise e Review
| Comando | Task File | Operacao |
|---------|-----------|----------|
| *code-review {scope} | (interno) | Executar revisao automatizada |
| *review {story} | qa-review-story.md | Revisao completa de story |
Comandos de Quality Gates
| Comando | Task File | Operacao |
|---------|-----------|----------|
| *gate {story} | qa-gate.md | Criar decisao de quality gate |
| *nfr-assess {story} | qa-nfr-assess.md | Validar requisitos não-funcionais |
| *risk-profile {story} | qa-risk-profile.md | Gerar matriz de risco |
Comandos de Estrategia de Testes
| Comando | Task File | Operacao |
|---------|-----------|----------|
| *test-design {story} | qa-test-design.md | Criar cenarios de teste |
| *trace {story} | qa-trace-requirements.md | Mapear requisitos para testes |
| *generate-tests | qa-generate-tests.md | Gerar testes automaticamente |
| *run-tests | qa-run-tests.md | Executar suite de testes |
Comandos de Backlog
| Comando | Task File | Operacao |
|---------|-----------|----------|
| *backlog-add | qa-backlog-add-followup.md | Adicionar follow-up ao backlog |
| *backlog-update {id} {status} | (via po-manage-story-backlog) | Atualizar status de item |
| *backlog-review | (via po-manage-story-backlog) | Gerar revisao de backlog |
Comandos de Utilitarios
| Comando | Task File | Operacao |
|---------|-----------|----------|
| *help | (interno) | Mostrar todos os comandos |
| *session-info | (interno) | Mostrar detalhes da sessao |
| *guide | (interno) | Mostrar guia de uso completo |
| *exit | (interno) | Sair do modo QA |
Ciclo de Vida de Review de Story
1. Pre-Requisitos
Pre-conditions:
- Story status: "Review"
- Developer completou todas as tasks
- File List atualizada no story
- Todos os testes automatizados passando
2. Processo de Review
stateDiagram-v2
[*] --> CodeRabbit: Story Ready
CodeRabbit --> ManualReview: PASS (0 CRITICAL/HIGH)
CodeRabbit --> SelfHealing: CRITICAL/HIGH found
SelfHealing --> CodeRabbit: Auto-fix attempt
SelfHealing --> GateFail: Max iterations (3)
ManualReview --> RiskAssessment: Analyze
RiskAssessment --> NFRValidation: Risk profile
NFRValidation --> TestDesign: NFR assessment
TestDesign --> TraceMatrix: Test scenarios
TraceMatrix --> CodeAnalysis: Coverage map
CodeAnalysis --> GateDecision: Analysis complete
GateDecision --> GatePass: All criteria met
GateDecision --> GateConcerns: Minor issues
GateDecision --> GateFail: Critical issues
GateDecision --> GateWaived: Explicitly accepted
GatePass --> [*]: Ready for Done
GateConcerns --> [*]: Ready with awareness
GateFail --> FixRequest: Create fix request
GateWaived --> [*]: Proceed with waiver
FixRequest --> DevFix: @dev applies fixes
DevFix --> [*]: Re-review
3. Severidades de Issues
| Severidade | Prefixo | Acao | Impacto no Gate |
|------------|---------|------|-----------------|
| CRITICAL | SEC-, DATA- | Auto-fix ou bloquear | Gate = FAIL |
| HIGH | PERF-, REL- | Auto-fix ou documentar | Gate = FAIL |
| MEDIUM | MNT-, TEST- | Tech debt issue | Gate = CONCERNS |
| LOW | DOC-, ARCH- | Nota no review | Gate = PASS |
4. Decisoes de Gate
Gate Criteria:
PASS:
- Todos acceptance criteria atendidos
- Nenhum issue high-severity
- Test coverage atende padroes do projeto
CONCERNS:
- Issues não-bloqueantes presentes
- Devem ser rastreados e agendados
- Pode prosseguir com consciencia
FAIL:
- Acceptance criteria não atendidos
- Issues high-severity presentes
- Recomendar retorno para InProgress
WAIVED:
- Issues explicitamente aceitos
- Requer aprovacao e justificativa
- Prosseguir apesar de issues conhecidos
Integracao CodeRabbit
Configuracao de Self-Healing
coderabbit_integration:
enabled: true
installation_mode: wsl
self_healing:
enabled: true
type: full
max_iterations: 3
timeout_minutes: 30
trigger: review_start
severity_filter:
- CRITICAL
- HIGH
behavior:
CRITICAL: auto_fix # Auto-fix (3 tentativas max)
HIGH: auto_fix # Auto-fix (3 tentativas max)
MEDIUM: document_as_debt # Criar issue de tech debt
LOW: ignore # Nota no review, sem acao
Comandos CodeRabbit
# Pre-review (uncommitted changes)
wsl bash -c 'cd /mnt/c/.../aiox-core && ~/.local/bin/coderabbit --prompt-only -t uncommitted'
# Story review (committed changes vs main)
wsl bash -c 'cd /mnt/c/.../aiox-core && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
Fluxo de Self-Healing
flowchart TB
START["Iniciar Self-Healing"]
SCAN["Run CodeRabbit CLI"]
PARSE["Parse Output"]
CHECK{{"CRITICAL ou HIGH?"}}
FIX["Auto-Fix Issues"]
INCREMENT["iteration++"]
MAX_CHECK{{"iteration < 3?"}}
SUCCESS["PASS - Proceder Review Manual"]
TECH_DEBT["Criar Tech Debt Issues"]
FAIL["FAIL - Intervencao Humana"]
START --> SCAN
SCAN --> PARSE
PARSE --> CHECK
CHECK -->|Nao| MEDIUM_CHECK{{"MEDIUM issues?"}}
MEDIUM_CHECK -->|Sim| TECH_DEBT
MEDIUM_CHECK -->|Nao| SUCCESS
TECH_DEBT --> SUCCESS
CHECK -->|Sim| FIX
FIX --> INCREMENT
INCREMENT --> MAX_CHECK
MAX_CHECK -->|Sim| SCAN
MAX_CHECK -->|Nao| FAIL
style SUCCESS fill:#c8e6c9
style FAIL fill:#ffcdd2
style TECH_DEBT fill:#fff9c4
Integracoes entre Agentes
Diagrama de Integracao
flowchart TB
subgraph AGENTS["Integracoes do @qa"]
direction TB
subgraph QA_BOX["@qa (Quinn) - Test Architect"]
QA_DESC["Revisa stories, cria gates,<br/>design de testes, rastreabilidade"]
QA_CMDS["Comandos principais:<br/>*review, *gate, *test-design<br/>*risk-profile, *nfr-assess, *trace"]
end
subgraph DEV_BOX["@dev (Dex) - Developer"]
DEV_DESC["Recebe feedback de QA,<br/>aplica fixes"]
DEV_CMDS["Recebe: QA_FIX_REQUEST.md<br/>Executa: *fix-qa-issues"]
end
subgraph PO_BOX["@po (Pax) - Product Owner"]
PO_DESC["Gerencia backlog de follow-ups"]
PO_CMDS["Recebe: Backlog items<br/>Executa: *backlog-review"]
end
subgraph SM_BOX["@sm (River) - Scrum Master"]
SM_DESC["Pode solicitar risk profiling"]
SM_CMDS["Colabora em: Sprint planning"]
end
subgraph DEVOPS_BOX["@github-devops - DevOps"]
DEVOPS_DESC["Quality gates para PRs<br/>e deployments"]
DEVOPS_CMDS["Usa: CodeRabbit integration"]
end
end
QA_BOX -->|"review feedback"| DEV_BOX
QA_BOX -->|"follow-ups"| PO_BOX
QA_BOX -->|"risk profile"| SM_BOX
QA_BOX -->|"quality gates"| DEVOPS_BOX
DEV_BOX -->|"fixes ready"| QA_BOX
CODERABBIT[("CodeRabbit<br/>Automated Review")]
QA_BOX <-->|"integration"| CODERABBIT
style QA_BOX fill:#fce4ec
style DEV_BOX fill:#e8f5e9
style PO_BOX fill:#e3f2fd
style SM_BOX fill:#fff3e0
style DEVOPS_BOX fill:#f3e5f5
style CODERABBIT fill:#e1f5fe
Fluxo de Handoff QA -> Dev
- @qa executa
*review {story} - Identifica issues criticos
- Cria
*create-fix-request {story} - @dev recebe
QA_FIX_REQUEST.md - @dev executa
*fix-qa-issues {story} - @dev cria
READY_FOR_REREVIEW.md - @qa re-revisa com
*review {story}
Fluxo de Backlog
- @qa durante review identifica follow-ups
- Adiciona item com
*backlog-add - Item rastreado com source: "QA Review"
- @po prioriza com
*backlog-prioritize
Configuracao
core-config.yaml
qa:
qaLocation: docs/qa
gatesLocation: docs/qa/gates
assessmentsLocation: docs/qa/assessments
reportsLocation: docs/qa/coderabbit-reports
# Thresholds
coverageTarget: 80
qualityScoreMinimum: 70
# CodeRabbit
coderabbitEnabled: true
selfHealingEnabled: true
maxSelfHealingIterations: 3
devStoryLocation: docs/stories
Restricoes de Git
git_restrictions:
allowed_operations:
- git status # Verificar estado do repositorio
- git log # Ver historico de commits
- git diff # Revisar mudancas
- git branch -a # Listar branches
blocked_operations:
- git push # APENAS @github-devops pode push
- git commit # QA revisa, não commita
- gh pr create # APENAS @github-devops cria PRs
Best Practices
Durante Revisao
- Executar CodeRabbit primeiro - Deixar automacao encontrar issues obvios
- Avaliar risco - Determinar profundidade da revisao
- Verificar rastreabilidade - Cada AC deve ter teste correspondente
- Documentar refatoracoes - Se modificar codigo, explicar WHY e HOW
- Manter foco - Apenas atualizar secao QA Results
Criacao de Gates
- Usar severidades corretas - low/medium/high apenas
- Justificar decisao - status_reason em 1-2 sentencas
- Identificar owners - dev/sm/po para cada issue
- Definir expiracao - Tipicamente 2 semanas
Evitar
- Modificar secoes da story alem de QA Results
- Bloquear sem justificativa clara
- Ignorar issues medium (documentar como tech debt)
- Fazer review antes de CodeRabbit completar
- Aprovar sem verificar test coverage
Troubleshooting
CodeRabbit não encontrado
# Verificar instalacao
wsl bash -c '~/.local/bin/coderabbit --version'
# Se não instalado, usar wsl_config.installation_path no agent
Timeout na revisao
- CodeRabbit pode levar ate 30 minutos
- Aumentar timeout se necessario
- Verificar se não ha processos travados
Gate file não criado
- Verificar se
qa.qaLocation/gatesexiste - Verificar permissoes de escrita
- Confirmar que template
qa-gate-tmpl.yamlesta disponivel
Story não encontrada
- Verificar formato do story ID (epic.story)
- Confirmar que story existe em
docs/stories/ - Usar path completo se necessario
Issues de self-healing persistem
- Verificar se issues sao realmente auto-fixaveis
- Considerar intervencao manual apos 3 iteracoes
- Criar tech debt para issues complexos
Referencias
Tasks Core
- qa-gate.md
- qa-review-story.md
- qa-test-design.md
- qa-risk-profile.md
- qa-nfr-assess.md
- qa-trace-requirements.md
Workflows
Teams
Agente
Documentos Relacionados
Resumo
| Aspecto | Detalhes |
|---------|----------|
| Total de Tasks Core | 10 task files principais |
| Total de Tasks Secundarias | 9 task files de suporte |
| Workflow Principal | qa-loop.yaml (orquestracao) |
| Comandos de Review | 2 (*code-review, *review) |
| Comandos de Gate | 3 (*gate, *nfr-assess, *risk-profile) |
| Comandos de Teste | 4 (*test-design, *trace, *generate-tests, *run-tests) |
| Comandos de Backlog | 3 (*backlog-* family) |
| Decisoes de Gate | 4 (PASS, CONCERNS, FAIL, WAIVED) |
| Severidades | 3 (low, medium, high) |
| Self-Healing Max | 3 iteracoes |
| Integracao CodeRabbit | Sim (WSL mode) |
Changelog
| Data | Autor | Descrição | |------|-------|-----------| | 2026-02-04 | @qa | Documento inicial criado com diagramas Mermaid completos |
-- Quinn, guardiao da qualidade