@luanpdd/kit-mcp 1.19.0 → 1.20.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.
Files changed (231) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +648 -648
  3. package/kit/COMANDOS.md +138 -138
  4. package/kit/README.md +52 -52
  5. package/kit/agents/advisor-researcher.md +106 -106
  6. package/kit/agents/assumptions-analyzer.md +107 -107
  7. package/kit/agents/codebase-mapper.md +768 -768
  8. package/kit/agents/debugger.md +772 -772
  9. package/kit/agents/example-reviewer.md +21 -21
  10. package/kit/agents/executor.md +523 -523
  11. package/kit/agents/integration-checker.md +200 -200
  12. package/kit/agents/nyquist-auditor.md +178 -178
  13. package/kit/agents/phase-researcher.md +696 -696
  14. package/kit/agents/plan-checker.md +272 -272
  15. package/kit/agents/planner.md +891 -891
  16. package/kit/agents/project-researcher.md +652 -652
  17. package/kit/agents/research-synthesizer.md +245 -245
  18. package/kit/agents/roadmapper.md +677 -677
  19. package/kit/agents/ui-auditor.md +437 -437
  20. package/kit/agents/ui-checker.md +302 -302
  21. package/kit/agents/ui-researcher.md +355 -355
  22. package/kit/agents/user-profiler.md +175 -175
  23. package/kit/agents/verifier.md +728 -728
  24. package/kit/commands/adicionar-backlog.md +75 -75
  25. package/kit/commands/adicionar-fase.md +42 -42
  26. package/kit/commands/adicionar-tarefa.md +45 -45
  27. package/kit/commands/adicionar-testes.md +41 -41
  28. package/kit/commands/ajuda.md +21 -21
  29. package/kit/commands/atualizar.md +37 -37
  30. package/kit/commands/auditar-marco.md +179 -179
  31. package/kit/commands/auditar-uat.md +23 -23
  32. package/kit/commands/autonomo.md +40 -40
  33. package/kit/commands/branch-pr.md +24 -24
  34. package/kit/commands/burn-rate-status.md +237 -121
  35. package/kit/commands/concluir-marco.md +247 -247
  36. package/kit/commands/configuracoes.md +36 -36
  37. package/kit/commands/definir-perfil.md +10 -10
  38. package/kit/commands/depurar.md +190 -190
  39. package/kit/commands/discutir-fase.md +131 -131
  40. package/kit/commands/entrar-discord.md +17 -17
  41. package/kit/commands/estatisticas.md +18 -18
  42. package/kit/commands/example-greeting.md +33 -33
  43. package/kit/commands/executar-fase.md +58 -58
  44. package/kit/commands/expresso.md +56 -56
  45. package/kit/commands/fase-ui.md +34 -34
  46. package/kit/commands/fazer.md +57 -57
  47. package/kit/commands/fio.md +125 -125
  48. package/kit/commands/fluxos-trabalho.md +64 -64
  49. package/kit/commands/forense.md +176 -176
  50. package/kit/commands/gerenciador.md +38 -38
  51. package/kit/commands/inserir-fase.md +31 -31
  52. package/kit/commands/limpeza.md +17 -17
  53. package/kit/commands/listar-hipoteses-fase.md +45 -45
  54. package/kit/commands/listar-workspaces.md +18 -18
  55. package/kit/commands/mapear-codebase.md +70 -70
  56. package/kit/commands/nota.md +33 -33
  57. package/kit/commands/novo-marco.md +43 -43
  58. package/kit/commands/novo-projeto.md +41 -41
  59. package/kit/commands/novo-workspace.md +43 -43
  60. package/kit/commands/pausar-trabalho.md +37 -37
  61. package/kit/commands/perfil-usuario.md +45 -45
  62. package/kit/commands/pesquisar-fase.md +195 -195
  63. package/kit/commands/planejar-fase.md +67 -67
  64. package/kit/commands/planejar-lacunas.md +33 -33
  65. package/kit/commands/plantar-ideia.md +25 -25
  66. package/kit/commands/progresso.md +24 -24
  67. package/kit/commands/proximo.md +30 -30
  68. package/kit/commands/publicar.md +490 -490
  69. package/kit/commands/rapido.md +35 -35
  70. package/kit/commands/reaplicar-patches.md +124 -124
  71. package/kit/commands/relatorio-sessao.md +19 -19
  72. package/kit/commands/remover-fase.md +31 -31
  73. package/kit/commands/remover-workspace.md +26 -26
  74. package/kit/commands/resumo-marco.md +50 -50
  75. package/kit/commands/retomar-trabalho.md +40 -40
  76. package/kit/commands/revisar-backlog.md +60 -60
  77. package/kit/commands/revisar-ui.md +32 -32
  78. package/kit/commands/revisar.md +37 -37
  79. package/kit/commands/saude.md +21 -21
  80. package/kit/commands/setup-notion.md +93 -93
  81. package/kit/commands/sync-main.md +68 -68
  82. package/kit/commands/validar-fase.md +35 -35
  83. package/kit/commands/verificar-tarefas.md +44 -44
  84. package/kit/commands/verificar-trabalho.md +64 -64
  85. package/kit/file-manifest.json +3 -3
  86. package/kit/framework/bin/lib/commands.cjs +959 -959
  87. package/kit/framework/bin/lib/config.cjs +442 -442
  88. package/kit/framework/bin/lib/core.cjs +1230 -1230
  89. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  90. package/kit/framework/bin/lib/init.cjs +1442 -1442
  91. package/kit/framework/bin/lib/milestone.cjs +252 -252
  92. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  93. package/kit/framework/bin/lib/phase.cjs +888 -888
  94. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  95. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  96. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  97. package/kit/framework/bin/lib/security.cjs +382 -382
  98. package/kit/framework/bin/lib/state.cjs +1031 -1031
  99. package/kit/framework/bin/lib/template.cjs +222 -222
  100. package/kit/framework/bin/lib/uat.cjs +282 -282
  101. package/kit/framework/bin/lib/verify.cjs +888 -888
  102. package/kit/framework/bin/lib/workstream.cjs +491 -491
  103. package/kit/framework/bin/tools.cjs +918 -918
  104. package/kit/framework/commands/workstreams.md +63 -63
  105. package/kit/framework/references/checkpoints.md +778 -778
  106. package/kit/framework/references/continuation-format.md +249 -249
  107. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  108. package/kit/framework/references/git-integration.md +295 -295
  109. package/kit/framework/references/git-planning-commit.md +38 -38
  110. package/kit/framework/references/model-profile-resolution.md +36 -36
  111. package/kit/framework/references/model-profiles.md +139 -139
  112. package/kit/framework/references/phase-argument-parsing.md +61 -61
  113. package/kit/framework/references/planning-config.md +202 -202
  114. package/kit/framework/references/questioning.md +162 -162
  115. package/kit/framework/references/tdd.md +263 -263
  116. package/kit/framework/references/ui-brand.md +160 -160
  117. package/kit/framework/references/user-profiling.md +657 -657
  118. package/kit/framework/references/verification-patterns.md +612 -612
  119. package/kit/framework/references/workstream-flag.md +58 -58
  120. package/kit/framework/templates/DEBUG.md +164 -164
  121. package/kit/framework/templates/UAT.md +265 -265
  122. package/kit/framework/templates/UI-SPEC.md +100 -100
  123. package/kit/framework/templates/VALIDATION.md +76 -76
  124. package/kit/framework/templates/claude-md.md +122 -122
  125. package/kit/framework/templates/codebase/architecture.md +185 -185
  126. package/kit/framework/templates/codebase/concerns.md +205 -205
  127. package/kit/framework/templates/codebase/conventions.md +204 -204
  128. package/kit/framework/templates/codebase/integrations.md +192 -192
  129. package/kit/framework/templates/codebase/stack.md +158 -158
  130. package/kit/framework/templates/codebase/structure.md +199 -199
  131. package/kit/framework/templates/codebase/testing.md +301 -301
  132. package/kit/framework/templates/config.json +44 -44
  133. package/kit/framework/templates/context.md +352 -352
  134. package/kit/framework/templates/continue-here.md +78 -78
  135. package/kit/framework/templates/copilot-instructions.md +7 -7
  136. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  137. package/kit/framework/templates/dev-preferences.md +20 -20
  138. package/kit/framework/templates/discovery.md +146 -146
  139. package/kit/framework/templates/discussion-log.md +63 -63
  140. package/kit/framework/templates/milestone-archive.md +123 -123
  141. package/kit/framework/templates/milestone.md +115 -115
  142. package/kit/framework/templates/phase-prompt.md +610 -610
  143. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  144. package/kit/framework/templates/project.md +186 -186
  145. package/kit/framework/templates/requirements.md +231 -231
  146. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  147. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  148. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  149. package/kit/framework/templates/research-project/STACK.md +120 -120
  150. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  151. package/kit/framework/templates/research.md +419 -419
  152. package/kit/framework/templates/retrospective.md +54 -54
  153. package/kit/framework/templates/roadmap.md +202 -202
  154. package/kit/framework/templates/state.md +176 -176
  155. package/kit/framework/templates/summary-complex.md +59 -59
  156. package/kit/framework/templates/summary-minimal.md +41 -41
  157. package/kit/framework/templates/summary-standard.md +48 -48
  158. package/kit/framework/templates/summary.md +209 -209
  159. package/kit/framework/templates/user-profile.md +146 -146
  160. package/kit/framework/templates/user-setup.md +256 -256
  161. package/kit/framework/templates/verification-report.md +258 -258
  162. package/kit/framework/workflows/add-phase.md +112 -112
  163. package/kit/framework/workflows/add-tests.md +351 -351
  164. package/kit/framework/workflows/add-todo.md +158 -158
  165. package/kit/framework/workflows/audit-milestone.md +340 -340
  166. package/kit/framework/workflows/audit-uat.md +109 -109
  167. package/kit/framework/workflows/autonomous.md +891 -891
  168. package/kit/framework/workflows/check-todos.md +177 -177
  169. package/kit/framework/workflows/cleanup.md +152 -152
  170. package/kit/framework/workflows/complete-milestone.md +696 -696
  171. package/kit/framework/workflows/diagnose-issues.md +231 -231
  172. package/kit/framework/workflows/discovery-phase.md +289 -289
  173. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  174. package/kit/framework/workflows/discuss-phase.md +784 -784
  175. package/kit/framework/workflows/do.md +104 -104
  176. package/kit/framework/workflows/execute-phase.md +838 -838
  177. package/kit/framework/workflows/execute-plan.md +510 -510
  178. package/kit/framework/workflows/fast.md +102 -102
  179. package/kit/framework/workflows/forensics.md +265 -265
  180. package/kit/framework/workflows/health.md +181 -181
  181. package/kit/framework/workflows/help.md +619 -619
  182. package/kit/framework/workflows/insert-phase.md +130 -130
  183. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  184. package/kit/framework/workflows/list-workspaces.md +56 -56
  185. package/kit/framework/workflows/manager.md +362 -362
  186. package/kit/framework/workflows/map-codebase.md +377 -377
  187. package/kit/framework/workflows/milestone-summary.md +223 -223
  188. package/kit/framework/workflows/new-milestone.md +486 -486
  189. package/kit/framework/workflows/new-project.md +1159 -1159
  190. package/kit/framework/workflows/new-workspace.md +237 -237
  191. package/kit/framework/workflows/next.md +97 -97
  192. package/kit/framework/workflows/node-repair.md +92 -92
  193. package/kit/framework/workflows/note.md +156 -156
  194. package/kit/framework/workflows/pause-work.md +176 -176
  195. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  196. package/kit/framework/workflows/plan-phase.md +765 -765
  197. package/kit/framework/workflows/plant-seed.md +169 -169
  198. package/kit/framework/workflows/pr-branch.md +129 -129
  199. package/kit/framework/workflows/profile-user.md +450 -450
  200. package/kit/framework/workflows/progress.md +507 -507
  201. package/kit/framework/workflows/quick.md +757 -757
  202. package/kit/framework/workflows/remove-phase.md +155 -155
  203. package/kit/framework/workflows/remove-workspace.md +90 -90
  204. package/kit/framework/workflows/research-phase.md +82 -82
  205. package/kit/framework/workflows/resume-project.md +326 -326
  206. package/kit/framework/workflows/review.md +228 -228
  207. package/kit/framework/workflows/session-report.md +146 -146
  208. package/kit/framework/workflows/settings.md +283 -283
  209. package/kit/framework/workflows/ship.md +228 -228
  210. package/kit/framework/workflows/stats.md +60 -60
  211. package/kit/framework/workflows/transition.md +671 -671
  212. package/kit/framework/workflows/ui-phase.md +302 -302
  213. package/kit/framework/workflows/ui-review.md +165 -165
  214. package/kit/framework/workflows/update.md +323 -323
  215. package/kit/framework/workflows/validate-phase.md +174 -174
  216. package/kit/framework/workflows/verify-phase.md +252 -252
  217. package/kit/framework/workflows/verify-work.md +637 -637
  218. package/kit/hooks/check-update.js +118 -118
  219. package/kit/hooks/context-monitor.js +163 -163
  220. package/kit/hooks/prompt-guard.js +103 -103
  221. package/kit/hooks/statusline.js +125 -125
  222. package/kit/hooks/workflow-guard.js +101 -101
  223. package/kit/settings.json +45 -45
  224. package/kit/skills/example-skill/SKILL.md +42 -42
  225. package/package.json +63 -59
  226. package/src/core/kit.js +216 -216
  227. package/src/core/reflect.js +247 -247
  228. package/src/core/reverse-sync.js +372 -372
  229. package/src/core/sync.js +418 -418
  230. package/src/core/watch.js +121 -121
  231. package/src/mcp-server/index.js +34 -3
@@ -1,265 +1,265 @@
1
- # Template de UAT
2
-
3
- Template para `.planning/phases/XX-name/{phase_num}-UAT.md` — rastreamento persistente de sessão UAT.
4
-
5
- ---
6
-
7
- ## Template do Arquivo
8
-
9
- ```markdown
10
- ---
11
- status: testing | partial | complete | diagnosed
12
- phase: XX-name
13
- source: [lista de arquivos SUMMARY.md testados]
14
- started: [timestamp ISO]
15
- updated: [timestamp ISO]
16
- ---
17
-
18
- ## Teste Atual
19
- <!-- SOBRESCREVER a cada teste - mostra onde estamos -->
20
-
21
- number: [N]
22
- name: [nome do teste]
23
- expected: |
24
- [o que o usuário deve observar]
25
- awaiting: user response
26
-
27
- ## Testes
28
-
29
- ### 1. [Nome do Teste]
30
- expected: [comportamento observável - o que o usuário deve ver]
31
- result: [pending]
32
-
33
- ### 2. [Nome do Teste]
34
- expected: [comportamento observável]
35
- result: pass
36
-
37
- ### 3. [Nome do Teste]
38
- expected: [comportamento observável]
39
- result: issue
40
- reported: "[resposta verbatim do usuário]"
41
- severity: major
42
-
43
- ### 4. [Nome do Teste]
44
- expected: [comportamento observável]
45
- result: skipped
46
- reason: [por que foi pulado]
47
-
48
- ### 5. [Nome do Teste]
49
- expected: [comportamento observável]
50
- result: blocked
51
- blocked_by: server | physical-device | release-build | third-party | prior-phase
52
- reason: [por que está bloqueado]
53
-
54
- ...
55
-
56
- ## Resumo
57
-
58
- total: [N]
59
- passed: [N]
60
- issues: [N]
61
- pending: [N]
62
- skipped: [N]
63
- blocked: [N]
64
-
65
- ## Gaps
66
-
67
- <!-- Formato YAML para consumo por /planejar-fase --gaps -->
68
- - truth: "[comportamento esperado do teste]"
69
- status: failed
70
- reason: "User reported: [resposta verbatim]"
71
- severity: blocker | major | minor | cosmetic
72
- test: [N]
73
- root_cause: "" # Preenchido pelo diagnóstico
74
- artifacts: [] # Preenchido pelo diagnóstico
75
- missing: [] # Preenchido pelo diagnóstico
76
- debug_session: "" # Preenchido pelo diagnóstico
77
- ```
78
-
79
- ---
80
-
81
- <section_rules>
82
-
83
- **Frontmatter:**
84
- - `status`: SOBRESCREVER - "testing", "partial" ou "complete"
85
- - `phase`: IMUTÁVEL - definido na criação
86
- - `source`: IMUTÁVEL - arquivos SUMMARY sendo testados
87
- - `started`: IMUTÁVEL - definido na criação
88
- - `updated`: SOBRESCREVER - atualizar a cada mudança
89
-
90
- **Teste Atual:**
91
- - SOBRESCREVER completamente a cada transição de teste
92
- - Mostra qual teste está ativo e o que está aguardando
93
- - Na conclusão: "[testing complete]"
94
-
95
- **Testes:**
96
- - Cada teste: SOBRESCREVER campo result quando o usuário responde
97
- - Valores de `result`: [pending], pass, issue, skipped, blocked
98
- - Se issue: adicionar `reported` (verbatim) e `severity` (inferido)
99
- - Se skipped: adicionar `reason` se fornecida
100
- - Se blocked: adicionar `blocked_by` (tag) e `reason` (se fornecida)
101
-
102
- **Resumo:**
103
- - SOBRESCREVER contagens após cada resposta
104
- - Rastreia: total, passed, issues, pending, skipped
105
-
106
- **Gaps:**
107
- - APENAS APPEND quando issue encontrado (formato YAML)
108
- - Após diagnóstico: preencher `root_cause`, `artifacts`, `missing`, `debug_session`
109
- - Esta seção alimenta diretamente /planejar-fase --gaps
110
-
111
- </section_rules>
112
-
113
- <diagnosis_lifecycle>
114
-
115
- **Após teste completo (status: complete), se existirem gaps:**
116
-
117
- 1. Usuário executa diagnóstico (da oferta de verify-work ou manualmente)
118
- 2. Workflow diagnose-issues spawna agentes de debug em paralelo
119
- 3. Cada agente investiga um gap, retorna causa raiz
120
- 4. Seção Gaps do UAT.md é atualizada com diagnóstico:
121
- - Cada gap recebe `root_cause`, `artifacts`, `missing`, `debug_session` preenchidos
122
- 5. status → "diagnosed"
123
- 6. Pronto para /planejar-fase --gaps com causas raiz
124
-
125
- **Após diagnóstico:**
126
- ```yaml
127
- ## Gaps
128
-
129
- - truth: "Comentário aparece imediatamente após envio"
130
- status: failed
131
- reason: "User reported: funciona mas não aparece até eu recarregar a página"
132
- severity: major
133
- test: 2
134
- root_cause: "useEffect em CommentList.tsx com dependência commentCount faltando"
135
- artifacts:
136
- - path: "src/components/CommentList.tsx"
137
- issue: "useEffect com dependência faltando"
138
- missing:
139
- - "Adicionar commentCount ao array de dependências do useEffect"
140
- debug_session: ".planning/debug/comment-not-refreshing.md"
141
- ```
142
-
143
- </diagnosis_lifecycle>
144
-
145
- <lifecycle>
146
-
147
- **Criação:** Quando /verificar-trabalho inicia nova sessão
148
- - Extrair testes dos arquivos SUMMARY.md
149
- - Definir status como "testing"
150
- - Teste Atual aponta para teste 1
151
- - Todos os testes têm result: [pending]
152
-
153
- **Durante teste:**
154
- - Apresentar teste da seção Teste Atual
155
- - Usuário responde com confirmação de pass ou descrição de issue
156
- - Atualizar result do teste (pass/issue/skipped)
157
- - Atualizar contagens de Resumo
158
- - Se issue: append à seção Gaps (formato YAML), inferir severity
159
- - Mover Teste Atual para o próximo teste pendente
160
-
161
- **Na conclusão:**
162
- - status → "complete"
163
- - Teste Atual → "[testing complete]"
164
- - Commit do arquivo
165
- - Apresentar resumo com próximos passos
166
-
167
- **Conclusão parcial:**
168
- - status → "partial" (se testes pendentes, bloqueados ou pulados não resolvidos restarem)
169
- - Teste Atual → "[testing paused — {N} items outstanding]"
170
- - Commit do arquivo
171
- - Apresentar resumo com itens pendentes destacados
172
-
173
- **Retomando sessão parcial:**
174
- - `/verificar-trabalho {fase}` retoma a partir do primeiro teste pendente/bloqueado
175
- - Quando todos os itens forem resolvidos, status avança para "complete"
176
-
177
- **Retomar após /clear:**
178
- 1. Ler frontmatter → saber fase e status
179
- 2. Ler Teste Atual → saber onde estamos
180
- 3. Encontrar primeiro result [pending] → continuar a partir daí
181
- 4. Resumo mostra progresso até agora
182
-
183
- </lifecycle>
184
-
185
- <severity_guide>
186
-
187
- A severity é INFERIDA da linguagem natural do usuário, nunca perguntada.
188
-
189
- | Usuário descreve | Inferir |
190
- |----------------|-------|
191
- | Crash, erro, exception, falha completa, inutilizável | blocker |
192
- | Não funciona, nada acontece, comportamento errado, faltando | major |
193
- | Funciona mas..., lento, estranho, menor, pequeno problema | minor |
194
- | Cor, fonte, espaçamento, alinhamento, visual, parece errado | cosmetic |
195
-
196
- Padrão: **major** (padrão seguro, usuário pode corrigir se errado)
197
-
198
- </severity_guide>
199
-
200
- <good_example>
201
- ```markdown
202
- ---
203
- status: diagnosed
204
- phase: 04-comments
205
- source: 04-01-SUMMARY.md, 04-02-SUMMARY.md
206
- started: 2025-01-15T10:30:00Z
207
- updated: 2025-01-15T10:45:00Z
208
- ---
209
-
210
- ## Teste Atual
211
-
212
- [testing complete]
213
-
214
- ## Testes
215
-
216
- ### 1. Visualizar Comentários no Post
217
- expected: Seção de comentários expande, mostra contagem e lista de comentários
218
- result: pass
219
-
220
- ### 2. Criar Comentário de Nível Superior
221
- expected: Enviar comentário via editor de texto rico, aparece na lista com info do autor
222
- result: issue
223
- reported: "funciona mas não aparece até eu recarregar a página"
224
- severity: major
225
-
226
- ### 3. Responder a um Comentário
227
- expected: Clicar em Responder, compositor inline aparece, envio mostra resposta aninhada
228
- result: pass
229
-
230
- ### 4. Aninhamento Visual
231
- expected: Thread de 3+ níveis mostra indentação, bordas laterais, limita em profundidade razoável
232
- result: pass
233
-
234
- ### 5. Excluir Próprio Comentário
235
- expected: Clicar em excluir no próprio comentário, removido ou mostra [deleted] se tiver respostas
236
- result: pass
237
-
238
- ### 6. Contagem de Comentários
239
- expected: Post mostra contagem precisa, incrementa ao adicionar comentário
240
- result: pass
241
-
242
- ## Resumo
243
-
244
- total: 6
245
- passed: 5
246
- issues: 1
247
- pending: 0
248
- skipped: 0
249
-
250
- ## Gaps
251
-
252
- - truth: "Comentário aparece imediatamente após envio na lista"
253
- status: failed
254
- reason: "User reported: funciona mas não aparece até eu recarregar a página"
255
- severity: major
256
- test: 2
257
- root_cause: "useEffect em CommentList.tsx com dependência commentCount faltando"
258
- artifacts:
259
- - path: "src/components/CommentList.tsx"
260
- issue: "useEffect com dependência faltando"
261
- missing:
262
- - "Adicionar commentCount ao array de dependências do useEffect"
263
- debug_session: ".planning/debug/comment-not-refreshing.md"
264
- ```
265
- </good_example>
1
+ # Template de UAT
2
+
3
+ Template para `.planning/phases/XX-name/{phase_num}-UAT.md` — rastreamento persistente de sessão UAT.
4
+
5
+ ---
6
+
7
+ ## Template do Arquivo
8
+
9
+ ```markdown
10
+ ---
11
+ status: testing | partial | complete | diagnosed
12
+ phase: XX-name
13
+ source: [lista de arquivos SUMMARY.md testados]
14
+ started: [timestamp ISO]
15
+ updated: [timestamp ISO]
16
+ ---
17
+
18
+ ## Teste Atual
19
+ <!-- SOBRESCREVER a cada teste - mostra onde estamos -->
20
+
21
+ number: [N]
22
+ name: [nome do teste]
23
+ expected: |
24
+ [o que o usuário deve observar]
25
+ awaiting: user response
26
+
27
+ ## Testes
28
+
29
+ ### 1. [Nome do Teste]
30
+ expected: [comportamento observável - o que o usuário deve ver]
31
+ result: [pending]
32
+
33
+ ### 2. [Nome do Teste]
34
+ expected: [comportamento observável]
35
+ result: pass
36
+
37
+ ### 3. [Nome do Teste]
38
+ expected: [comportamento observável]
39
+ result: issue
40
+ reported: "[resposta verbatim do usuário]"
41
+ severity: major
42
+
43
+ ### 4. [Nome do Teste]
44
+ expected: [comportamento observável]
45
+ result: skipped
46
+ reason: [por que foi pulado]
47
+
48
+ ### 5. [Nome do Teste]
49
+ expected: [comportamento observável]
50
+ result: blocked
51
+ blocked_by: server | physical-device | release-build | third-party | prior-phase
52
+ reason: [por que está bloqueado]
53
+
54
+ ...
55
+
56
+ ## Resumo
57
+
58
+ total: [N]
59
+ passed: [N]
60
+ issues: [N]
61
+ pending: [N]
62
+ skipped: [N]
63
+ blocked: [N]
64
+
65
+ ## Gaps
66
+
67
+ <!-- Formato YAML para consumo por /planejar-fase --gaps -->
68
+ - truth: "[comportamento esperado do teste]"
69
+ status: failed
70
+ reason: "User reported: [resposta verbatim]"
71
+ severity: blocker | major | minor | cosmetic
72
+ test: [N]
73
+ root_cause: "" # Preenchido pelo diagnóstico
74
+ artifacts: [] # Preenchido pelo diagnóstico
75
+ missing: [] # Preenchido pelo diagnóstico
76
+ debug_session: "" # Preenchido pelo diagnóstico
77
+ ```
78
+
79
+ ---
80
+
81
+ <section_rules>
82
+
83
+ **Frontmatter:**
84
+ - `status`: SOBRESCREVER - "testing", "partial" ou "complete"
85
+ - `phase`: IMUTÁVEL - definido na criação
86
+ - `source`: IMUTÁVEL - arquivos SUMMARY sendo testados
87
+ - `started`: IMUTÁVEL - definido na criação
88
+ - `updated`: SOBRESCREVER - atualizar a cada mudança
89
+
90
+ **Teste Atual:**
91
+ - SOBRESCREVER completamente a cada transição de teste
92
+ - Mostra qual teste está ativo e o que está aguardando
93
+ - Na conclusão: "[testing complete]"
94
+
95
+ **Testes:**
96
+ - Cada teste: SOBRESCREVER campo result quando o usuário responde
97
+ - Valores de `result`: [pending], pass, issue, skipped, blocked
98
+ - Se issue: adicionar `reported` (verbatim) e `severity` (inferido)
99
+ - Se skipped: adicionar `reason` se fornecida
100
+ - Se blocked: adicionar `blocked_by` (tag) e `reason` (se fornecida)
101
+
102
+ **Resumo:**
103
+ - SOBRESCREVER contagens após cada resposta
104
+ - Rastreia: total, passed, issues, pending, skipped
105
+
106
+ **Gaps:**
107
+ - APENAS APPEND quando issue encontrado (formato YAML)
108
+ - Após diagnóstico: preencher `root_cause`, `artifacts`, `missing`, `debug_session`
109
+ - Esta seção alimenta diretamente /planejar-fase --gaps
110
+
111
+ </section_rules>
112
+
113
+ <diagnosis_lifecycle>
114
+
115
+ **Após teste completo (status: complete), se existirem gaps:**
116
+
117
+ 1. Usuário executa diagnóstico (da oferta de verify-work ou manualmente)
118
+ 2. Workflow diagnose-issues spawna agentes de debug em paralelo
119
+ 3. Cada agente investiga um gap, retorna causa raiz
120
+ 4. Seção Gaps do UAT.md é atualizada com diagnóstico:
121
+ - Cada gap recebe `root_cause`, `artifacts`, `missing`, `debug_session` preenchidos
122
+ 5. status → "diagnosed"
123
+ 6. Pronto para /planejar-fase --gaps com causas raiz
124
+
125
+ **Após diagnóstico:**
126
+ ```yaml
127
+ ## Gaps
128
+
129
+ - truth: "Comentário aparece imediatamente após envio"
130
+ status: failed
131
+ reason: "User reported: funciona mas não aparece até eu recarregar a página"
132
+ severity: major
133
+ test: 2
134
+ root_cause: "useEffect em CommentList.tsx com dependência commentCount faltando"
135
+ artifacts:
136
+ - path: "src/components/CommentList.tsx"
137
+ issue: "useEffect com dependência faltando"
138
+ missing:
139
+ - "Adicionar commentCount ao array de dependências do useEffect"
140
+ debug_session: ".planning/debug/comment-not-refreshing.md"
141
+ ```
142
+
143
+ </diagnosis_lifecycle>
144
+
145
+ <lifecycle>
146
+
147
+ **Criação:** Quando /verificar-trabalho inicia nova sessão
148
+ - Extrair testes dos arquivos SUMMARY.md
149
+ - Definir status como "testing"
150
+ - Teste Atual aponta para teste 1
151
+ - Todos os testes têm result: [pending]
152
+
153
+ **Durante teste:**
154
+ - Apresentar teste da seção Teste Atual
155
+ - Usuário responde com confirmação de pass ou descrição de issue
156
+ - Atualizar result do teste (pass/issue/skipped)
157
+ - Atualizar contagens de Resumo
158
+ - Se issue: append à seção Gaps (formato YAML), inferir severity
159
+ - Mover Teste Atual para o próximo teste pendente
160
+
161
+ **Na conclusão:**
162
+ - status → "complete"
163
+ - Teste Atual → "[testing complete]"
164
+ - Commit do arquivo
165
+ - Apresentar resumo com próximos passos
166
+
167
+ **Conclusão parcial:**
168
+ - status → "partial" (se testes pendentes, bloqueados ou pulados não resolvidos restarem)
169
+ - Teste Atual → "[testing paused — {N} items outstanding]"
170
+ - Commit do arquivo
171
+ - Apresentar resumo com itens pendentes destacados
172
+
173
+ **Retomando sessão parcial:**
174
+ - `/verificar-trabalho {fase}` retoma a partir do primeiro teste pendente/bloqueado
175
+ - Quando todos os itens forem resolvidos, status avança para "complete"
176
+
177
+ **Retomar após /clear:**
178
+ 1. Ler frontmatter → saber fase e status
179
+ 2. Ler Teste Atual → saber onde estamos
180
+ 3. Encontrar primeiro result [pending] → continuar a partir daí
181
+ 4. Resumo mostra progresso até agora
182
+
183
+ </lifecycle>
184
+
185
+ <severity_guide>
186
+
187
+ A severity é INFERIDA da linguagem natural do usuário, nunca perguntada.
188
+
189
+ | Usuário descreve | Inferir |
190
+ |----------------|-------|
191
+ | Crash, erro, exception, falha completa, inutilizável | blocker |
192
+ | Não funciona, nada acontece, comportamento errado, faltando | major |
193
+ | Funciona mas..., lento, estranho, menor, pequeno problema | minor |
194
+ | Cor, fonte, espaçamento, alinhamento, visual, parece errado | cosmetic |
195
+
196
+ Padrão: **major** (padrão seguro, usuário pode corrigir se errado)
197
+
198
+ </severity_guide>
199
+
200
+ <good_example>
201
+ ```markdown
202
+ ---
203
+ status: diagnosed
204
+ phase: 04-comments
205
+ source: 04-01-SUMMARY.md, 04-02-SUMMARY.md
206
+ started: 2025-01-15T10:30:00Z
207
+ updated: 2025-01-15T10:45:00Z
208
+ ---
209
+
210
+ ## Teste Atual
211
+
212
+ [testing complete]
213
+
214
+ ## Testes
215
+
216
+ ### 1. Visualizar Comentários no Post
217
+ expected: Seção de comentários expande, mostra contagem e lista de comentários
218
+ result: pass
219
+
220
+ ### 2. Criar Comentário de Nível Superior
221
+ expected: Enviar comentário via editor de texto rico, aparece na lista com info do autor
222
+ result: issue
223
+ reported: "funciona mas não aparece até eu recarregar a página"
224
+ severity: major
225
+
226
+ ### 3. Responder a um Comentário
227
+ expected: Clicar em Responder, compositor inline aparece, envio mostra resposta aninhada
228
+ result: pass
229
+
230
+ ### 4. Aninhamento Visual
231
+ expected: Thread de 3+ níveis mostra indentação, bordas laterais, limita em profundidade razoável
232
+ result: pass
233
+
234
+ ### 5. Excluir Próprio Comentário
235
+ expected: Clicar em excluir no próprio comentário, removido ou mostra [deleted] se tiver respostas
236
+ result: pass
237
+
238
+ ### 6. Contagem de Comentários
239
+ expected: Post mostra contagem precisa, incrementa ao adicionar comentário
240
+ result: pass
241
+
242
+ ## Resumo
243
+
244
+ total: 6
245
+ passed: 5
246
+ issues: 1
247
+ pending: 0
248
+ skipped: 0
249
+
250
+ ## Gaps
251
+
252
+ - truth: "Comentário aparece imediatamente após envio na lista"
253
+ status: failed
254
+ reason: "User reported: funciona mas não aparece até eu recarregar a página"
255
+ severity: major
256
+ test: 2
257
+ root_cause: "useEffect em CommentList.tsx com dependência commentCount faltando"
258
+ artifacts:
259
+ - path: "src/components/CommentList.tsx"
260
+ issue: "useEffect com dependência faltando"
261
+ missing:
262
+ - "Adicionar commentCount ao array de dependências do useEffect"
263
+ debug_session: ".planning/debug/comment-not-refreshing.md"
264
+ ```
265
+ </good_example>