oxe-cc 0.6.5 → 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 (55) hide show
  1. package/.cursor/commands/oxe-ask.md +11 -0
  2. package/.cursor/commands/oxe-capabilities.md +11 -0
  3. package/.cursor/commands/oxe-dashboard.md +11 -0
  4. package/.github/prompts/oxe-ask.prompt.md +12 -0
  5. package/.github/prompts/oxe-capabilities.prompt.md +12 -0
  6. package/.github/prompts/oxe-dashboard.prompt.md +12 -0
  7. package/CHANGELOG.md +33 -0
  8. package/README.md +189 -34
  9. package/assets/oxe-framework-artifacts-paper.png +0 -0
  10. package/bin/banner.txt +1 -1
  11. package/bin/lib/oxe-azure.cjs +1445 -0
  12. package/bin/lib/oxe-dashboard.cjs +588 -0
  13. package/bin/lib/oxe-install-resolve.cjs +4 -1
  14. package/bin/lib/oxe-operational.cjs +670 -0
  15. package/bin/lib/oxe-project-health.cjs +655 -118
  16. package/bin/oxe-cc.js +1404 -17
  17. package/commands/oxe/ask.md +14 -0
  18. package/commands/oxe/capabilities.md +13 -0
  19. package/commands/oxe/dashboard.md +14 -0
  20. package/lib/sdk/README.md +9 -7
  21. package/lib/sdk/index.cjs +56 -0
  22. package/lib/sdk/index.d.ts +73 -0
  23. package/oxe/templates/ACTIVE-RUN.template.json +32 -0
  24. package/oxe/templates/CAPABILITIES.template.md +7 -0
  25. package/oxe/templates/CAPABILITY.template.md +45 -0
  26. package/oxe/templates/CHECKPOINTS.template.md +7 -0
  27. package/oxe/templates/CONFIG.md +3 -2
  28. package/oxe/templates/EXECUTION-RUNTIME.template.md +68 -0
  29. package/oxe/templates/INVESTIGATION.template.md +38 -0
  30. package/oxe/templates/NOTES.template.md +16 -0
  31. package/oxe/templates/PLAN-REVIEW.template.md +31 -0
  32. package/oxe/templates/PLAN.template.md +22 -7
  33. package/oxe/templates/RESEARCH.template.md +11 -4
  34. package/oxe/templates/SPEC.template.md +6 -4
  35. package/oxe/templates/STATE.md +45 -7
  36. package/oxe/templates/config.template.json +14 -5
  37. package/oxe/workflows/ask.md +71 -0
  38. package/oxe/workflows/capabilities.md +23 -0
  39. package/oxe/workflows/dashboard.md +23 -0
  40. package/oxe/workflows/discuss.md +11 -9
  41. package/oxe/workflows/execute.md +46 -17
  42. package/oxe/workflows/help.md +273 -239
  43. package/oxe/workflows/next.md +10 -8
  44. package/oxe/workflows/obs.md +70 -20
  45. package/oxe/workflows/plan-agent.md +2 -1
  46. package/oxe/workflows/plan.md +70 -21
  47. package/oxe/workflows/quick.md +14 -6
  48. package/oxe/workflows/references/adaptive-discovery.md +27 -0
  49. package/oxe/workflows/references/flow-robustness-contract.md +80 -0
  50. package/oxe/workflows/research.md +12 -8
  51. package/oxe/workflows/retro.md +30 -5
  52. package/oxe/workflows/scan.md +1 -0
  53. package/oxe/workflows/spec.md +58 -33
  54. package/oxe/workflows/verify.md +40 -10
  55. package/package.json +2 -2
@@ -2,8 +2,9 @@
2
2
  "_comment": "OXE config — copie para .oxe/config.json no seu projeto. Remova esta linha.",
3
3
  "profile": "balanced",
4
4
  "discuss_before_plan": false,
5
- "verification_depth": "standard",
6
- "security_in_verify": false,
5
+ "verification_depth": "standard",
6
+ "plan_confidence_threshold": 70,
7
+ "security_in_verify": false,
7
8
  "after_verify_suggest_pr": true,
8
9
  "after_verify_draft_commit": true,
9
10
  "after_verify_suggest_uat": false,
@@ -15,9 +16,17 @@
15
16
  "scan_focus_globs": [],
16
17
  "scan_ignore_globs": [],
17
18
  "spec_required_sections": [],
18
- "plan_max_tasks_per_wave": 0,
19
- "install": {
20
- "profile": "recommended",
19
+ "plan_max_tasks_per_wave": 0,
20
+ "azure": {
21
+ "enabled": false,
22
+ "default_resource_group": "",
23
+ "preferred_locations": [],
24
+ "inventory_max_age_hours": 24,
25
+ "resource_graph_auto_install": true,
26
+ "vpn_required": false
27
+ },
28
+ "install": {
29
+ "profile": "recommended",
21
30
  "repo_layout": "nested",
22
31
  "vscode": false,
23
32
  "include_commands_dir": true,
@@ -0,0 +1,71 @@
1
+ # OXE — Workflow: ask
2
+
3
+ <objective>
4
+ Responder perguntas sobre a situação atual do trabalho OXE com máxima robustez, usando o contexto real do repositório, a sessão ativa quando existir, e os artefatos mais recentes da trilha.
5
+ </objective>
6
+
7
+ <context>
8
+ - Resolver `active_session` via `oxe/workflows/references/session-path-resolution.md`.
9
+ - Ler sempre `.oxe/STATE.md` global primeiro.
10
+ - Com sessão ativa, priorizar artefatos em `.oxe/<active_session>/...` antes do modo legado.
11
+ - Usar `.oxe/codebase/` como mapa do repositório, não como substituto dos artefatos da trilha.
12
+ - Se a pergunta estiver ambígua, responder em modo “situação atual + próximos riscos + melhor próxima ação”.
13
+ - Aplicar discovery adaptativo leve: classificar se a pergunta é sobre estado atual, bloqueio, estratégia, execução, verificação, instalação ou investigação antes de decidir o conjunto de artefatos prioritários.
14
+ </context>
15
+
16
+ <process>
17
+ 1. Ler `.oxe/STATE.md` global e determinar se há `active_session`.
18
+ 2. Se houver sessão ativa, ler nesta ordem:
19
+ - `SESSION.md`
20
+ - `spec/SPEC.md`, `spec/ROADMAP.md`, `spec/DISCUSS.md`, `spec/UI-SPEC.md` se existirem
21
+ - `plan/PLAN.md`, `plan/QUICK.md`, `plan/plan-agents.json`, `plan/quick-agents.json` se existirem
22
+ - `execution/STATE.md`, `execution/EXECUTION-RUNTIME.md`, `execution/CHECKPOINTS.md`, `execution/OBSERVATIONS.md`, `execution/DEBUG.md`, `execution/FORENSICS.md`, `execution/SUMMARY.md` se existirem
23
+ - `research/INVESTIGATIONS.md`, `research/RESEARCH.md`, `research/investigations/` se existirem
24
+ - `verification/VERIFY.md`, `verification/VALIDATION-GAPS.md`, `verification/SECURITY.md`, `verification/UI-REVIEW.md` se existirem
25
+ 3. Sem sessão ativa, ler o equivalente legado na raiz `.oxe/`.
26
+ 4. Em ambos os casos, ler também:
27
+ - `.oxe/codebase/OVERVIEW.md`
28
+ - `.oxe/codebase/STACK.md`
29
+ - `.oxe/codebase/CONCERNS.md`
30
+ - `.oxe/CAPABILITIES.md` e `.oxe/capabilities/` se a pergunta tocar execução, pesquisa, automação ou integrações
31
+ - `.oxe/INVESTIGATIONS.md` se a pergunta tocar incertezas, descoberta ou evidência
32
+ - `.oxe/memory/` se existir memória persistente relevante ao assunto
33
+ - `.oxe/global/LESSONS.md` se existir, com fallback para `.oxe/LESSONS.md`
34
+ - `.oxe/SESSIONS.md` se a pergunta mencionar sessões, histórico ou retomada
35
+ - `.oxe/cloud/azure/INVENTORY.md`, `SERVICEBUS.md`, `EVENTGRID.md`, `SQL.md` e `auth-status.json` se a pergunta tocar Azure, cloud, infraestrutura, mensageria, integração ou banco gerido
36
+ 5. Responder à pergunta do utilizador com base em evidência explícita dos artefatos lidos.
37
+ 6. Se faltar artefato crítico para responder com segurança, dizer exatamente o que falta e qual comando OXE fecha essa lacuna.
38
+
39
+ ## Modo diagnóstico padrão
40
+
41
+ Se o utilizador só disser algo genérico como “o que está acontecendo?”, “qual a situação?” ou “me contextualize”, responder com:
42
+
43
+ - **Situação atual**
44
+ - **Escopo ativo**
45
+ - **Artefatos relevantes**
46
+ - **Riscos ou lacunas**
47
+ - **Próximo passo recomendado**
48
+
49
+ ## Regras de robustez
50
+
51
+ - Não assumir que `doctor` ou `status` sejam session-aware; eles não substituem a leitura direta dos artefatos da sessão.
52
+ - Se houver conflito entre `.oxe/STATE.md` global e `execution/STATE.md` da sessão, explicitar o conflito.
53
+ - Se houver `CHECKPOINTS.md` com itens `pending_approval`, isso tem precedência operacional sobre o “próximo passo” implícito.
54
+ - Se `EXECUTION-RUNTIME.md` ou `INVESTIGATIONS.md` existirem, tratá-los como evidência tática complementar para explicar bloqueios, handoffs, riscos e lacunas.
55
+ - Se `VERIFY.md` existir e contradizer o estado declarado, priorizar a evidência do `VERIFY.md` e mencionar a incoerência.
56
+ - Se existir inventário Azure materializado, priorizar esse inventário sobre suposições sobre recursos cloud.
57
+ - Se o mapa `.oxe/codebase/` estiver ausente ou incompleto, dizer isso explicitamente antes de extrapolar sobre o repositório.
58
+ </process>
59
+
60
+ <output>
61
+ - Resposta direta à pergunta do utilizador
62
+ - Referência curta aos artefatos usados
63
+ - Quando necessário, um único próximo passo OXE
64
+ </output>
65
+
66
+ <success_criteria>
67
+ - [ ] A resposta parte de `.oxe/STATE.md` global e resolve corretamente a sessão ativa quando existir.
68
+ - [ ] O contexto da sessão ativa tem precedência sobre artefatos legados.
69
+ - [ ] Conflitos ou lacunas entre artefatos são explicitados.
70
+ - [ ] A saída responde à pergunta sem inventar estado que não esteja nos arquivos.
71
+ </success_criteria>
@@ -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>
@@ -90,9 +90,24 @@ Quando o comando `**Verificar:**` de uma tarefa `Tn` falha, **não parar silenci
90
90
  </failure_mode>
91
91
 
92
92
  <context>
93
- **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)`.
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
94
 
95
- **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 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`.
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.
100
+
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`.
109
+
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`.
96
111
 
97
112
  **Model hints (blueprint com agentes):** ao apresentar a atribuição de cada agente no início da onda, exibir `model_hint` se presente:
98
113
  ```
@@ -101,7 +116,7 @@ Tarefas: T1, T2
101
116
  ```
102
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.
103
118
 
104
- **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:
105
120
  1. `lifecycle.status` ∈ `{ pending_execute, executing }` (não usar se `closed` ou `invalidated`).
106
121
  2. **`runId`** no JSON coincide com **`run_id`** no STATE.md (secção Blueprint de agentes).
107
122
  3. O pedido mapeia para pelo menos uma tarefa **`Tn`** no **`PLAN.md`**.
@@ -110,7 +125,7 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
110
125
 
111
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.
112
127
 
113
- **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`.
114
129
 
115
130
  **Se PLAN.md não existir mas QUICK.md existir:** seguir QUICK.md — passos = onda única, sempre Modo Completo.
116
131
 
@@ -122,24 +137,38 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
122
137
  </context>
123
138
 
124
139
  <process>
125
- 1. Ler **`.oxe/STATE.md`** global para resolver `active_session`, depois ler **`PLAN.md`** (se existir) e **`QUICK.md`** do escopo resolvido.
126
- 2. Verificar **`OBSERVATIONS.md`** do escopo resolvido incorporar pendentes de impacto `execute` ou `all` antes de iniciar.
127
- 3. **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.
128
- 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.
129
- 5. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** de cada tarefa.
130
- 6. **Implementar** conforme o modo escolhido:
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:
131
158
  - **Modo Completo:** executar todas as ondas em sequência com verificação inline entre ondas; sumarizar ao final.
132
159
  - **Modo Por onda:** executar onda atual, apresentar checklist, parar.
133
160
  - **Modo Por tarefa:** executar próxima tarefa pendente, parar.
134
- 7. Após cada onda concluída, incluir checklist:
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:
135
163
  ```markdown
136
164
  ## Checklist — Onda N (OXE)
137
165
  - [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
138
166
  - [ ] Implementação da onda concluída
139
167
  - [ ] Comando Verificar de cada tarefa executado (ou agendado)
140
168
  ```
141
- 8. Atualizar **`.oxe/STATE.md`** global com progresso resumido e, com sessão ativa, escrever o detalhe operacional em `execution/STATE.md`.
142
- 9. Marcar OBS incorporadas como `incorporada execute (data)` em `OBSERVATIONS.md` do escopo resolvido.
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.
143
172
  </process>
144
173
 
145
174
  <success_criteria>
@@ -148,7 +177,7 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
148
177
  - [ ] Checklist da onda apresentado ou refletido no STATE.md.
149
178
  - [ ] STATE.md registra progresso (Tn ou passos) e próximo passo.
150
179
  - [ ] Verificação alinhada ao bloco **Verificar** do PLAN ou QUICK.
151
- - [ ] 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.
152
181
  - [ ] Com quick-agents ativos: cada agente trabalha só em seus `steps[]`; ao concluir, `quick-agents.json` → `done`.
153
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.
154
183
  </success_criteria>