create-genia-os 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +154 -106
- package/bin/index.js +240 -240
- package/package.json +42 -37
- package/template/.claude/CLAUDE.md +215 -215
- package/template/.claude/agent-memory/analyst/MEMORY.md +20 -20
- package/template/.claude/agent-memory/architect/MEMORY.md +20 -20
- package/template/.claude/agent-memory/dev/MEMORY.md +20 -20
- package/template/.claude/agent-memory/devops/MEMORY.md +20 -20
- package/template/.claude/agent-memory/pm/MEMORY.md +20 -20
- package/template/.claude/agent-memory/po/MEMORY.md +20 -20
- package/template/.claude/agent-memory/qa/MEMORY.md +20 -20
- package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -20
- package/template/.claude/agent-memory/sm/MEMORY.md +20 -20
- package/template/.claude/hooks/enforce-git-push-authority.py +70 -70
- package/template/.claude/hooks/metrics-tracker.cjs +65 -0
- package/template/.claude/hooks/precompact-session-digest.cjs +87 -87
- package/template/.claude/hooks/sql-governance.py +65 -65
- package/template/.claude/hooks/synapse-engine.cjs +122 -122
- package/template/.claude/hooks/write-path-validation.py +59 -59
- package/template/.claude/rules/agent-authority.md +39 -39
- package/template/.claude/rules/agent-handoff.md +71 -71
- package/template/.claude/rules/agent-memory.md +61 -61
- package/template/.claude/rules/ids-principles.md +52 -52
- package/template/.claude/rules/mcp-usage.md +49 -49
- package/template/.claude/rules/new-project.md +157 -0
- package/template/.claude/rules/story-lifecycle.md +87 -87
- package/template/.claude/rules/workflow-execution.md +68 -68
- package/template/.claude/settings.json +58 -58
- package/template/.claude/settings.local.json +14 -14
- package/template/.genia/CONSTITUTION.md +129 -129
- package/template/.genia/contexts/api-patterns.md +134 -134
- package/template/.genia/contexts/nextjs-react.md +210 -210
- package/template/.genia/contexts/projeto.md +18 -18
- package/template/.genia/contexts/supabase.md +152 -152
- package/template/.genia/contexts/whatsapp-cloud.md +176 -176
- package/template/.genia/core-config.yaml +192 -192
- package/template/.genia/development/agents/analyst.md +138 -138
- package/template/.genia/development/agents/architect.md +171 -171
- package/template/.genia/development/agents/dev.md +160 -160
- package/template/.genia/development/agents/devops.md +200 -200
- package/template/.genia/development/agents/pm.md +142 -142
- package/template/.genia/development/agents/po.md +165 -165
- package/template/.genia/development/agents/qa.md +183 -183
- package/template/.genia/development/agents/reviewer.md +198 -198
- package/template/.genia/development/agents/sm.md +230 -230
- package/template/.genia/development/checklists/architecture-review.md +189 -189
- package/template/.genia/development/checklists/pre-commit.md +205 -205
- package/template/.genia/development/checklists/pre-deploy.md +230 -230
- package/template/.genia/development/checklists/qa-gate.md +216 -216
- package/template/.genia/development/checklists/story-dod.md +155 -155
- package/template/.genia/development/tasks/code-review.md +197 -197
- package/template/.genia/development/tasks/criar-prd.md +170 -170
- package/template/.genia/development/tasks/criar-spec.md +188 -188
- package/template/.genia/development/tasks/criar-story.md +185 -185
- package/template/.genia/development/tasks/debug-sistematico.md +230 -230
- package/template/.genia/development/tasks/dev-implement.md +199 -199
- package/template/.genia/development/tasks/qa-review.md +224 -224
- package/template/.genia/development/workflows/brownfield.md +178 -178
- package/template/.genia/development/workflows/delivery.md +208 -208
- package/template/.genia/development/workflows/development.md +189 -189
- package/template/.genia/development/workflows/greenfield.md +166 -166
- package/template/.genia/development/workflows/planning.md +167 -167
- package/template/.genia/development/workflows/qa-loop.md +179 -179
- package/template/.genia/development/workflows/spec-pipeline.md +192 -192
- package/template/.genia/development/workflows/story-development-cycle.md +252 -252
- package/template/.genia/guidelines/clean-code.md +98 -98
- package/template/.genia/guidelines/testing.md +176 -176
- package/template/.genia/skills/design/canvas-design.md +109 -109
- package/template/.genia/skills/design/frontend-design.md +140 -140
- package/template/.genia/skills/dev/mcp-builder.md +172 -172
- package/template/.genia/skills/dev/webapp-testing.md +150 -150
- package/template/.genia/skills/documents/docx.md +153 -153
- package/template/.genia/skills/documents/pdf.md +134 -134
- package/template/.genia/skills/documents/pptx.md +118 -118
- package/template/.genia/skills/documents/xlsx.md +140 -140
- package/template/.synapse/agent-analyst +8 -8
- package/template/.synapse/agent-architect +8 -8
- package/template/.synapse/agent-dev +8 -8
- package/template/.synapse/agent-devops +8 -8
- package/template/.synapse/agent-pm +8 -8
- package/template/.synapse/agent-po +7 -7
- package/template/.synapse/agent-qa +8 -8
- package/template/.synapse/agent-reviewer +7 -7
- package/template/.synapse/agent-sm +7 -7
- package/template/.synapse/constitution +7 -7
- package/template/.synapse/context +8 -8
- package/template/.synapse/global +8 -8
- package/template/.synapse/manifest +14 -14
- package/template/README.md +53 -53
|
@@ -1,216 +1,216 @@
|
|
|
1
|
-
# Checklist: QA Gate
|
|
2
|
-
|
|
3
|
-
> Verificações que @qa executa para emitir veredicto de qualidade.
|
|
4
|
-
> 7 verificações principais. Todas obrigatórias para aprovação.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## O que é o QA Gate?
|
|
9
|
-
|
|
10
|
-
O QA Gate é o checkpoint de qualidade que determina se o código pode avançar para code review e, posteriormente, para produção. @qa é a autoridade exclusiva para abrir ou fechar este gate. Um veredicto APROVADO pelo QA Gate é pré-requisito obrigatório para o code review por @reviewer.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Verificação 1 — Acceptance Criteria (Funcional)
|
|
15
|
-
|
|
16
|
-
**Propósito:** Garantir que o código implementa exatamente o que foi prometido na story.
|
|
17
|
-
|
|
18
|
-
Para cada AC da story:
|
|
19
|
-
|
|
20
|
-
| AC | Cenário testado | Resultado |
|
|
21
|
-
|----|----------------|---------|
|
|
22
|
-
| AC-01 | [descrever como foi testado] | ✅ / ❌ |
|
|
23
|
-
| AC-02 | [descrever como foi testado] | ✅ / ❌ |
|
|
24
|
-
| AC-03 | [descrever como foi testado] | ✅ / ❌ |
|
|
25
|
-
|
|
26
|
-
**Critério de passagem:** Todos os ACs com resultado ✅
|
|
27
|
-
|
|
28
|
-
- [ ] Todos os ACs verificados manualmente
|
|
29
|
-
- [ ] Happy path de cada AC funciona conforme descrito
|
|
30
|
-
- [ ] Nenhum AC implementado parcialmente ou com workaround oculto
|
|
31
|
-
- [ ] Comportamentos descritos nos ACs correspondem ao comportamento real
|
|
32
|
-
|
|
33
|
-
**BLOQUEANTE se falhar.**
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Verificação 2 — Testes Automáticos
|
|
38
|
-
|
|
39
|
-
**Propósito:** Garantir que a suite de testes está saudável e cobrindo o código.
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
npm run test
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
- [ ] Todos os testes passando (zero falhas)
|
|
46
|
-
- [ ] Nenhum teste em `skip` ou `xtest` sem justificativa documentada
|
|
47
|
-
- [ ] Sem `test.only` que silencia outros testes
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
npm run coverage
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
- [ ] Coverage >= 80% nas linhas novas/modificadas
|
|
54
|
-
- [ ] Relatório de coverage gerado e verificado
|
|
55
|
-
|
|
56
|
-
**Resultados esperados:**
|
|
57
|
-
```
|
|
58
|
-
Test Suites: X passed, X total
|
|
59
|
-
Tests: X passed, X total
|
|
60
|
-
Coverage: XX% (>= 80%)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**BLOQUEANTE se falhar.**
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Verificação 3 — Qualidade Estática
|
|
68
|
-
|
|
69
|
-
**Propósito:** Garantir que o código segue os padrões de qualidade definidos.
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npm run lint
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
- [ ] Zero erros de lint
|
|
76
|
-
- [ ] Zero warnings de lint
|
|
77
|
-
- [ ] Nenhuma regra desabilitada sem comentário explicativo
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
npm run typecheck
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
- [ ] Zero erros TypeScript
|
|
84
|
-
- [ ] Sem `@ts-ignore` injustificado
|
|
85
|
-
- [ ] Sem `any` como atalho para evitar tipagem
|
|
86
|
-
|
|
87
|
-
**BLOQUEANTE se falhar.**
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Verificação 4 — Cenários de Borda (Edge Cases)
|
|
92
|
-
|
|
93
|
-
**Propósito:** Garantir que o código é robusto além dos cenários principais.
|
|
94
|
-
|
|
95
|
-
Testar:
|
|
96
|
-
|
|
97
|
-
- [ ] Campos obrigatórios vazios: o sistema se comporta corretamente?
|
|
98
|
-
- [ ] Caracteres especiais em inputs de texto: sem injeção ou quebra?
|
|
99
|
-
- [ ] Valores extremos (muito longos, muito curtos, zero, negativos): tratados?
|
|
100
|
-
- [ ] Ações repetidas rapidamente (double-click em botões): sem efeito duplo?
|
|
101
|
-
- [ ] Sem conexão ou timeout de API: mensagem de erro adequada?
|
|
102
|
-
- [ ] Dados nulos/undefined vindos da API: sem crash?
|
|
103
|
-
|
|
104
|
-
Documente cada cenário testado e o resultado.
|
|
105
|
-
|
|
106
|
-
**ALTO se falhar em cenário relevante. BLOQUEANTE se causar crash ou corrupção de dados.**
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Verificação 5 — Regressão
|
|
111
|
-
|
|
112
|
-
**Propósito:** Garantir que as mudanças desta story não quebraram funcionalidades existentes.
|
|
113
|
-
|
|
114
|
-
Testar as funcionalidades RELACIONADAS ao módulo modificado:
|
|
115
|
-
|
|
116
|
-
- [ ] Funcionalidades adjacentes ainda funcionam corretamente
|
|
117
|
-
- [ ] Navegação entre páginas relacionadas funciona
|
|
118
|
-
- [ ] Integrações com outros módulos não foram quebradas
|
|
119
|
-
- [ ] Dados persistidos anteriormente ainda são lidos corretamente
|
|
120
|
-
|
|
121
|
-
Em projetos brownfield, a verificação de regressão é expandida e inclui teste dos fluxos críticos de produção.
|
|
122
|
-
|
|
123
|
-
**CRÍTICO se houver regressão em funcionalidade existente.**
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Verificação 6 — Segurança Básica
|
|
128
|
-
|
|
129
|
-
**Propósito:** Identificar vulnerabilidades de segurança óbvias antes que cheguem ao code review.
|
|
130
|
-
|
|
131
|
-
- [ ] Sem dados sensíveis expostos em respostas de API desnecessariamente
|
|
132
|
-
- [ ] Endpoints protegidos retornam 401/403 sem autenticação válida
|
|
133
|
-
- [ ] Inputs com caracteres especiais não quebram o sistema
|
|
134
|
-
- [ ] Sem informações de stack trace expostas em respostas de erro para o usuário
|
|
135
|
-
- [ ] Sem secrets visíveis em logs ou respostas de API
|
|
136
|
-
- [ ] Rate limiting funcionando se implementado
|
|
137
|
-
|
|
138
|
-
**CRÍTICO se encontrar vulnerabilidade de segurança.**
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Verificação 7 — Experiência do Usuário Básica
|
|
143
|
-
|
|
144
|
-
**Propósito:** Garantir que a entrega é usável e não causa frustração desnecessária.
|
|
145
|
-
|
|
146
|
-
Para funcionalidades com interface:
|
|
147
|
-
|
|
148
|
-
- [ ] Estados de loading presentes durante operações assíncronas?
|
|
149
|
-
- [ ] Estado vazio (lista sem itens) tem tratamento visual adequado?
|
|
150
|
-
- [ ] Mensagens de erro são compreensíveis para o usuário (não stack traces)?
|
|
151
|
-
- [ ] Formulários fornecem feedback claro sobre campos inválidos?
|
|
152
|
-
- [ ] Interface não quebra visualmente em resoluções comuns (desktop 1280px+, mobile 375px)?
|
|
153
|
-
- [ ] Botões não ficam habilitados após ação que deveria desabilitá-los?
|
|
154
|
-
|
|
155
|
-
Para funcionalidades de API:
|
|
156
|
-
|
|
157
|
-
- [ ] Respostas de sucesso têm estrutura consistente?
|
|
158
|
-
- [ ] Respostas de erro têm mensagem clara e código HTTP correto?
|
|
159
|
-
- [ ] Documentação da API atualizada se necessário?
|
|
160
|
-
|
|
161
|
-
**MÉDIO se falhar (não bloqueia, mas deve ser documentado).**
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Sumário de Verificações
|
|
166
|
-
|
|
167
|
-
| # | Verificação | Criticidade | Resultado |
|
|
168
|
-
|---|-------------|------------|---------|
|
|
169
|
-
| 1 | Acceptance Criteria atendidos | BLOQUEANTE | ✅ / ❌ |
|
|
170
|
-
| 2 | Testes automáticos passando | BLOQUEANTE | ✅ / ❌ |
|
|
171
|
-
| 3 | Lint + TypeScript limpos | BLOQUEANTE | ✅ / ❌ |
|
|
172
|
-
| 4 | Edge cases tratados | ALTO | ✅ / ❌ |
|
|
173
|
-
| 5 | Sem regressão | CRÍTICO | ✅ / ❌ |
|
|
174
|
-
| 6 | Segurança básica | CRÍTICO | ✅ / ❌ |
|
|
175
|
-
| 7 | UX básica adequada | MÉDIO | ✅ / ❌ |
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## Veredicto
|
|
180
|
-
|
|
181
|
-
**APROVADO** quando:
|
|
182
|
-
- Verificações 1, 2, 3 passam (obrigatórias)
|
|
183
|
-
- Verificações 5, 6 passam (zero críticos)
|
|
184
|
-
- Verificação 4 sem bugs ALTO ou com máx 2 documentados
|
|
185
|
-
- Verificação 7 com issues documentados para backlog
|
|
186
|
-
|
|
187
|
-
**REPROVADO** quando:
|
|
188
|
-
- Qualquer verificação BLOQUEANTE falha
|
|
189
|
-
- Verificação 5 ou 6 identificam bug CRÍTICO
|
|
190
|
-
- Verificação 4 tem mais de 2 bugs ALTO
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Registro do Veredicto
|
|
195
|
-
|
|
196
|
-
```markdown
|
|
197
|
-
## QA Gate — STORY-XXX — [APROVADO | REPROVADO]
|
|
198
|
-
Data: YYYY-MM-DD | QA: Quinn (@qa) | Iteração: X/5
|
|
199
|
-
|
|
200
|
-
| Verificação | Status |
|
|
201
|
-
|-------------|--------|
|
|
202
|
-
| 1. ACs | ✅ PASS |
|
|
203
|
-
| 2. Testes | ✅ PASS |
|
|
204
|
-
| 3. Estática | ✅ PASS |
|
|
205
|
-
| 4. Edge cases | ⚠️ 1 bug MÉDIO documentado |
|
|
206
|
-
| 5. Regressão | ✅ PASS |
|
|
207
|
-
| 6. Segurança | ✅ PASS |
|
|
208
|
-
| 7. UX | ✅ PASS |
|
|
209
|
-
|
|
210
|
-
Veredicto: ✅ APROVADO
|
|
211
|
-
Próximo passo: @reviewer para code review
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|
|
1
|
+
# Checklist: QA Gate
|
|
2
|
+
|
|
3
|
+
> Verificações que @qa executa para emitir veredicto de qualidade.
|
|
4
|
+
> 7 verificações principais. Todas obrigatórias para aprovação.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## O que é o QA Gate?
|
|
9
|
+
|
|
10
|
+
O QA Gate é o checkpoint de qualidade que determina se o código pode avançar para code review e, posteriormente, para produção. @qa é a autoridade exclusiva para abrir ou fechar este gate. Um veredicto APROVADO pelo QA Gate é pré-requisito obrigatório para o code review por @reviewer.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Verificação 1 — Acceptance Criteria (Funcional)
|
|
15
|
+
|
|
16
|
+
**Propósito:** Garantir que o código implementa exatamente o que foi prometido na story.
|
|
17
|
+
|
|
18
|
+
Para cada AC da story:
|
|
19
|
+
|
|
20
|
+
| AC | Cenário testado | Resultado |
|
|
21
|
+
|----|----------------|---------|
|
|
22
|
+
| AC-01 | [descrever como foi testado] | ✅ / ❌ |
|
|
23
|
+
| AC-02 | [descrever como foi testado] | ✅ / ❌ |
|
|
24
|
+
| AC-03 | [descrever como foi testado] | ✅ / ❌ |
|
|
25
|
+
|
|
26
|
+
**Critério de passagem:** Todos os ACs com resultado ✅
|
|
27
|
+
|
|
28
|
+
- [ ] Todos os ACs verificados manualmente
|
|
29
|
+
- [ ] Happy path de cada AC funciona conforme descrito
|
|
30
|
+
- [ ] Nenhum AC implementado parcialmente ou com workaround oculto
|
|
31
|
+
- [ ] Comportamentos descritos nos ACs correspondem ao comportamento real
|
|
32
|
+
|
|
33
|
+
**BLOQUEANTE se falhar.**
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Verificação 2 — Testes Automáticos
|
|
38
|
+
|
|
39
|
+
**Propósito:** Garantir que a suite de testes está saudável e cobrindo o código.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run test
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- [ ] Todos os testes passando (zero falhas)
|
|
46
|
+
- [ ] Nenhum teste em `skip` ou `xtest` sem justificativa documentada
|
|
47
|
+
- [ ] Sem `test.only` que silencia outros testes
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm run coverage
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- [ ] Coverage >= 80% nas linhas novas/modificadas
|
|
54
|
+
- [ ] Relatório de coverage gerado e verificado
|
|
55
|
+
|
|
56
|
+
**Resultados esperados:**
|
|
57
|
+
```
|
|
58
|
+
Test Suites: X passed, X total
|
|
59
|
+
Tests: X passed, X total
|
|
60
|
+
Coverage: XX% (>= 80%)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**BLOQUEANTE se falhar.**
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Verificação 3 — Qualidade Estática
|
|
68
|
+
|
|
69
|
+
**Propósito:** Garantir que o código segue os padrões de qualidade definidos.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm run lint
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- [ ] Zero erros de lint
|
|
76
|
+
- [ ] Zero warnings de lint
|
|
77
|
+
- [ ] Nenhuma regra desabilitada sem comentário explicativo
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npm run typecheck
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- [ ] Zero erros TypeScript
|
|
84
|
+
- [ ] Sem `@ts-ignore` injustificado
|
|
85
|
+
- [ ] Sem `any` como atalho para evitar tipagem
|
|
86
|
+
|
|
87
|
+
**BLOQUEANTE se falhar.**
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Verificação 4 — Cenários de Borda (Edge Cases)
|
|
92
|
+
|
|
93
|
+
**Propósito:** Garantir que o código é robusto além dos cenários principais.
|
|
94
|
+
|
|
95
|
+
Testar:
|
|
96
|
+
|
|
97
|
+
- [ ] Campos obrigatórios vazios: o sistema se comporta corretamente?
|
|
98
|
+
- [ ] Caracteres especiais em inputs de texto: sem injeção ou quebra?
|
|
99
|
+
- [ ] Valores extremos (muito longos, muito curtos, zero, negativos): tratados?
|
|
100
|
+
- [ ] Ações repetidas rapidamente (double-click em botões): sem efeito duplo?
|
|
101
|
+
- [ ] Sem conexão ou timeout de API: mensagem de erro adequada?
|
|
102
|
+
- [ ] Dados nulos/undefined vindos da API: sem crash?
|
|
103
|
+
|
|
104
|
+
Documente cada cenário testado e o resultado.
|
|
105
|
+
|
|
106
|
+
**ALTO se falhar em cenário relevante. BLOQUEANTE se causar crash ou corrupção de dados.**
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Verificação 5 — Regressão
|
|
111
|
+
|
|
112
|
+
**Propósito:** Garantir que as mudanças desta story não quebraram funcionalidades existentes.
|
|
113
|
+
|
|
114
|
+
Testar as funcionalidades RELACIONADAS ao módulo modificado:
|
|
115
|
+
|
|
116
|
+
- [ ] Funcionalidades adjacentes ainda funcionam corretamente
|
|
117
|
+
- [ ] Navegação entre páginas relacionadas funciona
|
|
118
|
+
- [ ] Integrações com outros módulos não foram quebradas
|
|
119
|
+
- [ ] Dados persistidos anteriormente ainda são lidos corretamente
|
|
120
|
+
|
|
121
|
+
Em projetos brownfield, a verificação de regressão é expandida e inclui teste dos fluxos críticos de produção.
|
|
122
|
+
|
|
123
|
+
**CRÍTICO se houver regressão em funcionalidade existente.**
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Verificação 6 — Segurança Básica
|
|
128
|
+
|
|
129
|
+
**Propósito:** Identificar vulnerabilidades de segurança óbvias antes que cheguem ao code review.
|
|
130
|
+
|
|
131
|
+
- [ ] Sem dados sensíveis expostos em respostas de API desnecessariamente
|
|
132
|
+
- [ ] Endpoints protegidos retornam 401/403 sem autenticação válida
|
|
133
|
+
- [ ] Inputs com caracteres especiais não quebram o sistema
|
|
134
|
+
- [ ] Sem informações de stack trace expostas em respostas de erro para o usuário
|
|
135
|
+
- [ ] Sem secrets visíveis em logs ou respostas de API
|
|
136
|
+
- [ ] Rate limiting funcionando se implementado
|
|
137
|
+
|
|
138
|
+
**CRÍTICO se encontrar vulnerabilidade de segurança.**
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Verificação 7 — Experiência do Usuário Básica
|
|
143
|
+
|
|
144
|
+
**Propósito:** Garantir que a entrega é usável e não causa frustração desnecessária.
|
|
145
|
+
|
|
146
|
+
Para funcionalidades com interface:
|
|
147
|
+
|
|
148
|
+
- [ ] Estados de loading presentes durante operações assíncronas?
|
|
149
|
+
- [ ] Estado vazio (lista sem itens) tem tratamento visual adequado?
|
|
150
|
+
- [ ] Mensagens de erro são compreensíveis para o usuário (não stack traces)?
|
|
151
|
+
- [ ] Formulários fornecem feedback claro sobre campos inválidos?
|
|
152
|
+
- [ ] Interface não quebra visualmente em resoluções comuns (desktop 1280px+, mobile 375px)?
|
|
153
|
+
- [ ] Botões não ficam habilitados após ação que deveria desabilitá-los?
|
|
154
|
+
|
|
155
|
+
Para funcionalidades de API:
|
|
156
|
+
|
|
157
|
+
- [ ] Respostas de sucesso têm estrutura consistente?
|
|
158
|
+
- [ ] Respostas de erro têm mensagem clara e código HTTP correto?
|
|
159
|
+
- [ ] Documentação da API atualizada se necessário?
|
|
160
|
+
|
|
161
|
+
**MÉDIO se falhar (não bloqueia, mas deve ser documentado).**
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Sumário de Verificações
|
|
166
|
+
|
|
167
|
+
| # | Verificação | Criticidade | Resultado |
|
|
168
|
+
|---|-------------|------------|---------|
|
|
169
|
+
| 1 | Acceptance Criteria atendidos | BLOQUEANTE | ✅ / ❌ |
|
|
170
|
+
| 2 | Testes automáticos passando | BLOQUEANTE | ✅ / ❌ |
|
|
171
|
+
| 3 | Lint + TypeScript limpos | BLOQUEANTE | ✅ / ❌ |
|
|
172
|
+
| 4 | Edge cases tratados | ALTO | ✅ / ❌ |
|
|
173
|
+
| 5 | Sem regressão | CRÍTICO | ✅ / ❌ |
|
|
174
|
+
| 6 | Segurança básica | CRÍTICO | ✅ / ❌ |
|
|
175
|
+
| 7 | UX básica adequada | MÉDIO | ✅ / ❌ |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Veredicto
|
|
180
|
+
|
|
181
|
+
**APROVADO** quando:
|
|
182
|
+
- Verificações 1, 2, 3 passam (obrigatórias)
|
|
183
|
+
- Verificações 5, 6 passam (zero críticos)
|
|
184
|
+
- Verificação 4 sem bugs ALTO ou com máx 2 documentados
|
|
185
|
+
- Verificação 7 com issues documentados para backlog
|
|
186
|
+
|
|
187
|
+
**REPROVADO** quando:
|
|
188
|
+
- Qualquer verificação BLOQUEANTE falha
|
|
189
|
+
- Verificação 5 ou 6 identificam bug CRÍTICO
|
|
190
|
+
- Verificação 4 tem mais de 2 bugs ALTO
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Registro do Veredicto
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
## QA Gate — STORY-XXX — [APROVADO | REPROVADO]
|
|
198
|
+
Data: YYYY-MM-DD | QA: Quinn (@qa) | Iteração: X/5
|
|
199
|
+
|
|
200
|
+
| Verificação | Status |
|
|
201
|
+
|-------------|--------|
|
|
202
|
+
| 1. ACs | ✅ PASS |
|
|
203
|
+
| 2. Testes | ✅ PASS |
|
|
204
|
+
| 3. Estática | ✅ PASS |
|
|
205
|
+
| 4. Edge cases | ⚠️ 1 bug MÉDIO documentado |
|
|
206
|
+
| 5. Regressão | ✅ PASS |
|
|
207
|
+
| 6. Segurança | ✅ PASS |
|
|
208
|
+
| 7. UX | ✅ PASS |
|
|
209
|
+
|
|
210
|
+
Veredicto: ✅ APROVADO
|
|
211
|
+
Próximo passo: @reviewer para code review
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
|