up-cc 0.3.3 → 0.4.1

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 (58) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +259 -49
  3. package/agents/up-api-tester.md +405 -0
  4. package/agents/up-arquiteto.md +461 -0
  5. package/agents/up-backend-specialist.md +158 -0
  6. package/agents/up-blind-validator.md +259 -0
  7. package/agents/up-clone-crawler.md +234 -0
  8. package/agents/up-clone-design-extractor.md +227 -0
  9. package/agents/up-clone-feature-mapper.md +225 -0
  10. package/agents/up-clone-prd-writer.md +169 -0
  11. package/agents/up-clone-verifier.md +227 -0
  12. package/agents/up-code-reviewer.md +225 -0
  13. package/agents/up-database-specialist.md +152 -0
  14. package/agents/up-devops-agent.md +203 -0
  15. package/agents/up-executor.md +45 -5
  16. package/agents/up-exhaustive-tester.md +348 -0
  17. package/agents/up-frontend-specialist.md +135 -0
  18. package/agents/up-product-analyst.md +192 -0
  19. package/agents/up-qa-agent.md +171 -0
  20. package/agents/up-requirements-validator.md +230 -0
  21. package/agents/up-security-reviewer.md +137 -0
  22. package/agents/up-system-designer.md +332 -0
  23. package/agents/up-technical-writer.md +188 -0
  24. package/agents/up-visual-critic.md +358 -0
  25. package/bin/up-tools.cjs +84 -2
  26. package/commands/clone-builder.md +67 -0
  27. package/commands/dashboard.md +48 -0
  28. package/commands/depurar.md +1 -1
  29. package/commands/mobile-first.md +71 -0
  30. package/commands/modo-builder.md +178 -0
  31. package/commands/ux-tester.md +63 -0
  32. package/package.json +1 -1
  33. package/references/blueprints/audit.md +29 -0
  34. package/references/blueprints/booking.md +49 -0
  35. package/references/blueprints/community.md +48 -0
  36. package/references/blueprints/crm.md +40 -0
  37. package/references/blueprints/dashboard.md +48 -0
  38. package/references/blueprints/data-management.md +42 -0
  39. package/references/blueprints/ecommerce.md +51 -0
  40. package/references/blueprints/marketplace.md +48 -0
  41. package/references/blueprints/notifications.md +32 -0
  42. package/references/blueprints/saas-users.md +50 -0
  43. package/references/blueprints/settings.md +31 -0
  44. package/references/engineering-principles.md +205 -0
  45. package/references/production-requirements.md +106 -0
  46. package/references/state-persistence.md +74 -0
  47. package/templates/builder-defaults.md +73 -0
  48. package/templates/delivery.md +279 -0
  49. package/templates/design-tokens.md +151 -0
  50. package/workflows/builder-e2e.md +501 -0
  51. package/workflows/builder.md +2248 -0
  52. package/workflows/clone-builder.md +320 -0
  53. package/workflows/executar-fase.md +28 -2
  54. package/workflows/executar-plano.md +404 -6
  55. package/workflows/mobile-first.md +692 -0
  56. package/workflows/novo-projeto.md +22 -0
  57. package/workflows/rapido.md +1 -1
  58. package/workflows/ux-tester.md +500 -0
@@ -0,0 +1,2248 @@
1
+ <purpose>
2
+ Modo Builder: construir projeto completo de forma autonoma. Funciona em dois modos:
3
+
4
+ **Greenfield:** Projeto do zero. Usuario descreve o que quer, sistema cria tudo.
5
+ **Brownfield:** Projeto existente. Usuario descreve a feature/mudanca, sistema mapeia o codigo, planeja e implementa.
6
+
7
+ **Dois niveis:**
8
+ - **Full (padrao):** 5 estagios completos — Intake → Arquitetura → Build → Polish → Entrega
9
+ - **Light (`--light`):** Pipeline enxuto — Intake rapido → Mini-scan → Build + E2E → Fim
10
+
11
+ A partir do Estagio 2, ZERO interacao com usuario. Todas as decisoes sao tomadas autonomamente.
12
+
13
+ **IMPORTANTE: Verificar flag `--light` no $ARGUMENTS antes de iniciar.**
14
+ Se `--light` presente: pular direto para `<light_process>` no final deste workflow.
15
+ Se ausente: seguir o `<process>` normal (full).
16
+ </purpose>
17
+
18
+ <core_principle>
19
+ Este workflow REUTILIZA os processos existentes do UP. Nao reinventa — apenas orquestra os comandos existentes em sequencia sem parar para perguntar.
20
+
21
+ Onde o UP normal para e pergunta, o modo builder decide sozinho.
22
+ Onde o UP normal espera /clear entre fases, o modo builder continua automaticamente.
23
+
24
+ **Deteccao automatica de modo:**
25
+ - Codigo existente detectado (package.json, src/, app/, etc.) → BROWNFIELD
26
+ - Sem codigo → GREENFIELD
27
+ - `.plano/` existente com ROADMAP.md → BROWNFIELD (adiciona fases ao roadmap existente)
28
+
29
+ **Modo Clone (builder_type: "clone" no config.json):**
30
+ Quando o builder e invocado pelo clone-builder, config.json tem `builder_type: "clone"`.
31
+ Neste modo, TODOS os agentes devem:
32
+ 1. **Ler .plano/clone/DESIGN-SYSTEM.md** e seguir cores, fontes, espacamento
33
+ 2. **Ler .plano/clone/FEATURE-MAP.md** e garantir que TODAS features CLONE-* sao implementadas
34
+ 3. **Ler .plano/clone/screenshots/** como referencia visual
35
+ 4. **Product Analyst:** Se clone_mode=exact: NAO sugerir mudancas. Se improve: sugerir apenas adicoes.
36
+ 5. **Frontend Specialist:** Replicar layout e design das screenshots.
37
+ 6. **Code Reviewer:** Verificar fidelidade visual alem de production-requirements.
38
+ 7. **Quality Gate:** Incluir clone-verifier como dimensao "Fidelidade" (20% do score).
39
+ </core_principle>
40
+
41
+ <process>
42
+
43
+ ## Estagio 1: INTAKE (Interativo)
44
+
45
+ Este e o UNICO estagio com interacao.
46
+
47
+ ### 1.0 Verificar Crash Recovery (LOCK.md)
48
+
49
+ **PRIMEIRO PASSO OBRIGATORIO — antes de qualquer outra coisa:**
50
+
51
+ ```bash
52
+ ls .plano/LOCK.md 2>/dev/null
53
+ ```
54
+
55
+ **Se LOCK.md existe e `status: running`:**
56
+
57
+ Ler frontmatter do LOCK.md para extrair: `stage`, `phase`, `step`, `total_phases`.
58
+
59
+ ```
60
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
61
+ UP > BUILDER — SESSAO ANTERIOR DETECTADA
62
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
63
+
64
+ Sessao anterior crashou ou foi interrompida.
65
+
66
+ Estagio: {stage}
67
+ Fase: {phase}/{total_phases}
68
+ Ultimo passo: {step}
69
+
70
+ Retomando de onde parou...
71
+ ```
72
+
73
+ **Retomar baseado no estado do LOCK:**
74
+
75
+ | stage | step | Retomar de |
76
+ |-------|------|-----------|
77
+ | `build` | `planning` | Estagio 3: re-planejar fase {phase} |
78
+ | `build` | `executing` | Estagio 3: re-executar fase {phase} (pula planos com SUMMARY) |
79
+ | `build` | `verifying` | Estagio 3: re-verificar fase {phase} |
80
+ | `build` | `e2e-testing` | Estagio 3: re-testar E2E fase {phase} |
81
+ | `build` | `reassessing` | Estagio 3: pular reassessment, avancar para fase {phase+1} |
82
+ | `build` | `completed` | Estagio 3: avancar para fase {phase+1} |
83
+ | `polish` | qualquer | Estagio 4: re-executar polish |
84
+ | `delivery` | qualquer | Estagio 5: re-gerar DELIVERY.md |
85
+
86
+ **Pular direto para o estagio/fase correto.** NAO re-executar estagios ja completos.
87
+ NAO fazer intake novamente. Ler BRIEFING.md e PROJECT.md para contexto.
88
+
89
+ **Se LOCK.md existe e `status: completed`:**
90
+ Deletar LOCK.md e iniciar normalmente (sessao anterior terminou com sucesso).
91
+
92
+ **Se LOCK.md NAO existe:**
93
+ Continuar normalmente para 1.1.
94
+
95
+ ### 1.1 Carregar Defaults e Detectar Modo
96
+
97
+ ```bash
98
+ DEFAULTS_PATH="$HOME/.claude/up/builder-defaults.md"
99
+ ```
100
+
101
+ Ler `$DEFAULTS_PATH` se existir. Se nao existir, informar: "Sem builder-defaults.md. Usando inferencia inteligente para decisoes nao especificadas. Crie ~/.claude/up/builder-defaults.md para personalizar."
102
+
103
+ **Detectar modo automaticamente:**
104
+
105
+ ```bash
106
+ # Verificar se ha codigo existente
107
+ ls package.json go.mod Cargo.toml requirements.txt pyproject.toml pom.xml build.gradle composer.json Gemfile 2>/dev/null
108
+ ls -d src/ app/ lib/ cmd/ internal/ pages/ components/ 2>/dev/null | head -10
109
+ ls .plano/ROADMAP.md .plano/PROJECT.md 2>/dev/null
110
+ ```
111
+
112
+ | Resultado | Modo |
113
+ |-----------|------|
114
+ | Sem manifesto de pacote e sem src/ | **GREENFIELD** |
115
+ | Manifesto ou diretorios de codigo existem | **BROWNFIELD** |
116
+ | `.plano/ROADMAP.md` existe | **BROWNFIELD** (projeto UP existente) |
117
+
118
+ Definir `$MODE` = `greenfield` ou `brownfield`.
119
+
120
+ ### 1.2 Receber Briefing
121
+
122
+ O briefing vem como $ARGUMENTS do comando. Se vazio, pedir freeform adaptado ao modo:
123
+
124
+ **GREENFIELD:**
125
+ "Descreva o que voce quer construir. Inclua: objetivo, publico, features principais, stack (se tiver preferencia), e qualquer contexto relevante."
126
+
127
+ **BROWNFIELD:**
128
+ "Codigo existente detectado. O que voce quer implementar? Descreva a feature, mudanca ou refatoracao. Inclua: o que deve fazer, como se integra com o existente, e qualquer contexto relevante."
129
+
130
+ Esperar resposta.
131
+
132
+ ### 1.3 Analisar e Classificar Gaps
133
+
134
+ Analisar o briefing e classificar informacoes faltantes:
135
+
136
+ **CRITICO (deve perguntar):**
137
+ - Integrações externas que precisam de credenciais (Supabase, Stripe, etc.)
138
+ - Tokens/chaves de API necessarias
139
+ - Ambiguidades de negocio que afetam arquitetura fundamentalmente
140
+ - Ex: "sistema multiusuario" → precisa de roles? multi-tenant?
141
+ - Ex: "pagamentos" → qual gateway? quais metodos?
142
+
143
+ **BROWNFIELD EXTRA — CRITICO:**
144
+ - Se a feature pode impactar funcionalidades existentes de forma ambigua
145
+ - Ex: "refatorar auth" → manter backward compatibility? migrar usuarios?
146
+ - Se ha integrações existentes que podem ser afetadas
147
+
148
+ **DECIDIR SOZINHO (nao perguntar):**
149
+ - Stack (usar defaults ou inferir; em brownfield: usar stack EXISTENTE)
150
+ - Design visual, cores, fontes (em brownfield: seguir design system existente)
151
+ - Estrutura de pastas, padroes de codigo (em brownfield: seguir convencoes existentes)
152
+ - Nomes de tabelas, modelos, rotas, componentes
153
+ - Arquitetura de API (em brownfield: seguir padrao existente)
154
+ - Quantidade e granularidade de fases
155
+ - Tudo que nao e ambiguo
156
+
157
+ ### 1.4 Fazer Perguntas Criticas
158
+
159
+ Se ha gaps criticos, fazer UMA UNICA rodada de perguntas usando AskUserQuestion:
160
+
161
+ ```
162
+ AskUserQuestion(
163
+ header: "Informacoes Necessarias",
164
+ question: "[Listar todos os gaps criticos em uma unica pergunta]
165
+
166
+ 1. [Pergunta critica 1]
167
+ 2. [Pergunta critica 2]
168
+ ...
169
+
170
+ Responda todas de uma vez.",
171
+ followUp: null
172
+ )
173
+ ```
174
+
175
+ **Se NAO ha gaps criticos:** Pular direto para 1.5.
176
+
177
+ ### 1.5 Confirmar e Iniciar
178
+
179
+ **GREENFIELD:**
180
+ ```
181
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
182
+ UP > MODO BUILDER (GREENFIELD)
183
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
184
+
185
+ Entendi o projeto. A partir de agora, vou construir tudo autonomamente.
186
+
187
+ **Briefing:** [resumo em 2-3 frases]
188
+ **Stack:** [stack que sera usada]
189
+ **Estimativa:** [N] fases
190
+
191
+ Decisoes nao especificadas serao tomadas automaticamente.
192
+
193
+ Iniciando...
194
+ ```
195
+
196
+ **BROWNFIELD:**
197
+ ```
198
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
199
+ UP > MODO BUILDER (BROWNFIELD)
200
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
201
+
202
+ Entendi a feature. Vou mapear o codigo existente e implementar autonomamente.
203
+
204
+ **Feature:** [resumo em 2-3 frases]
205
+ **Stack detectada:** [stack existente]
206
+ **Estimativa:** [N] fases
207
+
208
+ Convencoes e padroes existentes serao respeitados.
209
+
210
+ Iniciando mapeamento do codebase...
211
+ ```
212
+
213
+ **NAO pedir confirmacao.** Iniciar direto.
214
+
215
+ ═══════════════════════════════════════════════════════
216
+ FIM DA INTERACAO COM USUARIO
217
+ ═══════════════════════════════════════════════════════
218
+
219
+ ---
220
+
221
+ ## Estagio 2: ARQUITETURA (Autonomo)
222
+
223
+ ### 2.1 Inicializar Projeto
224
+
225
+ ```bash
226
+ mkdir -p .plano .plano/captures
227
+ git init 2>/dev/null
228
+ ```
229
+
230
+ **Iniciar Dashboard automaticamente:**
231
+ ```bash
232
+ node "$HOME/.claude/up/dashboard/server.js" 4040 "$(pwd)/.plano" &
233
+ DASH_PID=$!
234
+ echo "Dashboard: http://localhost:4040 (PID: $DASH_PID)"
235
+ ```
236
+
237
+ Informar ao usuario:
238
+ ```
239
+ Dashboard: http://localhost:4040 — acompanhe o progresso em tempo real
240
+ ```
241
+
242
+ ### 2.2 Pipeline de Arquitetura (3 Agentes em Sequencia)
243
+
244
+ **Pipeline:** Product Analyst → System Designer → Architect
245
+ Cada agente produz um documento que alimenta o proximo.
246
+
247
+ **O que acontece ANTES do pipeline depende do modo:**
248
+
249
+ #### MODO GREENFIELD — Pesquisa de Ecossistema
250
+
251
+ Spawnar 4 pesquisadores em paralelo (mesmo processo do novo-projeto):
252
+
253
+ ```bash
254
+ mkdir -p .plano/pesquisa
255
+ ```
256
+
257
+ ```
258
+ Task(prompt="<research_type>
259
+ Pesquisa de Projeto -- Dimensao Stack para [dominio].
260
+ </research_type>
261
+
262
+ <question>
263
+ Qual e a stack padrao de 2025 para [dominio]? Confirme versoes e compatibilidade de: [frameworks do briefing/defaults].
264
+ </question>
265
+
266
+ <briefing>
267
+ [Briefing completo do usuario]
268
+ </briefing>
269
+
270
+ <output>
271
+ Write to: .plano/pesquisa/STACK.md
272
+ </output>
273
+ ", subagent_type="up-pesquisador-projeto", description="Pesquisa Stack")
274
+
275
+ Task(prompt="<research_type>
276
+ Pesquisa de Projeto -- Dimensao Features para [dominio].
277
+ </research_type>
278
+
279
+ <question>
280
+ Quais features produtos de [dominio] tem? O que e obrigatorio vs diferenciador?
281
+ </question>
282
+
283
+ <briefing>
284
+ [Briefing completo do usuario]
285
+ </briefing>
286
+
287
+ <output>
288
+ Write to: .plano/pesquisa/FEATURES.md
289
+ </output>
290
+ ", subagent_type="up-pesquisador-projeto", description="Pesquisa Features")
291
+
292
+ Task(prompt="<research_type>
293
+ Pesquisa de Projeto -- Dimensao Arquitetura para [dominio].
294
+ </research_type>
295
+
296
+ <question>
297
+ Como sistemas de [dominio] sao tipicamente estruturados? Componentes principais e padroes?
298
+ </question>
299
+
300
+ <briefing>
301
+ [Briefing completo do usuario]
302
+ </briefing>
303
+
304
+ <output>
305
+ Write to: .plano/pesquisa/ARCHITECTURE.md
306
+ </output>
307
+ ", subagent_type="up-pesquisador-projeto", description="Pesquisa Arquitetura")
308
+
309
+ Task(prompt="<research_type>
310
+ Pesquisa de Projeto -- Dimensao Armadilhas para [dominio].
311
+ </research_type>
312
+
313
+ <question>
314
+ O que projetos de [dominio] comumente erram? Erros criticos a evitar?
315
+ </question>
316
+
317
+ <briefing>
318
+ [Briefing completo do usuario]
319
+ </briefing>
320
+
321
+ <output>
322
+ Write to: .plano/pesquisa/PITFALLS.md
323
+ </output>
324
+ ", subagent_type="up-pesquisador-projeto", description="Pesquisa Armadilhas")
325
+ ```
326
+
327
+ **IMPORTANTE:** Os 4 Task DEVEM ser spawnados na MESMA mensagem para execucao paralela.
328
+
329
+ Apos os 4 retornarem, spawnar sintetizador:
330
+
331
+ ```
332
+ Task(prompt="
333
+ <task>
334
+ Sintetizar outputs de pesquisa em SUMMARY.md.
335
+ </task>
336
+
337
+ <files_to_read>
338
+ - .plano/pesquisa/STACK.md
339
+ - .plano/pesquisa/FEATURES.md
340
+ - .plano/pesquisa/ARCHITECTURE.md
341
+ - .plano/pesquisa/PITFALLS.md
342
+ </files_to_read>
343
+
344
+ <output>
345
+ Write to: .plano/pesquisa/SUMMARY.md
346
+ Commit apos escrever.
347
+ </output>
348
+ ", subagent_type="up-sintetizador", description="Sintetizar pesquisa")
349
+ ```
350
+
351
+ #### MODO BROWNFIELD — Mapeamento do Codebase + Pesquisa Focada
352
+
353
+ **Passo 1: Mapear codebase existente (4 agentes paralelos)**
354
+
355
+ Verificar se `.plano/codebase/` ja existe:
356
+ - Se existe e tem menos de 7 dias: reutilizar (pular mapeamento)
357
+ - Se nao existe ou esta desatualizado: mapear
358
+
359
+ ```bash
360
+ mkdir -p .plano/codebase
361
+ ```
362
+
363
+ ```
364
+ Task(subagent_type="up-mapeador-codigo", prompt="
365
+ <focus>tech</focus>
366
+ <files_to_read>
367
+ - ./CLAUDE.md (se existir)
368
+ </files_to_read>
369
+ Mapear stack de tecnologia e integracoes externas.
370
+ Escrever .plano/codebase/STACK.md e .plano/codebase/INTEGRATIONS.md
371
+ ", description="Mapear stack e integracoes")
372
+
373
+ Task(subagent_type="up-mapeador-codigo", prompt="
374
+ <focus>arch</focus>
375
+ <files_to_read>
376
+ - ./CLAUDE.md (se existir)
377
+ </files_to_read>
378
+ Mapear arquitetura e estrutura de arquivos.
379
+ Escrever .plano/codebase/ARCHITECTURE.md e .plano/codebase/STRUCTURE.md
380
+ ", description="Mapear arquitetura e estrutura")
381
+
382
+ Task(subagent_type="up-mapeador-codigo", prompt="
383
+ <focus>quality</focus>
384
+ <files_to_read>
385
+ - ./CLAUDE.md (se existir)
386
+ </files_to_read>
387
+ Mapear convencoes de codigo e padroes de teste.
388
+ Escrever .plano/codebase/CONVENTIONS.md e .plano/codebase/TESTING.md
389
+ ", description="Mapear convencoes e testes")
390
+
391
+ Task(subagent_type="up-mapeador-codigo", prompt="
392
+ <focus>concerns</focus>
393
+ <files_to_read>
394
+ - ./CLAUDE.md (se existir)
395
+ </files_to_read>
396
+ Identificar divida tecnica e problemas.
397
+ Escrever .plano/codebase/CONCERNS.md
398
+ ", description="Mapear preocupacoes e divida tecnica")
399
+ ```
400
+
401
+ **IMPORTANTE:** Os 4 Task DEVEM ser spawnados na MESMA mensagem para execucao paralela.
402
+
403
+ Verificar que os 7 documentos foram criados:
404
+ ```bash
405
+ ls -la .plano/codebase/*.md | wc -l
406
+ ```
407
+
408
+ Commitar mapeamento:
409
+ ```bash
410
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: mapear codebase existente" --files .plano/codebase/
411
+ ```
412
+
413
+ **Passo 2: Pesquisa focada (apenas tecnologias NOVAS)**
414
+
415
+ Se o briefing menciona tecnologias/APIs que NAO existem no codebase atual:
416
+
417
+ ```bash
418
+ mkdir -p .plano/pesquisa
419
+ ```
420
+
421
+ Spawnar pesquisadores APENAS para tecnologias novas (ex: usuario quer adicionar Stripe mas o projeto nao tem):
422
+
423
+ ```
424
+ Task(prompt="<research_type>
425
+ Pesquisa de Projeto -- Tecnologia nova para projeto existente.
426
+ </research_type>
427
+
428
+ <question>
429
+ [Perguntas focadas APENAS nas tecnologias/padroes NOVOS que serao adicionados]
430
+ Stack existente: [de .plano/codebase/STACK.md]
431
+ Novo: [tecnologia/API do briefing]
432
+ Como integrar o novo com o existente?
433
+ </question>
434
+
435
+ <briefing>
436
+ [Briefing do usuario]
437
+ </briefing>
438
+
439
+ <output>
440
+ Write to: .plano/pesquisa/NOVAS-TECNOLOGIAS.md
441
+ </output>
442
+ ", subagent_type="up-pesquisador-projeto", description="Pesquisar tecnologias novas")
443
+ ```
444
+
445
+ Se NAO ha tecnologias novas: pular pesquisa.
446
+
447
+ ### 2.3 Salvar Briefing
448
+
449
+ Use a ferramenta Write para criar `.plano/BRIEFING.md` com:
450
+ - Modo (greenfield/brownfield)
451
+ - Briefing completo do usuario
452
+ - Respostas das perguntas criticas (se houve)
453
+ - Credenciais/APIs fornecidas
454
+ - **BROWNFIELD extra:** resumo do codebase (de .plano/codebase/), o que NAO mudar
455
+
456
+ ### 2.4 Agente 1: Product Analyst
457
+
458
+ ```
459
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
460
+ BUILDER > ANALISANDO PRODUTO
461
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
462
+
463
+ Pesquisando concorrentes e features do mercado...
464
+ ```
465
+
466
+ ```
467
+ Task(prompt="
468
+ <objective>
469
+ Analisar o mercado e produto: pesquisar concorrentes, definir personas, listar features obrigatorias e esperadas, mapear modulos do sistema.
470
+ Modo autonomo — NAO pergunte nada.
471
+ </objective>
472
+
473
+ <files_to_read>
474
+ - .plano/BRIEFING.md (Briefing do usuario)
475
+ - .plano/pesquisa/SUMMARY.md (Pesquisa de ecossistema, se existir)
476
+ </files_to_read>
477
+
478
+ <output>
479
+ Escrever .plano/PRODUCT-ANALYSIS.md
480
+ Commit apos escrever.
481
+ Retornar: ## PRODUCT ANALYSIS COMPLETE
482
+ </output>
483
+ ", subagent_type="up-product-analyst", description="Analisar produto e mercado")
484
+ ```
485
+
486
+ Verificar retorno `## PRODUCT ANALYSIS COMPLETE`. Se falhou: registrar e continuar (System Designer usara blueprints como fallback).
487
+
488
+ ```
489
+ Produto: [N] concorrentes | [X] features obrigatorias | [Y] personas | [Z] modulos
490
+ ```
491
+
492
+ ### 2.5 Agente 2: System Designer
493
+
494
+ ```
495
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
496
+ BUILDER > PROJETANDO SISTEMA
497
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
498
+
499
+ Definindo modulos, roles, schema, rotas e requisitos de producao...
500
+ ```
501
+
502
+ ```
503
+ Task(prompt="
504
+ <objective>
505
+ Projetar o sistema tecnico completo: modulos, roles, permissoes, schema de banco, rotas, integracoes.
506
+ Aplicar blueprints de producao e requisitos universais. Compilar requisitos das 5 camadas.
507
+ Modo autonomo — NAO pergunte nada.
508
+ </objective>
509
+
510
+ <mode>{greenfield|brownfield}</mode>
511
+
512
+ <files_to_read>
513
+ - .plano/BRIEFING.md (Briefing e stack)
514
+ - .plano/PRODUCT-ANALYSIS.md (Analise de produto — features, personas, modulos)
515
+ - .plano/pesquisa/SUMMARY.md (Pesquisa, se existir)
516
+ - $HOME/.claude/up/references/production-requirements.md (Requisitos universais)
517
+ - $HOME/.claude/up/references/blueprints/ (Blueprints — ler os relevantes ao dominio)
518
+ {BROWNFIELD EXTRA:}
519
+ - .plano/codebase/STACK.md (Stack existente)
520
+ - .plano/codebase/ARCHITECTURE.md (Arquitetura existente)
521
+ - .plano/codebase/CONVENTIONS.md (Convencoes a seguir)
522
+ - .plano/codebase/STRUCTURE.md (Estrutura existente)
523
+ - .plano/codebase/CONCERNS.md (Divida tecnica)
524
+ - .plano/codebase/INTEGRATIONS.md (Integracoes existentes)
525
+ </files_to_read>
526
+
527
+ <output>
528
+ Escrever .plano/SYSTEM-DESIGN.md
529
+ Commit apos escrever.
530
+ Retornar: ## SYSTEM DESIGN COMPLETE
531
+ </output>
532
+ ", subagent_type="up-system-designer", description="Projetar sistema completo")
533
+ ```
534
+
535
+ ```
536
+ Sistema: [N] modulos | [X] roles | [Y] tabelas | [Z] requisitos compilados (5 camadas)
537
+ ```
538
+
539
+ ### 2.6 Agente 3: Architect
540
+
541
+ ```
542
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
543
+ BUILDER > ESTRUTURANDO PROJETO
544
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
545
+
546
+ Gerando PROJECT.md, REQUIREMENTS.md, ROADMAP.md...
547
+ ```
548
+
549
+ ```
550
+ Task(prompt="
551
+ <objective>
552
+ Transformar analise de produto e design de sistema em documentos executaveis do UP:
553
+ PROJECT.md, REQUIREMENTS.md (com TODOS os requisitos das 5 camadas), ROADMAP.md, STATE.md, config.json.
554
+ Modo autonomo — NAO pergunte nada.
555
+ </objective>
556
+
557
+ <mode>{greenfield|brownfield}</mode>
558
+
559
+ <files_to_read>
560
+ - .plano/BRIEFING.md (Briefing original)
561
+ - .plano/PRODUCT-ANALYSIS.md (Analise de produto — features, personas)
562
+ - .plano/SYSTEM-DESIGN.md (Design tecnico — modulos, roles, schema, requisitos compilados)
563
+ - $HOME/.claude/up/builder-defaults.md (Defaults do usuario, se existir)
564
+ - $HOME/.claude/up/templates/project.md (Template PROJECT.md)
565
+ {BROWNFIELD EXTRA:}
566
+ - .plano/PROJECT.md (Existente — ATUALIZAR)
567
+ - .plano/ROADMAP.md (Existente — ADICIONAR fases)
568
+ - .plano/REQUIREMENTS.md (Existente — ADICIONAR requisitos)
569
+ - .plano/codebase/CONVENTIONS.md (Convencoes)
570
+ - ./CLAUDE.md (Instrucoes do projeto)
571
+ </files_to_read>
572
+
573
+ <critical>
574
+ O SYSTEM-DESIGN.md contem requisitos COMPILADOS das 5 camadas (explicitos + blueprints + universais + stack + mercado).
575
+ TODOS esses requisitos devem aparecer no REQUIREMENTS.md com REQ-IDs.
576
+ TODAS as features devem ter fases no ROADMAP.md.
577
+ O resultado deve ser um sistema COMPLETO pronto para producao, nao um MVP basico.
578
+ </critical>
579
+
580
+ <brownfield_rules>
581
+ Se brownfield:
582
+ 1. RESPEITAR stack existente
583
+ 2. SEGUIR convencoes existentes
584
+ 3. ATUALIZAR documentos existentes (nao criar do zero)
585
+ 4. ADICIONAR fases apos as existentes
586
+ 5. ADICIONAR requisitos continuando numeracao
587
+ </brownfield_rules>
588
+
589
+ <constraints>
590
+ - builder_mode=true no config.json
591
+ - mode=yolo
592
+ - parallelization=true
593
+ - Commit todos arquivos ao final
594
+ </constraints>
595
+ ", subagent_type="up-arquiteto", description="Estruturar projeto executavel")
596
+ ```
597
+
598
+ ### 2.7 Validar Requisitos (Quality Gate de Planejamento)
599
+
600
+ **ANTES de iniciar o build, validar que os requisitos sao completos e testaveis.**
601
+
602
+ ```
603
+ Validando requisitos (13 checks)...
604
+ ```
605
+
606
+ ```
607
+ Task(
608
+ subagent_type="up-requirements-validator",
609
+ prompt="
610
+ <objective>
611
+ Validar REQUIREMENTS.md com 13 checks automaticos.
612
+ Calcular score e determinar se esta pronto para build.
613
+ </objective>
614
+
615
+ <files_to_read>
616
+ - .plano/REQUIREMENTS.md
617
+ - .plano/PROJECT.md
618
+ </files_to_read>
619
+ ",
620
+ description="Validar requisitos (13 checks)"
621
+ )
622
+ ```
623
+
624
+ Ler resultado:
625
+
626
+ **Se score >= 75% (ACCEPTABLE ou melhor):** Prosseguir.
627
+ ```
628
+ Requisitos: {score}% — {GRADE} ({passed}/13 checks)
629
+ ```
630
+
631
+ **Se score < 75% (NEEDS_WORK):** Re-spawnar arquiteto com feedback.
632
+
633
+ ```
634
+ Requisitos insuficientes ({score}%). Refinando...
635
+ ```
636
+
637
+ ```
638
+ Task(
639
+ subagent_type="up-arquiteto",
640
+ prompt="
641
+ <objective>
642
+ Refinar REQUIREMENTS.md. A validacao encontrou problemas.
643
+ Ler REQUIREMENTS-VALIDATION.md para saber o que falta.
644
+ Adicionar requisitos que faltam SEM remover os existentes.
645
+ </objective>
646
+
647
+ <files_to_read>
648
+ - .plano/REQUIREMENTS-VALIDATION.md (feedback do validador)
649
+ - .plano/REQUIREMENTS.md (requisitos atuais)
650
+ - .plano/PROJECT.md
651
+ - .plano/SYSTEM-DESIGN.md
652
+ </files_to_read>
653
+ ",
654
+ description="Refinar requisitos apos validacao"
655
+ )
656
+ ```
657
+
658
+ Re-validar (max 2 ciclos). Se apos 2 ciclos ainda < 75%: prosseguir com advertencia.
659
+
660
+ ### 2.8 Reportar Arquitetura
661
+
662
+ Ler ROADMAP.md e exibir resumo:
663
+
664
+ ```
665
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
666
+ UP > ARQUITETURA DEFINIDA
667
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
668
+
669
+ **[Nome do Projeto]**
670
+
671
+ [N] fases | [X] requisitos (5 camadas) | [Y] modulos | [Z] roles
672
+ Stack: [resumo]
673
+
674
+ Pipeline: Product Analyst → System Designer → Architect
675
+
676
+ | # | Fase | Objetivo |
677
+ |---|------|----------|
678
+ | 1 | [Nome] | [Objetivo] |
679
+ | 2 | [Nome] | [Objetivo] |
680
+ ...
681
+
682
+ Iniciando build...
683
+ ```
684
+
685
+ ---
686
+
687
+ ### 2.9 Injetar persistência no CLAUDE.md do projeto
688
+
689
+ Verificar se `./CLAUDE.md` existe. Se existir, verificar se já contém "UP: Persistência de Estado". Se não contém, adicionar ao final:
690
+
691
+ ```markdown
692
+
693
+ ## UP: Persistência de Estado
694
+
695
+ Este projeto usa o sistema UP. Se `.plano/STATE.md` existir:
696
+ - Ao final de trabalho significativo, salvar estado: `node "$HOME/.claude/up/bin/up-tools.cjs" state save-session --summary "o que foi feito"`
697
+ - Se houve decisão importante, adicionar: `--decision "decisão" --phase N`
698
+ - Isso garante continuidade entre sessões mesmo sem usar comandos /up:
699
+ ```
700
+
701
+ Se `./CLAUDE.md` não existe, criar com o conteúdo acima.
702
+
703
+ ```bash
704
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: adicionar persistência de estado ao CLAUDE.md" --files CLAUDE.md
705
+ ```
706
+
707
+ ---
708
+
709
+ ## Estagio 3: BUILD (Autonomo — Loop de Fases)
710
+
711
+ ### 3.0 Carregar Roadmap e Inicializar Lock
712
+
713
+ ```bash
714
+ ROADMAP=$(node "$HOME/.claude/up/bin/up-tools.cjs" roadmap analyze)
715
+ ```
716
+
717
+ Extrair lista de fases e total.
718
+
719
+ **Criar/atualizar LOCK.md (crash recovery):**
720
+
721
+ Use a ferramenta Write para criar `.plano/LOCK.md`:
722
+ ```markdown
723
+ ---
724
+ status: running
725
+ stage: build
726
+ phase: 1
727
+ step: planning
728
+ total_phases: [N]
729
+ started: [timestamp ISO]
730
+ updated: [timestamp ISO]
731
+ pid: [process info]
732
+ ---
733
+
734
+ # Builder Lock
735
+
736
+ Builder em execucao. Se a sessao morreu, use `/up:modo-builder` novamente para retomar.
737
+ O builder detectara este LOCK e continuara de onde parou.
738
+ ```
739
+
740
+ **O LOCK.md e atualizado a cada transicao:**
741
+ - Antes de planejar: `step: planning, phase: X`
742
+ - Antes de executar: `step: executing, phase: X`
743
+ - Antes de verificar: `step: verifying, phase: X`
744
+ - Antes de E2E: `step: e2e-testing, phase: X`
745
+ - Antes de reassessment: `step: reassessing, phase: X`
746
+ - Ao completar fase: `step: completed, phase: X`
747
+ - Ao entrar no Polish: `stage: polish`
748
+ - Ao entrar na Entrega: `stage: delivery`
749
+ - Ao finalizar: `status: completed` (e depois deletar o LOCK.md)
750
+
751
+ **Formato de atualizacao rapida:**
752
+ ```bash
753
+ # Atualizar LOCK via sed (rapido, sem reescrever arquivo inteiro)
754
+ sed -i "s/^step: .*/step: executing/" .plano/LOCK.md
755
+ sed -i "s/^phase: .*/phase: ${PHASE_NUMBER}/" .plano/LOCK.md
756
+ sed -i "s/^updated: .*/updated: $(date -u +%Y-%m-%dT%H:%M:%SZ)/" .plano/LOCK.md
757
+ ```
758
+
759
+ ### 3.1 Loop Principal
760
+
761
+ Para cada fase no ROADMAP (da primeira a ultima):
762
+
763
+ ```
764
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
765
+ BUILDER > FASE {X}/{TOTAL}: {Nome}
766
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
767
+ ```
768
+
769
+ #### 3.1.1 Planejar Fase
770
+
771
+ Spawnar up-planejador com flag de modo builder:
772
+
773
+ ```
774
+ Task(prompt="
775
+ <planning_context>
776
+ **Fase:** {phase_number}
777
+ **Modo:** builder (autonomo -- NAO use AskUserQuestion)
778
+
779
+ <files_to_read>
780
+ - .plano/STATE.md (Estado do Projeto)
781
+ - .plano/ROADMAP.md (Roteiro)
782
+ - .plano/REQUIREMENTS.md (Requisitos)
783
+ - .plano/pesquisa/SUMMARY.md (Pesquisa - se existir)
784
+ - .plano/codebase/CONVENTIONS.md (Convencoes - se existir, BROWNFIELD)
785
+ - .plano/codebase/CONCERNS.md (Divida tecnica - se existir, BROWNFIELD)
786
+ - .plano/codebase/ARCHITECTURE.md (Arquitetura - se existir, BROWNFIELD)
787
+ - .plano/codebase/STRUCTURE.md (Estrutura - se existir, BROWNFIELD)
788
+ - ./CLAUDE.md (Instrucoes do projeto, se existir)
789
+ </files_to_read>
790
+
791
+ **IDs de requisitos da fase:** {phase_req_ids}
792
+ **Instrucoes do projeto:** Ler ./CLAUDE.md se existir
793
+
794
+ <builder_mode>
795
+ Voce esta no modo builder. Regras especiais:
796
+ 1. NAO use AskUserQuestion em hipotese alguma
797
+ 2. Se falta CONTEXT.md, planeje usando pesquisa + requisitos
798
+ 3. Se ha ambiguidade, tome a decisao mais razoavel e documente no plano
799
+ 4. Se precisa de informacao que normalmente perguntaria, infira e registre como decisao
800
+ 5. Pesquisa inline: SEMPRE faca (nivel 2+) para garantir implementacoes corretas
801
+ 6. CAPTURES: Se durante o planejamento voce descobrir algo importante (incompatibilidade, risco, oportunidade, decisao critica), registre em .plano/captures/ como arquivo markdown curto
802
+ </builder_mode>
803
+
804
+ <self_check>
805
+ Apos criar os planos, auto-verificar:
806
+ - [ ] Cada requisito da fase mapeado a um plano
807
+ - [ ] Frontmatter valido (wave, depends_on, files_modified, autonomous)
808
+ - [ ] Tarefas sao especificas e acionaveis
809
+ - [ ] Dependencias corretamente identificadas
810
+ - [ ] Waves atribuidas para execucao paralela
811
+ - [ ] must_haves derivados do objetivo da fase
812
+ Se algo falhar, corrija antes de retornar.
813
+ </self_check>
814
+
815
+ <output>
816
+ Escrever PLAN.md em: .plano/fases/{phase_dir}/
817
+ Retornar: ## PLANNING COMPLETE com resumo dos planos
818
+ </output>
819
+ ", subagent_type="up-planejador", description="Planejar Fase {phase_number}")
820
+ ```
821
+
822
+ Verificar retorno:
823
+ - `## PLANNING COMPLETE` → prosseguir para execucao
824
+ - `## PLANNING INCONCLUSIVE` → tentar novamente com mais contexto (max 2 tentativas)
825
+
826
+ ```
827
+ Fase {X}: Planejada — {N} planos em {M} waves
828
+ ```
829
+
830
+ #### 3.1.2 Executar Fase (com Specialist Routing)
831
+
832
+ Usar o mesmo processo do workflow executar-fase.md:
833
+
834
+ ```bash
835
+ INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init executar-fase "${PHASE_NUMBER}")
836
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
837
+ ```
838
+
839
+ Parse JSON para obter: `phase_dir`, `plan_count`, `incomplete_count`, `parallelization`.
840
+
841
+ ```bash
842
+ PLAN_INDEX=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase-plan-index "${PHASE_NUMBER}")
843
+ ```
844
+
845
+ Parse para obter waves e planos.
846
+
847
+ **Specialist Routing — escolher o agente certo por plano:**
848
+
849
+ Para cada plano, ler o frontmatter e detectar o dominio:
850
+
851
+ | Se o plano envolve... | Usar agente |
852
+ |----------------------|-------------|
853
+ | Componentes React, paginas, UI, CSS, Tailwind | `up-frontend-specialist` |
854
+ | API routes, endpoints, middleware, validacao | `up-backend-specialist` |
855
+ | Schema, migrations, seeds, RLS, queries | `up-database-specialist` |
856
+ | Misto ou infra | `up-executor` (generico) |
857
+
858
+ **Deteccao:** Ler campo `type` do frontmatter do PLAN.md. Se nao existir, inferir dos `<files>` das tasks:
859
+ - Arquivos em `app/`, `components/`, `*.tsx` com JSX → frontend
860
+ - Arquivos em `api/`, `server/`, `middleware/`, `route.ts` → backend
861
+ - Arquivos `.sql`, `migrations/`, `schema/`, `seed` → database
862
+ - Misto → usar executor generico
863
+
864
+ **Executar waves:**
865
+
866
+ Para cada wave, spawnar agentes especializados em paralelo (se parallelization=true):
867
+
868
+ ```
869
+ Task(
870
+ subagent_type="{up-frontend-specialist | up-backend-specialist | up-database-specialist | up-executor}",
871
+ prompt="
872
+ <objective>
873
+ Executar plano {plan_number} da fase {phase_number}-{phase_name}.
874
+ Commitar cada tarefa atomicamente. Criar SUMMARY.md. Atualizar STATE.md e ROADMAP.md.
875
+ </objective>
876
+
877
+ <execution_context>
878
+ @~/.claude/up/workflows/executar-plano.md
879
+ @~/.claude/up/references/checkpoints.md
880
+ </execution_context>
881
+
882
+ <builder_mode>
883
+ Modo builder ativo. Regras especiais:
884
+ 1. NAO use AskUserQuestion
885
+ 2. Checkpoints tipo checkpoint:human-verify → auto-aprovar e registrar
886
+ 3. Checkpoints tipo checkpoint:decision → tomar a decisao mais razoavel
887
+ 4. Checkpoints tipo checkpoint:human-action → se possivel automatizar, faca; se nao, registrar como pendente
888
+ 5. Deviation Rule 4 (architectural changes) → decidir autonomamente e registrar no SUMMARY
889
+ 6. CAPTURES: Se durante a execucao voce descobrir algo importante (padrao no codigo, problema potencial, oportunidade de melhoria, decisao arquitetural nao-obvia), registre em .plano/captures/ como arquivo markdown curto. Formato: `capture-{timestamp}-{slug}.md` com frontmatter: type (pattern|problem|opportunity|decision), severity (info|warning|critical), phase (numero). Corpo: 2-5 frases descrevendo o insight.
890
+ </builder_mode>
891
+
892
+ <files_to_read>
893
+ Ler estes arquivos no inicio da execucao usando a ferramenta Read:
894
+ - {phase_dir}/{plan_file} (Plano)
895
+ - .plano/STATE.md (Estado)
896
+ - .plano/config.json (Config)
897
+ - ./CLAUDE.md (Instrucoes do projeto, se existir)
898
+ </files_to_read>
899
+
900
+ <success_criteria>
901
+ - [ ] Todas tarefas executadas
902
+ - [ ] Cada tarefa committed individualmente
903
+ - [ ] SUMMARY.md criado no diretorio do plano
904
+ - [ ] STATE.md atualizado
905
+ - [ ] ROADMAP.md atualizado com progresso
906
+ </success_criteria>
907
+ "
908
+ )
909
+ ```
910
+
911
+ **Spot-check apos cada wave:**
912
+ - Verificar que SUMMARYs existem
913
+ - Verificar que commits existem via `git log --oneline --grep`
914
+ - Se falha: tentar re-executar o plano falho (max 1 retry)
915
+
916
+ ```
917
+ Wave {N}: {count} planos executados
918
+ ```
919
+
920
+ #### 3.1.3 Reflect (Code Review)
921
+
922
+ **O passo "Reflect" do ciclo RARV — revisa codigo ANTES da verificacao formal.**
923
+
924
+ ```
925
+ Fase {X}: Revisando codigo...
926
+ ```
927
+
928
+ Spawnar code reviewer:
929
+
930
+ ```
931
+ Task(
932
+ subagent_type="up-code-reviewer",
933
+ prompt="
934
+ <objective>
935
+ Revisar codigo da fase {phase_number} contra production-requirements e padroes de qualidade.
936
+ Identificar problemas com localizacao exata e sugestao de fix.
937
+ </objective>
938
+
939
+ <files_to_read>
940
+ - {phase_dir}/*-SUMMARY.md (O que foi implementado)
941
+ - $HOME/.claude/up/references/production-requirements.md (Checklist de producao)
942
+ - ./CLAUDE.md (Convencoes do projeto, se existir)
943
+ </files_to_read>
944
+
945
+ <constraints>
946
+ - Revisar TODOS os arquivos modificados na fase (via git log --grep)
947
+ - Verificar 6 dimensoes: production requirements, code quality, security, performance, edge cases, consistency
948
+ - Gerar CODE-REVIEW.md com issues priorizadas e fixes sugeridos
949
+ </constraints>
950
+ ",
951
+ description="Code Review da Fase {phase_number}"
952
+ )
953
+ ```
954
+
955
+ Ler resultado do code review:
956
+
957
+ **Se ha issues CRITICAS (score < 7):**
958
+ - Spawnar executor para corrigir issues criticas
959
+ - Re-rodar code review (max 2 ciclos de correcao)
960
+
961
+ **Se score >= 7:**
962
+ - Registrar score e prosseguir
963
+
964
+ ```
965
+ Reflect: score {N}/10 | {criticas} criticas | {importantes} importantes | {menores} menores
966
+ ```
967
+
968
+ #### 3.1.4 Verificar Fase
969
+
970
+ Spawnar verificador autonomo:
971
+
972
+ ```
973
+ Task(
974
+ prompt="Verificar atingimento do objetivo da fase {phase_number}.
975
+ Diretorio da fase: {phase_dir}
976
+ Objetivo da fase: {goal do ROADMAP.md}
977
+ IDs de requisitos da fase: {phase_req_ids}
978
+
979
+ <builder_mode>
980
+ Modo builder. NAO use AskUserQuestion.
981
+ - Verificar must_haves contra codebase real
982
+ - Cross-referenciar requisitos do frontmatter contra REQUIREMENTS.md
983
+ - Rodar testes automatizados se existirem
984
+ - Se human_needed: considerar como PASSED (sera verificado no final)
985
+ - Criar VERIFICATION.md
986
+ </builder_mode>
987
+ ",
988
+ subagent_type="up-verificador"
989
+ )
990
+ ```
991
+
992
+ Ler status da verificacao:
993
+
994
+ ```bash
995
+ grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
996
+ ```
997
+
998
+ | Status | Acao no Builder |
999
+ |--------|----------------|
1000
+ | `passed` | Marcar fase completa, avancar |
1001
+ | `gaps_found` | Tentar corrigir (planejar gaps + executar, max 1 ciclo) |
1002
+ | `human_needed` | Registrar para revisao final, avancar |
1003
+
1004
+ #### 3.1.5 Teste E2E da Fase (Playwright)
1005
+
1006
+ **Executar APENAS se a fase tem UI/rotas** (pular para fases de infra, schema, config).
1007
+
1008
+ Detecao: Se PLANs da fase criam/modificam arquivos em `app/`, `pages/`, `src/components/`, `src/features/` ou arquivos `page.tsx`/`route.ts` → tem UI, testar.
1009
+
1010
+ **Referencia:** `@~/.claude/up/workflows/builder-e2e.md` — Passo 3 (Teste por Fase)
1011
+
1012
+ 1. Subir dev server (se ainda nao esta rodando):
1013
+ ```bash
1014
+ # Detectar e subir — ver builder-e2e.md Passo 1
1015
+ # Manter rodando entre fases (nao matar apos cada fase)
1016
+ ```
1017
+
1018
+ 2. Extrair must_haves da fase e traduzir em testes E2E
1019
+
1020
+ 3. Para cada teste:
1021
+ - Navegar para rota relevante
1022
+ - `browser_snapshot()` para obter refs dos elementos
1023
+ - Verificar que elementos esperados existem
1024
+ - Interagir (clicar, preencher, submeter) se necessario
1025
+ - `browser_snapshot()` para verificar resultado
1026
+ - `browser_take_screenshot()` como evidencia em `.plano/fases/[fase]/screenshots/`
1027
+ - `browser_console_messages(level: "error")` — checar erros JS
1028
+ - `browser_network_requests()` — checar falhas de API
1029
+
1030
+ 4. Se bugs encontrados:
1031
+ - Para cada bug: loop de correcao (max 5 tentativas)
1032
+ - Analisar (screenshot + console + network + codigo)
1033
+ - Se tentativa > 1: analisar por que correcao anterior falhou
1034
+ - Corrigir inline
1035
+ - Commit: `fix(fase-{X}): [descricao] (tentativa N)`
1036
+ - Re-testar o teste que falhou
1037
+ - Se passou: proximo bug. Se falhou: proxima tentativa
1038
+ - Apos 5 tentativas sem sucesso: registrar como nao corrigido
1039
+
1040
+ 5. Criar `.plano/fases/[fase]/E2E-RESULTS.md` com resultados
1041
+
1042
+ ```
1043
+ Fase {X}: E2E — {passed}/{total} testes passaram [{bugs} bugs, {fixed} corrigidos]
1044
+ ```
1045
+
1046
+ **Se nao tem UI:** Pular silenciosamente.
1047
+ **Se dev server falha:** Registrar e pular E2E (nao bloqueia).
1048
+
1049
+ #### 3.1.6 Marcar Fase Completa
1050
+
1051
+ ```bash
1052
+ COMPLETION=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase complete "${PHASE_NUMBER}")
1053
+ ```
1054
+
1055
+ ```bash
1056
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(fase-{X}): completar execucao" --files .plano/ROADMAP.md .plano/STATE.md .plano/REQUIREMENTS.md
1057
+ ```
1058
+
1059
+ ```
1060
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1061
+ BUILDER > FASE {X}/{TOTAL} COMPLETA ✓
1062
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1063
+ ```
1064
+
1065
+ #### 3.1.7 Reassessment (Re-avaliacao do Roadmap)
1066
+
1067
+ Apos cada fase completa, verificar se o roadmap ainda faz sentido ANTES de planejar a proxima.
1068
+
1069
+ **Quando fazer reassessment:**
1070
+ - SEMPRE apos completar uma fase (rapido, ~30 segundos)
1071
+ - NAO requer agente separado — o orquestrador faz inline
1072
+
1073
+ **Processo:**
1074
+
1075
+ 1. Ler ROADMAP.md (fases futuras) e SUMMARYs da fase recem-completa
1076
+ 2. Verificar 3 coisas:
1077
+
1078
+ **a) Fases futuras ainda sao necessarias?**
1079
+ - A fase recem-completa pode ter resolvido algo que uma fase futura faria
1080
+ - Ex: Fase 3 (auth) pode ter adicionado RBAC que Fase 6 (permissoes) planejava
1081
+ - Se sim: marcar fase futura como "Removida (coberta pela Fase X)" no ROADMAP
1082
+
1083
+ **b) Fases futuras precisam de ajuste?**
1084
+ - Decisoes arquiteturais da fase atual podem mudar o escopo de fases futuras
1085
+ - Ex: Escolheu tRPC ao inves de REST — fases de API precisam refletir isso
1086
+ - Se sim: atualizar objetivo/criterios da fase futura no ROADMAP
1087
+
1088
+ **c) Surgiram necessidades novas?**
1089
+ - Ler `.plano/captures/` para insights capturados durante a fase
1090
+ - Se algum insight e CRITICO (bloqueia fases futuras): adicionar nova fase
1091
+ - Se e melhoria: ignorar (sera coberto pelo estagio Polish)
1092
+
1093
+ 3. Se houve mudancas no roadmap:
1094
+
1095
+ ```bash
1096
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: reassessment apos fase {X}" --files .plano/ROADMAP.md
1097
+ ```
1098
+
1099
+ ```
1100
+ Reassessment: [sem mudancas | X fases ajustadas | Y fases removidas | Z fases adicionadas]
1101
+ ```
1102
+
1103
+ **Se NAO houve mudancas:** Seguir silenciosamente (1 linha de log apenas).
1104
+
1105
+ #### 3.1.8 Avancar para Proxima Fase
1106
+
1107
+ Voltar para 3.1.1 com a proxima fase. Sem /clear — continuar no mesmo contexto.
1108
+
1109
+ **Gestao de contexto:** Se o contexto estiver acima de ~60%, fazer um checkpoint:
1110
+ - Salvar estado atual em STATE.md
1111
+ - Registrar fase atual e status
1112
+ - Continuar (com 1M de contexto, a maioria dos projetos cabe)
1113
+
1114
+ ---
1115
+
1116
+ ## Estagio 4: QUALITY GATE LOOP (Autonomo)
1117
+
1118
+ Executado APOS todas as fases do build completarem.
1119
+ Ciclo de avaliacao → correcao → re-avaliacao ate atingir score >= 9.0/10.
1120
+
1121
+ **Score Composto (6 dimensoes):**
1122
+
1123
+ | Dimensao | Peso | Como mede |
1124
+ |----------|------|-----------|
1125
+ | Funcionalidade | 25% | Requisitos atendidos / total (REQUIREMENTS.md) |
1126
+ | E2E | 20% | Testes passando / total (Playwright) |
1127
+ | UX | 15% | Score do UX tester (6 sub-dimensoes) |
1128
+ | Responsividade | 15% | Score do mobile-first |
1129
+ | Codigo | 15% | Score do melhorias (UX+perf+modernidade) |
1130
+ | Completude | 10% | Paginas sem erro / total (smoke test) |
1131
+
1132
+ **Limites de seguranca:**
1133
+ - Max 5 ciclos de refinamento
1134
+ - Se ciclo melhorou < 0.3 pontos: parar (diminishing returns)
1135
+ - Nunca entregar abaixo de 7.0 (se ta abaixo, tem bug grave)
1136
+ - Meta: score >= 9.0
1137
+
1138
+ ### 4.0 Iniciar Quality Gate
1139
+
1140
+ ```
1141
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1142
+ BUILDER > QUALITY GATE — CICLO 1
1143
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1144
+ ```
1145
+
1146
+ Definir `$CYCLE = 1`, `$PREVIOUS_SCORE = 0`.
1147
+
1148
+ ### 4.1 Rodar Avaliadores (Todos em Paralelo)
1149
+
1150
+ **4.1a Melhorias de Codigo** (3 auditores paralelos → sintetizador)
1151
+
1152
+ Mesmo processo existente: spawnar up-auditor-ux, up-auditor-performance, up-auditor-modernidade em paralelo, depois up-sintetizador-melhorias.
1153
+
1154
+ ### 4.1 Rodar Melhorias
1155
+
1156
+ ```
1157
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1158
+ BUILDER > POLIMENTO — AUDITORIA
1159
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1160
+ ```
1161
+
1162
+ ```bash
1163
+ mkdir -p .plano/melhorias
1164
+ ```
1165
+
1166
+ Spawnar 3 auditores em paralelo (mesmo processo do melhorias.md):
1167
+
1168
+ ```
1169
+ Task(subagent_type="up-auditor-ux", prompt="
1170
+ <objective>
1171
+ Executar auditoria completa de UX/usabilidade do codebase deste projeto.
1172
+ Salvar resultado em .plano/melhorias/ux-sugestoes.md
1173
+ </objective>
1174
+ <files_to_read>
1175
+ - ./CLAUDE.md (se existir)
1176
+ </files_to_read>
1177
+ <constraints>
1178
+ - Carregar reference: $HOME/.claude/up/references/audit-ux.md
1179
+ - Carregar template: $HOME/.claude/up/templates/suggestion.md
1180
+ - Salvar resultado em .plano/melhorias/ux-sugestoes.md
1181
+ - Retornar resumo: ## AUDITORIA UX COMPLETA
1182
+ </constraints>
1183
+ ", description="Auditoria UX")
1184
+
1185
+ Task(subagent_type="up-auditor-performance", prompt="
1186
+ <objective>
1187
+ Executar auditoria completa de performance do codebase deste projeto.
1188
+ Salvar resultado em .plano/melhorias/performance-sugestoes.md
1189
+ </objective>
1190
+ <files_to_read>
1191
+ - ./CLAUDE.md (se existir)
1192
+ </files_to_read>
1193
+ <constraints>
1194
+ - Carregar reference: $HOME/.claude/up/references/audit-performance.md
1195
+ - Carregar template: $HOME/.claude/up/templates/suggestion.md
1196
+ - Salvar resultado em .plano/melhorias/performance-sugestoes.md
1197
+ - Retornar resumo: ## AUDITORIA PERFORMANCE COMPLETA
1198
+ </constraints>
1199
+ ", description="Auditoria Performance")
1200
+
1201
+ Task(subagent_type="up-auditor-modernidade", prompt="
1202
+ <objective>
1203
+ Executar auditoria completa de modernidade do codebase deste projeto.
1204
+ Salvar resultado em .plano/melhorias/modernidade-sugestoes.md
1205
+ </objective>
1206
+ <files_to_read>
1207
+ - ./CLAUDE.md (se existir)
1208
+ </files_to_read>
1209
+ <constraints>
1210
+ - Carregar reference: $HOME/.claude/up/references/audit-modernidade.md
1211
+ - Carregar template: $HOME/.claude/up/templates/suggestion.md
1212
+ - Salvar resultado em .plano/melhorias/modernidade-sugestoes.md
1213
+ - Retornar resumo: ## AUDITORIA MODERNIDADE COMPLETA
1214
+ </constraints>
1215
+ ", description="Auditoria Modernidade")
1216
+ ```
1217
+
1218
+ Apos os 3 retornarem, spawnar sintetizador:
1219
+
1220
+ ```
1221
+ Task(subagent_type="up-sintetizador-melhorias", prompt="
1222
+ <objective>
1223
+ Sintetizar sugestoes dos 3 auditores em relatorio consolidado.
1224
+ Salvar em .plano/melhorias/RELATORIO.md
1225
+ </objective>
1226
+ <files_to_read>
1227
+ - .plano/melhorias/ux-sugestoes.md
1228
+ - .plano/melhorias/performance-sugestoes.md
1229
+ - .plano/melhorias/modernidade-sugestoes.md
1230
+ - ./CLAUDE.md (se existir)
1231
+ </files_to_read>
1232
+ <constraints>
1233
+ - Carregar template: $HOME/.claude/up/templates/report.md
1234
+ - Carregar template: $HOME/.claude/up/templates/suggestion.md
1235
+ - Deduplicar, detectar conflitos, classificar em 4 quadrantes
1236
+ - Retornar resumo: ## SINTESE DE MELHORIAS COMPLETA
1237
+ </constraints>
1238
+ ", description="Sintetizar melhorias")
1239
+ ```
1240
+
1241
+ ### 4.2 Aplicar Quick Wins
1242
+
1243
+ Ler `.plano/melhorias/RELATORIO.md` e extrair sugestoes do quadrante "Quick Wins" (alto impacto, baixo esforco).
1244
+
1245
+ **Filtro:** Aplicar apenas Quick Wins com impacto >= "Grande" ou "Medio".
1246
+
1247
+ Se ha Quick Wins para aplicar:
1248
+
1249
+ 1. Gerar fases a partir do relatorio:
1250
+ ```bash
1251
+ echo '{"source":"melhorias","report_path":".plano/melhorias/RELATORIO.md","approved_ids":["MELH-001","MELH-003"],"grouping":"auto"}' | node "$HOME/.claude/up/bin/up-tools.cjs" phase generate-from-report
1252
+ ```
1253
+
1254
+ 2. Para cada fase gerada de melhoria:
1255
+ - Planejar (up-planejador com builder_mode)
1256
+ - Executar (up-executor com builder_mode)
1257
+ - Verificar rapidamente
1258
+
1259
+ 3. Commitar melhorias:
1260
+ ```bash
1261
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "polish: aplicar quick wins de melhorias" --files .plano/ROADMAP.md .plano/STATE.md
1262
+ ```
1263
+
1264
+ ```
1265
+ Melhorias: [N] quick wins aplicadas
1266
+ ```
1267
+
1268
+ Se nao ha Quick Wins ou todas tem impacto baixo:
1269
+ ```
1270
+ Melhorias: auditoria completa, sem quick wins para aplicar automaticamente
1271
+ Relatorio completo em .plano/melhorias/RELATORIO.md
1272
+ ```
1273
+
1274
+ ### 4.3 UX Tester (Navegar como Usuario Real)
1275
+
1276
+ **Executar APENAS se o projeto tem UI web.** Pular para CLIs, APIs puras, bibliotecas.
1277
+
1278
+ ```
1279
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1280
+ BUILDER > POLIMENTO — UX REVIEW
1281
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1282
+ ```
1283
+
1284
+ **Referencia:** `@~/.claude/up/workflows/ux-tester.md`
1285
+
1286
+ Executar o workflow completo do UX Tester:
1287
+
1288
+ 1. Subir dev server (se nao esta rodando do E2E)
1289
+ 2. Descobrir fluxos (de PROJECT.md/REQUIREMENTS.md)
1290
+ 3. Definir 2-3 personas
1291
+ 4. Navegar cada fluxo como cada persona, avaliando 6 dimensoes:
1292
+ - Clareza, Eficiencia, Feedback, Consistencia, Acessibilidade, Performance
1293
+ 5. Gerar `.plano/ux-review/UX-REPORT.md` com issues e scores
1294
+ 6. **Implementar TODAS as melhorias seguras automaticamente:**
1295
+ - Textos/copy confusos → reescrever
1296
+ - Feedback ausente → adicionar loading, toasts, hover states
1297
+ - Acessibilidade → alt, labels, aria, focus visible
1298
+ - Espacamento/layout → padding, margin, fontes
1299
+ - Consistencia → unificar estilos, terminologia
1300
+ - Performance simples → lazy loading, debounce, memo
1301
+ 7. Commit atomico por melhoria: `ux({area}): {descricao}`
1302
+ 8. Screenshots antes/depois para cada melhoria
1303
+ 9. Re-navegar para confirmar
1304
+
1305
+ ```
1306
+ UX Review: score [N]/10 | [X] issues | [Y] implementadas (incluindo componentes novos e ajustes de fluxo) | [Z] tentativas falhas
1307
+ ```
1308
+
1309
+ **Se nao tem UI:** Pular silenciosamente.
1310
+ **Se dev server falha:** Registrar e pular.
1311
+
1312
+ ### 4.4 Mobile First (Responsividade)
1313
+
1314
+ **Executar APENAS se o projeto tem UI web.** Pular para CLIs, APIs puras, bibliotecas.
1315
+
1316
+ ```
1317
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1318
+ BUILDER > POLIMENTO — RESPONSIVIDADE
1319
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1320
+ ```
1321
+
1322
+ **Referencia:** `@~/.claude/up/workflows/mobile-first.md`
1323
+
1324
+ Executar o workflow completo do Mobile First:
1325
+
1326
+ 1. Detectar stack CSS (Tailwind, CSS Modules, etc.)
1327
+ 2. Scan: capturar todas as paginas em mobile (390px), tablet (768px), desktop (1920px)
1328
+ 3. Detectar problemas: overflow, texto pequeno, alvos de toque, grid quebrado
1329
+ 4. Para cada problema:
1330
+ - Capturar referencia desktop
1331
+ - Corrigir com classes responsivas / media queries
1332
+ - Verificar mobile melhorou
1333
+ - Verificar desktop INTACTO (se mudou: reverter, tentar outra abordagem)
1334
+ - Commit atomico
1335
+ 5. Gerar `.plano/mobile-review/MOBILE-REPORT.md`
1336
+
1337
+ ```
1338
+ Mobile First: score [N]/10 | [X] problemas | [Y] corrigidos | desktop intacto
1339
+ ```
1340
+
1341
+ **Se nao tem UI:** Pular silenciosamente.
1342
+ **Se dev server falha:** Registrar e pular.
1343
+
1344
+ ### 4.5 Rodar Ideias
1345
+
1346
+ ```
1347
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1348
+ BUILDER > POLIMENTO — IDEIAS
1349
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1350
+ ```
1351
+
1352
+ ```bash
1353
+ mkdir -p .plano/ideias
1354
+ ```
1355
+
1356
+ Spawnar 2 agentes em paralelo:
1357
+
1358
+ ```
1359
+ Task(subagent_type="up-analista-codigo", prompt="
1360
+ <objective>
1361
+ Analisar codebase para identificar gaps funcionais e oportunidades de features novas.
1362
+ Salvar em .plano/ideias/codigo-sugestoes.md
1363
+ </objective>
1364
+ <files_to_read>
1365
+ - ./CLAUDE.md (se existir)
1366
+ - .plano/PROJECT.md
1367
+ </files_to_read>
1368
+ ", description="Analise de codigo para ideias")
1369
+
1370
+ Task(subagent_type="up-pesquisador-mercado", prompt="
1371
+ <objective>
1372
+ Pesquisar concorrentes e tendencias de mercado para sugerir features novas.
1373
+ Salvar em .plano/ideias/mercado-sugestoes.md
1374
+ </objective>
1375
+ <files_to_read>
1376
+ - .plano/PROJECT.md
1377
+ </files_to_read>
1378
+ ", description="Pesquisa de mercado para ideias")
1379
+ ```
1380
+
1381
+ Apos os 2 retornarem, spawnar consolidador:
1382
+
1383
+ ```
1384
+ Task(subagent_type="up-consolidador-ideias", prompt="
1385
+ <objective>
1386
+ Consolidar sugestoes de features. Aplicar ICE scoring, gerar anti-features.
1387
+ Salvar em .plano/ideias/RELATORIO.md
1388
+ </objective>
1389
+ <files_to_read>
1390
+ - .plano/ideias/codigo-sugestoes.md
1391
+ - .plano/ideias/mercado-sugestoes.md
1392
+ - .plano/PROJECT.md
1393
+ </files_to_read>
1394
+ ", description="Consolidar ideias com ICE scoring")
1395
+ ```
1396
+
1397
+ **NAO implementar ideias.** Apenas salvar o relatorio.
1398
+
1399
+ ```
1400
+ Ideias: [N] sugestoes geradas com ICE scoring
1401
+ Relatorio em .plano/ideias/RELATORIO.md
1402
+ ```
1403
+
1404
+ ### 4.6 Blind Validation (Testar como Usuario Final)
1405
+
1406
+ **Validar requisitos SEM ler codigo — apenas navegando o app.**
1407
+
1408
+ ```
1409
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1410
+ QUALITY GATE — BLIND VALIDATION
1411
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1412
+ ```
1413
+
1414
+ ```
1415
+ Task(
1416
+ subagent_type="up-blind-validator",
1417
+ prompt="
1418
+ <objective>
1419
+ Validar requisitos SEM ler codigo. Apenas navegar o app via Playwright e curl.
1420
+ Testar cada requisito como usuario final: renderiza? funciona? feedback existe?
1421
+ </objective>
1422
+
1423
+ <files_to_read>
1424
+ - .plano/REQUIREMENTS.md (UNICO doc de especificacao)
1425
+ - .plano/PROJECT.md (contexto do produto)
1426
+ </files_to_read>
1427
+
1428
+ <constraints>
1429
+ - NAO ler arquivos de codigo (.ts, .tsx, .py, .css)
1430
+ - NAO ler SUMMARYs, PLANs, ARCHITECTURE
1431
+ - APENAS navegar o app e testar como usuario
1432
+ - Gerar BLIND-VALIDATION.md com screenshots
1433
+ </constraints>
1434
+ ",
1435
+ description="Blind Validation — testar como usuario final"
1436
+ )
1437
+ ```
1438
+
1439
+ ```
1440
+ Blind Validation: {score}% | {passed} PASS | {failed} FAIL | {partial} PARTIAL
1441
+ ```
1442
+
1443
+ ### 4.7 Calcular Score Composto
1444
+
1445
+ Agregar scores de todos os avaliadores:
1446
+
1447
+ ```
1448
+ Funcionalidade (20%): requisitos [x] / total no REQUIREMENTS.md → 0-10
1449
+ Blind Valid. (20%): score do BLIND-VALIDATION.md → 0-10
1450
+ E2E (15%): testes passaram / total no E2E mais recente → 0-10
1451
+ UX (10%): score do UX-REPORT.md → 0-10
1452
+ Responsividade (10%): score do MOBILE-REPORT.md → 0-10
1453
+ Codigo (15%): (10 - problemas_criticos) do RELATORIO.md melhorias → 0-10
1454
+ Completude (10%): rotas sem erro / total no smoke test → 0-10
1455
+
1456
+ **Modo normal:**
1457
+ Score = (func × 0.20) + (blind × 0.20) + (e2e × 0.15) + (ux × 0.10) + (resp × 0.10) + (cod × 0.15) + (comp × 0.10)
1458
+
1459
+ **Modo clone (builder_type: "clone"):**
1460
+ Score = (func × 0.15) + (fidelidade × 0.20) + (blind × 0.15) + (e2e × 0.10) + (ux × 0.10) + (resp × 0.10) + (cod × 0.10) + (comp × 0.10)
1461
+
1462
+ A dimensao "Fidelidade" usa o up-clone-verifier: compara features (funcional) + visual contra original.
1463
+ ```
1464
+
1465
+ **Se algum avaliador nao rodou** (ex: sem UI, sem E2E): redistribuir peso proporcionalmente entre os que rodaram.
1466
+
1467
+ ```
1468
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1469
+ QUALITY GATE — CICLO {CYCLE} — SCORE: {SCORE}/10
1470
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1471
+
1472
+ | Dimensao | Score | Peso | Contribuicao |
1473
+ |----------|-------|------|-------------|
1474
+ | Funcionalidade | [N]/10 | 25% | [X] |
1475
+ | E2E | [N]/10 | 20% | [X] |
1476
+ | UX | [N]/10 | 15% | [X] |
1477
+ | Responsividade | [N]/10 | 15% | [X] |
1478
+ | Codigo | [N]/10 | 15% | [X] |
1479
+ | Completude | [N]/10 | 10% | [X] |
1480
+ | **TOTAL** | **[SCORE]/10** | | |
1481
+ ```
1482
+
1483
+ ### 4.8 Decidir: Continuar ou Entregar
1484
+
1485
+ **Se score >= 9.0:** Ir para Estagio 5 (Entrega). Sistema pronto.
1486
+
1487
+ **Se score < 9.0 E cycle < 5 E (score - previous_score) >= 0.3:**
1488
+
1489
+ ```
1490
+ Score {SCORE} < 9.0 — identificando gaps para correcao...
1491
+ ```
1492
+
1493
+ Identificar top gaps (dimensoes com menor score):
1494
+ 1. Ordenar dimensoes por score (menor primeiro)
1495
+ 2. Para cada dimensao abaixo de 9.0:
1496
+ - Ler relatorio correspondente
1497
+ - Extrair issues nao corrigidas / requisitos pendentes
1498
+ - Priorizar por impacto no score
1499
+
1500
+ **Implementar correcoes:**
1501
+ - Issues de codigo: planejar mini-fase → executar → commit
1502
+ - Issues de UX: aplicar fixes (mesmo processo do UX tester)
1503
+ - Issues de responsividade: aplicar fixes (mesmo processo do mobile-first)
1504
+ - Requisitos pendentes: planejar mini-fase → executar
1505
+ - Issues de E2E: corrigir bugs (max 5 tentativas)
1506
+
1507
+ Apos implementar:
1508
+
1509
+ ```
1510
+ $PREVIOUS_SCORE = $SCORE
1511
+ $CYCLE += 1
1512
+ ```
1513
+
1514
+ **Voltar para 4.1** (re-rodar avaliadores no proximo ciclo).
1515
+
1516
+ **Se cycle >= 5:** Entregar com score atual.
1517
+ ```
1518
+ Quality Gate: max ciclos atingido. Entregando com score {SCORE}/10.
1519
+ ```
1520
+
1521
+ **Se (score - previous_score) < 0.3:** Diminishing returns. Entregar.
1522
+ ```
1523
+ Quality Gate: melhoria < 0.3 pontos. Entregando com score {SCORE}/10.
1524
+ ```
1525
+
1526
+ ### 4.9 DevOps — Artefatos de Producao
1527
+
1528
+ ```
1529
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1530
+ BUILDER > PRODUCTION ARTIFACTS
1531
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1532
+ ```
1533
+
1534
+ Spawnar devops agent:
1535
+
1536
+ ```
1537
+ Task(
1538
+ subagent_type="up-devops-agent",
1539
+ prompt="
1540
+ <objective>
1541
+ Gerar artefatos de producao para o projeto: Dockerfile, docker-compose, CI/CD, .env.example, seed data, scripts.
1542
+ </objective>
1543
+
1544
+ <files_to_read>
1545
+ - .plano/PROJECT.md
1546
+ - .plano/SYSTEM-DESIGN.md (schema, integracoes)
1547
+ - ./package.json
1548
+ - ./CLAUDE.md (se existir)
1549
+ </files_to_read>
1550
+
1551
+ <builder_mode>
1552
+ Modo builder. NAO pergunte nada. Gere tudo autonomamente.
1553
+ Adapte ao stack real do projeto.
1554
+ </builder_mode>
1555
+ ",
1556
+ description="Gerar artefatos de producao"
1557
+ )
1558
+ ```
1559
+
1560
+ ```
1561
+ DevOps: Dockerfile + docker-compose + CI/CD + .env.example + seed data
1562
+ ```
1563
+
1564
+ ### 4.10 Technical Writer — Documentacao
1565
+
1566
+ ```
1567
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1568
+ BUILDER > DOCUMENTACAO
1569
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1570
+ ```
1571
+
1572
+ Spawnar technical writer:
1573
+
1574
+ ```
1575
+ Task(
1576
+ subagent_type="up-technical-writer",
1577
+ prompt="
1578
+ <objective>
1579
+ Gerar documentacao completa: README.md, API docs, CHANGELOG.md, setup guide.
1580
+ Documentacao com conteudo REAL do projeto (nao placeholders).
1581
+ </objective>
1582
+
1583
+ <files_to_read>
1584
+ - .plano/PROJECT.md
1585
+ - .plano/REQUIREMENTS.md
1586
+ - .plano/SYSTEM-DESIGN.md
1587
+ - .plano/PRODUCT-ANALYSIS.md
1588
+ - ./package.json
1589
+ - ./CLAUDE.md (se existir)
1590
+ </files_to_read>
1591
+
1592
+ <builder_mode>
1593
+ Modo builder. NAO pergunte nada. Gere documentacao autonomamente.
1594
+ README deve ter instrucoes de setup que FUNCIONAM.
1595
+ </builder_mode>
1596
+ ",
1597
+ description="Gerar documentacao completa"
1598
+ )
1599
+ ```
1600
+
1601
+ ```
1602
+ Docs: README.md + CHANGELOG.md + API docs
1603
+ ```
1604
+
1605
+ ### 4.11 Security Review
1606
+
1607
+ ```
1608
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1609
+ BUILDER > SECURITY AUDIT
1610
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1611
+ ```
1612
+
1613
+ Spawnar security reviewer:
1614
+
1615
+ ```
1616
+ Task(
1617
+ subagent_type="up-security-reviewer",
1618
+ prompt="
1619
+ <objective>
1620
+ Auditar codigo para vulnerabilidades de seguranca (OWASP Top 10, auth, injection, data exposure).
1621
+ </objective>
1622
+
1623
+ <files_to_read>
1624
+ - ./CLAUDE.md (se existir)
1625
+ - .plano/SYSTEM-DESIGN.md (roles, auth design)
1626
+ </files_to_read>
1627
+
1628
+ <builder_mode>
1629
+ Modo builder. Gere SECURITY-REVIEW.md com vulnerabilidades encontradas.
1630
+ </builder_mode>
1631
+ ",
1632
+ description="Auditoria de seguranca"
1633
+ )
1634
+ ```
1635
+
1636
+ Se ha vulnerabilidades CRITICAS: corrigir automaticamente (spawnar executor com fix sugerido).
1637
+
1638
+ ```
1639
+ Security: score {N}/10 | {criticas} criticas | {altas} altas
1640
+ ```
1641
+
1642
+ ### 4.12 QA — Testes Automatizados
1643
+
1644
+ ```
1645
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1646
+ BUILDER > QA — TESTES
1647
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1648
+ ```
1649
+
1650
+ Spawnar QA agent:
1651
+
1652
+ ```
1653
+ Task(
1654
+ subagent_type="up-qa-agent",
1655
+ prompt="
1656
+ <objective>
1657
+ Identificar gaps de cobertura de testes, escrever testes que faltam, executar todos.
1658
+ </objective>
1659
+
1660
+ <files_to_read>
1661
+ - .plano/PROJECT.md
1662
+ - ./package.json
1663
+ - ./CLAUDE.md (se existir)
1664
+ </files_to_read>
1665
+
1666
+ <builder_mode>
1667
+ Modo builder. Escreva testes e rode autonomamente.
1668
+ Foco: API routes (90%+), logica de negocio (80%+), componentes com logica (70%+).
1669
+ </builder_mode>
1670
+ ",
1671
+ description="QA — escrever e rodar testes"
1672
+ )
1673
+ ```
1674
+
1675
+ ```
1676
+ QA: {N} testes escritos | {X} passando | cobertura estimada {%}
1677
+ ```
1678
+
1679
+ ### 4.13 Rodar Ideias (Uma Vez, Apos Quality Gate)
1680
+
1681
+ **Rodar ideias apenas UMA VEZ, apos o loop de qualidade terminar (nao a cada ciclo).**
1682
+
1683
+ Mesmo processo de ideias existente (2 agentes paralelos + consolidador).
1684
+ NAO implementar ideias — apenas salvar relatorio para proximos passos.
1685
+
1686
+ ---
1687
+
1688
+ ## Estagio 5: ENTREGA (Autonomo)
1689
+
1690
+ ### 5.1 Teste E2E Final Completo (Playwright)
1691
+
1692
+ **Referencia:** `@~/.claude/up/workflows/builder-e2e.md` — Passo 4 (Teste Final)
1693
+
1694
+ **Executar APENAS se o projeto tem UI web.** Pular para CLIs, APIs puras, bibliotecas.
1695
+
1696
+ ```
1697
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1698
+ BUILDER > TESTE E2E FINAL
1699
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1700
+ ```
1701
+
1702
+ 1. Subir dev server (se nao esta rodando)
1703
+ 2. Criar diretorios:
1704
+ ```bash
1705
+ mkdir -p .plano/e2e/smoke .plano/e2e/responsive .plano/e2e/flows
1706
+ ```
1707
+
1708
+ 3. **Smoke test de rotas:**
1709
+ - Descobrir todas as rotas do projeto (de arquivos page.tsx/route.ts)
1710
+ - Visitar cada rota
1711
+ - Screenshot de cada uma
1712
+ - Checar console errors
1713
+ - Registrar rotas OK vs quebradas
1714
+
1715
+ 4. **Fluxos E2E principais (3-5 fluxos):**
1716
+ - Derivar de REQUIREMENTS.md os fluxos criticos
1717
+ - Para cada fluxo: navegar → interagir → verificar → screenshot
1718
+ - Se auth necessario: criar usuario de teste ou usar seed data
1719
+
1720
+ 5. **Teste de responsividade:**
1721
+ - Desktop (1920x1080), Tablet (768x1024), Mobile (375x812)
1722
+ - Screenshot da pagina principal em cada viewport
1723
+ - Verificar se layout adapta (nao overflow, nao cortado)
1724
+
1725
+ 6. **Correcao de bugs encontrados:**
1726
+ - Para cada bug: loop de correcao (max 5 tentativas por bug)
1727
+ - Analisar → corrigir → commit → re-testar
1728
+ - Se tentativa > 1: analisar por que tentativa anterior falhou
1729
+ - Apos 5 tentativas: registrar como nao corrigido e seguir
1730
+
1731
+ 7. Gerar `.plano/e2e/E2E-REPORT.md` com resultados completos
1732
+
1733
+ 8. Matar dev server e fechar browser:
1734
+ ```bash
1735
+ kill $DEV_PID 2>/dev/null
1736
+ ```
1737
+ `browser_close()`
1738
+
1739
+ ```
1740
+ Teste E2E: {routes_ok}/{routes_total} rotas | {flows_passed}/{flows_total} fluxos | {bugs} bugs [{fixed} corrigidos]
1741
+ ```
1742
+
1743
+ **Se nao tem UI:** Pular silenciosamente.
1744
+ **Se dev server falha:** Registrar e pular (nao bloqueia entrega).
1745
+
1746
+ ### 5.2 Verificacao de Requisitos
1747
+
1748
+ Ler REQUIREMENTS.md e verificar cobertura:
1749
+
1750
+ ```bash
1751
+ node "$HOME/.claude/up/bin/up-tools.cjs" progress json
1752
+ ```
1753
+
1754
+ Contar requisitos completos vs total.
1755
+
1756
+ Se ha requisitos pendentes: listar com motivo (fase falhou, verificacao pendente, etc.).
1757
+
1758
+ ### 5.3 Triagem de Captures (Insights)
1759
+
1760
+ Ler todos os arquivos em `.plano/captures/`:
1761
+
1762
+ ```bash
1763
+ ls .plano/captures/*.md 2>/dev/null | wc -l
1764
+ ```
1765
+
1766
+ Se ha captures:
1767
+
1768
+ 1. Ler cada arquivo e classificar:
1769
+
1770
+ | type | Acao |
1771
+ |------|------|
1772
+ | `critical` + `problem` | Listar no DELIVERY.md como "Problemas Criticos Detectados" |
1773
+ | `warning` + `problem` | Listar no DELIVERY.md como "Alertas" |
1774
+ | `opportunity` | Listar no DELIVERY.md como "Oportunidades Detectadas" |
1775
+ | `pattern` | Listar no DELIVERY.md como "Padroes Identificados" |
1776
+ | `decision` | Ja registrado no PROJECT.md — ignorar |
1777
+ | `info` | Ignorar (informativo apenas) |
1778
+
1779
+ 2. Gerar `.plano/captures/TRIAGE.md`:
1780
+
1781
+ ```markdown
1782
+ # Triagem de Insights
1783
+
1784
+ **Total capturado:** [N] insights durante o build
1785
+
1786
+ ## Criticos
1787
+ [insights criticos que precisam de atencao]
1788
+
1789
+ ## Alertas
1790
+ [problemas potenciais detectados]
1791
+
1792
+ ## Oportunidades
1793
+ [melhorias e features descobertas durante o build]
1794
+
1795
+ ## Padroes
1796
+ [padroes identificados no codebase]
1797
+
1798
+ ## Estatisticas
1799
+ | Tipo | Quantidade |
1800
+ |------|-----------|
1801
+ | critical | [N] |
1802
+ | warning | [N] |
1803
+ | opportunity | [N] |
1804
+ | pattern | [N] |
1805
+ | decision | [N] |
1806
+ | info | [N] |
1807
+ ```
1808
+
1809
+ Se NAO ha captures: pular silenciosamente.
1810
+
1811
+ ### 5.4 Gerar DELIVERY.md (incluindo resultados E2E)
1812
+
1813
+ Carregar template de `$HOME/.claude/up/templates/delivery.md`.
1814
+
1815
+ Preencher com dados de:
1816
+ - PROJECT.md (nome, stack, core value)
1817
+ - ROADMAP.md (fases completadas)
1818
+ - REQUIREMENTS.md (cobertura)
1819
+ - SUMMARYs de cada fase (o que foi construido)
1820
+ - .plano/e2e/E2E-REPORT.md (resultados do teste E2E final, se existir)
1821
+ - E2E-RESULTS.md de cada fase (resultados por fase, se existirem)
1822
+ - .plano/captures/TRIAGE.md (insights capturados durante o build, se existir)
1823
+ - .plano/melhorias/RELATORIO.md (melhorias aplicadas, se existir)
1824
+ - .plano/ideias/RELATORIO.md (top 5 ideias por ICE, se existir)
1825
+ - package.json (como rodar)
1826
+ - .env.example ou env vars usados (credenciais necessarias)
1827
+
1828
+ Contar commits:
1829
+ ```bash
1830
+ git rev-list --count HEAD
1831
+ ```
1832
+
1833
+ Escrever `.plano/DELIVERY.md`.
1834
+
1835
+ ### 5.5 Commit Final e Cleanup
1836
+
1837
+ ```bash
1838
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: relatorio de entrega (modo builder)" --files .plano/DELIVERY.md
1839
+ ```
1840
+
1841
+ **Remover LOCK.md (sessao concluida com sucesso):**
1842
+ ```bash
1843
+ rm -f .plano/LOCK.md
1844
+ ```
1845
+
1846
+ **Fechar Dashboard:**
1847
+ ```bash
1848
+ kill $DASH_PID 2>/dev/null
1849
+ ```
1850
+
1851
+ ### 5.6 Apresentar Resultado
1852
+
1853
+ ```
1854
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1855
+ UP > BUILDER — PROJETO ENTREGUE
1856
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1857
+
1858
+ **[Nome do Projeto]**
1859
+
1860
+ [Resumo em 2-3 frases do que foi construido]
1861
+
1862
+ ## O que foi Entregue
1863
+
1864
+ | Fase | O que Construiu | Status |
1865
+ |------|----------------|--------|
1866
+ | 1 | [resumo] | Completo |
1867
+ | 2 | [resumo] | Completo |
1868
+ | ... | ... | ... |
1869
+
1870
+ ## Metricas
1871
+
1872
+ | Metrica | Valor |
1873
+ |---------|-------|
1874
+ | Fases | [N] completadas |
1875
+ | Requisitos | [X]/[Y] atendidos |
1876
+ | Commits | [N] |
1877
+ | Melhorias aplicadas | [N] |
1878
+ | Ideias geradas | [N] |
1879
+
1880
+ ## Itens para Revisao Humana
1881
+
1882
+ [Lista de itens marcados como human_needed durante verificacao]
1883
+ [Se nenhum: "Nenhum — todas verificacoes automaticas passaram"]
1884
+
1885
+ ## Proximos Passos (Top 5 Ideias)
1886
+
1887
+ 1. [Ideia 1] — ICE: [score]
1888
+ 2. [Ideia 2] — ICE: [score]
1889
+ 3. [Ideia 3] — ICE: [score]
1890
+ 4. [Ideia 4] — ICE: [score]
1891
+ 5. [Ideia 5] — ICE: [score]
1892
+
1893
+ ───────────────────────────────────────────────────────────────
1894
+
1895
+ Relatorio completo: .plano/DELIVERY.md
1896
+
1897
+ Como rodar:
1898
+ [Instrucoes de setup do DELIVERY.md]
1899
+
1900
+ ───────────────────────────────────────────────────────────────
1901
+ ```
1902
+
1903
+ </process>
1904
+
1905
+ <light_process>
1906
+ ## MODO LIGHT — Pipeline Enxuto
1907
+
1908
+ **Ativado quando `--light` esta nos $ARGUMENTS.**
1909
+ Extrair `--light` dos argumentos. O restante e o briefing.
1910
+
1911
+ ### L1. Intake Rapido
1912
+
1913
+ #### L1.1 Detectar Modo
1914
+
1915
+ Mesmo processo do full: verificar codigo existente para determinar greenfield/brownfield.
1916
+
1917
+ ```bash
1918
+ ls package.json go.mod Cargo.toml requirements.txt pyproject.toml 2>/dev/null
1919
+ ls -d src/ app/ lib/ pages/ components/ 2>/dev/null | head -10
1920
+ ```
1921
+
1922
+ #### L1.2 Receber Briefing
1923
+
1924
+ Se briefing veio nos $ARGUMENTS: usar direto.
1925
+ Se vazio: pedir freeform (mesma logica do full).
1926
+
1927
+ #### L1.3 Perguntas Criticas
1928
+
1929
+ Mesma logica do full — perguntar APENAS o essencial (credenciais, APIs, ambiguidades criticas).
1930
+
1931
+ ```
1932
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1933
+ UP > BUILDER LIGHT
1934
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1935
+
1936
+ **Feature:** [resumo em 1-2 frases]
1937
+ **Modo:** [greenfield/brownfield]
1938
+ **Stack:** [detectada ou inferida]
1939
+
1940
+ Pipeline enxuto: planejar → executar → testar.
1941
+ Iniciando...
1942
+ ```
1943
+
1944
+ ═══════════════════════════════════════════════════════
1945
+ FIM DA INTERACAO COM USUARIO
1946
+ ═══════════════════════════════════════════════════════
1947
+
1948
+ ---
1949
+
1950
+ ### L2. Estrutura Inline (Sem Agente Separado)
1951
+
1952
+ **NAO spawnar up-arquiteto.** Fazer tudo inline para economizar tokens.
1953
+
1954
+ #### L2.1 Entender o Codebase (Brownfield)
1955
+
1956
+ **Se `.plano/codebase/` existe e recente (< 7 dias):** Ler STACK.md e CONVENTIONS.md apenas. Pular mapeamento.
1957
+
1958
+ **Se nao existe:** Mini-scan inline:
1959
+ ```bash
1960
+ # Stack
1961
+ cat package.json 2>/dev/null | head -50
1962
+ ls tsconfig.json next.config.* vite.config.* 2>/dev/null
1963
+
1964
+ # Estrutura
1965
+ find . -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/.plano/*' -maxdepth 3 | head -30
1966
+
1967
+ # Arquivos principais
1968
+ find . -name "*.ts" -o -name "*.tsx" | grep -v node_modules | head -30
1969
+ ```
1970
+
1971
+ **Greenfield:** Pular. Inferir stack do briefing ou defaults.
1972
+
1973
+ #### L2.2 Criar/Atualizar Documentos
1974
+
1975
+ ```bash
1976
+ mkdir -p .plano
1977
+ git init 2>/dev/null
1978
+ ```
1979
+
1980
+ **PROJECT.md** — Criar ou atualizar inline (sem template elaborado):
1981
+ ```markdown
1982
+ # [Nome do Projeto/Feature]
1983
+
1984
+ ## O que e
1985
+ [Briefing do usuario em 2-3 frases]
1986
+
1987
+ ## Stack
1988
+ [Stack detectada ou inferida]
1989
+
1990
+ ## Requisitos
1991
+ - [ ] [REQ-01]: [requisito 1]
1992
+ - [ ] [REQ-02]: [requisito 2]
1993
+ ...
1994
+ ```
1995
+
1996
+ **ROADMAP.md** — Criar ou atualizar com 1-3 fases:
1997
+ - Se feature simples: 1 fase
1998
+ - Se feature media: 2-3 fases
1999
+ - Cada fase com objetivo e criterios de sucesso
2000
+
2001
+ **STATE.md** — Inicializar ou atualizar.
2002
+
2003
+ **config.json:**
2004
+ ```json
2005
+ {
2006
+ "mode": "yolo",
2007
+ "granularity": "coarse",
2008
+ "parallelization": true,
2009
+ "commit_docs": true,
2010
+ "builder_mode": true,
2011
+ "builder_type": "light"
2012
+ }
2013
+ ```
2014
+
2015
+ Commit:
2016
+ ```bash
2017
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: estruturar feature (builder light)" --files .plano/PROJECT.md .plano/ROADMAP.md .plano/STATE.md .plano/config.json
2018
+ ```
2019
+
2020
+ Se REQUIREMENTS.md foi criado/atualizado:
2021
+ ```bash
2022
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: requisitos (builder light)" --files .plano/REQUIREMENTS.md
2023
+ ```
2024
+
2025
+ ---
2026
+
2027
+ ### L3. Build + E2E
2028
+
2029
+ Mesmo loop do full (3.1.1 → 3.1.5), mas:
2030
+ - **Sem LOCK.md** (sessao curta)
2031
+ - **Sem reassessment** (poucas fases)
2032
+ - **Sem captures** (sessao curta)
2033
+ - **COM E2E Playwright** (se tem UI)
2034
+
2035
+ Para cada fase no ROADMAP:
2036
+
2037
+ #### L3.1 Planejar Fase
2038
+
2039
+ Spawnar up-planejador (mesmo do full):
2040
+
2041
+ ```
2042
+ Task(prompt="
2043
+ <planning_context>
2044
+ **Fase:** {phase_number}
2045
+ **Modo:** builder light (autonomo -- NAO use AskUserQuestion)
2046
+
2047
+ <files_to_read>
2048
+ - .plano/STATE.md
2049
+ - .plano/ROADMAP.md
2050
+ - .plano/REQUIREMENTS.md (se existir)
2051
+ - ./CLAUDE.md (se existir)
2052
+ </files_to_read>
2053
+
2054
+ **IDs de requisitos da fase:** {phase_req_ids}
2055
+
2056
+ <builder_mode>
2057
+ Modo builder light. Regras:
2058
+ 1. NAO use AskUserQuestion
2059
+ 2. Se ha ambiguidade, tome a decisao mais razoavel
2060
+ 3. Pesquisa inline: nivel 1 apenas (verificacao rapida, nao pesquisa profunda)
2061
+ 4. Planos devem ser CONCISOS — minimo de tarefas necessarias
2062
+ </builder_mode>
2063
+
2064
+ <output>
2065
+ Escrever PLAN.md em: .plano/fases/{phase_dir}/
2066
+ Retornar: ## PLANNING COMPLETE
2067
+ </output>
2068
+ ", subagent_type="up-planejador", description="Planejar Fase {phase_number} (light)")
2069
+ ```
2070
+
2071
+ #### L3.2 Executar Fase
2072
+
2073
+ Mesmo processo do full — spawnar up-executor por wave.
2074
+
2075
+ #### L3.3 Verificar Fase (Quick Check)
2076
+
2077
+ **NAO spawnar up-verificador.** Verificacao inline rapida:
2078
+
2079
+ 1. Checar que SUMMARYs existem para todos os planos
2080
+ 2. Checar que commits existem: `git log --oneline --grep="fase-{X}"`
2081
+ 3. Se ha testes automatizados no projeto: rodar
2082
+ ```bash
2083
+ # Detectar e rodar testes
2084
+ npm test 2>/dev/null || pnpm test 2>/dev/null || echo "sem testes"
2085
+ ```
2086
+ 4. Se tudo OK: marcar fase completa
2087
+
2088
+ Se falha: tentar gap closure (1 ciclo max), mesmo do full.
2089
+
2090
+ #### L3.4 Teste E2E (Playwright)
2091
+
2092
+ **Mesmo processo do full** (referencia: builder-e2e.md Passo 3).
2093
+ Executar APENAS se a fase tem UI.
2094
+
2095
+ - Subir dev server (se nao esta rodando)
2096
+ - Traduzir must_haves em testes E2E
2097
+ - Navegar, interagir, verificar, screenshot
2098
+ - Bugs: corrigir (max 5 tentativas por bug)
2099
+ - Criar E2E-RESULTS.md
2100
+
2101
+ #### L3.5 Marcar Fase Completa
2102
+
2103
+ ```bash
2104
+ COMPLETION=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase complete "${PHASE_NUMBER}")
2105
+ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(fase-{X}): completar (light)" --files .plano/ROADMAP.md .plano/STATE.md
2106
+ ```
2107
+
2108
+ Avancar para proxima fase. Sem reassessment.
2109
+
2110
+ ---
2111
+
2112
+ ### L4. Resumo Final
2113
+
2114
+ Apos todas as fases:
2115
+
2116
+ ```bash
2117
+ # Matar dev server se rodando
2118
+ kill $DEV_PID 2>/dev/null
2119
+ ```
2120
+
2121
+ `browser_close()` (se Playwright aberto)
2122
+
2123
+ ```
2124
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2125
+ UP > BUILDER LIGHT — COMPLETO
2126
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2127
+
2128
+ **Feature:** [resumo do briefing]
2129
+
2130
+ ## O que foi Feito
2131
+
2132
+ | Fase | O que Construiu | Status |
2133
+ |------|----------------|--------|
2134
+ | [N] | [resumo] | Completo |
2135
+ | [N+1] | [resumo] | Completo |
2136
+
2137
+ ## Metricas
2138
+
2139
+ | Metrica | Valor |
2140
+ |---------|-------|
2141
+ | Fases | [N] |
2142
+ | Commits | [N] |
2143
+ | E2E testes | [X] passaram de [Y] |
2144
+ | Bugs corrigidos | [N] |
2145
+
2146
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2147
+
2148
+ Quer polir? /up:ux-tester ou /up:melhorias
2149
+ Quer mais? /up:modo-builder "proxima feature"
2150
+
2151
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2152
+ ```
2153
+
2154
+ **NAO gerar DELIVERY.md. NAO rodar polish. NAO rodar ideias.**
2155
+
2156
+ </light_process>
2157
+
2158
+ <failure_handling>
2159
+
2160
+ ## Tratamento de Falhas
2161
+
2162
+ ### Planejamento falha (PLANNING INCONCLUSIVE)
2163
+ - Retry 1: Adicionar mais contexto da pesquisa ao prompt
2164
+ - Retry 2: Simplificar escopo da fase (dividir em 2)
2165
+ - Se ainda falha: Pular fase, registrar em DELIVERY.md como "Nao implementada"
2166
+
2167
+ ### Execucao falha (agente nao retorna SUMMARY)
2168
+ - Retry 1: Re-spawnar executor para o plano falho
2169
+ - Se ainda falha: Registrar plano como incompleto, continuar com proxima wave/fase
2170
+
2171
+ ### Verificacao encontra gaps
2172
+ - Ciclo 1: Planejar gaps + executar gap closure
2173
+ - Se gaps persistem: Registrar como pendente, avancar (sera listado no DELIVERY.md)
2174
+
2175
+ ### Melhorias/Ideias falham
2176
+ - Estas etapas sao opcionais no builder
2177
+ - Se algum agente falha: Continuar com os que completaram
2178
+ - Se todos falham: Pular estagio, registrar no DELIVERY.md
2179
+
2180
+ **Principio:** O builder NUNCA para. Falhas sao registradas e contornadas. O usuario recebe o maximo possivel.
2181
+
2182
+ </failure_handling>
2183
+
2184
+ <context_management>
2185
+
2186
+ ## Gestao de Contexto (1M tokens)
2187
+
2188
+ Com 1M de contexto, a maioria dos projetos cabe sem /clear. Mas monitore:
2189
+
2190
+ **Orquestrador fica enxuto:**
2191
+ - NAO leia conteudo de SUMMARYs inteiros — apenas verifique existencia
2192
+ - NAO leia PLANs apos planejamento — apenas passe caminhos ao executor
2193
+ - NAO leia codigo fonte — apenas verifique via git log/ls
2194
+
2195
+ **Subagentes recebem contexto limpo:**
2196
+ - Cada Task() spawna com contexto fresco
2197
+ - Passe apenas caminhos de arquivos, nao conteudo
2198
+
2199
+ **Se contexto atingir ~70%:**
2200
+ - Reduzir output de status (1 linha por fase ao inves de tabelas)
2201
+ - Pular estagio Polish (melhorias + ideias) se necessario
2202
+ - Priorizar completar build sobre polimento
2203
+
2204
+ </context_management>
2205
+
2206
+ <success_criteria>
2207
+
2208
+ ## Criterios de Sucesso do Builder
2209
+
2210
+ - [ ] Estagio 1: Briefing coletado, perguntas criticas respondidas
2211
+ - [ ] Estagio 2: Product Analyst executado (concorrentes, features, personas)
2212
+ - [ ] Estagio 2: System Designer executado (modulos, roles, schema, blueprints, 5 camadas)
2213
+ - [ ] Estagio 2: Architect executou (PROJECT.md, REQUIREMENTS.md, ROADMAP.md criados)
2214
+ - [ ] Estagio 2: Requisitos completos (50-100 requisitos, 5 camadas)
2215
+ - [ ] Estagio 3: Todas as fases planejadas
2216
+ - [ ] Estagio 3: Todas as fases executadas (com specialist routing)
2217
+ - [ ] Estagio 3: Reflect (code review) apos cada fase
2218
+ - [ ] Estagio 3: Todas as fases verificadas
2219
+ - [ ] Estagio 3: Fases com UI testadas via Playwright (E2E-RESULTS.md)
2220
+ - [ ] Estagio 3: Bugs E2E corrigidos (quando possivel)
2221
+ - [ ] Estagio 3: Reassessment apos cada fase (roadmap re-avaliado)
2222
+ - [ ] Estagio 3: Commits atomicos por tarefa
2223
+ - [ ] Estagio 3: LOCK.md atualizado a cada transicao de estado
2224
+ - [ ] Estagio 3: Insights capturados em .plano/captures/ (se descobertos)
2225
+ - [ ] Estagio 4: Auditoria de melhorias executada (3 dimensoes)
2226
+ - [ ] Estagio 4: Quick wins aplicadas
2227
+ - [ ] Estagio 4: UX Review executado (navegar como usuario, 6 dimensoes)
2228
+ - [ ] Estagio 4: Melhorias UX implementadas automaticamente
2229
+ - [ ] Estagio 4: UX-REPORT.md gerado com scores e screenshots
2230
+ - [ ] Estagio 4: Mobile First executado (responsividade verificada em 3 viewports)
2231
+ - [ ] Estagio 4: MOBILE-REPORT.md gerado com score e screenshots comparativos
2232
+ - [ ] Estagio 4: Score composto calculado (6 dimensoes)
2233
+ - [ ] Estagio 4: Quality gate loop executado (ate score >= 9.0 ou max 5 ciclos)
2234
+ - [ ] Estagio 4: DevOps artifacts gerados (Dockerfile, CI/CD, .env.example, seed)
2235
+ - [ ] Estagio 4: Documentacao gerada (README, CHANGELOG, API docs)
2236
+ - [ ] Estagio 4: Security review executado
2237
+ - [ ] Estagio 4: QA — testes escritos e rodados
2238
+ - [ ] Estagio 4: Ideias geradas com ICE scoring (apos quality gate)
2239
+ - [ ] Estagio 5: Teste E2E final (smoke + fluxos + responsividade)
2240
+ - [ ] Estagio 5: E2E-REPORT.md gerado com screenshots
2241
+ - [ ] Estagio 5: Captures triados em TRIAGE.md
2242
+ - [ ] Estagio 5: DELIVERY.md gerado (incluindo E2E + captures + reassessments)
2243
+ - [ ] Estagio 5: LOCK.md removido (sessao concluida)
2244
+ - [ ] Estagio 5: Resumo apresentado ao usuario
2245
+
2246
+ **Minimo viavel:** Estagios 1-3 + Estagio 5. Estagios 4 (Polish) e E2E sao bonus.
2247
+
2248
+ </success_criteria>