oxe-cc 0.6.6 → 0.7.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 (47) hide show
  1. package/.cursor/commands/oxe-capabilities.md +11 -0
  2. package/.cursor/commands/oxe-dashboard.md +11 -0
  3. package/.github/prompts/oxe-capabilities.prompt.md +12 -0
  4. package/.github/prompts/oxe-dashboard.prompt.md +12 -0
  5. package/CHANGELOG.md +33 -0
  6. package/README.md +147 -11
  7. package/assets/oxe-framework-artifacts-paper.png +0 -0
  8. package/bin/banner.txt +1 -1
  9. package/bin/lib/oxe-azure.cjs +1445 -0
  10. package/bin/lib/oxe-dashboard.cjs +588 -0
  11. package/bin/lib/oxe-install-resolve.cjs +4 -1
  12. package/bin/lib/oxe-operational.cjs +670 -0
  13. package/bin/lib/oxe-project-health.cjs +372 -28
  14. package/bin/oxe-cc.js +1517 -312
  15. package/commands/oxe/capabilities.md +13 -0
  16. package/commands/oxe/dashboard.md +14 -0
  17. package/lib/sdk/README.md +9 -7
  18. package/lib/sdk/index.cjs +56 -0
  19. package/lib/sdk/index.d.ts +73 -0
  20. package/oxe/templates/ACTIVE-RUN.template.json +32 -0
  21. package/oxe/templates/CAPABILITIES.template.md +7 -0
  22. package/oxe/templates/CAPABILITY.template.md +45 -0
  23. package/oxe/templates/CHECKPOINTS.template.md +7 -0
  24. package/oxe/templates/EXECUTION-RUNTIME.template.md +68 -0
  25. package/oxe/templates/INVESTIGATION.template.md +38 -0
  26. package/oxe/templates/NOTES.template.md +16 -0
  27. package/oxe/templates/PLAN-REVIEW.template.md +31 -0
  28. package/oxe/templates/RESEARCH.template.md +11 -4
  29. package/oxe/templates/SPEC.template.md +6 -4
  30. package/oxe/templates/STATE.md +45 -7
  31. package/oxe/templates/config.template.json +11 -3
  32. package/oxe/workflows/ask.md +10 -1
  33. package/oxe/workflows/capabilities.md +23 -0
  34. package/oxe/workflows/dashboard.md +23 -0
  35. package/oxe/workflows/discuss.md +11 -9
  36. package/oxe/workflows/execute.md +57 -35
  37. package/oxe/workflows/help.md +256 -225
  38. package/oxe/workflows/obs.md +70 -20
  39. package/oxe/workflows/plan.md +83 -74
  40. package/oxe/workflows/quick.md +16 -11
  41. package/oxe/workflows/references/adaptive-discovery.md +27 -0
  42. package/oxe/workflows/research.md +12 -8
  43. package/oxe/workflows/retro.md +30 -5
  44. package/oxe/workflows/scan.md +1 -0
  45. package/oxe/workflows/spec.md +65 -48
  46. package/oxe/workflows/verify.md +52 -37
  47. package/package.json +2 -2
@@ -0,0 +1,23 @@
1
+ # OXE — Workflow: capabilities
2
+
3
+ <objective>
4
+ Gerir capabilities nativas do OXE: listar, explicar, instalar, remover e diagnosticar extensões opcionais em `.oxe/capabilities/`.
5
+ </objective>
6
+
7
+ <context>
8
+ - Capabilities são extensões do projeto, não substituem o núcleo do OXE.
9
+ - Cada capability vive em `.oxe/capabilities/<id>/` com manifesto próprio.
10
+ - O índice canónico é `.oxe/CAPABILITIES.md`.
11
+ </context>
12
+
13
+ <process>
14
+ 1. Ler `.oxe/CAPABILITIES.md` e os manifestos em `.oxe/capabilities/` se existirem.
15
+ 2. Se o pedido for `list` ou genérico, responder com capabilities instaladas, escopo e riscos.
16
+ 3. Se o pedido for instalar ou remover, orientar o utilizador a usar `oxe-cc capabilities ...` ou o workflow equivalente aprovado pelo projeto.
17
+ 4. Se o pedido for diagnóstico, apontar drift entre índice, manifestos e artefatos esperados.
18
+ </process>
19
+
20
+ <success_criteria>
21
+ - [ ] O estado do catálogo foi lido a partir dos artefatos reais.
22
+ - [ ] A resposta deixa claro o que é capability nativa e o que é núcleo do OXE.
23
+ </success_criteria>
@@ -0,0 +1,23 @@
1
+ # OXE — Workflow: dashboard
2
+
3
+ <objective>
4
+ Gerar ou atualizar uma camada visual opcional para acompanhar execução, agentes, ondas, checkpoints e verify, usando apenas artefatos OXE como fonte de verdade.
5
+ </objective>
6
+
7
+ <context>
8
+ - A visualização é opcional e não substitui `.oxe/STATE.md`, `PLAN.md`, runtime operacional nem `VERIFY.md`.
9
+ - A dashboard deve refletir o estado atual, nunca inventar progresso.
10
+ - Quando criar `PLAN-REVIEW.md`, usar `oxe/templates/PLAN-REVIEW.template.md` como estrutura inicial.
11
+ </context>
12
+
13
+ <process>
14
+ 1. Ler `.oxe/STATE.md`, runtime operacional, blueprint de agentes e `VERIFY.md` quando existirem.
15
+ 2. Consolidar: fase, onda atual, agentes, checkpoints, bloqueios e evidências.
16
+ 3. Gerar artefato visual local ou estado preparado para renderização.
17
+ 4. Se faltar runtime operacional, explicar a lacuna antes de tentar visualizar.
18
+ </process>
19
+
20
+ <success_criteria>
21
+ - [ ] A dashboard usa somente artefatos OXE como entrada.
22
+ - [ ] Conflitos entre artefatos são explicitados.
23
+ </success_criteria>
@@ -6,12 +6,14 @@ Esclarecer requisitos **antes** do plano: registrar perguntas, respostas e decis
6
6
  Usar quando: SPEC existe mas há ambiguidade, risco técnico, ou `discuss_before_plan: true` em `.oxe/config.json`.
7
7
  </objective>
8
8
 
9
- <context>
10
- - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, usar `.oxe/<active_session>/spec/` para `SPEC.md` e `DISCUSS.md`; sem sessão ativa, manter `.oxe/`.
11
- - Ler `SPEC.md` do escopo resolvido, `.oxe/STATE.md` e trechos relevantes de `.oxe/codebase/OVERVIEW.md` / `STACK.md`.
12
- - Se existir `OBSERVATIONS.md` do escopo resolvido com entradas `pendente` de impacto `spec`, `plan` ou `all`, carregá-las como contexto adicional para as perguntas e decisões; marcá-las `incorporada discuss (data)` após uso.
13
- - Se existir **`.oxe/NOTES.md`**, rever bullets em aberto: promover para perguntas/decisões em `DISCUSS.md` ou marcar como *descartado* / *adiado* com uma linha de justificativa.
9
+ <context>
10
+ - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, usar `.oxe/<active_session>/spec/` para `SPEC.md` e `DISCUSS.md`; sem sessão ativa, manter `.oxe/`.
11
+ - Ler `SPEC.md` do escopo resolvido, `.oxe/STATE.md` e trechos relevantes de `.oxe/codebase/OVERVIEW.md` / `STACK.md`.
12
+ - Se a SPEC mencionar **Azure explicitamente** (Azure Service Bus, Azure Event Grid, Azure SQL, Azure CLI, ARM, subscription Azure): verificar `auth-status.json` e, se ativo, ler `.oxe/cloud/azure/INVENTORY.md` para contextualizar recursos existentes. Sugerir até 3 perguntas padrão quando o contexto for novo: (1) região/location preferida e resource group existente ou a criar; (2) tier/SKU necessário (ex.: Standard vs Premium para Service Bus); (3) se a operação exige VPN ou service principal dedicado. Referenciar recursos existentes no inventário pelo nome em vez de criar novos quando possível. **Nota:** SQL genérico (PostgreSQL, MySQL, SQL Server on-prem, SQLite) não aciona este bloco — somente quando a SPEC qualificar explicitamente com "Azure".
13
+ - Se existir `OBSERVATIONS.md` do escopo resolvido com entradas `pendente` de impacto `spec`, `plan` ou `all`, carregá-las como contexto adicional para as perguntas e decisões; marcá-las `incorporada → discuss (data)` após uso.
14
+ - Se existir **`.oxe/NOTES.md`**, rever bullets em aberto: promover para perguntas/decisões em `DISCUSS.md` ou marcar como *descartado* / *adiado* com uma linha de justificativa. Se não existir e houver necessidade, criar a partir de `oxe/templates/NOTES.template.md`.
14
15
  - Se `.oxe/config.json` existir e `discuss_before_plan` for `true`, tratar este passo como **recomendado** antes de `oxe:plan`.
16
+ - Usar `oxe/templates/DISCUSS.template.md` para criar o arquivo se ainda não existir.
15
17
  </context>
16
18
 
17
19
  <decision_ids>
@@ -26,16 +28,16 @@ Regras:
26
28
  </decision_ids>
27
29
 
28
30
  <process>
29
- 1. Se não existir `SPEC.md` no escopo resolvido, pedir **spec** primeiro (ou **quick** se for trabalho trivial).
31
+ 1. Se não existir `SPEC.md` no escopo resolvido, pedir **spec** primeiro (ou **quick** se for trabalho trivial).
30
32
  2. Se existir **`.oxe/NOTES.md`**, rever bullets em aberto e decidir o que entra em **Perguntas** ou **Decisões** (ou marcar *descartado* / *adiado* com justificativa curta).
31
33
  3. Identificar **lacunas** (escopo, dados, UX, edge cases, compatibilidade) — no máximo **7** perguntas objetivas.
32
- 4. Criar ou atualizar **`DISCUSS.md`** no escopo resolvido com estrutura fixa:
34
+ 4. Criar ou atualizar **`DISCUSS.md`** no escopo resolvido com estrutura fixa:
33
35
  - **Contexto** — 2–4 bullets do que já se sabe da SPEC.
34
36
  - **Perguntas** — numeradas; para cada uma: resposta (se o usuário já respondeu na mensagem) ou `_(pendente)_`.
35
37
  - **Decisões** — tabela com colunas **ID** / **Decisão** / **Data** / **Impacto no plano** (só as já fechadas). Atribuir IDs **D-01**, **D-02**, … em sequência.
36
38
  - **Implicações para o plano** — bullets (ex.: "migrations necessárias", "feature flag").
37
39
  5. Se ainda houver perguntas **pendentes** críticas, listá-las no chat (máx. 7) e parar até resposta; depois atualizar DISCUSS.md.
38
- 6. Atualizar **`.oxe/STATE.md`** global: fase `discuss_complete`, próximo passo `oxe:plan`. Registrar os IDs de decisão na seção **Decisões persistentes** do STATE (ex.: `D-01: escolheu JWT — 2025-01-15`).
40
+ 6. Atualizar **`.oxe/STATE.md`** global: fase `discuss_complete`, próximo passo `oxe:plan`. Registrar os IDs de decisão na seção **Decisões persistentes** do STATE (ex.: `D-01: escolheu JWT — 2025-01-15`).
39
41
  7. Resumo no chat em ≤8 linhas, listando decisões com seus IDs.
40
42
  </process>
41
43
 
@@ -70,7 +72,7 @@ updated: YYYY-MM-DD
70
72
  </discuss_md_format>
71
73
 
72
74
  <success_criteria>
73
- - [ ] `DISCUSS.md` existe no escopo correto com perguntas e decisões alinhadas à SPEC.
75
+ - [ ] `DISCUSS.md` existe no escopo correto com perguntas e decisões alinhadas à SPEC.
74
76
  - [ ] Cada decisão fechada tem ID único **D-NN** na tabela de Decisões.
75
77
  - [ ] Se existir `.oxe/NOTES.md`, as entradas relevantes foram tratadas (promovidas, descartadas ou adiadas com nota).
76
78
  - [ ] Nenhuma ambiguidade crítica ficou sem registro (como pendente ou suposição explícita na SPEC).
@@ -3,13 +3,13 @@
3
3
  <objective>
4
4
  Guiar a **implementação** de um plano OXE com dois modos possíveis:
5
5
 
6
- **Modo Solo (padrão):** seguir `PLAN.md` do escopo resolvido da sessão 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.
6
+ **Modo Solo (padrão):** seguir `PLAN.md` do escopo resolvido da sessão 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
7
 
8
- **Modo com Agentes (extensão):** quando existe `plan-agents.json` válido no escopo resolvido (schema 2+, lifecycle ativo, runId alinhado ao STATE), adotar roles e personas por agente conforme o blueprint.
8
+ **Modo com Agentes (extensão):** quando existe `plan-agents.json` válido no escopo resolvido (schema 2+, lifecycle ativo, runId alinhado ao STATE), adotar roles e personas por agente conforme o blueprint.
9
9
 
10
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
11
 
12
- Se existir apenas **`QUICK.md`** no escopo resolvido: tratar passos numerados como onda única (modo sempre Completo).
12
+ Se existir apenas **`QUICK.md`** no escopo resolvido: tratar passos numerados como onda única (modo sempre Completo).
13
13
  </objective>
14
14
 
15
15
  <modo_solo>
@@ -89,12 +89,25 @@ Quando o comando `**Verificar:**` de uma tarefa `Tn` falha, **não parar silenci
89
89
  **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.
90
90
  </failure_mode>
91
91
 
92
- <context>
93
- **Contrato de robustez:** seguir `oxe/workflows/references/flow-robustness-contract.md`. Antes de executar, validar os artefatos obrigatórios e o gate do plano.
92
+ <context>
93
+ **Contrato de robustez:** seguir `oxe/workflows/references/flow-robustness-contract.md`. Antes de executar, validar os artefatos obrigatórios e o gate do plano.
94
+
95
+ **Runtime operacional:** usar `EXECUTION-RUNTIME.md` do escopo resolvido como artefato tático da execução. Ele deve refletir agentes ativos, onda atual, handoffs, evidências, retries, checkpoints pendentes e tarefas bloqueadas. O `PLAN.md` continua estratégico; o runtime regista a operação do ciclo.
96
+
97
+ **Checkpoints de aprovação:** usar `CHECKPOINTS.md` do escopo resolvido para gates humanos explícitos. Estados válidos: `pending_approval`, `approved`, `rejected`, `overridden`. Se houver checkpoint pendente antes de uma onda de risco, side effect externo ou fecho sensível, a execução deve pausar até resolução explícita.
98
+
99
+ **Capabilities nativas:** ler `.oxe/CAPABILITIES.md` e capabilities locais relevantes antes de propor automações, pesquisa extra, publicação ou conectores. Só sugerir capabilities que existam no projeto ou estejam claramente ausentes.
94
100
 
95
- **Observações pendentes:** verificar `OBSERVATIONS.md` do escopo resolvido 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)`.
101
+ **Provider Azure:** quando a tarefa tocar Azure, usar os artefatos em `.oxe/cloud/azure/` como contexto real e tratar `oxe-cc azure ...` como capability operacional nativa. Operações `plan` e `apply` devem entrar no runtime, abrir checkpoint antes de mutação e registrar evidência em `.oxe/cloud/azure/operations/`.
102
+
103
+ **Observações pendentes:** verificar `OBSERVATIONS.md` do escopo resolvido no início de cada onda. Processar por severidade antes de executar qualquer tarefa:
104
+ - **`Severidade: blocking`** — não avançar para nenhuma tarefa da onda sem resolver. Apresentar o bloqueio ao usuário com contexto da onda atual e as opções A/B/C (ver `obs.md` passo 5). A onda só avança após o usuário escolher e o bloqueio ser tratado.
105
+ - **`Severidade: adjustment`** — incorporar como restrição nas tarefas afetadas desta onda antes de executar; não bloqueia o avanço.
106
+ - **`Severidade: info`** (ou sem campo Severidade — formato legado) — incorporar normalmente se impacto `execute` ou `all`.
107
+
108
+ Após incorporar: marcar `incorporada → execute (data)` em `OBSERVATIONS.md`.
96
109
 
97
- **Quick-agents (lean PDDA):** se existir **`quick-agents.json`** do escopo resolvido 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`.
110
+ **Quick-agents (lean PDDA):** se existir **`quick-agents.json`** do escopo resolvido 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`.
98
111
 
99
112
  **Model hints (blueprint com agentes):** ao apresentar a atribuição de cada agente no início da onda, exibir `model_hint` se presente:
100
113
  ```
@@ -103,7 +116,7 @@ Tarefas: T1, T2
103
116
  ```
104
117
  Se `model_hint` estiver ausente, não exibir a linha. O usuário pode configurar o modelo no IDE antes de iniciar aquele agente.
105
118
 
106
- **Blueprint plan-agent (Modo com Agentes):** adotar `role`/`scope` de **`plan-agents.json`** do escopo resolvido SOMENTE quando:
119
+ **Blueprint plan-agent (Modo com Agentes):** adotar `role`/`scope` de **`plan-agents.json`** do escopo resolvido SOMENTE quando:
107
120
  1. `lifecycle.status` ∈ `{ pending_execute, executing }` (não usar se `closed` ou `invalidated`).
108
121
  2. **`runId`** no JSON coincide com **`run_id`** no STATE.md (secção Blueprint de agentes).
109
122
  3. O pedido mapeia para pelo menos uma tarefa **`Tn`** no **`PLAN.md`**.
@@ -112,7 +125,7 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
112
125
 
113
126
  **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.
114
127
 
115
- **Protocolo agente → agente (blueprint):** mensagens em `plan-agent-messages/` do escopo resolvido conforme `oxe/workflows/references/plan-agent-chat-protocol.md`.
128
+ **Protocolo agente → agente (blueprint):** mensagens em `plan-agent-messages/` do escopo resolvido conforme `oxe/workflows/references/plan-agent-chat-protocol.md`.
116
129
 
117
130
  **Se PLAN.md não existir mas QUICK.md existir:** seguir QUICK.md — passos = onda única, sempre Modo Completo.
118
131
 
@@ -123,31 +136,40 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
123
136
  **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`.
124
137
  </context>
125
138
 
126
- <process>
127
- 1. Ler **`.oxe/STATE.md`** global para resolver `active_session`, depois ler **`PLAN.md`** (se existir) e **`QUICK.md`** do escopo resolvido.
128
- 2. Se existir `PLAN.md`, validar a seção `## Autoavaliação do Plano` antes de qualquer implementação:
129
- - `Melhor plano atual` deve ser `sim`;
130
- - `Confiança` deve existir em `0–100%`;
131
- - se `.oxe/config.json` definir `plan_confidence_threshold`, usar esse limiar; senão, usar `70%`;
132
- - se a confiança estiver abaixo do limiar, **não executar**. Registrar o bloqueio e orientar redução de incerteza (`/oxe-discuss`, `/oxe-research` ou `/oxe-plan --replan`).
133
- 3. Verificar **`OBSERVATIONS.md`** do escopo resolvido — incorporar pendentes de impacto `execute` ou `all` antes de iniciar.
134
- 4. **Seleção de modo** (apenas se PLAN.md com 2+ ondas e `execute_mode` não definido em STATE): se o argumento for `A`, `B` ou `C`, usá-lo diretamente; senão apresentar opções A/B/C e aguardar escolha; registrar em STATE.md.
135
- 5. 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.
136
- 6. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** de cada tarefa.
137
- 7. **Implementar** conforme o modo escolhido:
138
- - **Modo Completo:** executar todas as ondas em sequência com verificação inline entre ondas; sumarizar ao final.
139
- - **Modo Por onda:** executar onda atual, apresentar checklist, parar.
140
- - **Modo Por tarefa:** executar próxima tarefa pendente, parar.
141
- 8. Após cada onda concluída, incluir checklist:
142
- ```markdown
143
- ## Checklist Onda N (OXE)
144
- - [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
145
- - [ ] Implementação da onda concluída
146
- - [ ] Comando Verificar de cada tarefa executado (ou agendado)
147
- ```
148
- 9. Atualizar **`.oxe/STATE.md`** global com progresso resumido e, com sessão ativa, escrever o detalhe operacional em `execution/STATE.md`.
149
- 10. Marcar OBS incorporadas como `incorporada → execute (data)` em `OBSERVATIONS.md` do escopo resolvido.
150
- </process>
139
+ <process>
140
+ 1. Ler **`.oxe/STATE.md`** global para resolver `active_session`, depois ler **`PLAN.md`** (se existir) e **`QUICK.md`** do escopo resolvido.
141
+ 2. Se existir `PLAN.md`, validar a seção `## Autoavaliação do Plano` antes de qualquer implementação:
142
+ - `Melhor plano atual` deve ser `sim`;
143
+ - `Confiança` deve existir em `0–100%`;
144
+ - se `.oxe/config.json` definir `plan_confidence_threshold`, usar esse limiar; senão, usar `70%`;
145
+ - se a confiança estiver abaixo do limiar, **não executar**. Registrar o bloqueio e orientar redução de incerteza (`/oxe-discuss`, `/oxe-research` ou `/oxe-plan --replan`).
146
+ 3. Antes da primeira mudança, verificar `CHECKPOINTS.md` e `EXECUTION-RUNTIME.md` do escopo resolvido:
147
+ - se houver checkpoint `pending_approval` que se aplique à onda atual, **não avançar**;
148
+ - inicializar ou atualizar o runtime com onda atual, status, agentes ativos, handoffs e evidências esperadas.
149
+ 4. Verificar **`OBSERVATIONS.md`** do escopo resolvido antes de iniciar cada onda:
150
+ - Se houver obs com `Status: pendente` e `Severidade: blocking`: **não avançar** para nenhuma tarefa da onda — apresentar ao usuário o bloqueio com contexto da onda e opções A/B/C de resolução
151
+ - Se houver obs com `Status: pendente` e `Severidade: adjustment`: incorporar como restrição nas tarefas afetadas desta onda antes de executar
152
+ - Se houver obs sem campo Severidade (formato legado) ou `Severidade: info` com impacto `execute` ou `all`: incorporar normalmente
153
+ - Após incorporar: marcar `incorporada execute (data)` em `OBSERVATIONS.md`
154
+ 5. **Seleção de modo** (apenas se PLAN.md com 2+ ondas e `execute_mode` não definido em STATE): se o argumento já for `A`, `B` ou `C`, usá-lo diretamente; senão apresentar opções A/B/C e aguardar escolha; registrar em STATE.md.
155
+ 6. 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.
156
+ 7. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** de cada tarefa.
157
+ 8. **Implementar** conforme o modo escolhido:
158
+ - **Modo Completo:** executar todas as ondas em sequência com verificação inline entre ondas; sumarizar ao final.
159
+ - **Modo Por onda:** executar onda atual, apresentar checklist, parar.
160
+ - **Modo Por tarefa:** executar próxima tarefa pendente, parar.
161
+ - Em qualquer modo: atualizar `EXECUTION-RUNTIME.md` a cada mudança de onda, bloqueio, retry, handoff ou checkpoint.
162
+ 9. Após cada onda concluída, incluir checklist:
163
+ ```markdown
164
+ ## Checklist — Onda N (OXE)
165
+ - [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
166
+ - [ ] Implementação da onda concluída
167
+ - [ ] Comando Verificar de cada tarefa executado (ou agendado)
168
+ ```
169
+ 10. Atualizar **`.oxe/STATE.md`** global com progresso resumido e, com sessão ativa, escrever o detalhe operacional em `execution/STATE.md`.
170
+ 11. Atualizar ou criar `CHECKPOINTS.md` quando surgir gate humano explícito; refletir o status resumido no `STATE.md` global (`checkpoint_status`) e no runtime (`runtime_status`).
171
+ 12. Marcar OBS incorporadas como `incorporada → execute (data)` em `OBSERVATIONS.md` do escopo resolvido.
172
+ </process>
151
173
 
152
174
  <success_criteria>
153
175
  - [ ] Modo de execução foi selecionado (ou herdado do STATE) antes de implementar.
@@ -155,7 +177,7 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
155
177
  - [ ] Checklist da onda apresentado ou refletido no STATE.md.
156
178
  - [ ] STATE.md registra progresso (Tn ou passos) e próximo passo.
157
179
  - [ ] Verificação alinhada ao bloco **Verificar** do PLAN ou QUICK.
158
- - [ ] OBS pendentes de impacto `execute` incorporadas no início da onda.
180
+ - [ ] OBS pendentes verificadas antes de cada onda: `blocking` resolvidos antes de avançar, `adjustment` incorporados como restrições, `info`/legado incorporados normalmente.
159
181
  - [ ] Com quick-agents ativos: cada agente trabalha só em seus `steps[]`; ao concluir, `quick-agents.json` → `done`.
160
182
  - [ ] 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.
161
183
  </success_criteria>