@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
- # Workflow de Forense
2
-
3
- Investigação post-mortem para workflows framework que falharam ou travaram. Analisa histórico git,
4
- artefatos de `.planning/` e estado do sistema de arquivos para detectar anomalias e gerar um
5
- relatório diagnóstico estruturado.
6
-
7
- **Princípio:** Esta é uma investigação somente leitura. Não modifique arquivos do projeto.
8
- Apenas escreva o relatório forense.
9
-
10
- ---
11
-
12
- ## Passo 1: Obter Descrição do Problema
13
-
14
- ```bash
15
- PROBLEM="$ARGUMENTS"
16
- ```
17
-
18
- Se `$ARGUMENTS` estiver vazio, perguntar ao usuário:
19
- > "O que deu errado? Descreva o problema — ex: 'modo autônomo travou na fase 3',
20
- > 'execute-phase falhou silenciosamente', 'custos parecem incomumente altos'."
21
-
22
- Registrar a descrição do problema para o relatório.
23
-
24
- ## Passo 2: Coletar Evidências
25
-
26
- Coletar dados de todas as fontes disponíveis. Fontes ausentes são aceitáveis — adapte ao que existe.
27
-
28
- ### 2a. Histórico Git
29
-
30
- ```bash
31
- # Commits recentes (últimos 30)
32
- git log --oneline -30
33
-
34
- # Commits com timestamps para análise de lacunas
35
- git log --format="%H %ai %s" -30
36
-
37
- # Arquivos alterados em commits recentes (detectar edições repetidas)
38
- git log --name-only --format="" -20 | sort | uniq -c | sort -rn | head -20
39
-
40
- # Trabalho não commitado
41
- git status --short
42
- git diff --stat
43
- ```
44
-
45
- Registrar:
46
- - Timeline de commits (datas, mensagens, frequência)
47
- - Arquivos mais editados (indicador potencial de loop preso)
48
- - Mudanças não commitadas (indicador potencial de crash/interrupção)
49
-
50
- ### 2b. Estado de Planejamento
51
-
52
- Ler estes arquivos se existirem:
53
- - `.planning/STATE.md` — milestone atual, fase, progresso, bloqueios, última sessão
54
- - `.planning/ROADMAP.md` — lista de fases com status
55
- - `.planning/config.json` — configuração do workflow
56
-
57
- Extrair:
58
- - Fase atual e seu status
59
- - Último ponto de parada de sessão registrado
60
- - Quaisquer bloqueios ou flags
61
-
62
- ### 2c. Artefatos de Fase
63
-
64
- Para cada diretório de fase em `.planning/phases/*/`:
65
-
66
- ```bash
67
- ls .planning/phases/*/
68
- ```
69
-
70
- Para cada fase, verificar quais artefatos existem:
71
- - `{padded}-PLAN.md` ou `{padded}-PLAN-*.md` (planos de execução)
72
- - `{padded}-SUMMARY.md` (resumo de conclusão)
73
- - `{padded}-VERIFICATION.md` (verificação de qualidade)
74
- - `{padded}-CONTEXT.md` (decisões de design)
75
- - `{padded}-RESEARCH.md` (pesquisa pré-planejamento)
76
-
77
- Rastrear: quais fases têm conjuntos de artefatos completos vs. lacunas.
78
-
79
- ### 2d. Relatórios de Sessão
80
-
81
- Ler `.planning/reports/SESSION_REPORT.md` se existir — extrair resultados da última sessão,
82
- trabalho concluído, estimativas de tokens.
83
-
84
- ### 2e. Estado de Worktree Git
85
-
86
- ```bash
87
- git worktree list
88
- ```
89
-
90
- Verificar worktrees órfãos (de agentes que crasharam).
91
-
92
- ## Passo 3: Detectar Anomalias
93
-
94
- Avaliar as evidências coletadas contra estes padrões de anomalia:
95
-
96
- ### Detecção de Loop Preso
97
-
98
- **Sinal:** Mesmo arquivo aparece em 3+ commits consecutivos em uma janela de tempo curta.
99
-
100
- ```bash
101
- # Procurar arquivos commitados repetidamente em sequência
102
- git log --name-only --format="---COMMIT---" -20
103
- ```
104
-
105
- Analisar limites de commit. Se qualquer arquivo aparecer em 3+ commits consecutivos, sinalizar como:
106
- - **Confiança ALTA** se as mensagens de commit forem similares (ex: "fix:", "fix:", "fix:" no mesmo arquivo)
107
- - **Confiança MÉDIA** se o arquivo aparecer frequentemente mas as mensagens variem
108
-
109
- ### Detecção de Artefato Ausente
110
-
111
- **Sinal:** Fase parece completa (tem commits, está no passado do roadmap) mas falta artefatos esperados.
112
-
113
- Para cada fase que deve estar completa:
114
- - PLAN.md ausente → etapa de planejamento foi pulada
115
- - SUMMARY.md ausente → fase não foi encerrada corretamente
116
- - VERIFICATION.md ausente → verificação de qualidade foi pulada
117
-
118
- ### Detecção de Trabalho Abandonado
119
-
120
- **Sinal:** Grande lacuna entre o último commit e o momento atual, com STATE.md mostrando execução no meio.
121
-
122
- ```bash
123
- # Tempo desde o último commit
124
- git log -1 --format="%ai"
125
- ```
126
-
127
- Se STATE.md mostrar uma fase ativa mas o último commit tiver mais de 2 horas de antigüidade e houver
128
- mudanças não commitadas, sinalizar como potencial abandono ou crash.
129
-
130
- ### Detecção de Crash/Interrupção
131
-
132
- **Sinal:** Mudanças não commitadas + STATE.md mostra execução no meio + worktrees órfãos.
133
-
134
- Combinar:
135
- - `git status` mostra arquivos modificados/staged
136
- - STATE.md tem uma entrada de execução ativa
137
- - `git worktree list` mostra worktrees além do principal
138
-
139
- ### Detecção de Deriva de Escopo
140
-
141
- **Sinal:** Commits recentes tocam arquivos fora do escopo esperado da fase atual.
142
-
143
- Ler o PLAN.md da fase atual para determinar caminhos de arquivo esperados. Comparar com
144
- arquivos realmente modificados em commits recentes. Sinalizar qualquer arquivo que esteja claramente
145
- fora do domínio da fase.
146
-
147
- ### Detecção de Regressão de Testes
148
-
149
- **Sinal:** Mensagens de commit contendo "fix test", "revert" ou re-commits de arquivos de teste.
150
-
151
- ```bash
152
- git log --oneline -20 | grep -iE "fix test|revert|broken|regression|fail"
153
- ```
154
-
155
- ## Passo 4: Gerar Relatório
156
-
157
- Criar o diretório de forense se necessário:
158
- ```bash
159
- mkdir -p .planning/forensics
160
- ```
161
-
162
- Escrever em `.planning/forensics/report-$(date +%Y%m%d-%H%M%S).md`:
163
-
164
- ```markdown
165
- # Relatório Forense
166
-
167
- **Gerado:** {timestamp ISO}
168
- **Problema:** {descrição do usuário}
169
-
170
- ---
171
-
172
- ## Resumo de Evidências
173
-
174
- ### Atividade Git
175
- - **Último commit:** {data} — "{mensagem}"
176
- - **Commits (últimos 30):** {contagem}
177
- - **Intervalo de tempo:** {mais antigo} → {mais recente}
178
- - **Mudanças não commitadas:** {sim/não — listar se sim}
179
- - **Worktrees ativos:** {contagem — listar se >1}
180
-
181
- ### Estado de Planejamento
182
- - **Milestone atual:** {versão ou "nenhum"}
183
- - **Fase atual:** {número — nome — status}
184
- - **Última sessão:** {stopped_at do STATE.md}
185
- - **Bloqueios:** {quaisquer flags do STATE.md}
186
-
187
- ### Completude de Artefatos
188
- | Fase | PLAN | CONTEXT | RESEARCH | SUMMARY | VERIFICATION |
189
- |------|------|---------|----------|---------|-------------|
190
- {para cada fase: nome | ✅/❌ por artefato}
191
-
192
- ## Anomalias Detectadas
193
-
194
- ### {Tipo de Anomalia} — {Confiança: ALTA/MÉDIA/BAIXA}
195
- **Evidência:** {commits específicos, arquivos ou dados de estado}
196
- **Interpretação:** {o que isso provavelmente significa}
197
-
198
- {repetir para cada anomalia encontrada}
199
-
200
- ## Hipótese de Causa Raiz
201
-
202
- Com base nas evidências acima, a explicação mais provável é:
203
-
204
- {hipótese de 1-3 frases fundamentada nas anomalias}
205
-
206
- ## Ações Recomendadas
207
-
208
- 1. {Passo de remediação específico e acionável}
209
- 2. {Outro passo se aplicável}
210
- 3. {Comando de recuperação se aplicável — ex: `/retomar-trabalho`, `/executar-fase N`}
211
-
212
- ---
213
-
214
- *Relatório gerado por `/forense`. Todos os caminhos redirecionados para portabilidade.*
215
- ```
216
-
217
- **Regras de redação:**
218
- - Substituir caminhos absolutos por caminhos relativos (remover prefixo `$HOME`)
219
- - Remover quaisquer chaves de API, tokens ou credenciais encontrados na saída do git diff
220
- - Truncar diffs grandes para as primeiras 50 linhas
221
-
222
- ## Passo 5: Apresentar Relatório
223
-
224
- Exibir o relatório forense completo inline.
225
-
226
- ## Passo 6: Oferecer Investigação Interativa
227
-
228
- > "Relatório salvo em `.planning/forensics/report-{timestamp}.md`.
229
- >
230
- > Posso aprofundar em qualquer descoberta. Quer que eu:
231
- > - Rastreie uma anomalia específica até sua causa raiz?
232
- > - Leia arquivos específicos referenciados nas evidências?
233
- > - Verifique se um problema semelhante foi relatado antes?"
234
-
235
- Se o usuário fizer perguntas de acompanhamento, responda a partir das evidências já coletadas.
236
- Ler arquivos adicionais apenas se especificamente necessário.
237
-
238
- ## Passo 7: Oferecer Criação de Issue
239
-
240
- Se anomalias acionáveis foram encontradas (confiança ALTA ou MÉDIA):
241
-
242
- > "Quer que eu crie uma issue no GitHub para isso? Formatará as descobertas e redirecionará caminhos."
243
-
244
- Se confirmado:
245
- ```bash
246
- # Verificar se o label "bug" existe antes de usar
247
- BUG_LABEL=$(gh label list --search "bug" --json name -q '.[0].name' 2>/dev/null)
248
- LABEL_FLAG=""
249
- if [ -n "$BUG_LABEL" ]; then
250
- LABEL_FLAG="--label bug"
251
- fi
252
-
253
- gh issue create \
254
- --title "bug: {descrição concisa da anomalia}" \
255
- $LABEL_FLAG \
256
- --body "{descobertas formatadas do relatório}"
257
- ```
258
-
259
- ## Passo 8: Atualizar STATE.md
260
-
261
- ```bash
262
- tools.cjs state record-session \
263
- --stopped-at "Forensic investigation complete" \
264
- --resume-file ".planning/forensics/report-{timestamp}.md"
265
- ```
1
+ # Workflow de Forense
2
+
3
+ Investigação post-mortem para workflows framework que falharam ou travaram. Analisa histórico git,
4
+ artefatos de `.planning/` e estado do sistema de arquivos para detectar anomalias e gerar um
5
+ relatório diagnóstico estruturado.
6
+
7
+ **Princípio:** Esta é uma investigação somente leitura. Não modifique arquivos do projeto.
8
+ Apenas escreva o relatório forense.
9
+
10
+ ---
11
+
12
+ ## Passo 1: Obter Descrição do Problema
13
+
14
+ ```bash
15
+ PROBLEM="$ARGUMENTS"
16
+ ```
17
+
18
+ Se `$ARGUMENTS` estiver vazio, perguntar ao usuário:
19
+ > "O que deu errado? Descreva o problema — ex: 'modo autônomo travou na fase 3',
20
+ > 'execute-phase falhou silenciosamente', 'custos parecem incomumente altos'."
21
+
22
+ Registrar a descrição do problema para o relatório.
23
+
24
+ ## Passo 2: Coletar Evidências
25
+
26
+ Coletar dados de todas as fontes disponíveis. Fontes ausentes são aceitáveis — adapte ao que existe.
27
+
28
+ ### 2a. Histórico Git
29
+
30
+ ```bash
31
+ # Commits recentes (últimos 30)
32
+ git log --oneline -30
33
+
34
+ # Commits com timestamps para análise de lacunas
35
+ git log --format="%H %ai %s" -30
36
+
37
+ # Arquivos alterados em commits recentes (detectar edições repetidas)
38
+ git log --name-only --format="" -20 | sort | uniq -c | sort -rn | head -20
39
+
40
+ # Trabalho não commitado
41
+ git status --short
42
+ git diff --stat
43
+ ```
44
+
45
+ Registrar:
46
+ - Timeline de commits (datas, mensagens, frequência)
47
+ - Arquivos mais editados (indicador potencial de loop preso)
48
+ - Mudanças não commitadas (indicador potencial de crash/interrupção)
49
+
50
+ ### 2b. Estado de Planejamento
51
+
52
+ Ler estes arquivos se existirem:
53
+ - `.planning/STATE.md` — milestone atual, fase, progresso, bloqueios, última sessão
54
+ - `.planning/ROADMAP.md` — lista de fases com status
55
+ - `.planning/config.json` — configuração do workflow
56
+
57
+ Extrair:
58
+ - Fase atual e seu status
59
+ - Último ponto de parada de sessão registrado
60
+ - Quaisquer bloqueios ou flags
61
+
62
+ ### 2c. Artefatos de Fase
63
+
64
+ Para cada diretório de fase em `.planning/phases/*/`:
65
+
66
+ ```bash
67
+ ls .planning/phases/*/
68
+ ```
69
+
70
+ Para cada fase, verificar quais artefatos existem:
71
+ - `{padded}-PLAN.md` ou `{padded}-PLAN-*.md` (planos de execução)
72
+ - `{padded}-SUMMARY.md` (resumo de conclusão)
73
+ - `{padded}-VERIFICATION.md` (verificação de qualidade)
74
+ - `{padded}-CONTEXT.md` (decisões de design)
75
+ - `{padded}-RESEARCH.md` (pesquisa pré-planejamento)
76
+
77
+ Rastrear: quais fases têm conjuntos de artefatos completos vs. lacunas.
78
+
79
+ ### 2d. Relatórios de Sessão
80
+
81
+ Ler `.planning/reports/SESSION_REPORT.md` se existir — extrair resultados da última sessão,
82
+ trabalho concluído, estimativas de tokens.
83
+
84
+ ### 2e. Estado de Worktree Git
85
+
86
+ ```bash
87
+ git worktree list
88
+ ```
89
+
90
+ Verificar worktrees órfãos (de agentes que crasharam).
91
+
92
+ ## Passo 3: Detectar Anomalias
93
+
94
+ Avaliar as evidências coletadas contra estes padrões de anomalia:
95
+
96
+ ### Detecção de Loop Preso
97
+
98
+ **Sinal:** Mesmo arquivo aparece em 3+ commits consecutivos em uma janela de tempo curta.
99
+
100
+ ```bash
101
+ # Procurar arquivos commitados repetidamente em sequência
102
+ git log --name-only --format="---COMMIT---" -20
103
+ ```
104
+
105
+ Analisar limites de commit. Se qualquer arquivo aparecer em 3+ commits consecutivos, sinalizar como:
106
+ - **Confiança ALTA** se as mensagens de commit forem similares (ex: "fix:", "fix:", "fix:" no mesmo arquivo)
107
+ - **Confiança MÉDIA** se o arquivo aparecer frequentemente mas as mensagens variem
108
+
109
+ ### Detecção de Artefato Ausente
110
+
111
+ **Sinal:** Fase parece completa (tem commits, está no passado do roadmap) mas falta artefatos esperados.
112
+
113
+ Para cada fase que deve estar completa:
114
+ - PLAN.md ausente → etapa de planejamento foi pulada
115
+ - SUMMARY.md ausente → fase não foi encerrada corretamente
116
+ - VERIFICATION.md ausente → verificação de qualidade foi pulada
117
+
118
+ ### Detecção de Trabalho Abandonado
119
+
120
+ **Sinal:** Grande lacuna entre o último commit e o momento atual, com STATE.md mostrando execução no meio.
121
+
122
+ ```bash
123
+ # Tempo desde o último commit
124
+ git log -1 --format="%ai"
125
+ ```
126
+
127
+ Se STATE.md mostrar uma fase ativa mas o último commit tiver mais de 2 horas de antigüidade e houver
128
+ mudanças não commitadas, sinalizar como potencial abandono ou crash.
129
+
130
+ ### Detecção de Crash/Interrupção
131
+
132
+ **Sinal:** Mudanças não commitadas + STATE.md mostra execução no meio + worktrees órfãos.
133
+
134
+ Combinar:
135
+ - `git status` mostra arquivos modificados/staged
136
+ - STATE.md tem uma entrada de execução ativa
137
+ - `git worktree list` mostra worktrees além do principal
138
+
139
+ ### Detecção de Deriva de Escopo
140
+
141
+ **Sinal:** Commits recentes tocam arquivos fora do escopo esperado da fase atual.
142
+
143
+ Ler o PLAN.md da fase atual para determinar caminhos de arquivo esperados. Comparar com
144
+ arquivos realmente modificados em commits recentes. Sinalizar qualquer arquivo que esteja claramente
145
+ fora do domínio da fase.
146
+
147
+ ### Detecção de Regressão de Testes
148
+
149
+ **Sinal:** Mensagens de commit contendo "fix test", "revert" ou re-commits de arquivos de teste.
150
+
151
+ ```bash
152
+ git log --oneline -20 | grep -iE "fix test|revert|broken|regression|fail"
153
+ ```
154
+
155
+ ## Passo 4: Gerar Relatório
156
+
157
+ Criar o diretório de forense se necessário:
158
+ ```bash
159
+ mkdir -p .planning/forensics
160
+ ```
161
+
162
+ Escrever em `.planning/forensics/report-$(date +%Y%m%d-%H%M%S).md`:
163
+
164
+ ```markdown
165
+ # Relatório Forense
166
+
167
+ **Gerado:** {timestamp ISO}
168
+ **Problema:** {descrição do usuário}
169
+
170
+ ---
171
+
172
+ ## Resumo de Evidências
173
+
174
+ ### Atividade Git
175
+ - **Último commit:** {data} — "{mensagem}"
176
+ - **Commits (últimos 30):** {contagem}
177
+ - **Intervalo de tempo:** {mais antigo} → {mais recente}
178
+ - **Mudanças não commitadas:** {sim/não — listar se sim}
179
+ - **Worktrees ativos:** {contagem — listar se >1}
180
+
181
+ ### Estado de Planejamento
182
+ - **Milestone atual:** {versão ou "nenhum"}
183
+ - **Fase atual:** {número — nome — status}
184
+ - **Última sessão:** {stopped_at do STATE.md}
185
+ - **Bloqueios:** {quaisquer flags do STATE.md}
186
+
187
+ ### Completude de Artefatos
188
+ | Fase | PLAN | CONTEXT | RESEARCH | SUMMARY | VERIFICATION |
189
+ |------|------|---------|----------|---------|-------------|
190
+ {para cada fase: nome | ✅/❌ por artefato}
191
+
192
+ ## Anomalias Detectadas
193
+
194
+ ### {Tipo de Anomalia} — {Confiança: ALTA/MÉDIA/BAIXA}
195
+ **Evidência:** {commits específicos, arquivos ou dados de estado}
196
+ **Interpretação:** {o que isso provavelmente significa}
197
+
198
+ {repetir para cada anomalia encontrada}
199
+
200
+ ## Hipótese de Causa Raiz
201
+
202
+ Com base nas evidências acima, a explicação mais provável é:
203
+
204
+ {hipótese de 1-3 frases fundamentada nas anomalias}
205
+
206
+ ## Ações Recomendadas
207
+
208
+ 1. {Passo de remediação específico e acionável}
209
+ 2. {Outro passo se aplicável}
210
+ 3. {Comando de recuperação se aplicável — ex: `/retomar-trabalho`, `/executar-fase N`}
211
+
212
+ ---
213
+
214
+ *Relatório gerado por `/forense`. Todos os caminhos redirecionados para portabilidade.*
215
+ ```
216
+
217
+ **Regras de redação:**
218
+ - Substituir caminhos absolutos por caminhos relativos (remover prefixo `$HOME`)
219
+ - Remover quaisquer chaves de API, tokens ou credenciais encontrados na saída do git diff
220
+ - Truncar diffs grandes para as primeiras 50 linhas
221
+
222
+ ## Passo 5: Apresentar Relatório
223
+
224
+ Exibir o relatório forense completo inline.
225
+
226
+ ## Passo 6: Oferecer Investigação Interativa
227
+
228
+ > "Relatório salvo em `.planning/forensics/report-{timestamp}.md`.
229
+ >
230
+ > Posso aprofundar em qualquer descoberta. Quer que eu:
231
+ > - Rastreie uma anomalia específica até sua causa raiz?
232
+ > - Leia arquivos específicos referenciados nas evidências?
233
+ > - Verifique se um problema semelhante foi relatado antes?"
234
+
235
+ Se o usuário fizer perguntas de acompanhamento, responda a partir das evidências já coletadas.
236
+ Ler arquivos adicionais apenas se especificamente necessário.
237
+
238
+ ## Passo 7: Oferecer Criação de Issue
239
+
240
+ Se anomalias acionáveis foram encontradas (confiança ALTA ou MÉDIA):
241
+
242
+ > "Quer que eu crie uma issue no GitHub para isso? Formatará as descobertas e redirecionará caminhos."
243
+
244
+ Se confirmado:
245
+ ```bash
246
+ # Verificar se o label "bug" existe antes de usar
247
+ BUG_LABEL=$(gh label list --search "bug" --json name -q '.[0].name' 2>/dev/null)
248
+ LABEL_FLAG=""
249
+ if [ -n "$BUG_LABEL" ]; then
250
+ LABEL_FLAG="--label bug"
251
+ fi
252
+
253
+ gh issue create \
254
+ --title "bug: {descrição concisa da anomalia}" \
255
+ $LABEL_FLAG \
256
+ --body "{descobertas formatadas do relatório}"
257
+ ```
258
+
259
+ ## Passo 8: Atualizar STATE.md
260
+
261
+ ```bash
262
+ tools.cjs state record-session \
263
+ --stopped-at "Forensic investigation complete" \
264
+ --resume-file ".planning/forensics/report-{timestamp}.md"
265
+ ```