Skip to content

Capítulo 11 — Gate 1: o QA Validator

O Gate 1 (agent-spec-qa-validator) é o olho funcional da pipeline. Ele responde a uma pergunta: o código faz o que a task pediu, com robustez e testes que pegam bugs reais? São oito camadas, todas obrigatórias.

As oito camadas

#CamadaPergunta central
0Completude de escopo declaradoTodos os arquivos declarados na task existem mesmo? (bloqueante, primeira)
1CorretudeCada critério de aceitação (CA) passou? (PARCIAL conta como falha)
2RobustezTrata null/vazio/erro? Estados de UI? Race de UI?
3Segurança de superfícieInjeção, XSS óbvio, segredos hardcoded
4CompletudeCenários, validações e mensagens faltando?
5Qualidade dos testesAntipadrões de teste (5 famílias) via agent-spec-testing-best-practices
6ADR Compliance LightSweep grep-detectável de ADRs ativas
7Testes automatizadosExistência + execução da suíte (bloqueante)

📝 Nota

A Camada 0 foi adicionada depois que descobrimos que CAs frouxos mascaravam entregas parciais — a task declarava 3 endpoints + 1 migration, o executor entregava 2, e CAs genéricos passavam. Ela cruza a lista declarada (§5.1/§5.2 no SDD, §3.1/§3.2 no miniSpec) contra o working tree: arquivo declarado e ausente → CRÍTICO. CAs validam comportamento; a Camada 0 valida presença estrutural — duas coisas diferentes.

Em fluxo, o Gate 1 funciona assim:

O único gate que roda testes

A Camada 7 é o que torna o Gate 1 especial: ele executa a suíte.

  • Suíte completa quando a task toca shared/core/utils/auth/DI/rotas/schemas globais ou altera contrato consumido por outras features.
  • Parcial (feature + dependentes diretos + smoke) quando a task é isolada.
  • Qualquer teste falhando — inclusive regressão em outra área — → REJEITADO.

O campo testes_executados.tocou_area_critica é o sinal que orienta o Gate 2 a re-executar ou não a suíte.

⚠️ Armadilha comum

A política de veredito é débito-controlado: só crítico/alto reprovam; médio/baixo viram débito anotado (APROVADO_COM_OBSERVACOES). Não confunda "aprovado com observações" com "ignorar" — cada observação fica em problemas.* com correção sugerida, recolhida depois por /agent-spec-debt-resolution. O detalhe da política está na Parte V.

📚 Aprofundamento na Referência

AgentSpec Framework · Spec-driven com IA sobre Claude Code