up-cc 0.1.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-depurador.md +357 -0
- package/agents/up-executor.md +409 -0
- package/agents/up-pesquisador-projeto.md +358 -0
- package/agents/up-planejador.md +390 -0
- package/agents/up-roteirista.md +401 -0
- package/agents/up-sintetizador.md +232 -0
- package/agents/up-verificador.md +357 -0
- package/bin/install.js +709 -0
- package/bin/lib/core.cjs +270 -0
- package/bin/up-tools.cjs +1361 -0
- package/commands/adicionar-fase.md +33 -0
- package/commands/ajuda.md +131 -0
- package/commands/discutir-fase.md +35 -0
- package/commands/executar-fase.md +40 -0
- package/commands/novo-projeto.md +39 -0
- package/commands/pausar.md +33 -0
- package/commands/planejar-fase.md +43 -0
- package/commands/progresso.md +33 -0
- package/commands/rapido.md +40 -0
- package/commands/remover-fase.md +34 -0
- package/commands/retomar.md +35 -0
- package/commands/verificar-trabalho.md +35 -0
- package/package.json +32 -0
- package/references/checkpoints.md +358 -0
- package/references/git-integration.md +208 -0
- package/references/questioning.md +156 -0
- package/references/ui-brand.md +124 -0
- package/templates/config.json +6 -0
- package/templates/continue-here.md +78 -0
- package/templates/project.md +184 -0
- package/templates/requirements.md +129 -0
- package/templates/roadmap.md +131 -0
- package/templates/state.md +130 -0
- package/templates/summary.md +174 -0
- package/workflows/discutir-fase.md +324 -0
- package/workflows/executar-fase.md +277 -0
- package/workflows/executar-plano.md +192 -0
- package/workflows/novo-projeto.md +561 -0
- package/workflows/pausar.md +111 -0
- package/workflows/planejar-fase.md +208 -0
- package/workflows/progresso.md +226 -0
- package/workflows/rapido.md +209 -0
- package/workflows/retomar.md +231 -0
- package/workflows/verificar-trabalho.md +261 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
<trigger>
|
|
2
|
+
Use este workflow quando:
|
|
3
|
+
- Iniciando nova sessao em projeto existente
|
|
4
|
+
- Usuario diz "continuar", "o que vem", "onde paramos", "retomar"
|
|
5
|
+
- Qualquer operacao de planejamento quando .plano/ ja existe
|
|
6
|
+
- Usuario retorna apos tempo longe do projeto
|
|
7
|
+
</trigger>
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Restaurar instantaneamente contexto completo do projeto para que "Onde paramos?" tenha resposta imediata e completa.
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<process>
|
|
14
|
+
|
|
15
|
+
<step name="initialize">
|
|
16
|
+
Carregar contexto:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init resume)
|
|
20
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Parse JSON: `state_exists`, `roadmap_exists`, `project_exists`, `planning_exists`, `commit_docs`.
|
|
24
|
+
|
|
25
|
+
**Se `state_exists` = true:** Prosseguir para load_state
|
|
26
|
+
**Se `state_exists` = false mas `roadmap_exists` ou `project_exists` = true:** Oferecer reconstruir STATE.md
|
|
27
|
+
**Se `planning_exists` = false:** Projeto novo - rotear para /up:novo-projeto
|
|
28
|
+
</step>
|
|
29
|
+
|
|
30
|
+
<step name="load_state">
|
|
31
|
+
|
|
32
|
+
Ler e parsear STATE.md, depois PROJECT.md:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cat .plano/STATE.md
|
|
36
|
+
cat .plano/PROJECT.md
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Do STATE.md extrair:**
|
|
40
|
+
|
|
41
|
+
- **Referencia do Projeto**: Valor central e foco atual
|
|
42
|
+
- **Posicao Atual**: Fase X de Y, Plano A de B, Status
|
|
43
|
+
- **Progresso**: Barra de progresso visual
|
|
44
|
+
- **Decisoes Recentes**: Decisoes-chave afetando trabalho atual
|
|
45
|
+
- **Bloqueios/Preocupacoes**: Problemas herdados
|
|
46
|
+
- **Continuidade de Sessao**: Onde paramos, arquivos de retomada
|
|
47
|
+
|
|
48
|
+
**Do PROJECT.md extrair:**
|
|
49
|
+
|
|
50
|
+
- **O que e Isso**: Descricao atual precisa
|
|
51
|
+
- **Requisitos**: Validados, Ativos, Fora do Escopo
|
|
52
|
+
- **Decisoes-Chave**: Log completo de decisoes
|
|
53
|
+
</step>
|
|
54
|
+
|
|
55
|
+
<step name="check_incomplete_work">
|
|
56
|
+
Procurar trabalho incompleto que precisa atencao:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Verificar arquivos continue-aqui (retomada mid-plano)
|
|
60
|
+
ls .plano/fases/*/.continue-aqui.md 2>/dev/null
|
|
61
|
+
|
|
62
|
+
# Verificar planos sem summaries (execucao incompleta)
|
|
63
|
+
for plan in .plano/fases/*/*-PLAN.md; do
|
|
64
|
+
summary="${plan/PLAN/SUMMARY}"
|
|
65
|
+
[ ! -f "$summary" ] && echo "Incompleto: $plan"
|
|
66
|
+
done 2>/dev/null
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Se arquivo .continue-aqui existe:**
|
|
70
|
+
- Este e um ponto de retomada mid-plano
|
|
71
|
+
- Ler arquivo para contexto especifico de retomada
|
|
72
|
+
- Flag: "Encontrado checkpoint mid-plano"
|
|
73
|
+
|
|
74
|
+
**Se PLAN sem SUMMARY existe:**
|
|
75
|
+
- Execucao foi iniciada mas nao completada
|
|
76
|
+
- Flag: "Encontrada execucao de plano incompleta"
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step name="present_status">
|
|
80
|
+
Apresentar status completo do projeto:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
==============================================================
|
|
84
|
+
STATUS DO PROJETO
|
|
85
|
+
==============================================================
|
|
86
|
+
Construindo: [one-liner do PROJECT.md "O que e Isso"]
|
|
87
|
+
|
|
88
|
+
Fase: [X] de [Y] - [Nome da fase]
|
|
89
|
+
Plano: [A] de [B] - [Status]
|
|
90
|
+
Progresso: [##########----------] XX%
|
|
91
|
+
|
|
92
|
+
Ultima atividade: [data] - [o que aconteceu]
|
|
93
|
+
==============================================================
|
|
94
|
+
|
|
95
|
+
[Se trabalho incompleto encontrado:]
|
|
96
|
+
Trabalho incompleto detectado:
|
|
97
|
+
- [arquivo .continue-aqui ou plano incompleto]
|
|
98
|
+
|
|
99
|
+
[Se bloqueios existem:]
|
|
100
|
+
Preocupacoes herdadas:
|
|
101
|
+
- [bloqueio 1]
|
|
102
|
+
- [bloqueio 2]
|
|
103
|
+
```
|
|
104
|
+
</step>
|
|
105
|
+
|
|
106
|
+
<step name="determine_next_action">
|
|
107
|
+
Baseado no estado do projeto, determinar acao mais logica:
|
|
108
|
+
|
|
109
|
+
**Se arquivo .continue-aqui existe:**
|
|
110
|
+
-> Primaria: Retomar do checkpoint
|
|
111
|
+
-> Opcao: Comecar limpo no plano atual
|
|
112
|
+
|
|
113
|
+
**Se plano incompleto (PLAN sem SUMMARY):**
|
|
114
|
+
-> Primaria: Completar plano incompleto
|
|
115
|
+
-> Opcao: Abandonar e seguir em frente
|
|
116
|
+
|
|
117
|
+
**Se fase em progresso, todos planos completos:**
|
|
118
|
+
-> Primaria: Transicionar para proxima fase
|
|
119
|
+
|
|
120
|
+
**Se fase pronta para planejar:**
|
|
121
|
+
-> Verificar se CONTEXT.md existe:
|
|
122
|
+
- Se CONTEXT.md faltando: Primaria = discutir fase
|
|
123
|
+
- Se CONTEXT.md existe: Primaria = planejar fase
|
|
124
|
+
|
|
125
|
+
**Se fase pronta para executar:**
|
|
126
|
+
-> Primaria: Executar proximo plano
|
|
127
|
+
</step>
|
|
128
|
+
|
|
129
|
+
<step name="offer_options">
|
|
130
|
+
Apresentar opcoes contextuais baseadas no estado:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
O que voce gostaria de fazer?
|
|
134
|
+
|
|
135
|
+
[Acao primaria baseada no estado - ex:]
|
|
136
|
+
1. Executar fase (/up:executar-fase {fase})
|
|
137
|
+
OU
|
|
138
|
+
1. Discutir contexto da Fase 3 (/up:discutir-fase 3)
|
|
139
|
+
OU
|
|
140
|
+
1. Planejar Fase 3 (/up:planejar-fase 3)
|
|
141
|
+
|
|
142
|
+
[Opcoes secundarias:]
|
|
143
|
+
2. Revisar status da fase atual
|
|
144
|
+
3. Algo diferente
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Esperar selecao do usuario.
|
|
148
|
+
</step>
|
|
149
|
+
|
|
150
|
+
<step name="route_to_workflow">
|
|
151
|
+
Baseado na selecao do usuario, rotear para workflow apropriado:
|
|
152
|
+
|
|
153
|
+
- **Executar plano** -> Mostrar comando:
|
|
154
|
+
```
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Proximo
|
|
158
|
+
|
|
159
|
+
**{fase}-{plano}: [Nome do Plano]** -- [objetivo]
|
|
160
|
+
|
|
161
|
+
`/up:executar-fase {fase}`
|
|
162
|
+
|
|
163
|
+
<sub>`/clear` primeiro -> janela de contexto limpa</sub>
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
```
|
|
167
|
+
- **Planejar fase** -> Mostrar comando:
|
|
168
|
+
```
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Proximo
|
|
172
|
+
|
|
173
|
+
**Fase [N]: [Nome]** -- [Objetivo do ROADMAP.md]
|
|
174
|
+
|
|
175
|
+
`/up:planejar-fase [numero-fase]`
|
|
176
|
+
|
|
177
|
+
<sub>`/clear` primeiro -> janela de contexto limpa</sub>
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
**Tambem disponivel:**
|
|
182
|
+
- `/up:discutir-fase [N]` -- reunir contexto primeiro
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
```
|
|
186
|
+
</step>
|
|
187
|
+
|
|
188
|
+
<step name="update_session">
|
|
189
|
+
Antes de prosseguir, atualizar continuidade de sessao no STATE.md:
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
## Continuidade de Sessao
|
|
193
|
+
|
|
194
|
+
Ultima sessao: [agora]
|
|
195
|
+
Parado em: Sessao retomada, prosseguindo para [acao]
|
|
196
|
+
Arquivo de retomada: [atualizado se aplicavel]
|
|
197
|
+
```
|
|
198
|
+
</step>
|
|
199
|
+
|
|
200
|
+
</process>
|
|
201
|
+
|
|
202
|
+
<reconstruction>
|
|
203
|
+
Se STATE.md faltando mas outros artefatos existem:
|
|
204
|
+
|
|
205
|
+
"STATE.md faltando. Reconstruindo a partir de artefatos..."
|
|
206
|
+
|
|
207
|
+
1. Ler PROJECT.md -> Extrair "O que e Isso" e Valor Central
|
|
208
|
+
2. Ler ROADMAP.md -> Determinar fases, encontrar posicao atual
|
|
209
|
+
3. Escanear *-SUMMARY.md -> Extrair decisoes, preocupacoes
|
|
210
|
+
4. Verificar arquivos .continue-aqui -> Continuidade de sessao
|
|
211
|
+
|
|
212
|
+
Reconstruir e escrever STATE.md, depois prosseguir normalmente.
|
|
213
|
+
</reconstruction>
|
|
214
|
+
|
|
215
|
+
<quick_resume>
|
|
216
|
+
Se usuario diz "continuar" ou "vai":
|
|
217
|
+
- Carregar estado silenciosamente
|
|
218
|
+
- Determinar acao primaria
|
|
219
|
+
- Executar imediatamente sem apresentar opcoes
|
|
220
|
+
|
|
221
|
+
"Continuando de [estado]... [acao]"
|
|
222
|
+
</quick_resume>
|
|
223
|
+
|
|
224
|
+
<success_criteria>
|
|
225
|
+
- [ ] STATE.md carregado (ou reconstruido)
|
|
226
|
+
- [ ] Trabalho incompleto detectado e sinalizado
|
|
227
|
+
- [ ] Status claro apresentado ao usuario
|
|
228
|
+
- [ ] Proximas acoes contextuais oferecidas
|
|
229
|
+
- [ ] Usuario sabe exatamente onde projeto esta
|
|
230
|
+
- [ ] Continuidade de sessao atualizada
|
|
231
|
+
</success_criteria>
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Validar features construidas atraves de teste conversacional com estado persistente. Cria UAT.md que rastreia progresso de teste, sobrevive /clear, e alimenta lacunas em /up:planejar-fase --gaps.
|
|
3
|
+
|
|
4
|
+
Usuario testa, Claude registra. Um teste por vez. Respostas em texto simples.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<philosophy>
|
|
8
|
+
**Mostrar esperado, perguntar se realidade corresponde.**
|
|
9
|
+
|
|
10
|
+
Claude apresenta o que DEVERIA acontecer. Usuario confirma ou descreve o que esta diferente.
|
|
11
|
+
- "sim" / "s" / "proximo" / vazio -> passou
|
|
12
|
+
- Qualquer outra coisa -> registrado como problema, severidade inferida
|
|
13
|
+
</philosophy>
|
|
14
|
+
|
|
15
|
+
<process>
|
|
16
|
+
|
|
17
|
+
<step name="initialize" priority="first">
|
|
18
|
+
Se $ARGUMENTS contem numero de fase, carregar contexto:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init verify-work "${PHASE_ARG}")
|
|
22
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Parse JSON: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `has_verification`.
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="check_active_session">
|
|
29
|
+
**Verificar sessoes UAT ativas**
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
find .plano/fases -name "*-UAT.md" -type f 2>/dev/null | head -5
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Se sessoes ativas existem E sem $ARGUMENTS:**
|
|
36
|
+
|
|
37
|
+
Ler frontmatter de cada arquivo e secao Current Test.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
## Sessoes UAT Ativas
|
|
41
|
+
|
|
42
|
+
| # | Fase | Status | Teste Atual | Progresso |
|
|
43
|
+
|---|------|--------|-------------|-----------|
|
|
44
|
+
| 1 | 04-comentarios | testando | 3. Responder Comentario | 2/6 |
|
|
45
|
+
|
|
46
|
+
Responda com um numero para retomar, ou forneca numero de fase para iniciar nova.
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Se sem sessoes ativas E sem $ARGUMENTS:**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Sem sessoes UAT ativas.
|
|
53
|
+
|
|
54
|
+
Forneca numero de fase para iniciar teste (ex: /up:verificar-trabalho 4)
|
|
55
|
+
```
|
|
56
|
+
</step>
|
|
57
|
+
|
|
58
|
+
<step name="find_summaries">
|
|
59
|
+
**Encontrar o que testar:**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
ls "$phase_dir"/*-SUMMARY.md 2>/dev/null
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Ler cada SUMMARY.md para extrair entregaveis testaveis.
|
|
66
|
+
</step>
|
|
67
|
+
|
|
68
|
+
<step name="extract_tests">
|
|
69
|
+
**Extrair entregaveis testaveis do SUMMARY.md:**
|
|
70
|
+
|
|
71
|
+
Focar em resultados OBSERVAVEIS PELO USUARIO, nao detalhes de implementacao.
|
|
72
|
+
|
|
73
|
+
Para cada entregavel, criar teste:
|
|
74
|
+
- name: Nome breve do teste
|
|
75
|
+
- expected: O que usuario deveria ver/experimentar (especifico, observavel)
|
|
76
|
+
</step>
|
|
77
|
+
|
|
78
|
+
<step name="create_uat_file">
|
|
79
|
+
**Criar arquivo UAT com todos testes:**
|
|
80
|
+
|
|
81
|
+
Criar arquivo em `.plano/fases/XX-nome/{fase_num}-UAT.md`
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
---
|
|
85
|
+
status: testing
|
|
86
|
+
phase: XX-nome
|
|
87
|
+
source: [lista de SUMMARY.md]
|
|
88
|
+
started: [timestamp ISO]
|
|
89
|
+
updated: [timestamp ISO]
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Teste Atual
|
|
93
|
+
<!-- SOBRESCREVER cada teste - mostra onde estamos -->
|
|
94
|
+
|
|
95
|
+
number: 1
|
|
96
|
+
name: [nome do primeiro teste]
|
|
97
|
+
expected: |
|
|
98
|
+
[o que usuario deve observar]
|
|
99
|
+
awaiting: resposta do usuario
|
|
100
|
+
|
|
101
|
+
## Testes
|
|
102
|
+
|
|
103
|
+
### 1. [Nome do Teste]
|
|
104
|
+
expected: [comportamento observavel]
|
|
105
|
+
result: [pendente]
|
|
106
|
+
|
|
107
|
+
### 2. [Nome do Teste]
|
|
108
|
+
expected: [comportamento observavel]
|
|
109
|
+
result: [pendente]
|
|
110
|
+
|
|
111
|
+
## Resumo
|
|
112
|
+
|
|
113
|
+
total: [N]
|
|
114
|
+
passed: 0
|
|
115
|
+
issues: 0
|
|
116
|
+
pending: [N]
|
|
117
|
+
skipped: 0
|
|
118
|
+
|
|
119
|
+
## Lacunas
|
|
120
|
+
|
|
121
|
+
[nenhuma ainda]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Prosseguir para `present_test`.
|
|
125
|
+
</step>
|
|
126
|
+
|
|
127
|
+
<step name="present_test">
|
|
128
|
+
**Apresentar teste atual ao usuario:**
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
==============================================================
|
|
132
|
+
CHECKPOINT: Verificacao Necessaria
|
|
133
|
+
==============================================================
|
|
134
|
+
|
|
135
|
+
**Teste {number}: {name}**
|
|
136
|
+
|
|
137
|
+
{expected}
|
|
138
|
+
|
|
139
|
+
--------------------------------------------------------------
|
|
140
|
+
-> Digite "passou" ou descreva o que esta errado
|
|
141
|
+
--------------------------------------------------------------
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Esperar resposta do usuario (texto simples, sem AskUserQuestion).
|
|
145
|
+
</step>
|
|
146
|
+
|
|
147
|
+
<step name="process_response">
|
|
148
|
+
**Processar resposta do usuario e atualizar arquivo:**
|
|
149
|
+
|
|
150
|
+
**Se resposta indica passou:**
|
|
151
|
+
- Resposta vazia, "sim", "s", "ok", "passou", "proximo", "aprovado"
|
|
152
|
+
|
|
153
|
+
**Se resposta indica pular:**
|
|
154
|
+
- "pular", "nao posso testar", "n/a"
|
|
155
|
+
|
|
156
|
+
**Se resposta e qualquer outra coisa:**
|
|
157
|
+
- Tratar como descricao de problema
|
|
158
|
+
|
|
159
|
+
Inferir severidade da descricao:
|
|
160
|
+
- Contem: crash, erro, excecao, falha, quebrado, inutilizavel -> bloqueante
|
|
161
|
+
- Contem: nao funciona, errado, faltando, nao consigo -> grave
|
|
162
|
+
- Contem: lento, estranho, menor, pequeno -> menor
|
|
163
|
+
- Contem: cor, fonte, espacamento, alinhamento, visual -> cosmetico
|
|
164
|
+
- Padrao se incerto: grave
|
|
165
|
+
|
|
166
|
+
**Nunca pergunte "quao severo e isso?"** - apenas infira e siga em frente.
|
|
167
|
+
|
|
168
|
+
Apos qualquer resposta: Atualizar contagens do Resumo. Atualizar timestamp.
|
|
169
|
+
|
|
170
|
+
Se mais testes restam -> Atualizar Teste Atual, ir para `present_test`
|
|
171
|
+
Se sem mais testes -> Ir para `complete_session`
|
|
172
|
+
</step>
|
|
173
|
+
|
|
174
|
+
<step name="resume_from_file">
|
|
175
|
+
**Retomar teste do arquivo UAT:**
|
|
176
|
+
|
|
177
|
+
Ler arquivo UAT completo. Encontrar primeiro teste com `result: [pendente]`.
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Retomando: Fase {fase} UAT
|
|
181
|
+
Progresso: {passed + issues + skipped}/{total}
|
|
182
|
+
Problemas encontrados ate agora: {contagem}
|
|
183
|
+
|
|
184
|
+
Continuando do Teste {N}...
|
|
185
|
+
```
|
|
186
|
+
</step>
|
|
187
|
+
|
|
188
|
+
<step name="complete_session">
|
|
189
|
+
**Completar teste e commitar:**
|
|
190
|
+
|
|
191
|
+
Atualizar frontmatter:
|
|
192
|
+
- status: complete
|
|
193
|
+
- updated: [agora]
|
|
194
|
+
|
|
195
|
+
Commitar arquivo UAT:
|
|
196
|
+
```bash
|
|
197
|
+
node "$HOME/.claude/up/bin/up-tools.cjs" commit "test({fase_num}): completar UAT - {passed} passaram, {issues} problemas" --files ".plano/fases/XX-nome/{fase_num}-UAT.md"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Apresentar resumo:
|
|
201
|
+
```
|
|
202
|
+
## UAT Completo: Fase {fase}
|
|
203
|
+
|
|
204
|
+
| Resultado | Contagem |
|
|
205
|
+
|-----------|----------|
|
|
206
|
+
| Passou | {N} |
|
|
207
|
+
| Problemas | {N} |
|
|
208
|
+
| Pulados | {N} |
|
|
209
|
+
|
|
210
|
+
[Se problemas > 0:]
|
|
211
|
+
### Problemas Encontrados
|
|
212
|
+
[Lista da secao Lacunas]
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Se problemas > 0:**
|
|
216
|
+
```
|
|
217
|
+
{N} problemas encontrados.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Proximo
|
|
222
|
+
|
|
223
|
+
**Planejar correcoes** -- criar planos para resolver lacunas
|
|
224
|
+
|
|
225
|
+
`/up:planejar-fase {fase} --gaps`
|
|
226
|
+
|
|
227
|
+
<sub>`/clear` primeiro -> janela de contexto limpa</sub>
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**Se problemas == 0:**
|
|
233
|
+
```
|
|
234
|
+
Todos testes passaram. Pronto para continuar.
|
|
235
|
+
|
|
236
|
+
- `/up:planejar-fase {proxima}` -- Planejar proxima fase
|
|
237
|
+
- `/up:executar-fase {proxima}` -- Executar proxima fase
|
|
238
|
+
```
|
|
239
|
+
</step>
|
|
240
|
+
|
|
241
|
+
</process>
|
|
242
|
+
|
|
243
|
+
<severity_inference>
|
|
244
|
+
**Inferir severidade da linguagem natural do usuario:**
|
|
245
|
+
|
|
246
|
+
| Usuario diz | Inferir |
|
|
247
|
+
|-------------|---------|
|
|
248
|
+
| "crasha", "erro", "excecao", "falha completa" | bloqueante |
|
|
249
|
+
| "nao funciona", "nada acontece", "comportamento errado" | grave |
|
|
250
|
+
| "funciona mas...", "lento", "estranho", "problema menor" | menor |
|
|
251
|
+
| "cor", "espacamento", "alinhamento", "parece errado" | cosmetico |
|
|
252
|
+
</severity_inference>
|
|
253
|
+
|
|
254
|
+
<success_criteria>
|
|
255
|
+
- [ ] Arquivo UAT criado com todos testes do SUMMARY.md
|
|
256
|
+
- [ ] Testes apresentados um por vez com comportamento esperado
|
|
257
|
+
- [ ] Respostas do usuario processadas como passou/problema/pulou
|
|
258
|
+
- [ ] Severidade inferida da descricao (nunca perguntada)
|
|
259
|
+
- [ ] Committed na conclusao
|
|
260
|
+
- [ ] Se problemas: pronto para `/up:planejar-fase --gaps`
|
|
261
|
+
</success_criteria>
|