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,183 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Workflow do CEO pra mandar updates periodicos ao dono durante execucao do projeto.
|
|
3
|
+
|
|
4
|
+
Chamado pelo builder apos cada fase concluida (se updates != silent).
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<process>
|
|
8
|
+
|
|
9
|
+
## Quando rodar
|
|
10
|
+
|
|
11
|
+
- Apos cada fase do build completar
|
|
12
|
+
- Apos Quality Gate completar
|
|
13
|
+
- Apos Delivery Auditor rodar
|
|
14
|
+
- Em qualquer momento critico
|
|
15
|
+
|
|
16
|
+
## Carregar contexto
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
cat ~/.claude/up/owner-profile.md
|
|
20
|
+
cat .plano/OWNER.md
|
|
21
|
+
cat .plano/STATE.md
|
|
22
|
+
cat .plano/ROADMAP.md
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Extrair:
|
|
26
|
+
- `$PREFERRED_NAME`
|
|
27
|
+
- `$CEO_NAME`
|
|
28
|
+
- `$CEO_TONE`
|
|
29
|
+
- `$UPDATES_LEVEL` (verbose | normal | silent)
|
|
30
|
+
|
|
31
|
+
**Se `$UPDATES_LEVEL = silent`:** Pular updates por fase. Voltar pro builder.
|
|
32
|
+
|
|
33
|
+
## Formato do Update (por fase)
|
|
34
|
+
|
|
35
|
+
### Verbose (detalhado)
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
39
|
+
{CEO_NAME}: Update — Fase {X}/{TOTAL} concluida
|
|
40
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
41
|
+
|
|
42
|
+
**Fase {X}:** {nome da fase}
|
|
43
|
+
|
|
44
|
+
**O que foi feito:**
|
|
45
|
+
- [bullet 1 — resumo do que foi construido]
|
|
46
|
+
- [bullet 2]
|
|
47
|
+
- [bullet 3]
|
|
48
|
+
|
|
49
|
+
**Qualidade:**
|
|
50
|
+
- Testes E2E: {passed}/{total} ({%})
|
|
51
|
+
- DCRV Score: {score}/10
|
|
52
|
+
- Visual: {N}/10
|
|
53
|
+
- Interacao: {N}% pass
|
|
54
|
+
- API: {N}% pass
|
|
55
|
+
- Code Review: {N} issues ({critical} critical, {high} high)
|
|
56
|
+
- Supervisores: {N} aprovacoes, {M} reworks
|
|
57
|
+
|
|
58
|
+
**Decisoes Tomadas:**
|
|
59
|
+
- [decisao 1]
|
|
60
|
+
- [decisao 2]
|
|
61
|
+
|
|
62
|
+
**Proxima Fase ({X+1}):**
|
|
63
|
+
- {nome}
|
|
64
|
+
- {N} planos estimados
|
|
65
|
+
- {M} tarefas
|
|
66
|
+
|
|
67
|
+
**Progresso Total:** {%} ({phases_done}/{total_phases})
|
|
68
|
+
|
|
69
|
+
Continuar? (enter pra seguir, ou digita feedback)
|
|
70
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Normal (resumido)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
77
|
+
{CEO_NAME}: Fase {X}/{TOTAL} ✓
|
|
78
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
79
|
+
|
|
80
|
+
{nome da fase} concluida.
|
|
81
|
+
{testes} testes, {passed}% pass.
|
|
82
|
+
|
|
83
|
+
Proxima: {nome proxima fase}
|
|
84
|
+
Progresso: {%}
|
|
85
|
+
|
|
86
|
+
(enter pra continuar)
|
|
87
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Silent (nao manda nada)
|
|
91
|
+
|
|
92
|
+
Pular.
|
|
93
|
+
|
|
94
|
+
## Formato Alerta Critico (qualquer modo)
|
|
95
|
+
|
|
96
|
+
Se ha 🔴 CRITICO, interrompe SEMPRE:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
100
|
+
🔴 {CEO_NAME}: Preciso do seu input
|
|
101
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
102
|
+
|
|
103
|
+
{PREFERRED_NAME}, precisei parar.
|
|
104
|
+
|
|
105
|
+
**Situacao:**
|
|
106
|
+
[descricao clara]
|
|
107
|
+
|
|
108
|
+
**Por que nao posso decidir sozinho:**
|
|
109
|
+
[explicacao]
|
|
110
|
+
|
|
111
|
+
**Opcoes:**
|
|
112
|
+
a) [opcao 1]
|
|
113
|
+
b) [opcao 2]
|
|
114
|
+
c) [opcao 3]
|
|
115
|
+
|
|
116
|
+
**Minha recomendacao:** {opcao} — {justificativa curta}
|
|
117
|
+
|
|
118
|
+
Qual voce prefere?
|
|
119
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Usar `AskUserQuestion` para capturar resposta.
|
|
123
|
+
|
|
124
|
+
## Formato Alerta Importante (modo interactive)
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
128
|
+
🟡 {CEO_NAME}: Decisao a tomar
|
|
129
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
130
|
+
|
|
131
|
+
{PREFERRED_NAME}, situacao:
|
|
132
|
+
|
|
133
|
+
[descricao]
|
|
134
|
+
|
|
135
|
+
**Opcoes viaveis:**
|
|
136
|
+
a) [opcao] — {pros/contras}
|
|
137
|
+
b) [opcao] — {pros/contras}
|
|
138
|
+
|
|
139
|
+
**Minha recomendacao:** {opcao}
|
|
140
|
+
**Por que:** {explicacao}
|
|
141
|
+
|
|
142
|
+
Voce confirma? Ou prefere outra?
|
|
143
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Se `$INTERACTIVE = true` ou `$UPDATES_LEVEL = verbose`: perguntar via AskUserQuestion.
|
|
147
|
+
Senao: tomar decisao recomendada e registrar em OWNER.md como "Decisao delegada".
|
|
148
|
+
|
|
149
|
+
## Formato FYI (nao interrompe)
|
|
150
|
+
|
|
151
|
+
Registrar em `.plano/OWNER.md` na secao "Feedback Durante Execucao":
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
| {timestamp} | 🟢 Decisao automatica | {decisao} |
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Nao falar nada pro dono.
|
|
158
|
+
|
|
159
|
+
## Registrar Interacao
|
|
160
|
+
|
|
161
|
+
Toda vez que CEO fala com dono, registrar em `.plano/OWNER.md`:
|
|
162
|
+
|
|
163
|
+
```markdown
|
|
164
|
+
## Interacoes com o CEO
|
|
165
|
+
|
|
166
|
+
| Timestamp | Tipo | Conteudo |
|
|
167
|
+
|-----------|------|----------|
|
|
168
|
+
| {timestamp} | update-verbose | Fase 3 concluida — dashboard |
|
|
169
|
+
| {timestamp} | alerta-critico | Credencial Asaas expirou |
|
|
170
|
+
| {timestamp} | alerta-importante | Trade-off: Redis vs in-memory |
|
|
171
|
+
| {timestamp} | fyi | Adicionei loading states automaticamente |
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
</process>
|
|
175
|
+
|
|
176
|
+
<success_criteria>
|
|
177
|
+
- [ ] Owner-profile lido
|
|
178
|
+
- [ ] Nivel de updates respeitado (verbose/normal/silent)
|
|
179
|
+
- [ ] Tom correto usado
|
|
180
|
+
- [ ] Severidade respeitada (critico sempre interrompe)
|
|
181
|
+
- [ ] Interacao registrada em OWNER.md
|
|
182
|
+
- [ ] Formato apropriado aplicado
|
|
183
|
+
</success_criteria>
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Workflow de governanca do UP. Define o loop de aprovacao operacional → supervisor → chief → CEO.
|
|
3
|
+
|
|
4
|
+
Usado por todos os comandos UP que executam trabalho.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<process>
|
|
8
|
+
|
|
9
|
+
## Loop de Governanca (Nivel Supervisor)
|
|
10
|
+
|
|
11
|
+
### Passo 1: Operacional executa trabalho
|
|
12
|
+
|
|
13
|
+
Qualquer agente operacional (planejador, executor, verificador, detector, auditor, etc.) completa sua tarefa e retorna output.
|
|
14
|
+
|
|
15
|
+
### Passo 2: Supervisor correspondente revisa
|
|
16
|
+
|
|
17
|
+
Determinar supervisor baseado no agente operacional:
|
|
18
|
+
|
|
19
|
+
| Operacional | Supervisor |
|
|
20
|
+
|------------|-----------|
|
|
21
|
+
| planejador, roteirista | planning-supervisor |
|
|
22
|
+
| executor, frontend/backend/database-specialist | execution-supervisor |
|
|
23
|
+
| verificador, blind-validator | verification-supervisor |
|
|
24
|
+
| visual-critic, exhaustive-tester, api-tester, qa-agent | quality-supervisor |
|
|
25
|
+
| auditor-ux/perf/modernidade, security-reviewer, sintetizador-melhorias | audit-supervisor |
|
|
26
|
+
| product-analyst, pesquisadores, mapeador-codigo | product-supervisor |
|
|
27
|
+
| arquiteto, system-designer, requirements-validator | architecture-supervisor |
|
|
28
|
+
| devops-agent, technical-writer | operations-supervisor |
|
|
29
|
+
|
|
30
|
+
Spawnar o supervisor:
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
Agent(
|
|
34
|
+
subagent_type="up-{supervisor_name}",
|
|
35
|
+
model="opus",
|
|
36
|
+
prompt="""
|
|
37
|
+
Revisar output de {operacional_name} para {context}.
|
|
38
|
+
|
|
39
|
+
<files_to_read>
|
|
40
|
+
- $HOME/.claude/up/references/governance-rules.md
|
|
41
|
+
- $HOME/.claude/up/references/rework-limits.md
|
|
42
|
+
- [arquivos do output do operacional]
|
|
43
|
+
- [arquivos de contexto]
|
|
44
|
+
</files_to_read>
|
|
45
|
+
|
|
46
|
+
Avaliar contra criterios objetivos.
|
|
47
|
+
Retornar: APPROVE | REQUEST_CHANGES | ESCALATE
|
|
48
|
+
"""
|
|
49
|
+
)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Passo 3: Processar decisao do supervisor
|
|
53
|
+
|
|
54
|
+
**Se APPROVE:**
|
|
55
|
+
- Marcar item como completed no CHECKLIST
|
|
56
|
+
- Logar em governance/approvals.log
|
|
57
|
+
- Prosseguir pro proximo passo do pipeline
|
|
58
|
+
|
|
59
|
+
**Se REQUEST_CHANGES:**
|
|
60
|
+
- Incrementar rework_cycle do item
|
|
61
|
+
- Se cycle < 3: re-spawnar operacional com review como contexto
|
|
62
|
+
- Se cycle = 3: FORCA aprovacao com debito tecnico, registrar e prosseguir
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
# Re-spawn do operacional
|
|
66
|
+
Agent(
|
|
67
|
+
subagent_type="up-{operacional_name}",
|
|
68
|
+
model="{modelo correto}",
|
|
69
|
+
prompt="""
|
|
70
|
+
REWORK — Ciclo {N}/3
|
|
71
|
+
|
|
72
|
+
Seu output anterior foi revisado e precisa de mudancas.
|
|
73
|
+
|
|
74
|
+
Review: .plano/{path_do_review}
|
|
75
|
+
|
|
76
|
+
Mudancas requeridas:
|
|
77
|
+
{lista_de_mudancas}
|
|
78
|
+
|
|
79
|
+
Refaca seu trabalho atendendo os criterios.
|
|
80
|
+
"""
|
|
81
|
+
)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Se ESCALATE:**
|
|
85
|
+
- Supervisor nao consegue resolver, passa pro chief
|
|
86
|
+
- Spawnar chief correspondente
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
Agent(
|
|
90
|
+
subagent_type="up-chief-{area}",
|
|
91
|
+
model="opus",
|
|
92
|
+
prompt="""
|
|
93
|
+
Escalation recebida do {supervisor_name}.
|
|
94
|
+
|
|
95
|
+
Problema: {problema}
|
|
96
|
+
Contexto: {files_to_read}
|
|
97
|
+
|
|
98
|
+
Decidir: APPROVE | REQUEST_CHANGES | ESCALATE_CEO
|
|
99
|
+
"""
|
|
100
|
+
)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Loop de Governanca (Nivel Chief)
|
|
104
|
+
|
|
105
|
+
### Quando chief age
|
|
106
|
+
|
|
107
|
+
Chief age em 2 situacoes:
|
|
108
|
+
|
|
109
|
+
1. **Escalacao do supervisor** — problema que supervisor nao resolveu
|
|
110
|
+
2. **Aprovacao consolidada** — revisao periodica do trabalho de uma area inteira
|
|
111
|
+
|
|
112
|
+
### Ciclos de Rework (Chief ← Supervisor)
|
|
113
|
+
|
|
114
|
+
Max 2 ciclos:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
Ciclo 1: Chief pede rework → Supervisor coordena com operacional
|
|
118
|
+
Ciclo 2: Chief re-revisa → APPROVE ou ESCALATE_CEO
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Loop de Governanca (Nivel CEO)
|
|
122
|
+
|
|
123
|
+
### Quando CEO age
|
|
124
|
+
|
|
125
|
+
1. **Escalacao do chief** — problema que chief nao resolveu
|
|
126
|
+
2. **Pre-delivery** — auditoria final antes de entregar
|
|
127
|
+
3. **Decisao estrategica** — briefing ambiguo, trade-off grande
|
|
128
|
+
|
|
129
|
+
### Ciclos (CEO ← Chief)
|
|
130
|
+
|
|
131
|
+
Max 1 ciclo:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
Ciclo 1: CEO pede rework → Chief coordena com supervisores
|
|
135
|
+
Apos isso: CEO decide APPROVE ou ALERTA_DONO
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Se CEO decide ALERTA_DONO
|
|
139
|
+
|
|
140
|
+
CEO usa severidade apropriada:
|
|
141
|
+
- 🔴 Critico: sempre interrompe via AskUserQuestion
|
|
142
|
+
- 🟡 Importante: interrompe se --interactive
|
|
143
|
+
- 🟢 FYI: apenas registra
|
|
144
|
+
|
|
145
|
+
## Forced Approval (Debito Tecnico)
|
|
146
|
+
|
|
147
|
+
Quando max ciclos atingido sem melhoria:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Registrar
|
|
151
|
+
cat >> .plano/governance/technical-debt.log <<EOF
|
|
152
|
+
$(date -u +%Y-%m-%dT%H:%M:%SZ) | {item-id} | {supervisor} | FORCED_APPROVAL
|
|
153
|
+
Reason: Max rework cycles ({N}) reached without improvement
|
|
154
|
+
Remaining issues: [lista]
|
|
155
|
+
EOF
|
|
156
|
+
|
|
157
|
+
# Atualizar checklist
|
|
158
|
+
node "$HOME/.claude/up/bin/up-tools.cjs" checklist update \
|
|
159
|
+
--item "{item-id}" \
|
|
160
|
+
--status "completed_with_debt"
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Items com `completed_with_debt` aparecem no AUDIT-REPORT.md como ressalva.
|
|
164
|
+
|
|
165
|
+
## Aplicacao em Cada Comando UP
|
|
166
|
+
|
|
167
|
+
### /up:modo-builder (Full)
|
|
168
|
+
- Governanca COMPLETA em todos estagios
|
|
169
|
+
- CEO conduz intake e delivery
|
|
170
|
+
- Supervisores em cada passo
|
|
171
|
+
- Chiefs consolidam
|
|
172
|
+
- CEO aprova antes do delivery
|
|
173
|
+
|
|
174
|
+
### /up:modo-builder --light
|
|
175
|
+
- Governanca LIGHT
|
|
176
|
+
- Supervisores ainda ativos (criticos)
|
|
177
|
+
- Chiefs pulados
|
|
178
|
+
- CEO so no intake e delivery
|
|
179
|
+
- Max rework: 1 ciclo
|
|
180
|
+
|
|
181
|
+
### /up:rapido
|
|
182
|
+
- Governanca MINIMAL
|
|
183
|
+
- Apenas supervisor do operacional
|
|
184
|
+
- Sem chief, sem CEO
|
|
185
|
+
- Max rework: 1 ciclo
|
|
186
|
+
|
|
187
|
+
### /up:planejar-fase
|
|
188
|
+
- planning-supervisor ativo
|
|
189
|
+
- Sem chief
|
|
190
|
+
- Sem CEO
|
|
191
|
+
|
|
192
|
+
### /up:executar-fase
|
|
193
|
+
- execution-supervisor ativo
|
|
194
|
+
- chief-engineer no final da fase
|
|
195
|
+
- Sem CEO
|
|
196
|
+
|
|
197
|
+
### /up:testar
|
|
198
|
+
- quality-supervisor ativo
|
|
199
|
+
- chief-quality no final
|
|
200
|
+
- Sem CEO
|
|
201
|
+
|
|
202
|
+
### /up:melhorias
|
|
203
|
+
- audit-supervisor ativo
|
|
204
|
+
- chief-quality no final
|
|
205
|
+
|
|
206
|
+
### /up:verificar-trabalho
|
|
207
|
+
- verification-supervisor ativo
|
|
208
|
+
- Sem chief (UAT humano ja e autoritativo)
|
|
209
|
+
|
|
210
|
+
## Flag Global: --no-supervision
|
|
211
|
+
|
|
212
|
+
Para casos emergenciais onde voce precisa bypassar governanca:
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
/up:modo-builder "feature urgente" --no-supervision
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Efeito:
|
|
219
|
+
- Supervisores nao rodam
|
|
220
|
+
- Nenhum rework
|
|
221
|
+
- Trabalho direto pro proximo estagio
|
|
222
|
+
- **Tudo registrado como SKIPPED_SUPERVISION no delivery**
|
|
223
|
+
|
|
224
|
+
Use APENAS em emergencia. Governanca existe por um motivo.
|
|
225
|
+
|
|
226
|
+
</process>
|
|
227
|
+
|
|
228
|
+
<success_criteria>
|
|
229
|
+
- [ ] Supervisor correspondente identificado
|
|
230
|
+
- [ ] Supervisor spawnado com contexto correto
|
|
231
|
+
- [ ] Decisao processada
|
|
232
|
+
- [ ] Rework cycles respeitados
|
|
233
|
+
- [ ] Escalacoes corretas
|
|
234
|
+
- [ ] Forced approval com debito tecnico registrado
|
|
235
|
+
- [ ] Checklist atualizado em cada passo
|
|
236
|
+
- [ ] Governance logs mantidos
|
|
237
|
+
</success_criteria>
|