oxe-cc 0.3.9 → 0.6.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/.cursor/commands/oxe-execute.md +2 -2
- package/.cursor/commands/oxe-loop.md +11 -0
- package/.cursor/commands/oxe-milestone.md +11 -0
- package/.cursor/commands/oxe-obs.md +11 -0
- package/.cursor/commands/oxe-project.md +11 -0
- package/.cursor/commands/oxe-quick.md +2 -2
- package/.cursor/commands/oxe-security.md +11 -0
- package/.cursor/commands/oxe-spec.md +2 -2
- package/.cursor/commands/oxe-workstream.md +11 -0
- package/.cursor/commands/oxe.md +9 -0
- package/.github/prompts/oxe-execute.prompt.md +12 -12
- package/.github/prompts/oxe-loop.prompt.md +12 -0
- package/.github/prompts/oxe-milestone.prompt.md +12 -0
- package/.github/prompts/oxe-obs.prompt.md +12 -0
- package/.github/prompts/oxe-project.prompt.md +12 -0
- package/.github/prompts/oxe-quick.prompt.md +12 -12
- package/.github/prompts/oxe-security.prompt.md +12 -0
- package/.github/prompts/oxe-spec.prompt.md +2 -2
- package/.github/prompts/oxe-workstream.prompt.md +12 -0
- package/.github/prompts/oxe.prompt.md +12 -0
- package/README.md +287 -544
- package/bin/banner.txt +1 -1
- package/bin/lib/oxe-plugins.cjs +226 -0
- package/bin/lib/oxe-project-health.cjs +97 -1
- package/bin/lib/oxe-security.cjs +225 -0
- package/bin/oxe-cc.js +30 -1
- package/commands/oxe/execute.md +16 -16
- package/commands/oxe/loop.md +17 -0
- package/commands/oxe/milestone.md +16 -0
- package/commands/oxe/obs.md +16 -0
- package/commands/oxe/oxe.md +16 -0
- package/commands/oxe/project.md +16 -0
- package/commands/oxe/quick.md +16 -16
- package/commands/oxe/security.md +16 -0
- package/commands/oxe/spec.md +2 -2
- package/commands/oxe/workstream.md +16 -0
- package/lib/sdk/index.cjs +284 -0
- package/lib/sdk/index.d.ts +148 -1
- package/oxe/personas/README.md +39 -0
- package/oxe/personas/architect.md +37 -0
- package/oxe/personas/db-specialist.md +36 -0
- package/oxe/personas/debugger.md +38 -0
- package/oxe/personas/executor.md +38 -0
- package/oxe/personas/planner.md +36 -0
- package/oxe/personas/researcher.md +35 -0
- package/oxe/personas/ui-specialist.md +36 -0
- package/oxe/personas/verifier.md +39 -0
- package/oxe/templates/CONFIG.md +54 -4
- package/oxe/templates/DISCUSS.template.md +44 -0
- package/oxe/templates/MEMORY.template.md +49 -0
- package/oxe/templates/MILESTONES.template.md +17 -0
- package/oxe/templates/OBSERVATIONS.template.md +18 -0
- package/oxe/templates/PLUGINS.md +101 -0
- package/oxe/templates/ROADMAP.template.md +44 -0
- package/oxe/templates/SECURITY.template.md +72 -0
- package/oxe/templates/STATE.md +29 -2
- package/oxe/templates/config.template.json +5 -0
- package/oxe/templates/plan-agents.template.json +3 -2
- package/oxe/templates/quick-agents.template.json +24 -0
- package/oxe/workflows/discuss.md +48 -5
- package/oxe/workflows/execute.md +133 -28
- package/oxe/workflows/help.md +105 -24
- package/oxe/workflows/loop.md +57 -0
- package/oxe/workflows/milestone.md +96 -0
- package/oxe/workflows/obs.md +95 -0
- package/oxe/workflows/oxe.md +115 -0
- package/oxe/workflows/plan-agent.md +50 -3
- package/oxe/workflows/plan.md +7 -2
- package/oxe/workflows/project.md +50 -0
- package/oxe/workflows/quick.md +120 -10
- package/oxe/workflows/research.md +16 -0
- package/oxe/workflows/scan.md +23 -1
- package/oxe/workflows/security.md +61 -0
- package/oxe/workflows/spec.md +172 -23
- package/oxe/workflows/verify.md +80 -18
- package/oxe/workflows/workstream.md +96 -0
- package/package.json +3 -2
package/oxe/workflows/execute.md
CHANGED
|
@@ -1,47 +1,152 @@
|
|
|
1
1
|
# OXE — Workflow: execute
|
|
2
2
|
|
|
3
3
|
<objective>
|
|
4
|
-
Guiar a **implementação
|
|
4
|
+
Guiar a **implementação** de um plano OXE com dois modos possíveis:
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
**Modo Solo (padrão):** seguir `.oxe/PLAN.md` onda a onda sem `plan-agents.json`. O agente implementa diretamente cada tarefa Tn da onda atual, roda a verificação e avança. Não exige nenhum artefato além do PLAN.md.
|
|
7
|
+
|
|
8
|
+
**Modo com Agentes (extensão):** quando existe `.oxe/plan-agents.json` válido (schema 2, lifecycle ativo, runId alinhado ao STATE), adotar roles e personas por agente conforme o blueprint.
|
|
9
|
+
|
|
10
|
+
**Seleção de execução (redução de requisições):** quando o plano tem 2+ ondas, o usuário escolhe entre Completo (1 sessão), Por onda (N sessões) ou Por tarefa (N tarefas). A escolha é feita **uma vez** no início.
|
|
11
|
+
|
|
12
|
+
Se existir apenas **`.oxe/QUICK.md`**: tratar passos numerados como onda única (modo sempre Completo).
|
|
7
13
|
</objective>
|
|
8
14
|
|
|
15
|
+
<modo_solo>
|
|
16
|
+
## Modo Solo — Execução direta do PLAN.md
|
|
17
|
+
|
|
18
|
+
O modo padrão. Funciona sem `plan-agents.json`. O agente lê PLAN.md, segue as tarefas Tn na ordem das ondas, implementa e verifica.
|
|
19
|
+
|
|
20
|
+
**Checklist de onda (solo):**
|
|
21
|
+
```markdown
|
|
22
|
+
## Checklist — Onda N (OXE Solo)
|
|
23
|
+
- [ ] Dependências da onda conferidas (Tk de ondas anteriores concluídos)
|
|
24
|
+
- [ ] Tarefas da onda implementadas
|
|
25
|
+
- [ ] Comando **Verificar** de cada tarefa executado (ou agendado)
|
|
26
|
+
- [ ] STATE.md atualizado com progresso
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Ao fechar todas as ondas:** sugerir `/oxe-verify` para validação completa contra SPEC.
|
|
30
|
+
</modo_solo>
|
|
31
|
+
|
|
32
|
+
<execution_mode_selection>
|
|
33
|
+
## Seleção de Modo de Execução
|
|
34
|
+
|
|
35
|
+
**Quando aplicar:** ao início do execute, se PLAN.md tiver **2 ou mais ondas**. Apresentar UMA VEZ e armazenar a escolha em STATE.md para não perguntar novamente nas rodadas seguintes.
|
|
36
|
+
|
|
37
|
+
**Não aplicar** quando: QUICK.md (sempre Completo), PLAN.md com 1 onda (executar diretamente).
|
|
38
|
+
|
|
39
|
+
**Apresentar ao usuário:**
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Este plano tem [N] tarefas em [X] ondas. Como quer executar?
|
|
43
|
+
|
|
44
|
+
A) Completo → todas as [X] ondas nesta sessão
|
|
45
|
+
✓ 1 requisição/sessão (ideal: Copilot, Claude, Gemini)
|
|
46
|
+
✓ O agente vê todo o contexto e pode otimizar entre tarefas
|
|
47
|
+
⚠ Verificação inline — sem pausa entre ondas
|
|
48
|
+
|
|
49
|
+
B) Por onda → onda 1/[X] agora, você verifica e chama de novo para continuar
|
|
50
|
+
✓ Validação entre ondas reduz risco de retrabalho
|
|
51
|
+
✗ [X] sessões (uma por onda)
|
|
52
|
+
|
|
53
|
+
C) Por tarefa → T1 agora, você confirma, depois T2...
|
|
54
|
+
✓ Máximo controle
|
|
55
|
+
✗ [N] sessões (uma por tarefa)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Modo A — Completo:**
|
|
59
|
+
- Executar onda 1 → verificar → onda 2 → verificar → … → última onda
|
|
60
|
+
- A cada onda: executar o comando `**Verificar:**` de cada tarefa inline
|
|
61
|
+
- Atualizar STATE.md progressivamente (não esperar o final)
|
|
62
|
+
- Ao terminar: suário recebe sumário completo + sugestão de `/oxe-verify`
|
|
63
|
+
|
|
64
|
+
**Modo B — Por onda (padrão quando sem escolha):**
|
|
65
|
+
- Executar onda atual → apresentar checklist → parar
|
|
66
|
+
- Informar: "Onda N/X concluída. Chame `/oxe-execute` novamente para a Onda N+1."
|
|
67
|
+
|
|
68
|
+
**Modo C — Por tarefa:**
|
|
69
|
+
- Executar próxima tarefa pendente → parar
|
|
70
|
+
- Informar: "T[n] concluída. Chame `/oxe-execute` novamente para T[n+1]."
|
|
71
|
+
|
|
72
|
+
**Persistir escolha:** registrar em STATE.md: `execute_mode: completo | por_onda | por_tarefa`. Se STATE já tiver o campo, não perguntar novamente — usar o modo armazenado.
|
|
73
|
+
</execution_mode_selection>
|
|
74
|
+
|
|
75
|
+
<failure_mode>
|
|
76
|
+
## Modo de falha inline (Verificar falha durante execute)
|
|
77
|
+
|
|
78
|
+
Quando o comando `**Verificar:**` de uma tarefa `Tn` falha, **não parar silenciosamente**. Executar este ciclo inline sem exigir que o usuário chame `/oxe-debug` separadamente:
|
|
79
|
+
|
|
80
|
+
1. **Diagnóstico rápido:** listar 2-3 hipóteses de causa baseadas no output de erro.
|
|
81
|
+
2. **Fix mais provável:** aplicar o fix para a hipótese #1.
|
|
82
|
+
3. **Re-verificar:** rodar o `Verificar` novamente.
|
|
83
|
+
4. Se passou: continuar onda normalmente; registrar na onda que houve 1 iteração de fix.
|
|
84
|
+
5. Se falhou novamente (2ª tentativa): aplicar hipótese #2 e tentar 1 vez mais.
|
|
85
|
+
6. Se falhou após 2 tentativas: **pausar** — exibir as hipóteses testadas, evidências coletadas, e sugerir `/oxe-forensics` com contexto completo. Registrar em STATE.md: `execute_blocked: Tn | motivo`.
|
|
86
|
+
|
|
87
|
+
**Auto-loop no Modo B:** se `execute_mode: por_onda` e `loop_max` > 1 em STATE.md, o ciclo de retry roda automaticamente até `loop_max` tentativas antes de escalar para forensics.
|
|
88
|
+
</failure_mode>
|
|
89
|
+
|
|
9
90
|
<context>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
91
|
+
**Observações pendentes:** verificar `.oxe/OBSERVATIONS.md` no início de cada onda. Se houver entradas `pendente` com impacto `execute` ou `all`, incorporar no trabalho da onda atual e marcá-las `incorporada → execute (data)`.
|
|
92
|
+
|
|
93
|
+
**Quick-agents (lean PDDA):** se existir **`.oxe/quick-agents.json`** com `status: active` e a execução for baseada em **`QUICK.md`** (não há PLAN.md), adotar o `role` e `persona` de cada agente para os `steps[]` atribuídos. Ao concluir todos os steps, marcar `quick-agents.json` → `status: done` e sugerir `/oxe-verify`.
|
|
94
|
+
|
|
95
|
+
**Model hints (blueprint com agentes):** ao apresentar a atribuição de cada agente no início da onda, exibir `model_hint` se presente:
|
|
96
|
+
```
|
|
97
|
+
Agente: agent-auth — "Especialista em JWT" [modelo: powerful]
|
|
98
|
+
Tarefas: T1, T2
|
|
99
|
+
```
|
|
100
|
+
Se `model_hint` estiver ausente, não exibir a linha. O usuário pode configurar o modelo no IDE antes de iniciar aquele agente.
|
|
101
|
+
|
|
102
|
+
**Blueprint plan-agent (Modo com Agentes):** adotar `role`/`scope` de **`.oxe/plan-agents.json`** SOMENTE quando:
|
|
103
|
+
1. `lifecycle.status` ∈ `{ pending_execute, executing }` (não usar se `closed` ou `invalidated`).
|
|
104
|
+
2. **`runId`** no JSON coincide com **`run_id`** no STATE.md (secção Blueprint de agentes).
|
|
105
|
+
3. O pedido mapeia para pelo menos uma tarefa **`Tn`** no **`PLAN.md`**.
|
|
106
|
+
|
|
107
|
+
Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent` para novo blueprint.
|
|
108
|
+
|
|
109
|
+
**Transição `pending_execute` → `executing`:** na primeira onda com blueprint válido, atualizar `plan-agents.json` → `lifecycle: { "status": "executing", "since": "<ISO>" }` e espelhar em STATE.md.
|
|
110
|
+
|
|
111
|
+
**Protocolo agente → agente (blueprint):** mensagens em `.oxe/plan-agent-messages/` conforme `oxe/workflows/references/plan-agent-chat-protocol.md`.
|
|
112
|
+
|
|
113
|
+
**Se PLAN.md não existir mas QUICK.md existir:** seguir QUICK.md — passos = onda única, sempre Modo Completo.
|
|
114
|
+
|
|
115
|
+
**Se nem PLAN nem QUICK existir:** recomendar `oxe:plan` ou `oxe:quick` primeiro.
|
|
116
|
+
|
|
117
|
+
**Legado / brownfield:** entregáveis podem ser só documentação. Ver **`oxe/workflows/references/legacy-brownfield.md`**.
|
|
118
|
+
|
|
119
|
+
**Rotina compact/checkpoint:** antes de onda experimental ou refactor grande, `/oxe-checkpoint` com slug ajuda a retomar. Após ondas que mudem stack ou árvore, lembrar `/oxe-compact`.
|
|
22
120
|
</context>
|
|
23
121
|
|
|
24
122
|
<process>
|
|
25
|
-
1. Ler
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
4.
|
|
123
|
+
1. Ler **`.oxe/STATE.md`**, **`PLAN.md`** (se existir) e **`QUICK.md`** (se PLAN não existir).
|
|
124
|
+
2. Verificar **`.oxe/OBSERVATIONS.md`** — incorporar pendentes de impacto `execute` ou `all` antes de iniciar.
|
|
125
|
+
3. **Seleção de modo** (apenas se PLAN.md com 2+ ondas e `execute_mode` não definido em STATE): apresentar opções A/B/C e aguardar escolha; registrar em STATE.md.
|
|
126
|
+
4. Identificar **onda ou bloco atual**: no PLAN, todas as tarefas da mesma onda sem dependências pendentes; no QUICK, passos ainda não marcados como feitos.
|
|
127
|
+
5. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** de cada tarefa.
|
|
128
|
+
6. **Implementar** conforme o modo escolhido:
|
|
129
|
+
- **Modo Completo:** executar todas as ondas em sequência com verificação inline entre ondas; sumarizar ao final.
|
|
130
|
+
- **Modo Por onda:** executar onda atual, apresentar checklist, parar.
|
|
131
|
+
- **Modo Por tarefa:** executar próxima tarefa pendente, parar.
|
|
132
|
+
7. Após cada onda concluída, incluir checklist:
|
|
29
133
|
```markdown
|
|
30
134
|
## Checklist — Onda N (OXE)
|
|
31
|
-
- [ ] Pré-requisitos da onda conferidos (dependências
|
|
135
|
+
- [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
|
|
32
136
|
- [ ] Implementação da onda concluída
|
|
33
|
-
- [ ] Comando
|
|
137
|
+
- [ ] Comando Verificar de cada tarefa executado (ou agendado)
|
|
34
138
|
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- Próximo passo: continuar próxima onda, `oxe:verify` (se todas as ondas terminadas), ou `oxe:plan` se o plano ficou obsoleto.
|
|
38
|
-
6. Se o PLAN tiver várias ondas, repetir execute por onda sob pedido; não apagar tarefas do PLAN.
|
|
139
|
+
8. Atualizar **`.oxe/STATE.md`**: última onda executada, tarefas concluídas (Tn), próximo passo.
|
|
140
|
+
9. Marcar OBS incorporadas como `incorporada → execute (data)` em `.oxe/OBSERVATIONS.md`.
|
|
39
141
|
</process>
|
|
40
142
|
|
|
41
143
|
<success_criteria>
|
|
42
|
-
- [ ]
|
|
43
|
-
- [ ]
|
|
44
|
-
- [ ]
|
|
144
|
+
- [ ] Modo de execução foi selecionado (ou herdado do STATE) antes de implementar.
|
|
145
|
+
- [ ] Onda ou bloco de passos explicitado antes de "implementar".
|
|
146
|
+
- [ ] Checklist da onda apresentado ou refletido no STATE.md.
|
|
147
|
+
- [ ] STATE.md registra progresso (Tn ou passos) e próximo passo.
|
|
45
148
|
- [ ] Verificação alinhada ao bloco **Verificar** do PLAN ou QUICK.
|
|
46
|
-
- [ ]
|
|
149
|
+
- [ ] OBS pendentes de impacto `execute` incorporadas no início da onda.
|
|
150
|
+
- [ ] Com quick-agents ativos: cada agente trabalha só em seus `steps[]`; ao concluir, `quick-agents.json` → `done`.
|
|
151
|
+
- [ ] Com blueprint schema 2 válido: não adotar persona para pedidos fora das `Tn`; `runId` alinhado entre JSON e STATE; handoffs escritos quando protocolo exige.
|
|
47
152
|
</success_criteria>
|
package/oxe/workflows/help.md
CHANGED
|
@@ -11,11 +11,30 @@ No **projeto**, os passos canónicos estão em **`.oxe/workflows/*.md`** (layout
|
|
|
11
11
|
</context>
|
|
12
12
|
|
|
13
13
|
<output>
|
|
14
|
+
## Os 8 comandos essenciais
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/oxe → onde estou / o que faço / help (entrada universal)
|
|
18
|
+
/oxe-obs → registrei algo importante — incorporado automaticamente nos próximos passos
|
|
19
|
+
/oxe-quick → tarefa pequena, sem cerimônia (com agentes lean quando necessário)
|
|
20
|
+
/oxe-scan → mapeia o projeto (ou atualiza o mapa se já existir)
|
|
21
|
+
/oxe-spec → nova feature: perguntas → pesquisa → requisitos → roteiro → aprovação
|
|
22
|
+
/oxe-plan → tarefas por onda (--agents para blueprint multi-agente)
|
|
23
|
+
/oxe-execute → implementar (A: 1 sessão | B: por onda | C: por tarefa)
|
|
24
|
+
/oxe-verify → validar (camadas 5+6 opcionais via config: gaps + segurança)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Tudo o mais é ativado automaticamente por contexto, por config, ou existe como escape hatch.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
14
31
|
## Integrações principais (referência)
|
|
15
32
|
|
|
16
33
|
### Cursor
|
|
17
34
|
|
|
18
|
-
Slash commands: `/oxe
|
|
35
|
+
Slash commands essenciais: `/oxe`, `/oxe-obs`, `/oxe-quick`, `/oxe-scan`, `/oxe-spec`, `/oxe-plan`, `/oxe-execute`, `/oxe-verify`
|
|
36
|
+
|
|
37
|
+
Slash commands completos: `/oxe-discuss`, `/oxe-plan-agent`, `/oxe-project`, `/oxe-loop`, `/oxe-security`, `/oxe-update`, `/oxe-forensics`, `/oxe-debug`, `/oxe-route`, `/oxe-research`, `/oxe-validate-gaps`, `/oxe-compact`, `/oxe-checkpoint`, `/oxe-ui-spec`, `/oxe-ui-review`, `/oxe-milestone`, `/oxe-workstream`, `/oxe-next`, `/oxe-help` (instalados em `~/.cursor/commands/` pelo `oxe-cc`). **Review de PR:** no Cursor não há slash dedicado — peça em linguagem natural seguindo `oxe/workflows/review-pr.md` em contexto.
|
|
19
38
|
|
|
20
39
|
### GitHub Copilot (VS Code)
|
|
21
40
|
|
|
@@ -49,37 +68,47 @@ Com **`compact_max_age_days`** em `.oxe/config.json` (ver `oxe/templates/CONFIG.
|
|
|
49
68
|
|
|
50
69
|
## Fluxo completo
|
|
51
70
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
3. **
|
|
56
|
-
4. **
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
6. Implementar mudanças no agente/editor.
|
|
60
|
-
7. **verify** — validar tarefas **e** critérios SPEC antes de merge/PR.
|
|
61
|
-
7b. **validate-gaps** (opcional) — após verify, auditoria de cobertura em `.oxe/VALIDATION-GAPS.md` (gaps de teste/evidência; sugestões de tarefas em texto; ver `validate-gaps.md`).
|
|
62
|
-
8. **next** — retomar trabalho; no terminal: **`npx oxe-cc status`** sugere um único próximo passo (mais leve que **`doctor`**, que valida também workflows do pacote e regras estritas).
|
|
71
|
+
0. **obs** *(qualquer momento)* — `/oxe-obs` registra uma observação contextual; incorporada automaticamente no próximo spec/plan/execute sem re-explicar.
|
|
72
|
+
1. **scan** — após clonar ou quando o codebase mudar. **Inteligente:** se `.oxe/codebase/` já existir, opera em modo refresh (incremental) automaticamente — sem precisar chamar `/oxe-compact` separadamente. Use `--full` para forçar scan completo. Repositórios **legado** (COBOL, JCL, VB6): aplica `legacy-brownfield.md` automaticamente.
|
|
73
|
+
2. **spec** — fluxo em **5 fases**: perguntas (máx 3 rodadas) → pesquisa (proposta inline na Fase 2, sem sair do spec) → requisitos R-ID (v1/v2/fora) → roteiro (`.oxe/ROADMAP.md`) → aprovação. Se `discuss_before_plan: true` na config, o próximo passo após aprovação é `oxe:discuss` antes de plan.
|
|
74
|
+
3. **plan** — plano executável + **Verificar** por tarefa. Se 3+ domínios distintos, **sugere automaticamente** blueprint de agentes (`/oxe-plan --agents`). Sem `--agents`: solo. Com `--agents`: gera também `plan-agents.json` (schema 3 com `model_hint`).
|
|
75
|
+
4. **execute** — modo selecionado 1 vez: **A) Completo** (1 sessão), **B) Por onda**, **C) Por tarefa**. Se Verificar falhar inline: diagnóstico automático (2-3 hipóteses + fix), sem precisar chamar `/oxe-debug` separadamente. Escalação para `/oxe-forensics` só se esgotar tentativas.
|
|
76
|
+
5. **verify** — até **6 camadas** por config: auditoria pré-exec, tarefas + critérios A*, fidelidade D-NN, UAT, **gaps de cobertura** (camada 5 — `verification_depth: "thorough"`), **segurança OWASP** (camada 6 — `security_in_verify: true`). Sem comandos extras.
|
|
77
|
+
6. **→ próximo passo** — `/oxe` sugere automaticamente o que fazer agora (nova feature, milestone, ou revisar gaps).
|
|
63
78
|
|
|
64
|
-
**
|
|
79
|
+
**Escape hatches (não precisam ser decorados — aparecem quando necessários):**
|
|
65
80
|
|
|
66
|
-
- **`/oxe-forensics`** —
|
|
67
|
-
- **`/oxe-debug`** —
|
|
68
|
-
- **`/oxe-
|
|
81
|
+
- **`/oxe-forensics`** — sugerido automaticamente pelo execute/verify quando falha persiste. Diagnóstico pós-falha + 1 caminho de reentrada.
|
|
82
|
+
- **`/oxe-debug`** — diagnóstico técnico inline durante execute (já integrado ao execute; disponível standalone para controle explícito).
|
|
83
|
+
- **`/oxe-loop`** — iteração até verify passar (disponível standalone; integrado ao Modo B do execute via `loop_max`).
|
|
84
|
+
- **`/oxe-research`** — notas datadas em `.oxe/research/` para spikes, mapas de sistema, engenharia reversa.
|
|
85
|
+
- **`/oxe-route`** — traduz linguagem natural → comando. Equivalente a `/oxe [texto]`.
|
|
86
|
+
- **`/oxe-compact`** — refresh explícito do codebase. Equivalente a `/oxe-scan` sem `--full`.
|
|
69
87
|
|
|
70
|
-
**
|
|
88
|
+
**Gestão de projeto (`/oxe-project`):**
|
|
71
89
|
|
|
72
|
-
|
|
73
|
-
- **`/oxe-checkpoint`** — **snapshot de sessão**: **`.oxe/checkpoints/…md`** + **`.oxe/CHECKPOINTS.md`**; marco nomeado sem apagar SPEC/PLAN (ver `checkpoint.md`).
|
|
90
|
+
Um único comando para: `milestone new|complete|status|audit`, `workstream new|switch|list|close <nome>`, `checkpoint [slug]`. Sem argumento: mostra status atual.
|
|
74
91
|
|
|
75
92
|
**Vertical UI (opcional, mesma trilha):**
|
|
76
93
|
|
|
77
94
|
- **`/oxe-ui-spec`** — após **spec**, contrato `.oxe/UI-SPEC.md` antes ou para alimentar o **plan** (ver `ui-spec.md`).
|
|
78
95
|
- **`/oxe-ui-review`** — após implementação UI, auditoria `.oxe/UI-REVIEW.md` antes ou como entrada para **verify** (ver `ui-review.md`).
|
|
79
96
|
|
|
80
|
-
## Modo rápido (quick)
|
|
97
|
+
## Modo rápido (quick) com Plan-Driven Dynamic Agents lean
|
|
81
98
|
|
|
82
|
-
- **`/oxe-quick`**: cria `.oxe/QUICK.md` (passos curtos + verificar) sem SPEC/PLAN longos
|
|
99
|
+
- **`/oxe-quick`**: cria `.oxe/QUICK.md` (passos curtos + verificar) sem SPEC/PLAN longos, integrando o conceito de **Plan-Driven Dynamic Agents (lean)**:
|
|
100
|
+
|
|
101
|
+
| Princípio | Como se manifesta no Quick |
|
|
102
|
+
|-----------|---------------------------|
|
|
103
|
+
| **Spec-Driven Design** | `## Objetivo` é a minispec — restringe o escopo de todos os agentes e passos |
|
|
104
|
+
| **Spec-Driven Development** | `## Passos` é o mini-plano — os agentes são derivados dos passos, não os definem |
|
|
105
|
+
| **Plan-Driven Dynamic Agents** | Agentes criados **a partir dos passos**, para **esta demanda**, invalidados ao terminar |
|
|
106
|
+
|
|
107
|
+
**Quando ativar agentes:** tarefa com 2+ domínios distintos (ex.: backend + frontend), 5+ passos que agrupam naturalmente, ou flag `--agents`. Máx. 3 agentes — se precisar de mais, promover para `/oxe-plan-agent`.
|
|
108
|
+
|
|
109
|
+
**Artefatos com agentes:** além de `.oxe/QUICK.md` (com seção `## Agentes dinâmicos`), cria **`.oxe/quick-agents.json`** (schema lean; `status: active` → `done` após verify). Sem handoff de mensagens entre agentes (lean — sem `.oxe/plan-agent-messages/`).
|
|
110
|
+
|
|
111
|
+
**Perfil fast (sem agentes):** objetivo numa frase, ≤10 passos, verificação. **Promova** para spec/plan se o trabalho crescer (muitos arquivos, API pública, segurança, ou > 3 domínios). Se existir **`.oxe/plan-agents.json`** (schema 2) ainda activo, o quick **invalida** o blueprint — não reutilizar esses agentes neste fluxo; para novo roteiro com agentes, **`/oxe-plan-agent`**.
|
|
83
112
|
|
|
84
113
|
## CLI (terminal)
|
|
85
114
|
|
|
@@ -114,18 +143,69 @@ Um pedido → **um** destino (sem gerar contrato). O agente aplica `route.md` ou
|
|
|
114
143
|
| O que é OXE / lista de passos | `/oxe-help` |
|
|
115
144
|
| Dúvida entre dois comandos sem contexto claro | `/oxe-route` |
|
|
116
145
|
| Pesquisa técnica, spike, mapa de sistema grande, engenharia reversa, modernização antes do plano | `/oxe-research` |
|
|
146
|
+
| Quero registrar uma observação (restrição, descoberta, preferência) durante ou fora de execução | `/oxe-obs [texto]` |
|
|
147
|
+
| Quero executar todo o plano de uma vez (1 sessão) | `/oxe-execute` → escolher opção A (Completo) |
|
|
148
|
+
| Quero executar onda por onda com verificação entre ondas | `/oxe-execute` → escolher opção B (Por onda) |
|
|
117
149
|
| Gaps de cobertura de verificação / Nyquist-lite após verify | `/oxe-validate-gaps` |
|
|
118
150
|
| Mapa OXE desatualizado / quero sincronizar codebase com o código sem scan completo | `/oxe-compact` |
|
|
119
151
|
| Quero gravar um marco nomeado da sessão (antes de experimento grande) | `/oxe-checkpoint` + slug |
|
|
120
152
|
| Plano com **blueprint de agentes** (JSON + mesmo PLAN.md) / subagentes por onda | `/oxe-plan-agent` |
|
|
153
|
+
| Criar marco de entrega / versão / milestone | `/oxe-milestone new [nome]` |
|
|
154
|
+
| Verificar se o milestone está pronto para fechar | `/oxe-milestone audit` |
|
|
155
|
+
| Trabalho paralelo em trilhas separadas / feature branch OXE | `/oxe-workstream new <nome>` |
|
|
156
|
+
| Alternar entre trilhas de desenvolvimento | `/oxe-workstream switch <nome>` |
|
|
157
|
+
|
|
158
|
+
## Observações Contextuais (`/oxe-obs`)
|
|
159
|
+
|
|
160
|
+
**Princípio:** *observation-without-re-explaining* — registre uma observação em 1 request; ela é incorporada automaticamente nos workflows seguintes sem precisar re-explicar.
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
/oxe-obs JWT expiration deve ser via env var JWT_EXPIRES_IN, não hardcoded
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
- **Quando usar:** durante execute (descoberta técnica), após scan (restrição identificada), após spec (ajuste de escopo), a qualquer momento
|
|
167
|
+
- **Impacto:** classificado automaticamente em `spec` | `plan` | `execute` | `all`
|
|
168
|
+
- **Auto-incorporação:** o próximo `/oxe-spec` (Fase 3), `/oxe-plan`, `/oxe-discuss` ou `/oxe-execute` lê `.oxe/OBSERVATIONS.md` e aplica observações pendentes sem prompt extra
|
|
169
|
+
- **Urgência execute:** se chamado durante `executing` com impacto execute, oferece pausar onda atual ou continuar
|
|
121
170
|
|
|
122
171
|
## Notas pré-trilha (opcional)
|
|
123
172
|
|
|
124
173
|
- Ficheiro **`.oxe/NOTES.md`**: bullets `YYYY-MM-DD — …` como fila leve (**não** substitui SPEC). Em **`/oxe-discuss`**, **`/oxe-plan`** e **`/oxe-plan-agent`**, consumir ou marcar descartado/adiado.
|
|
125
174
|
|
|
175
|
+
## Milestones e Workstreams
|
|
176
|
+
|
|
177
|
+
- **`/oxe-milestone new [nome]`** — iniciar marco de entrega (M-01, M-02, …); registrado em `.oxe/MILESTONES.md`.
|
|
178
|
+
- **`/oxe-milestone complete`** — fechar milestone ativo, arquivar artefatos em `.oxe/milestones/M-NN/`.
|
|
179
|
+
- **`/oxe-milestone status`** / **`/oxe-milestone audit`** — progresso e Definition of Done.
|
|
180
|
+
- **`/oxe-workstream new <nome>`** — trilha paralela em `.oxe/workstreams/<nome>/`.
|
|
181
|
+
- **`/oxe-workstream switch <nome>`** — definir workstream ativo; workflows operam nos artefatos dessa trilha.
|
|
182
|
+
- **`/oxe-workstream list`** / **`/oxe-workstream close <nome>`** — gerenciar trilhas.
|
|
183
|
+
|
|
184
|
+
## Personas de agentes
|
|
185
|
+
|
|
186
|
+
Arquivos em `oxe/personas/` (ou `.oxe/personas/` após instalação) definem comportamentos de agentes para uso com `/oxe-plan-agent`. Personas builtin: `executor`, `planner`, `verifier`, `researcher`, `debugger`, `architect`, `ui-specialist`, `db-specialist`. Personas customizadas do projeto ficam em `.oxe/personas/`.
|
|
187
|
+
|
|
188
|
+
## Profiles de execução
|
|
189
|
+
|
|
190
|
+
O campo `profile` em `.oxe/config.json` expande automaticamente múltiplas keys:
|
|
191
|
+
- **`balanced`** (padrão): cerimônia moderada, verificação standard.
|
|
192
|
+
- **`strict`**: discuss obrigatório, verificação 4 camadas, UAT, aviso de scan antigo.
|
|
193
|
+
- **`fast`**: sem discuss, verificação quick, sem UAT.
|
|
194
|
+
- **`legacy`**: discuss obrigatório, verificação thorough, sem comando de test assumido.
|
|
195
|
+
|
|
126
196
|
## SDK (API programática)
|
|
127
197
|
|
|
128
|
-
Quem integra em pipeline pode usar **`require('oxe-cc')`** (entrada `main` do pacote):
|
|
198
|
+
Quem integra em pipeline pode usar **`require('oxe-cc')`** (entrada `main` do pacote):
|
|
199
|
+
- **`runDoctorChecks({ projectRoot })`** — gate em CI.
|
|
200
|
+
- **`parsePlan(planMd)`** — extrai tarefas, ondas, decisões e metadata de PLAN.md.
|
|
201
|
+
- **`parseSpec(specMd)`** — extrai critérios A* e seções obrigatórias.
|
|
202
|
+
- **`parseState(stateMd)`** — extrai fase, scan date, workstreams, milestone ativo.
|
|
203
|
+
- **`validateDecisionFidelity(discussMd, planMd)`** — verifica cobertura de decisões D-NN.
|
|
204
|
+
- **`security.checkPathSafety(path, root)`** — valida caminhos contra path traversal e segredos.
|
|
205
|
+
- **`plugins.loadPlugins(projectRoot)`** / **`plugins.runHook(plugins, hook, ctx)`** — plugin lifecycle.
|
|
206
|
+
- **`health.expandExecutionProfile(profile)`** — expande profile em keys individuais.
|
|
207
|
+
|
|
208
|
+
Ver **`lib/sdk/README.md`** e **`lib/sdk/index.d.ts`**.
|
|
129
209
|
|
|
130
210
|
## Variáveis de ambiente (referência)
|
|
131
211
|
|
|
@@ -142,8 +222,9 @@ Quem integra em pipeline pode usar **`require('oxe-cc')`** (entrada `main` do pa
|
|
|
142
222
|
|
|
143
223
|
## Artefatos
|
|
144
224
|
|
|
145
|
-
- `.oxe/STATE.md`, `.oxe/config.json` (opcional), `.oxe/codebase/*`, `.oxe/SPEC.md`, `.oxe/DISCUSS.md` (opcional), `.oxe/PLAN.md`, `.oxe/VERIFY.md`, `.oxe/QUICK.md`, `.oxe/SUMMARY.md` (opcional), `.oxe/NOTES.md` (opcional, fila), `.oxe/RESUME.md` (opcional, trilha + ponte para delta), `.oxe/CODEBASE-DELTA.md` (opcional, último refresh documentado do codebase), `.oxe/CHECKPOINTS.md` (opcional, índice), `.oxe/checkpoints/*.md` (opcional, marcos de sessão), `.oxe/RESEARCH.md` (opcional, índice de pesquisa), `.oxe/research/*.md` (opcional, notas datadas), `.oxe/VALIDATION-GAPS.md` (opcional, pós-verify), `.oxe/FORENSICS.md` (opcional, recuperação), `.oxe/DEBUG.md` (opcional, sessões de debug), `.oxe/UI-SPEC.md` / `.oxe/UI-REVIEW.md` (opcional, front-end)
|
|
146
|
-
-
|
|
225
|
+
- `.oxe/STATE.md`, `.oxe/config.json` (opcional), `.oxe/codebase/*`, `.oxe/SPEC.md`, `.oxe/DISCUSS.md` (opcional, com IDs D-NN), `.oxe/PLAN.md`, `.oxe/VERIFY.md`, `.oxe/QUICK.md`, `.oxe/SUMMARY.md` (opcional), `.oxe/NOTES.md` (opcional, fila), `.oxe/RESUME.md` (opcional, trilha + ponte para delta), `.oxe/CODEBASE-DELTA.md` (opcional, último refresh documentado do codebase), `.oxe/CHECKPOINTS.md` (opcional, índice), `.oxe/checkpoints/*.md` (opcional, marcos de sessão), `.oxe/RESEARCH.md` (opcional, índice de pesquisa), `.oxe/research/*.md` (opcional, notas datadas), `.oxe/VALIDATION-GAPS.md` (opcional, pós-verify), `.oxe/FORENSICS.md` (opcional, recuperação), `.oxe/DEBUG.md` (opcional, sessões de debug), `.oxe/UI-SPEC.md` / `.oxe/UI-REVIEW.md` (opcional, front-end)
|
|
226
|
+
- **Novos artefatos:** `.oxe/MILESTONES.md` (marcos de entrega), `.oxe/milestones/M-NN/` (artefatos arquivados), `.oxe/workstreams/<nome>/` (trilhas paralelas), `.oxe/personas/*.md` (personas de agentes customizadas), `.oxe/plugins/*.cjs` (plugins de lifecycle), `.oxe/memory/*.md` (sidecars de memória por sessão).
|
|
227
|
+
- Templates: `oxe/templates/` (ou `.oxe/templates/` em layout aninhado, conforme instalação). Hooks Git **opt-in** (lembretes não bloqueantes): `oxe/templates/GIT_HOOKS_OXE.md`. Plugin system: `oxe/templates/PLUGINS.md`.
|
|
147
228
|
|
|
148
229
|
## Para autores (mantenedores)
|
|
149
230
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# OXE — Workflow: loop (execução iterativa até verificação passar)
|
|
2
|
+
|
|
3
|
+
<objective>
|
|
4
|
+
Executar uma **onda do PLAN.md** em ciclo iterativo até que a verificação inline passe ou o limite de tentativas seja atingido. Complementa o **Modo B** (por onda) do **`execute.md`** com retries automáticos e diagnóstico inline de falhas.
|
|
5
|
+
|
|
6
|
+
Quando verify falha, não interrompe — diagnostica (2-3 hipóteses), corrige, tenta de novo. Escala para **`/oxe-forensics`** apenas quando esgota as tentativas.
|
|
7
|
+
</objective>
|
|
8
|
+
|
|
9
|
+
<context>
|
|
10
|
+
- **Pré-requisito:** `.oxe/PLAN.md` existente com pelo menos 1 onda; `STATE.md` com fase ≥ `plan_ready`.
|
|
11
|
+
- **Máximo de iterações:** padrão = 3; configurável via argumento `max:<N>` (ex.: `/oxe-loop onda 2 max:5`). Nunca exceder 10.
|
|
12
|
+
- **Artefato:** não cria novos arquivos — atualiza `STATE.md` com campos `loop_*` e registra cada iteração como bloco inline no chat.
|
|
13
|
+
- **Escalação:** se esgotou tentativas e ainda falhou → registrar estado em STATE.md + sugerir `/oxe-forensics` com contexto das hipóteses já tentadas.
|
|
14
|
+
- **Não substitui** `/oxe-verify` global (4 camadas): o loop faz verificação **inline por onda** (comando `**Verificar:**` de cada Tn); o verify completo deve ser chamado ao final de todas as ondas.
|
|
15
|
+
</context>
|
|
16
|
+
|
|
17
|
+
<loop_state>
|
|
18
|
+
## Campos em STATE.md durante o loop
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
loop_onda: 2 # número da onda sendo executada
|
|
22
|
+
loop_iteracao: 2/3 # tentativa atual / máximo
|
|
23
|
+
loop_status: retrying # retrying | passed | escalated
|
|
24
|
+
loop_hipoteses: ["H1: ...", "H2: ..."] # hipóteses da última falha
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Limpar campos `loop_*` ao concluir com `passed` (ou manter `escalated` se escalou para forensics).
|
|
28
|
+
</loop_state>
|
|
29
|
+
|
|
30
|
+
<process>
|
|
31
|
+
1. Ler `.oxe/STATE.md` e `.oxe/PLAN.md`. Identificar a onda alvo (argumento do usuário ou próxima onda pendente em STATE).
|
|
32
|
+
2. Registrar em STATE.md: `loop_onda: N`, `loop_iteracao: 1/<max>`, `loop_status: retrying`.
|
|
33
|
+
3. **Iteração:**
|
|
34
|
+
a. Listar tarefas da onda N com seus comandos `**Verificar:**`.
|
|
35
|
+
b. Implementar todas as tarefas da onda (seguindo `execute.md` `<modo_solo>`).
|
|
36
|
+
c. Executar os comandos `Verificar` de cada `Tn`.
|
|
37
|
+
d. **Se todos passaram:** registrar `loop_status: passed`; limpar campos `loop_*`; atualizar STATE.md com onda concluída; informar usuário e sugerir próxima onda ou `/oxe-verify`.
|
|
38
|
+
e. **Se algum falhou:**
|
|
39
|
+
- Listar 2-3 hipóteses de causa (baseado no erro/output da verificação).
|
|
40
|
+
- Registrar `loop_hipoteses` em STATE.md.
|
|
41
|
+
- Incrementar iteração: `loop_iteracao: K+1/<max>`.
|
|
42
|
+
- Se `K+1 > max`: ir para passo 4 (escalação).
|
|
43
|
+
- Senão: aplicar fix para a hipótese mais provável → voltar a `c`.
|
|
44
|
+
4. **Escalação (tentativas esgotadas):**
|
|
45
|
+
- Registrar `loop_status: escalated` em STATE.md.
|
|
46
|
+
- Exibir no chat: tentativas realizadas, hipóteses testadas, evidência de cada falha.
|
|
47
|
+
- Sugerir `/oxe-forensics` com contexto: "onda N falhou após <max> tentativas — hipóteses testadas: H1, H2, H3".
|
|
48
|
+
</process>
|
|
49
|
+
|
|
50
|
+
<success_criteria>
|
|
51
|
+
- [ ] STATE.md tem campos `loop_*` atualizados a cada iteração.
|
|
52
|
+
- [ ] Cada falha gera 2-3 hipóteses registradas antes de tentar fix.
|
|
53
|
+
- [ ] Ao passar: campos `loop_*` limpos; onda marcada como concluída em STATE.md.
|
|
54
|
+
- [ ] Ao esgotar: `loop_status: escalated` + sugestão de `/oxe-forensics` com contexto completo.
|
|
55
|
+
- [ ] Nunca excede `max` iterações configurado.
|
|
56
|
+
- [ ] Não altera `.oxe/PLAN.md` (só implementa o que já está planejado).
|
|
57
|
+
</success_criteria>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# OXE — Workflow: milestone
|
|
2
|
+
|
|
3
|
+
<objective>
|
|
4
|
+
Gerenciar **marcos de entrega** do projeto: registrar versões entregues, arquivar fases concluídas e preparar o contexto para a próxima iteração.
|
|
5
|
+
|
|
6
|
+
Subcomandos:
|
|
7
|
+
- `/oxe-milestone new [nome]` — iniciar novo milestone.
|
|
8
|
+
- `/oxe-milestone complete` — fechar milestone ativo, arquivar artefatos, preparar próxima iteração.
|
|
9
|
+
- `/oxe-milestone status` — exibir progresso do milestone ativo.
|
|
10
|
+
- `/oxe-milestone audit` — verificar se o milestone atingiu sua definição de pronto.
|
|
11
|
+
</objective>
|
|
12
|
+
|
|
13
|
+
<context>
|
|
14
|
+
- Milestone ≠ Checkpoint. **Checkpoint** (`/oxe-checkpoint`) é um snapshot de sessão — restaurável a qualquer momento. **Milestone** é uma entrega — marcador de versão com artefatos arquivados e critérios de pronto validados.
|
|
15
|
+
- Milestones são rastreados em **`.oxe/MILESTONES.md`** (índice) e cada entrega tem uma entrada com status, data e links aos artefatos.
|
|
16
|
+
- O milestone ativo é registrado no **STATE.md** na seção **Milestone ativo**.
|
|
17
|
+
- Um milestone é considerado **pronto** quando:
|
|
18
|
+
1. Todos os critérios A* da SPEC estão com `verify_complete` no STATE.
|
|
19
|
+
2. VERIFY.md não tem gaps abertos.
|
|
20
|
+
3. Checklist UAT foi preenchido pelo usuário (se aplicável).
|
|
21
|
+
4. Rascunho de commit ou PR foi gerado.
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<process_new>
|
|
25
|
+
**`/oxe-milestone new [nome]`**
|
|
26
|
+
|
|
27
|
+
1. Verificar se há milestone ativo em STATE.md. Se houver, alertar e pedir confirmação antes de criar novo.
|
|
28
|
+
2. Gerar ID sequencial: **M-01**, **M-02**, …
|
|
29
|
+
3. Criar entrada em **`.oxe/MILESTONES.md`**:
|
|
30
|
+
```markdown
|
|
31
|
+
## M-01 — [nome] (ativo)
|
|
32
|
+
- **Status:** ativo
|
|
33
|
+
- **Iniciado:** YYYY-MM-DD
|
|
34
|
+
- **SPEC:** `.oxe/SPEC.md` (versão atual)
|
|
35
|
+
- **Critérios:** A1, A2, … (lista dos IDs da SPEC)
|
|
36
|
+
- **Entregável:** (descrever o que será entregue)
|
|
37
|
+
```
|
|
38
|
+
4. Atualizar **STATE.md**: seção **Milestone ativo** com ID e nome.
|
|
39
|
+
5. Confirmar no chat: `Milestone M-01 iniciado — próximo passo: /oxe-spec (ou /oxe-plan se SPEC já existir)`.
|
|
40
|
+
</process_new>
|
|
41
|
+
|
|
42
|
+
<process_complete>
|
|
43
|
+
**`/oxe-milestone complete`**
|
|
44
|
+
|
|
45
|
+
Pré-requisitos (verificar antes de executar):
|
|
46
|
+
- [ ] STATE.md indica `verify_complete`.
|
|
47
|
+
- [ ] VERIFY.md não tem gaps abertos.
|
|
48
|
+
- [ ] Checklist UAT preenchido (se aplicável).
|
|
49
|
+
|
|
50
|
+
Se pré-requisitos não forem satisfeitos: listar os que faltam e pausar. Com `--force`: documentar pré-requisitos não satisfeitos e continuar com aviso.
|
|
51
|
+
|
|
52
|
+
Passos:
|
|
53
|
+
1. Arquivar artefatos do milestone:
|
|
54
|
+
- Copiar `.oxe/SPEC.md` → `.oxe/milestones/M-NN/SPEC.md`
|
|
55
|
+
- Copiar `.oxe/PLAN.md` → `.oxe/milestones/M-NN/PLAN.md`
|
|
56
|
+
- Copiar `.oxe/VERIFY.md` → `.oxe/milestones/M-NN/VERIFY.md`
|
|
57
|
+
- Copiar `.oxe/DISCUSS.md` → `.oxe/milestones/M-NN/DISCUSS.md` (se existir)
|
|
58
|
+
- Criar `.oxe/milestones/M-NN/MILESTONE.md` com resumo da entrega.
|
|
59
|
+
2. Atualizar **`.oxe/MILESTONES.md`**: marcar milestone como `entregue`, adicionar data de encerramento e links aos artefatos arquivados.
|
|
60
|
+
3. Atualizar **STATE.md**: limpar seção **Milestone ativo**, registrar **Último milestone** com ID e data.
|
|
61
|
+
4. Sugerir próximo milestone ou nova spec: `Milestone M-NN concluído. Próximos passos: /oxe-milestone new v2 | /oxe-spec | /oxe-checkpoint`.
|
|
62
|
+
</process_complete>
|
|
63
|
+
|
|
64
|
+
<process_status>
|
|
65
|
+
**`/oxe-milestone status`**
|
|
66
|
+
|
|
67
|
+
1. Ler STATE.md para identificar milestone ativo (ID e nome).
|
|
68
|
+
2. Ler MILESTONES.md para detalhes.
|
|
69
|
+
3. Ler SPEC.md para listar critérios A* e seu status (verificado / pendente).
|
|
70
|
+
4. Ler VERIFY.md (se existir) para gaps abertos.
|
|
71
|
+
5. Exibir no chat:
|
|
72
|
+
- Milestone ativo: ID, nome, data de início.
|
|
73
|
+
- Progresso: N/M critérios verificados.
|
|
74
|
+
- Gaps abertos: lista ou "nenhum".
|
|
75
|
+
- Próximo passo sugerido.
|
|
76
|
+
</process_status>
|
|
77
|
+
|
|
78
|
+
<process_audit>
|
|
79
|
+
**`/oxe-milestone audit`**
|
|
80
|
+
|
|
81
|
+
Verificar definição de pronto (Definition of Done):
|
|
82
|
+
1. [ ] `verify_complete` no STATE.
|
|
83
|
+
2. [ ] VERIFY.md sem gaps.
|
|
84
|
+
3. [ ] Checklist UAT preenchido (ou ausente se inaplicável).
|
|
85
|
+
4. [ ] Rascunho de commit ou PR gerado.
|
|
86
|
+
5. [ ] Artefatos do milestone existem (SPEC, PLAN, VERIFY).
|
|
87
|
+
|
|
88
|
+
Resultado: `Milestone M-NN: PRONTO` ou lista de itens pendentes.
|
|
89
|
+
</process_audit>
|
|
90
|
+
|
|
91
|
+
<success_criteria>
|
|
92
|
+
- [ ] `.oxe/MILESTONES.md` existe e tem entrada para o milestone ativo.
|
|
93
|
+
- [ ] STATE.md indica milestone ativo (ID e nome).
|
|
94
|
+
- [ ] Ao completar: artefatos arquivados em `.oxe/milestones/M-NN/`.
|
|
95
|
+
- [ ] Ao completar: MILESTONES.md atualizado com status `entregue` e data.
|
|
96
|
+
</success_criteria>
|