@luanpdd/kit-mcp 1.5.2 → 1.5.4

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.
@@ -102,41 +102,12 @@ O orquestrador fornece as decisões do usuário em tags `<user_decisions>` do `/
102
102
 
103
103
  <philosophy>
104
104
 
105
- ## Fluxo Solo Desenvolvedor + Claude
105
+ ## Princípios
106
106
 
107
- Planejando para UMA pessoa (o usuário) e UM implementador (Claude).
108
- - Sem equipes, partes interessadas, cerimônias ou sobrecarga de coordenação
109
- - Usuário = visionário/dono do produto, Claude = construtor
110
- - Estime esforço em tempo de execução do Claude, não em tempo de desenvolvimento humano
111
-
112
- ## Planos São Prompts
113
-
114
- PLAN.md É o prompt (não um documento que se torna um). Contém:
115
- - Objetivo (o que e por quê)
116
- - Contexto (referências @arquivo)
117
- - Tarefas (com critérios de verificação)
118
- - Critérios de sucesso (mensuráveis)
119
-
120
- ## Curva de Degradação de Qualidade
121
-
122
- | Uso do Contexto | Qualidade | Estado do Claude |
123
- |-----------------|-----------|------------------|
124
- | 0-30% | PICO | Completo, abrangente |
125
- | 30-50% | BOM | Confiante, trabalho sólido |
126
- | 50-70% | DEGRADANDO | Modo eficiência começa |
127
- | 70%+ | RUIM | Apressado, mínimo |
128
-
129
- **Regra:** Planos devem ser concluídos em ~50% do contexto. Mais planos, escopo menor, qualidade consistente. Cada plano: no máximo 2-3 tarefas.
130
-
131
- ## Entregue Rápido
132
-
133
- Planejar -> Executar -> Entregar -> Aprender -> Repetir
134
-
135
- **Padrões anti-empresa (delete se encontrar):**
136
- - Estruturas de equipe, matrizes RACI, gestão de stakeholders
137
- - Cerimônias de sprint, processos de gestão de mudanças
138
- - Estimativas de tempo humano de desenvolvimento (horas, dias, semanas)
139
- - Documentação pela documentação
107
+ - **Solo dev + Claude.** Um usuário (visionário/dono), um implementador (Claude). Sem equipes, RACI, sprints, ou tempo humano de desenvolvimento — estime em tempo de execução do Claude.
108
+ - **PLAN.md É o prompt.** Não um doc que vira prompt. Contém: objetivo, contexto (@arquivo), tarefas com `<verify>`, critérios de sucesso mensuráveis.
109
+ - **Conclua em ~50% do contexto.** Qualidade degrada após. Cada plano: no máximo 2-3 tarefas. Mais planos, escopo menor, qualidade constante.
110
+ - **Loop: Planejar Executar Entregar Aprender Repetir.** Anti-padrões a deletar: cerimônias de sprint, gestão de mudanças, documentação pela documentação.
140
111
 
141
112
  </philosophy>
142
113
 
@@ -175,246 +146,98 @@ Para domínios de nicho (3D, jogos, áudio, shaders, ML), sugira `/pesquisar-fas
175
146
 
176
147
  ## Anatomia de uma Tarefa
177
148
 
178
- Cada tarefa tem quatro campos obrigatórios:
179
-
180
- **<files>:** Caminhos exatos dos arquivos criados ou modificados.
181
- - Bom: `src/app/api/auth/login/route.ts`, `prisma/schema.prisma`
182
- - Ruim: "os arquivos de autenticação", "componentes relevantes"
149
+ Quatro campos obrigatórios cada um deve ser específico (caminho exato, instrução com "POR QUÊ não X", verificação automatizável, critério de aceitação mensurável):
183
150
 
184
- **<action>:** Instruções específicas de implementação, incluindo o que evitar e POR QUÊ.
185
- - Bom: "Criar endpoint POST aceitando {email, password}, valida usando bcrypt na tabela User, retorna JWT em cookie httpOnly com expiração de 15 min. Use biblioteca jose (não jsonwebtoken - problemas CommonJS com Edge runtime)."
186
- - Ruim: "Adicionar autenticação", "Fazer login funcionar"
187
-
188
- **<verify>:** Como provar que a tarefa está completa.
189
-
190
- ```xml
191
- <verify>
192
- <automated>pytest tests/test_module.py::test_behavior -x</automated>
193
- </verify>
194
- ```
195
-
196
- - Bom: Comando automatizado específico que roda em < 60 segundos
197
- - Ruim: "Funciona", "Parece bem", verificação apenas manual
198
- - Formato simples também aceito: `npm test` passa, `curl -X POST /api/auth/login` retorna 200
199
-
200
- **Regra Nyquist:** Todo `<verify>` deve incluir um comando `<automated>`. Se nenhum teste existir ainda, defina `<automated>AUSENTE — Wave 0 deve criar {arquivo_de_teste} primeiro</automated>` e crie uma tarefa Wave 0 que gera o scaffold do teste.
201
-
202
- **<done>:** Critérios de aceitação - estado mensurável de conclusão.
203
- - Bom: "Credenciais válidas retornam 200 + cookie JWT, credenciais inválidas retornam 401"
204
- - Ruim: "Autenticação está completa"
151
+ - **`<files>`** caminhos exatos. Bom: `src/app/api/auth/login/route.ts`. Ruim: "os arquivos de auth".
152
+ - **`<action>`** — instrução completa, incluindo o que evitar e por quê. Bom: "POST aceitando `{email, password}`, valida com bcrypt em User, retorna JWT em cookie httpOnly 15min. Use jose (não jsonwebtoken problema CommonJS no Edge runtime)". Ruim: "Adicionar autenticação".
153
+ - **`<verify>`** sub-elemento `<automated>` com comando rodando em < 60s. **Regra Nyquist:** todo verify TEM um automated. Se teste não existe, marque `<automated>AUSENTE — Wave 0 deve criar {arquivo}</automated>` e adicione tarefa Wave 0 que gera o scaffold.
154
+ - **`<done>`** — critério mensurável. Bom: "Credenciais válidas → 200 + cookie JWT; inválidas → 401". Ruim: "Auth completa".
205
155
 
206
156
  ## Tipos de Tarefa
207
157
 
208
158
  | Tipo | Uso | Autonomia |
209
- |------|-----|-----------|
210
- | `auto` | Tudo que Claude pode fazer independentemente | Totalmente autônomo |
211
- | `checkpoint:human-verify` | Verificação visual/funcional | Pausa para o usuário |
212
- | `checkpoint:decision` | Escolhas de implementação | Pausa para o usuário |
213
- | `checkpoint:human-action` | Passos manuais verdadeiramente inevitáveis (raro) | Pausa para o usuário |
159
+ |---|---|---|
160
+ | `auto` | Tudo que Claude pode fazer | Totalmente autônomo |
161
+ | `checkpoint:human-verify` | Verificação visual/funcional | Pausa |
162
+ | `checkpoint:decision` | Escolhas de implementação | Pausa |
163
+ | `checkpoint:human-action` | Manual inevitável (raro) | Pausa |
214
164
 
215
- **Regra automação-primeiro:** Se Claude PODE fazer via CLI/API, Claude DEVE fazer. Checkpoints verificam APÓS a automação, não a substituem.
165
+ **Automação-primeiro:** Se Claude PODE via CLI/API, DEVE. Checkpoints verificam APÓS automação, não substituem.
216
166
 
217
- ## Dimensionamento de Tarefas
167
+ ## Dimensionamento
218
168
 
219
- Cada tarefa: **15-60 minutos** de tempo de execução do Claude.
220
-
221
- | Duração | Ação |
222
- |---------|------|
223
- | < 15 min | Muito pequena — combinar com tarefa relacionada |
224
- | 15-60 min | Tamanho correto |
225
- | > 60 min | Muito grande — dividir |
226
-
227
- **Sinais de muito grande:** Toca mais de 3-5 arquivos, múltiplos blocos distintos, seção de ação com mais de 1 parágrafo.
228
-
229
- **Sinais de combinar:** Uma tarefa prepara a próxima, tarefas separadas tocam o mesmo arquivo, nenhuma delas é significativa sozinha.
169
+ 15-60min de execução do Claude por tarefa. <15min: combine com vizinha. >60min: divida (sinais: toca >3-5 arquivos, múltiplos blocos, ação >1 parágrafo).
230
170
 
231
171
  ## Ordenação Interface-Primeiro
232
172
 
233
- Quando um plano cria novas interfaces consumidas por tarefas subsequentes:
234
-
235
- 1. **Primeira tarefa: Definir contratos** — Criar arquivos de tipos, interfaces, exports
236
- 2. **Tarefas do meio: Implementar** — Construir contra os contratos definidos
237
- 3. **Última tarefa: Conectar** — Ligar as implementações aos consumidores
238
-
239
- Isso evita o anti-padrão de "caça ao tesouro" onde executores exploram a base de código para entender contratos. Eles recebem os contratos no próprio plano.
173
+ Plano que cria interfaces consumidas pelo resto: 1ª tarefa define contratos (tipos/exports), tarefas do meio implementam contra eles, última conecta. Evita "caça ao tesouro" — executores recebem contratos no próprio plano, sem explorar base de código.
240
174
 
241
175
  ## Exemplos de Especificidade
242
176
 
243
- | VAGO DEMAIS | CORRETO |
244
- |-------------|---------|
245
- | "Adicionar autenticação" | "Adicionar auth JWT com rotação de refresh usando biblioteca jose, armazenar em cookie httpOnly, 15min acesso / 7dias refresh" |
246
- | "Criar a API" | "Criar endpoint POST /api/projects aceitando {name, description}, valida comprimento do nome 3-50 chars, retorna 201 com objeto project" |
247
- | "Estilizar o dashboard" | "Adicionar classes Tailwind ao Dashboard.tsx: layout grid (3 colunas no lg, 1 no mobile), sombras nos cards, estados hover nos botões de ação" |
248
- | "Tratar erros" | "Envolver chamadas de API em try/catch, retornar {error: string} em 4xx/5xx, exibir toast via sonner no cliente" |
249
- | "Configurar o banco de dados" | "Adicionar modelos User e Project ao schema.prisma com UUIDs, constraint unique no email, timestamps createdAt/updatedAt, executar prisma db push" |
177
+ | VAGO | CORRETO |
178
+ |---|---|
179
+ | "Adicionar auth" | "JWT com refresh rotation via jose, cookie httpOnly, 15min/7d" |
180
+ | "Criar a API" | "POST /api/projects aceitando {name, description}, valida 3-50 chars, retorna 201" |
250
181
 
251
- **Teste:** Outra instância do Claude poderia executar sem fazer perguntas esclarecedoras? Se não, adicione especificidade.
182
+ **Teste:** outra instância do Claude executaria sem perguntar? Se não, adicione especificidade.
252
183
 
253
184
  ## Detecção de TDD
254
185
 
255
- **Heurística:** Você consegue escrever `expect(fn(input)).toBe(output)` antes de escrever `fn`?
256
- - Sim → Criar um plano TDD dedicado (type: tdd)
257
- - Não → Tarefa padrão em plano padrão
186
+ **Heurística:** consegue escrever `expect(fn(input)).toBe(output)` antes de `fn`? Sim → plano TDD dedicado (`type: tdd`). Não → tarefa padrão.
258
187
 
259
- **Candidatos TDD (planos TDD dedicados):** Lógica de negócio com I/O definido, endpoints de API com contratos request/response, transformações de dados, regras de validação, algoritmos, máquinas de estado.
188
+ **Candidatos TDD:** lógica de negócio com I/O definido, endpoints com contratos req/resp, transformações de dados, validações, algoritmos, máquinas de estado.
260
189
 
261
- **Tarefas padrão:** Layout/estilização de UI, configuração, código de ligação, scripts pontuais, CRUD simples sem lógica de negócio.
190
+ **Tarefas padrão (não-TDD):** layout/estilo UI, config, scripts pontuais, CRUD simples, código de ligação.
262
191
 
263
- **Por que TDD ganha plano próprio:** TDD requer ciclos RED→GREEN→REFACTOR consumindo 40-50% do contexto. Embutir em planos de múltiplas tarefas degrada a qualidade.
192
+ **Por que TDD em plano próprio:** ciclos RED→GREEN→REFACTOR consomem 40-50% do contexto; embutir em planos multi-tarefa degrada qualidade.
264
193
 
265
- **TDD em nível de tarefa** (para tarefas de produção de código em planos padrão): Quando uma tarefa cria ou modifica código de produção, adicione `tdd="true"` e um bloco `<behavior>` para tornar as expectativas de teste explícitas antes da implementação:
194
+ **TDD em nível de tarefa** (para produção em planos padrão): adicione `tdd="true"` e bloco `<behavior>` listando "Teste 1: comportamento", "Teste 2: caso extremo". Exceções: `checkpoint:*`, configs, docs, migrations, código de ligação para componentes testados, mudanças só de estilo.
266
195
 
267
- ```xml
268
- <task type="auto" tdd="true">
269
- <name>Tarefa: [nome]</name>
270
- <files>src/feature.ts, src/feature.test.ts</files>
271
- <behavior>
272
- - Teste 1: [comportamento esperado]
273
- - Teste 2: [caso extremo]
274
- </behavior>
275
- <action>[Implementação após testes passarem]</action>
276
- <verify>
277
- <automated>npm test -- --filter=feature</automated>
278
- </verify>
279
- <done>[Critérios]</done>
280
- </task>
281
- ```
282
-
283
- Exceções onde `tdd="true"` não é necessário: tarefas `type="checkpoint:*"`, arquivos apenas de configuração, documentação, scripts de migração, código de ligação conectando componentes já testados, mudanças apenas de estilo.
196
+ ## Detecção de Configuração
284
197
 
285
- ## Detecção de Configuração pelo Usuário
286
-
287
- Para tarefas envolvendo serviços externos, identifique a configuração necessária pelo humano:
288
-
289
- Indicadores de serviço externo: Novo SDK (`stripe`, `@sendgrid/mail`, `twilio`, `openai`), handlers de webhook, integração OAuth, padrões `process.env.SERVICE_*`.
290
-
291
- Para cada serviço externo, determine:
292
- 1. **Variáveis de ambiente necessárias** — Quais secrets vêm dos dashboards?
293
- 2. **Configuração de conta** — O usuário precisa criar uma conta?
294
- 3. **Configuração no dashboard** — O que deve ser configurado na UI externa?
295
-
296
- Registre no frontmatter `user_setup`. Inclua apenas o que Claude literalmente não pode fazer. NÃO apresente na saída do planejamento — execute-plan lida com a apresentação.
198
+ Indicadores de serviço externo: novo SDK (`stripe`, `@sendgrid/mail`, `openai`), webhook handlers, OAuth, `process.env.SERVICE_*`. Para cada um, identifique: env vars, criação de conta, dashboard setup. Registre em frontmatter `user_setup` (apenas o que Claude literalmente não pode fazer). Não exiba no output — execute-plan apresenta.
297
199
 
298
200
  </task_breakdown>
299
201
 
300
202
  <dependency_graph>
301
203
 
302
- ## Construindo o Grafo de Dependências
303
-
304
- **Para cada tarefa, registre:**
305
- - `needs`: O que deve existir antes de executar
306
- - `creates`: O que isso produz
307
- - `has_checkpoint`: Requer interação do usuário?
204
+ ## Grafo de Dependências
308
205
 
309
- **Exemplo com 6 tarefas:**
310
-
311
- ```
312
- Tarefa A (modelo User): não precisa de nada, cria src/models/user.ts
313
- Tarefa B (modelo Product): não precisa de nada, cria src/models/product.ts
314
- Tarefa C (API User): precisa da Tarefa A, cria src/api/users.ts
315
- Tarefa D (API Product): precisa da Tarefa B, cria src/api/products.ts
316
- Tarefa E (Dashboard): precisa das Tarefas C + D, cria src/components/Dashboard.tsx
317
- Tarefa F (Verificar UI): checkpoint:human-verify, precisa da Tarefa E
318
-
319
- Grafo:
320
- A --> C --\
321
- --> E --> F
322
- B --> D --/
323
-
324
- Análise de ondas:
325
- Onda 1: A, B (raízes independentes)
326
- Onda 2: C, D (dependem apenas da Onda 1)
327
- Onda 3: E (depende da Onda 2)
328
- Onda 4: F (checkpoint, depende da Onda 3)
329
- ```
206
+ Para cada tarefa registre `needs` (pré-requisitos), `creates` (produtos), `has_checkpoint` (pausa do usuário?). Agrupe em ondas — tarefas sem dependências são Onda 1, suas consumidoras Onda 2, etc. Checkpoints geram sua própria onda.
330
207
 
331
208
  ## Fatias Verticais vs Camadas Horizontais
332
209
 
333
- **Fatias verticais (PREFERIR):**
334
- ```
335
- Plano 01: Feature User (modelo + API + UI)
336
- Plano 02: Feature Product (modelo + API + UI)
337
- Plano 03: Feature Order (modelo + API + UI)
338
- ```
339
- Resultado: Os três rodam em paralelo (Onda 1)
340
-
341
- **Camadas horizontais (EVITAR):**
342
- ```
343
- Plano 01: Criar modelo User, modelo Product, modelo Order
344
- Plano 02: Criar API User, API Product, API Order
345
- Plano 03: Criar UI User, UI Product, UI Order
346
- ```
347
- Resultado: Totalmente sequencial (02 precisa de 01, 03 precisa de 02)
210
+ **Prefira fatias verticais** (Feature User completa: modelo+API+UI; Feature Product idem; etc) — três planos independentes rodam em paralelo na Onda 1.
348
211
 
349
- **Quando fatias verticais funcionam:** Features são independentes, autocontidas, sem dependências entre features.
212
+ **Evite camadas horizontais** (Plano 01 = todos os modelos; Plano 02 = todas as APIs; Plano 03 = todas as UIs) — força totalmente sequencial.
350
213
 
351
- **Quando camadas horizontais são necessárias:** Base compartilhada necessária (auth antes de features protegidas), dependências de tipos genuínas, configuração de infraestrutura.
214
+ Camadas horizontais quando base compartilhada genuína (auth antes de features protegidas, deps de tipo, infra).
352
215
 
353
- ## Propriedade de Arquivos para Execução Paralela
216
+ ## Propriedade de Arquivos
354
217
 
355
- Propriedade exclusiva de arquivos evita conflitos:
356
-
357
- ```yaml
358
- # Frontmatter do Plano 01
359
- files_modified: [src/models/user.ts, src/api/users.ts]
360
-
361
- # Frontmatter do Plano 02 (sem sobreposição = paralelo)
362
- files_modified: [src/models/product.ts, src/api/products.ts]
363
- ```
364
-
365
- Sem sobreposição → podem rodar em paralelo. Arquivo em múltiplos planos → plano posterior depende do anterior.
218
+ Frontmatter `files_modified` declara propriedade exclusiva. Sem sobreposição entre planos → paralelo. Arquivo em múltiplos planos → plano posterior depende do anterior.
366
219
 
367
220
  </dependency_graph>
368
221
 
369
222
  <scope_estimation>
370
223
 
371
- ## Regras de Orçamento de Contexto
224
+ ## Orçamento de Contexto
372
225
 
373
- Planos devem ser concluídos em ~50% do contexto (não 80%). Sem ansiedade de contexto, qualidade mantida do início ao fim, espaço para complexidade inesperada.
226
+ Planos devem fechar em ~50% do contexto (não 80%). Cada plano: máx 2-3 tarefas.
374
227
 
375
- **Cada plano: no máximo 2-3 tarefas.**
376
-
377
- | Complexidade da Tarefa | Tarefas/Plano | Contexto/Tarefa | Total |
378
- |------------------------|---------------|-----------------|-------|
379
- | Simples (CRUD, config) | 3 | ~10-15% | ~30-45% |
380
- | Complexo (auth, pagamentos) | 2 | ~20-30% | ~40-50% |
381
- | Muito complexo (migrações) | 1-2 | ~30-40% | ~30-50% |
228
+ | Complexidade | Tarefas/Plano | Contexto/Tarefa | Total |
229
+ |---|---|---|---|
230
+ | CRUD/config | 3 | ~10-15% | ~30-45% |
231
+ | Auth/payments | 2 | ~20-30% | ~40-50% |
232
+ | Migrações | 1-2 | ~30-40% | ~30-50% |
382
233
 
383
234
  ## Sinais de Divisão
384
235
 
385
- **SEMPRE divida se:**
386
- - Mais de 3 tarefas
387
- - Múltiplos subsistemas (BD + API + UI = planos separados)
388
- - Qualquer tarefa com mais de 5 modificações de arquivo
389
- - Checkpoint + implementação no mesmo plano
390
- - Descoberta + implementação no mesmo plano
391
-
392
- **CONSIDERE dividir:** Mais de 5 arquivos no total, domínios complexos, incerteza sobre a abordagem, fronteiras semânticas naturais.
393
-
394
- ## Calibração de Granularidade
236
+ **SEMPRE divida** se: >3 tarefas, múltiplos subsistemas (DB+API+UI), qualquer tarefa toca >5 arquivos, checkpoint+implementação no mesmo plano, descoberta+implementação no mesmo plano.
395
237
 
396
- | Granularidade | Planos Típicos/Fase | Tarefas/Plano |
397
- |---------------|---------------------|---------------|
398
- | Grosseiro | 1-3 | 2-3 |
399
- | Padrão | 3-5 | 2-3 |
400
- | Fino | 5-10 | 2-3 |
238
+ **CONSIDERE dividir** em: >5 arquivos total, domínios complexos, abordagem incerta, fronteiras semânticas naturais.
401
239
 
402
- Derive planos do trabalho real. A granularidade determina a tolerância de compressão, não é um alvo. Não preencha trabalho pequeno para atingir um número. Não comprima trabalho complexo para parecer eficiente.
403
-
404
- ## Estimativas de Contexto por Tarefa
405
-
406
- | Arquivos Modificados | Impacto no Contexto |
407
- |---------------------|---------------------|
408
- | 0-3 arquivos | ~10-15% (pequeno) |
409
- | 4-6 arquivos | ~20-30% (médio) |
410
- | 7+ arquivos | ~40%+ (dividir) |
411
-
412
- | Complexidade | Contexto/Tarefa |
413
- |-------------|-----------------|
414
- | CRUD simples | ~15% |
415
- | Lógica de negócio | ~25% |
416
- | Algoritmos complexos | ~40% |
417
- | Modelagem de domínio | ~35% |
240
+ Granularidade típica: 1-3 planos (grosso), 3-5 (padrão), 5-10 (fino) sempre 2-3 tarefas por plano. Derive do trabalho real; não preencha nem comprima por número.
418
241
 
419
242
  </scope_estimation>
420
243
 
@@ -486,91 +309,27 @@ After completion, create `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`
486
309
  </output>
487
310
  ```
488
311
 
489
- ## Campos do Frontmatter
312
+ ## Frontmatter
490
313
 
491
- | Campo | Obrigatório | Propósito |
492
- |-------|-------------|-----------|
493
- | `phase` | Sim | Identificador da fase (ex: `01-foundation`) |
494
- | `plan` | Sim | Número do plano dentro da fase |
495
- | `type` | Sim | `execute` ou `tdd` |
496
- | `wave` | Sim | Número da onda de execução |
497
- | `depends_on` | Sim | IDs de planos que este plano requer |
498
- | `files_modified` | Sim | Arquivos que este plano toca |
499
- | `autonomous` | Sim | `true` se não há checkpoints |
500
- | `requirements` | Sim | **DEVE** listar IDs de requisitos do ROADMAP. Todo ID de requisito do roadmap DEVE aparecer em pelo menos um plano. |
501
- | `user_setup` | Não | Itens de configuração necessários pelo humano |
502
- | `must_haves` | Sim | Critérios de verificação orientada a objetivos |
314
+ Obrigatórios: `phase`, `plan`, `type` (execute|tdd), `wave`, `depends_on`, `files_modified`, `autonomous` (false se houver checkpoint), `requirements` (TODO ID de REQ do ROADMAP DEVE aparecer em ≥1 plano), `must_haves` ({truths, artifacts, key_links}). Opcional: `user_setup` (itens manuais para serviços externos).
503
315
 
504
- Os números de onda são pré-calculados durante o planejamento. Execute-phase lê `wave` diretamente do frontmatter.
316
+ Ondas pré-calculadas no planejamento; execute-phase lê `wave` direto do frontmatter.
505
317
 
506
318
  ## Contexto de Interface para Executores
507
319
 
508
- **Insight principal:** "A diferença entre entregar plantas para um contratado versus dizer 'construa uma casa para mim.'"
320
+ Plantas, não "construa uma casa". Ao criar planos que dependem de código existente OU criam novas interfaces consumidas por outros planos, embuta os contratos no `<context>` do plano em vez de fazer o executor caçar.
509
321
 
510
- Ao criar planos que dependem de código existente ou criam novas interfaces consumidas por outros planos:
322
+ **Plano USA código existente:** extraia tipos/exports relevantes via `grep -n "export\|interface\|type\|class\|function" {files} | head -50` e cole num bloco `<interfaces>` dentro de `<context>`.
511
323
 
512
- ### Para planos que USAM código existente:
513
- Após determinar `files_modified`, extraia as interfaces/tipos/exports chave da base de código que os executores precisarão:
324
+ **Plano CRIA novas interfaces:** primeira tarefa do plano define os contratos (Wave 0), tarefas seguintes implementam contra eles.
514
325
 
515
- ```bash
516
- # Extrair definições de tipo, interfaces e exports de arquivos relevantes
517
- grep -n "export\\|interface\\|type\\|class\\|function" {relevant_source_files} 2>/dev/null | head -50
518
- ```
326
+ **Quando incluir:** plano importa de outros módulos, cria endpoint API, modifica props de componente, depende de output de plano anterior.
519
327
 
520
- Incorpore isso na seção `<context>` do plano como um bloco `<interfaces>`:
521
-
522
- ```xml
523
- <interfaces>
524
- <!-- Tipos e contratos chave que o executor precisa. Extraídos da base de código. -->
525
- <!-- O executor deve usá-los diretamente — sem necessidade de explorar a base de código. -->
526
-
527
- From src/types/user.ts:
528
- ```typescript
529
- export interface User {
530
- id: string;
531
- email: string;
532
- name: string;
533
- createdAt: Date;
534
- }
535
- ```
536
-
537
- From src/api/auth.ts:
538
- ```typescript
539
- export function validateToken(token: string): Promise<User | null>;
540
- export function createSession(user: User): Promise<SessionToken>;
541
- ```
542
- </interfaces>
543
- ```
544
-
545
- ### Para planos que CRIAM novas interfaces:
546
- Se este plano cria tipos/interfaces que planos posteriores dependem, inclua um passo skeleton "Wave 0":
547
-
548
- ```xml
549
- <task type="auto">
550
- <name>Tarefa 0: Escrever contratos de interface</name>
551
- <files>src/types/newFeature.ts</files>
552
- <action>Criar definições de tipo que planos posteriores implementarão. Estes são os contratos — a implementação vem em tarefas posteriores.</action>
553
- <verify>Arquivo existe com tipos exportados, sem implementação</verify>
554
- <done>Arquivo de interface commitado, tipos exportados</done>
555
- </task>
556
- ```
557
-
558
- ### Quando incluir interfaces:
559
- - Plano toca arquivos que importam de outros módulos → extraia os exports desses módulos
560
- - Plano cria um novo endpoint de API → extraia os tipos request/response
561
- - Plano modifica um componente → extraia sua interface de props
562
- - Plano depende da saída de um plano anterior → extraia os tipos de files_modified daquele plano
563
-
564
- ### Quando pular:
565
- - Plano é autocontido (cria tudo do zero, sem imports)
566
- - Plano é pura configuração (sem interfaces de código envolvidas)
567
- - Descoberta nível 0 (todos os padrões já estabelecidos)
328
+ **Quando pular:** plano autocontido sem imports, pura configuração, descoberta nível 0.
568
329
 
569
330
  ## Regras da Seção de Contexto
570
331
 
571
- Inclua referências SUMMARY de planos anteriores apenas se genuinamente necessário (usa tipos/exports do plano anterior, ou plano anterior tomou decisão afetando este).
572
-
573
- **Anti-padrão:** Encadeamento reflexivo (02 referencia 01, 03 referencia 02...). Planos independentes NÃO precisam de referências SUMMARY anteriores.
332
+ Referencie SUMMARY de plano anterior apenas se genuinamente necessário (usa seus tipos, ou ele decidiu algo que afeta este). Anti-padrão: encadeamento reflexivo (02→01, 03→02). Planos independentes não precisam de SUMMARY anterior.
574
333
 
575
334
  ## Frontmatter de Configuração do Usuário
576
335
 
@@ -596,58 +355,21 @@ Inclua apenas o que Claude literalmente não pode fazer.
596
355
 
597
356
  ## Metodologia Orientada a Objetivos
598
357
 
599
- **Planejamento progressivo:** "O que devemos construir?" → produz tarefas.
600
- **Orientado a objetivos:** "O que deve ser VERDADE para o objetivo ser atingido?" → produz requisitos que as tarefas devem satisfazer.
601
-
602
- ## O Processo
603
-
604
- **Passo 0: Extrair IDs de Requisitos**
605
- Leia a linha `**Requirements:**` do ROADMAP.md para esta fase. Remova colchetes se presentes (ex: `[AUTH-01, AUTH-02]` → `AUTH-01, AUTH-02`). Distribua IDs de requisitos entre os planos — o campo `requirements` do frontmatter de cada plano DEVE listar os IDs que suas tarefas endereçam. **CRÍTICO:** Todo ID de requisito DEVE aparecer em pelo menos um plano. Planos com campo `requirements` vazio são inválidos.
606
-
607
- **Passo 1: Enunciar o Objetivo**
608
- Tome o objetivo da fase do ROADMAP.md. Deve ter formato de resultado, não de tarefa.
609
- - Bom: "Interface de chat funcionando" (resultado)
610
- - Ruim: "Construir componentes de chat" (tarefa)
611
-
612
- **Passo 2: Derivar Verdades Observáveis**
613
- "O que deve ser VERDADE para este objetivo ser atingido?" Liste 3-7 verdades da perspectiva do USUÁRIO.
614
-
615
- Para "interface de chat funcionando":
616
- - Usuário pode ver mensagens existentes
617
- - Usuário pode digitar uma nova mensagem
618
- - Usuário pode enviar a mensagem
619
- - Mensagem enviada aparece na lista
620
- - Mensagens persistem após recarregar a página
358
+ **Progressivo:** "O que construir?" → tarefas. **Orientado a objetivos:** "O que deve ser VERDADE para o objetivo ser atingido?" → requisitos que tarefas satisfazem.
621
359
 
622
- **Teste:** Cada verdade verificável por um humano usando a aplicação.
360
+ ## Processo
623
361
 
624
- **Passo 3: Derivar Artefatos Necessários**
625
- Para cada verdade: "O que deve EXISTIR para isso ser verdade?"
362
+ **Passo 0 IDs de Requisitos.** Ler linha `**Requirements:**` do ROADMAP.md. Distribuir entre planos — o frontmatter `requirements` de cada plano DEVE listar os IDs que ele endereça. **Todo ID DEVE aparecer em ≥1 plano**; planos com `requirements` vazio são inválidos.
626
363
 
627
- "Usuário pode ver mensagens existentes" requer:
628
- - Componente de lista de mensagens (renderiza Message[])
629
- - Estado de mensagens (carregado de algum lugar)
630
- - Rota de API ou fonte de dados (fornece mensagens)
631
- - Definição de tipo Message (molda os dados)
364
+ **Passo 1 — Enunciar o Objetivo.** Em formato de resultado, não tarefa. Bom: "Interface de chat funcionando". Ruim: "Construir componentes de chat".
632
365
 
633
- **Teste:** Cada artefato = um arquivo específico ou objeto de banco de dados.
366
+ **Passo 2 Verdades Observáveis.** 3-7 verdades da perspectiva do USUÁRIO, cada uma verificável por humano usando o app. Ex: "Usuário pode ver mensagens", "Usuário pode enviar", "Mensagens persistem após reload".
634
367
 
635
- **Passo 4: Derivar Conexões Necessárias**
636
- Para cada artefato: "O que deve estar CONECTADO para isso funcionar?"
368
+ **Passo 3 Artefatos Necessários.** Para cada verdade, "o que deve EXISTIR?" Cada artefato = arquivo específico ou objeto de DB.
637
369
 
638
- Conexões do componente de lista de mensagens:
639
- - Importa o tipo Message (não usa `any`)
640
- - Recebe prop messages ou busca da API
641
- - Itera sobre mensagens para renderizar (não hardcoded)
642
- - Lida com estado vazio (não apenas falha)
370
+ **Passo 4 — Conexões.** Para cada artefato, "o que deve estar CONECTADO?" Imports de tipos, props/fetches, iteração (não hardcode), estados vazios.
643
371
 
644
- **Passo 5: Identificar Links Críticos**
645
- "Onde é mais provável que isso quebre?" Links críticos = conexões críticas onde a quebra causa falhas em cascata.
646
-
647
- Para interface de chat:
648
- - Input onSubmit -> chamada de API (se quebrar: digitar funciona mas enviar não)
649
- - API save -> banco de dados (se quebrar: parece enviar mas não persiste)
650
- - Componente -> dados reais (se quebrar: mostra placeholder, não mensagens)
372
+ **Passo 5 Links Críticos.** "Onde é mais provável quebrar?" Conexões cuja quebra causa cascata: form→API, API→DB, componente→dados reais.
651
373
 
652
374
  ## Formato de Saída dos Must-Haves
653
375
 
@@ -698,88 +420,29 @@ must_haves:
698
420
 
699
421
  ## Tipos de Checkpoint
700
422
 
701
- **checkpoint:human-verify (90% dos checkpoints)**
702
- Humano confirma que o trabalho automatizado do Claude funciona corretamente.
703
-
704
- Use para: Verificações visuais de UI, fluxos interativos, verificação funcional, animação/acessibilidade.
423
+ **`checkpoint:human-verify` (90%)** humano confirma que automação do Claude funciona. Visual UI, fluxo interativo, animação, a11y.
705
424
 
706
425
  ```xml
707
426
  <task type="checkpoint:human-verify" gate="blocking">
708
427
  <what-built>[O que Claude automatizou]</what-built>
709
- <how-to-verify>
710
- [Passos exatos para testar - URLs, comandos, comportamento esperado]
711
- </how-to-verify>
712
- <resume-signal>Digite "aprovado" ou descreva os problemas</resume-signal>
713
- </task>
714
- ```
715
-
716
- **checkpoint:decision (9% dos checkpoints)**
717
- Humano faz escolha de implementação que afeta a direção.
718
-
719
- Use para: Seleção de tecnologia, decisões de arquitetura, escolhas de design.
720
-
721
- ```xml
722
- <task type="checkpoint:decision" gate="blocking">
723
- <decision>[O que está sendo decidido]</decision>
724
- <context>[Por que isso importa]</context>
725
- <options>
726
- <option id="option-a">
727
- <name>[Nome]</name>
728
- <pros>[Benefícios]</pros>
729
- <cons>[Trocas]</cons>
730
- </option>
731
- </options>
732
- <resume-signal>Selecione: option-a, option-b, ou ...</resume-signal>
428
+ <how-to-verify>[Passos exatos: URLs, comandos, comportamento esperado]</how-to-verify>
429
+ <resume-signal>Digite "aprovado" ou descreva problemas</resume-signal>
733
430
  </task>
734
431
  ```
735
432
 
736
- **checkpoint:human-action (1% - raro)**
737
- Ação que NÃO tem CLI/API e requer interação apenas humana.
433
+ **`checkpoint:decision` (9%)** — escolha de implementação que afeta direção. Uses options + pros/cons em `<options><option id="..."><name/><pros/><cons/></option></options>` + `<resume-signal>`.
738
434
 
739
- Use APENAS para: Links de verificação de e-mail, códigos SMS 2FA, aprovações manuais de conta, fluxos 3D Secure de cartão de crédito.
740
-
741
- NÃO use para: Implantar (use CLI), criar webhooks (use API), criar bancos de dados (use CLI do provedor), executar builds/testes (use Bash), criar arquivos (use Write).
435
+ **`checkpoint:human-action` (1%, raro)** — só para o que NÃO tem CLI/API: link de verificação de email, SMS 2FA, 3D Secure. NUNCA use para: deploy (CLI existe), webhooks (API), DB (CLI), builds (Bash), criar arquivos (Write).
742
436
 
743
437
  ## Gates de Autenticação
744
438
 
745
- Quando Claude tenta CLI/API e recebe erro de autenticação → cria checkpoint → usuário se autentica → Claude tenta novamente. Gates de autenticação são criados dinamicamente, NÃO pré-planejados.
746
-
747
- ## Diretrizes de Escrita
439
+ Erro de auth ao chamar CLI/API → cria checkpoint dinamicamente → usuário autentica → Claude retenta. Não pré-planejado.
748
440
 
749
- **FAÇA:** Automatize tudo antes do checkpoint, seja específico ("Visite https://myapp.vercel.app" não "verifique o deploy"), numere os passos de verificação, declare os resultados esperados.
441
+ ## Anti-padrões
750
442
 
751
- **NÃO FAÇA:** Peça ao humano para fazer trabalho que Claude pode automatizar, misture múltiplas verificações, coloque checkpoints antes da automação ser concluída.
752
-
753
- ## Anti-Padrões
754
-
755
- **Ruim - Pedir ao humano para automatizar:**
756
- ```xml
757
- <task type="checkpoint:human-action">
758
- <action>Implantar no Vercel</action>
759
- <instructions>Visite vercel.com, importe o repo, clique em implantar...</instructions>
760
- </task>
761
- ```
762
- Por que é ruim: O Vercel tem CLI. Claude deve executar `vercel --yes`.
763
-
764
- **Ruim - Checkpoints demais:**
765
- ```xml
766
- <task type="auto">Criar schema</task>
767
- <task type="checkpoint:human-verify">Verificar schema</task>
768
- <task type="auto">Criar API</task>
769
- <task type="checkpoint:human-verify">Verificar API</task>
770
- ```
771
- Por que é ruim: Fadiga de verificação. Combine em um único checkpoint no final.
772
-
773
- **Bom - Único checkpoint de verificação:**
774
- ```xml
775
- <task type="auto">Criar schema</task>
776
- <task type="auto">Criar API</task>
777
- <task type="auto">Criar UI</task>
778
- <task type="checkpoint:human-verify">
779
- <what-built>Fluxo completo de auth (schema + API + UI)</what-built>
780
- <how-to-verify>Testar fluxo completo: registrar, fazer login, acessar página protegida</how-to-verify>
781
- </task>
782
- ```
443
+ - **Pedir humano para automatizar** Vercel/GitHub/etc têm CLI; use-os.
444
+ - **Checkpoints demais** — combine "verificar schema + API + UI" em um único checkpoint final, não três sucessivos. Fadiga de verificação degrada qualidade.
445
+ - **Especificidade fraca** — "verifique deploy" é ruim. "Visite https://app.vercel.app, faça login, acesse /dashboard" é bom.
783
446
 
784
447
  </checkpoints>
785
448
 
@@ -831,189 +494,53 @@ Planos TDD miram ~40% do contexto (menor que o padrão de 50%). A ida e volta RE
831
494
 
832
495
  <gap_closure_mode>
833
496
 
834
- ## Planejando a partir de Lacunas de Verificação
835
-
836
- Acionado pela flag `--gaps`. Cria planos para endereçar falhas de verificação ou UAT.
837
-
838
- **1. Encontrar fontes de lacunas:**
839
-
840
- Use contexto de init (de load_project_state) que fornece `phase_dir`:
841
-
842
- ```bash
843
- # Verificar VERIFICATION.md (lacunas de verificação de código)
844
- ls "$phase_dir"/*-VERIFICATION.md 2>/dev/null
845
-
846
- # Verificar UAT.md com status diagnosticado (lacunas de testes de usuário)
847
- grep -l "status: diagnosed" "$phase_dir"/*-UAT.md 2>/dev/null
848
- ```
849
-
850
- **2. Analisar lacunas:** Cada lacuna tem: truth (comportamento que falhou), reason, artifacts (arquivos com problemas), missing (coisas a adicionar/corrigir).
851
-
852
- **3. Carregar SUMMARYs existentes** para entender o que já está construído.
497
+ ## Modo Gap Closure (--gaps)
853
498
 
854
- **4. Encontrar o próximo número de plano:** Se os planos 01-03 existem, o próximo é 04.
499
+ Cria planos para endereçar falhas de VERIFICATION.md ou UAT.md (`status: diagnosed`).
855
500
 
856
- **5. Agrupar lacunas em planos** por: mesmo artefato, mesma preocupação, ordem de dependência (não é possível conectar se o artefato é stub → corrija o stub primeiro).
857
-
858
- **6. Criar tarefas de fechamento de lacunas:**
859
-
860
- ```xml
861
- <task name="{descricao_da_correcao}" type="auto">
862
- <files>{artifact.path}</files>
863
- <action>
864
- {Para cada item em gap.missing:}
865
- - {item ausente}
866
-
867
- Referência de código existente: {dos SUMMARYs}
868
- Razão da lacuna: {gap.reason}
869
- </action>
870
- <verify>{Como confirmar que a lacuna está fechada}</verify>
871
- <done>{Verdade observável agora alcançável}</done>
872
- </task>
873
- ```
874
-
875
- **7. Atribuir ondas usando análise de dependência padrão** (mesmo que o passo `assign_waves`):
876
- - Planos sem dependências → onda 1
877
- - Planos que dependem de outros planos de fechamento de lacunas → max(ondas de dependência) + 1
878
- - Considerar também dependências de planos existentes (não-lacuna) na fase
879
-
880
- **8. Escrever arquivos PLAN.md:**
881
-
882
- ```yaml
883
- ---
884
- phase: XX-nome
885
- plan: NN # Sequencial após os existentes
886
- type: execute
887
- wave: N # Calculado de depends_on (ver assign_waves)
888
- depends_on: [...] # Outros planos dos quais este depende (lacuna ou existente)
889
- files_modified: [...]
890
- autonomous: true
891
- gap_closure: true # Flag para rastreamento
892
- ---
893
- ```
501
+ **Fluxo:**
502
+ 1. Listar `$phase_dir/*-VERIFICATION.md` e `$phase_dir/*-UAT.md` com status diagnosed
503
+ 2. Cada lacuna tem `truth/reason/artifacts/missing` — agrupar por artefato e ordem de dep (stub primeiro, conexões depois)
504
+ 3. Carregar SUMMARYs existentes para contexto
505
+ 4. Próximo número = (último plano existente) + 1
506
+ 5. Tarefa por lacuna: `<files>{artifact.path}</files>` + `<action>` listando `gap.missing` + ref aos SUMMARYs + `gap.reason`
507
+ 6. Atribuir ondas (sem deps → 1; dep em outro gap-plan ou plano existente → max+1)
508
+ 7. Frontmatter: igual ao padrão + `gap_closure: true`
894
509
 
895
510
  </gap_closure_mode>
896
511
 
897
512
  <revision_mode>
898
513
 
899
- ## Planejando a partir do Feedback do Verificador
900
-
901
- Acionado quando o orquestrador fornece `<revision_context>` com problemas do verificador. NÃO está começando do zero — fazendo atualizações direcionadas em planos existentes.
902
-
903
- **Mentalidade:** Cirurgião, não arquiteto. Mudanças mínimas para problemas específicos.
904
-
905
- ### Passo 1: Carregar Planos Existentes
906
-
907
- ```bash
908
- cat .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
909
- ```
910
-
911
- Construa um modelo mental da estrutura atual do plano, tarefas existentes, must_haves.
912
-
913
- ### Passo 2: Analisar Problemas do Verificador
914
-
915
- Os problemas vêm em formato estruturado:
916
-
917
- ```yaml
918
- issues:
919
- - plan: "16-01"
920
- dimension: "task_completeness"
921
- severity: "blocker"
922
- description: "Tarefa 2 com elemento <verify> ausente"
923
- fix_hint: "Adicionar comando de verificação para saída do build"
924
- ```
514
+ ## Modo Revisão (feedback do verificador)
925
515
 
926
- Agrupe por plano, dimensão, severidade.
516
+ Orquestrador fornece `<revision_context>` com problemas. Não começa do zero — atualizações cirúrgicas em planos existentes. Mentalidade: cirurgião, não arquiteto.
927
517
 
928
- ### Passo 3: Estratégia de Revisão
518
+ **Fluxo:** carregar planos existentes → agrupar problemas por plano/dimensão/severidade → aplicar estratégia (abaixo) → editar seções sinalizadas (preservar o que funciona) → validar → commit `fix($PHASE): revise plans based on checker feedback`.
929
519
 
930
520
  | Dimensão | Estratégia |
931
- |----------|------------|
521
+ |---|---|
932
522
  | requirement_coverage | Adicionar tarefa(s) para requisito ausente |
933
- | task_completeness | Adicionar elementos ausentes à tarefa existente |
523
+ | task_completeness | Adicionar elementos ausentes à tarefa |
934
524
  | dependency_correctness | Corrigir depends_on, recalcular ondas |
935
- | key_links_planned | Adicionar tarefa de conexão ou atualizar ação |
525
+ | key_links_planned | Adicionar tarefa de conexão |
936
526
  | scope_sanity | Dividir em múltiplos planos |
937
- | must_haves_derivation | Derivar e adicionar must_haves ao frontmatter |
938
-
939
- ### Passo 4: Fazer Atualizações Direcionadas
940
-
941
- **FAÇA:** Edite seções específicas sinalizadas, preserve partes que funcionam, atualize ondas se dependências mudarem.
942
-
943
- **NÃO FAÇA:** Reescreva planos inteiros para problemas menores, adicione tarefas desnecessárias, quebre planos existentes que funcionam.
944
-
945
- ### Passo 5: Validar Mudanças
946
-
947
- - [ ] Todos os problemas sinalizados foram endereçados
948
- - [ ] Nenhum novo problema introduzido
949
- - [ ] Números de onda ainda são válidos
950
- - [ ] Dependências ainda estão corretas
951
- - [ ] Arquivos em disco atualizados
952
-
953
- ### Passo 6: Commit
954
-
955
- ```bash
956
- node "./.claude/framework/bin/tools.cjs" commit "fix($PHASE): revise plans based on checker feedback" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
957
- ```
958
-
959
- ### Passo 7: Retornar Resumo da Revisão
960
-
961
- ```markdown
962
- ## REVISION COMPLETE
963
-
964
- **Issues addressed:** {N}/{M}
965
-
966
- ### Changes Made
967
-
968
- | Plan | Change | Issue Addressed |
969
- |------|--------|-----------------|
970
- | 16-01 | Added <verify> to Task 2 | task_completeness |
971
- | 16-02 | Added logout task | requirement_coverage (AUTH-02) |
527
+ | must_haves_derivation | Derivar e adicionar must_haves |
972
528
 
973
- ### Files Updated
529
+ **Validar:** todos issues endereçados, nada novo introduzido, ondas/deps consistentes, arquivos em disco atualizados.
974
530
 
975
- - .planning/phases/16-xxx/16-01-PLAN.md
976
- - .planning/phases/16-xxx/16-02-PLAN.md
977
-
978
- {Se algum problema NÃO foi endereçado:}
979
-
980
- ### Unaddressed Issues
981
-
982
- | Issue | Reason |
983
- |-------|--------|
984
- | {issue} | {por que - precisa de input do usuário, mudança arquitetural, etc.} |
985
- ```
531
+ **Retornar `## REVISION COMPLETE`** com tabela `Plan | Change | Issue Addressed`, lista de arquivos atualizados, e (se houver) tabela `Unaddressed Issues | Reason`.
986
532
 
987
533
  </revision_mode>
988
534
 
989
535
  <reviews_mode>
990
536
 
991
- ## Planejando a partir do Feedback de Revisão Cruzada por IA
992
-
993
- Acionado quando o orquestrador define o Modo como `reviews`. Replanejando do zero com feedback do REVIEWS.md como contexto adicional.
537
+ ## Modo Reviews (feedback de revisão cruzada por IA)
994
538
 
995
- **Mentalidade:** Planejador novo com insights de revisão não um cirurgião fazendo correções, mas um arquiteto que leu críticas de colegas.
539
+ Orquestrador define modo `reviews`. Replanejar do zero usando REVIEWS.md como contexto extra. Mentalidade: arquiteto que leu críticas de colegas, não cirurgião.
996
540
 
997
- ### Passo 1: Carregar REVIEWS.md
998
- Leia o arquivo de reviews de `<files_to_read>`. Analise:
999
- - Feedback por revisor (pontos fortes, preocupações, sugestões)
1000
- - Resumo de Consenso (preocupações concordadas = maior prioridade para endereçar)
1001
- - Visões Divergentes (investigue, tome uma decisão)
541
+ **Fluxo:** carregar REVIEWS.md → categorizar (DEVE endereçar = consenso HIGH; DEVERIA = MEDIUM 2+ revisores; CONSIDERAR = individual/LOW) → planejar do zero com feedback como restrição adicional → cada concern HIGH consenso DEVE ter tarefa endereçando-o → anotar ação: "Endereça preocupação de revisão: {x}".
1002
542
 
1003
- ### Passo 2: Categorizar Feedback
1004
- Agrupe o feedback de revisão em:
1005
- - **Deve endereçar**: Preocupações de consenso de severidade ALTA
1006
- - **Deveria endereçar**: Preocupações de severidade MÉDIA de 2+ revisores
1007
- - **Considerar**: Sugestões individuais de revisores, itens de severidade BAIXA
1008
-
1009
- ### Passo 3: Planejar do Zero com Contexto de Revisão
1010
- Crie novos planos seguindo o processo de planejamento padrão, mas com feedback de revisão como restrições adicionais:
1011
- - Cada preocupação de consenso de severidade ALTA DEVE ter uma tarefa que a endereça
1012
- - Preocupações MÉDIAS devem ser endereçadas onde viável sem over-engineering
1013
- - Anote nas ações das tarefas: "Endereça preocupação de revisão: {preocupação}" para rastreabilidade
1014
-
1015
- ### Passo 4: Retornar
1016
- Use o formato padrão de retorno PLANNING COMPLETE, adicionando uma seção de reviews:
543
+ **Retornar `## PLANNING COMPLETE`** padrão + seção:
1017
544
 
1018
545
  ```markdown
1019
546
  ### Review Feedback Addressed
@@ -1089,52 +616,17 @@ Aplicar protocolo de nível de descoberta (veja seção discovery_levels).
1089
616
  </step>
1090
617
 
1091
618
  <step name="read_project_history">
1092
- **Montagem de contexto em dois passos: digest para seleção, leitura completa para entendimento.**
619
+ **Contexto em dois passos: digest para selecionar, SUMMARYs completos para entender.**
1093
620
 
1094
- **Passo 1 — Gerar índice digest:**
1095
621
  ```bash
1096
622
  node "./.claude/framework/bin/tools.cjs" history-digest
1097
623
  ```
1098
624
 
1099
- **Passo 2 — Selecionar fases relevantes (tipicamente 2-4):**
1100
-
1101
- Pontue cada fase por relevância ao trabalho atual:
1102
- - Sobreposição de `affects`: Toca os mesmos subsistemas?
1103
- - Dependência de `provides`: A fase atual precisa do que ela criou?
1104
- - `patterns`: Seus padrões são aplicáveis?
1105
- - Roadmap: Marcada como dependência explícita?
1106
-
1107
- Selecione os 2-4 principais. Pule fases sem sinal de relevância.
1108
-
1109
- **Passo 3 — Leia SUMMARYs completos para as fases selecionadas:**
1110
- ```bash
1111
- cat .planning/phases/{fase-selecionada}/*-SUMMARY.md
1112
- ```
1113
-
1114
- Dos SUMMARYs completos extraia:
1115
- - Como as coisas foram implementadas (padrões de arquivo, estrutura de código)
1116
- - Por que as decisões foram tomadas (contexto, trocas)
1117
- - Quais problemas foram resolvidos (evitar repetição)
1118
- - Artefatos reais criados (expectativas realistas)
1119
-
1120
- **Passo 4 — Manter contexto em nível digest para fases não selecionadas:**
1121
-
1122
- Para fases não selecionadas, retenha do digest:
1123
- - `tech_stack`: Bibliotecas disponíveis
1124
- - `decisions`: Restrições na abordagem
1125
- - `patterns`: Convenções a seguir
625
+ Pontue fases por relevância (sobreposição de `affects`, dependência de `provides`, `patterns` aplicáveis, dep explícita no roadmap). Selecione top 2-4. Para essas, `cat .planning/phases/{fase}/*-SUMMARY.md` extraia padrões de implementação, decisões e trade-offs, problemas já resolvidos. Para as não-selecionadas, mantenha apenas digest (`tech_stack`, `decisions`, `patterns`).
1126
626
 
1127
- **Do STATE.md:** Decisões restringir abordagem. Todos pendentes candidatos.
627
+ Do STATE.md: decisões = restrições; todos pendentes = candidatos.
1128
628
 
1129
- **Do RETROSPECTIVE.md (se existir):**
1130
- ```bash
1131
- cat .planning/RETROSPECTIVE.md 2>/dev/null | tail -100
1132
- ```
1133
-
1134
- Leia a retrospectiva do milestone mais recente e tendências entre milestones. Extraia:
1135
- - **Padrões a seguir** de "O que funcionou" e "Padrões Estabelecidos"
1136
- - **Padrões a evitar** de "O que foi Ineficiente" e "Lições Chave"
1137
- - **Padrões de custo** para informar seleção de modelo e estratégia de agente
629
+ Do RETROSPECTIVE.md (se existir, `tail -100`): padrões a seguir/evitar de "O que funcionou" / "Lições Chave"; custo médio para informar seleção de modelo.
1138
630
  </step>
1139
631
 
1140
632
  <step name="gather_phase_context">
@@ -1341,33 +833,16 @@ Siga os templates nas seções checkpoints e revision_mode respectivamente.
1341
833
 
1342
834
  ## Modo Padrão
1343
835
 
1344
- Planejamento da fase concluído quando:
1345
- - [ ] STATE.md lido, histórico do projeto absorvido
1346
- - [ ] Descoberta obrigatória concluída (Nível 0-3)
1347
- - [ ] Decisões, problemas e preocupações anteriores sintetizados
1348
- - [ ] Grafo de dependências construído (needs/creates para cada tarefa)
1349
- - [ ] Tarefas agrupadas em planos por onda, não por sequência
1350
- - [ ] Arquivo(s) PLAN existem com estrutura XML
1351
- - [ ] Cada plano: depends_on, files_modified, autonomous, must_haves no frontmatter
1352
- - [ ] Cada plano: user_setup declarado se serviços externos envolvidos
1353
- - [ ] Cada plano: Objetivo, contexto, tarefas, verificação, critérios de sucesso, output
1354
- - [ ] Cada plano: 2-3 tarefas (~50% de contexto)
1355
- - [ ] Cada tarefa: Tipo, Arquivos (se auto), Ação, Verificação, Conclusão
1356
- - [ ] Checkpoints devidamente estruturados
1357
- - [ ] Estrutura de ondas maximiza paralelismo
1358
- - [ ] Arquivo(s) PLAN commitados no git
1359
- - [ ] Usuário conhece os próximos passos e a estrutura de ondas
1360
-
1361
- ## Modo de Fechamento de Lacunas
1362
-
1363
- Planejamento concluído quando:
1364
- - [ ] VERIFICATION.md ou UAT.md carregados e lacunas analisadas
1365
- - [ ] SUMMARYs existentes lidos para contexto
1366
- - [ ] Lacunas agrupadas em planos focados
1367
- - [ ] Números de plano sequenciais após os existentes
1368
- - [ ] Arquivo(s) PLAN existem com gap_closure: true
1369
- - [ ] Cada plano: tarefas derivadas dos itens gap.missing
1370
- - [ ] Arquivo(s) PLAN commitados no git
1371
- - [ ] Usuário sabe para executar `/executar-fase {X}` em seguida
836
+ - [ ] STATE.md lido, histórico absorvido, descoberta concluída (nível 0-3)
837
+ - [ ] Grafo de dependências (needs/creates por tarefa); agrupar em planos por onda
838
+ - [ ] Cada PLAN.md tem frontmatter completo (`phase, plan, type, wave, depends_on, files_modified, autonomous, must_haves`, + `user_setup` se aplicável)
839
+ - [ ] Cada plano: 2-3 tarefas (~50% de contexto), cada tarefa com Tipo/Arquivos/Ação/Verify/Done
840
+ - [ ] Checkpoints estruturados, ondas maximizam paralelismo, arquivos commitados, usuário sabe próximos passos
841
+
842
+ ## Modo Gap Closure
843
+
844
+ - [ ] VERIFICATION.md / UAT.md carregados, SUMMARYs existentes lidos, lacunas agrupadas em planos focados
845
+ - [ ] Numeração sequencial após existentes, frontmatter `gap_closure: true`, tarefas derivadas de `gap.missing`, commits feitos
846
+ - [ ] Usuário sabe rodar `/executar-fase {X} --gaps-only`
1372
847
 
1373
848
  </success_criteria>