up-cc 0.4.5 → 0.5.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/agents/up-architecture-supervisor.md +122 -0
- package/agents/up-audit-supervisor.md +73 -0
- package/agents/up-chief-architect.md +184 -0
- package/agents/up-chief-engineer.md +202 -0
- package/agents/up-chief-operations.md +123 -0
- package/agents/up-chief-product.md +103 -0
- package/agents/up-chief-quality.md +211 -0
- package/agents/up-delivery-auditor.md +247 -0
- package/agents/up-execution-supervisor.md +268 -0
- package/agents/up-operations-supervisor.md +90 -0
- package/agents/up-planning-supervisor.md +255 -0
- package/agents/up-product-supervisor.md +78 -0
- package/agents/up-project-ceo.md +352 -0
- package/agents/up-quality-supervisor.md +173 -0
- package/agents/up-verification-supervisor.md +106 -0
- package/commands/modo-builder.md +5 -0
- package/commands/onboard.md +69 -0
- package/commands/testar.md +287 -0
- package/package.json +1 -1
- package/references/governance-rules.md +157 -0
- package/references/rework-limits.md +162 -0
- package/references/severity-levels.md +189 -0
- package/templates/audit-report.md +118 -0
- package/templates/checklist.md +195 -0
- package/templates/owner-profile.md +111 -0
- package/templates/owner.md +77 -0
- package/templates/pending.md +83 -0
- package/workflows/builder.md +196 -9
- package/workflows/ceo-intake.md +305 -0
- package/workflows/ceo-updates.md +183 -0
- package/workflows/governance.md +237 -0
- package/workflows/onboarding.md +375 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up:testar
|
|
3
|
+
description: Testar projeto completo — descobre todas paginas e APIs, clica em tudo, testa tudo, corrige o que puder
|
|
4
|
+
argument-hint: "[url ou porta] [--no-fix] [--report-only]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Bash
|
|
12
|
+
- Task
|
|
13
|
+
- mcp__plugin_playwright_playwright__*
|
|
14
|
+
---
|
|
15
|
+
<objective>
|
|
16
|
+
Testar um projeto existente de forma exaustiva. Descobre TODAS as paginas e APIs pelo codigo fonte, roda os 3 detectores DCRV (Visual Critic, Exhaustive Tester, API Tester), corrige issues encontradas, e gera relatorio completo.
|
|
17
|
+
|
|
18
|
+
NAO planeja, NAO cria features, NAO faz auditoria de codigo. Apenas TESTA e CORRIGE.
|
|
19
|
+
|
|
20
|
+
**Standalone:** Funciona em qualquer projeto, qualquer momento. NAO requer .plano/ ou /up:novo-projeto.
|
|
21
|
+
**Diferencial:** Teste objetivo — clica em tudo, testa todo endpoint, verifica visual. Nao opina sobre UX.
|
|
22
|
+
|
|
23
|
+
**Output:** `.plano/teste/` com DCRV-REPORT.md, issues resolvidas, screenshots.
|
|
24
|
+
</objective>
|
|
25
|
+
|
|
26
|
+
<execution_context>
|
|
27
|
+
@~/.claude/up/workflows/dcrv.md
|
|
28
|
+
@~/.claude/up/references/engineering-principles.md
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<context>
|
|
32
|
+
$ARGUMENTS
|
|
33
|
+
|
|
34
|
+
**Argumentos opcionais:**
|
|
35
|
+
- URL ou porta: `http://localhost:3000` ou `3000` (default: detecta automaticamente)
|
|
36
|
+
- `--no-fix`: Apenas gerar relatorio, NAO corrigir issues
|
|
37
|
+
- `--report-only`: Alias para --no-fix
|
|
38
|
+
|
|
39
|
+
**Se sem argumentos:** Detecta stack, sobe dev server automaticamente, usa porta padrao.
|
|
40
|
+
**Se .plano/ existe:** Usa PROJECT.md para entender o projeto.
|
|
41
|
+
**Se .plano/ NAO existe:** Descobre tudo pelo codigo fonte.
|
|
42
|
+
</context>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
|
|
46
|
+
## Passo 1: Setup
|
|
47
|
+
|
|
48
|
+
### 1.1 Detectar Stack e Dev Server
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Detectar stack
|
|
52
|
+
if [ -f package.json ]; then
|
|
53
|
+
node -e "const p=require('./package.json'); console.log(JSON.stringify({name: p.name, scripts: p.scripts, deps: Object.keys(p.dependencies||{}).slice(0,20)}))"
|
|
54
|
+
fi
|
|
55
|
+
if [ -f requirements.txt ] || [ -f pyproject.toml ]; then
|
|
56
|
+
echo "Python project detected"
|
|
57
|
+
fi
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Definir $PORT a partir dos argumentos ou detectar automaticamente.
|
|
61
|
+
|
|
62
|
+
### 1.2 Subir Dev Server
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Verificar se ja esta rodando
|
|
66
|
+
curl -s http://localhost:${PORT:-3000} > /dev/null 2>&1
|
|
67
|
+
if [ $? -ne 0 ]; then
|
|
68
|
+
# Detectar comando de dev
|
|
69
|
+
if [ -f package.json ]; then
|
|
70
|
+
npm run dev > /tmp/up-testar-server.log 2>&1 &
|
|
71
|
+
TESTAR_DEV_PID=$!
|
|
72
|
+
elif [ -f manage.py ]; then
|
|
73
|
+
python manage.py runserver > /tmp/up-testar-server.log 2>&1 &
|
|
74
|
+
TESTAR_DEV_PID=$!
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
# Esperar ficar pronto (max 30s)
|
|
78
|
+
for i in $(seq 1 30); do
|
|
79
|
+
curl -s http://localhost:${PORT:-3000} > /dev/null 2>&1 && break
|
|
80
|
+
sleep 1
|
|
81
|
+
done
|
|
82
|
+
fi
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Se nao subir: ERRO — informar usuario.
|
|
86
|
+
|
|
87
|
+
### 1.3 Descobrir TODAS as Paginas
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
echo "=== Descobrindo paginas ==="
|
|
91
|
+
|
|
92
|
+
# Next.js App Router
|
|
93
|
+
find app -name "page.tsx" -o -name "page.ts" 2>/dev/null | grep -v node_modules | sort
|
|
94
|
+
|
|
95
|
+
# Next.js Pages Router
|
|
96
|
+
find pages -name "*.tsx" -o -name "*.ts" 2>/dev/null | grep -v node_modules | grep -v "_app\|_document\|api/" | sort
|
|
97
|
+
|
|
98
|
+
# React Router (Vite/CRA) — extrair paths
|
|
99
|
+
grep -rn "path:" src/ --include="*.tsx" --include="*.ts" --include="*.jsx" --include="*.js" 2>/dev/null | grep -v node_modules | head -30
|
|
100
|
+
|
|
101
|
+
# Python (Django)
|
|
102
|
+
grep -rn "path(" */urls.py 2>/dev/null | head -20
|
|
103
|
+
|
|
104
|
+
# Python (FastAPI) com templates
|
|
105
|
+
grep -rn "templates.TemplateResponse\|return.*html" . --include="*.py" 2>/dev/null | head -20
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Converter caminhos de arquivo para URLs:
|
|
109
|
+
- `app/page.tsx` → `/`
|
|
110
|
+
- `app/dashboard/page.tsx` → `/dashboard`
|
|
111
|
+
- `app/settings/[tab]/page.tsx` → `/settings/general` (usar primeiro valor provavel)
|
|
112
|
+
- `pages/about.tsx` → `/about`
|
|
113
|
+
|
|
114
|
+
Montar lista `$ROUTES_UI`.
|
|
115
|
+
|
|
116
|
+
### 1.4 Descobrir TODAS as APIs
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
echo "=== Descobrindo APIs ==="
|
|
120
|
+
|
|
121
|
+
# Next.js App Router API routes
|
|
122
|
+
find app -path "*/api/*" -name "route.ts" -o -name "route.js" 2>/dev/null | grep -v node_modules | sort
|
|
123
|
+
|
|
124
|
+
# Para cada route.ts, extrair metodos exportados
|
|
125
|
+
for route in $(find app -path "*/api/*" -name "route.ts" 2>/dev/null); do
|
|
126
|
+
methods=$(grep -oE "export.*(async )?(function )?(GET|POST|PUT|PATCH|DELETE)" "$route" | grep -oE "GET|POST|PUT|PATCH|DELETE")
|
|
127
|
+
echo "$route: $methods"
|
|
128
|
+
done
|
|
129
|
+
|
|
130
|
+
# Next.js Pages Router API
|
|
131
|
+
find pages/api -name "*.ts" -o -name "*.js" 2>/dev/null | sort
|
|
132
|
+
|
|
133
|
+
# Express/Fastify
|
|
134
|
+
grep -rn "app\.\(get\|post\|put\|patch\|delete\)\|router\.\(get\|post\|put\|patch\|delete\)" src/ --include="*.ts" --include="*.js" 2>/dev/null | head -30
|
|
135
|
+
|
|
136
|
+
# FastAPI (Python)
|
|
137
|
+
grep -rn "@app\.\(get\|post\|put\|patch\|delete\)\|@router\.\(get\|post\|put\|patch\|delete\)" . --include="*.py" 2>/dev/null | head -30
|
|
138
|
+
|
|
139
|
+
# tRPC
|
|
140
|
+
grep -rn "\.query\|\.mutation" src/ --include="*.ts" 2>/dev/null | grep -i "router\|procedure" | head -20
|
|
141
|
+
|
|
142
|
+
# Supabase Edge Functions
|
|
143
|
+
ls supabase/functions/*/index.ts 2>/dev/null
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Montar lista `$ROUTES_API` com metodo + path.
|
|
147
|
+
|
|
148
|
+
### 1.5 Classificar Projeto e Reportar
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
UP > TESTAR — DESCOBERTA COMPLETA
|
|
153
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
154
|
+
|
|
155
|
+
Projeto: [nome do package.json ou diretorio]
|
|
156
|
+
Stack: [Next.js / Vite / FastAPI / etc.]
|
|
157
|
+
Dev server: http://localhost:{PORT}
|
|
158
|
+
|
|
159
|
+
Paginas encontradas: {N}
|
|
160
|
+
[lista de URLs]
|
|
161
|
+
|
|
162
|
+
APIs encontradas: {N}
|
|
163
|
+
[lista de METHOD /path]
|
|
164
|
+
|
|
165
|
+
Detectores a rodar:
|
|
166
|
+
[x] Visual Critic ({N} paginas × 3 viewports)
|
|
167
|
+
[x] Exhaustive Tester ({N} paginas, todos elementos)
|
|
168
|
+
[x] API Tester ({N} endpoints, bateria completa)
|
|
169
|
+
|
|
170
|
+
Iniciando testes...
|
|
171
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 1.6 Criar Diretorio de Resultados
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
mkdir -p .plano/teste
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Passo 2: Rodar DCRV Global
|
|
181
|
+
|
|
182
|
+
**Referencia:** `@~/.claude/up/workflows/dcrv.md`
|
|
183
|
+
|
|
184
|
+
Determinar AUTO_FIX baseado nas flags:
|
|
185
|
+
- Se `--no-fix` ou `--report-only`: AUTO_FIX=false
|
|
186
|
+
- Senao: AUTO_FIX=true
|
|
187
|
+
|
|
188
|
+
Executar workflow DCRV com parametros:
|
|
189
|
+
```
|
|
190
|
+
SCOPE=global
|
|
191
|
+
PORT={porta do dev server}
|
|
192
|
+
MAX_CYCLES=3
|
|
193
|
+
MAX_ISSUES_PER_CYCLE=20
|
|
194
|
+
AUTO_FIX={true ou false baseado nas flags}
|
|
195
|
+
ROUTES_UI={lista de paginas descobertas}
|
|
196
|
+
ROUTES_API={lista de APIs descobertas}
|
|
197
|
+
DCRV_DIR=.plano/teste
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
O DCRV cuida de:
|
|
201
|
+
1. Rodar Visual Critic em todas paginas (3 viewports, CSS extraction, screenshots)
|
|
202
|
+
2. Rodar API Tester em todas rotas (happy path, payloads invalidos, auth, edge cases)
|
|
203
|
+
3. Rodar Exhaustive Tester em todas paginas (clicar em CADA elemento)
|
|
204
|
+
4. Consolidar issues
|
|
205
|
+
5. Se AUTO_FIX: dispatcher roteia para especialistas corrigirem
|
|
206
|
+
6. Re-verificar correcoes
|
|
207
|
+
7. Loop ate resolver ou max ciclos
|
|
208
|
+
|
|
209
|
+
## Passo 3: Carregar Design Tokens (se existir)
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Checar se projeto tem design tokens definidos
|
|
213
|
+
cat .plano/DESIGN-TOKENS.md 2>/dev/null
|
|
214
|
+
# Ou inferir do Tailwind config
|
|
215
|
+
cat tailwind.config.ts tailwind.config.js 2>/dev/null | head -50
|
|
216
|
+
# Ou de globals.css
|
|
217
|
+
cat app/globals.css src/globals.css styles/globals.css 2>/dev/null | head -50
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Passar como referencia para o Visual Critic.
|
|
221
|
+
|
|
222
|
+
## Passo 4: Cleanup
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Matar dev server se nos que subimos
|
|
226
|
+
if [ -n "$TESTAR_DEV_PID" ]; then
|
|
227
|
+
kill $TESTAR_DEV_PID 2>/dev/null
|
|
228
|
+
fi
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Fechar browser se aberto.
|
|
232
|
+
|
|
233
|
+
## Passo 5: Apresentar Resultado
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
237
|
+
UP > TESTE COMPLETO
|
|
238
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
239
|
+
|
|
240
|
+
## Scores
|
|
241
|
+
|
|
242
|
+
| Detector | Score | Detalhes |
|
|
243
|
+
|----------|-------|----------|
|
|
244
|
+
| Visual | {N}/10 | {issues} issues em {paginas} paginas |
|
|
245
|
+
| Interacao | {N}% pass | {passed}/{total} elementos funcionam |
|
|
246
|
+
| API | {N}% pass | {passed}/{total} testes passaram |
|
|
247
|
+
|
|
248
|
+
## Issues
|
|
249
|
+
|
|
250
|
+
| Severidade | Encontradas | Corrigidas | Pendentes |
|
|
251
|
+
|-----------|-------------|-----------|-----------|
|
|
252
|
+
| Critical | {N} | {N} | {N} |
|
|
253
|
+
| High | {N} | {N} | {N} |
|
|
254
|
+
| Medium | {N} | {N} | {N} |
|
|
255
|
+
| Low | {N} | — | {N} |
|
|
256
|
+
|
|
257
|
+
## Top Issues Pendentes (se houver)
|
|
258
|
+
|
|
259
|
+
[Lista das issues nao corrigidas com descricao]
|
|
260
|
+
|
|
261
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
262
|
+
|
|
263
|
+
Relatorio completo: .plano/teste/DCRV-REPORT.md
|
|
264
|
+
Screenshots: .plano/teste/
|
|
265
|
+
|
|
266
|
+
Proximos passos:
|
|
267
|
+
- /up:ux-tester — avaliar experiencia do usuario
|
|
268
|
+
- /up:melhorias — auditoria de codigo
|
|
269
|
+
- /up:modo-builder "nova feature" — adicionar funcionalidade
|
|
270
|
+
|
|
271
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
</process>
|
|
275
|
+
|
|
276
|
+
<success_criteria>
|
|
277
|
+
- [ ] Stack detectada e dev server rodando
|
|
278
|
+
- [ ] TODAS paginas descobertas pelo codigo fonte
|
|
279
|
+
- [ ] TODAS APIs descobertas pelo codigo fonte
|
|
280
|
+
- [ ] Visual Critic rodou em todas paginas (3 viewports)
|
|
281
|
+
- [ ] Exhaustive Tester clicou em todos elementos de todas paginas
|
|
282
|
+
- [ ] API Tester testou todos endpoints com bateria completa
|
|
283
|
+
- [ ] Issues consolidadas com severidade
|
|
284
|
+
- [ ] Issues corrigidas (se nao --no-fix)
|
|
285
|
+
- [ ] DCRV-REPORT.md gerado em .plano/teste/
|
|
286
|
+
- [ ] Resumo apresentado com scores
|
|
287
|
+
</success_criteria>
|
package/package.json
CHANGED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Governance Rules
|
|
2
|
+
|
|
3
|
+
Regras de governanca aplicadas a TODOS os comandos UP.
|
|
4
|
+
Carregado por supervisores, chiefs e CEO.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Hierarquia
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
DONO (humano)
|
|
12
|
+
↓
|
|
13
|
+
CEO (up-project-ceo)
|
|
14
|
+
↓
|
|
15
|
+
CHIEFS (5 — architecture, product, engineer, quality, operations)
|
|
16
|
+
↓
|
|
17
|
+
SUPERVISORES (8 — area especifica)
|
|
18
|
+
↓
|
|
19
|
+
OPERACIONAIS (36 — agentes existentes)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Fluxo de Aprovacao
|
|
23
|
+
|
|
24
|
+
### Nivel 1: Supervisor revisa operacional
|
|
25
|
+
|
|
26
|
+
Apos cada agente operacional completar trabalho:
|
|
27
|
+
|
|
28
|
+
1. Supervisor da area le o output
|
|
29
|
+
2. Supervisor avalia contra criterios objetivos
|
|
30
|
+
3. Decisao:
|
|
31
|
+
- **APPROVE** — trabalho bom, segue
|
|
32
|
+
- **REQUEST_CHANGES** — volta pro operacional com lista especifica
|
|
33
|
+
- **ESCALATE** — problema serio, chama chief
|
|
34
|
+
|
|
35
|
+
**Max rework cycles:** 3 (operacional → supervisor)
|
|
36
|
+
|
|
37
|
+
### Nivel 2: Chief revisa consolidado
|
|
38
|
+
|
|
39
|
+
Apos TODOS os agentes de uma area completarem:
|
|
40
|
+
|
|
41
|
+
1. Chief le outputs consolidados da area
|
|
42
|
+
2. Valida coerencia entre agentes
|
|
43
|
+
3. Detecta drift de visao
|
|
44
|
+
4. Decisao:
|
|
45
|
+
- **APPROVE** — area consistente, segue
|
|
46
|
+
- **REQUEST_CHANGES** — volta pro supervisor com feedback
|
|
47
|
+
- **ESCALATE** — problema de visao, chama CEO
|
|
48
|
+
|
|
49
|
+
**Max rework cycles:** 2 (chief → supervisor → operacional)
|
|
50
|
+
|
|
51
|
+
### Nivel 3: CEO revisa antes do delivery
|
|
52
|
+
|
|
53
|
+
Antes do Estagio 5 (Delivery):
|
|
54
|
+
|
|
55
|
+
1. CEO le briefing original + delivery report
|
|
56
|
+
2. Valida que projeto atende ao pedido do dono
|
|
57
|
+
3. Decisao:
|
|
58
|
+
- **APPROVE_DELIVERY** — pronto pra entregar
|
|
59
|
+
- **ALERTA_DONO** — algo critico, pergunta ao dono
|
|
60
|
+
- **REWORK** — volta pro chief responsavel
|
|
61
|
+
|
|
62
|
+
**Max rework cycles:** 1 (CEO → chief)
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Criterios de Decisao
|
|
67
|
+
|
|
68
|
+
### APPROVE
|
|
69
|
+
- Todos criterios objetivos atendidos
|
|
70
|
+
- Sem issues criticas
|
|
71
|
+
- Sem inconsistencias
|
|
72
|
+
- Evidencia clara
|
|
73
|
+
|
|
74
|
+
### REQUEST_CHANGES
|
|
75
|
+
- 1+ criterio nao atendido
|
|
76
|
+
- Issues menores/medias que podem ser corrigidas
|
|
77
|
+
- Feedback especifico e acionavel
|
|
78
|
+
|
|
79
|
+
### ESCALATE
|
|
80
|
+
- Problema fora do escopo do supervisor
|
|
81
|
+
- Decisao arquitetural necessaria
|
|
82
|
+
- Conflito entre outros agentes
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Poderes do Supervisor
|
|
87
|
+
|
|
88
|
+
- ✅ Aprovar ou rejeitar trabalho do operacional
|
|
89
|
+
- ✅ Pedir rework com feedback especifico
|
|
90
|
+
- ✅ Mudar decisoes taticas (ex: "use zod ao inves de yup")
|
|
91
|
+
- ✅ Escalar pra chief se necessario
|
|
92
|
+
- ❌ NAO pode mudar decisoes arquiteturais fundamentais (isso e do chief)
|
|
93
|
+
- ❌ NAO pode rejeitar o briefing (isso e do CEO)
|
|
94
|
+
|
|
95
|
+
## Poderes do Chief
|
|
96
|
+
|
|
97
|
+
- ✅ Tudo que supervisor pode
|
|
98
|
+
- ✅ Mudar decisoes arquiteturais da area
|
|
99
|
+
- ✅ Coordenar entre multiplos supervisores
|
|
100
|
+
- ✅ Detectar drift de visao
|
|
101
|
+
- ✅ Escalar pra CEO em casos extremos
|
|
102
|
+
- ❌ NAO pode rejeitar o briefing original
|
|
103
|
+
- ❌ NAO pode decidir entregar com score baixo (isso e do CEO + dono)
|
|
104
|
+
|
|
105
|
+
## Poderes do CEO
|
|
106
|
+
|
|
107
|
+
- ✅ Tudo que chief pode
|
|
108
|
+
- ✅ Rejeitar briefing inviavel
|
|
109
|
+
- ✅ Interromper dono quando necessario (3 niveis de severidade)
|
|
110
|
+
- ✅ Aprovar delivery final
|
|
111
|
+
- ✅ Negociar com dono sobre trade-offs
|
|
112
|
+
- ✅ Veto final em qualquer decisao
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Accountability
|
|
117
|
+
|
|
118
|
+
Cada aprovacao fica registrada em `.plano/governance/approvals.log`:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
2026-04-10T16:30:00Z | E3.3.2 | execution-supervisor | APPROVE | SUMMARY verified
|
|
122
|
+
2026-04-10T16:45:00Z | E3.3.6 | chief-engineer | APPROVE | Phase 3 integrated
|
|
123
|
+
2026-04-10T17:00:00Z | E4.10 | chief-quality | REQUEST_CHANGES | Security issues pending
|
|
124
|
+
2026-04-10T17:15:00Z | E5.4 | project-ceo | APPROVE_DELIVERY | Confidence 96%
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Cada rework fica em `.plano/governance/reworks.log`:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
2026-04-10T16:20:00Z | E3.3.1 | planning-supervisor | REQUEST_CHANGES | cycle 1/3
|
|
131
|
+
→ reason: Plan lacks imports and type definitions (Sonnet-ready)
|
|
132
|
+
→ action: Re-spawned up-planejador with enrichment instructions
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Cada escalacao fica em `.plano/governance/escalations.log`:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
2026-04-10T17:30:00Z | E4.5 | audit-supervisor → chief-quality
|
|
139
|
+
→ reason: Security review found 3 critical vulnerabilities
|
|
140
|
+
→ decision: chief-quality approved rework with priority
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Anti-Patterns
|
|
146
|
+
|
|
147
|
+
**NAO APROVAR SE:**
|
|
148
|
+
- Trabalho nao foi de fato verificado (so "parece que ta ok")
|
|
149
|
+
- Evidencia esta faltando ou ambigua
|
|
150
|
+
- Ha claim sem backing (SUMMARY diz X mas codigo nao tem)
|
|
151
|
+
- Rework cycle ja atingiu max sem melhoria
|
|
152
|
+
|
|
153
|
+
**REJEITAR SEMPRE SE:**
|
|
154
|
+
- Violacao de engineering-principles.md
|
|
155
|
+
- Stub/placeholder onde deveria ter implementacao real
|
|
156
|
+
- Inconsistencia com fases anteriores
|
|
157
|
+
- Falta de wiring (componente criado mas nao conectado)
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Rework Limits
|
|
2
|
+
|
|
3
|
+
Limites de ciclos de rework antes de forcar aprovacao com debito tecnico.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Limites por Nivel
|
|
8
|
+
|
|
9
|
+
| Nivel | Max Ciclos | Acao apos limite |
|
|
10
|
+
|-------|-----------|------------------|
|
|
11
|
+
| Operacional ← Supervisor | **3** | Forca aprovacao, registra como debito tecnico |
|
|
12
|
+
| Supervisor ← Chief | **2** | Escalacao pro CEO |
|
|
13
|
+
| Chief ← CEO | **1** | CEO decide: aceitar como esta ou alertar dono |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Ciclo Operacional ← Supervisor
|
|
18
|
+
|
|
19
|
+
### Ciclo 1: Primeira rejeicao
|
|
20
|
+
```
|
|
21
|
+
Operacional entrega trabalho
|
|
22
|
+
↓
|
|
23
|
+
Supervisor revisa
|
|
24
|
+
↓
|
|
25
|
+
REQUEST_CHANGES
|
|
26
|
+
↓
|
|
27
|
+
Supervisor manda feedback especifico
|
|
28
|
+
↓
|
|
29
|
+
Operacional refaz
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Ciclo 2: Segunda tentativa
|
|
33
|
+
```
|
|
34
|
+
Operacional entrega trabalho (v2)
|
|
35
|
+
↓
|
|
36
|
+
Supervisor revisa
|
|
37
|
+
↓
|
|
38
|
+
Se APPROVE: prossegue
|
|
39
|
+
Se REQUEST_CHANGES: ciclo 3
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Ciclo 3: Ultima tentativa
|
|
43
|
+
```
|
|
44
|
+
Operacional entrega trabalho (v3)
|
|
45
|
+
↓
|
|
46
|
+
Supervisor revisa
|
|
47
|
+
↓
|
|
48
|
+
Se APPROVE: prossegue
|
|
49
|
+
Se REQUEST_CHANGES: FORCA aprovacao com ressalva
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Apos Max Ciclos
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Supervisor registra em governance/technical-debt.log:
|
|
56
|
+
- Item: [item-id]
|
|
57
|
+
- Ciclos esgotados: 3
|
|
58
|
+
- Issues restantes: [lista]
|
|
59
|
+
- Decisao: FORCED_APPROVAL
|
|
60
|
+
- Razao: Max rework cycles reached
|
|
61
|
+
|
|
62
|
+
Item marcado no CHECKLIST como:
|
|
63
|
+
status: completed_with_debt
|
|
64
|
+
|
|
65
|
+
Trabalho prossegue, mas aparece no AUDIT-REPORT como ressalva.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Ciclo Supervisor ← Chief
|
|
71
|
+
|
|
72
|
+
### Ciclo 1
|
|
73
|
+
```
|
|
74
|
+
Supervisor aprovou trabalho
|
|
75
|
+
↓
|
|
76
|
+
Chief revisa consolidado da area
|
|
77
|
+
↓
|
|
78
|
+
Se APPROVE: prossegue
|
|
79
|
+
Se REQUEST_CHANGES: volta pro supervisor com feedback
|
|
80
|
+
Se ESCALATE: pula pro CEO
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Ciclo 2
|
|
84
|
+
```
|
|
85
|
+
Supervisor coordena rework
|
|
86
|
+
↓
|
|
87
|
+
Chief re-revisa
|
|
88
|
+
↓
|
|
89
|
+
Se APPROVE: prossegue
|
|
90
|
+
Se REQUEST_CHANGES: ESCALATE pro CEO automaticamente
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Ciclo Chief ← CEO
|
|
96
|
+
|
|
97
|
+
### Ciclo 1 (unico)
|
|
98
|
+
```
|
|
99
|
+
Chief aprovou
|
|
100
|
+
↓
|
|
101
|
+
CEO revisa (antes do delivery)
|
|
102
|
+
↓
|
|
103
|
+
Se APPROVE_DELIVERY: prossegue
|
|
104
|
+
Se REWORK: volta pro chief responsavel
|
|
105
|
+
Se ALERTA_DONO: CEO pergunta ao dono o que fazer
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Apos rework unico
|
|
109
|
+
```
|
|
110
|
+
Chief refaz
|
|
111
|
+
↓
|
|
112
|
+
CEO re-revisa
|
|
113
|
+
↓
|
|
114
|
+
Se APPROVE_DELIVERY: prossegue
|
|
115
|
+
Se ainda NEEDS_REWORK: CEO alerta dono obrigatoriamente
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Quando forcar aprovacao
|
|
121
|
+
|
|
122
|
+
**Criterios:**
|
|
123
|
+
- Max ciclos atingido
|
|
124
|
+
- Melhoria entre ciclos < 10% (diminishing returns)
|
|
125
|
+
- Issue nao pode ser resolvida sem info externa
|
|
126
|
+
|
|
127
|
+
**Acao:**
|
|
128
|
+
1. Registrar como debito tecnico
|
|
129
|
+
2. Documentar no AUDIT-REPORT
|
|
130
|
+
3. Adicionar ao PENDING.md se virou pendencia
|
|
131
|
+
4. Alertar CEO (que decide se alerta dono)
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Anti-Patterns
|
|
136
|
+
|
|
137
|
+
**NAO FAZER:**
|
|
138
|
+
- Loops infinitos esperando perfeicao
|
|
139
|
+
- Aprovar sem rework quando claramente ha problema
|
|
140
|
+
- Rejeitar sem feedback especifico e acionavel
|
|
141
|
+
- Escalar sem tentar resolver no proprio nivel
|
|
142
|
+
|
|
143
|
+
**FAZER:**
|
|
144
|
+
- Feedback especifico: "Mude X para Y porque Z"
|
|
145
|
+
- Ciclos com melhoria mensuravel
|
|
146
|
+
- Aceitar debito tecnico documentado
|
|
147
|
+
- Comunicar trade-offs claramente
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Metrica: Rework Rate
|
|
152
|
+
|
|
153
|
+
Agentes com rework rate alto (>40%) sao candidatos a ajuste:
|
|
154
|
+
- Prompt pode estar vago
|
|
155
|
+
- Criterios muito rigidos
|
|
156
|
+
- Supervisor mal calibrado
|
|
157
|
+
|
|
158
|
+
Agentes com rework rate muito baixo (<5%) podem estar:
|
|
159
|
+
- Aprovando sem criterio
|
|
160
|
+
- Supervisor nao esta sendo critico o suficiente
|
|
161
|
+
|
|
162
|
+
**Target saudavel:** 15-30% de rework rate
|