oxe-cc 1.5.1 → 1.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 (38) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +27 -0
  3. package/README.md +16 -14
  4. package/bin/lib/oxe-dashboard.cjs +21 -5
  5. package/bin/lib/oxe-project-health.cjs +120 -42
  6. package/bin/lib/oxe-release.cjs +76 -4
  7. package/bin/oxe-cc.js +68 -39
  8. package/docs/RELEASE-READINESS.md +8 -0
  9. package/docs/RUNTIME-SMOKE-MATRIX.md +9 -2
  10. package/lib/sdk/index.cjs +10 -5
  11. package/lib/sdk/index.d.ts +21 -10
  12. package/oxe/templates/CONFIG.md +3 -3
  13. package/oxe/templates/EXECUTION-RUNTIME.template.md +1 -1
  14. package/oxe/templates/FIXTURE-PACK.template.json +34 -34
  15. package/oxe/templates/FIXTURE-PACK.template.md +21 -21
  16. package/oxe/templates/IMPLEMENTATION-PACK.template.json +52 -52
  17. package/oxe/templates/IMPLEMENTATION-PACK.template.md +36 -36
  18. package/oxe/templates/INVESTIGATION.template.md +38 -38
  19. package/oxe/templates/PLAN.template.md +46 -46
  20. package/oxe/templates/REFERENCE-ANCHORS.template.md +24 -24
  21. package/oxe/templates/RESEARCH.template.md +11 -11
  22. package/oxe/templates/SPEC.template.md +6 -6
  23. package/oxe/templates/SUMMARY.template.md +20 -20
  24. package/oxe/templates/config.template.json +1 -1
  25. package/oxe/workflows/execute.md +36 -36
  26. package/oxe/workflows/milestone.md +12 -12
  27. package/oxe/workflows/next.md +1 -1
  28. package/oxe/workflows/plan.md +132 -132
  29. package/oxe/workflows/references/adaptive-discovery.md +27 -27
  30. package/oxe/workflows/references/flow-robustness-contract.md +80 -80
  31. package/oxe/workflows/references/session-path-resolution.md +71 -71
  32. package/oxe/workflows/references/workflow-runtime-contracts.json +127 -127
  33. package/oxe/workflows/verify.md +4 -4
  34. package/oxe/workflows/workstream.md +16 -16
  35. package/package.json +1 -1
  36. package/packages/runtime/package.json +1 -1
  37. package/vscode-extension/oxe-agents-1.6.0.vsix +0 -0
  38. package/vscode-extension/package.json +1 -1
@@ -1,83 +1,83 @@
1
1
  # OXE — Workflow: plan
2
2
 
3
- <objective>
4
- Produzir **`.oxe/PLAN.md`**: tarefas **pequenas**, **ondas** (paralelizáveis vs sequenciais), e **cada tarefa com bloco de verificação** (comando de teste e/ou checklist manual).
5
-
6
- Além do `PLAN.md`, este passo deve gerar no mesmo escopo resolvido da sessão os artefatos racionais de execução:
7
- - `.oxe/IMPLEMENTATION-PACK.md`
8
- - `.oxe/IMPLEMENTATION-PACK.json`
9
- - `.oxe/REFERENCE-ANCHORS.md`
10
- - `.oxe/FIXTURE-PACK.md`
11
- - `.oxe/FIXTURE-PACK.json`
12
-
13
- Esses artefatos são obrigatórios para considerar o plano executável. Quando algo não se aplicar, marcar explicitamente `not_applicable`; nunca omitir o arquivo.
14
-
15
- Base: `SPEC.md` do escopo resolvido da sessão (critérios com IDs **A1**, **A2**, …) + `.oxe/codebase/*` + código quando necessário (Grep/Read pontual).
16
-
17
- Se o usuário pedir **--replan** (ou replanejamento implícito após `verify_failed`):
18
- - Ler `VERIFY.md` e `SUMMARY.md` do escopo resolvido, e o `PLAN.md` atual.
19
- - Preservar tarefas já concluídas ou renumerar com nota em **Replanejamento**; não apagar histórico útil — deslocar para a seção **Replanejamento** e reescrever **Tarefas** conforme necessário.
20
- - Se **SUMMARY.md** não existir, criar a partir de `oxe/templates/SUMMARY.template.md` para registrar o contexto do replan (ou dar append se já existir).
21
- </objective>
22
-
23
- <execution_rational_artifacts>
24
- ## Artefatos racionais obrigatórios
25
-
26
- ### IMPLEMENTATION-PACK
27
- Contrato de implementação por tarefa `Tn`, com:
28
- - caminhos exatos dos arquivos alvo, sem `...` e sem "arquivos prováveis" vagos;
29
- - symbols alvo (classe, função, método, listener, builder, config, migration);
30
- - assinatura/shape de entrada e saída;
31
- - dependências, invariantes, `not_allowed`, `write_set`, `expected_checks` e `requires_fixture`;
32
- - snippets somente quando ancorados em evidência local ou materializada.
33
-
34
- ### REFERENCE-ANCHORS
35
- Materializa referências críticas que hoje ficam frouxas no plano:
36
- - predecessor, layout, contrato externo ou `external-ref`;
37
- - origem local ou materializada em `.oxe/investigations/externals/`;
38
- - `source_ref`, `path`, `relevance`, `action`, `summary`, `status`;
39
- - estados válidos: `resolved`, `missing`, `stale`, `conflicting`, `not_applicable`.
40
-
41
- ### FIXTURE-PACK
42
- Fixtures mínimos por fluxo/tarefa de risco:
43
- - payloads, arquivos exemplo, trechos significativos, offsets/campos críticos;
44
- - expected outputs ou checks parciais/completos;
45
- - queries/checks de validação e smoke commands.
46
-
47
- Regra de readiness:
48
- - `IMPLEMENTATION-PACK` precisa estar `ready`;
49
- - `REFERENCE-ANCHORS` não pode ter âncora crítica em `missing|stale|conflicting`;
50
- - `FIXTURE-PACK` é obrigatório para tarefas mutáveis com parser/layout/integração/transformação/fila/migração/builder;
51
- - qualquer `critical_gap` aberto derruba a prontidão executável do plano.
52
- </execution_rational_artifacts>
53
-
54
- <plan_iteration_contract>
55
- ## Contrato de iteração do plano
56
-
57
- Quando já existir `PLAN.md` no escopo resolvido, a regra do OXE é esta:
58
-
59
- 1. **Mesmo escopo e mesma spec, mas o usuário quer refinar o plano**:
60
- - tratar uma nova chamada de `/oxe-plan` como **replan implícito**, mesmo sem `--replan`;
61
- - preservar histórico útil e preencher a seção **Replanejamento**.
62
- 2. **A estratégia técnica mudou** (arquitetura, tradeoff, sequencing, decisão de implementação, boundary entre componentes):
63
- - **não** reescrever o plano como se fosse só refinamento;
64
- - orientar ou executar `discuss` antes do novo plano;
65
- - depois voltar a `plan` em modo de replanejamento.
66
- 3. **O escopo mudou** (requisitos, critérios A*, prioridade, corte de entrega, aceite, roadmap):
67
- - **não** tratar como replan simples;
68
- - voltar para `spec` antes de gerar novo plano.
69
- 4. **Regra de precedência**:
70
- - mudança de escopo → `spec`
71
- - mudança de estratégia → `discuss`
72
- - mudança de decomposição/ordem/risco/validação mantendo o mesmo escopo → `plan --replan`
73
-
74
- Resumo operacional:
75
- - `/oxe-plan` repetido até o usuário ficar satisfeito é válido, mas, se já houver `PLAN.md`, isso deve ser tratado como **replan implícito** por padrão.
76
- - O agente só deve continuar refinando o plano na mesma trilha quando os requisitos e critérios da `SPEC.md` permanecerem válidos.
77
- </plan_iteration_contract>
78
-
79
- <context>
80
- - Aplicar `oxe/workflows/references/reasoning-planning.md` como contrato deste passo. O `PLAN.md` deve sair decision-complete e não deixar decisões relevantes para a execução.
3
+ <objective>
4
+ Produzir **`.oxe/PLAN.md`**: tarefas **pequenas**, **ondas** (paralelizáveis vs sequenciais), e **cada tarefa com bloco de verificação** (comando de teste e/ou checklist manual).
5
+
6
+ Além do `PLAN.md`, este passo deve gerar no mesmo escopo resolvido da sessão os artefatos racionais de execução:
7
+ - `.oxe/IMPLEMENTATION-PACK.md`
8
+ - `.oxe/IMPLEMENTATION-PACK.json`
9
+ - `.oxe/REFERENCE-ANCHORS.md`
10
+ - `.oxe/FIXTURE-PACK.md`
11
+ - `.oxe/FIXTURE-PACK.json`
12
+
13
+ Esses artefatos são obrigatórios para considerar o plano executável. Quando algo não se aplicar, marcar explicitamente `not_applicable`; nunca omitir o arquivo.
14
+
15
+ Base: `SPEC.md` do escopo resolvido da sessão (critérios com IDs **A1**, **A2**, …) + `.oxe/codebase/*` + código quando necessário (Grep/Read pontual).
16
+
17
+ Se o usuário pedir **--replan** (ou replanejamento implícito após `verify_failed`):
18
+ - Ler `VERIFY.md` e `SUMMARY.md` do escopo resolvido, e o `PLAN.md` atual.
19
+ - Preservar tarefas já concluídas ou renumerar com nota em **Replanejamento**; não apagar histórico útil — deslocar para a seção **Replanejamento** e reescrever **Tarefas** conforme necessário.
20
+ - Se **SUMMARY.md** não existir, criar a partir de `oxe/templates/SUMMARY.template.md` para registrar o contexto do replan (ou dar append se já existir).
21
+ </objective>
22
+
23
+ <execution_rational_artifacts>
24
+ ## Artefatos racionais obrigatórios
25
+
26
+ ### IMPLEMENTATION-PACK
27
+ Contrato de implementação por tarefa `Tn`, com:
28
+ - caminhos exatos dos arquivos alvo, sem `...` e sem "arquivos prováveis" vagos;
29
+ - symbols alvo (classe, função, método, listener, builder, config, migration);
30
+ - assinatura/shape de entrada e saída;
31
+ - dependências, invariantes, `not_allowed`, `write_set`, `expected_checks` e `requires_fixture`;
32
+ - snippets somente quando ancorados em evidência local ou materializada.
33
+
34
+ ### REFERENCE-ANCHORS
35
+ Materializa referências críticas que hoje ficam frouxas no plano:
36
+ - predecessor, layout, contrato externo ou `external-ref`;
37
+ - origem local ou materializada em `.oxe/investigations/externals/`;
38
+ - `source_ref`, `path`, `relevance`, `action`, `summary`, `status`;
39
+ - estados válidos: `resolved`, `missing`, `stale`, `conflicting`, `not_applicable`.
40
+
41
+ ### FIXTURE-PACK
42
+ Fixtures mínimos por fluxo/tarefa de risco:
43
+ - payloads, arquivos exemplo, trechos significativos, offsets/campos críticos;
44
+ - expected outputs ou checks parciais/completos;
45
+ - queries/checks de validação e smoke commands.
46
+
47
+ Regra de readiness:
48
+ - `IMPLEMENTATION-PACK` precisa estar `ready`;
49
+ - `REFERENCE-ANCHORS` não pode ter âncora crítica em `missing|stale|conflicting`;
50
+ - `FIXTURE-PACK` é obrigatório para tarefas mutáveis com parser/layout/integração/transformação/fila/migração/builder;
51
+ - qualquer `critical_gap` aberto derruba a prontidão executável do plano.
52
+ </execution_rational_artifacts>
53
+
54
+ <plan_iteration_contract>
55
+ ## Contrato de iteração do plano
56
+
57
+ Quando já existir `PLAN.md` no escopo resolvido, a regra do OXE é esta:
58
+
59
+ 1. **Mesmo escopo e mesma spec, mas o usuário quer refinar o plano**:
60
+ - tratar uma nova chamada de `/oxe-plan` como **replan implícito**, mesmo sem `--replan`;
61
+ - preservar histórico útil e preencher a seção **Replanejamento**.
62
+ 2. **A estratégia técnica mudou** (arquitetura, tradeoff, sequencing, decisão de implementação, boundary entre componentes):
63
+ - **não** reescrever o plano como se fosse só refinamento;
64
+ - orientar ou executar `discuss` antes do novo plano;
65
+ - depois voltar a `plan` em modo de replanejamento.
66
+ 3. **O escopo mudou** (requisitos, critérios A*, prioridade, corte de entrega, aceite, roadmap):
67
+ - **não** tratar como replan simples;
68
+ - voltar para `spec` antes de gerar novo plano.
69
+ 4. **Regra de precedência**:
70
+ - mudança de escopo → `spec`
71
+ - mudança de estratégia → `discuss`
72
+ - mudança de decomposição/ordem/risco/validação mantendo o mesmo escopo → `plan --replan`
73
+
74
+ Resumo operacional:
75
+ - `/oxe-plan` repetido até o usuário ficar satisfeito é válido, mas, se já houver `PLAN.md`, isso deve ser tratado como **replan implícito** por padrão.
76
+ - O agente só deve continuar refinando o plano na mesma trilha quando os requisitos e critérios da `SPEC.md` permanecerem válidos.
77
+ </plan_iteration_contract>
78
+
79
+ <context>
80
+ - Aplicar `oxe/workflows/references/reasoning-planning.md` como contrato deste passo. O `PLAN.md` deve sair decision-complete e não deixar decisões relevantes para a execução.
81
81
  - Seguir `oxe/workflows/references/flow-robustness-contract.md` como contrato canónico de robustez. A ordem obrigatória é: ler artefatos, resolver sessão/paths, validar pré-condições, escrever o plano, autoavaliar o plano, registrar próximo passo único.
82
82
  - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, o plano vive em `.oxe/<active_session>/plan/` e lê a spec em `.oxe/<active_session>/spec/`.
83
83
  - Antes do scan amplo, carregar `.oxe/context/packs/plan.md` e `.oxe/context/packs/plan.json` como entrada prioritária do contexto do passo.
@@ -152,11 +152,11 @@ Depois do resumo e antes das tarefas, o `PLAN.md` deve conter também:
152
152
  | Clareza da validação / testes | 15 |
153
153
  | Lacunas externas / decisões pendentes | 10 |
154
154
 
155
- **Faixas semânticas obrigatórias:**
156
- - `91–100%` → pronto para executar
157
- - `80–90%` → plano racional, mas ainda não executável
158
- - `50–79%` → precisa refino antes de execução
159
- - `<50%` → não executar
155
+ **Faixas semânticas obrigatórias:**
156
+ - `91–100%` → pronto para executar
157
+ - `80–90%` → plano racional, mas ainda não executável
158
+ - `50–79%` → precisa refino antes de execução
159
+ - `<50%` → não executar
160
160
 
161
161
  **Entradas obrigatórias da confiança:**
162
162
  - usar as incertezas estruturadas da SPEC e as investigações concluídas como base direta da rubrica;
@@ -171,9 +171,9 @@ Depois do resumo e antes das tarefas, o `PLAN.md` deve conter também:
171
171
  | `L` | < 1 dia, múltiplos componentes | Verificar que Verificar é específico |
172
172
  | `XL` | > 1 dia, impacto arquitetural | **Gate: deve ser quebrada em sub-tarefas ou ter justificativa** |
173
173
 
174
- **Princípio test-first:** escreva o `Verificar` antes de escrever o `Implementar`. A pergunta é: "Como saberei que está pronto?" — a resposta define o target; `Implementar` é o caminho mínimo até esse target.
175
-
176
- **Contrato racional por tarefa:** se a tarefa for mutável ou tecnicamente relevante, o `PLAN.md` sozinho não basta. O `IMPLEMENTATION-PACK` deve fechar o write-set, os symbols e os checks; o `REFERENCE-ANCHORS` deve materializar evidência externa; o `FIXTURE-PACK` deve reduzir improviso em parsing/integração/transformação.
174
+ **Princípio test-first:** escreva o `Verificar` antes de escrever o `Implementar`. A pergunta é: "Como saberei que está pronto?" — a resposta define o target; `Implementar` é o caminho mínimo até esse target.
175
+
176
+ **Contrato racional por tarefa:** se a tarefa for mutável ou tecnicamente relevante, o `PLAN.md` sozinho não basta. O `IMPLEMENTATION-PACK` deve fechar o write-set, os symbols e os checks; o `REFERENCE-ANCHORS` deve materializar evidência externa; o `FIXTURE-PACK` deve reduzir improviso em parsing/integração/transformação.
177
177
 
178
178
  **Projetos sem suíte de testes única (legado):** o bloco **Verificar** pode usar `Comando: —` e **Manual** com Grep, leitura de paths ou checklist — ver exemplos em **`oxe/workflows/references/legacy-brownfield.md`**. Todo critério **A*** da SPEC deve aparecer em **Aceite vinculado** de alguma tarefa ou como gap explícito.
179
179
 
@@ -192,70 +192,70 @@ Antes de finalizar a resposta ao utilizador, o agente **deve** percorrer este ga
192
192
  7. **Fidelidade de decisões:** se existir `DISCUSS.md` com IDs **D-NN** no escopo resolvido, cada decisão com impacto técnico deve aparecer em **Decisão vinculada:** de alguma tarefa, ou ter nota explícita de gap. Sem cobertura para D-NN técnico = falha do gate.
193
193
  8. **Complexidade XL:** toda tarefa com `Complexidade: XL` deve ter sub-tarefas explícitas (ex.: T3.1, T3.2 — como bullets dentro da tarefa) **ou** justificativa na tarefa explicando por que não pode ser quebrada. Tarefa XL sem sub-tarefas e sem justificativa = falha do gate.
194
194
  9. **Test-first:** em toda tarefa, `Verificar` deve preceder `Implementar` no texto. Se a ordem estiver invertida, corrigir antes de finalizar.
195
- 10. **Autoavaliação presente:** o `PLAN.md` contém `## Autoavaliação do Plano`, `Melhor plano atual`, `Confiança`, rubrica completa, bloco `<confidence_vector>` coerente e `Condição para replanejar`.
196
- 11. **Calibração de execução:** se `Melhor plano atual: não`, se a autoavaliação estiver estruturalmente incompleta, ou se `Confiança <= limiar configurado`, o plano não pode recomendar execução direta; deve recomendar refino, discuss ou research.
195
+ 10. **Autoavaliação presente:** o `PLAN.md` contém `## Autoavaliação do Plano`, `Melhor plano atual`, `Confiança`, rubrica completa, bloco `<confidence_vector>` coerente e `Condição para replanejar`.
196
+ 11. **Calibração de execução:** se `Melhor plano atual: não`, se a autoavaliação estiver estruturalmente incompleta, ou se `Confiança <= limiar configurado`, o plano não pode recomendar execução direta; deve recomendar refino, discuss ou research.
197
197
  12. **Rastreabilidade de evidência:** cada tarefa deve ter entrada observável de origem na SPEC, no codebase, em DISCUSS, OBS, RESEARCH ou LESSONS; tarefa sem evidência de entrada explícita = falha do gate.
198
- 13. **Mudanças de risco:** tarefas com risco relevante (migração, auth, schema, contrato público, segurança) devem incluir contenção, rollback, fallback ou verificação reforçada.
199
- 14. **Cobertura R-ID:** se `SPEC.md` contiver tabela de requisitos com IDs `R-NN` e status `v1`/`v2`, cada R-ID em escopo deve ter ao menos um critério A* mapeado em **Aceite vinculado:** de alguma tarefa — rastrear `R-NN → A* → Tn`. R-IDs com `v1`/`v2` sem nenhuma tarefa associada = falha do gate; documentar como gap explícito quando intencional (ex.: `<!-- R-03: adiado para próximo ciclo -->`).
200
- 15. **Contexto estruturado:** se houver pack do workflow `plan`, as lacunas e conflitos críticos do pack aparecem na autoavaliação do plano ou são explicitamente dados como resolvidos durante a leitura direta.
201
- 16. **Implementation contract:** toda tarefa mutável deve aparecer em `IMPLEMENTATION-PACK.json` com `exact_paths`, `symbols`, `contracts`, `write_set: "closed"`, `expected_checks` e `ready: true`. Path com `...`, símbolo indefinido ou contrato ausente = falha do gate.
202
- 17. **Reference anchors:** toda referência `external-ref`, "copiar do predecessor", "usar layout X" ou equivalente deve aparecer em `REFERENCE-ANCHORS.md` com `status: resolved`. Âncora crítica em `missing|stale|conflicting` = falha do gate.
203
- 18. **Fixture coverage:** toda tarefa de parser/layout/integração/transformação/fila/migração/builder deve ter fixture `ready` em `FIXTURE-PACK.json`, salvo `not_applicable` explicitamente justificado. Ausência de fixture em tarefa de risco = falha do gate.
204
- 19. **Confiança > 90 de verdade:** `Confiança > 90%` só é válida se `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` estiverem íntegros e sem `critical_gap` aberto. Caso contrário, reduzir a confiança para `<= 90%` e recomendar refino.
205
-
206
- Se após correções estruturais persistir ambiguidade de produto: **uma** frase recomendando `oxe:discuss` ou `oxe:spec`.
198
+ 13. **Mudanças de risco:** tarefas com risco relevante (migração, auth, schema, contrato público, segurança) devem incluir contenção, rollback, fallback ou verificação reforçada.
199
+ 14. **Cobertura R-ID:** se `SPEC.md` contiver tabela de requisitos com IDs `R-NN` e status `v1`/`v2`, cada R-ID em escopo deve ter ao menos um critério A* mapeado em **Aceite vinculado:** de alguma tarefa — rastrear `R-NN → A* → Tn`. R-IDs com `v1`/`v2` sem nenhuma tarefa associada = falha do gate; documentar como gap explícito quando intencional (ex.: `<!-- R-03: adiado para próximo ciclo -->`).
200
+ 15. **Contexto estruturado:** se houver pack do workflow `plan`, as lacunas e conflitos críticos do pack aparecem na autoavaliação do plano ou são explicitamente dados como resolvidos durante a leitura direta.
201
+ 16. **Implementation contract:** toda tarefa mutável deve aparecer em `IMPLEMENTATION-PACK.json` com `exact_paths`, `symbols`, `contracts`, `write_set: "closed"`, `expected_checks` e `ready: true`. Path com `...`, símbolo indefinido ou contrato ausente = falha do gate.
202
+ 17. **Reference anchors:** toda referência `external-ref`, "copiar do predecessor", "usar layout X" ou equivalente deve aparecer em `REFERENCE-ANCHORS.md` com `status: resolved`. Âncora crítica em `missing|stale|conflicting` = falha do gate.
203
+ 18. **Fixture coverage:** toda tarefa de parser/layout/integração/transformação/fila/migração/builder deve ter fixture `ready` em `FIXTURE-PACK.json`, salvo `not_applicable` explicitamente justificado. Ausência de fixture em tarefa de risco = falha do gate.
204
+ 19. **Confiança > 90 de verdade:** `Confiança > 90%` só é válida se `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` estiverem íntegros e sem `critical_gap` aberto. Caso contrário, reduzir a confiança para `<= 90%` e recomendar refino.
205
+
206
+ Se após correções estruturais persistir ambiguidade de produto: **uma** frase recomendando `oxe:discuss` ou `oxe:spec`.
207
207
 
208
208
  Resumo obrigatório no chat: `Gate do plano: OK` ou `Gate do plano: corrigido (N problemas)`.
209
209
  </plan_quality_gate>
210
210
 
211
211
  <process>
212
- 1. Resolver `active_session` e ler `SPEC.md` do escopo correto (obrigatório). Se faltar, pedir **spec** primeiro.
213
- 1a. Se `PLAN.md` já existir no escopo resolvido:
214
- - se o pedido atual só refina tarefas, ondas, dependências, riscos, validação ou sequencing, tratar como **replan implícito**;
215
- - se o pedido atual mudar estratégia técnica, pedir ou executar `discuss` antes de seguir;
216
- - se o pedido atual mudar escopo, critérios, prioridades ou aceite, pedir ou executar `spec` antes de seguir.
217
- Registar explicitamente no chat qual dos três caminhos foi adotado.
218
- 1b. Resolver o context pack `plan` primeiro:
219
- - ler `.oxe/context/packs/plan.md|json` (ou `oxe-cc context inspect --workflow plan --json`);
220
- - se estiver fresco e coerente, usar o pack como mapa primário;
212
+ 1. Resolver `active_session` e ler `SPEC.md` do escopo correto (obrigatório). Se faltar, pedir **spec** primeiro.
213
+ 1a. Se `PLAN.md` já existir no escopo resolvido:
214
+ - se o pedido atual só refina tarefas, ondas, dependências, riscos, validação ou sequencing, tratar como **replan implícito**;
215
+ - se o pedido atual mudar estratégia técnica, pedir ou executar `discuss` antes de seguir;
216
+ - se o pedido atual mudar escopo, critérios, prioridades ou aceite, pedir ou executar `spec` antes de seguir.
217
+ Registar explicitamente no chat qual dos três caminhos foi adotado.
218
+ 1b. Resolver o context pack `plan` primeiro:
219
+ - ler `.oxe/context/packs/plan.md|json` (ou `oxe-cc context inspect --workflow plan --json`);
220
+ - se estiver fresco e coerente, usar o pack como mapa primário;
221
221
  - se estiver stale, incompleto ou ausente, registar `fallback para leitura direta` e seguir com leitura bruta.
222
- 1c. Com pack válido, ler primeiro o resumo do pack e os artefatos de `read_order`; só abrir outros artefatos quando faltarem evidências para fechar tarefas, riscos ou autoavaliação.
222
+ 1c. Com pack válido, ler primeiro o resumo do pack e os artefatos de `read_order`; só abrir outros artefatos quando faltarem evidências para fechar tarefas, riscos ou autoavaliação.
223
223
  2. Se `.oxe/config.json` tiver `discuss_before_plan: true` e **não** existir `DISCUSS.md` no escopo resolvido com decisões fechadas, pedir **discuss** antes de planejar.
224
224
  3. Se existir **`.oxe/NOTES.md`**, consumir ou explicitamente adiar cada bullet relevante (ver **context**).
225
225
  4. Ler `.oxe/codebase/*.md` (incl. CONVENTIONS / CONCERNS) e inspecionar pontos de entrada se a spec exigir. Se o pack não bastar, expandir a leitura apenas para os artefatos adicionais necessários e registar essa expansão.
226
- 5. Escrever ou atualizar `PLAN.md` no escopo resolvido usando `oxe/templates/PLAN.template.md` como cabeçalho; **preservar** YAML inicial (`oxe_doc: plan`, `status`, `inputs`) se já existir e **atualizar** `updated:` (ISO); em **--replan** ou **replan implícito**, preencher a seção **Replanejamento** (data, motivo, lições de VERIFY/SUMMARY, tarefas removidas/alteradas).
227
- 5a. Gerar junto os artefatos racionais:
228
- - `IMPLEMENTATION-PACK.md` e `IMPLEMENTATION-PACK.json` a partir de `oxe/templates/IMPLEMENTATION-PACK.template.*`
229
- - `REFERENCE-ANCHORS.md` a partir de `oxe/templates/REFERENCE-ANCHORS.template.md`
230
- - `FIXTURE-PACK.md` e `FIXTURE-PACK.json` a partir de `oxe/templates/FIXTURE-PACK.template.*`
231
- Todos no mesmo escopo resolvido da sessão do `PLAN.md`.
226
+ 5. Escrever ou atualizar `PLAN.md` no escopo resolvido usando `oxe/templates/PLAN.template.md` como cabeçalho; **preservar** YAML inicial (`oxe_doc: plan`, `status`, `inputs`) se já existir e **atualizar** `updated:` (ISO); em **--replan** ou **replan implícito**, preencher a seção **Replanejamento** (data, motivo, lições de VERIFY/SUMMARY, tarefas removidas/alteradas).
227
+ 5a. Gerar junto os artefatos racionais:
228
+ - `IMPLEMENTATION-PACK.md` e `IMPLEMENTATION-PACK.json` a partir de `oxe/templates/IMPLEMENTATION-PACK.template.*`
229
+ - `REFERENCE-ANCHORS.md` a partir de `oxe/templates/REFERENCE-ANCHORS.template.md`
230
+ - `FIXTURE-PACK.md` e `FIXTURE-PACK.json` a partir de `oxe/templates/FIXTURE-PACK.template.*`
231
+ Todos no mesmo escopo resolvido da sessão do `PLAN.md`.
232
232
  6. Definir ondas: onda 1 = tarefas sem dependência entre si; onda seguinte = dependentes; respeitar `plan_max_tasks_per_wave` se configurado.
233
233
  6a. **Calibração histórica:** se `.oxe/calibration.json` existir e tiver ≥ 2 registros, ler as últimas 3 entradas antes de preencher a autoavaliação. Para cada dimensão com `calibration_error > 0.25` em 2+ ciclos consecutivos, adicionar `[⚠ historicamente subestimado]` na nota da dimensão e reduzir o score em 0.10 ou justificar explicitamente por que o ciclo atual é diferente.
234
- 7. Preencher `## Autoavaliação do Plano` com a rubrica fixa. A confiança é a soma ponderada das seis dimensões; não inventar percentagem sem justificar os pontos. As lacunas, conflitos e freshness do pack devem aparecer nessa autoavaliação quando forem relevantes. **Incluir o bloco `<confidence_vector>`** com as 6 dimensões usando o template em `oxe/templates/PLAN.template.md`.
235
- 7b. Antes de declarar `Confiança > 90%`, validar os artefatos racionais:
236
- - `IMPLEMENTATION-PACK` sem write-set aberto e sem paths `...`;
237
- - `REFERENCE-ANCHORS` com âncoras críticas resolvidas;
238
- - `FIXTURE-PACK` cobrindo tarefas de risco.
239
- Se algo falhar, a confiança deve cair para `<= 90%` e o próximo passo não pode ser `execute`.
234
+ 7. Preencher `## Autoavaliação do Plano` com a rubrica fixa. A confiança é a soma ponderada das seis dimensões; não inventar percentagem sem justificar os pontos. As lacunas, conflitos e freshness do pack devem aparecer nessa autoavaliação quando forem relevantes. **Incluir o bloco `<confidence_vector>`** com as 6 dimensões usando o template em `oxe/templates/PLAN.template.md`.
235
+ 7b. Antes de declarar `Confiança > 90%`, validar os artefatos racionais:
236
+ - `IMPLEMENTATION-PACK` sem write-set aberto e sem paths `...`;
237
+ - `REFERENCE-ANCHORS` com âncoras críticas resolvidas;
238
+ - `FIXTURE-PACK` cobrindo tarefas de risco.
239
+ Se algo falhar, a confiança deve cair para `<= 90%` e o próximo passo não pode ser `execute`.
240
240
  7a. **Hipóteses Críticas:** ao criar tarefas `L` ou `XL` ou qualquer tarefa que dependa de lib externa, API de terceiros ou serviço de infra não testado ainda — adicionar seção `## Hipóteses Críticas` com pelo menos uma `<hypothesis>` por dependência crítica. Usar `oxe/templates/HYPOTHESES.template.md` como referência. Omitir a seção se todas as tarefas forem `S`/`M` e sem dependências externas não verificadas.
241
241
  8. Aplicar integralmente o bloco **`<plan_quality_gate>`** acima ao `PLAN.md` em disco; corrigir o ficheiro até passar ou documentar gaps explícitos.
242
- 9. Atualizar `.oxe/STATE.md` global: fase `plan_ready`, próximo passo `oxe:execute` apenas se `Melhor plano atual: sim`, a autoavaliação estiver estruturalmente íntegra e a confiança superar o limiar executável; caso contrário, próximo passo deve reduzir incerteza (`oxe:discuss`, `oxe:research` ou replanejamento).
242
+ 9. Atualizar `.oxe/STATE.md` global: fase `plan_ready`, próximo passo `oxe:execute` apenas se `Melhor plano atual: sim`, a autoavaliação estiver estruturalmente íntegra e a confiança superar o limiar executável; caso contrário, próximo passo deve reduzir incerteza (`oxe:discuss`, `oxe:research` ou replanejamento).
243
243
  10. **Sugestão de agentes (inteligente):** após o gate passar, verificar se o plano tem 3+ domínios distintos (ex.: backend + frontend + DB, ou auth + notificações + UI). Se sim, sugerir proativamente: "Este plano tem N domínios distintos. Quer gerar um blueprint de agentes com `/oxe-plan --agents`?" — não executar automaticamente, apenas oferecer. Se o usuário incluiu `--agents` no input original, executar imediatamente a lógica de `oxe/workflows/plan-agent.md`.
244
244
  11. Listar no chat: resultado do gate (OK ou corrigido), ondas, contagem de tarefas, comando de teste guarda-chuva se houver, melhor-plano-atual e confiança.
245
- 12. No resumo em chat, deixar explícitos:
246
- - objetivo e escopo do plano;
247
- - principais riscos e contenções;
248
- - assumptions relevantes;
249
- - se o plano foi produzido com pack fresco ou com fallback explícito;
250
- - se a chamada foi tratada como plano novo, replan implícito, ou se foi devolvida para `spec`/`discuss`;
251
- - comando único recomendado para o próximo passo.
245
+ 12. No resumo em chat, deixar explícitos:
246
+ - objetivo e escopo do plano;
247
+ - principais riscos e contenções;
248
+ - assumptions relevantes;
249
+ - se o plano foi produzido com pack fresco ou com fallback explícito;
250
+ - se a chamada foi tratada como plano novo, replan implícito, ou se foi devolvida para `spec`/`discuss`;
251
+ - comando único recomendado para o próximo passo.
252
252
  </process>
253
253
 
254
254
  <success_criteria>
255
255
  - [ ] Cada tarefa tem seção **Verificar** com comando ou checklist explícito.
256
256
  - [ ] Dependências entre tarefas estão explícitas.
257
- - [ ] Cada critério da SPEC (IDs **A***) está mapeado em **Aceite vinculado** de alguma tarefa ou explicitamente marcado como gap no plano.
258
- - [ ] Cada R-ID `v1`/`v2` do SPEC tem ao menos um A* coberto por alguma tarefa, ou gap documentado (gate 14).
259
- - [ ] `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` existem no escopo resolvido e não ficaram em branco.
260
- - [ ] Não há `critical_gap` aberto nos artefatos racionais quando a confiança declarada é `> 90%`.
261
- </success_criteria>
257
+ - [ ] Cada critério da SPEC (IDs **A***) está mapeado em **Aceite vinculado** de alguma tarefa ou explicitamente marcado como gap no plano.
258
+ - [ ] Cada R-ID `v1`/`v2` do SPEC tem ao menos um A* coberto por alguma tarefa, ou gap documentado (gate 14).
259
+ - [ ] `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` existem no escopo resolvido e não ficaram em branco.
260
+ - [ ] Não há `critical_gap` aberto nos artefatos racionais quando a confiança declarada é `> 90%`.
261
+ </success_criteria>
@@ -1,27 +1,27 @@
1
- # OXE — Descoberta Adaptativa
2
-
3
- <objective>
4
- Reduzir ambiguidade antes da escrita de `SPEC.md` e melhorar a qualidade do plano. Esta referência orienta `spec` e `ask`.
5
- </objective>
6
-
7
- ## Regras
8
-
9
- - Classificar a demanda o mais cedo possível: `feature`, `bugfix`, `refactor`, `research`, `ops`, `mixed`.
10
- - Modular as perguntas pelo tipo de demanda e pelo risco.
11
- - Limitar rodadas; consolidar entendimento antes de escrever artefatos.
12
- - Registrar incertezas estruturadas, não apenas em texto solto.
13
-
14
- ## Blocos mínimos
15
-
16
- - **Objetivo final**
17
- - **Impacto / público**
18
- - **Restrições técnicas**
19
- - **Riscos e casos extremos**
20
- - **Evidência faltante**
21
-
22
- ## Saída esperada
23
-
24
- - resumo de entendimento;
25
- - demanda classificada;
26
- - incertezas remanescentes;
27
- - recomendação de próximo passo compatível com o risco.
1
+ # OXE — Descoberta Adaptativa
2
+
3
+ <objective>
4
+ Reduzir ambiguidade antes da escrita de `SPEC.md` e melhorar a qualidade do plano. Esta referência orienta `spec` e `ask`.
5
+ </objective>
6
+
7
+ ## Regras
8
+
9
+ - Classificar a demanda o mais cedo possível: `feature`, `bugfix`, `refactor`, `research`, `ops`, `mixed`.
10
+ - Modular as perguntas pelo tipo de demanda e pelo risco.
11
+ - Limitar rodadas; consolidar entendimento antes de escrever artefatos.
12
+ - Registrar incertezas estruturadas, não apenas em texto solto.
13
+
14
+ ## Blocos mínimos
15
+
16
+ - **Objetivo final**
17
+ - **Impacto / público**
18
+ - **Restrições técnicas**
19
+ - **Riscos e casos extremos**
20
+ - **Evidência faltante**
21
+
22
+ ## Saída esperada
23
+
24
+ - resumo de entendimento;
25
+ - demanda classificada;
26
+ - incertezas remanescentes;
27
+ - recomendação de próximo passo compatível com o risco.
@@ -1,80 +1,80 @@
1
- # OXE — Contrato de Robustez do Fluxo
2
-
3
- <objective>
4
- Definir um contrato canónico para reduzir alucinação estrutural no OXE. Este ficheiro é consumido por `spec`, `plan`, `quick`, `execute`, `verify`, `next`, `status` e `doctor`.
5
- </objective>
6
-
7
- ## Ordem determinística do fluxo
8
-
9
- Todo passo OXE deve seguir esta ordem, sem saltar etapas:
10
-
11
- 1. Ler os artefatos obrigatórios do estado atual.
12
- 2. Resolver `active_session` e os paths do escopo.
13
- 3. Validar pré-condições mínimas antes de prosseguir.
14
- 4. Produzir a saída principal do passo.
15
- 5. Executar autoavaliação ou gate de qualidade do próprio passo.
16
- 6. Registrar um próximo passo único.
17
-
18
- ## Invariantes mínimos
19
-
20
- Todo workflow deve declarar com clareza:
21
-
22
- - quais artefatos lê;
23
- - quais artefatos escreve;
24
- - quais invariantes valida antes de operar;
25
- - qual fallback legado é permitido quando não há sessão ativa.
26
-
27
- ## Proibição de saltos sem evidência
28
-
29
- - `plan` não deve avançar sem `SPEC.md` válido.
30
- - `execute` não deve avançar sem `PLAN.md` ou `QUICK.md` válido no escopo resolvido.
31
- - `verify` não deve avançar sem evidência mínima de execução ou de artefatos resultantes.
32
- - `next` não deve sugerir um passo que viole os gates acima.
33
-
34
- ## Contrato de autoavaliação do plano
35
-
36
- Todo `PLAN.md` deve conter uma seção visível `## Autoavaliação do Plano` com:
37
-
38
- - `Melhor plano atual:` `sim` ou `não`
39
- - `Confiança:` `0–100%`
40
- - `Base da confiança:` rubrica fixa, não narrativa livre
41
- - `Principais incertezas:` lista curta
42
- - `Alternativas descartadas:` resumo curto
43
- - `Condição para replanejar:` critério objetivo
44
-
45
- ### Rubrica obrigatória
46
-
47
- | Dimensão | Peso |
48
- |----------|------|
49
- | Completude dos requisitos | 25 |
50
- | Dependências conhecidas | 15 |
51
- | Risco técnico | 20 |
52
- | Impacto no código existente | 15 |
53
- | Clareza da validação / testes | 15 |
54
- | Lacunas externas / decisões pendentes | 10 |
55
-
56
- **Total:** 100 pontos
57
-
58
- ### Faixas semânticas
59
-
60
- - `91–100%` → pronto para executar
61
- - `80–90%` → plano racional, mas ainda não executável
62
- - `50–79%` → precisa refino antes de execução
63
- - `<50%` → não executar
64
-
65
- ## Calibração pós-execução
66
-
67
- `verify` deve comparar o resultado real com a autoavaliação do plano:
68
-
69
- - confiança alta + falha precoce = erro de calibração do plano;
70
- - confiança baixa + falha em risco previsto = autoavaliação aderente;
71
- - confiança alta + sucesso consistente = plano calibrado;
72
- - confiança baixa + sucesso amplo = plano conservador demais.
73
-
74
- ## Uso por `status` e `doctor`
75
-
76
- `status` e `doctor` devem refletir a saúde lógica do fluxo com categorias determinísticas:
77
-
78
- - `healthy` — sem bloqueio lógico conhecido;
79
- - `warning` — fluxo operável, mas com gaps ou drift relevante;
80
- - `broken` — artefato crítico ausente, incoerência severa ou gate indispensável falhado.
1
+ # OXE — Contrato de Robustez do Fluxo
2
+
3
+ <objective>
4
+ Definir um contrato canónico para reduzir alucinação estrutural no OXE. Este ficheiro é consumido por `spec`, `plan`, `quick`, `execute`, `verify`, `next`, `status` e `doctor`.
5
+ </objective>
6
+
7
+ ## Ordem determinística do fluxo
8
+
9
+ Todo passo OXE deve seguir esta ordem, sem saltar etapas:
10
+
11
+ 1. Ler os artefatos obrigatórios do estado atual.
12
+ 2. Resolver `active_session` e os paths do escopo.
13
+ 3. Validar pré-condições mínimas antes de prosseguir.
14
+ 4. Produzir a saída principal do passo.
15
+ 5. Executar autoavaliação ou gate de qualidade do próprio passo.
16
+ 6. Registrar um próximo passo único.
17
+
18
+ ## Invariantes mínimos
19
+
20
+ Todo workflow deve declarar com clareza:
21
+
22
+ - quais artefatos lê;
23
+ - quais artefatos escreve;
24
+ - quais invariantes valida antes de operar;
25
+ - qual fallback legado é permitido quando não há sessão ativa.
26
+
27
+ ## Proibição de saltos sem evidência
28
+
29
+ - `plan` não deve avançar sem `SPEC.md` válido.
30
+ - `execute` não deve avançar sem `PLAN.md` ou `QUICK.md` válido no escopo resolvido.
31
+ - `verify` não deve avançar sem evidência mínima de execução ou de artefatos resultantes.
32
+ - `next` não deve sugerir um passo que viole os gates acima.
33
+
34
+ ## Contrato de autoavaliação do plano
35
+
36
+ Todo `PLAN.md` deve conter uma seção visível `## Autoavaliação do Plano` com:
37
+
38
+ - `Melhor plano atual:` `sim` ou `não`
39
+ - `Confiança:` `0–100%`
40
+ - `Base da confiança:` rubrica fixa, não narrativa livre
41
+ - `Principais incertezas:` lista curta
42
+ - `Alternativas descartadas:` resumo curto
43
+ - `Condição para replanejar:` critério objetivo
44
+
45
+ ### Rubrica obrigatória
46
+
47
+ | Dimensão | Peso |
48
+ |----------|------|
49
+ | Completude dos requisitos | 25 |
50
+ | Dependências conhecidas | 15 |
51
+ | Risco técnico | 20 |
52
+ | Impacto no código existente | 15 |
53
+ | Clareza da validação / testes | 15 |
54
+ | Lacunas externas / decisões pendentes | 10 |
55
+
56
+ **Total:** 100 pontos
57
+
58
+ ### Faixas semânticas
59
+
60
+ - `91–100%` → pronto para executar
61
+ - `80–90%` → plano racional, mas ainda não executável
62
+ - `50–79%` → precisa refino antes de execução
63
+ - `<50%` → não executar
64
+
65
+ ## Calibração pós-execução
66
+
67
+ `verify` deve comparar o resultado real com a autoavaliação do plano:
68
+
69
+ - confiança alta + falha precoce = erro de calibração do plano;
70
+ - confiança baixa + falha em risco previsto = autoavaliação aderente;
71
+ - confiança alta + sucesso consistente = plano calibrado;
72
+ - confiança baixa + sucesso amplo = plano conservador demais.
73
+
74
+ ## Uso por `status` e `doctor`
75
+
76
+ `status` e `doctor` devem refletir a saúde lógica do fluxo com categorias determinísticas:
77
+
78
+ - `healthy` — sem bloqueio lógico conhecido;
79
+ - `warning` — fluxo operável, mas com gaps ou drift relevante;
80
+ - `broken` — artefato crítico ausente, incoerência severa ou gate indispensável falhado.