Next.js Adversarial QA e Injeção de Casos Extremos (nextjs-adversarial-qa)
Fluxo de trabalho especializado para eliminar o viés de confirmação do autor, delegando a revisão de código e testes de casos extremos a um subagente auditor adversarial independente.
[!TIP] Documento de Referência:
- Armadilhas Comuns & Anti-Padrões:
references/pitfalls.md
Regras e Padrões Arquiteturais
1. O Princípio do Auditor Imparcial
- O agente principal que escreveu o componente NÃO DEVE auto-certificar os casos extremos.
- Você DEVE gerar um subagente independente usando
invoke_subagentpara auditar o código e injetar asserções adversarial.
2. Escopo Adversarial de Casos Extremos ([ComponentName].edge.test.tsx)
O subagente DEVE escrever [ComponentName].edge.test.tsx com alvo em cenários que desenvolvedores frequentemente negligenciam:
- Valores de Contorno: Strings vazias, entradas nulas/indefinidas, strings extremamente longas, glifos Unicode e RTL persa (
"سلام دنیا"). - Permutações de Props: Combinações não tratadas de flags opcionais.
- Estados de Rede e Erro: Rejeição assíncrona, payloads malformados, streams lentos.
- Acessibilidade e Movimento Profundos: Navegação por teclado (
Enter,Space,Tab,Escape),aria-expanded,aria-busy,aria-live, captura de foco eprefers-reduced-motion. - Estresse e Ciclo de Vida: Re-renderizações rápidas, limpeza de desmontagem, remoção de timers.
3. O Princípio Imutável dos Testes Adversarial
- Modificar ou Suavizar Testes é ESTRITAMENTE PROIBIDO: O desenvolvedor NÃO está autorizado a deletar ou enfraquecer as asserções em
[ComponentName].edge.test.tsx. - Corrija o Código, Não os Testes: Se um teste adversarial falhar, modifique o componente (
[ComponentName].tsx) ou a história ([ComponentName].stories.tsx) para lidar corretamente com o caso extremo.
Etapas do Fluxo de Trabalho
-
Etapa 1: Gerar Subagente Auditor Adversarial
- Chame
invoke_subagentcom:TypeName:"self"Role:"Adversarial Code & QA Auditor"Model:"inherit"Prompt: Instrua o auditor a inspecionar[ComponentName].tsx,[ComponentName]Skeleton.tsx,[ComponentName].test.tsxe[ComponentName].stories.tsx, depois gerar[ComponentName].edge.test.tsxno diretório do componente.
- Chame
-
Etapa 2: Auditor Injeta
[ComponentName].edge.test.tsx- O auditor escreve as asserções de caso extremo e completa a revisão.
-
Etapa 3: Executar Testes Adversariais e Auto-Reparo
- Execute o conjunto de testes de caso extremo:
pnpm test -- <target_component_dir>/[ComponentName].edge.test.tsx - Se algum teste falhar, corrija a implementação do componente até que todos os testes passem com 0 erros.
- Execute o conjunto de testes de caso extremo: