up-cc 0.16.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +87 -577
  2. package/package.json +5 -3
  3. package/up/CHANGELOG.md +110 -0
  4. package/up/agents/up-arquiteto.md +95 -39
  5. package/up/agents/up-auditor.md +218 -0
  6. package/up/agents/up-executor.md +94 -31
  7. package/up/agents/up-mapeador-codigo.md +63 -10
  8. package/up/agents/up-pesquisador.md +278 -0
  9. package/up/agents/up-revisor.md +249 -0
  10. package/up/agents/up-sintetizador.md +156 -179
  11. package/up/agents/up-tester.md +280 -0
  12. package/up/agents/up-verificador.md +95 -11
  13. package/up/bin/install.js +182 -19
  14. package/up/bin/lib/core.cjs +17 -43
  15. package/up/bin/lib/github.cjs +495 -0
  16. package/up/bin/lib/multica.cjs +424 -0
  17. package/up/bin/up-tools.cjs +167 -46
  18. package/up/commands/auditar.md +66 -0
  19. package/up/commands/build.md +54 -43
  20. package/up/commands/depurar.md +1 -1
  21. package/up/commands/plan.md +52 -38
  22. package/up/commands/rapido.md +15 -9
  23. package/up/commands/testar.md +81 -122
  24. package/up/commands/up.md +106 -0
  25. package/up/hooks/up-session-start.js +107 -0
  26. package/up/references/engineering-principles.md +1 -1
  27. package/up/references/governance-rules.md +5 -5
  28. package/up/references/production-requirements.md +1 -1
  29. package/up/references/severity-levels.md +2 -2
  30. package/up/references/tdd-evidence-types.md +81 -0
  31. package/up/skills/up-brainstorm/SKILL.md +39 -0
  32. package/up/skills/up-tdd/SKILL.md +39 -0
  33. package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
  34. package/up/skills/usando-up/SKILL.md +26 -0
  35. package/up/templates/audit-plan.md +3 -3
  36. package/up/templates/audit-report.md +2 -2
  37. package/up/templates/design-tokens.md +2 -2
  38. package/up/workflows/auditar.md +255 -0
  39. package/up/workflows/build.md +600 -386
  40. package/up/workflows/dcrv.md +183 -99
  41. package/up/workflows/governance.md +112 -220
  42. package/up/workflows/plan.md +169 -399
  43. package/up/workflows/rapido.md +7 -1
  44. package/up/workflows/up.md +447 -0
  45. package/up/agents/up-analista-codigo.md +0 -446
  46. package/up/agents/up-api-tester.md +0 -405
  47. package/up/agents/up-architecture-supervisor.md +0 -126
  48. package/up/agents/up-audit-supervisor.md +0 -83
  49. package/up/agents/up-auditor-modernidade.md +0 -378
  50. package/up/agents/up-auditor-performance.md +0 -426
  51. package/up/agents/up-auditor-ux.md +0 -396
  52. package/up/agents/up-backend-specialist.md +0 -175
  53. package/up/agents/up-blind-validator.md +0 -259
  54. package/up/agents/up-chief-architect.md +0 -184
  55. package/up/agents/up-chief-engineer.md +0 -202
  56. package/up/agents/up-chief-operations.md +0 -123
  57. package/up/agents/up-chief-product.md +0 -103
  58. package/up/agents/up-chief-quality.md +0 -211
  59. package/up/agents/up-clone-crawler.md +0 -234
  60. package/up/agents/up-clone-design-extractor.md +0 -227
  61. package/up/agents/up-clone-feature-mapper.md +0 -225
  62. package/up/agents/up-clone-prd-writer.md +0 -169
  63. package/up/agents/up-clone-verifier.md +0 -227
  64. package/up/agents/up-code-reviewer.md +0 -229
  65. package/up/agents/up-consolidador-ideias.md +0 -493
  66. package/up/agents/up-database-specialist.md +0 -169
  67. package/up/agents/up-delivery-auditor.md +0 -247
  68. package/up/agents/up-devops-agent.md +0 -203
  69. package/up/agents/up-execution-supervisor.md +0 -315
  70. package/up/agents/up-exhaustive-tester.md +0 -348
  71. package/up/agents/up-frontend-specialist.md +0 -152
  72. package/up/agents/up-operations-supervisor.md +0 -94
  73. package/up/agents/up-pesquisador-mercado.md +0 -350
  74. package/up/agents/up-pesquisador-projeto.md +0 -358
  75. package/up/agents/up-planning-auditor.md +0 -284
  76. package/up/agents/up-planning-supervisor.md +0 -260
  77. package/up/agents/up-product-analyst.md +0 -192
  78. package/up/agents/up-product-supervisor.md +0 -83
  79. package/up/agents/up-project-ceo.md +0 -352
  80. package/up/agents/up-qa-agent.md +0 -171
  81. package/up/agents/up-quality-supervisor.md +0 -178
  82. package/up/agents/up-requirements-validator.md +0 -230
  83. package/up/agents/up-security-reviewer.md +0 -137
  84. package/up/agents/up-sintetizador-melhorias.md +0 -407
  85. package/up/agents/up-system-designer.md +0 -332
  86. package/up/agents/up-technical-writer.md +0 -188
  87. package/up/agents/up-verification-supervisor.md +0 -111
  88. package/up/agents/up-visual-critic.md +0 -358
  89. package/up/commands/adicionar-fase.md +0 -47
  90. package/up/commands/adicionar-testes.md +0 -145
  91. package/up/commands/ajuda.md +0 -176
  92. package/up/commands/atualizar.md +0 -103
  93. package/up/commands/clone-builder.md +0 -67
  94. package/up/commands/configurar.md +0 -219
  95. package/up/commands/custos.md +0 -67
  96. package/up/commands/dashboard.md +0 -48
  97. package/up/commands/discutir-fase.md +0 -35
  98. package/up/commands/executar-fase.md +0 -40
  99. package/up/commands/ideias.md +0 -49
  100. package/up/commands/iniciar.md +0 -31
  101. package/up/commands/mapear-codigo.md +0 -63
  102. package/up/commands/melhorias.md +0 -45
  103. package/up/commands/mobile-first.md +0 -71
  104. package/up/commands/modo-builder.md +0 -186
  105. package/up/commands/novo-projeto.md +0 -40
  106. package/up/commands/onboard.md +0 -69
  107. package/up/commands/pausar.md +0 -33
  108. package/up/commands/planejar-fase.md +0 -45
  109. package/up/commands/progresso.md +0 -33
  110. package/up/commands/remover-fase.md +0 -34
  111. package/up/commands/resetar.md +0 -27
  112. package/up/commands/retomar.md +0 -35
  113. package/up/commands/saude.md +0 -103
  114. package/up/commands/ux-tester.md +0 -63
  115. package/up/commands/verificar-trabalho.md +0 -35
  116. package/up/workflows/adicionar-fase.md +0 -112
  117. package/up/workflows/builder-e2e.md +0 -501
  118. package/up/workflows/builder.md +0 -3419
  119. package/up/workflows/ceo-intake.md +0 -305
  120. package/up/workflows/ceo-updates.md +0 -183
  121. package/up/workflows/clone-builder.md +0 -320
  122. package/up/workflows/discutir-fase.md +0 -336
  123. package/up/workflows/executar-fase.md +0 -358
  124. package/up/workflows/executar-plano.md +0 -659
  125. package/up/workflows/ideias.md +0 -381
  126. package/up/workflows/iniciar.md +0 -235
  127. package/up/workflows/melhorias.md +0 -409
  128. package/up/workflows/mobile-first.md +0 -692
  129. package/up/workflows/novo-projeto.md +0 -778
  130. package/up/workflows/planejar-fase.md +0 -293
  131. package/up/workflows/progresso.md +0 -226
  132. package/up/workflows/retomar.md +0 -231
  133. package/up/workflows/ux-tester.md +0 -526
  134. package/up/workflows/verificar-trabalho.md +0 -308
@@ -1,3419 +0,0 @@
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 LITERALMENTE nos argumentos: pular direto para `<light_process>`.
15
- Se ausente: seguir o `<process>` normal (full).
16
-
17
- **GUARD CONTRA ATIVACAO ACIDENTAL DO LIGHT:**
18
- - O modo light so e ativado se o usuario escreveu `--light` explicitamente.
19
- - NAO inferir light baseado no tamanho do briefing ou complexidade.
20
- - NAO ativar light porque "parece uma feature simples".
21
- - Briefing curto = modo FULL com poucas fases, NAO modo light.
22
- - Se em duvida: FULL. Sempre FULL como default.
23
-
24
- **LOG OBRIGATORIO no inicio (EXECUTAR SEMPRE):**
25
- ```
26
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
- UP > MODO BUILDER — {FULL | LIGHT}
28
- Versao: $(cat $HOME/.claude/up/VERSION 2>/dev/null || echo "dev")
29
- Argumentos: $ARGUMENTS
30
- Flag --light: {SIM | NAO}
31
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
32
- ```
33
- </purpose>
34
-
35
- <core_principle>
36
- Este workflow REUTILIZA os processos existentes do UP. Nao reinventa — apenas orquestra os comandos existentes em sequencia sem parar para perguntar.
37
-
38
- Onde o UP normal para e pergunta, o modo builder decide sozinho.
39
- Onde o UP normal espera /clear entre fases, o modo builder continua automaticamente.
40
-
41
- **Deteccao automatica de modo:**
42
- - Codigo existente detectado (package.json, src/, app/, etc.) → BROWNFIELD
43
- - Sem codigo → GREENFIELD
44
- - `.plano/` existente com ROADMAP.md → BROWNFIELD (adiciona fases ao roadmap existente)
45
-
46
- **Modo Clone (builder_type: "clone" no config.json):**
47
- Quando o builder e invocado pelo clone-builder, config.json tem `builder_type: "clone"`.
48
- Neste modo, TODOS os agentes devem:
49
- 1. **Ler .plano/clone/DESIGN-SYSTEM.md** e seguir cores, fontes, espacamento
50
- 2. **Ler .plano/clone/FEATURE-MAP.md** e garantir que TODAS features CLONE-* sao implementadas
51
- 3. **Ler .plano/clone/screenshots/** como referencia visual
52
- 4. **Product Analyst:** Se clone_mode=exact: NAO sugerir mudancas. Se improve: sugerir apenas adicoes.
53
- 5. **Frontend Specialist:** Replicar layout e design das screenshots.
54
- 6. **Code Reviewer:** Verificar fidelidade visual alem de production-requirements.
55
- 7. **Quality Gate:** Incluir clone-verifier como dimensao "Fidelidade" (20% do score).
56
- </core_principle>
57
-
58
- <model_handling>
59
- ## Modelos (v0.9.0+)
60
-
61
- **Model routing configuravel via `config.json`.** Dois eixos:
62
-
63
- 1. **Por papel** (planning/execution/governance/review) — preset estatico
64
- 2. **Por complexidade da task** (simple/standard/complex) — classifier dinamico (Wave 5+)
65
-
66
- ### Como funciona
67
-
68
- **Default (per-role, comportamento v0.9):**
69
- ```bash
70
- MODEL=$(node "$HOME/.claude/up/bin/up-tools.cjs" config resolve-model {agent-name} --raw)
71
- ```
72
-
73
- **Wave 5+ (complexity routing):** quando spawn e contextual a um plano, use:
74
- ```bash
75
- MODEL=$(node "$HOME/.claude/up/bin/up-tools.cjs" resolve-model-for-plan "$PLAN" {agent-name} --raw)
76
- ```
77
- Isso le `config.modelos.routing` e decide:
78
- - `per-role` (default) → usa preset estatico
79
- - `complexity` → usa classifier do plano (haiku/sonnet/opus por score)
80
- - `complexity-with-cap` → complexity, mas capa por preset (orcamento)
81
-
82
- Se retorna `default`: nao passar `model=` (runtime decide).
83
- Se retorna `opus|sonnet|haiku`: passar no spawn.
84
-
85
- ### Presets disponiveis (per-role)
86
-
87
- | Preset | Planning | Execution | Governance | Review |
88
- |--------|----------|-----------|------------|--------|
89
- | `runtime` | default | default | default | default |
90
- | `opus-completo` | opus | opus | opus | opus |
91
- | `hibrido` | opus | sonnet | opus | opus |
92
- | `sonnet-completo` | sonnet | sonnet | sonnet | sonnet |
93
- | `economico` | sonnet | sonnet | haiku | sonnet |
94
- | `custom` | manual | manual | manual | manual |
95
-
96
- ### Routing modes (complexity)
97
-
98
- | Mode | Comportamento |
99
- |------|---------------|
100
- | `per-role` (default) | Preset estatico, nao olha o plano |
101
- | `complexity` | Classifier do plano decide (score 0-2 haiku, 3-5 sonnet, 6+ opus) |
102
- | `complexity-with-cap` | Classifier sugere, mas preset capa (ex: per-role=sonnet, complexity=opus → usa sonnet) |
103
-
104
- ### Papeis dos agentes
105
-
106
- - **Planning:** planejador, arquiteto, product-analyst, system-designer, pesquisador-projeto, sintetizador, mapeador-codigo, requirements-validator
107
- - **Execution:** executor, frontend/backend/database-specialist, devops-agent, technical-writer
108
- - **Governance:** todos supervisores, chiefs, CEO, delivery-auditor, planning-auditor
109
- - **Review:** verificador, blind-validator, code-reviewer, security-reviewer, visual-critic, exhaustive-tester, api-tester, qa-agent, auditores, sintetizador-melhorias
110
-
111
- ### Default
112
-
113
- Sem `modelos` no config.json = `runtime` (nenhum override). Identico ao v0.6.0.
114
-
115
- **Planos sao sempre gerados em nivel detalhado (Sonnet-ready)** independente do modelo que vai executar.
116
-
117
- ### Ao spawnar qualquer agente
118
-
119
- **Spawn sem plano (CEO, planejador, supervisores cross-fase):**
120
- ```bash
121
- MODEL=$(node "$HOME/.claude/up/bin/up-tools.cjs" config resolve-model up-executor --raw)
122
- ```
123
-
124
- **Spawn com plano (specialist, executor, verificador por fase) — Wave 5+:**
125
- ```bash
126
- MODEL=$(node "$HOME/.claude/up/bin/up-tools.cjs" resolve-model-for-plan "$PLAN" up-executor --raw)
127
- ```
128
-
129
- ```python
130
- # Se MODEL != "default", passar model=
131
- Task(subagent_type="up-executor", model="{MODEL if MODEL != 'default' else omit}", prompt="...")
132
- ```
133
-
134
- **IMPORTANTE:** Se model=default (ou nao configurado), NAO passar parametro model no spawn.
135
- Isso mantem compatibilidade total com v0.6.0 e com runtimes que nao suportam model routing.
136
- </model_handling>
137
-
138
- <governance>
139
- ## Camada de Governanca (v0.5.0+)
140
-
141
- **O builder usa hierarquia corporativa de agentes:**
142
-
143
- ```
144
- CEO (up-project-ceo) — conduz intake, aprova delivery, canal com dono
145
-
146
- CHIEFS (5) — revisam consolidado de cada area
147
-
148
- SUPERVISORS (8) — revisam cada agente operacional
149
-
150
- OPERATIONAL AGENTS (36) — fazem o trabalho
151
- ```
152
-
153
- **Referencia obrigatoria:** `@~/.claude/up/workflows/governance.md`
154
-
155
- **REGRA INVIOLAVEL — GOVERNANCA OBRIGATORIA COM GATES VERIFICAVEIS:**
156
-
157
- A governanca NAO PODE ser pulada, otimizada, resumida ou ignorada.
158
- Para IMPEDIR que o LLM otimize colapsando passos, cada etapa critica tem um **GATE** —
159
- um check de arquivo executado via Bash que BLOQUEIA o avanço se a etapa anterior nao produziu evidencia.
160
-
161
- **Mecanismo anti-colapso:**
162
- 1. Cada supervisor DEVE escrever no `approvals.log` ANTES de retornar
163
- 2. Cada GATE verifica que o `approvals.log` tem a entry esperada
164
- 3. Se o gate falha → o builder NAO avanca → spawna o agente faltante
165
- 4. O GATE E (final) verifica TODOS os 5 checks de uma vez
166
-
167
- **Pipeline obrigatorio por fase no Estagio 3:**
168
- ```
169
- Planejador → Specialist → [GATE A] → EXECUTION-SUPERVISOR → [GATE B] → Code Reviewer → Verificador → [GATE C] → VERIFICATION-SUPERVISOR → [GATE D] → E2E + DCRV → CHIEF-ENGINEER → [GATE E] → Marcar completa
170
- ```
171
-
172
- Cada GATE e um `bash` check que le `.plano/governance/approvals.log`.
173
- Se a entry esperada nao existe, o builder PARA e spawna o agente faltante.
174
-
175
- **NUNCA combinar dois agentes em um spawn. NUNCA pular um GATE.**
176
-
177
- **Regras gerais:**
178
- 1. Todo output de agente operacional passa por supervisor
179
- 2. Toda area tem chief que consolida
180
- 3. CEO aprova delivery final
181
- 4. Max 3 ciclos de rework (operacional ← supervisor)
182
- 5. Max 2 ciclos (supervisor ← chief)
183
- 6. Max 1 ciclo (chief ← CEO)
184
-
185
- **Pre-requisito:**
186
- ```bash
187
- # Verificar owner-profile
188
- if [ ! -f ~/.claude/up/owner-profile.md ]; then
189
- echo "Owner profile nao existe. Rodando /up:onboard primeiro..."
190
- # Delegar pro onboarding workflow
191
- # Referencia: @~/.claude/up/workflows/onboarding.md
192
- fi
193
- ```
194
-
195
- **Sem owner-profile, o CEO nao sabe quem e o dono — impossivel conduzir intake.**
196
- </governance>
197
-
198
- <process>
199
-
200
- ## Estagio 1: INTAKE (Interativo)
201
-
202
- Este e o UNICO estagio com interacao.
203
-
204
- ### 1.0 Verificar Crash Recovery (LOCK.md)
205
-
206
- **PRIMEIRO PASSO OBRIGATORIO — antes de qualquer outra coisa:**
207
-
208
- ```bash
209
- ls .plano/LOCK.md 2>/dev/null
210
- ```
211
-
212
- **Se LOCK.md existe e `status: running`:**
213
-
214
- Ler frontmatter do LOCK.md para extrair: `stage`, `phase`, `step`, `total_phases`.
215
-
216
- ```
217
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
218
- UP > BUILDER — SESSAO ANTERIOR DETECTADA
219
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
220
-
221
- Sessao anterior crashou ou foi interrompida.
222
-
223
- Estagio: {stage}
224
- Fase: {phase}/{total_phases}
225
- Ultimo passo: {step}
226
-
227
- Retomando de onde parou...
228
- ```
229
-
230
- **Retomar baseado no estado do LOCK:**
231
-
232
- | stage | step | Retomar de |
233
- |-------|------|-----------|
234
- | `build` | `planning` | Estagio 3: re-planejar fase {phase} |
235
- | `build` | `executing` | Estagio 3: re-executar fase {phase} (pula planos com SUMMARY) |
236
- | `build` | `verifying` | Estagio 3: re-verificar fase {phase} |
237
- | `build` | `e2e-testing` | Estagio 3: re-testar E2E fase {phase} |
238
- | `build` | `reassessing` | Estagio 3: pular reassessment, avancar para fase {phase+1} |
239
- | `build` | `completed` | Estagio 3: avancar para fase {phase+1} |
240
- | `polish` | qualquer | Estagio 4: re-executar polish |
241
- | `delivery` | qualquer | Estagio 5: re-gerar DELIVERY.md |
242
-
243
- **Pular direto para o estagio/fase correto.** NAO re-executar estagios ja completos.
244
- NAO fazer intake novamente. Ler BRIEFING.md e PROJECT.md para contexto.
245
-
246
- **Se LOCK.md existe e `status: completed`:**
247
- Deletar LOCK.md e iniciar normalmente (sessao anterior terminou com sucesso).
248
-
249
- **Se LOCK.md NAO existe:**
250
- Continuar normalmente para 1.05.
251
-
252
- ### 1.05 Verificar Owner Profile (GATE OBRIGATORIO)
253
-
254
- ```bash
255
- if [ ! -f ~/.claude/up/owner-profile.md ]; then
256
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
257
- echo " UP > PRIMEIRO USO DETECTADO"
258
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
259
- echo ""
260
- echo " Voce nunca usou o UP antes. Antes de comecar o builder,"
261
- echo " preciso te conhecer."
262
- echo ""
263
- echo " Rodando /up:onboard primeiro..."
264
- echo ""
265
- fi
266
- ```
267
-
268
- Se owner-profile nao existe:
269
- 1. Delegar para o workflow de onboarding (`@~/.claude/up/workflows/onboarding.md`)
270
- 2. Apos completar onboarding, voltar para o builder
271
-
272
- ### 1.1 Carregar Defaults e Detectar Modo
273
-
274
- ```bash
275
- DEFAULTS_PATH="$HOME/.claude/up/builder-defaults.md"
276
- ```
277
-
278
- 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."
279
-
280
- **v0.6.0+: Sem extracao de modelos.** O runtime decide o modelo. Planos sao sempre Sonnet-ready (detalhe maximo).
281
-
282
- **Detectar modo automaticamente:**
283
-
284
- ```bash
285
- # Verificar se ha codigo existente
286
- ls package.json go.mod Cargo.toml requirements.txt pyproject.toml pom.xml build.gradle composer.json Gemfile 2>/dev/null
287
- ls -d src/ app/ lib/ cmd/ internal/ pages/ components/ 2>/dev/null | head -10
288
- ls .plano/ROADMAP.md .plano/PROJECT.md 2>/dev/null
289
- ```
290
-
291
- | Resultado | Modo |
292
- |-----------|------|
293
- | Sem manifesto de pacote e sem src/ | **GREENFIELD** |
294
- | Manifesto ou diretorios de codigo existem | **BROWNFIELD** |
295
- | `.plano/ROADMAP.md` existe | **BROWNFIELD** (projeto UP existente) |
296
-
297
- Definir `$MODE` = `greenfield` ou `brownfield`.
298
-
299
- ### 1.2 Delegar Intake ao CEO
300
-
301
- **NOVO (v0.5.0):** O intake agora e conduzido pelo CEO (up-project-ceo).
302
-
303
- Spawnar CEO com contexto:
304
-
305
- ```python
306
- Agent(
307
- subagent_type="up-project-ceo",
308
- prompt=f"""
309
- Conduza intake para novo projeto UP.
310
-
311
- Modo detectado: {MODE}
312
- Briefing inicial: {ARGUMENTS ou "vazio, pedir ao dono"}
313
-
314
- <files_to_read>
315
- - ~/.claude/up/owner-profile.md (OBRIGATORIO — seu perfil do dono)
316
- - $HOME/.claude/up/workflows/ceo-intake.md (seu workflow de intake)
317
- - $HOME/.claude/up/workflows/onboarding.md (caso owner-profile nao exista)
318
- </files_to_read>
319
-
320
- Executar workflow de intake ate completar:
321
- 1. Conduzir 5 blocos de intake (briefing, design, credenciais, referencias, restricoes)
322
- 2. Gerar .plano/BRIEFING.md, .plano/OWNER.md, .plano/PENDING.md, .plano/DESIGN-TOKENS.md
323
- 3. Apresentar resumo ao dono antes de iniciar
324
-
325
- Retornar apos intake com: briefing consolidado, modo confirmado, credenciais coletadas, pendencias.
326
- """
327
- )
328
- ```
329
-
330
- **Receber retorno do CEO:**
331
- - BRIEFING completo
332
- - OWNER.md criado
333
- - PENDING.md criado
334
- - DESIGN-TOKENS.md criado (custom ou defaults)
335
-
336
- **Se CEO rejeitou briefing:** usuario ja foi alertado, retornar e esperar nova tentativa.
337
-
338
- **Se CEO aprovou:** continuar para 1.3.
339
-
340
- ### 1.3 Analisar e Classificar Gaps
341
-
342
- Analisar o briefing e classificar informacoes faltantes:
343
-
344
- **CRITICO (deve perguntar):**
345
- - Integrações externas que precisam de credenciais (Supabase, Stripe, etc.)
346
- - Tokens/chaves de API necessarias
347
- - Ambiguidades de negocio que afetam arquitetura fundamentalmente
348
- - Ex: "sistema multiusuario" → precisa de roles? multi-tenant?
349
- - Ex: "pagamentos" → qual gateway? quais metodos?
350
-
351
- **BROWNFIELD EXTRA — CRITICO:**
352
- - Se a feature pode impactar funcionalidades existentes de forma ambigua
353
- - Ex: "refatorar auth" → manter backward compatibility? migrar usuarios?
354
- - Se ha integrações existentes que podem ser afetadas
355
-
356
- **DECIDIR SOZINHO (nao perguntar):**
357
- - Stack (usar defaults ou inferir; em brownfield: usar stack EXISTENTE)
358
- - Design visual, cores, fontes (em brownfield: seguir design system existente)
359
- - Estrutura de pastas, padroes de codigo (em brownfield: seguir convencoes existentes)
360
- - Nomes de tabelas, modelos, rotas, componentes
361
- - Arquitetura de API (em brownfield: seguir padrao existente)
362
- - Quantidade e granularidade de fases
363
- - Tudo que nao e ambiguo
364
-
365
- ### 1.4 Fazer Perguntas Criticas
366
-
367
- Se ha gaps criticos, fazer UMA UNICA rodada de perguntas usando AskUserQuestion:
368
-
369
- ```
370
- AskUserQuestion(
371
- header: "Informacoes Necessarias",
372
- question: "[Listar todos os gaps criticos em uma unica pergunta]
373
-
374
- 1. [Pergunta critica 1]
375
- 2. [Pergunta critica 2]
376
- ...
377
-
378
- Responda todas de uma vez.",
379
- followUp: null
380
- )
381
- ```
382
-
383
- **Se NAO ha gaps criticos:** Pular direto para 1.5.
384
-
385
- ### 1.5 Confirmar e Iniciar
386
-
387
- **GREENFIELD:**
388
- ```
389
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
390
- UP > MODO BUILDER (GREENFIELD)
391
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
392
-
393
- Entendi o projeto. A partir de agora, vou construir tudo autonomamente.
394
-
395
- **Briefing:** [resumo em 2-3 frases]
396
- **Stack:** [stack que sera usada]
397
- **Estimativa:** [N] fases
398
-
399
- Decisoes nao especificadas serao tomadas automaticamente.
400
-
401
- Iniciando...
402
- ```
403
-
404
- **BROWNFIELD:**
405
- ```
406
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
407
- UP > MODO BUILDER (BROWNFIELD)
408
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
409
-
410
- Entendi a feature. Vou mapear o codigo existente e implementar autonomamente.
411
-
412
- **Feature:** [resumo em 2-3 frases]
413
- **Stack detectada:** [stack existente]
414
- **Estimativa:** [N] fases
415
-
416
- Convencoes e padroes existentes serao respeitados.
417
-
418
- Iniciando mapeamento do codebase...
419
- ```
420
-
421
- **NAO pedir confirmacao.** Iniciar direto.
422
-
423
- ═══════════════════════════════════════════════════════
424
- FIM DA INTERACAO COM USUARIO
425
- ═══════════════════════════════════════════════════════
426
-
427
- ---
428
-
429
- ## Estagio 2: ARQUITETURA (Autonomo)
430
-
431
- ### 2.0 GATE OBRIGATORIO — Inicializar .plano/
432
-
433
- **ESTE PASSO E OBRIGATORIO E NAO PODE SER PULADO.**
434
- **EXECUTAR ESTES COMANDOS LITERALMENTE — NAO APENAS LER.**
435
-
436
- ```bash
437
- # GATE 1: Criar .plano/ se nao existe
438
- mkdir -p .plano .plano/captures .plano/fases .plano/issues-carryover
439
-
440
- # GATE 2: Verificar que foi criado
441
- ls -d .plano/ || { echo "ERRO CRITICO: .plano/ nao foi criado"; exit 1; }
442
-
443
- # GATE 3: Registrar inicio do builder
444
- echo "builder_started: $(date -u +%Y-%m-%dT%H:%M:%SZ)" > .plano/LOCK.md
445
- echo "mode: ${MODE}" >> .plano/LOCK.md
446
- echo "stage: architecture" >> .plano/LOCK.md
447
- echo "status: running" >> .plano/LOCK.md
448
-
449
- # GATE 4: Init git se necessario
450
- git init 2>/dev/null
451
- ```
452
-
453
- **VERIFICACAO — EXECUTAR OBRIGATORIAMENTE:**
454
- ```bash
455
- [ -d ".plano" ] && echo "GATE OK: .plano/ existe" || echo "GATE FALHOU: .plano/ nao existe — PARAR"
456
- ```
457
-
458
- **Se GATE FALHOU:** NAO continuar. Algo esta errado com permissoes ou disco. Informar usuario.
459
-
460
- ### 2.1 Inicializar Projeto (Continuacao)
461
-
462
- **Iniciar Dashboard automaticamente:**
463
- ```bash
464
- node "$HOME/.claude/up/dashboard/server.js" 4040 "$(pwd)/.plano" &
465
- DASH_PID=$!
466
- echo "Dashboard: http://localhost:4040 (PID: $DASH_PID)"
467
- ```
468
-
469
- Informar ao usuario:
470
- ```
471
- Dashboard: http://localhost:4040 — acompanhe o progresso em tempo real
472
- ```
473
-
474
- ### 2.2 Pipeline de Arquitetura (3 Agentes em Sequencia)
475
-
476
- **Pipeline:** Product Analyst → System Designer → Architect
477
- Cada agente produz um documento que alimenta o proximo.
478
-
479
- **O que acontece ANTES do pipeline depende do modo:**
480
-
481
- #### MODO GREENFIELD — Pesquisa de Ecossistema
482
-
483
- Spawnar 4 pesquisadores em paralelo (mesmo processo do novo-projeto):
484
-
485
- ```bash
486
- mkdir -p .plano/pesquisa
487
- ```
488
-
489
- ```
490
- Task(prompt="<research_type>
491
- Pesquisa de Projeto -- Dimensao Stack para [dominio].
492
- </research_type>
493
-
494
- <question>
495
- Qual e a stack padrao de 2025 para [dominio]? Confirme versoes e compatibilidade de: [frameworks do briefing/defaults].
496
- </question>
497
-
498
- <briefing>
499
- [Briefing completo do usuario]
500
- </briefing>
501
-
502
- <output>
503
- Write to: .plano/pesquisa/STACK.md
504
- </output>
505
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa Stack")
506
-
507
- Task(prompt="<research_type>
508
- Pesquisa de Projeto -- Dimensao Features para [dominio].
509
- </research_type>
510
-
511
- <question>
512
- Quais features produtos de [dominio] tem? O que e obrigatorio vs diferenciador?
513
- </question>
514
-
515
- <briefing>
516
- [Briefing completo do usuario]
517
- </briefing>
518
-
519
- <output>
520
- Write to: .plano/pesquisa/FEATURES.md
521
- </output>
522
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa Features")
523
-
524
- Task(prompt="<research_type>
525
- Pesquisa de Projeto -- Dimensao Arquitetura para [dominio].
526
- </research_type>
527
-
528
- <question>
529
- Como sistemas de [dominio] sao tipicamente estruturados? Componentes principais e padroes?
530
- </question>
531
-
532
- <briefing>
533
- [Briefing completo do usuario]
534
- </briefing>
535
-
536
- <output>
537
- Write to: .plano/pesquisa/ARCHITECTURE.md
538
- </output>
539
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa Arquitetura")
540
-
541
- Task(prompt="<research_type>
542
- Pesquisa de Projeto -- Dimensao Armadilhas para [dominio].
543
- </research_type>
544
-
545
- <question>
546
- O que projetos de [dominio] comumente erram? Erros criticos a evitar?
547
- </question>
548
-
549
- <briefing>
550
- [Briefing completo do usuario]
551
- </briefing>
552
-
553
- <output>
554
- Write to: .plano/pesquisa/PITFALLS.md
555
- </output>
556
- ", subagent_type="up-pesquisador-projeto", description="Pesquisa Armadilhas")
557
- ```
558
-
559
- **IMPORTANTE:** Os 4 Task DEVEM ser spawnados na MESMA mensagem para execucao paralela.
560
-
561
- Apos os 4 retornarem, spawnar sintetizador:
562
-
563
- ```
564
- Task(prompt="
565
- <task>
566
- Sintetizar outputs de pesquisa em SUMMARY.md.
567
- </task>
568
-
569
- <files_to_read>
570
- - .plano/pesquisa/STACK.md
571
- - .plano/pesquisa/FEATURES.md
572
- - .plano/pesquisa/ARCHITECTURE.md
573
- - .plano/pesquisa/PITFALLS.md
574
- </files_to_read>
575
-
576
- <output>
577
- Write to: .plano/pesquisa/SUMMARY.md
578
- Commit apos escrever.
579
- </output>
580
- ", subagent_type="up-sintetizador", description="Sintetizar pesquisa")
581
- ```
582
-
583
- #### MODO BROWNFIELD — Mapeamento do Codebase + Pesquisa Focada
584
-
585
- **Passo 1: Mapear codebase existente (4 agentes paralelos)**
586
-
587
- Verificar se `.plano/codebase/` ja existe:
588
- - Se existe e tem menos de 7 dias: reutilizar (pular mapeamento)
589
- - Se nao existe ou esta desatualizado: mapear
590
-
591
- ```bash
592
- mkdir -p .plano/codebase
593
- ```
594
-
595
- ```
596
- Task(subagent_type="up-mapeador-codigo", prompt="
597
- <focus>tech</focus>
598
- <files_to_read>
599
- - ./CLAUDE.md (se existir)
600
- </files_to_read>
601
- Mapear stack de tecnologia e integracoes externas.
602
- Escrever .plano/codebase/STACK.md e .plano/codebase/INTEGRATIONS.md
603
- ", description="Mapear stack e integracoes")
604
-
605
- Task(subagent_type="up-mapeador-codigo", prompt="
606
- <focus>arch</focus>
607
- <files_to_read>
608
- - ./CLAUDE.md (se existir)
609
- </files_to_read>
610
- Mapear arquitetura e estrutura de arquivos.
611
- Escrever .plano/codebase/ARCHITECTURE.md e .plano/codebase/STRUCTURE.md
612
- ", description="Mapear arquitetura e estrutura")
613
-
614
- Task(subagent_type="up-mapeador-codigo", prompt="
615
- <focus>quality</focus>
616
- <files_to_read>
617
- - ./CLAUDE.md (se existir)
618
- </files_to_read>
619
- Mapear convencoes de codigo e padroes de teste.
620
- Escrever .plano/codebase/CONVENTIONS.md e .plano/codebase/TESTING.md
621
- ", description="Mapear convencoes e testes")
622
-
623
- Task(subagent_type="up-mapeador-codigo", prompt="
624
- <focus>concerns</focus>
625
- <files_to_read>
626
- - ./CLAUDE.md (se existir)
627
- </files_to_read>
628
- Identificar divida tecnica e problemas.
629
- Escrever .plano/codebase/CONCERNS.md
630
- ", description="Mapear preocupacoes e divida tecnica")
631
- ```
632
-
633
- **IMPORTANTE:** Os 4 Task DEVEM ser spawnados na MESMA mensagem para execucao paralela.
634
-
635
- Verificar que os 7 documentos foram criados:
636
- ```bash
637
- ls -la .plano/codebase/*.md | wc -l
638
- ```
639
-
640
- Commitar mapeamento:
641
- ```bash
642
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: mapear codebase existente" --files .plano/codebase/
643
- ```
644
-
645
- **Passo 2: Pesquisa focada (apenas tecnologias NOVAS)**
646
-
647
- Se o briefing menciona tecnologias/APIs que NAO existem no codebase atual:
648
-
649
- ```bash
650
- mkdir -p .plano/pesquisa
651
- ```
652
-
653
- Spawnar pesquisadores APENAS para tecnologias novas (ex: usuario quer adicionar Stripe mas o projeto nao tem):
654
-
655
- ```
656
- Task(prompt="<research_type>
657
- Pesquisa de Projeto -- Tecnologia nova para projeto existente.
658
- </research_type>
659
-
660
- <question>
661
- [Perguntas focadas APENAS nas tecnologias/padroes NOVOS que serao adicionados]
662
- Stack existente: [de .plano/codebase/STACK.md]
663
- Novo: [tecnologia/API do briefing]
664
- Como integrar o novo com o existente?
665
- </question>
666
-
667
- <briefing>
668
- [Briefing do usuario]
669
- </briefing>
670
-
671
- <output>
672
- Write to: .plano/pesquisa/NOVAS-TECNOLOGIAS.md
673
- </output>
674
- ", subagent_type="up-pesquisador-projeto", description="Pesquisar tecnologias novas")
675
- ```
676
-
677
- Se NAO ha tecnologias novas: pular pesquisa.
678
-
679
- ### 2.3 Salvar Briefing
680
-
681
- Use a ferramenta Write para criar `.plano/BRIEFING.md` com:
682
- - Modo (greenfield/brownfield)
683
- - Briefing completo do usuario
684
- - Respostas das perguntas criticas (se houve)
685
- - Credenciais/APIs fornecidas
686
- - **BROWNFIELD extra:** resumo do codebase (de .plano/codebase/), o que NAO mudar
687
-
688
- ### 2.4 Agente 1: Product Analyst
689
-
690
- ```
691
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
692
- BUILDER > ANALISANDO PRODUTO
693
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
694
-
695
- Pesquisando concorrentes e features do mercado...
696
- ```
697
-
698
- ```
699
- Task(prompt="
700
- <objective>
701
- Analisar o mercado e produto: pesquisar concorrentes, definir personas, listar features obrigatorias e esperadas, mapear modulos do sistema.
702
- Modo autonomo — NAO pergunte nada.
703
- </objective>
704
-
705
- <files_to_read>
706
- - .plano/BRIEFING.md (Briefing do usuario)
707
- - .plano/pesquisa/SUMMARY.md (Pesquisa de ecossistema, se existir)
708
- </files_to_read>
709
-
710
- <output>
711
- Escrever .plano/PRODUCT-ANALYSIS.md
712
- Commit apos escrever.
713
- Retornar: ## PRODUCT ANALYSIS COMPLETE
714
- </output>
715
- ", subagent_type="up-product-analyst", description="Analisar produto e mercado")
716
- ```
717
-
718
- Verificar retorno `## PRODUCT ANALYSIS COMPLETE`. Se falhou: registrar e continuar (System Designer usara blueprints como fallback).
719
-
720
- ```
721
- Produto: [N] concorrentes | [X] features obrigatorias | [Y] personas | [Z] modulos
722
- ```
723
-
724
- ### 2.5 Agente 2: System Designer
725
-
726
- ```
727
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
728
- BUILDER > PROJETANDO SISTEMA
729
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
730
-
731
- Definindo modulos, roles, schema, rotas e requisitos de producao...
732
- ```
733
-
734
- ```
735
- Task(prompt="
736
- <objective>
737
- Projetar o sistema tecnico completo: modulos, roles, permissoes, schema de banco, rotas, integracoes.
738
- Aplicar blueprints de producao e requisitos universais. Compilar requisitos das 5 camadas.
739
- Modo autonomo — NAO pergunte nada.
740
- </objective>
741
-
742
- <mode>{greenfield|brownfield}</mode>
743
-
744
- <files_to_read>
745
- - .plano/BRIEFING.md (Briefing e stack)
746
- - .plano/PRODUCT-ANALYSIS.md (Analise de produto — features, personas, modulos)
747
- - .plano/pesquisa/SUMMARY.md (Pesquisa, se existir)
748
- - $HOME/.claude/up/references/production-requirements-compressed.md (Requisitos universais)
749
- - $HOME/.claude/up/references/blueprints/ (Blueprints — ler os relevantes ao dominio)
750
- {BROWNFIELD EXTRA:}
751
- - .plano/codebase/STACK.md (Stack existente)
752
- - .plano/codebase/ARCHITECTURE.md (Arquitetura existente)
753
- - .plano/codebase/CONVENTIONS.md (Convencoes a seguir)
754
- - .plano/codebase/STRUCTURE.md (Estrutura existente)
755
- - .plano/codebase/CONCERNS.md (Divida tecnica)
756
- - .plano/codebase/INTEGRATIONS.md (Integracoes existentes)
757
- </files_to_read>
758
-
759
- <output>
760
- Escrever .plano/SYSTEM-DESIGN.md
761
- Commit apos escrever.
762
- Retornar: ## SYSTEM DESIGN COMPLETE
763
- </output>
764
- ", subagent_type="up-system-designer", description="Projetar sistema completo")
765
- ```
766
-
767
- ```
768
- Sistema: [N] modulos | [X] roles | [Y] tabelas | [Z] requisitos compilados (5 camadas)
769
- ```
770
-
771
- ### 2.6 Agente 3: Architect
772
-
773
- ```
774
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
775
- BUILDER > ESTRUTURANDO PROJETO
776
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
777
-
778
- Gerando PROJECT.md, REQUIREMENTS.md, ROADMAP.md...
779
- ```
780
-
781
- ```
782
- Task(prompt="
783
- <objective>
784
- Transformar analise de produto e design de sistema em documentos executaveis do UP:
785
- PROJECT.md, REQUIREMENTS.md (com TODOS os requisitos das 5 camadas), ROADMAP.md, STATE.md, config.json.
786
- Modo autonomo — NAO pergunte nada.
787
- </objective>
788
-
789
- <mode>{greenfield|brownfield}</mode>
790
-
791
- <files_to_read>
792
- - .plano/BRIEFING.md (Briefing original)
793
- - .plano/PRODUCT-ANALYSIS.md (Analise de produto — features, personas)
794
- - .plano/SYSTEM-DESIGN.md (Design tecnico — modulos, roles, schema, requisitos compilados)
795
- - $HOME/.claude/up/builder-defaults.md (Defaults do usuario, se existir)
796
- - $HOME/.claude/up/templates/project.md (Template PROJECT.md)
797
- {BROWNFIELD EXTRA:}
798
- - .plano/PROJECT.md (Existente — ATUALIZAR)
799
- - .plano/ROADMAP.md (Existente — ADICIONAR fases)
800
- - .plano/REQUIREMENTS.md (Existente — ADICIONAR requisitos)
801
- - .plano/codebase/CONVENTIONS.md (Convencoes)
802
- - ./CLAUDE.md (Instrucoes do projeto)
803
- </files_to_read>
804
-
805
- <critical>
806
- O SYSTEM-DESIGN.md contem requisitos COMPILADOS das 5 camadas (explicitos + blueprints + universais + stack + mercado).
807
- TODOS esses requisitos devem aparecer no REQUIREMENTS.md com REQ-IDs.
808
- TODAS as features devem ter fases no ROADMAP.md.
809
- O resultado deve ser um sistema COMPLETO pronto para producao, nao um MVP basico.
810
- </critical>
811
-
812
- <brownfield_rules>
813
- Se brownfield:
814
- 1. RESPEITAR stack existente
815
- 2. SEGUIR convencoes existentes
816
- 3. ATUALIZAR documentos existentes (nao criar do zero)
817
- 4. ADICIONAR fases apos as existentes
818
- 5. ADICIONAR requisitos continuando numeracao
819
- </brownfield_rules>
820
-
821
- <constraints>
822
- - builder_mode=true no config.json
823
- - mode=yolo
824
- - parallelization=true
825
- - Commit todos arquivos ao final
826
- </constraints>
827
- ", subagent_type="up-arquiteto", description="Estruturar projeto executavel")
828
- ```
829
-
830
- ### 2.7 Validar Requisitos (Quality Gate de Planejamento)
831
-
832
- **ANTES de iniciar o build, validar que os requisitos sao completos e testaveis.**
833
-
834
- ```
835
- Validando requisitos (13 checks)...
836
- ```
837
-
838
- ```
839
- Task(
840
- subagent_type="up-requirements-validator",
841
- ,
842
- prompt="
843
- <objective>
844
- Validar REQUIREMENTS.md com 13 checks automaticos.
845
- Calcular score e determinar se esta pronto para build.
846
- </objective>
847
-
848
- <files_to_read>
849
- - .plano/REQUIREMENTS.md
850
- - .plano/PROJECT.md
851
- </files_to_read>
852
- ",
853
- description="Validar requisitos (13 checks)"
854
- )
855
- ```
856
-
857
- Ler resultado:
858
-
859
- **Se score >= 75% (ACCEPTABLE ou melhor):** Prosseguir.
860
- ```
861
- Requisitos: {score}% — {GRADE} ({passed}/13 checks)
862
- ```
863
-
864
- **Se score < 75% (NEEDS_WORK):** Re-spawnar arquiteto com feedback.
865
-
866
- ```
867
- Requisitos insuficientes ({score}%). Refinando...
868
- ```
869
-
870
- ```
871
- Task(
872
- subagent_type="up-arquiteto",
873
- prompt="
874
- <objective>
875
- Refinar REQUIREMENTS.md. A validacao encontrou problemas.
876
- Ler REQUIREMENTS-VALIDATION.md para saber o que falta.
877
- Adicionar requisitos que faltam SEM remover os existentes.
878
- </objective>
879
-
880
- <files_to_read>
881
- - .plano/REQUIREMENTS-VALIDATION.md (feedback do validador)
882
- - .plano/REQUIREMENTS.md (requisitos atuais)
883
- - .plano/PROJECT.md
884
- - .plano/SYSTEM-DESIGN.md
885
- </files_to_read>
886
- ",
887
- description="Refinar requisitos apos validacao"
888
- )
889
- ```
890
-
891
- Re-validar (max 2 ciclos). Se apos 2 ciclos ainda < 75%: prosseguir com advertencia.
892
-
893
- ### 2.8 Reportar Arquitetura
894
-
895
- Ler ROADMAP.md e exibir resumo:
896
-
897
- ```
898
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
899
- UP > ARQUITETURA DEFINIDA
900
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
901
-
902
- **[Nome do Projeto]**
903
-
904
- [N] fases | [X] requisitos (5 camadas) | [Y] modulos | [Z] roles
905
- Stack: [resumo]
906
-
907
- Pipeline: Product Analyst → System Designer → Architect
908
-
909
- | # | Fase | Objetivo |
910
- |---|------|----------|
911
- | 1 | [Nome] | [Objetivo] |
912
- | 2 | [Nome] | [Objetivo] |
913
- ...
914
-
915
- Iniciando build...
916
- ```
917
-
918
- ---
919
-
920
- ### 2.9 Injetar persistência no CLAUDE.md do projeto
921
-
922
- 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:
923
-
924
- ```markdown
925
-
926
- ## UP: Persistência de Estado
927
-
928
- Este projeto usa o sistema UP. Se `.plano/STATE.md` existir:
929
- - Ao final de trabalho significativo, salvar estado: `node "$HOME/.claude/up/bin/up-tools.cjs" state save-session --summary "o que foi feito"`
930
- - Se houve decisão importante, adicionar: `--decision "decisão" --phase N`
931
- - Isso garante continuidade entre sessões mesmo sem usar comandos /up:
932
- ```
933
-
934
- Se `./CLAUDE.md` não existe, criar com o conteúdo acima.
935
-
936
- ```bash
937
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: adicionar persistência de estado ao CLAUDE.md" --files CLAUDE.md
938
- ```
939
-
940
- ---
941
-
942
- ## Estagio 3: BUILD (Autonomo — Loop de Fases)
943
-
944
- ### GATE OBRIGATORIO — Verificar Artefatos do Estagio 2
945
-
946
- **ANTES de iniciar o build, verificar que a arquitetura produziu os artefatos obrigatorios.**
947
- **EXECUTAR ESTES COMANDOS LITERALMENTE.**
948
-
949
- ```bash
950
- echo "=== GATE: Verificando artefatos do Estagio 2 ==="
951
- [ -f ".plano/PROJECT.md" ] && echo "OK: PROJECT.md" || echo "FALTANDO: PROJECT.md"
952
- [ -f ".plano/ROADMAP.md" ] && echo "OK: ROADMAP.md" || echo "FALTANDO: ROADMAP.md"
953
- [ -f ".plano/REQUIREMENTS.md" ] && echo "OK: REQUIREMENTS.md" || echo "FALTANDO: REQUIREMENTS.md"
954
- [ -f ".plano/BRIEFING.md" ] && echo "OK: BRIEFING.md" || echo "FALTANDO: BRIEFING.md"
955
- [ -f ".plano/SYSTEM-DESIGN.md" ] && echo "OK: SYSTEM-DESIGN.md" || echo "FALTANDO: SYSTEM-DESIGN.md"
956
- ```
957
-
958
- **Se QUALQUER arquivo FALTANDO:**
959
- - NAO continuar para o build
960
- - Identificar qual agente falhou (Product Analyst? System Designer? Architect?)
961
- - Re-executar o agente que falhou
962
- - Repetir gate ate todos existirem
963
-
964
- **Se todos OK:** Continuar para 3.0.
965
-
966
- ### 3.0 Carregar Roadmap e Inicializar Lock + Governance
967
-
968
- **Inicializar diretorio de governanca (OBRIGATORIO):**
969
- ```bash
970
- mkdir -p .plano/governance
971
- touch .plano/governance/approvals.log
972
- touch .plano/governance/technical-debt.log
973
- echo "# Governance initialized at $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> .plano/governance/approvals.log
974
- ```
975
-
976
- ```bash
977
- ROADMAP=$(node "$HOME/.claude/up/bin/up-tools.cjs" roadmap analyze)
978
- ```
979
-
980
- Extrair lista de fases e total.
981
-
982
- **Criar/atualizar LOCK.md (crash recovery):**
983
-
984
- Use a ferramenta Write para criar `.plano/LOCK.md`:
985
- ```markdown
986
- ---
987
- status: running
988
- stage: build
989
- phase: 1
990
- step: planning
991
- total_phases: [N]
992
- started: [timestamp ISO]
993
- updated: [timestamp ISO]
994
- pid: [process info]
995
- ---
996
-
997
- # Builder Lock
998
-
999
- Builder em execucao. Se a sessao morreu, use `/up:modo-builder` novamente para retomar.
1000
- O builder detectara este LOCK e continuara de onde parou.
1001
- ```
1002
-
1003
- **O LOCK.md e atualizado a cada transicao:**
1004
- - Antes de planejar: `step: planning, phase: X`
1005
- - Antes de executar: `step: executing, phase: X`
1006
- - Antes de verificar: `step: verifying, phase: X`
1007
- - Antes de E2E: `step: e2e-testing, phase: X`
1008
- - Antes de reassessment: `step: reassessing, phase: X`
1009
- - Ao completar fase: `step: completed, phase: X`
1010
- - Ao entrar no Polish: `stage: polish`
1011
- - Ao entrar na Entrega: `stage: delivery`
1012
- - Ao finalizar: `status: completed` (e depois deletar o LOCK.md)
1013
-
1014
- **Formato de atualizacao rapida:**
1015
- ```bash
1016
- # Atualizar LOCK via sed (rapido, sem reescrever arquivo inteiro)
1017
- sed -i "s/^step: .*/step: executing/" .plano/LOCK.md
1018
- sed -i "s/^phase: .*/phase: ${PHASE_NUMBER}/" .plano/LOCK.md
1019
- sed -i "s/^updated: .*/updated: $(date -u +%Y-%m-%dT%H:%M:%SZ)/" .plano/LOCK.md
1020
- ```
1021
-
1022
- ### 3.1 Loop Principal — SEPARACAO RIGIDA DE AGENTES
1023
-
1024
- **REGRA ANTI-COLAPSO (ler com atencao):**
1025
-
1026
- O LLM tende a otimizar colapsando passos — dar ao mesmo agente tarefas de planejar + executar,
1027
- ou pular supervisores por parecer "overhead". Isso e PROIBIDO.
1028
-
1029
- **Cada passo abaixo DEVE ser um Agent() ou Task() SEPARADO.**
1030
- **NUNCA combinar dois passos em um unico spawn.**
1031
- **NUNCA instruir um agente a fazer o trabalho de outro.**
1032
-
1033
- Exemplo do que NAO fazer:
1034
- ```
1035
- # ERRADO — combina planejamento + execucao no mesmo agente
1036
- Task(subagent_type="up-planejador", prompt="Planejar E executar a fase...")
1037
-
1038
- # ERRADO — pula supervisor
1039
- Task(subagent_type="up-executor", prompt="Executar e verificar...")
1040
- ```
1041
-
1042
- Exemplo correto:
1043
- ```
1044
- # CERTO — cada agente faz UMA coisa
1045
- Task(subagent_type="up-planejador", prompt="Planejar fase...")
1046
- # Depois:
1047
- Task(subagent_type="up-executor", prompt="Executar plano...")
1048
- # Depois:
1049
- Agent(subagent_type="up-execution-supervisor", prompt="Revisar execucao...")
1050
- ```
1051
-
1052
- **Pipeline por fase — 9 passos sequenciais, NENHUM pode ser pulado:**
1053
-
1054
- ```
1055
- PASSO 1: up-planejador → gera PLAN.md
1056
- PASSO 2: up-{specialist} → gera SUMMARY.md
1057
- --- GATE A: verificar SUMMARY.md existe ---
1058
- PASSO 3: up-execution-supervisor → gera EXEC-REVIEW em approvals.log
1059
- --- GATE B: verificar approvals.log tem entry pra fase ---
1060
- PASSO 4: up-code-reviewer → gera CODE-REVIEW.md
1061
- PASSO 5: up-verificador → gera VERIFICATION.md
1062
- --- GATE C: verificar VERIFICATION.md existe ---
1063
- PASSO 6: up-verification-supervisor → gera entry em approvals.log
1064
- --- GATE D: verificar approvals.log tem 2 entries pra fase ---
1065
- PASSO 7: E2E + DCRV → gera E2E-RESULTS.md
1066
- PASSO 8: up-chief-engineer → gera entry em approvals.log
1067
- --- GATE E: verificar approvals.log tem 3 entries pra fase (exec-sup + verif-sup + chief) ---
1068
- PASSO 9: Marcar completa
1069
- ```
1070
-
1071
- **GATES sao checks de arquivo executados via Bash. Se o gate falha, NAO avance.**
1072
-
1073
- Para cada fase no ROADMAP (da primeira a ultima):
1074
-
1075
- ```
1076
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1077
- BUILDER > FASE {X}/{TOTAL}: {Nome}
1078
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1079
- ```
1080
-
1081
- #### 3.1.1 Planejar Fase
1082
-
1083
- Spawnar up-planejador com flag de modo builder e modelo de planning:
1084
-
1085
- ```
1086
- Task(prompt="
1087
- <planning_context>
1088
- **Fase:** {phase_number}
1089
- **Modo:** builder (autonomo -- NAO use AskUserQuestion)
1090
- **Sonnet-ready:** sempre (default em v0.6.0+)
1091
-
1092
- <files_to_read>
1093
- - .plano/STATE.md (Estado do Projeto)
1094
- - .plano/ROADMAP.md (Roteiro)
1095
- - .plano/REQUIREMENTS.md (Requisitos)
1096
- - .plano/pesquisa/SUMMARY.md (Pesquisa - se existir)
1097
- - .plano/codebase/CONVENTIONS.md (Convencoes - se existir, BROWNFIELD)
1098
- - .plano/codebase/CONCERNS.md (Divida tecnica - se existir, BROWNFIELD)
1099
- - .plano/codebase/ARCHITECTURE.md (Arquitetura - se existir, BROWNFIELD)
1100
- - .plano/codebase/STRUCTURE.md (Estrutura - se existir, BROWNFIELD)
1101
- - ./CLAUDE.md (Instrucoes do projeto, se existir)
1102
- </files_to_read>
1103
-
1104
- **IDs de requisitos da fase:** {phase_req_ids}
1105
- **Instrucoes do projeto:** Ler ./CLAUDE.md se existir
1106
-
1107
- <builder_mode>
1108
- Voce esta no modo builder. Regras especiais:
1109
- 1. NAO use AskUserQuestion em hipotese alguma
1110
- 2. Se falta CONTEXT.md, planeje usando pesquisa + requisitos
1111
- 3. Se ha ambiguidade, tome a decisao mais razoavel e documente no plano
1112
- 4. Se precisa de informacao que normalmente perguntaria, infira e registre como decisao
1113
- 5. Pesquisa inline: SEMPRE faca (nivel 2+) para garantir implementacoes corretas
1114
- 6. CAPTURES: Se durante o planejamento voce descobrir algo importante (incompatibilidade, risco, oportunidade, decisao critica), registre em .plano/captures/ como arquivo markdown curto
1115
- </builder_mode>
1116
-
1117
- <self_check>
1118
- Apos criar os planos, auto-verificar:
1119
- - [ ] Cada requisito da fase mapeado a um plano
1120
- - [ ] Frontmatter valido (wave, depends_on, files_modified, autonomous)
1121
- - [ ] Tarefas sao especificas e acionaveis
1122
- - [ ] Dependencias corretamente identificadas
1123
- - [ ] Waves atribuidas para execucao paralela
1124
- - [ ] must_haves derivados do objetivo da fase
1125
- Se algo falhar, corrija antes de retornar.
1126
- </self_check>
1127
-
1128
- <output>
1129
- Escrever PLAN.md em: .plano/fases/{phase_dir}/
1130
- Retornar: ## PLANNING COMPLETE com resumo dos planos
1131
- </output>
1132
- ", subagent_type="up-planejador", description="Planejar Fase {phase_number}")
1133
- ```
1134
-
1135
- Verificar retorno:
1136
- - `## PLANNING COMPLETE` → prosseguir para quality gate do plano
1137
- - `## PLANNING INCONCLUSIVE` → tentar novamente com mais contexto (max 2 tentativas)
1138
-
1139
- **Quality Gate do Plano (sempre):**
1140
-
1141
- Antes de passar pro executor, verificar qualidade do plano rapidamente:
1142
- ```bash
1143
- # Contar tarefas com detalhamento insuficiente
1144
- for plan in .plano/fases/{phase_dir}/*-PLAN.md; do
1145
- # Checar se tem imports/schemas/endpoints explicitados
1146
- DETAIL_SCORE=0
1147
- grep -c "import \|from '" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
1148
- grep -c "interface \|type \|schema\|z\.\|zod" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
1149
- grep -c "POST \|GET \|PUT \|DELETE \|endpoint\|route" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
1150
- grep -c "CREATE TABLE\|migration\|ALTER" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
1151
- echo "$plan: detail_score=$DETAIL_SCORE"
1152
- done
1153
- ```
1154
-
1155
- Se algum plano tem detail_score < 2 e a fase tem mais de 3 tarefas:
1156
- - Re-spawnar planejador com instrucao extra: "Plano insuficientemente detalhado. Reescrever com imports, tipos, schemas e endpoints explicitos. Ver self-check Sonnet-ready."
1157
- - Max 1 re-tentativa de enriquecimento
1158
-
1159
- ```
1160
- Fase {X}: Planejada — {N} planos em {M} waves [Sonnet-ready: {score}]
1161
- ```
1162
-
1163
- #### 3.1.2 Executar Fase (com Specialist Routing)
1164
-
1165
- Usar o mesmo processo do workflow executar-fase.md:
1166
-
1167
- ```bash
1168
- INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init executar-fase "${PHASE_NUMBER}")
1169
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
1170
- ```
1171
-
1172
- Parse JSON para obter: `phase_dir`, `plan_count`, `incomplete_count`, `parallelization`.
1173
-
1174
- ```bash
1175
- PLAN_INDEX=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase-plan-index "${PHASE_NUMBER}")
1176
- ```
1177
-
1178
- Parse para obter waves e planos.
1179
-
1180
- **Specialist Routing — escolher o agente certo por plano:**
1181
-
1182
- Para cada plano, ler o frontmatter e detectar o dominio:
1183
-
1184
- | Se o plano envolve... | Usar agente |
1185
- |----------------------|-------------|
1186
- | Componentes React, paginas, UI, CSS, Tailwind | `up-frontend-specialist` |
1187
- | API routes, endpoints, middleware, validacao | `up-backend-specialist` |
1188
- | Schema, migrations, seeds, RLS, queries | `up-database-specialist` |
1189
- | Misto ou infra | `up-executor` (generico) |
1190
-
1191
- **Deteccao:** Ler campo `type` do frontmatter do PLAN.md. Se nao existir, inferir dos `<files>` das tasks:
1192
- - Arquivos em `app/`, `components/`, `*.tsx` com JSX → frontend
1193
- - Arquivos em `api/`, `server/`, `middleware/`, `route.ts` → backend
1194
- - Arquivos `.sql`, `migrations/`, `schema/`, `seed` → database
1195
- - Misto → usar executor generico
1196
-
1197
- **Executar waves:**
1198
-
1199
- Para cada wave, spawnar agentes especializados em paralelo (se parallelization=true):
1200
-
1201
- **Wave 2 (v0.11+) — pre-inline context:**
1202
- ANTES do spawn, montar o bloco de contexto via `up-tools.cjs context`.
1203
- Isso injeta PLAN, STATE, config, governance comprimida e engineering
1204
- principles direto no prompt. O agente NAO precisa fazer Read desses
1205
- arquivos — economiza ~30k tokens por spawn.
1206
-
1207
- ```bash
1208
- PLAN_FILE="{phase_dir}/{plan_file}"
1209
-
1210
- # Wave 5+ — decidir agent type ANTES (necessario pra manifest e routing)
1211
- SPECIALIST_AGENT="up-executor" # ou frontend/backend/database baseado em type do plano
1212
-
1213
- # Wave 6+ — manifest carrega so refs relevantes ao papel do agente
1214
- CTX=$(node "$HOME/.claude/up/bin/up-tools.cjs" context \
1215
- --plan "${PLAN_FILE}" \
1216
- --state \
1217
- --config \
1218
- --manifest "${SPECIALIST_AGENT}" \
1219
- --raw)
1220
-
1221
- # Wave 5+ — complexity-aware model routing per plan
1222
- MODEL=$(node "$HOME/.claude/up/bin/up-tools.cjs" resolve-model-for-plan \
1223
- "${PLAN_FILE}" "${SPECIALIST_AGENT}" --raw)
1224
- CLASSIFY=$(node "$HOME/.claude/up/bin/up-tools.cjs" classify-task "${PLAN_FILE}" --raw)
1225
- COMPLEXITY=$(echo "$CLASSIFY" | grep -oE '"complexity"[^,]+' | grep -oE '"(simple|standard|complex)"' | tr -d '"')
1226
- SCORE=$(echo "$CLASSIFY" | grep -oE '"score"\s*:\s*[0-9]+' | grep -oE '[0-9]+')
1227
-
1228
- # Wave 6+ — Iron rule: validar plan ANTES de spawnar
1229
- VALIDATE=$(node "$HOME/.claude/up/bin/up-tools.cjs" validate-plan "${PLAN_FILE}" --raw)
1230
- VALIDATE_PASS=$(echo "$VALIDATE" | grep -oE '"pass"\s*:\s*(true|false)' | grep -oE '(true|false)')
1231
- if [ "$VALIDATE_PASS" = "false" ]; then
1232
- echo "IRON RULE FALHOU: Plan ${PLAN_FILE} nao passou validate-plan."
1233
- echo "$VALIDATE" | grep -A 20 'suggestions'
1234
- echo "Voltando pro planejador pra refazer."
1235
- # Re-spawn planejador com VALIDATE como contexto. NAO seguir pro spawn de specialist.
1236
- exit 1
1237
- fi
1238
-
1239
- # Log decisao (outcome marcado depois do retorno)
1240
- node "$HOME/.claude/up/bin/up-tools.cjs" routing-log \
1241
- --plan "${PLAN_FILE}" \
1242
- --agent "${SPECIALIST_AGENT}" \
1243
- --model "${MODEL}" \
1244
- --complexity "${COMPLEXITY}" \
1245
- --score "${SCORE}" \
1246
- --outcome pending
1247
- ```
1248
-
1249
- Spawn:
1250
-
1251
- ```
1252
- Task(
1253
- subagent_type="{up-frontend-specialist | up-backend-specialist | up-database-specialist | up-executor}",
1254
- prompt=f"""
1255
- <objective>
1256
- Executar plano {plan_number} da fase {phase_number}-{phase_name}.
1257
- Commitar cada tarefa atomicamente. Criar SUMMARY.md. Atualizar STATE.md e ROADMAP.md.
1258
- </objective>
1259
-
1260
- <prompt_context>
1261
- {CTX}
1262
- </prompt_context>
1263
-
1264
- <execution_context>
1265
- @~/.claude/up/workflows/executar-plano.md
1266
- @~/.claude/up/references/checkpoints.md
1267
- </execution_context>
1268
-
1269
- <builder_mode>
1270
- Modo builder ativo. Regras especiais:
1271
- 1. NAO use AskUserQuestion
1272
- 2. Checkpoints tipo checkpoint:human-verify → auto-aprovar e registrar
1273
- 3. Checkpoints tipo checkpoint:decision → tomar a decisao mais razoavel
1274
- 4. Checkpoints tipo checkpoint:human-action → se possivel automatizar, faca; se nao, registrar como pendente
1275
- 5. Deviation Rule 4 (architectural changes) → decidir autonomamente e registrar no SUMMARY
1276
- 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.
1277
- </builder_mode>
1278
-
1279
- <files_to_read>
1280
- O contexto principal ja esta no <prompt_context> acima. Ler do disco APENAS:
1281
- - ./CLAUDE.md (Instrucoes do projeto, se existir)
1282
- - Arquivos referenciados em <files> das tarefas (codigo a editar)
1283
-
1284
- NAO refazer Read em PLAN, STATE.md, config.json — ja estao inline.
1285
- </files_to_read>
1286
-
1287
- <success_criteria>
1288
- - [ ] Todas tarefas executadas
1289
- - [ ] Cada tarefa committed individualmente
1290
- - [ ] SUMMARY.md criado no diretorio do plano
1291
- - [ ] STATE.md atualizado
1292
- - [ ] ROADMAP.md atualizado com progresso
1293
- </success_criteria>
1294
- """
1295
- )
1296
- ```
1297
-
1298
- **Spot-check apos cada wave:**
1299
- - Verificar que SUMMARYs existem
1300
- - Verificar que commits existem via `git log --oneline --grep`
1301
- - Se falha: tentar re-executar o plano falho (max 1 retry)
1302
-
1303
- **Wave 5+ — Patch routing outcome apos retorno do spawn:**
1304
-
1305
- ```bash
1306
- # Apos spawn retornar (success path)
1307
- if [ -f "${PHASE_DIR}/$(basename ${PLAN_FILE} .md | sed 's/-PLAN/-SUMMARY/')" ]; then
1308
- OUTCOME=success
1309
- elif echo "$SPAWN_RETURN" | grep -q "^ABORTED:"; then
1310
- OUTCOME=abort
1311
- else
1312
- OUTCOME=rework
1313
- fi
1314
-
1315
- REWORK_CYCLES=${REWORK_COUNT:-0}
1316
-
1317
- node "$HOME/.claude/up/bin/up-tools.cjs" routing-log --update \
1318
- --plan "${PLAN_FILE}" \
1319
- --agent "${SPECIALIST_AGENT}" \
1320
- --model "${MODEL}" \
1321
- --complexity "${COMPLEXITY}" \
1322
- --score "${SCORE}" \
1323
- --outcome "${OUTCOME}" \
1324
- --rework-cycles "${REWORK_CYCLES}"
1325
- ```
1326
-
1327
- Sem este step, routing-history.log fica com entries `pending` orfas e
1328
- `analyze-routing` nao tem dados pra sugerir ajustes.
1329
-
1330
- **Wave 3 (v0.12+) — handle ABORTED returns:**
1331
-
1332
- Se a mensagem de retorno do specialist comeca com `ABORTED:`:
1333
-
1334
- ```bash
1335
- if echo "$SPAWN_RETURN" | grep -q "^ABORTED:"; then
1336
- REASON=$(echo "$SPAWN_RETURN" | grep -oE "(timeout|stuck)" | head -1)
1337
- echo "WAVE INTERROMPIDA: ${REASON} na fase ${PHASE_NUMBER}"
1338
-
1339
- # Verificar se PARTIAL-SUMMARY existe
1340
- if [ -f "${PHASE_DIR}/PARTIAL-SUMMARY.md" ]; then
1341
- PARTIAL_TASKS=$(grep "last_completed_task:" "${PHASE_DIR}/PARTIAL-SUMMARY.md" | head -1)
1342
-
1343
- # Decisao: 1 retry com escopo reduzido OU escalar pro chief
1344
- ABORT_COUNT=$(grep -c "phase-${PHASE_NUMBER}.*ABORTED" .plano/governance/aborts.log 2>/dev/null)
1345
-
1346
- if [ "$ABORT_COUNT" -lt 2 ]; then
1347
- echo "Retry com escopo reduzido (1/2). Spawnando specialist novamente."
1348
- # Re-spawn com flag UP_RETRY_AFTER_ABORT=1 — agente pula tarefas opcionais
1349
- # (manter prompt principal, adicionar instrucao de retry)
1350
- else
1351
- echo "ABORTS limite (${ABORT_COUNT}). Escalando para chief-engineer."
1352
- # Spawn chief-engineer com PARTIAL-SUMMARY como contexto
1353
- fi
1354
- fi
1355
- fi
1356
- ```
1357
-
1358
- ```
1359
- Wave {N}: {count} planos executados
1360
- ```
1361
-
1362
- #### --- GATE A: Verificar que execucao produziu artefatos ---
1363
-
1364
- **EXECUTAR OBRIGATORIAMENTE antes de continuar:**
1365
-
1366
- ```bash
1367
- echo "=== GATE A: Verificando artefatos da execucao (Fase ${PHASE_NUMBER}) ==="
1368
- SUMMARY_COUNT=$(ls ${PHASE_DIR}/*-SUMMARY.md 2>/dev/null | wc -l)
1369
- if [ "$SUMMARY_COUNT" -eq 0 ]; then
1370
- echo "GATE A FALHOU: Nenhum SUMMARY.md encontrado em ${PHASE_DIR}"
1371
- echo "A execucao NAO produziu artefatos. Re-executar."
1372
- exit 1
1373
- else
1374
- echo "GATE A OK: ${SUMMARY_COUNT} SUMMARY(s) encontrados"
1375
- fi
1376
- ```
1377
-
1378
- **Se GATE A falhou:** Re-executar o specialist (max 1 retry). NAO avançar para supervisor.
1379
-
1380
- #### 3.1.2.1 GOVERNANCE OBRIGATORIA — Execution Supervisor Revisa (PASSO 3)
1381
-
1382
- **ESTE PASSO E OBRIGATORIO E NAO PODE SER PULADO.**
1383
- **Referencia:** `@~/.claude/up/workflows/governance.md`
1384
-
1385
- Apos CADA wave de execucao completar, o execution-supervisor DEVE revisar o trabalho.
1386
-
1387
- ```python
1388
- Agent(
1389
- subagent_type="up-execution-supervisor",
1390
- prompt=f"""
1391
- Revisar execucao da Fase {phase_number}.
1392
-
1393
- <governance_compressed>
1394
- DECISOES: APPROVE | REQUEST_CHANGES | REQUEST_REPLAN | ESCALATE
1395
- REWORK: max 3 ciclos antes de forcar approval com debito
1396
- NUNCA APROVAR: trabalho nao verificado, evidencia ambigua, claim sem backing,
1397
- stub/placeholder, falta de wiring
1398
- LOG OBRIGATORIO: .plano/governance/approvals.log
1399
- </governance_compressed>
1400
-
1401
- <engineering_principles_compressed>
1402
- 1. Implementacao real (zero placeholder)
1403
- 2. Correto, nao rapido
1404
- 3. Conectado ponta a ponta
1405
- 4. Consistencia (seguir patterns existentes)
1406
- 5. Dados reais
1407
- 6. Custo futuro
1408
- </engineering_principles_compressed>
1409
-
1410
- <files_to_read>
1411
- - {PLAN}
1412
- - {PHASE_DIR}/*-SUMMARY.md
1413
- - git diff (use Bash)
1414
- - .plano/fases/{phase_number}/REQUIREMENTS-SLICE.md (se existir)
1415
-
1416
- Sob demanda apenas:
1417
- - $HOME/.claude/up/references/engineering-principles-compressed.md (exemplos)
1418
- - $HOME/.claude/up/references/governance-rules-compressed.md (hierarquia)
1419
- - $HOME/.claude/up/references/rework-limits-compressed.md (fluxos)
1420
- - $HOME/.claude/up/references/production-requirements-compressed.md (IDs especificos)
1421
- </files_to_read>
1422
-
1423
- Decisao: APPROVE | REQUEST_CHANGES | REQUEST_REPLAN | ESCALATE
1424
-
1425
- REQUEST_REPLAN: Se descobrir que o plano e fundamentalmente errado/inviavel.
1426
- Max 2 re-plans por projeto.
1427
-
1428
- **OUTPUT OBRIGATORIO (fazer ANTES de retornar):**
1429
- Escrever sua decisao no approvals.log:
1430
- ```bash
1431
- echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) | phase-{phase_number} | execution-supervisor | {DECISAO} | {motivo_resumido}" >> .plano/governance/approvals.log
1432
- ```
1433
- Sem este log, o GATE B vai bloquear o avanço do builder.
1434
- """
1435
- )
1436
- ```
1437
-
1438
- #### 3.1.2.2 Processar Decisao do Execution Supervisor
1439
-
1440
- **Se APPROVE:** Verificar que approvals.log foi escrito (o supervisor deve ter feito). Prosseguir para 3.1.3.
1441
-
1442
- **Se REQUEST_CHANGES:** Re-spawn specialist com feedback (max 3 ciclos).
1443
-
1444
- ```python
1445
- # Re-spawn do specialist com review como contexto
1446
- Agent(
1447
- subagent_type="{mesmo specialist da execucao}",
1448
- prompt=f"""
1449
- REWORK — Ciclo {{N}}/3
1450
-
1451
- Seu output anterior foi revisado pelo execution-supervisor e precisa de mudancas.
1452
-
1453
- Review: .plano/governance/{{review_file}}
1454
-
1455
- Mudancas requeridas:
1456
- {{lista_de_mudancas}}
1457
-
1458
- Refaca seu trabalho atendendo os criterios.
1459
- """
1460
- )
1461
- ```
1462
-
1463
- Se apos 3 ciclos sem melhoria: FORCAR aprovacao com debito tecnico.
1464
-
1465
- ```bash
1466
- mkdir -p .plano/governance
1467
- cat >> .plano/governance/technical-debt.log <<EOF
1468
- $(date -u +%Y-%m-%dT%H:%M:%SZ) | phase-{phase_number} | execution-supervisor | FORCED_APPROVAL
1469
- Reason: Max rework cycles (3) reached without improvement
1470
- Remaining issues: [lista]
1471
- EOF
1472
- ```
1473
-
1474
- **Se REQUEST_REPLAN:**
1475
-
1476
- ```bash
1477
- REPLAN_COUNT=$(cat .plano/governance/replans.log 2>/dev/null | wc -l)
1478
- ```
1479
-
1480
- Se `REPLAN_COUNT >= 2`: ESCALATE pro chief-engineer.
1481
-
1482
- Se `REPLAN_COUNT < 2`:
1483
- 1. Spawnar up-planejador LOCAL para refazer plano da fase
1484
- 2. Salvar como PLAN-v2.md (preservar v1 para historico)
1485
- 3. Spawnar up-planning-supervisor para revisar novo plano
1486
- 4. Se APPROVE: voltar para 3.1.2 (re-executar com novo plano)
1487
- 5. Se REJECT: ESCALATE pro chief-engineer
1488
-
1489
- ```bash
1490
- echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) | phase-${PHASE_NUMBER} | execution-supervisor | REPLAN | cycle $((REPLAN_COUNT+1))/2" >> .plano/governance/replans.log
1491
- ```
1492
-
1493
- **Se ESCALATE:** Spawnar chief-engineer para decidir.
1494
-
1495
- ```python
1496
- Agent(
1497
- subagent_type="up-chief-engineer",
1498
- prompt=f"""
1499
- Escalacao recebida do execution-supervisor.
1500
- Fase: {phase_number}
1501
- Problema: {descricao_do_problema}
1502
-
1503
- <files_to_read>
1504
- - {PHASE_DIR}/*-SUMMARY.md
1505
- - {PLAN}
1506
- - .plano/governance/approvals.log
1507
- </files_to_read>
1508
-
1509
- Decidir: APPROVE | REQUEST_CHANGES | ESCALATE_CEO
1510
- """
1511
- )
1512
- ```
1513
-
1514
- Se chief-engineer retorna ESCALATE_CEO: spawnar CEO para alertar o dono.
1515
-
1516
- #### --- GATE B: Verificar que execution-supervisor logou decisao ---
1517
-
1518
- **EXECUTAR OBRIGATORIAMENTE antes de continuar:**
1519
-
1520
- ```bash
1521
- echo "=== GATE B: Verificando governance da execucao (Fase ${PHASE_NUMBER}) ==="
1522
- EXEC_ENTRY=$(grep "phase-${PHASE_NUMBER}.*execution-supervisor" .plano/governance/approvals.log 2>/dev/null | tail -1)
1523
- if [ -z "$EXEC_ENTRY" ]; then
1524
- echo "GATE B FALHOU: execution-supervisor NAO logou decisao para fase ${PHASE_NUMBER}"
1525
- echo "O execution-supervisor DEVE rodar antes de continuar."
1526
- echo "NAO pular este passo. Spawnar up-execution-supervisor agora."
1527
- exit 1
1528
- else
1529
- echo "GATE B OK: $EXEC_ENTRY"
1530
- fi
1531
- ```
1532
-
1533
- **Se GATE B falhou:** Spawnar execution-supervisor. NAO avançar para code review.
1534
-
1535
- #### 3.1.3 Reflect (Code Review) (PASSO 4)
1536
-
1537
- **O passo "Reflect" do ciclo RARV — revisa codigo ANTES da verificacao formal.**
1538
-
1539
- ```
1540
- Fase {X}: Revisando codigo...
1541
- ```
1542
-
1543
- Spawnar code reviewer:
1544
-
1545
- ```
1546
- Task(
1547
- subagent_type="up-code-reviewer",
1548
- ,
1549
- prompt="
1550
- <objective>
1551
- Revisar codigo da fase {phase_number} contra production-requirements e padroes de qualidade.
1552
- Identificar problemas com localizacao exata e sugestao de fix.
1553
- </objective>
1554
-
1555
- <files_to_read>
1556
- - {phase_dir}/*-SUMMARY.md (O que foi implementado)
1557
- - $HOME/.claude/up/references/production-requirements-compressed.md (Checklist de producao)
1558
- - ./CLAUDE.md (Convencoes do projeto, se existir)
1559
- </files_to_read>
1560
-
1561
- <constraints>
1562
- - Revisar TODOS os arquivos modificados na fase (via git log --grep)
1563
- - Verificar 6 dimensoes: production requirements, code quality, security, performance, edge cases, consistency
1564
- - Gerar CODE-REVIEW.md com issues priorizadas e fixes sugeridos
1565
- </constraints>
1566
- ",
1567
- description="Code Review da Fase {phase_number}"
1568
- )
1569
- ```
1570
-
1571
- Ler resultado do code review:
1572
-
1573
- **Se ha issues CRITICAS (score < 7):**
1574
- - Spawnar executor para corrigir issues criticas
1575
- - Re-rodar code review (max 2 ciclos de correcao)
1576
-
1577
- **Se score >= 7:**
1578
- - Registrar score e prosseguir
1579
-
1580
- ```
1581
- Reflect: score {N}/10 | {criticas} criticas | {importantes} importantes | {menores} menores
1582
- ```
1583
-
1584
- #### 3.1.4 Verificar Fase
1585
-
1586
- **Wave 4 (v0.13+) — Verification Ladder Determinística**
1587
-
1588
- ANTES de spawnar o verificador-LLM, rodar checks deterministicos via
1589
- `up-tools.cjs verify-static`. Isso roda lint, typecheck, test e audit
1590
- do projeto. Se TUDO passa, a verificacao LLM pode ser pulada (criar
1591
- VERIFICATION.md sintetico marcando "passed via static checks").
1592
- Se algo falha, o output capturado vira contexto pro verificador-LLM —
1593
- ele foca no que quebrou em vez de re-rodar tudo.
1594
-
1595
- ```bash
1596
- # Step 1: Roda checks deterministicos
1597
- STATIC=$(node "$HOME/.claude/up/bin/up-tools.cjs" verify-static --raw)
1598
- STATIC_OVERALL=$(echo "$STATIC" | grep -oE 'overall.{1,20}' | head -1 | grep -oE '"(pass|fail|skip)"' | tr -d '"')
1599
-
1600
- if [ "$STATIC_OVERALL" = "pass" ]; then
1601
- # Step 2a: Tudo passou — criar VERIFICATION.md sintetico, pular LLM
1602
- cat > "${PHASE_DIR}/VERIFICATION.md" <<EOF
1603
- ---
1604
- status: passed
1605
- verifier: static-only
1606
- phase: ${PHASE_NUMBER}
1607
- checks_passed: lint+typecheck+test+audit
1608
- timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)
1609
- ---
1610
-
1611
- # Verificacao da Fase ${PHASE_NUMBER}
1612
-
1613
- Aprovacao automatica via verificacao estatica deterministica.
1614
-
1615
- Detalhes em \`.plano/runtime/verify-static-*.log\`.
1616
- EOF
1617
- echo "Verification: PASSED via static checks (LLM verifier skipped)"
1618
- elif [ "$STATIC_OVERALL" = "skip" ]; then
1619
- # Sem scripts disponiveis — fallback pra LLM verifier
1620
- STATIC_CONTEXT="Static checks indisponiveis (sem lint/test scripts)."
1621
- fi
1622
- ```
1623
-
1624
- **Step 2b — Se STATIC falhou OU foi pulado:** spawnar verificador-LLM com output dos checks como contexto.
1625
-
1626
- ```python
1627
- # Carregar logs de checks que falharam
1628
- STATIC_LOGS=""
1629
- for log in .plano/runtime/verify-static-*.log; do
1630
- [ -f "$log" ] && STATIC_LOGS="${STATIC_LOGS}\n--- $(basename $log) ---\n$(cat $log)"
1631
- done
1632
-
1633
- Task(
1634
- prompt=f"""Verificar atingimento do objetivo da fase {phase_number}.
1635
- Diretorio da fase: {phase_dir}
1636
- Objetivo da fase: {goal}
1637
- IDs de requisitos da fase: {phase_req_ids}
1638
-
1639
- <static_check_results overall="{STATIC_OVERALL}">
1640
- {STATIC_LOGS}
1641
- </static_check_results>
1642
-
1643
- <builder_mode>
1644
- Modo builder. NAO use AskUserQuestion.
1645
- - FOCAR no que falhou nos static checks (nao reexecutar tudo)
1646
- - Verificar must_haves contra codebase real
1647
- - Cross-referenciar requisitos do frontmatter contra REQUIREMENTS.md
1648
- - Rodar testes APENAS se nao constam dos static checks
1649
- - Se human_needed: considerar como PASSED (sera verificado no final)
1650
- - Criar VERIFICATION.md
1651
- </builder_mode>
1652
- """,
1653
- subagent_type="up-verificador",
1654
- )
1655
- ```
1656
-
1657
- #### --- GATE C: Verificar que verificacao produziu artefatos ---
1658
-
1659
- **EXECUTAR OBRIGATORIAMENTE antes de continuar:**
1660
-
1661
- ```bash
1662
- echo "=== GATE C: Verificando artefatos da verificacao (Fase ${PHASE_NUMBER}) ==="
1663
- VERIF_COUNT=$(ls ${PHASE_DIR}/*-VERIFICATION.md 2>/dev/null | wc -l)
1664
- if [ "$VERIF_COUNT" -eq 0 ]; then
1665
- echo "GATE C FALHOU: Nenhum VERIFICATION.md encontrado em ${PHASE_DIR}"
1666
- echo "O verificador NAO rodou. Spawnar up-verificador agora."
1667
- exit 1
1668
- else
1669
- echo "GATE C OK: ${VERIF_COUNT} VERIFICATION(s) encontrados"
1670
- fi
1671
- ```
1672
-
1673
- **Se GATE C falhou:** Spawnar verificador. NAO avançar para verification-supervisor.
1674
-
1675
- #### 3.1.4.1 GOVERNANCE OBRIGATORIA — Verification Supervisor Revisa (PASSO 6)
1676
-
1677
- **ESTE PASSO E OBRIGATORIO E NAO PODE SER PULADO.**
1678
- **Referencia:** `@~/.claude/up/workflows/governance.md`
1679
-
1680
- Apos o verificador retornar, o verification-supervisor DEVE revisar a verificacao.
1681
-
1682
- ```python
1683
- Agent(
1684
- subagent_type="up-verification-supervisor",
1685
- prompt=f"""
1686
- Revisar verificacao da Fase {phase_number}.
1687
-
1688
- <governance_compressed>
1689
- DECISOES: APPROVE | REQUEST_CHANGES | ESCALATE
1690
- REWORK: max 3 ciclos antes de forcar approval com debito
1691
- NUNCA APROVAR SE:
1692
- - Verificacao superficial ("parece ok")
1693
- - VERIFICATION.md claim sem evidencia no codigo
1694
- - must_haves nao testados de fato
1695
- - Testes rodaram mas com falhas ignoradas
1696
- LOG OBRIGATORIO: .plano/governance/approvals.log
1697
- </governance_compressed>
1698
-
1699
- <files_to_read>
1700
- - {PHASE_DIR}/*-VERIFICATION.md
1701
- - {PHASE_DIR}/*-SUMMARY.md
1702
- - {PLAN}
1703
- - .plano/REQUIREMENTS.md (requisitos da fase)
1704
-
1705
- Sob demanda apenas:
1706
- - $HOME/.claude/up/references/governance-rules-compressed.md
1707
- - $HOME/.claude/up/references/rework-limits-compressed.md
1708
- </files_to_read>
1709
-
1710
- Validar que a verificacao foi rigorosa e que os claims tem backing.
1711
- Decisao: APPROVE | REQUEST_CHANGES | ESCALATE
1712
-
1713
- **OUTPUT OBRIGATORIO (fazer ANTES de retornar):**
1714
- Escrever sua decisao no approvals.log:
1715
- ```bash
1716
- echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) | phase-{phase_number} | verification-supervisor | {DECISAO} | {motivo_resumido}" >> .plano/governance/approvals.log
1717
- ```
1718
- Sem este log, o GATE D vai bloquear o avanço do builder.
1719
- """
1720
- )
1721
- ```
1722
-
1723
- **Se APPROVE:** Verificar que approvals.log foi escrito. Prosseguir.
1724
-
1725
- **Se REQUEST_CHANGES:** Re-spawn verificador com feedback (max 3 ciclos).
1726
-
1727
- **Se ESCALATE:** Spawnar chief-engineer.
1728
-
1729
- Ler status da verificacao:
1730
-
1731
- ```bash
1732
- grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
1733
- ```
1734
-
1735
- | Status | Acao no Builder |
1736
- |--------|----------------|
1737
- | `passed` | Prosseguir para E2E |
1738
- | `gaps_found` | Tentar corrigir (planejar gaps + executar, max 1 ciclo) |
1739
- | `human_needed` | Registrar para revisao final, avancar |
1740
-
1741
- #### --- GATE D: Verificar que AMBOS supervisores logaram decisao ---
1742
-
1743
- **EXECUTAR OBRIGATORIAMENTE antes de continuar:**
1744
-
1745
- ```bash
1746
- echo "=== GATE D: Verificando governance completa (Fase ${PHASE_NUMBER}) ==="
1747
- EXEC_OK=$(grep -c "phase-${PHASE_NUMBER}.*execution-supervisor" .plano/governance/approvals.log 2>/dev/null)
1748
- VERIF_OK=$(grep -c "phase-${PHASE_NUMBER}.*verification-supervisor" .plano/governance/approvals.log 2>/dev/null)
1749
-
1750
- if [ "$EXEC_OK" -eq 0 ] || [ "$VERIF_OK" -eq 0 ]; then
1751
- echo "GATE D FALHOU:"
1752
- [ "$EXEC_OK" -eq 0 ] && echo " - execution-supervisor NAO logou decisao"
1753
- [ "$VERIF_OK" -eq 0 ] && echo " - verification-supervisor NAO logou decisao"
1754
- echo "AMBOS supervisores DEVEM ter logado antes de continuar para E2E."
1755
- echo "Voltar e spawnar o supervisor faltante."
1756
- exit 1
1757
- else
1758
- echo "GATE D OK: execution-supervisor (${EXEC_OK} entries) + verification-supervisor (${VERIF_OK} entries)"
1759
- fi
1760
- ```
1761
-
1762
- **Se GATE D falhou:** Identificar qual supervisor faltou e spawnar. NAO avançar para E2E.
1763
-
1764
- #### 3.1.5 Teste E2E da Fase (Playwright) (PASSO 7)
1765
-
1766
- **Executar APENAS se a fase tem UI/rotas** (pular para fases de infra, schema, config).
1767
-
1768
- Detecao: Se PLANs da fase criam/modificam arquivos em `app/`, `pages/`, `src/components/`, `src/features/` ou arquivos `page.tsx`/`route.ts` → tem UI, testar.
1769
-
1770
- **Referencia:** `@~/.claude/up/workflows/builder-e2e.md` — Passo 3 (Teste por Fase)
1771
-
1772
- 1. Subir dev server (se ainda nao esta rodando):
1773
- ```bash
1774
- # Detectar e subir — ver builder-e2e.md Passo 1
1775
- # Manter rodando entre fases (nao matar apos cada fase)
1776
- ```
1777
-
1778
- 2. Extrair must_haves da fase e traduzir em testes E2E
1779
-
1780
- 3. Para cada teste:
1781
- - Navegar para rota relevante
1782
- - `browser_snapshot()` para obter refs dos elementos
1783
- - Verificar que elementos esperados existem
1784
- - Interagir (clicar, preencher, submeter) se necessario
1785
- - `browser_snapshot()` para verificar resultado
1786
- - `browser_take_screenshot()` como evidencia em `.plano/fases/[fase]/screenshots/`
1787
- - `browser_console_messages(level: "error")` — checar erros JS
1788
- - `browser_network_requests()` — checar falhas de API
1789
-
1790
- 4. Se bugs encontrados:
1791
- - Para cada bug: loop de correcao (max 5 tentativas)
1792
- - Analisar (screenshot + console + network + codigo)
1793
- - Se tentativa > 1: analisar por que correcao anterior falhou
1794
- - Corrigir inline
1795
- - Commit: `fix(fase-{X}): [descricao] (tentativa N)`
1796
- - Re-testar o teste que falhou
1797
- - Se passou: proximo bug. Se falhou: proxima tentativa
1798
- - Apos 5 tentativas sem sucesso: registrar como nao corrigido
1799
-
1800
- 5. Criar `.plano/fases/[fase]/E2E-RESULTS.md` com resultados
1801
-
1802
- ```
1803
- Fase {X}: E2E — {passed}/{total} testes passaram [{bugs} bugs, {fixed} corrigidos]
1804
- ```
1805
-
1806
- **Se nao tem UI:** Pular silenciosamente.
1807
- **Se dev server falha:** Registrar e pular E2E (nao bloqueia).
1808
-
1809
- #### 3.1.5.1 Loop DCRV — Detectar, Classificar, Resolver, Verificar (Por Fase)
1810
-
1811
- **Apos o E2E da fase**, rodar o workflow DCRV completo.
1812
-
1813
- **Referencia:** `@~/.claude/up/workflows/dcrv.md`
1814
-
1815
- Executar com parametros:
1816
- ```
1817
- SCOPE=phase
1818
- PHASE_DIR={phase_dir}
1819
- PHASE_NUMBER={phase_number}
1820
- PORT={porta do dev server}
1821
- MAX_CYCLES=3
1822
- MAX_ISSUES_PER_CYCLE=15
1823
- AUTO_FIX=true
1824
- REGRESSION=false (smoke test e separado no passo 3.1.5.2)
1825
- ```
1826
-
1827
- O workflow DCRV cuida de:
1828
- 1. Detectar modo (UI, API, ambos, nenhum)
1829
- 2. Rodar detectores na ordem (Visual → API → Exhaustive)
1830
- 3. Consolidar issue board
1831
- 4. Dispatcher diagnostica e roteia para especialistas
1832
- 5. Especialistas corrigem com commits atomicos
1833
- 6. Re-verificacao das issues corrigidas
1834
- 7. Loop ate resolver ou max ciclos
1835
-
1836
- Issues pendentes sao salvas em `.plano/issues-carryover/` para o Quality Gate (Estagio 4).
1837
-
1838
- ```
1839
- Fase {X}: DCRV — {resolved}/{total} issues resolvidas [{pending} pendentes → Quality Gate]
1840
- ```
1841
-
1842
- #### 3.1.5.2 Smoke Test de Regressao (A partir da Fase 3)
1843
-
1844
- **A partir da terceira fase**, fazer smoke test rapido das paginas de fases ANTERIORES.
1845
- Objetivo: detectar regressoes causadas por mudancas em componentes compartilhados.
1846
-
1847
- **NAO e exaustivo** — apenas:
1848
- 1. Navegar cada rota de fases anteriores
1849
- 2. Verificar que renderiza (nao tela branca, nao 404)
1850
- 3. Screenshot rapido
1851
- 4. Checar console por erros novos
1852
-
1853
- ```
1854
- Para cada fase anterior com UI:
1855
- Para cada rota da fase:
1856
- browser_navigate(url)
1857
- browser_console_messages(level: "error")
1858
- Se erro novo detectado → registrar como regressao
1859
- ```
1860
-
1861
- Se regressao encontrada:
1862
- - Severidade: HIGH (algo que funcionava quebrou)
1863
- - Corrigir imediatamente (nao carregar para Quality Gate)
1864
- - Commit: `fix(fase-{X}): regressao em [pagina] causada por fase {Y}`
1865
-
1866
- ```
1867
- Smoke test regressao: {N} rotas anteriores | {OK} ok | {REGRESS} regressoes [{FIXED} corrigidas]
1868
- ```
1869
-
1870
- #### 3.1.6 GOVERNANCE OBRIGATORIA — Chief-Engineer Aprova Fase
1871
-
1872
- **ESTE PASSO E OBRIGATORIO E NAO PODE SER PULADO.**
1873
- **Referencia:** `@~/.claude/up/workflows/governance.md`
1874
-
1875
- Antes de marcar a fase como completa, o chief-engineer DEVE aprovar o trabalho consolidado da fase inteira.
1876
-
1877
- ```python
1878
- Agent(
1879
- subagent_type="up-chief-engineer",
1880
- prompt=f"""
1881
- Revisar Fase {phase_number} consolidada.
1882
-
1883
- <governance_compressed>
1884
- DECISOES: APPROVE | REQUEST_CHANGES | ESCALATE_CEO
1885
- REWORK (chief → supervisor): max 2 ciclos, depois escala pro CEO
1886
-
1887
- VERIFICAR:
1888
- 1. Coerencia entre plano, execucao e verificacao
1889
- 2. Drift arquitetural (decisoes que divergem do SYSTEM-DESIGN.md)
1890
- 3. Debito tecnico acumulado (forced approvals)
1891
- 4. Qualidade geral da fase (code review score + verificacao)
1892
- 5. Requisitos da fase atendidos vs REQUIREMENTS.md
1893
- LOG OBRIGATORIO: .plano/governance/approvals.log
1894
- </governance_compressed>
1895
-
1896
- <files_to_read>
1897
- - {PHASE_DIR}/*-PLAN.md (planos)
1898
- - {PHASE_DIR}/*-SUMMARY.md (o que foi implementado)
1899
- - {PHASE_DIR}/*-VERIFICATION.md (resultado da verificacao)
1900
- - {PHASE_DIR}/CODE-REVIEW.md (se existir)
1901
- - .plano/governance/approvals.log (decisoes de supervisores)
1902
- - .plano/governance/technical-debt.log (se existir)
1903
- - .plano/SYSTEM-DESIGN.md (arquitetura original)
1904
- - .plano/REQUIREMENTS.md (requisitos)
1905
-
1906
- Sob demanda apenas:
1907
- - $HOME/.claude/up/references/governance-rules-compressed.md
1908
- - $HOME/.claude/up/references/rework-limits-compressed.md
1909
- </files_to_read>
1910
-
1911
- Consolidar tudo e decidir: APPROVE | REQUEST_CHANGES | ESCALATE_CEO
1912
-
1913
- **OUTPUT OBRIGATORIO (fazer ANTES de retornar):**
1914
- Escrever sua decisao no approvals.log:
1915
- ```bash
1916
- echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) | phase-{phase_number} | chief-engineer | {DECISAO} | {motivo_resumido}" >> .plano/governance/approvals.log
1917
- ```
1918
- Sem este log, o GATE E vai bloquear o avanço do builder.
1919
- """
1920
- )
1921
- ```
1922
-
1923
- **Se APPROVE:** Verificar que approvals.log foi escrito. Prosseguir para GATE E.
1924
-
1925
- **Se REQUEST_CHANGES:**
1926
- - Chief identifica area problematica e supervisor responsavel
1927
- - Re-spawn supervisor correspondente com feedback do chief (max 2 ciclos chief ← supervisor)
1928
- - Supervisor coordena rework com operacional
1929
- - Chief re-revisa e loga novamente em approvals.log
1930
-
1931
- **Se ESCALATE_CEO:**
1932
- - Spawnar CEO para alertar dono
1933
- - CEO usa severidade: CRITICO (sempre interrompe) ou IMPORTANTE (registra)
1934
-
1935
- #### --- GATE E: Verificar TODA governanca antes de marcar completa ---
1936
-
1937
- **EXECUTAR OBRIGATORIAMENTE — este e o gate FINAL da fase:**
1938
-
1939
- ```bash
1940
- echo "=== GATE E: Verificacao FINAL de governanca (Fase ${PHASE_NUMBER}) ==="
1941
- echo ""
1942
-
1943
- # Verificar 3 entries obrigatorias no approvals.log
1944
- EXEC_OK=$(grep -c "phase-${PHASE_NUMBER}.*execution-supervisor" .plano/governance/approvals.log 2>/dev/null)
1945
- VERIF_OK=$(grep -c "phase-${PHASE_NUMBER}.*verification-supervisor" .plano/governance/approvals.log 2>/dev/null)
1946
- CHIEF_OK=$(grep -c "phase-${PHASE_NUMBER}.*chief-engineer" .plano/governance/approvals.log 2>/dev/null)
1947
-
1948
- # Verificar artefatos obrigatorios
1949
- SUMMARY_OK=$(ls ${PHASE_DIR}/*-SUMMARY.md 2>/dev/null | wc -l)
1950
- VERIF_FILE_OK=$(ls ${PHASE_DIR}/*-VERIFICATION.md 2>/dev/null | wc -l)
1951
-
1952
- PASS=true
1953
-
1954
- [ "$SUMMARY_OK" -eq 0 ] && echo "FALHA: Sem SUMMARY.md" && PASS=false
1955
- [ "$VERIF_FILE_OK" -eq 0 ] && echo "FALHA: Sem VERIFICATION.md" && PASS=false
1956
- [ "$EXEC_OK" -eq 0 ] && echo "FALHA: execution-supervisor NAO rodou" && PASS=false
1957
- [ "$VERIF_OK" -eq 0 ] && echo "FALHA: verification-supervisor NAO rodou" && PASS=false
1958
- [ "$CHIEF_OK" -eq 0 ] && echo "FALHA: chief-engineer NAO rodou" && PASS=false
1959
-
1960
- if [ "$PASS" = false ]; then
1961
- echo ""
1962
- echo "GATE E FALHOU: Fase ${PHASE_NUMBER} NAO pode ser marcada como completa."
1963
- echo "Voltar e executar os passos faltantes."
1964
- echo ""
1965
- echo "Checklist obrigatorio:"
1966
- echo " [$([ $SUMMARY_OK -gt 0 ] && echo 'x' || echo ' ')] SUMMARY.md existe"
1967
- echo " [$([ $EXEC_OK -gt 0 ] && echo 'x' || echo ' ')] execution-supervisor logou"
1968
- echo " [$([ $VERIF_FILE_OK -gt 0 ] && echo 'x' || echo ' ')] VERIFICATION.md existe"
1969
- echo " [$([ $VERIF_OK -gt 0 ] && echo 'x' || echo ' ')] verification-supervisor logou"
1970
- echo " [$([ $CHIEF_OK -gt 0 ] && echo 'x' || echo ' ')] chief-engineer logou"
1971
- exit 1
1972
- else
1973
- echo "GATE E OK: Todos 5 checks passaram. Fase pode ser marcada como completa."
1974
- fi
1975
- ```
1976
-
1977
- **Se GATE E falhou:** PARAR. Ler o checklist e executar os passos faltantes. NAO marcar fase como completa sem todos os 5 checks.
1978
-
1979
- #### 3.1.6.1 Marcar Fase Completa (PASSO 9)
1980
-
1981
- **So atingir este passo apos GATE E passar (todos 5 checks OK).**
1982
-
1983
- ```bash
1984
- COMPLETION=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase complete "${PHASE_NUMBER}")
1985
- ```
1986
-
1987
- ```bash
1988
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(fase-{X}): completar execucao" --files .plano/ROADMAP.md .plano/STATE.md .plano/REQUIREMENTS.md
1989
- ```
1990
-
1991
- ```
1992
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1993
- BUILDER > FASE {X}/{TOTAL} COMPLETA ✓
1994
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1995
- ```
1996
-
1997
- #### 3.1.7 Reassessment (Re-avaliacao do Roadmap)
1998
-
1999
- Apos cada fase completa, verificar se o roadmap ainda faz sentido ANTES de planejar a proxima.
2000
-
2001
- **Quando fazer reassessment:**
2002
- - SEMPRE apos completar uma fase (rapido, ~30 segundos)
2003
- - NAO requer agente separado — o orquestrador faz inline
2004
-
2005
- **Processo:**
2006
-
2007
- 1. Ler ROADMAP.md (fases futuras) e SUMMARYs da fase recem-completa
2008
- 2. Verificar 3 coisas:
2009
-
2010
- **a) Fases futuras ainda sao necessarias?**
2011
- - A fase recem-completa pode ter resolvido algo que uma fase futura faria
2012
- - Ex: Fase 3 (auth) pode ter adicionado RBAC que Fase 6 (permissoes) planejava
2013
- - Se sim: marcar fase futura como "Removida (coberta pela Fase X)" no ROADMAP
2014
-
2015
- **b) Fases futuras precisam de ajuste?**
2016
- - Decisoes arquiteturais da fase atual podem mudar o escopo de fases futuras
2017
- - Ex: Escolheu tRPC ao inves de REST — fases de API precisam refletir isso
2018
- - Se sim: atualizar objetivo/criterios da fase futura no ROADMAP
2019
-
2020
- **c) Surgiram necessidades novas?**
2021
- - Ler `.plano/captures/` para insights capturados durante a fase
2022
- - Se algum insight e CRITICO (bloqueia fases futuras): adicionar nova fase
2023
- - Se e melhoria: ignorar (sera coberto pelo estagio Polish)
2024
-
2025
- 3. Se houve mudancas no roadmap:
2026
-
2027
- ```bash
2028
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: reassessment apos fase {X}" --files .plano/ROADMAP.md
2029
- ```
2030
-
2031
- ```
2032
- Reassessment: [sem mudancas | X fases ajustadas | Y fases removidas | Z fases adicionadas]
2033
- ```
2034
-
2035
- **Se NAO houve mudancas:** Seguir silenciosamente (1 linha de log apenas).
2036
-
2037
- #### 3.1.8 Avancar para Proxima Fase
2038
-
2039
- Voltar para 3.1.1 com a proxima fase. Sem /clear — continuar no mesmo contexto.
2040
-
2041
- **Gestao de contexto:** Se o contexto estiver acima de ~60%, fazer um checkpoint:
2042
- - Salvar estado atual em STATE.md
2043
- - Registrar fase atual e status
2044
- - Continuar (com 1M de contexto, a maioria dos projetos cabe)
2045
-
2046
- ---
2047
-
2048
- ## Estagio 4: QUALITY GATE LOOP (Autonomo)
2049
-
2050
- Executado APOS todas as fases do build completarem.
2051
- Ciclo de avaliacao → correcao → re-avaliacao ate atingir score >= 9.0/10.
2052
-
2053
- **Score Composto (9 dimensoes):**
2054
-
2055
- | Dimensao | Peso | Como mede |
2056
- |----------|------|-----------|
2057
- | Funcionalidade | 15% | Requisitos atendidos / total (REQUIREMENTS.md) |
2058
- | Blind Validation | 15% | Score do BLIND-VALIDATION.md |
2059
- | Visual Quality | 12% | Score do up-visual-critic (VISUAL-REPORT.md) |
2060
- | Exhaustive | 10% | Pass rate do up-exhaustive-tester (EXHAUSTIVE-REPORT.md) |
2061
- | API Robustez | 8% | Pass rate do up-api-tester (API-REPORT.md) |
2062
- | E2E | 10% | Testes passando / total (Playwright) |
2063
- | UX | 10% | Score do UX tester (6 sub-dimensoes) |
2064
- | Responsividade | 10% | Score do mobile-first |
2065
- | Codigo | 10% | Score do code reviewer + melhorias |
2066
-
2067
- **Nota:** Se projeto nao tem UI, redistribuir pesos de Visual/Exhaustive/UX/Responsividade para API/Funcionalidade/Codigo.
2068
- **Nota:** Se projeto nao tem API, redistribuir peso de API para outros.
2069
-
2070
- **Limites de seguranca:**
2071
- - Max 5 ciclos de refinamento
2072
- - Se ciclo melhorou < 0.3 pontos: parar (diminishing returns)
2073
- - Nunca entregar abaixo de 7.0 (se ta abaixo, tem bug grave)
2074
- - Meta: score >= 9.0
2075
-
2076
- ### 4.0 Iniciar Quality Gate
2077
-
2078
- ```
2079
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2080
- BUILDER > QUALITY GATE — CICLO 1
2081
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2082
- ```
2083
-
2084
- Definir `$CYCLE = 1`, `$PREVIOUS_SCORE = 0`.
2085
-
2086
- ### 4.1 Rodar Avaliadores (Todos em Paralelo)
2087
-
2088
- **4.1a Melhorias de Codigo** (3 auditores paralelos → sintetizador)
2089
-
2090
- Mesmo processo existente: spawnar up-auditor-ux, up-auditor-performance, up-auditor-modernidade em paralelo, depois up-sintetizador-melhorias.
2091
-
2092
- ### 4.1 Rodar Melhorias
2093
-
2094
- ```
2095
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2096
- BUILDER > POLIMENTO — AUDITORIA
2097
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2098
- ```
2099
-
2100
- ```bash
2101
- mkdir -p .plano/melhorias
2102
- ```
2103
-
2104
- Spawnar 3 auditores em paralelo (mesmo processo do melhorias.md):
2105
-
2106
- ```
2107
- Task(subagent_type="up-auditor-ux", prompt="
2108
- <objective>
2109
- Executar auditoria completa de UX/usabilidade do codebase deste projeto.
2110
- Salvar resultado em .plano/melhorias/ux-sugestoes.md
2111
- </objective>
2112
- <files_to_read>
2113
- - ./CLAUDE.md (se existir)
2114
- </files_to_read>
2115
- <constraints>
2116
- - Carregar reference: $HOME/.claude/up/references/audit-ux.md
2117
- - Carregar template: $HOME/.claude/up/templates/suggestion.md
2118
- - Salvar resultado em .plano/melhorias/ux-sugestoes.md
2119
- - Retornar resumo: ## AUDITORIA UX COMPLETA
2120
- </constraints>
2121
- ", description="Auditoria UX")
2122
-
2123
- Task(subagent_type="up-auditor-performance", prompt="
2124
- <objective>
2125
- Executar auditoria completa de performance do codebase deste projeto.
2126
- Salvar resultado em .plano/melhorias/performance-sugestoes.md
2127
- </objective>
2128
- <files_to_read>
2129
- - ./CLAUDE.md (se existir)
2130
- </files_to_read>
2131
- <constraints>
2132
- - Carregar reference: $HOME/.claude/up/references/audit-performance.md
2133
- - Carregar template: $HOME/.claude/up/templates/suggestion.md
2134
- - Salvar resultado em .plano/melhorias/performance-sugestoes.md
2135
- - Retornar resumo: ## AUDITORIA PERFORMANCE COMPLETA
2136
- </constraints>
2137
- ", description="Auditoria Performance")
2138
-
2139
- Task(subagent_type="up-auditor-modernidade", prompt="
2140
- <objective>
2141
- Executar auditoria completa de modernidade do codebase deste projeto.
2142
- Salvar resultado em .plano/melhorias/modernidade-sugestoes.md
2143
- </objective>
2144
- <files_to_read>
2145
- - ./CLAUDE.md (se existir)
2146
- </files_to_read>
2147
- <constraints>
2148
- - Carregar reference: $HOME/.claude/up/references/audit-modernidade.md
2149
- - Carregar template: $HOME/.claude/up/templates/suggestion.md
2150
- - Salvar resultado em .plano/melhorias/modernidade-sugestoes.md
2151
- - Retornar resumo: ## AUDITORIA MODERNIDADE COMPLETA
2152
- </constraints>
2153
- ", description="Auditoria Modernidade")
2154
- ```
2155
-
2156
- Apos os 3 retornarem, spawnar sintetizador:
2157
-
2158
- ```
2159
- Task(subagent_type="up-sintetizador-melhorias", prompt="
2160
- <objective>
2161
- Sintetizar sugestoes dos 3 auditores em relatorio consolidado.
2162
- Salvar em .plano/melhorias/RELATORIO.md
2163
- </objective>
2164
- <files_to_read>
2165
- - .plano/melhorias/ux-sugestoes.md
2166
- - .plano/melhorias/performance-sugestoes.md
2167
- - .plano/melhorias/modernidade-sugestoes.md
2168
- - ./CLAUDE.md (se existir)
2169
- </files_to_read>
2170
- <constraints>
2171
- - Carregar template: $HOME/.claude/up/templates/report.md
2172
- - Carregar template: $HOME/.claude/up/templates/suggestion.md
2173
- - Deduplicar, detectar conflitos, classificar em 4 quadrantes
2174
- - Retornar resumo: ## SINTESE DE MELHORIAS COMPLETA
2175
- </constraints>
2176
- ", description="Sintetizar melhorias")
2177
- ```
2178
-
2179
- ### 4.2 Aplicar Quick Wins
2180
-
2181
- Ler `.plano/melhorias/RELATORIO.md` e extrair sugestoes do quadrante "Quick Wins" (alto impacto, baixo esforco).
2182
-
2183
- **Filtro:** Aplicar apenas Quick Wins com impacto >= "Grande" ou "Medio".
2184
-
2185
- Se ha Quick Wins para aplicar:
2186
-
2187
- 1. Gerar fases a partir do relatorio:
2188
- ```bash
2189
- 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
2190
- ```
2191
-
2192
- 2. Para cada fase gerada de melhoria:
2193
- - Planejar (up-planejador com builder_mode)
2194
- - Executar (up-executor com builder_mode)
2195
- - Verificar rapidamente
2196
-
2197
- 3. Commitar melhorias:
2198
- ```bash
2199
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "polish: aplicar quick wins de melhorias" --files .plano/ROADMAP.md .plano/STATE.md
2200
- ```
2201
-
2202
- ```
2203
- Melhorias: [N] quick wins aplicadas
2204
- ```
2205
-
2206
- Se nao ha Quick Wins ou todas tem impacto baixo:
2207
- ```
2208
- Melhorias: auditoria completa, sem quick wins para aplicar automaticamente
2209
- Relatorio completo em .plano/melhorias/RELATORIO.md
2210
- ```
2211
-
2212
- ### 4.3 UX Tester (Navegar como Usuario Real)
2213
-
2214
- **Executar APENAS se o projeto tem UI web.** Pular para CLIs, APIs puras, bibliotecas.
2215
-
2216
- ```
2217
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2218
- BUILDER > POLIMENTO — UX REVIEW
2219
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2220
- ```
2221
-
2222
- **Referencia:** `@~/.claude/up/workflows/ux-tester.md`
2223
-
2224
- Executar o workflow completo do UX Tester:
2225
-
2226
- 1. Subir dev server (se nao esta rodando do E2E)
2227
- 2. Descobrir fluxos (de PROJECT.md/REQUIREMENTS.md)
2228
- 3. Definir 2-3 personas
2229
- 4. Navegar cada fluxo como cada persona, avaliando 6 dimensoes:
2230
- - Clareza, Eficiencia, Feedback, Consistencia, Acessibilidade, Performance
2231
- 5. Gerar `.plano/ux-review/UX-REPORT.md` com issues e scores
2232
- 6. **Implementar TODAS as melhorias seguras automaticamente:**
2233
- - Textos/copy confusos → reescrever
2234
- - Feedback ausente → adicionar loading, toasts, hover states
2235
- - Acessibilidade → alt, labels, aria, focus visible
2236
- - Espacamento/layout → padding, margin, fontes
2237
- - Consistencia → unificar estilos, terminologia
2238
- - Performance simples → lazy loading, debounce, memo
2239
- 7. Commit atomico por melhoria: `ux({area}): {descricao}`
2240
- 8. Screenshots antes/depois para cada melhoria
2241
- 9. Re-navegar para confirmar
2242
-
2243
- ```
2244
- UX Review: score [N]/10 | [X] issues | [Y] implementadas (incluindo componentes novos e ajustes de fluxo) | [Z] tentativas falhas
2245
- ```
2246
-
2247
- **Se nao tem UI:** Pular silenciosamente.
2248
- **Se dev server falha:** Registrar e pular.
2249
-
2250
- ### 4.4 Mobile First (Responsividade)
2251
-
2252
- **Executar APENAS se o projeto tem UI web.** Pular para CLIs, APIs puras, bibliotecas.
2253
-
2254
- ```
2255
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2256
- BUILDER > POLIMENTO — RESPONSIVIDADE
2257
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2258
- ```
2259
-
2260
- **Referencia:** `@~/.claude/up/workflows/mobile-first.md`
2261
-
2262
- Executar o workflow completo do Mobile First:
2263
-
2264
- 1. Detectar stack CSS (Tailwind, CSS Modules, etc.)
2265
- 2. Scan: capturar todas as paginas em mobile (390px), tablet (768px), desktop (1920px)
2266
- 3. Detectar problemas: overflow, texto pequeno, alvos de toque, grid quebrado
2267
- 4. Para cada problema:
2268
- - Capturar referencia desktop
2269
- - Corrigir com classes responsivas / media queries
2270
- - Verificar mobile melhorou
2271
- - Verificar desktop INTACTO (se mudou: reverter, tentar outra abordagem)
2272
- - Commit atomico
2273
- 5. Gerar `.plano/mobile-review/MOBILE-REPORT.md`
2274
-
2275
- ```
2276
- Mobile First: score [N]/10 | [X] problemas | [Y] corrigidos | desktop intacto
2277
- ```
2278
-
2279
- **Se nao tem UI:** Pular silenciosamente.
2280
- **Se dev server falha:** Registrar e pular.
2281
-
2282
- ### 4.5 Rodar Ideias
2283
-
2284
- ```
2285
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2286
- BUILDER > POLIMENTO — IDEIAS
2287
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2288
- ```
2289
-
2290
- ```bash
2291
- mkdir -p .plano/ideias
2292
- ```
2293
-
2294
- Spawnar 2 agentes em paralelo:
2295
-
2296
- ```
2297
- Task(subagent_type="up-analista-codigo", prompt="
2298
- <objective>
2299
- Analisar codebase para identificar gaps funcionais e oportunidades de features novas.
2300
- Salvar em .plano/ideias/codigo-sugestoes.md
2301
- </objective>
2302
- <files_to_read>
2303
- - ./CLAUDE.md (se existir)
2304
- - .plano/PROJECT.md
2305
- </files_to_read>
2306
- ", description="Analise de codigo para ideias")
2307
-
2308
- Task(subagent_type="up-pesquisador-mercado", prompt="
2309
- <objective>
2310
- Pesquisar concorrentes e tendencias de mercado para sugerir features novas.
2311
- Salvar em .plano/ideias/mercado-sugestoes.md
2312
- </objective>
2313
- <files_to_read>
2314
- - .plano/PROJECT.md
2315
- </files_to_read>
2316
- ", description="Pesquisa de mercado para ideias")
2317
- ```
2318
-
2319
- Apos os 2 retornarem, spawnar consolidador:
2320
-
2321
- ```
2322
- Task(subagent_type="up-consolidador-ideias", prompt="
2323
- <objective>
2324
- Consolidar sugestoes de features. Aplicar ICE scoring, gerar anti-features.
2325
- Salvar em .plano/ideias/RELATORIO.md
2326
- </objective>
2327
- <files_to_read>
2328
- - .plano/ideias/codigo-sugestoes.md
2329
- - .plano/ideias/mercado-sugestoes.md
2330
- - .plano/PROJECT.md
2331
- </files_to_read>
2332
- ", description="Consolidar ideias com ICE scoring")
2333
- ```
2334
-
2335
- **NAO implementar ideias.** Apenas salvar o relatorio.
2336
-
2337
- ```
2338
- Ideias: [N] sugestoes geradas com ICE scoring
2339
- Relatorio em .plano/ideias/RELATORIO.md
2340
- ```
2341
-
2342
- ### 4.6 Blind Validation (Testar como Usuario Final)
2343
-
2344
- **Validar requisitos SEM ler codigo — apenas navegando o app.**
2345
-
2346
- ```
2347
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2348
- QUALITY GATE — BLIND VALIDATION
2349
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2350
- ```
2351
-
2352
- ```
2353
- Task(
2354
- subagent_type="up-blind-validator",
2355
- ,
2356
- prompt="
2357
- <objective>
2358
- Validar requisitos SEM ler codigo. Apenas navegar o app via Playwright e curl.
2359
- Testar cada requisito como usuario final: renderiza? funciona? feedback existe?
2360
- </objective>
2361
-
2362
- <files_to_read>
2363
- - .plano/REQUIREMENTS.md (UNICO doc de especificacao)
2364
- - .plano/PROJECT.md (contexto do produto)
2365
- </files_to_read>
2366
-
2367
- <constraints>
2368
- - NAO ler arquivos de codigo (.ts, .tsx, .py, .css)
2369
- - NAO ler SUMMARYs, PLANs, ARCHITECTURE
2370
- - APENAS navegar o app e testar como usuario
2371
- - Gerar BLIND-VALIDATION.md com screenshots
2372
- </constraints>
2373
- ",
2374
- description="Blind Validation — testar como usuario final"
2375
- )
2376
- ```
2377
-
2378
- ```
2379
- Blind Validation: {score}% | {passed} PASS | {failed} FAIL | {partial} PARTIAL
2380
- ```
2381
-
2382
- ### 4.7 Calcular Score Composto
2383
-
2384
- Agregar scores de todos os avaliadores:
2385
-
2386
- ```
2387
- Funcionalidade (15%): requisitos [x] / total no REQUIREMENTS.md → 0-10
2388
- Blind Valid. (15%): score do BLIND-VALIDATION.md → 0-10
2389
- Visual (12%): score do VISUAL-REPORT.md → 0-10
2390
- Exhaustive (10%): pass rate do EXHAUSTIVE-REPORT.md → 0-10
2391
- API (8%): pass rate do API-REPORT.md → 0-10
2392
- E2E (10%): testes passaram / total no E2E mais recente → 0-10
2393
- UX (10%): score do UX-REPORT.md → 0-10
2394
- Responsividade (10%): score do MOBILE-REPORT.md → 0-10
2395
- Codigo (10%): score do CODE-REVIEW + melhorias → 0-10
2396
-
2397
- **Modo normal:**
2398
- Score = (func × 0.15) + (blind × 0.15) + (visual × 0.12) + (exhaustive × 0.10) + (api × 0.08) + (e2e × 0.10) + (ux × 0.10) + (resp × 0.10) + (cod × 0.10)
2399
-
2400
- **Modo clone (builder_type: "clone"):**
2401
- Score = (func × 0.10) + (fidelidade × 0.15) + (blind × 0.10) + (visual × 0.15) + (exhaustive × 0.10) + (api × 0.05) + (e2e × 0.10) + (ux × 0.05) + (resp × 0.10) + (cod × 0.10)
2402
-
2403
- A dimensao "Fidelidade" usa o up-clone-verifier: compara features (funcional) + visual contra original.
2404
- ```
2405
-
2406
- **Se algum avaliador nao rodou** (ex: sem UI, sem E2E, sem API): redistribuir peso proporcionalmente entre os que rodaram.
2407
-
2408
- **Issues Carryover das Fases:**
2409
-
2410
- Antes de iniciar o Quality Gate, carregar issues pendentes do loop DCRV por fase:
2411
- ```bash
2412
- ls .plano/issues-carryover/*.json 2>/dev/null
2413
- ```
2414
- Estas issues ja foram detectadas e tentadas — se ainda existem, sao as mais dificeis.
2415
- Incluir no board de issues do Quality Gate com flag `carryover: true`.
2416
-
2417
- ```
2418
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2419
- QUALITY GATE — CICLO {CYCLE} — SCORE: {SCORE}/10
2420
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2421
-
2422
- | Dimensao | Score | Peso | Contribuicao |
2423
- |----------|-------|------|-------------|
2424
- | Funcionalidade | [N]/10 | 15% | [X] |
2425
- | Blind Validation | [N]/10 | 15% | [X] |
2426
- | Visual Quality | [N]/10 | 12% | [X] |
2427
- | Exhaustive | [N]/10 | 10% | [X] |
2428
- | API Robustez | [N]/10 | 8% | [X] |
2429
- | E2E | [N]/10 | 10% | [X] |
2430
- | UX | [N]/10 | 10% | [X] |
2431
- | Responsividade | [N]/10 | 10% | [X] |
2432
- | Codigo | [N]/10 | 10% | [X] |
2433
- | **TOTAL** | **[SCORE]/10** | | |
2434
- ```
2435
-
2436
- ### 4.8 Decidir: Continuar ou Entregar
2437
-
2438
- **Se score >= 9.0:** Ir para Estagio 5 (Entrega). Sistema pronto.
2439
-
2440
- **Se score < 9.0 E cycle < 5 E (score - previous_score) >= 0.3:**
2441
-
2442
- ```
2443
- Score {SCORE} < 9.0 — identificando gaps para correcao...
2444
- ```
2445
-
2446
- Identificar top gaps (dimensoes com menor score):
2447
- 1. Ordenar dimensoes por score (menor primeiro)
2448
- 2. Para cada dimensao abaixo de 9.0:
2449
- - Ler relatorio correspondente
2450
- - Extrair issues nao corrigidas / requisitos pendentes
2451
- - Priorizar por impacto no score
2452
-
2453
- **Rodar 3 detectores no projeto INTEIRO (nao apenas por fase):**
2454
-
2455
- Ordem: Visual Critic → API Tester → Exhaustive Tester
2456
-
2457
- Cada detector roda em TODAS as paginas/rotas, detectando:
2458
- - Issues novas (nao encontradas no DCRV por fase)
2459
- - Regressoes cross-fase (inconsistencia entre paginas de fases diferentes)
2460
- - Issues carryover (pendentes das fases) — re-verificar se ainda existem
2461
-
2462
- **Implementar correcoes via Dispatcher (mesmo protocolo do DCRV por fase):**
2463
- - Issues visuais (VIS-*): diagnosticar → up-frontend-specialist
2464
- - Issues de interacao (INT-*): diagnosticar → up-frontend-specialist ou up-backend-specialist
2465
- - Issues de API (API-*): diagnosticar → up-backend-specialist ou up-database-specialist
2466
- - Issues de codigo: planejar mini-fase → executar → commit
2467
- - Issues de UX: aplicar fixes (mesmo processo do UX tester)
2468
- - Issues de responsividade: aplicar fixes (mesmo processo do mobile-first)
2469
- - Requisitos pendentes: planejar mini-fase → executar
2470
- - Issues de E2E: corrigir bugs (max 5 tentativas)
2471
-
2472
- **Cap de issues por ciclo: max 20** (mais generoso que o DCRV por fase).
2473
- Prioridade: critical > high > medium. Low nunca entra.
2474
-
2475
- Apos implementar:
2476
-
2477
- ```
2478
- $PREVIOUS_SCORE = $SCORE
2479
- $CYCLE += 1
2480
- ```
2481
-
2482
- **Voltar para 4.1** (re-rodar avaliadores no proximo ciclo).
2483
-
2484
- **Se cycle >= 5:** Entregar com score atual.
2485
- ```
2486
- Quality Gate: max ciclos atingido. Entregando com score {SCORE}/10.
2487
- ```
2488
-
2489
- **Se (score - previous_score) < 0.3:** Diminishing returns. Entregar.
2490
- ```
2491
- Quality Gate: melhoria < 0.3 pontos. Entregando com score {SCORE}/10.
2492
- ```
2493
-
2494
- ### 4.9 DevOps — Artefatos de Producao
2495
-
2496
- ```
2497
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2498
- BUILDER > PRODUCTION ARTIFACTS
2499
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2500
- ```
2501
-
2502
- Spawnar devops agent:
2503
-
2504
- ```
2505
- Task(
2506
- subagent_type="up-devops-agent",
2507
- ,
2508
- prompt="
2509
- <objective>
2510
- Gerar artefatos de producao para o projeto: Dockerfile, docker-compose, CI/CD, .env.example, seed data, scripts.
2511
- </objective>
2512
-
2513
- <files_to_read>
2514
- - .plano/PROJECT.md
2515
- - .plano/SYSTEM-DESIGN.md (schema, integracoes)
2516
- - ./package.json
2517
- - ./CLAUDE.md (se existir)
2518
- </files_to_read>
2519
-
2520
- <builder_mode>
2521
- Modo builder. NAO pergunte nada. Gere tudo autonomamente.
2522
- Adapte ao stack real do projeto.
2523
- </builder_mode>
2524
- ",
2525
- description="Gerar artefatos de producao"
2526
- )
2527
- ```
2528
-
2529
- ```
2530
- DevOps: Dockerfile + docker-compose + CI/CD + .env.example + seed data
2531
- ```
2532
-
2533
- ### 4.10 Technical Writer — Documentacao
2534
-
2535
- ```
2536
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2537
- BUILDER > DOCUMENTACAO
2538
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2539
- ```
2540
-
2541
- Spawnar technical writer:
2542
-
2543
- ```
2544
- Task(
2545
- subagent_type="up-technical-writer",
2546
- ,
2547
- prompt="
2548
- <objective>
2549
- Gerar documentacao completa: README.md, API docs, CHANGELOG.md, setup guide.
2550
- Documentacao com conteudo REAL do projeto (nao placeholders).
2551
- </objective>
2552
-
2553
- <files_to_read>
2554
- - .plano/PROJECT.md
2555
- - .plano/REQUIREMENTS.md
2556
- - .plano/SYSTEM-DESIGN.md
2557
- - .plano/PRODUCT-ANALYSIS.md
2558
- - ./package.json
2559
- - ./CLAUDE.md (se existir)
2560
- </files_to_read>
2561
-
2562
- <builder_mode>
2563
- Modo builder. NAO pergunte nada. Gere documentacao autonomamente.
2564
- README deve ter instrucoes de setup que FUNCIONAM.
2565
- </builder_mode>
2566
- ",
2567
- description="Gerar documentacao completa"
2568
- )
2569
- ```
2570
-
2571
- ```
2572
- Docs: README.md + CHANGELOG.md + API docs
2573
- ```
2574
-
2575
- ### 4.11 Security Review
2576
-
2577
- ```
2578
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2579
- BUILDER > SECURITY AUDIT
2580
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2581
- ```
2582
-
2583
- Spawnar security reviewer:
2584
-
2585
- ```
2586
- Task(
2587
- subagent_type="up-security-reviewer",
2588
- ,
2589
- prompt="
2590
- <objective>
2591
- Auditar codigo para vulnerabilidades de seguranca (OWASP Top 10, auth, injection, data exposure).
2592
- </objective>
2593
-
2594
- <files_to_read>
2595
- - ./CLAUDE.md (se existir)
2596
- - .plano/SYSTEM-DESIGN.md (roles, auth design)
2597
- </files_to_read>
2598
-
2599
- <builder_mode>
2600
- Modo builder. Gere SECURITY-REVIEW.md com vulnerabilidades encontradas.
2601
- </builder_mode>
2602
- ",
2603
- description="Auditoria de seguranca"
2604
- )
2605
- ```
2606
-
2607
- Se ha vulnerabilidades CRITICAS: corrigir automaticamente (spawnar executor com fix sugerido).
2608
-
2609
- ```
2610
- Security: score {N}/10 | {criticas} criticas | {altas} altas
2611
- ```
2612
-
2613
- ### 4.12 QA — Testes Automatizados
2614
-
2615
- ```
2616
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2617
- BUILDER > QA — TESTES
2618
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2619
- ```
2620
-
2621
- Spawnar QA agent:
2622
-
2623
- ```
2624
- Task(
2625
- subagent_type="up-qa-agent",
2626
- ,
2627
- prompt="
2628
- <objective>
2629
- Identificar gaps de cobertura de testes, escrever testes que faltam, executar todos.
2630
- </objective>
2631
-
2632
- <files_to_read>
2633
- - .plano/PROJECT.md
2634
- - ./package.json
2635
- - ./CLAUDE.md (se existir)
2636
- </files_to_read>
2637
-
2638
- <builder_mode>
2639
- Modo builder. Escreva testes e rode autonomamente.
2640
- Foco: API routes (90%+), logica de negocio (80%+), componentes com logica (70%+).
2641
- </builder_mode>
2642
- ",
2643
- description="QA — escrever e rodar testes"
2644
- )
2645
- ```
2646
-
2647
- ```
2648
- QA: {N} testes escritos | {X} passando | cobertura estimada {%}
2649
- ```
2650
-
2651
- ### 4.13 Rodar Ideias (Uma Vez, Apos Quality Gate)
2652
-
2653
- **Rodar ideias apenas UMA VEZ, apos o loop de qualidade terminar (nao a cada ciclo).**
2654
-
2655
- Mesmo processo de ideias existente (2 agentes paralelos + consolidador).
2656
- NAO implementar ideias — apenas salvar relatorio para proximos passos.
2657
-
2658
- ---
2659
-
2660
- ## Estagio 4.5: DELIVERY AUDIT (NOVO v0.5.0)
2661
-
2662
- Antes do Delivery, o `up-delivery-auditor` valida que o processo inteiro foi completo e consistente.
2663
-
2664
- ### 4.5.1 Rodar Delivery Auditor
2665
-
2666
- ```python
2667
- Agent(
2668
- subagent_type="up-delivery-auditor",
2669
- prompt="""
2670
- Auditar processo de entrega do projeto.
2671
-
2672
- <files_to_read>
2673
- - .plano/CHECKLIST.md
2674
- - .plano/BRIEFING.md
2675
- - .plano/PENDING.md
2676
- - .plano/governance/approvals.log (se existe)
2677
- - Todos os reviews (supervisores + chiefs)
2678
- - Todos os relatorios (VERIFICATION, DCRV, E2E, etc.)
2679
- - $HOME/.claude/up/templates/audit-report.md (template)
2680
- </files_to_read>
2681
-
2682
- Calcular Confidence Score (0-100).
2683
- Detectar inconsistencias cross-report.
2684
- Validar aprovacoes.
2685
- Comparar delivery com briefing original.
2686
-
2687
- Gerar .plano/AUDIT-REPORT.md com recomendacao.
2688
-
2689
- Retornar: READY_FOR_DELIVERY | APPROVED_WITH_WARNINGS | NEEDS_REWORK | BLOCKED
2690
- """
2691
- )
2692
- ```
2693
-
2694
- ### 4.5.2 Processar Resultado do Auditor
2695
-
2696
- **Se READY_FOR_DELIVERY (confidence >= 95%):**
2697
- - Prosseguir direto pro Estagio 5
2698
-
2699
- **Se APPROVED_WITH_WARNINGS (confidence 85-94%):**
2700
- - Delegar pro CEO decidir
2701
- - CEO pode perguntar ao dono se aceita entregar com warnings
2702
-
2703
- **Se NEEDS_REWORK (confidence 70-84%):**
2704
- - Executar rework plan do auditor
2705
- - Re-rodar estagios problematicos
2706
- - Voltar pro auditor (max 3 ciclos)
2707
-
2708
- **Se BLOCKED (confidence < 70% ou problema critico):**
2709
- - Escalar pro CEO
2710
- - CEO alerta dono obrigatoriamente
2711
- - Projeto nao pode ser entregue sem decisao do dono
2712
-
2713
- ### 4.5.3 Loop de Rework (se necessario)
2714
-
2715
- ```
2716
- Ciclo 1: rodar auditor
2717
- Se NEEDS_REWORK:
2718
- Executar rework plan
2719
- Ciclo 2: rodar auditor
2720
- Se NEEDS_REWORK:
2721
- Executar rework plan
2722
- Ciclo 3: rodar auditor
2723
- Se NEEDS_REWORK:
2724
- Forca APPROVED_WITH_WARNINGS
2725
- CEO decide o que fazer
2726
- ```
2727
-
2728
- Max 3 ciclos. Depois: forcar aprovacao ou escalar CEO.
2729
-
2730
- ---
2731
-
2732
- ## Estagio 5: ENTREGA (Autonomo)
2733
-
2734
- ### 5.1 Teste E2E Final Completo (Playwright)
2735
-
2736
- **Referencia:** `@~/.claude/up/workflows/builder-e2e.md` — Passo 4 (Teste Final)
2737
-
2738
- **Executar APENAS se o projeto tem UI web.** Pular para CLIs, APIs puras, bibliotecas.
2739
-
2740
- ```
2741
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2742
- BUILDER > TESTE E2E FINAL
2743
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2744
- ```
2745
-
2746
- 1. Subir dev server (se nao esta rodando)
2747
- 2. Criar diretorios:
2748
- ```bash
2749
- mkdir -p .plano/e2e/smoke .plano/e2e/responsive .plano/e2e/flows
2750
- ```
2751
-
2752
- 3. **Smoke test de rotas:**
2753
- - Descobrir todas as rotas do projeto (de arquivos page.tsx/route.ts)
2754
- - Visitar cada rota
2755
- - Screenshot de cada uma
2756
- - Checar console errors
2757
- - Registrar rotas OK vs quebradas
2758
-
2759
- 4. **Fluxos E2E principais (3-5 fluxos):**
2760
- - Derivar de REQUIREMENTS.md os fluxos criticos
2761
- - Para cada fluxo: navegar → interagir → verificar → screenshot
2762
- - Se auth necessario: criar usuario de teste ou usar seed data
2763
-
2764
- 5. **Teste de responsividade:**
2765
- - Desktop (1920x1080), Tablet (768x1024), Mobile (375x812)
2766
- - Screenshot da pagina principal em cada viewport
2767
- - Verificar se layout adapta (nao overflow, nao cortado)
2768
-
2769
- 6. **Correcao de bugs encontrados:**
2770
- - Para cada bug: loop de correcao (max 5 tentativas por bug)
2771
- - Analisar → corrigir → commit → re-testar
2772
- - Se tentativa > 1: analisar por que tentativa anterior falhou
2773
- - Apos 5 tentativas: registrar como nao corrigido e seguir
2774
-
2775
- 7. Gerar `.plano/e2e/E2E-REPORT.md` com resultados completos
2776
-
2777
- 8. Matar dev server e fechar browser:
2778
- ```bash
2779
- kill $DEV_PID 2>/dev/null
2780
- ```
2781
- `browser_close()`
2782
-
2783
- ```
2784
- Teste E2E: {routes_ok}/{routes_total} rotas | {flows_passed}/{flows_total} fluxos | {bugs} bugs [{fixed} corrigidos]
2785
- ```
2786
-
2787
- **Se nao tem UI:** Pular silenciosamente.
2788
- **Se dev server falha:** Registrar e pular (nao bloqueia entrega).
2789
-
2790
- ### 5.2 Verificacao de Requisitos
2791
-
2792
- Ler REQUIREMENTS.md e verificar cobertura:
2793
-
2794
- ```bash
2795
- node "$HOME/.claude/up/bin/up-tools.cjs" progress json
2796
- ```
2797
-
2798
- Contar requisitos completos vs total.
2799
-
2800
- Se ha requisitos pendentes: listar com motivo (fase falhou, verificacao pendente, etc.).
2801
-
2802
- ### 5.3 Triagem de Captures (Insights)
2803
-
2804
- Ler todos os arquivos em `.plano/captures/`:
2805
-
2806
- ```bash
2807
- ls .plano/captures/*.md 2>/dev/null | wc -l
2808
- ```
2809
-
2810
- Se ha captures:
2811
-
2812
- 1. Ler cada arquivo e classificar:
2813
-
2814
- | type | Acao |
2815
- |------|------|
2816
- | `critical` + `problem` | Listar no DELIVERY.md como "Problemas Criticos Detectados" |
2817
- | `warning` + `problem` | Listar no DELIVERY.md como "Alertas" |
2818
- | `opportunity` | Listar no DELIVERY.md como "Oportunidades Detectadas" |
2819
- | `pattern` | Listar no DELIVERY.md como "Padroes Identificados" |
2820
- | `decision` | Ja registrado no PROJECT.md — ignorar |
2821
- | `info` | Ignorar (informativo apenas) |
2822
-
2823
- 2. Gerar `.plano/captures/TRIAGE.md`:
2824
-
2825
- ```markdown
2826
- # Triagem de Insights
2827
-
2828
- **Total capturado:** [N] insights durante o build
2829
-
2830
- ## Criticos
2831
- [insights criticos que precisam de atencao]
2832
-
2833
- ## Alertas
2834
- [problemas potenciais detectados]
2835
-
2836
- ## Oportunidades
2837
- [melhorias e features descobertas durante o build]
2838
-
2839
- ## Padroes
2840
- [padroes identificados no codebase]
2841
-
2842
- ## Estatisticas
2843
- | Tipo | Quantidade |
2844
- |------|-----------|
2845
- | critical | [N] |
2846
- | warning | [N] |
2847
- | opportunity | [N] |
2848
- | pattern | [N] |
2849
- | decision | [N] |
2850
- | info | [N] |
2851
- ```
2852
-
2853
- Se NAO ha captures: pular silenciosamente.
2854
-
2855
- ### 5.4 Gerar DELIVERY.md (incluindo resultados E2E)
2856
-
2857
- Carregar template de `$HOME/.claude/up/templates/delivery.md`.
2858
-
2859
- Preencher com dados de:
2860
- - PROJECT.md (nome, stack, core value)
2861
- - ROADMAP.md (fases completadas)
2862
- - REQUIREMENTS.md (cobertura)
2863
- - SUMMARYs de cada fase (o que foi construido)
2864
- - .plano/e2e/E2E-REPORT.md (resultados do teste E2E final, se existir)
2865
- - E2E-RESULTS.md de cada fase (resultados por fase, se existirem)
2866
- - .plano/captures/TRIAGE.md (insights capturados durante o build, se existir)
2867
- - .plano/melhorias/RELATORIO.md (melhorias aplicadas, se existir)
2868
- - .plano/ideias/RELATORIO.md (top 5 ideias por ICE, se existir)
2869
- - package.json (como rodar)
2870
- - .env.example ou env vars usados (credenciais necessarias)
2871
-
2872
- Contar commits:
2873
- ```bash
2874
- git rev-list --count HEAD
2875
- ```
2876
-
2877
- Escrever `.plano/DELIVERY.md`.
2878
-
2879
- ### 5.5 Commit Final e Cleanup
2880
-
2881
- ```bash
2882
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: relatorio de entrega (modo builder)" --files .plano/DELIVERY.md
2883
- ```
2884
-
2885
- **Remover LOCK.md (sessao concluida com sucesso):**
2886
- ```bash
2887
- rm -f .plano/LOCK.md
2888
- ```
2889
-
2890
- **Fechar Dashboard:**
2891
- ```bash
2892
- kill $DASH_PID 2>/dev/null
2893
- ```
2894
-
2895
- ### 5.6 CEO Apresenta Resultado (NOVO v0.5.0)
2896
-
2897
- Delegar apresentacao final ao CEO:
2898
-
2899
- ```python
2900
- Agent(
2901
- subagent_type="up-project-ceo",
2902
- prompt="""
2903
- Apresentar resultado final do projeto ao dono.
2904
-
2905
- <files_to_read>
2906
- - ~/.claude/up/owner-profile.md (seu perfil do dono)
2907
- - .plano/OWNER.md (contexto do projeto)
2908
- - .plano/DELIVERY.md (relatorio de entrega)
2909
- - .plano/AUDIT-REPORT.md (auditoria)
2910
- - .plano/PENDING.md (pendencias)
2911
- </files_to_read>
2912
-
2913
- Apresentar no tom e estilo definidos no owner-profile.
2914
- Incluir: resumo, scores, pendencias agrupadas por severidade.
2915
- Perguntar se dono quer resolver alguma pendencia agora.
2916
- """
2917
- )
2918
- ```
2919
-
2920
- **Template antigo (fallback se CEO nao disponivel):**
2921
-
2922
- ```
2923
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2924
- UP > BUILDER — PROJETO ENTREGUE
2925
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2926
-
2927
- **[Nome do Projeto]**
2928
-
2929
- [Resumo em 2-3 frases do que foi construido]
2930
-
2931
- ## O que foi Entregue
2932
-
2933
- | Fase | O que Construiu | Status |
2934
- |------|----------------|--------|
2935
- | 1 | [resumo] | Completo |
2936
- | 2 | [resumo] | Completo |
2937
- | ... | ... | ... |
2938
-
2939
- ## Metricas
2940
-
2941
- | Metrica | Valor |
2942
- |---------|-------|
2943
- | Fases | [N] completadas |
2944
- | Requisitos | [X]/[Y] atendidos |
2945
- | Commits | [N] |
2946
- | Melhorias aplicadas | [N] |
2947
- | Ideias geradas | [N] |
2948
-
2949
- ## Itens para Revisao Humana
2950
-
2951
- [Lista de itens marcados como human_needed durante verificacao]
2952
- [Se nenhum: "Nenhum — todas verificacoes automaticas passaram"]
2953
-
2954
- ## Proximos Passos (Top 5 Ideias)
2955
-
2956
- 1. [Ideia 1] — ICE: [score]
2957
- 2. [Ideia 2] — ICE: [score]
2958
- 3. [Ideia 3] — ICE: [score]
2959
- 4. [Ideia 4] — ICE: [score]
2960
- 5. [Ideia 5] — ICE: [score]
2961
-
2962
- ───────────────────────────────────────────────────────────────
2963
-
2964
- Relatorio completo: .plano/DELIVERY.md
2965
-
2966
- Como rodar:
2967
- [Instrucoes de setup do DELIVERY.md]
2968
-
2969
- ───────────────────────────────────────────────────────────────
2970
- ```
2971
-
2972
- </process>
2973
-
2974
- <light_process>
2975
- ## MODO LIGHT — Pipeline Enxuto
2976
-
2977
- **Ativado quando `--light` esta nos $ARGUMENTS.**
2978
- Extrair `--light` dos argumentos. O restante e o briefing.
2979
-
2980
- ### L1. Intake Rapido
2981
-
2982
- #### L1.1 Detectar Modo
2983
-
2984
- Mesmo processo do full: verificar codigo existente para determinar greenfield/brownfield.
2985
-
2986
- ```bash
2987
- ls package.json go.mod Cargo.toml requirements.txt pyproject.toml 2>/dev/null
2988
- ls -d src/ app/ lib/ pages/ components/ 2>/dev/null | head -10
2989
- ```
2990
-
2991
- #### L1.2 Receber Briefing
2992
-
2993
- Se briefing veio nos $ARGUMENTS: usar direto.
2994
- Se vazio: pedir freeform (mesma logica do full).
2995
-
2996
- #### L1.3 Perguntas Criticas
2997
-
2998
- Mesma logica do full — perguntar APENAS o essencial (credenciais, APIs, ambiguidades criticas).
2999
-
3000
- ```
3001
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3002
- UP > BUILDER LIGHT
3003
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3004
-
3005
- **Feature:** [resumo em 1-2 frases]
3006
- **Modo:** [greenfield/brownfield]
3007
- **Stack:** [detectada ou inferida]
3008
-
3009
- Pipeline enxuto: planejar → executar → testar.
3010
- Iniciando...
3011
- ```
3012
-
3013
- ═══════════════════════════════════════════════════════
3014
- FIM DA INTERACAO COM USUARIO
3015
- ═══════════════════════════════════════════════════════
3016
-
3017
- ---
3018
-
3019
- ### L2. Estrutura Inline (Sem Agente Separado)
3020
-
3021
- **NAO spawnar up-arquiteto.** Fazer tudo inline para economizar tokens.
3022
-
3023
- #### L2.1 Entender o Codebase (Brownfield)
3024
-
3025
- **Se `.plano/codebase/` existe e recente (< 7 dias):** Ler STACK.md e CONVENTIONS.md apenas. Pular mapeamento.
3026
-
3027
- **Se nao existe:** Mini-scan inline:
3028
- ```bash
3029
- # Stack
3030
- cat package.json 2>/dev/null | head -50
3031
- ls tsconfig.json next.config.* vite.config.* 2>/dev/null
3032
-
3033
- # Estrutura
3034
- find . -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/.plano/*' -maxdepth 3 | head -30
3035
-
3036
- # Arquivos principais
3037
- find . -name "*.ts" -o -name "*.tsx" | grep -v node_modules | head -30
3038
- ```
3039
-
3040
- **Greenfield:** Pular. Inferir stack do briefing ou defaults.
3041
-
3042
- #### L2.2 Criar/Atualizar Documentos
3043
-
3044
- ```bash
3045
- mkdir -p .plano
3046
- git init 2>/dev/null
3047
- ```
3048
-
3049
- **PROJECT.md** — Criar ou atualizar inline (sem template elaborado):
3050
- ```markdown
3051
- # [Nome do Projeto/Feature]
3052
-
3053
- ## O que e
3054
- [Briefing do usuario em 2-3 frases]
3055
-
3056
- ## Stack
3057
- [Stack detectada ou inferida]
3058
-
3059
- ## Requisitos
3060
- - [ ] [REQ-01]: [requisito 1]
3061
- - [ ] [REQ-02]: [requisito 2]
3062
- ...
3063
- ```
3064
-
3065
- **ROADMAP.md** — Criar ou atualizar com 1-3 fases:
3066
- - Se feature simples: 1 fase
3067
- - Se feature media: 2-3 fases
3068
- - Cada fase com objetivo e criterios de sucesso
3069
-
3070
- **STATE.md** — Inicializar ou atualizar.
3071
-
3072
- **config.json:**
3073
- ```json
3074
- {
3075
- "mode": "yolo",
3076
- "granularity": "coarse",
3077
- "parallelization": true,
3078
- "commit_docs": true,
3079
- "builder_mode": true,
3080
- "builder_type": "light"
3081
- }
3082
- ```
3083
-
3084
- Commit:
3085
- ```bash
3086
- 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
3087
- ```
3088
-
3089
- Se REQUIREMENTS.md foi criado/atualizado:
3090
- ```bash
3091
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: requisitos (builder light)" --files .plano/REQUIREMENTS.md
3092
- ```
3093
-
3094
- ---
3095
-
3096
- ### L3. Build + E2E
3097
-
3098
- Mesmo loop do full (3.1.1 → 3.1.5), mas:
3099
- - **Sem LOCK.md** (sessao curta)
3100
- - **Sem reassessment** (poucas fases)
3101
- - **Sem captures** (sessao curta)
3102
- - **COM E2E Playwright** (se tem UI)
3103
- - **Governanca LIGHT:** execution-supervisor roda (max 1 ciclo rework). Chief-engineer NAO roda. Verification-supervisor NAO roda.
3104
-
3105
- Para cada fase no ROADMAP:
3106
-
3107
- #### L3.1 Planejar Fase
3108
-
3109
- Spawnar up-planejador (mesmo do full):
3110
-
3111
- ```
3112
- Task(prompt="
3113
- <planning_context>
3114
- **Fase:** {phase_number}
3115
- **Modo:** builder light (autonomo -- NAO use AskUserQuestion)
3116
-
3117
- <files_to_read>
3118
- - .plano/STATE.md
3119
- - .plano/ROADMAP.md
3120
- - .plano/REQUIREMENTS.md (se existir)
3121
- - ./CLAUDE.md (se existir)
3122
- </files_to_read>
3123
-
3124
- **IDs de requisitos da fase:** {phase_req_ids}
3125
-
3126
- <builder_mode>
3127
- Modo builder light. Regras:
3128
- 1. NAO use AskUserQuestion
3129
- 2. Se ha ambiguidade, tome a decisao mais razoavel
3130
- 3. Pesquisa inline: nivel 1 apenas (verificacao rapida, nao pesquisa profunda)
3131
- 4. Planos devem ser CONCISOS — minimo de tarefas necessarias
3132
- </builder_mode>
3133
-
3134
- <output>
3135
- Escrever PLAN.md em: .plano/fases/{phase_dir}/
3136
- Retornar: ## PLANNING COMPLETE
3137
- </output>
3138
- ", subagent_type="up-planejador", description="Planejar Fase {phase_number} (light)")
3139
- ```
3140
-
3141
- #### L3.2 Executar Fase
3142
-
3143
- Mesmo processo do full — spawnar up-executor por wave.
3144
-
3145
- **GATE LIGHT A — Verificar SUMMARY existe:**
3146
- ```bash
3147
- SUMMARY_COUNT=$(ls ${PHASE_DIR}/*-SUMMARY.md 2>/dev/null | wc -l)
3148
- [ "$SUMMARY_COUNT" -eq 0 ] && echo "GATE FALHOU: Sem SUMMARY" && exit 1
3149
- ```
3150
-
3151
- #### L3.2.1 GOVERNANCE LIGHT — Execution Supervisor
3152
-
3153
- **OBRIGATORIO mesmo no modo light.** Roda com max 1 ciclo de rework (vs 3 no full).
3154
- **Este passo NAO pode ser colapsado com a execucao. DEVE ser um Agent() SEPARADO.**
3155
-
3156
- ```bash
3157
- mkdir -p .plano/governance
3158
- ```
3159
-
3160
- ```python
3161
- Agent(
3162
- subagent_type="up-execution-supervisor",
3163
- prompt=f"""
3164
- Revisar execucao da Fase {phase_number} (modo light — 1 ciclo max).
3165
-
3166
- <governance_compressed>
3167
- DECISOES: APPROVE | REQUEST_CHANGES
3168
- REWORK: max 1 ciclo, depois forca approval com debito
3169
- NUNCA APROVAR: stub/placeholder, falta de wiring, claim sem backing
3170
- </governance_compressed>
3171
-
3172
- <files_to_read>
3173
- - {PHASE_DIR}/*-PLAN.md
3174
- - {PHASE_DIR}/*-SUMMARY.md
3175
- - git diff (use Bash)
3176
- </files_to_read>
3177
-
3178
- Decisao: APPROVE | REQUEST_CHANGES
3179
-
3180
- **OUTPUT OBRIGATORIO (fazer ANTES de retornar):**
3181
- ```bash
3182
- echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) | phase-{phase_number} | execution-supervisor | {DECISAO} | {motivo}" >> .plano/governance/approvals.log
3183
- ```
3184
- """
3185
- )
3186
- ```
3187
-
3188
- **GATE LIGHT B — Verificar supervisor logou:**
3189
- ```bash
3190
- EXEC_OK=$(grep -c "phase-${PHASE_NUMBER}.*execution-supervisor" .plano/governance/approvals.log 2>/dev/null)
3191
- [ "$EXEC_OK" -eq 0 ] && echo "GATE FALHOU: execution-supervisor NAO rodou. Spawnar agora." && exit 1
3192
- ```
3193
-
3194
- **Se APPROVE:** Prosseguir.
3195
- **Se REQUEST_CHANGES:** Re-spawn specialist (1 ciclo). Se ainda falha: forced approval com debito.
3196
-
3197
- #### L3.3 Verificar Fase
3198
-
3199
- Spawnar up-verificador (mesmo do full — verificacao real, nao shortcut):
3200
-
3201
- ```
3202
- Task(
3203
- subagent_type="up-verificador",
3204
- ,
3205
- prompt="Verificar fase {phase_number}. Diretorio: {phase_dir}. Objetivo: {goal}."
3206
- )
3207
- ```
3208
-
3209
- | Status | Acao |
3210
- |--------|------|
3211
- | `passed` | → L3.4 |
3212
- | `gaps_found` | Tentar gap closure (1 ciclo max) |
3213
- | `human_needed` | Registrar, avancar |
3214
-
3215
- #### L3.4 Teste E2E (Playwright)
3216
-
3217
- **Referencia:** `@~/.claude/up/workflows/builder-e2e.md` — Passo 3 (Teste por Fase)
3218
-
3219
- **EXECUTAR OBRIGATORIAMENTE se a fase tem UI.** Nao pular.
3220
-
3221
- 1. Subir dev server (se nao esta rodando)
3222
- 2. Traduzir must_haves em testes E2E
3223
- 3. Navegar, interagir, verificar, screenshot
3224
- 4. Bugs: corrigir (max 5 tentativas por bug)
3225
- 5. Criar E2E-RESULTS.md
3226
-
3227
- **Se dev server falha:** Registrar e continuar (nao bloqueia).
3228
-
3229
- #### L3.4.1 DCRV Light (1 ciclo)
3230
-
3231
- **Apos E2E**, rodar DCRV em modo light (1 ciclo, sem loop):
3232
-
3233
- **Referencia:** `@~/.claude/up/workflows/dcrv.md`
3234
-
3235
- ```
3236
- SCOPE=light
3237
- PHASE_DIR={phase_dir}
3238
- PHASE_NUMBER={phase_number}
3239
- MAX_CYCLES=1
3240
- MAX_ISSUES_PER_CYCLE=10
3241
- AUTO_FIX=true
3242
- ```
3243
-
3244
- Isso roda os 3 detectores (visual, API, exhaustive), corrige o que puder em 1 ciclo, e segue.
3245
-
3246
- ```
3247
- Fase {X} (light): DCRV — {resolved}/{total} issues corrigidas
3248
- ```
3249
-
3250
- #### L3.5 Marcar Fase Completa
3251
-
3252
- ```bash
3253
- COMPLETION=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase complete "${PHASE_NUMBER}")
3254
- node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs(fase-{X}): completar (light)" --files .plano/ROADMAP.md .plano/STATE.md
3255
- ```
3256
-
3257
- Avancar para proxima fase. Sem reassessment.
3258
-
3259
- ---
3260
-
3261
- ### L4. Resumo Final
3262
-
3263
- Apos todas as fases:
3264
-
3265
- ```bash
3266
- # Matar dev server se rodando
3267
- kill $DEV_PID 2>/dev/null
3268
- ```
3269
-
3270
- `browser_close()` (se Playwright aberto)
3271
-
3272
- ```
3273
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3274
- UP > BUILDER LIGHT — COMPLETO
3275
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3276
-
3277
- **Feature:** [resumo do briefing]
3278
-
3279
- ## O que foi Feito
3280
-
3281
- | Fase | O que Construiu | Status |
3282
- |------|----------------|--------|
3283
- | [N] | [resumo] | Completo |
3284
- | [N+1] | [resumo] | Completo |
3285
-
3286
- ## Metricas
3287
-
3288
- | Metrica | Valor |
3289
- |---------|-------|
3290
- | Fases | [N] |
3291
- | Commits | [N] |
3292
- | E2E testes | [X] passaram de [Y] |
3293
- | Bugs corrigidos | [N] |
3294
-
3295
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3296
-
3297
- Quer polir? /up:ux-tester ou /up:melhorias
3298
- Quer mais? /up:modo-builder "proxima feature"
3299
-
3300
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3301
- ```
3302
-
3303
- **NAO gerar DELIVERY.md. NAO rodar polish completo. NAO rodar ideias.**
3304
-
3305
- **Light mode success criteria:**
3306
- - [ ] .plano/ criado com PROJECT.md, ROADMAP.md, REQUIREMENTS.md
3307
- - [ ] Todas fases executadas com commits atomicos
3308
- - [ ] Execution-supervisor revisou CADA fase (GOVERNANCE OBRIGATORIA — 1 ciclo max)
3309
- - [ ] Verificador rodou em cada fase (NAO quick check)
3310
- - [ ] E2E Playwright rodou em fases com UI
3311
- - [ ] DCRV light (1 ciclo) rodou em cada fase com UI/API
3312
- - [ ] Governance logs em .plano/governance/approvals.log
3313
- - [ ] Resumo final exibido com metricas
3314
-
3315
- </light_process>
3316
-
3317
- <failure_handling>
3318
-
3319
- ## Tratamento de Falhas
3320
-
3321
- ### Planejamento falha (PLANNING INCONCLUSIVE)
3322
- - Retry 1: Adicionar mais contexto da pesquisa ao prompt
3323
- - Retry 2: Simplificar escopo da fase (dividir em 2)
3324
- - Se ainda falha: Pular fase, registrar em DELIVERY.md como "Nao implementada"
3325
-
3326
- ### Execucao falha (agente nao retorna SUMMARY)
3327
- - Retry 1: Re-spawnar executor para o plano falho
3328
- - Se ainda falha: Registrar plano como incompleto, continuar com proxima wave/fase
3329
-
3330
- ### Verificacao encontra gaps
3331
- - Ciclo 1: Planejar gaps + executar gap closure
3332
- - Se gaps persistem: Registrar como pendente, avancar (sera listado no DELIVERY.md)
3333
-
3334
- ### Melhorias/Ideias falham
3335
- - Estas etapas sao opcionais no builder
3336
- - Se algum agente falha: Continuar com os que completaram
3337
- - Se todos falham: Pular estagio, registrar no DELIVERY.md
3338
-
3339
- **Principio:** O builder NUNCA para. Falhas sao registradas e contornadas. O usuario recebe o maximo possivel.
3340
-
3341
- </failure_handling>
3342
-
3343
- <context_management>
3344
-
3345
- ## Gestao de Contexto (1M tokens)
3346
-
3347
- Com 1M de contexto, a maioria dos projetos cabe sem /clear. Mas monitore:
3348
-
3349
- **Orquestrador fica enxuto:**
3350
- - NAO leia conteudo de SUMMARYs inteiros — apenas verifique existencia
3351
- - NAO leia PLANs apos planejamento — apenas passe caminhos ao executor
3352
- - NAO leia codigo fonte — apenas verifique via git log/ls
3353
-
3354
- **Subagentes recebem contexto limpo:**
3355
- - Cada Task() spawna com contexto fresco
3356
- - Passe apenas caminhos de arquivos, nao conteudo
3357
-
3358
- **Se contexto atingir ~70%:**
3359
- - Reduzir output de status (1 linha por fase ao inves de tabelas)
3360
- - Pular estagio Polish (melhorias + ideias) se necessario
3361
- - Priorizar completar build sobre polimento
3362
-
3363
- </context_management>
3364
-
3365
- <success_criteria>
3366
-
3367
- ## Criterios de Sucesso do Builder
3368
-
3369
- - [ ] Estagio 1: Briefing coletado, perguntas criticas respondidas
3370
- - [ ] Estagio 2: Product Analyst executado (concorrentes, features, personas)
3371
- - [ ] Estagio 2: System Designer executado (modulos, roles, schema, blueprints, 5 camadas)
3372
- - [ ] Estagio 2: Architect executou (PROJECT.md, REQUIREMENTS.md, ROADMAP.md criados)
3373
- - [ ] Estagio 2: Requisitos completos (50-100 requisitos, 5 camadas)
3374
- - [ ] Estagio 3: Todas as fases planejadas
3375
- - [ ] Estagio 3: Todas as fases executadas (com specialist routing)
3376
- - [ ] Estagio 3: Execution-supervisor revisou CADA fase (GOVERNANCE OBRIGATORIA)
3377
- - [ ] Estagio 3: Reflect (code review) apos cada fase
3378
- - [ ] Estagio 3: Todas as fases verificadas
3379
- - [ ] Estagio 3: Verification-supervisor revisou CADA verificacao (GOVERNANCE OBRIGATORIA)
3380
- - [ ] Estagio 3: Chief-engineer aprovou CADA fase consolidada (GOVERNANCE OBRIGATORIA)
3381
- - [ ] Estagio 3: Governance logs em .plano/governance/approvals.log
3382
- - [ ] Estagio 3: Fases com UI testadas via Playwright (E2E-RESULTS.md)
3383
- - [ ] Estagio 3: Bugs E2E corrigidos (quando possivel)
3384
- - [ ] Estagio 3: DCRV por fase executado (Visual Critic + Exhaustive Tester + API Tester)
3385
- - [ ] Estagio 3: Issues DCRV corrigidas via dispatcher (max 3 ciclos por fase)
3386
- - [ ] Estagio 3: Smoke test de regressao em fases anteriores (a partir da fase 3)
3387
- - [ ] Estagio 3: Reassessment apos cada fase (roadmap re-avaliado)
3388
- - [ ] Estagio 3: Commits atomicos por tarefa
3389
- - [ ] Estagio 3: LOCK.md atualizado a cada transicao de estado
3390
- - [ ] Estagio 3: Insights capturados em .plano/captures/ (se descobertos)
3391
- - [ ] Estagio 4: Auditoria de melhorias executada (3 dimensoes)
3392
- - [ ] Estagio 4: Quick wins aplicadas
3393
- - [ ] Estagio 4: UX Review executado (navegar como usuario, 6 dimensoes)
3394
- - [ ] Estagio 4: Melhorias UX implementadas automaticamente
3395
- - [ ] Estagio 4: UX-REPORT.md gerado com scores e screenshots
3396
- - [ ] Estagio 4: Mobile First executado (responsividade verificada em 3 viewports)
3397
- - [ ] Estagio 4: MOBILE-REPORT.md gerado com score e screenshots comparativos
3398
- - [ ] Estagio 4: Visual Critic global executado (VISUAL-REPORT.md)
3399
- - [ ] Estagio 4: Exhaustive Tester global executado (EXHAUSTIVE-REPORT.md)
3400
- - [ ] Estagio 4: API Tester global executado (API-REPORT.md)
3401
- - [ ] Estagio 4: Issues carryover das fases processadas
3402
- - [ ] Estagio 4: Score composto calculado (9 dimensoes)
3403
- - [ ] Estagio 4: Quality gate loop executado (ate score >= 9.0 ou max 5 ciclos)
3404
- - [ ] Estagio 4: DevOps artifacts gerados (Dockerfile, CI/CD, .env.example, seed)
3405
- - [ ] Estagio 4: Documentacao gerada (README, CHANGELOG, API docs)
3406
- - [ ] Estagio 4: Security review executado
3407
- - [ ] Estagio 4: QA — testes escritos e rodados
3408
- - [ ] Estagio 4: Ideias geradas com ICE scoring (apos quality gate)
3409
- - [ ] Estagio 5: Teste E2E final (smoke + fluxos + responsividade)
3410
- - [ ] Estagio 5: E2E-REPORT.md gerado com screenshots
3411
- - [ ] Estagio 5: Captures triados em TRIAGE.md
3412
- - [ ] Estagio 5: DELIVERY.md gerado (incluindo E2E + captures + reassessments)
3413
- - [ ] Estagio 5: LOCK.md removido (sessao concluida)
3414
- - [ ] Estagio 5: Resumo apresentado ao usuario
3415
-
3416
- **Minimo viavel:** Estagios 1-3 + Estagio 5. Estagios 4 (Polish) e E2E sao bonus.
3417
- **INEGOCIAVEL:** Governanca no Estagio 3 (execution-supervisor + verification-supervisor + chief-engineer) NUNCA e bonus — e obrigatoria.
3418
-
3419
- </success_criteria>