up-cc 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/up-planejador.md +55 -0
- package/package.json +1 -1
- package/templates/builder-defaults.md +21 -0
- package/workflows/builder.md +136 -10
package/agents/up-planejador.md
CHANGED
|
@@ -21,6 +21,61 @@ Se o prompt contem um bloco `<files_to_read>`, voce DEVE usar a ferramenta `Read
|
|
|
21
21
|
- Lidar com planejamento padrao e modo de fechamento de gaps
|
|
22
22
|
- **Research inline:** Se o dominio for desconhecido, pesquisar usando WebFetch/Context7 DENTRO do processo de planejamento
|
|
23
23
|
- **Self-check interno:** Apos criar PLAN.md, rodar checklist interno (tarefas especificas? dependencias identificadas? ondas atribuidas? must_haves derivados?)
|
|
24
|
+
|
|
25
|
+
**MODO SONNET-READY (quando `<sonnet_execution>true</sonnet_execution>` no prompt):**
|
|
26
|
+
|
|
27
|
+
O executor sera um modelo Sonnet (mais rapido, mais barato, mas segue instrucoes LITERALMENTE).
|
|
28
|
+
Sonnet NAO infere, NAO decide, NAO improvisa. Ele faz EXATAMENTE o que o plano diz.
|
|
29
|
+
Se o plano e vago, Sonnet entrega vago. Se o plano e preciso, Sonnet entrega preciso.
|
|
30
|
+
|
|
31
|
+
**Regras Sonnet-ready — CADA tarefa DEVE ter:**
|
|
32
|
+
|
|
33
|
+
1. **Imports exatos** — nao dizer "importar biblioteca de validacao", dizer "import { z } from 'zod'"
|
|
34
|
+
2. **Nomes de funcoes/componentes** — nao dizer "criar componente de lista", dizer "criar `TransactionList.tsx` com props `{ transactions: Transaction[], onDelete: (id: string) => void }`"
|
|
35
|
+
3. **Schema/tipos definidos** — nao dizer "criar tipo do usuario", dizer:
|
|
36
|
+
```typescript
|
|
37
|
+
interface User {
|
|
38
|
+
id: string;
|
|
39
|
+
email: string;
|
|
40
|
+
name: string;
|
|
41
|
+
role: 'admin' | 'user';
|
|
42
|
+
created_at: string;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
4. **Endpoints com assinatura completa** — nao dizer "criar endpoint de login", dizer:
|
|
46
|
+
```
|
|
47
|
+
POST /api/auth/login
|
|
48
|
+
Body: { email: string, password: string }
|
|
49
|
+
Response 200: { user: User, token: string }
|
|
50
|
+
Response 401: { error: "Invalid credentials" }
|
|
51
|
+
Validacao: zod schema z.object({ email: z.string().email(), password: z.string().min(8) })
|
|
52
|
+
```
|
|
53
|
+
5. **SQL/migrations literais** — nao dizer "criar tabela de transacoes", dizer:
|
|
54
|
+
```sql
|
|
55
|
+
CREATE TABLE transactions (
|
|
56
|
+
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
|
|
57
|
+
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
|
|
58
|
+
amount DECIMAL(12,2) NOT NULL CHECK (amount >= 0),
|
|
59
|
+
description TEXT NOT NULL,
|
|
60
|
+
category TEXT NOT NULL,
|
|
61
|
+
date DATE NOT NULL DEFAULT CURRENT_DATE,
|
|
62
|
+
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
63
|
+
);
|
|
64
|
+
CREATE INDEX idx_transactions_user_id ON transactions(user_id);
|
|
65
|
+
CREATE INDEX idx_transactions_date ON transactions(date);
|
|
66
|
+
```
|
|
67
|
+
6. **Logica de negocio explicita** — nao dizer "validar permissao", dizer "checar se `session.user.role === 'admin'`, se nao, retornar 403"
|
|
68
|
+
7. **Conexoes explicitas** — nao dizer "conectar com o backend", dizer "o componente `TransactionList` deve chamar `fetch('/api/transactions', { headers: { Authorization: 'Bearer ' + token } })` no useEffect, tratar loading/error/empty states"
|
|
69
|
+
|
|
70
|
+
**Self-check Sonnet-ready (apos cada tarefa do plano):**
|
|
71
|
+
- [ ] A tarefa tem imports explicitados?
|
|
72
|
+
- [ ] A tarefa tem nomes de arquivos, funcoes, componentes, tipos?
|
|
73
|
+
- [ ] A tarefa tem schemas/tipos com campos e tipos definidos?
|
|
74
|
+
- [ ] A tarefa tem endpoints com request/response shapes?
|
|
75
|
+
- [ ] A tarefa tem logica de negocio descrita passo a passo?
|
|
76
|
+
- [ ] Um executor que NAO conhece o projeto consegue implementar SEM pensar?
|
|
77
|
+
|
|
78
|
+
Se qualquer check falha: reescrever a tarefa com mais detalhe antes de finalizar o plano.
|
|
24
79
|
</role>
|
|
25
80
|
|
|
26
81
|
<project_context>
|
package/package.json
CHANGED
|
@@ -35,6 +35,27 @@ O usuario customiza uma vez e vale para todos os projetos criados com `/up:modo-
|
|
|
35
35
|
- Linter: ESLint + Prettier
|
|
36
36
|
- Git: branch main, commits diretos
|
|
37
37
|
|
|
38
|
+
## Modelos por Papel
|
|
39
|
+
|
|
40
|
+
Configurar qual modelo de IA usar para cada tipo de trabalho.
|
|
41
|
+
Modelos disponiveis: opus, sonnet, haiku
|
|
42
|
+
|
|
43
|
+
| Papel | Modelo | Agentes |
|
|
44
|
+
|-------|--------|---------|
|
|
45
|
+
| planning | opus | arquiteto, product-analyst, system-designer, planejador, roteirista |
|
|
46
|
+
| execution | sonnet | executor, frontend-specialist, backend-specialist, database-specialist |
|
|
47
|
+
| verification | opus | verificador, code-reviewer, blind-validator, requirements-validator |
|
|
48
|
+
| detection | sonnet | visual-critic, exhaustive-tester, api-tester |
|
|
49
|
+
| research | sonnet | pesquisador-projeto, pesquisador-mercado, mapeador-codigo |
|
|
50
|
+
| quality | opus | qa-agent, security-reviewer, auditor-ux, auditor-performance |
|
|
51
|
+
|
|
52
|
+
Notas:
|
|
53
|
+
- Opus: raciocinio profundo, decisoes arquiteturais, verificacao critica. Mais lento, mais caro.
|
|
54
|
+
- Sonnet: execucao rapida, seguir instrucoes, volume de codigo. Mais rapido, mais barato.
|
|
55
|
+
- Haiku: tarefas simples. NAO recomendado para codigo de producao.
|
|
56
|
+
- Opus e Sonnet ambos suportam 1M de contexto.
|
|
57
|
+
- Se execution=sonnet, planos serao gerados com nivel extra de detalhe (Sonnet-ready).
|
|
58
|
+
|
|
38
59
|
## Nao usar
|
|
39
60
|
- (liste aqui tecnologias que voce NAO quer em nenhum projeto)
|
|
40
61
|
```
|
package/workflows/builder.md
CHANGED
|
@@ -38,6 +38,38 @@ Neste modo, TODOS os agentes devem:
|
|
|
38
38
|
7. **Quality Gate:** Incluir clone-verifier como dimensao "Fidelidade" (20% do score).
|
|
39
39
|
</core_principle>
|
|
40
40
|
|
|
41
|
+
<model_routing>
|
|
42
|
+
## Roteamento de Modelos por Papel
|
|
43
|
+
|
|
44
|
+
**REGRA OBRIGATORIA:** Ao spawnar QUALQUER agente via Task() ou Agent(), incluir o parametro `model` baseado nesta tabela. Usar os valores de $MODEL_* extraidos do builder-defaults.md (Estagio 1.1).
|
|
45
|
+
|
|
46
|
+
| Papel | Variavel | Agentes | Default |
|
|
47
|
+
|-------|----------|---------|---------|
|
|
48
|
+
| **Planning** | $MODEL_PLANNING | up-arquiteto, up-product-analyst, up-system-designer, up-planejador, up-roteirista | opus |
|
|
49
|
+
| **Execution** | $MODEL_EXECUTION | up-executor, up-frontend-specialist, up-backend-specialist, up-database-specialist | sonnet |
|
|
50
|
+
| **Verification** | $MODEL_VERIFICATION | up-verificador, up-code-reviewer, up-blind-validator, up-requirements-validator | opus |
|
|
51
|
+
| **Detection** | $MODEL_DETECTION | up-visual-critic, up-exhaustive-tester, up-api-tester | sonnet |
|
|
52
|
+
| **Research** | $MODEL_RESEARCH | up-pesquisador-projeto, up-pesquisador-mercado, up-mapeador-codigo, up-sintetizador | sonnet |
|
|
53
|
+
| **Quality** | $MODEL_QUALITY | up-qa-agent, up-security-reviewer, up-auditor-ux, up-auditor-performance, up-auditor-modernidade, up-sintetizador-melhorias, up-consolidador-ideias, up-devops-agent, up-technical-writer | opus |
|
|
54
|
+
|
|
55
|
+
**Exemplo de aplicacao:**
|
|
56
|
+
```python
|
|
57
|
+
# ANTES (sem model routing):
|
|
58
|
+
Task(subagent_type="up-executor", prompt="...")
|
|
59
|
+
|
|
60
|
+
# DEPOIS (com model routing):
|
|
61
|
+
Task(subagent_type="up-executor", model="$MODEL_EXECUTION", prompt="...")
|
|
62
|
+
|
|
63
|
+
# Equivale a (com defaults):
|
|
64
|
+
Task(subagent_type="up-executor", model="sonnet", prompt="...")
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Ao spawnar qualquer agente, SEMPRE:**
|
|
68
|
+
1. Identificar o papel do agente na tabela acima
|
|
69
|
+
2. Usar a variavel $MODEL_* correspondente como parametro model
|
|
70
|
+
3. Se a variavel nao foi definida (sem builder-defaults), usar o default da tabela
|
|
71
|
+
</model_routing>
|
|
72
|
+
|
|
41
73
|
<process>
|
|
42
74
|
|
|
43
75
|
## Estagio 1: INTAKE (Interativo)
|
|
@@ -100,6 +132,24 @@ DEFAULTS_PATH="$HOME/.claude/up/builder-defaults.md"
|
|
|
100
132
|
|
|
101
133
|
Ler `$DEFAULTS_PATH` se existir. Se nao existir, informar: "Sem builder-defaults.md. Usando inferencia inteligente para decisoes nao especificadas. Crie ~/.claude/up/builder-defaults.md para personalizar."
|
|
102
134
|
|
|
135
|
+
**Extrair configuracao de modelos:**
|
|
136
|
+
|
|
137
|
+
Se builder-defaults.md existe, procurar secao "## Modelos por Papel" e extrair mapeamento:
|
|
138
|
+
```
|
|
139
|
+
$MODEL_PLANNING = modelo para planning (default: opus)
|
|
140
|
+
$MODEL_EXECUTION = modelo para execution (default: sonnet)
|
|
141
|
+
$MODEL_VERIFICATION = modelo para verification (default: opus)
|
|
142
|
+
$MODEL_DETECTION = modelo para detection (default: sonnet)
|
|
143
|
+
$MODEL_RESEARCH = modelo para research (default: sonnet)
|
|
144
|
+
$MODEL_QUALITY = modelo para quality (default: opus)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Se secao nao existe: usar defaults acima (opus planeja, sonnet executa, opus verifica).
|
|
148
|
+
|
|
149
|
+
**IMPORTANTE — Sonnet-ready planning:**
|
|
150
|
+
Se `$MODEL_EXECUTION = sonnet`, setar flag `$SONNET_EXECUTION = true`.
|
|
151
|
+
Isso ativa nivel extra de detalhe nos planos (ver planejador Sonnet-ready mode).
|
|
152
|
+
|
|
103
153
|
**Detectar modo automaticamente:**
|
|
104
154
|
|
|
105
155
|
```bash
|
|
@@ -220,13 +270,37 @@ Iniciando mapeamento do codebase...
|
|
|
220
270
|
|
|
221
271
|
## Estagio 2: ARQUITETURA (Autonomo)
|
|
222
272
|
|
|
223
|
-
### 2.
|
|
273
|
+
### 2.0 GATE OBRIGATORIO — Inicializar .plano/
|
|
274
|
+
|
|
275
|
+
**ESTE PASSO E OBRIGATORIO E NAO PODE SER PULADO.**
|
|
276
|
+
**EXECUTAR ESTES COMANDOS LITERALMENTE — NAO APENAS LER.**
|
|
224
277
|
|
|
225
278
|
```bash
|
|
226
|
-
|
|
279
|
+
# GATE 1: Criar .plano/ se nao existe
|
|
280
|
+
mkdir -p .plano .plano/captures .plano/fases .plano/issues-carryover
|
|
281
|
+
|
|
282
|
+
# GATE 2: Verificar que foi criado
|
|
283
|
+
ls -d .plano/ || { echo "ERRO CRITICO: .plano/ nao foi criado"; exit 1; }
|
|
284
|
+
|
|
285
|
+
# GATE 3: Registrar inicio do builder
|
|
286
|
+
echo "builder_started: $(date -u +%Y-%m-%dT%H:%M:%SZ)" > .plano/LOCK.md
|
|
287
|
+
echo "mode: ${MODE}" >> .plano/LOCK.md
|
|
288
|
+
echo "stage: architecture" >> .plano/LOCK.md
|
|
289
|
+
echo "status: running" >> .plano/LOCK.md
|
|
290
|
+
|
|
291
|
+
# GATE 4: Init git se necessario
|
|
227
292
|
git init 2>/dev/null
|
|
228
293
|
```
|
|
229
294
|
|
|
295
|
+
**VERIFICACAO — EXECUTAR OBRIGATORIAMENTE:**
|
|
296
|
+
```bash
|
|
297
|
+
[ -d ".plano" ] && echo "GATE OK: .plano/ existe" || echo "GATE FALHOU: .plano/ nao existe — PARAR"
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Se GATE FALHOU:** NAO continuar. Algo esta errado com permissoes ou disco. Informar usuario.
|
|
301
|
+
|
|
302
|
+
### 2.1 Inicializar Projeto (Continuacao)
|
|
303
|
+
|
|
230
304
|
**Iniciar Dashboard automaticamente:**
|
|
231
305
|
```bash
|
|
232
306
|
node "$HOME/.claude/up/dashboard/server.js" 4040 "$(pwd)/.plano" &
|
|
@@ -480,7 +554,7 @@ Escrever .plano/PRODUCT-ANALYSIS.md
|
|
|
480
554
|
Commit apos escrever.
|
|
481
555
|
Retornar: ## PRODUCT ANALYSIS COMPLETE
|
|
482
556
|
</output>
|
|
483
|
-
", subagent_type="up-product-analyst", description="Analisar produto e mercado")
|
|
557
|
+
", subagent_type="up-product-analyst", model="$MODEL_PLANNING", description="Analisar produto e mercado")
|
|
484
558
|
```
|
|
485
559
|
|
|
486
560
|
Verificar retorno `## PRODUCT ANALYSIS COMPLETE`. Se falhou: registrar e continuar (System Designer usara blueprints como fallback).
|
|
@@ -529,7 +603,7 @@ Escrever .plano/SYSTEM-DESIGN.md
|
|
|
529
603
|
Commit apos escrever.
|
|
530
604
|
Retornar: ## SYSTEM DESIGN COMPLETE
|
|
531
605
|
</output>
|
|
532
|
-
", subagent_type="up-system-designer", description="Projetar sistema completo")
|
|
606
|
+
", subagent_type="up-system-designer", model="$MODEL_PLANNING", description="Projetar sistema completo")
|
|
533
607
|
```
|
|
534
608
|
|
|
535
609
|
```
|
|
@@ -592,7 +666,7 @@ Se brownfield:
|
|
|
592
666
|
- parallelization=true
|
|
593
667
|
- Commit todos arquivos ao final
|
|
594
668
|
</constraints>
|
|
595
|
-
", subagent_type="up-arquiteto", description="Estruturar projeto executavel")
|
|
669
|
+
", subagent_type="up-arquiteto", model="$MODEL_PLANNING", description="Estruturar projeto executavel")
|
|
596
670
|
```
|
|
597
671
|
|
|
598
672
|
### 2.7 Validar Requisitos (Quality Gate de Planejamento)
|
|
@@ -606,6 +680,7 @@ Validando requisitos (13 checks)...
|
|
|
606
680
|
```
|
|
607
681
|
Task(
|
|
608
682
|
subagent_type="up-requirements-validator",
|
|
683
|
+
model="$MODEL_VERIFICATION",
|
|
609
684
|
prompt="
|
|
610
685
|
<objective>
|
|
611
686
|
Validar REQUIREMENTS.md com 13 checks automaticos.
|
|
@@ -708,6 +783,28 @@ node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: adicionar persistência d
|
|
|
708
783
|
|
|
709
784
|
## Estagio 3: BUILD (Autonomo — Loop de Fases)
|
|
710
785
|
|
|
786
|
+
### GATE OBRIGATORIO — Verificar Artefatos do Estagio 2
|
|
787
|
+
|
|
788
|
+
**ANTES de iniciar o build, verificar que a arquitetura produziu os artefatos obrigatorios.**
|
|
789
|
+
**EXECUTAR ESTES COMANDOS LITERALMENTE.**
|
|
790
|
+
|
|
791
|
+
```bash
|
|
792
|
+
echo "=== GATE: Verificando artefatos do Estagio 2 ==="
|
|
793
|
+
[ -f ".plano/PROJECT.md" ] && echo "OK: PROJECT.md" || echo "FALTANDO: PROJECT.md"
|
|
794
|
+
[ -f ".plano/ROADMAP.md" ] && echo "OK: ROADMAP.md" || echo "FALTANDO: ROADMAP.md"
|
|
795
|
+
[ -f ".plano/REQUIREMENTS.md" ] && echo "OK: REQUIREMENTS.md" || echo "FALTANDO: REQUIREMENTS.md"
|
|
796
|
+
[ -f ".plano/BRIEFING.md" ] && echo "OK: BRIEFING.md" || echo "FALTANDO: BRIEFING.md"
|
|
797
|
+
[ -f ".plano/SYSTEM-DESIGN.md" ] && echo "OK: SYSTEM-DESIGN.md" || echo "FALTANDO: SYSTEM-DESIGN.md"
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
**Se QUALQUER arquivo FALTANDO:**
|
|
801
|
+
- NAO continuar para o build
|
|
802
|
+
- Identificar qual agente falhou (Product Analyst? System Designer? Architect?)
|
|
803
|
+
- Re-executar o agente que falhou
|
|
804
|
+
- Repetir gate ate todos existirem
|
|
805
|
+
|
|
806
|
+
**Se todos OK:** Continuar para 3.0.
|
|
807
|
+
|
|
711
808
|
### 3.0 Carregar Roadmap e Inicializar Lock
|
|
712
809
|
|
|
713
810
|
```bash
|
|
@@ -768,13 +865,14 @@ Para cada fase no ROADMAP (da primeira a ultima):
|
|
|
768
865
|
|
|
769
866
|
#### 3.1.1 Planejar Fase
|
|
770
867
|
|
|
771
|
-
Spawnar up-planejador com flag de modo builder:
|
|
868
|
+
Spawnar up-planejador com flag de modo builder e modelo de planning:
|
|
772
869
|
|
|
773
870
|
```
|
|
774
871
|
Task(prompt="
|
|
775
872
|
<planning_context>
|
|
776
873
|
**Fase:** {phase_number}
|
|
777
874
|
**Modo:** builder (autonomo -- NAO use AskUserQuestion)
|
|
875
|
+
<sonnet_execution>{$SONNET_EXECUTION}</sonnet_execution>
|
|
778
876
|
|
|
779
877
|
<files_to_read>
|
|
780
878
|
- .plano/STATE.md (Estado do Projeto)
|
|
@@ -816,15 +914,35 @@ Se algo falhar, corrija antes de retornar.
|
|
|
816
914
|
Escrever PLAN.md em: .plano/fases/{phase_dir}/
|
|
817
915
|
Retornar: ## PLANNING COMPLETE com resumo dos planos
|
|
818
916
|
</output>
|
|
819
|
-
", subagent_type="up-planejador", description="Planejar Fase {phase_number}")
|
|
917
|
+
", subagent_type="up-planejador", model="$MODEL_PLANNING", description="Planejar Fase {phase_number}")
|
|
820
918
|
```
|
|
821
919
|
|
|
822
920
|
Verificar retorno:
|
|
823
|
-
- `## PLANNING COMPLETE` → prosseguir para
|
|
921
|
+
- `## PLANNING COMPLETE` → prosseguir para quality gate do plano
|
|
824
922
|
- `## PLANNING INCONCLUSIVE` → tentar novamente com mais contexto (max 2 tentativas)
|
|
825
923
|
|
|
924
|
+
**Quality Gate do Plano (se $SONNET_EXECUTION = true):**
|
|
925
|
+
|
|
926
|
+
Antes de passar pro executor, verificar qualidade do plano rapidamente:
|
|
927
|
+
```bash
|
|
928
|
+
# Contar tarefas com detalhamento insuficiente
|
|
929
|
+
for plan in .plano/fases/{phase_dir}/*-PLAN.md; do
|
|
930
|
+
# Checar se tem imports/schemas/endpoints explicitados
|
|
931
|
+
DETAIL_SCORE=0
|
|
932
|
+
grep -c "import \|from '" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
|
|
933
|
+
grep -c "interface \|type \|schema\|z\.\|zod" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
|
|
934
|
+
grep -c "POST \|GET \|PUT \|DELETE \|endpoint\|route" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
|
|
935
|
+
grep -c "CREATE TABLE\|migration\|ALTER" "$plan" > /dev/null && DETAIL_SCORE=$((DETAIL_SCORE+1))
|
|
936
|
+
echo "$plan: detail_score=$DETAIL_SCORE"
|
|
937
|
+
done
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
Se algum plano tem detail_score < 2 e a fase tem mais de 3 tarefas:
|
|
941
|
+
- Re-spawnar planejador com instrucao extra: "Plano insuficientemente detalhado para executor Sonnet. Reescrever com imports, tipos, schemas e endpoints explicitos. Ver self-check Sonnet-ready."
|
|
942
|
+
- Max 1 re-tentativa de enriquecimento
|
|
943
|
+
|
|
826
944
|
```
|
|
827
|
-
Fase {X}: Planejada — {N} planos em {M} waves
|
|
945
|
+
Fase {X}: Planejada — {N} planos em {M} waves [Sonnet-ready: {score}]
|
|
828
946
|
```
|
|
829
947
|
|
|
830
948
|
#### 3.1.2 Executar Fase (com Specialist Routing)
|
|
@@ -868,6 +986,7 @@ Para cada wave, spawnar agentes especializados em paralelo (se parallelization=t
|
|
|
868
986
|
```
|
|
869
987
|
Task(
|
|
870
988
|
subagent_type="{up-frontend-specialist | up-backend-specialist | up-database-specialist | up-executor}",
|
|
989
|
+
model="$MODEL_EXECUTION",
|
|
871
990
|
prompt="
|
|
872
991
|
<objective>
|
|
873
992
|
Executar plano {plan_number} da fase {phase_number}-{phase_name}.
|
|
@@ -930,6 +1049,7 @@ Spawnar code reviewer:
|
|
|
930
1049
|
```
|
|
931
1050
|
Task(
|
|
932
1051
|
subagent_type="up-code-reviewer",
|
|
1052
|
+
model="$MODEL_VERIFICATION",
|
|
933
1053
|
prompt="
|
|
934
1054
|
<objective>
|
|
935
1055
|
Revisar codigo da fase {phase_number} contra production-requirements e padroes de qualidade.
|
|
@@ -985,7 +1105,8 @@ Modo builder. NAO use AskUserQuestion.
|
|
|
985
1105
|
- Criar VERIFICATION.md
|
|
986
1106
|
</builder_mode>
|
|
987
1107
|
",
|
|
988
|
-
subagent_type="up-verificador"
|
|
1108
|
+
subagent_type="up-verificador",
|
|
1109
|
+
model="$MODEL_VERIFICATION"
|
|
989
1110
|
)
|
|
990
1111
|
```
|
|
991
1112
|
|
|
@@ -1481,6 +1602,7 @@ Relatorio em .plano/ideias/RELATORIO.md
|
|
|
1481
1602
|
```
|
|
1482
1603
|
Task(
|
|
1483
1604
|
subagent_type="up-blind-validator",
|
|
1605
|
+
model="$MODEL_VERIFICATION",
|
|
1484
1606
|
prompt="
|
|
1485
1607
|
<objective>
|
|
1486
1608
|
Validar requisitos SEM ler codigo. Apenas navegar o app via Playwright e curl.
|
|
@@ -1632,6 +1754,7 @@ Spawnar devops agent:
|
|
|
1632
1754
|
```
|
|
1633
1755
|
Task(
|
|
1634
1756
|
subagent_type="up-devops-agent",
|
|
1757
|
+
model="$MODEL_QUALITY",
|
|
1635
1758
|
prompt="
|
|
1636
1759
|
<objective>
|
|
1637
1760
|
Gerar artefatos de producao para o projeto: Dockerfile, docker-compose, CI/CD, .env.example, seed data, scripts.
|
|
@@ -1670,6 +1793,7 @@ Spawnar technical writer:
|
|
|
1670
1793
|
```
|
|
1671
1794
|
Task(
|
|
1672
1795
|
subagent_type="up-technical-writer",
|
|
1796
|
+
model="$MODEL_QUALITY",
|
|
1673
1797
|
prompt="
|
|
1674
1798
|
<objective>
|
|
1675
1799
|
Gerar documentacao completa: README.md, API docs, CHANGELOG.md, setup guide.
|
|
@@ -1711,6 +1835,7 @@ Spawnar security reviewer:
|
|
|
1711
1835
|
```
|
|
1712
1836
|
Task(
|
|
1713
1837
|
subagent_type="up-security-reviewer",
|
|
1838
|
+
model="$MODEL_QUALITY",
|
|
1714
1839
|
prompt="
|
|
1715
1840
|
<objective>
|
|
1716
1841
|
Auditar codigo para vulnerabilidades de seguranca (OWASP Top 10, auth, injection, data exposure).
|
|
@@ -1748,6 +1873,7 @@ Spawnar QA agent:
|
|
|
1748
1873
|
```
|
|
1749
1874
|
Task(
|
|
1750
1875
|
subagent_type="up-qa-agent",
|
|
1876
|
+
model="$MODEL_QUALITY",
|
|
1751
1877
|
prompt="
|
|
1752
1878
|
<objective>
|
|
1753
1879
|
Identificar gaps de cobertura de testes, escrever testes que faltam, executar todos.
|