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.
- package/README.md +87 -577
- package/package.json +5 -3
- package/up/CHANGELOG.md +110 -0
- package/up/agents/up-arquiteto.md +95 -39
- package/up/agents/up-auditor.md +218 -0
- package/up/agents/up-executor.md +94 -31
- package/up/agents/up-mapeador-codigo.md +63 -10
- package/up/agents/up-pesquisador.md +278 -0
- package/up/agents/up-revisor.md +249 -0
- package/up/agents/up-sintetizador.md +156 -179
- package/up/agents/up-tester.md +280 -0
- package/up/agents/up-verificador.md +95 -11
- package/up/bin/install.js +182 -19
- package/up/bin/lib/core.cjs +17 -43
- package/up/bin/lib/github.cjs +495 -0
- package/up/bin/lib/multica.cjs +424 -0
- package/up/bin/up-tools.cjs +167 -46
- package/up/commands/auditar.md +66 -0
- package/up/commands/build.md +54 -43
- package/up/commands/depurar.md +1 -1
- package/up/commands/plan.md +52 -38
- package/up/commands/rapido.md +15 -9
- package/up/commands/testar.md +81 -122
- package/up/commands/up.md +106 -0
- package/up/hooks/up-session-start.js +107 -0
- package/up/references/engineering-principles.md +1 -1
- package/up/references/governance-rules.md +5 -5
- package/up/references/production-requirements.md +1 -1
- package/up/references/severity-levels.md +2 -2
- package/up/references/tdd-evidence-types.md +81 -0
- package/up/skills/up-brainstorm/SKILL.md +39 -0
- package/up/skills/up-tdd/SKILL.md +39 -0
- package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
- package/up/skills/usando-up/SKILL.md +26 -0
- package/up/templates/audit-plan.md +3 -3
- package/up/templates/audit-report.md +2 -2
- package/up/templates/design-tokens.md +2 -2
- package/up/workflows/auditar.md +255 -0
- package/up/workflows/build.md +600 -386
- package/up/workflows/dcrv.md +183 -99
- package/up/workflows/governance.md +112 -220
- package/up/workflows/plan.md +169 -399
- package/up/workflows/rapido.md +7 -1
- package/up/workflows/up.md +447 -0
- package/up/agents/up-analista-codigo.md +0 -446
- package/up/agents/up-api-tester.md +0 -405
- package/up/agents/up-architecture-supervisor.md +0 -126
- package/up/agents/up-audit-supervisor.md +0 -83
- package/up/agents/up-auditor-modernidade.md +0 -378
- package/up/agents/up-auditor-performance.md +0 -426
- package/up/agents/up-auditor-ux.md +0 -396
- package/up/agents/up-backend-specialist.md +0 -175
- package/up/agents/up-blind-validator.md +0 -259
- package/up/agents/up-chief-architect.md +0 -184
- package/up/agents/up-chief-engineer.md +0 -202
- package/up/agents/up-chief-operations.md +0 -123
- package/up/agents/up-chief-product.md +0 -103
- package/up/agents/up-chief-quality.md +0 -211
- package/up/agents/up-clone-crawler.md +0 -234
- package/up/agents/up-clone-design-extractor.md +0 -227
- package/up/agents/up-clone-feature-mapper.md +0 -225
- package/up/agents/up-clone-prd-writer.md +0 -169
- package/up/agents/up-clone-verifier.md +0 -227
- package/up/agents/up-code-reviewer.md +0 -229
- package/up/agents/up-consolidador-ideias.md +0 -493
- package/up/agents/up-database-specialist.md +0 -169
- package/up/agents/up-delivery-auditor.md +0 -247
- package/up/agents/up-devops-agent.md +0 -203
- package/up/agents/up-execution-supervisor.md +0 -315
- package/up/agents/up-exhaustive-tester.md +0 -348
- package/up/agents/up-frontend-specialist.md +0 -152
- package/up/agents/up-operations-supervisor.md +0 -94
- package/up/agents/up-pesquisador-mercado.md +0 -350
- package/up/agents/up-pesquisador-projeto.md +0 -358
- package/up/agents/up-planning-auditor.md +0 -284
- package/up/agents/up-planning-supervisor.md +0 -260
- package/up/agents/up-product-analyst.md +0 -192
- package/up/agents/up-product-supervisor.md +0 -83
- package/up/agents/up-project-ceo.md +0 -352
- package/up/agents/up-qa-agent.md +0 -171
- package/up/agents/up-quality-supervisor.md +0 -178
- package/up/agents/up-requirements-validator.md +0 -230
- package/up/agents/up-security-reviewer.md +0 -137
- package/up/agents/up-sintetizador-melhorias.md +0 -407
- package/up/agents/up-system-designer.md +0 -332
- package/up/agents/up-technical-writer.md +0 -188
- package/up/agents/up-verification-supervisor.md +0 -111
- package/up/agents/up-visual-critic.md +0 -358
- package/up/commands/adicionar-fase.md +0 -47
- package/up/commands/adicionar-testes.md +0 -145
- package/up/commands/ajuda.md +0 -176
- package/up/commands/atualizar.md +0 -103
- package/up/commands/clone-builder.md +0 -67
- package/up/commands/configurar.md +0 -219
- package/up/commands/custos.md +0 -67
- package/up/commands/dashboard.md +0 -48
- package/up/commands/discutir-fase.md +0 -35
- package/up/commands/executar-fase.md +0 -40
- package/up/commands/ideias.md +0 -49
- package/up/commands/iniciar.md +0 -31
- package/up/commands/mapear-codigo.md +0 -63
- package/up/commands/melhorias.md +0 -45
- package/up/commands/mobile-first.md +0 -71
- package/up/commands/modo-builder.md +0 -186
- package/up/commands/novo-projeto.md +0 -40
- package/up/commands/onboard.md +0 -69
- package/up/commands/pausar.md +0 -33
- package/up/commands/planejar-fase.md +0 -45
- package/up/commands/progresso.md +0 -33
- package/up/commands/remover-fase.md +0 -34
- package/up/commands/resetar.md +0 -27
- package/up/commands/retomar.md +0 -35
- package/up/commands/saude.md +0 -103
- package/up/commands/ux-tester.md +0 -63
- package/up/commands/verificar-trabalho.md +0 -35
- package/up/workflows/adicionar-fase.md +0 -112
- package/up/workflows/builder-e2e.md +0 -501
- package/up/workflows/builder.md +0 -3419
- package/up/workflows/ceo-intake.md +0 -305
- package/up/workflows/ceo-updates.md +0 -183
- package/up/workflows/clone-builder.md +0 -320
- package/up/workflows/discutir-fase.md +0 -336
- package/up/workflows/executar-fase.md +0 -358
- package/up/workflows/executar-plano.md +0 -659
- package/up/workflows/ideias.md +0 -381
- package/up/workflows/iniciar.md +0 -235
- package/up/workflows/melhorias.md +0 -409
- package/up/workflows/mobile-first.md +0 -692
- package/up/workflows/novo-projeto.md +0 -778
- package/up/workflows/planejar-fase.md +0 -293
- package/up/workflows/progresso.md +0 -226
- package/up/workflows/retomar.md +0 -231
- package/up/workflows/ux-tester.md +0 -526
- package/up/workflows/verificar-trabalho.md +0 -308
package/up/workflows/dcrv.md
CHANGED
|
@@ -1,23 +1,53 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Workflow DCRV (Detectar → Classificar → Resolver → Verificar) — loop de qualidade
|
|
3
|
-
|
|
4
|
-
Roda
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
2
|
+
Workflow DCRV (Detectar → Classificar → Resolver → Verificar) — loop de qualidade unico do UP.
|
|
3
|
+
|
|
4
|
+
Roda o detector unico `up-tester` (spawn multi-pass: visual + exhaustive + api via Playwright), consolida
|
|
5
|
+
issues, despacha para o `up-executor` corrigir (roteando por contexto), e re-verifica. Loop ate resolver
|
|
6
|
+
ou atingir max ciclos.
|
|
7
|
+
|
|
8
|
+
Este e o workflow UNICO de `/up:testar` no redesign v2. Absorveu builder-e2e.md (E2E + smoke + console
|
|
9
|
+
errors), ux-tester.md (avaliacao em 6 dimensoes), mobile-first.md (responsividade por breakpoint) e
|
|
10
|
+
verificar-trabalho.md (gate UAT). Tudo vira FLAG/MODO sobre o mesmo loop. Default = roda tudo.
|
|
11
|
+
|
|
12
|
+
**Scopes de uso:**
|
|
13
|
+
- **Por fase (build):** Testa apenas paginas/rotas da fase recem-executada. Inclui E2E da fase.
|
|
14
|
+
- **Global (quality gate):** Testa TODAS as paginas/rotas do projeto. Inclui smoke + E2E + responsividade.
|
|
15
|
+
- **Light (1 ciclo):** Roda detectores + reporta, sem loop de correcao.
|
|
16
|
+
|
|
17
|
+
**Flags de `/up:testar` (default = todas ligadas):**
|
|
18
|
+
- `--ux`: alem dos detectores, avalia as 6 dimensoes de UX (clareza, eficiencia, feedback, consistencia,
|
|
19
|
+
a11y basica, performance percebida) e gera UX-REPORT.md.
|
|
20
|
+
- `--mobile`: testa responsividade por breakpoint (375px, 768px, 1024px), touch 44x44, hamburger;
|
|
21
|
+
detecta e corrige problemas sem quebrar desktop.
|
|
22
|
+
- `--e2e`: smoke test de rotas + fluxos E2E principais + erros de console (absorve builder-e2e). No
|
|
23
|
+
build, roda por fase automaticamente.
|
|
24
|
+
- gate UAT (absorve verificar-trabalho): cria/retoma `.plano/fases/XX/{N}-UAT.md` (sobrevive a /clear)
|
|
25
|
+
com testes de aceitacao; alimenta lacunas de volta pra `/up:plan`.
|
|
11
26
|
|
|
12
27
|
**Parametros esperados no prompt:**
|
|
13
28
|
- `$SCOPE`: "phase" | "global" | "light"
|
|
14
|
-
- `$PHASE_DIR`:
|
|
15
|
-
- `$
|
|
16
|
-
- `$ROUTES`: lista de rotas a testar (se vazio, descobre automaticamente)
|
|
29
|
+
- `$PHASE_DIR`, `$PHASE_NUMBER`: se scope=phase
|
|
30
|
+
- `$ROUTES`: rotas a testar (vazio = descobre automaticamente)
|
|
17
31
|
- `$PORT`: porta do dev server (default: 3000)
|
|
18
|
-
- `$MAX_CYCLES`:
|
|
19
|
-
- `$MAX_ISSUES_PER_CYCLE`:
|
|
20
|
-
- `$AUTO_FIX`: true | false
|
|
32
|
+
- `$MAX_CYCLES`: default 3 (phase), 5 (global), 1 (light)
|
|
33
|
+
- `$MAX_ISSUES_PER_CYCLE`: default 15 (phase), 20 (global)
|
|
34
|
+
- `$AUTO_FIX`: true | false
|
|
35
|
+
- `$MODES`: subconjunto de {ux, mobile, e2e, uat} (vazio = roda tudo aplicavel ao projeto)
|
|
36
|
+
|
|
37
|
+
Spawns (Onda 2 do corte): `up-tester` (detector unico multi-pass: visual + exhaustive + api);
|
|
38
|
+
`up-executor` (correcao, roteando por contexto). Os 3 detectores DCRV antigos foram fundidos no
|
|
39
|
+
`up-tester` e os specialists de dominio foram fundidos no `up-executor` (nenhum agente separado).
|
|
40
|
+
|
|
41
|
+
**Evidencia para o GATE de fase (Fase 3 - TDD por tipo).** Quando rodado por fase no build, este loop
|
|
42
|
+
PRODUZ a evidencia que o GATE exige no approvals.log (`evidence=<tipo>:<resultado>`):
|
|
43
|
+
- **ui:visual** - a captura visual antes/depois do `up-tester` (pass visual; screenshots em `{$DCRV_DIR}`)
|
|
44
|
+
e a evidencia de fases de UI/CSS. O VISUAL-REPORT.md + as imagens sao o artefato que o up-revisor confirma.
|
|
45
|
+
- **glue:smoke** - o smoke-test do modo E2E (navegar rotas / exercitar a integracao, capturar erros de
|
|
46
|
+
console / status) e a evidencia de fases de integracao (Asaas/uazapi/etc).
|
|
47
|
+
- **logic:test_pass** - fases de logica (parser/calculo/API-propria/bugfix) provam via teste red-green no
|
|
48
|
+
verificador (fora deste loop); o DCRV nao e a fonte para `logic`.
|
|
49
|
+
O up-revisor (build 3.7) le esses artefatos e carimba o campo `evidence` no approvals.log. Nenhum CLI novo:
|
|
50
|
+
a evidencia sao os relatorios/screenshots ja gerados aqui.
|
|
21
51
|
</purpose>
|
|
22
52
|
|
|
23
53
|
<process>
|
|
@@ -68,16 +98,20 @@ grep -rn "app\.\(get\|post\|put\|patch\|delete\)" src/ --include="*.ts" --includ
|
|
|
68
98
|
|
|
69
99
|
### 0.3 Classificar projeto
|
|
70
100
|
|
|
101
|
+
```bash
|
|
102
|
+
# HAS_UI=true se ha rotas de pagina; HAS_API=true se ha rotas de API.
|
|
103
|
+
[ -n "$ROUTES_UI" ] && HAS_UI=true || HAS_UI=false
|
|
104
|
+
[ -n "$ROUTES_API" ] && HAS_API=true || HAS_API=false
|
|
71
105
|
```
|
|
72
|
-
HAS_UI = rotas de pagina encontradas?
|
|
73
|
-
HAS_API = rotas de API encontradas?
|
|
74
|
-
```
|
|
75
106
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
|
80
|
-
|
|
107
|
+
O detector e UNICO (`up-tester`), multi-pass. A classificacao do projeto decide QUAIS passes o up-tester
|
|
108
|
+
roda (passado no prompt como `$PASSES`):
|
|
109
|
+
|
|
110
|
+
| Projeto | Passes do up-tester |
|
|
111
|
+
|---------|---------------------|
|
|
112
|
+
| UI + API | visual + exhaustive + api (todos) |
|
|
113
|
+
| UI only | visual + exhaustive (pular api) |
|
|
114
|
+
| API only | api com profundidade extra (pular visual + exhaustive) |
|
|
81
115
|
| Infra/schema | Pular DCRV (nada para testar via browser/curl) |
|
|
82
116
|
|
|
83
117
|
### 0.4 Carregar referencia visual
|
|
@@ -86,7 +120,7 @@ HAS_API = rotas de API encontradas?
|
|
|
86
120
|
cat .plano/DESIGN-TOKENS.md 2>/dev/null
|
|
87
121
|
```
|
|
88
122
|
|
|
89
|
-
Se nao existe: visual
|
|
123
|
+
Se nao existe: o up-tester (pass visual) vai inferir do codebase (e registrar ausencia como issue leve).
|
|
90
124
|
|
|
91
125
|
### 0.5 Definir output dir
|
|
92
126
|
|
|
@@ -101,7 +135,7 @@ fi
|
|
|
101
135
|
mkdir -p "$DCRV_DIR"
|
|
102
136
|
```
|
|
103
137
|
|
|
104
|
-
## Passo 1: Detectar (
|
|
138
|
+
## Passo 1: Detectar (up-tester multi-pass — UM spawn)
|
|
105
139
|
|
|
106
140
|
```
|
|
107
141
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
@@ -109,61 +143,46 @@ mkdir -p "$DCRV_DIR"
|
|
|
109
143
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
144
|
```
|
|
111
145
|
|
|
112
|
-
|
|
113
|
-
(
|
|
146
|
+
Um UNICO spawn do `up-tester` roda os 3 passes internamente, na ORDEM OBRIGATORIA **visual → api →
|
|
147
|
+
exhaustive** (visual so observa, api usa curl, exhaustive clica em tudo: ordem minimiza interferencia).
|
|
148
|
+
Os passes rodados sao restritos pela classificacao do projeto (`$PASSES`, do Passo 0.3).
|
|
114
149
|
|
|
115
|
-
|
|
150
|
+
```bash
|
|
151
|
+
# Montar a lista de passes conforme HAS_UI / HAS_API.
|
|
152
|
+
PASSES=""
|
|
153
|
+
[ "$HAS_UI" = "true" ] && PASSES="visual,exhaustive"
|
|
154
|
+
[ "$HAS_API" = "true" ] && PASSES="${PASSES:+$PASSES,}api"
|
|
155
|
+
# API only: profundidade extra no pass api (visual/exhaustive ausentes).
|
|
156
|
+
```
|
|
116
157
|
|
|
117
158
|
```python
|
|
118
159
|
Agent(
|
|
119
|
-
subagent_type="up-
|
|
120
|
-
prompt="""
|
|
121
|
-
|
|
122
|
-
|
|
160
|
+
subagent_type="up-tester",
|
|
161
|
+
prompt=f"""
|
|
162
|
+
Detector multi-pass do DCRV. Rodar SO os passes: {$PASSES} (ordem: visual → api → exhaustive).
|
|
163
|
+
|
|
123
164
|
<files_to_read>
|
|
124
|
-
- .plano/DESIGN-TOKENS.md (referencia visual, se existe)
|
|
165
|
+
- .plano/DESIGN-TOKENS.md (referencia visual, se existe; pass visual)
|
|
125
166
|
</files_to_read>
|
|
126
|
-
|
|
127
|
-
Paginas a testar: {$ROUTES_UI}
|
|
167
|
+
|
|
128
168
|
Dev server: http://localhost:{$PORT}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
Salvar issues em: {$DCRV_DIR}/VISUAL-ISSUES.json
|
|
132
|
-
"""
|
|
133
|
-
)
|
|
134
|
-
```
|
|
169
|
+
Paginas (passes visual/exhaustive): {$ROUTES_UI}
|
|
170
|
+
Rotas API (pass api): {$ROUTES_API}
|
|
135
171
|
|
|
136
|
-
|
|
172
|
+
PASS visual (se em $PASSES): avaliar qualidade visual de cada pagina. Capturar screenshot de CADA
|
|
173
|
+
pagina em {$DCRV_DIR}/captures/ (antes/depois quando houver correcao). Estas capturas sao a EVIDENCIA
|
|
174
|
+
ui:visual do GATE de fase (Fase 3 - TDD por tipo).
|
|
175
|
+
-> {$DCRV_DIR}/VISUAL-REPORT.md + {$DCRV_DIR}/VISUAL-ISSUES.json
|
|
137
176
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
prompt="""
|
|
142
|
-
Testar robustez das rotas API.
|
|
143
|
-
|
|
144
|
-
Rotas a testar: {$ROUTES_API}
|
|
145
|
-
Dev server: http://localhost:{$PORT}
|
|
146
|
-
|
|
147
|
-
Salvar relatorio em: {$DCRV_DIR}/API-REPORT.md
|
|
148
|
-
Salvar issues em: {$DCRV_DIR}/API-ISSUES.json
|
|
149
|
-
"""
|
|
150
|
-
)
|
|
151
|
-
```
|
|
177
|
+
PASS api (se em $PASSES): testar robustez das rotas API (inputs invalidos, auth, status, edge cases;
|
|
178
|
+
profundidade extra se for o unico pass).
|
|
179
|
+
-> {$DCRV_DIR}/API-REPORT.md + {$DCRV_DIR}/API-ISSUES.json
|
|
152
180
|
|
|
153
|
-
|
|
181
|
+
PASS exhaustive (se em $PASSES): testar CADA elemento interativo, sem limite: clicar em tudo.
|
|
182
|
+
-> {$DCRV_DIR}/EXHAUSTIVE-REPORT.md + {$DCRV_DIR}/EXHAUSTIVE-ISSUES.json
|
|
154
183
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
subagent_type="up-exhaustive-tester",
|
|
158
|
-
prompt="""
|
|
159
|
-
Testar CADA elemento interativo.
|
|
160
|
-
|
|
161
|
-
Paginas a testar: {$ROUTES_UI}
|
|
162
|
-
Dev server: http://localhost:{$PORT}
|
|
163
|
-
Sem limite de elementos — testar TODOS.
|
|
164
|
-
|
|
165
|
-
Salvar relatorio em: {$DCRV_DIR}/EXHAUSTIVE-REPORT.md
|
|
166
|
-
Salvar issues em: {$DCRV_DIR}/EXHAUSTIVE-ISSUES.json
|
|
184
|
+
Manter os MESMOS nomes de arquivo por pass (o Passo 2 le os JSONs por pass independente de qual
|
|
185
|
+
detector rodou).
|
|
167
186
|
"""
|
|
168
187
|
)
|
|
169
188
|
```
|
|
@@ -229,7 +248,7 @@ Escrever em `{$DCRV_DIR}/ISSUE-BOARD.md`.
|
|
|
229
248
|
|
|
230
249
|
**Se zero issues para correcao:** Pular para Passo 5 (score perfeito).
|
|
231
250
|
|
|
232
|
-
## Passo 3: Resolver (Dispatcher +
|
|
251
|
+
## Passo 3: Resolver (Dispatcher + up-executor por contexto)
|
|
233
252
|
|
|
234
253
|
```
|
|
235
254
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
@@ -237,16 +256,18 @@ Escrever em `{$DCRV_DIR}/ISSUE-BOARD.md`.
|
|
|
237
256
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
238
257
|
```
|
|
239
258
|
|
|
240
|
-
### 3.1 Diagnosticar e
|
|
259
|
+
### 3.1 Diagnosticar e Determinar Dominio
|
|
241
260
|
|
|
242
|
-
|
|
261
|
+
A correcao SEMPRE vai pro `up-executor` (Onda 2: sem specialists separados). O diagnostico abaixo NAO
|
|
262
|
+
escolhe agente; so determina o DOMINIO (`frontend`/`backend`/`database`) que o orquestrador passa ao
|
|
263
|
+
executor pra ele carregar a skill/ref certa por contexto.
|
|
243
264
|
|
|
244
265
|
**Issues visuais (VIS-*):**
|
|
245
266
|
```bash
|
|
246
267
|
# Encontrar componente da pagina
|
|
247
268
|
grep -rn "[rota_ou_componente]" src/ --include="*.tsx" --include="*.ts" | head -5
|
|
248
269
|
```
|
|
249
|
-
→
|
|
270
|
+
→ dominio `frontend`
|
|
250
271
|
|
|
251
272
|
**Issues de interacao (INT-*):**
|
|
252
273
|
```bash
|
|
@@ -254,37 +275,37 @@ grep -rn "[rota_ou_componente]" src/ --include="*.tsx" --include="*.ts" | head -
|
|
|
254
275
|
grep -rn "onClick\|onSubmit\|onChange" [arquivo_do_componente] | head -10
|
|
255
276
|
```
|
|
256
277
|
- Handler existe e chama API? → Verificar se API funciona
|
|
257
|
-
- API falha: `
|
|
258
|
-
- API OK, handler bugado: `
|
|
259
|
-
- Handler nao existe: `
|
|
260
|
-
- Handler vazio (`() => {}`): `up-frontend-specialist`
|
|
278
|
+
- API falha: dominio `backend`
|
|
279
|
+
- API OK, handler bugado: dominio `frontend`
|
|
280
|
+
- Handler nao existe / vazio (`() => {}`): dominio `frontend`
|
|
261
281
|
|
|
262
282
|
**Issues de API (API-*):**
|
|
263
|
-
- Validacao faltando: `
|
|
264
|
-
- Schema/dados errados: `
|
|
265
|
-
- Auth bypass: `up-backend-specialist`
|
|
266
|
-
- 500 crash: `up-backend-specialist`
|
|
283
|
+
- Validacao faltando / auth bypass / 500 crash: dominio `backend`
|
|
284
|
+
- Schema/dados errados: dominio `database`
|
|
267
285
|
|
|
268
|
-
### 3.2 Spawnar
|
|
286
|
+
### 3.2 Spawnar up-executor (correcao, agrupado por dominio)
|
|
269
287
|
|
|
270
|
-
Agrupar issues por
|
|
288
|
+
Agrupar issues por DOMINIO para eficiencia (1 spawn de up-executor por dominio com multiplas issues, em
|
|
289
|
+
vez de 1 spawn por issue). O executor roteia por contexto conforme o `<dominio>` recebido.
|
|
271
290
|
|
|
272
291
|
```python
|
|
273
292
|
Agent(
|
|
274
|
-
subagent_type="up-
|
|
293
|
+
subagent_type="up-executor",
|
|
275
294
|
prompt="""
|
|
276
|
-
|
|
277
|
-
|
|
295
|
+
<modo>correcao-dcrv</modo>
|
|
296
|
+
<dominio>{frontend|backend|database}</dominio>
|
|
297
|
+
Carregue a skill/ref do dominio por contexto e corrija as seguintes issues de qualidade:
|
|
298
|
+
|
|
278
299
|
1. {VIS-001}: {titulo} — {descricao} — Fix: {suggested_fix}
|
|
279
300
|
Arquivo: {path} | Screenshot: {evidence}
|
|
280
|
-
|
|
301
|
+
|
|
281
302
|
2. {INT-003}: {titulo} — {descricao} — Fix: {suggested_fix}
|
|
282
303
|
Arquivo: {path}
|
|
283
|
-
|
|
304
|
+
|
|
284
305
|
Para cada issue:
|
|
285
306
|
- Corrigir o problema
|
|
286
307
|
- Commitar: fix({scope}): {issue_id} — {titulo}
|
|
287
|
-
|
|
308
|
+
|
|
288
309
|
NAO criar SUMMARY.md. Apenas corrigir e commitar.
|
|
289
310
|
"""
|
|
290
311
|
)
|
|
@@ -299,13 +320,13 @@ DCRV Ciclo {CYCLE}: {resolved}/{to_fix} issues resolvidas
|
|
|
299
320
|
✗ API-007: Amount negativo → 2 tentativas, nao corrigido
|
|
300
321
|
```
|
|
301
322
|
|
|
302
|
-
## Passo 4: Verificar (Re-rodar
|
|
323
|
+
## Passo 4: Verificar (Re-rodar up-tester nos passes afetados)
|
|
303
324
|
|
|
304
|
-
Re-
|
|
325
|
+
Re-spawnar `up-tester` APENAS com os passes relevantes (`$PASSES` restrito), APENAS nas issues corrigidas:
|
|
305
326
|
|
|
306
|
-
- Issues VIS-* corrigidas → re-rodar visual
|
|
307
|
-
- Issues INT-* corrigidas → re-rodar exhaustive
|
|
308
|
-
- Issues API-* corrigidas → re-rodar api
|
|
327
|
+
- Issues VIS-* corrigidas → re-rodar o pass `visual` na pagina afetada
|
|
328
|
+
- Issues INT-* corrigidas → re-rodar o pass `exhaustive` na pagina afetada
|
|
329
|
+
- Issues API-* corrigidas → re-rodar o pass `api` na rota afetada
|
|
309
330
|
|
|
310
331
|
**Criterio de saida:**
|
|
311
332
|
- Todas issues critical/high corrigidas → FIM (sucesso)
|
|
@@ -408,14 +429,77 @@ Para cada fase anterior com UI (< fase atual):
|
|
|
408
429
|
Regressoes entram no issue board com prioridade maxima (corrigir antes de issues novas).
|
|
409
430
|
</smoke_regression>
|
|
410
431
|
|
|
432
|
+
<absorbed_modes>
|
|
433
|
+
## Modos absorvidos (flags de /up:testar)
|
|
434
|
+
|
|
435
|
+
Estes modos rodam JUNTO do loop DCRV (mesmos detectores, mesmo dispatcher de correcao). Default: todos
|
|
436
|
+
os aplicaveis ao projeto. As flags `--ux/--mobile/--e2e` restringem a um subconjunto.
|
|
437
|
+
|
|
438
|
+
### Modo E2E (absorve builder-e2e.md)
|
|
439
|
+
|
|
440
|
+
Ativado por `--e2e`, e SEMPRE no build (scope=phase) e no quality gate (scope=global).
|
|
441
|
+
|
|
442
|
+
1. **Subir/garantir dev server** (Passo 0.1 ja faz). Manter rodando entre fases (nao matar a cada fase).
|
|
443
|
+
2. **Smoke test de rotas:** navegar cada rota descoberta, capturar erros de console
|
|
444
|
+
(`browser_console_messages level=error`) e screenshot. Rota que da tela branca/erro -> issue critical.
|
|
445
|
+
3. **Fluxos E2E principais (scope=global):** identificar 2-4 fluxos do dominio (ex: signup -> login ->
|
|
446
|
+
acao core) e executa-los ponta a ponta via Playwright. Falha de fluxo -> issue high/critical.
|
|
447
|
+
4. **Por fase (scope=phase):** extrair os testes/criterios da fase do SUMMARY e exercitar so o que a
|
|
448
|
+
fase tocou. Erros de console globais entram no issue board.
|
|
449
|
+
5. As issues E2E entram no ISSUE-BOARD junto das dos detectores e seguem o mesmo loop de correcao.
|
|
450
|
+
6. **Evidencia glue:smoke (Fase 3 - TDD):** o smoke de rotas + a verificacao da integracao (status/console
|
|
451
|
+
limpos apos exercitar o fluxo) sao a evidencia que o GATE de fase exige para fases de integracao
|
|
452
|
+
(Asaas/uazapi/etc). Registrar o resultado do smoke no relatorio para o up-revisor confirmar (glue:smoke).
|
|
453
|
+
|
|
454
|
+
### Modo UX (absorve ux-tester.md)
|
|
455
|
+
|
|
456
|
+
Ativado por `--ux`. Apos os detectores, navegar o sistema como usuario real e avaliar 6 dimensoes,
|
|
457
|
+
gerando `{$DCRV_DIR}/UX-REPORT.md` com score por dimensao:
|
|
458
|
+
|
|
459
|
+
1. **Clareza** — proposito de cada tela e obvio? CTAs claros?
|
|
460
|
+
2. **Eficiencia** — numero de cliques pra completar tarefas core; atalhos.
|
|
461
|
+
3. **Feedback** — toda acao tem resposta (loading/sucesso/erro)? (cruza com issues INT-* do exhaustive).
|
|
462
|
+
4. **Consistencia** — padroes visuais/interacao uniformes (cruza com issues VIS-* do visual critic).
|
|
463
|
+
5. **Acessibilidade basica** — foco visivel, labels, contraste, navegacao por teclado.
|
|
464
|
+
6. **Performance percebida** — skeletons, otimismo de UI, ausencia de travas.
|
|
465
|
+
|
|
466
|
+
Problemas viram issues no board (severidade conforme impacto) e seguem o loop de correcao se `$AUTO_FIX`.
|
|
467
|
+
|
|
468
|
+
### Modo Mobile (absorve mobile-first.md)
|
|
469
|
+
|
|
470
|
+
Ativado por `--mobile`. Testar responsividade SEM quebrar desktop:
|
|
471
|
+
|
|
472
|
+
1. Para cada rota com UI, redimensionar (`browser_resize`) para 375px, 768px, 1024px e capturar.
|
|
473
|
+
2. Detectar: overflow horizontal, texto cortado, alvos de toque < 44x44, menu sem hamburger no mobile,
|
|
474
|
+
tabelas nao responsivas, modais que estouram a viewport.
|
|
475
|
+
3. Issues entram no board com tipo `responsive`. Correcao via up-executor (dominio `frontend`), com
|
|
476
|
+
instrucao explicita de preservar o layout desktop (mobile-first aditivo, nunca regressivo).
|
|
477
|
+
4. Re-verificar nos 3 breakpoints apos a correcao.
|
|
478
|
+
|
|
479
|
+
### Gate UAT (absorve verificar-trabalho.md)
|
|
480
|
+
|
|
481
|
+
Ativado quando `/up:testar` roda como gate de aceitacao (ou no checkpoint de fim de fase do build):
|
|
482
|
+
|
|
483
|
+
1. Procurar UAT ativo: `find .plano/fases -name "*-UAT.md"`. Se existe e tem testes `result: [pendente]`,
|
|
484
|
+
RETOMAR (sobrevive a /clear).
|
|
485
|
+
2. Senao, criar `.plano/fases/XX-nome/{fase_num}-UAT.md` com os testes de aceitacao derivados dos
|
|
486
|
+
criterios de sucesso da fase / REQUIREMENTS.
|
|
487
|
+
3. Conduzir UAT conversacional com o dono (AskUserQuestion), marcando cada teste como pass/fail e
|
|
488
|
+
gravando no UAT.md.
|
|
489
|
+
4. Lacunas (testes que falharam) alimentam de volta o planejamento: registrar como pendencias pra
|
|
490
|
+
`/up:plan` tratar numa proxima fase. NAO ha supervisor aqui (UAT humano ja e autoritativo).
|
|
491
|
+
</absorbed_modes>
|
|
492
|
+
|
|
411
493
|
<success_criteria>
|
|
412
|
-
- [ ] Projeto classificado (UI, API, ambos, nenhum)
|
|
413
|
-
- [ ]
|
|
494
|
+
- [ ] Projeto classificado (UI, API, ambos, nenhum) e $PASSES derivado
|
|
495
|
+
- [ ] up-tester (detector unico multi-pass) rodou os passes certos na ordem visual → api → exhaustive
|
|
414
496
|
- [ ] Issues deduplicadas e classificadas por severidade
|
|
415
497
|
- [ ] ISSUE-BOARD.md gerado
|
|
416
|
-
- [ ] Dispatcher diagnosticou e
|
|
417
|
-
- [ ]
|
|
418
|
-
- [ ] Re-verificacao
|
|
498
|
+
- [ ] Dispatcher diagnosticou e determinou o dominio corretamente (se auto_fix)
|
|
499
|
+
- [ ] up-executor (por contexto/dominio) corrigiu issues com commits atomicos (se auto_fix)
|
|
500
|
+
- [ ] Re-verificacao via up-tester nos passes afetados (se auto_fix)
|
|
419
501
|
- [ ] DCRV-REPORT.md gerado com metricas
|
|
420
502
|
- [ ] Issues pendentes salvas para carryover (se scope=phase)
|
|
503
|
+
- [ ] Nenhuma referencia aos 3 detectores DCRV antigos nem aos specialists de dominio (6 agentes
|
|
504
|
+
deletados na Onda 2; o detector agora e up-tester e a correcao e up-executor)
|
|
421
505
|
</success_criteria>
|