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.
Files changed (77) hide show
  1. package/.cursor/commands/oxe-execute.md +2 -2
  2. package/.cursor/commands/oxe-loop.md +11 -0
  3. package/.cursor/commands/oxe-milestone.md +11 -0
  4. package/.cursor/commands/oxe-obs.md +11 -0
  5. package/.cursor/commands/oxe-project.md +11 -0
  6. package/.cursor/commands/oxe-quick.md +2 -2
  7. package/.cursor/commands/oxe-security.md +11 -0
  8. package/.cursor/commands/oxe-spec.md +2 -2
  9. package/.cursor/commands/oxe-workstream.md +11 -0
  10. package/.cursor/commands/oxe.md +9 -0
  11. package/.github/prompts/oxe-execute.prompt.md +12 -12
  12. package/.github/prompts/oxe-loop.prompt.md +12 -0
  13. package/.github/prompts/oxe-milestone.prompt.md +12 -0
  14. package/.github/prompts/oxe-obs.prompt.md +12 -0
  15. package/.github/prompts/oxe-project.prompt.md +12 -0
  16. package/.github/prompts/oxe-quick.prompt.md +12 -12
  17. package/.github/prompts/oxe-security.prompt.md +12 -0
  18. package/.github/prompts/oxe-spec.prompt.md +2 -2
  19. package/.github/prompts/oxe-workstream.prompt.md +12 -0
  20. package/.github/prompts/oxe.prompt.md +12 -0
  21. package/README.md +287 -544
  22. package/bin/banner.txt +1 -1
  23. package/bin/lib/oxe-plugins.cjs +226 -0
  24. package/bin/lib/oxe-project-health.cjs +97 -1
  25. package/bin/lib/oxe-security.cjs +225 -0
  26. package/bin/oxe-cc.js +30 -1
  27. package/commands/oxe/execute.md +16 -16
  28. package/commands/oxe/loop.md +17 -0
  29. package/commands/oxe/milestone.md +16 -0
  30. package/commands/oxe/obs.md +16 -0
  31. package/commands/oxe/oxe.md +16 -0
  32. package/commands/oxe/project.md +16 -0
  33. package/commands/oxe/quick.md +16 -16
  34. package/commands/oxe/security.md +16 -0
  35. package/commands/oxe/spec.md +2 -2
  36. package/commands/oxe/workstream.md +16 -0
  37. package/lib/sdk/index.cjs +284 -0
  38. package/lib/sdk/index.d.ts +148 -1
  39. package/oxe/personas/README.md +39 -0
  40. package/oxe/personas/architect.md +37 -0
  41. package/oxe/personas/db-specialist.md +36 -0
  42. package/oxe/personas/debugger.md +38 -0
  43. package/oxe/personas/executor.md +38 -0
  44. package/oxe/personas/planner.md +36 -0
  45. package/oxe/personas/researcher.md +35 -0
  46. package/oxe/personas/ui-specialist.md +36 -0
  47. package/oxe/personas/verifier.md +39 -0
  48. package/oxe/templates/CONFIG.md +54 -4
  49. package/oxe/templates/DISCUSS.template.md +44 -0
  50. package/oxe/templates/MEMORY.template.md +49 -0
  51. package/oxe/templates/MILESTONES.template.md +17 -0
  52. package/oxe/templates/OBSERVATIONS.template.md +18 -0
  53. package/oxe/templates/PLUGINS.md +101 -0
  54. package/oxe/templates/ROADMAP.template.md +44 -0
  55. package/oxe/templates/SECURITY.template.md +72 -0
  56. package/oxe/templates/STATE.md +29 -2
  57. package/oxe/templates/config.template.json +5 -0
  58. package/oxe/templates/plan-agents.template.json +3 -2
  59. package/oxe/templates/quick-agents.template.json +24 -0
  60. package/oxe/workflows/discuss.md +48 -5
  61. package/oxe/workflows/execute.md +133 -28
  62. package/oxe/workflows/help.md +105 -24
  63. package/oxe/workflows/loop.md +57 -0
  64. package/oxe/workflows/milestone.md +96 -0
  65. package/oxe/workflows/obs.md +95 -0
  66. package/oxe/workflows/oxe.md +115 -0
  67. package/oxe/workflows/plan-agent.md +50 -3
  68. package/oxe/workflows/plan.md +7 -2
  69. package/oxe/workflows/project.md +50 -0
  70. package/oxe/workflows/quick.md +120 -10
  71. package/oxe/workflows/research.md +16 -0
  72. package/oxe/workflows/scan.md +23 -1
  73. package/oxe/workflows/security.md +61 -0
  74. package/oxe/workflows/spec.md +172 -23
  75. package/oxe/workflows/verify.md +80 -18
  76. package/oxe/workflows/workstream.md +96 -0
  77. package/package.json +3 -2
@@ -1,47 +1,152 @@
1
1
  # OXE — Workflow: execute
2
2
 
3
3
  <objective>
4
- Guiar a **implementação por ondas** com base em **`.oxe/PLAN.md`**, atualizando **`.oxe/STATE.md`** com progresso (tarefas Tn). Não substitui o editor: estrutura o trabalho e confirma pré-requisitos antes de cada onda.
4
+ Guiar a **implementação** de um plano OXE com dois modos possíveis:
5
5
 
6
- Se existir apenas **`.oxe/QUICK.md`** (fluxo quick), tratar os **Passos** numerados como lista única onda 1” em vez de tarefas T1…Tn.
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
- - **Blueprint plan-agent (schema 2):** adoptar **`role` / `scope`** de **`.oxe/plan-agents.json`** quando **todas** se verificam:
11
- 1. `lifecycle.status` ∈ `{ pending_execute, executing }` (não usar se `closed` ou `invalidated`).
12
- 2. **`runId`** no JSON coincide com **`run_id`** na secção **Blueprint de agentes (sessão)** do **`.oxe/STATE.md`** (se `STATE` não tiver secção, tratar como mismatch e **não** usar persona do blueprint até alinhar ou rerodar **`/oxe-plan-agent`**).
13
- 3. O pedido do utilizador mapeia para pelo menos uma tarefa **`Tn`** presente no **`.oxe/PLAN.md`** (ou explícita na onda em curso). Se o pedido for **fora** do conjunto de tarefas do plano: responder **sem** persona do blueprint; sugerir **`/oxe-plan`**, **`/oxe-plan-agent`** ou **`/oxe-quick`**; só actualizar `lifecycle` para `invalidated` com `invalidatedBy: out_of_scope` se o utilizador **confirmar** explicitamente.
14
- - **Transição `pending_execute` `executing`:** na **primeira** mensagem deste workflow que avança uma onda com blueprint válido, actualizar **`plan-agents.json`** → `lifecycle: { "status": "executing", "since": "<ISO>" }` e espelhar em **`STATE.md`** (**lifecycle_status** / **run_id**).
15
- - **Protocolo agente → agente:** entre ondas ou agentes dependentes, escrever mensagens em **`.oxe/plan-agent-messages/`** conforme **`oxe/workflows/references/plan-agent-chat-protocol.md`** (ficheiros imutáveis com `runId` no frontmatter). Antes de um agente destinatário trabalhar, ler mensagens dirigidas a esse `id` (ou `broadcast`) com o mesmo `runId`.
16
- - Se existir **`.oxe/plan-agents.json`** e as condições acima se cumprirem, usar o blueprint como **roteiro de execução por agente**: para cada **onda** em `execution.waves`, listar os **agentes** (papel, `scope`, `inputs` sugeridos) e as **`taskIds`** correspondentes no **PLAN.md**; tarefas da mesma onda do PLAN que caem no mesmo agente podem ser feitas no mesmo contexto focado. O **comando Verificar** e as dependências **`Tk`** continuam a vir **só** do `PLAN.md` (fonte de verdade OXE).
17
- - **Schema 1 / legado** (sem `lifecycle`): pode usar o JSON apenas como **roteiro suave** (lista de agentes/ondas), **sem** garantir exclusividade nem protocolo estrito até **`/oxe-plan-agent`** regerar schema 2.
18
- - Se **PLAN.md** não existir mas **QUICK.md** existir, seguir **QUICK.md** neste workflow (passos = trabalho da sessão).
19
- - Se nem PLAN nem QUICK existir, recomendar `oxe:plan` ou `oxe:quick` primeiro.
20
- - **Legado / brownfield:** entregáveis podem ser só documentação (`.md`, diagramas). Exigir pré-requisitos de ambiente (mainframe, IDE VB6) quando a tarefa depender disso — ver **`oxe/workflows/references/legacy-brownfield.md`**.
21
- - **Rotina compact/checkpoint (opcional):** antes de uma onda **experimental** ou refactor que mude muito o layout, **`/oxe-checkpoint`** com slug (ex.: `antes-refactor-modulo-x`) ajuda a retomar. Depois de ondas que mudem **stack** ou **árvore** do projeto, lembrar **`/oxe-compact`** para não deixar `.oxe/codebase/` desatualizado face ao código — **não** substitui o checklist da onda nem o **Verificar** do PLAN.
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 `.oxe/STATE.md`, `PLAN.md` (se existir) e `QUICK.md` (se PLAN não existir).
26
- 2. Identificar **onda atual** (ou próxima): no PLAN, todas as tarefas da mesma **Onda** sem dependências pendentes; no QUICK, os passos ainda não marcados como feitos (se STATE não indicar, assumir desde o início).
27
- 3. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** associado (do PLAN ou do QUICK).
28
- 4. Incluir no final da mensagem (ou pedir atualização no `STATE.md`) um bloco **Checklist da onda** em Markdown, para o usuário ou o agente marcar:
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 T* atendidas)
135
+ - [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
32
136
  - [ ] Implementação da onda concluída
33
- - [ ] Comando **Verificar** desta onda executado (ou agendado)
137
+ - [ ] Comando Verificar de cada tarefa executado (ou agendado)
34
138
  ```
35
- 5. Após o usuário confirmar que a onda foi implementada (ou após você aplicar as mudanças), atualizar **`.oxe/STATE.md`**:
36
- - Marcar no checklist acima (ou em bullets) **Última onda executada**, **Tarefas concluídas** (Tn ou números dos passos).
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
- - [ ] Onda ou bloco de passos está explícito antes de implementar”.
43
- - [ ] Checklist da onda foi apresentado ou refletido no `STATE.md`.
44
- - [ ] `STATE.md` registra progresso (Tn ou passos) e próximo passo.
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
- - [ ] Com blueprint schema 2 válido: não adoptar persona do JSON para pedidos fora das `Tn`; `runId` alinhado entre JSON e STATE; handoffs escritos quando o protocolo exige (**`references/plan-agent-chat-protocol.md`**).
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>
@@ -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-scan`, `/oxe-spec`, `/oxe-discuss`, `/oxe-plan`, `/oxe-plan-agent`, `/oxe-verify`, `/oxe-next`, `/oxe-quick`, `/oxe-execute`, `/oxe-update`, `/oxe-help`, `/oxe-forensics`, `/oxe-debug`, `/oxe-route`, `/oxe-research`, `/oxe-validate-gaps`, `/oxe-compact`, `/oxe-checkpoint`, `/oxe-ui-spec`, `/oxe-ui-review` (instalados em `~/.cursor/commands/` pelo `oxe-cc` após `npm run sync:cursor` no pacote ou cópia equivalente). **Review de PR:** no Cursor não há slash dedicado — peça em linguagem natural seguindo `oxe/workflows/review-pr.md` (ou `.oxe/workflows/review-pr.md`) em contexto.
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
- 1. **scan** — após clonar ou quando o repositório mudar muito. Repositórios **legado** (COBOL, JCL, copybooks, VB6, SQL procedures): o passo **scan** aplica `oxe/workflows/references/legacy-brownfield.md` quando esses sinais existirem preencha `TESTING.md` com honestidade (sem `npm test` fictício) e use `scan_focus_globs` em `.oxe/config.json` (ver `oxe/templates/CONFIG.md`).
53
- 2. **spec** — descrever o que se quer (critérios com IDs **A1**, **A2**…).
54
- 2b. **research** (opcional) notas datadas em `.oxe/research/` + índice `.oxe/RESEARCH.md`; spikes, mapa de sistema, engenharia reversa, hipóteses de modernização, ou qualquer exploração antes do plano (ver `research.md`).
55
- 3. **discuss** (opcional) decisões antes do plano; recomendado se `discuss_before_plan` em `.oxe/config.json`.
56
- 4. **plan** — plano executável + **Verificar** por tarefa, ligado aos critérios da SPEC.
57
- 4b. **plan-agent** (opcional) igual ao **plan** + **`.oxe/plan-agents.json`** (schema **2**: `runId`, `lifecycle`) e pasta **`.oxe/plan-agent-messages/`** para handoffs entre agentes do blueprint (**`oxe/workflows/references/plan-agent-chat-protocol.md`**). Os papéis (`role` / `scope`) são **exclusivos** da trilha **PLAN + `/oxe-execute`** com esse `runId`; **`/oxe-quick`** invalida o blueprint (`lifecycle.invalidated`).
58
- 5. **execute** (opcional) onda a onda com base no PLAN (ou passos do QUICK); com blueprint válido, seguir protocolo de mensagens entre ondas/agentes dependentes.
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
- **Recuperação e meta (mesma trilha, outra camada):**
79
+ **Escape hatches (não precisam ser decorados — aparecem quando necessários):**
65
80
 
66
- - **`/oxe-forensics`** — após `verify` falhar, `doctor` em falta ou estado incoerente; escreve `.oxe/FORENSICS.md` e recomenda **um** reingresso: `scan`, `plan` ou `execute` (ver `forensics.md`).
67
- - **`/oxe-debug`** — durante **`execute`**, para sintomas técnicos (teste vermelho, stack); escreve `.oxe/DEBUG.md`; **não** substitui `verify` após corrigir (ver `debug.md`).
68
- - **`/oxe-route`** — desambigua pedido em linguagem natural **um** workflow/comando; não gera SPEC/PLAN (ver `route.md` e tabela **Router** abaixo).
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 ( 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
- **Contexto em disco (opcional):**
88
+ **Gestão de projeto (`/oxe-project`):**
71
89
 
72
- - **`/oxe-compact`** **refresh do projeto**: compara **`.oxe/codebase/*.md`** ao repositório atual, **atualiza** os sete mapas (incremental ou bootstrap como `scan.md` se faltar base), escreve **`.oxe/CODEBASE-DELTA.md`** (o que mudou na documentação) e **`.oxe/RESUME.md`** (trilha OXE + ponte para o delta). Rotina de desenvolvimento; **não** está ligado a limites de chat ou a ferramentas específicas (ver `compact.md`). *Exemplo:* scan mapeou **Angular 17**; após migração implementada para **21**, o compact **corrige** `STACK.md`/testes/convenções face ao repo — intenção: **documentação OXE = código atual**, não refazer scan completo só por bump de major.
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. **Perfil fast:** objetivo numa frase, ≤10 passos ver secção **Perfil fast** em `quick.md`. **Promova** para spec/plan se o trabalho crescer (muitos arquivos, API pública, segurança) — mesmos gatilhos no workflow. 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`**.
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): por exemplo **`runDoctorChecks({ projectRoot })`** para passo de gate em CI; também `health`, `workflows`, `install.resolveOptionsFromConfig`, `manifest`, `agents`. Ver **`lib/sdk/README.md`** e **`lib/sdk/index.d.ts`**.
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
- - 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`.
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>