oxe-cc 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,45 @@ Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudança
4
4
 
5
5
  ---
6
6
 
7
+ ## [1.11.0] — 2026-05-06
8
+
9
+ ### Spec Lifecycle Automation & CLI Gaps
10
+
11
+ Esta release fecha os gaps de adoção identificados na análise de maturidade v1.10.0, com foco em automação do ciclo de vida do SPEC, configuração de provider e tolerância de formato no parser de planos.
12
+
13
+ #### Automação do ciclo de vida (SPEC.md)
14
+
15
+ - nova função `applySpecChecklistSync` em `oxe-operational.cjs`: ao executar `runtime project` com um run `completed`, marca automaticamente `**DoD Wave N:**` e seções MVP/v0.x.x do checklist no `SPEC.md` com `[x]`
16
+ - v1.0.0 checklist não é marcado automaticamente — requer sign-off explícito
17
+ - exportada no módulo para testes de integração e uso programático
18
+
19
+ #### CLI — `runtime execute`
20
+
21
+ - novo flag `--agents-plan <path>`: override explícito para localização do `plan-agents.json`, com prioridade sobre detecção automática por sessão e raiz do projeto
22
+ - novo flag `--api-key-env <VAR>`: lê API key de variável de ambiente nomeada em vez de `OXE_LLM_API_KEY`
23
+ - novo subcomando `runtime configure`: wizard interativo que persiste `baseUrl`, `model`, `apiKey` em `.oxe/config.json` (seção `runtime.provider`)
24
+
25
+ #### Provider LLM auto-wired
26
+
27
+ - `createExecutionContext` passa a instanciar `PolicyEngine.fromConfigFile()` automaticamente quando `.oxe/config.json` contém seção `runtime.policy`
28
+ - `loadRuntimeProviderConfig` / `saveRuntimeProviderConfig` exportados de `oxe-operational.cjs`
29
+ - health checks de `runtime.provider` e `runtime.policy` adicionados ao `oxe-cc status`
30
+
31
+ #### Parser de planos — tolerância de formato (Gap E)
32
+
33
+ - `parsePlan` agora aceita `**Verificação:**`, `**Verify command:**` e `**Verification:**` além do formato `Verificação:` sem negrito
34
+ - planos gerados por LLM com markdown bold deixam de silenciosamente omitir verify commands
35
+
36
+ #### Spec-criteria enrichment (Gap B)
37
+
38
+ - `compileExecutionGraphFromArtifacts` extrai comandos backtick dos campos `howToVerify` dos critérios de aceite da SPEC e os anexa a `node.verify.command` quando ausente no PLAN
39
+
40
+ #### Testes e benchmark
41
+
42
+ - novo `test:runtime-llm` (`scripts/test-runtime-llm.cjs`): valida `LlmTaskExecutor` end-to-end com LLM real; skipa automaticamente quando `OXE_LLM_API_KEY` não está definido
43
+ - novo `benchmark:autonomy` (`scripts/benchmark-autonomy.cjs`): 5 fixtures de referência (simple → medium → parallel), mede taxa de compilação→execução→verify sem intervenção; saída em `.oxe/release/benchmark-autonomy-report.json`
44
+ - novos testes: `gap-spec-enrichment.test.cjs` (5 casos) e `gap-spec-checklist-sync.test.cjs` (4 casos)
45
+
7
46
  ## [1.10.0] — 2026-05-05
8
47
 
9
48
  ### Operational Maturity
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![npm](https://img.shields.io/npm/v/oxe-cc.svg?style=flat-square)](https://www.npmjs.com/package/oxe-cc)
8
8
  [![license](https://img.shields.io/npm/l/oxe-cc.svg?style=flat-square)](LICENSE)
9
9
 
10
- **Versão:** `1.10.0` · [package.json](package.json)
10
+ **Versão:** `1.11.0` · [package.json](package.json)
11
11
 
12
12
  **Framework OXE — Orchestrated eXperience Engineering**
13
13
 
@@ -34,10 +34,10 @@ Ele se apoia em três princípios:
34
34
 
35
35
  - **Spec-driven design** — antes de escrever código, você define *o que* construir e *como saber que está pronto*. Essa especificação restringe e guia tudo o que vem depois.
36
36
  - **Context engineering** — o estado do trabalho fica em arquivos pequenos dentro de `.oxe/`, não na memória do chat. O agente lê o que precisa, quando precisa — sem sobrecarregar o contexto com decisões já tomadas.
37
- - **Lessons loop** — ao fim de cada ciclo, `/oxe-retro` extrai 3–5 lições prescritivas que o próximo spec/plan lê automaticamente. Depois de alguns ciclos, os planos ficam dramaticamente melhores porque os erros anteriores não se repetem.
38
- - **Plan-Driven Dynamic Agents** — quando há múltiplos domínios, o plano cria agentes específicos para *aquela demanda*. Agentes não são reaproveitados entre projetos ou demandas.
39
- - **Semântica de raciocínio multi-runtime** — discovery, planning, execution, review e status seguem contratos cognitivos explícitos. O mesmo workflow OXE deve gerar respostas exploratórias, decision-complete e auditáveis em Copilot, Cursor, Claude, Codex e demais runtimes suportados.
40
- - **Entradas visuais rastreáveis** — imagens, screenshots e mockups enviados ao chat são interpretados pelo runtime hospedeiro quando ele tem visão, mas o OXE exige que essa interpretação vire `VISUAL-INPUTS.md/json` e anchors antes de alimentar plan/execute.
37
+ - **Lessons loop** — ao fim de cada ciclo, `/oxe-retro` extrai 3–5 lições prescritivas que o próximo spec/plan lê automaticamente. Depois de alguns ciclos, os planos ficam dramaticamente melhores porque os erros anteriores não se repetem.
38
+ - **Plan-Driven Dynamic Agents** — quando há múltiplos domínios, o plano cria agentes específicos para *aquela demanda*. Agentes não são reaproveitados entre projetos ou demandas.
39
+ - **Semântica de raciocínio multi-runtime** — discovery, planning, execution, review e status seguem contratos cognitivos explícitos. O mesmo workflow OXE deve gerar respostas exploratórias, decision-complete e auditáveis em Copilot, Cursor, Claude, Codex e demais runtimes suportados.
40
+ - **Entradas visuais rastreáveis** — imagens, screenshots e mockups enviados ao chat são interpretados pelo runtime hospedeiro quando ele tem visão, mas o OXE exige que essa interpretação vire `VISUAL-INPUTS.md/json` e anchors antes de alimentar plan/execute.
41
41
 
42
42
  O resultado: **menos requisições**, **mais coerência**, e uma experiência de engenharia orquestrada que funciona do mesmo jeito em qualquer IDE.
43
43
 
@@ -69,16 +69,16 @@ O OXE já não é só um conjunto de prompts e markdowns. Hoje ele combina:
69
69
 
70
70
  Em termos práticos, o estado operacional real agora passa por:
71
71
 
72
- - `ACTIVE-RUN.json`
73
- - `.oxe/runs/<run_id>.json`
74
- - `.oxe/runs/<run_id>/verification-manifest.json`
75
- - `.oxe/runs/<run_id>/residual-risk-ledger.json`
76
- - `.oxe/runs/<run_id>/evidence-coverage.json`
77
- - `.oxe/runs/<run_id>/workspace-merge-report.json`
78
- - `.oxe/execution/GATES.json`
79
- - `OXE-EVENTS.ndjson`
80
-
81
- Contrato estável desta release:
72
+ - `ACTIVE-RUN.json`
73
+ - `.oxe/runs/<run_id>.json`
74
+ - `.oxe/runs/<run_id>/verification-manifest.json`
75
+ - `.oxe/runs/<run_id>/residual-risk-ledger.json`
76
+ - `.oxe/runs/<run_id>/evidence-coverage.json`
77
+ - `.oxe/runs/<run_id>/workspace-merge-report.json`
78
+ - `.oxe/execution/GATES.json`
79
+ - `OXE-EVENTS.ndjson`
80
+
81
+ Contrato estável desta release:
82
82
 
83
83
  - `execute` e `verify` são `runtime-first` quando `oxe-cc runtime` está disponível
84
84
  - `status`, `doctor`, dashboard e CLI de runtime leem o mesmo estado canónico
@@ -252,7 +252,7 @@ Cada passo lê o anterior como contexto e escreve seu artefato no escopo correto
252
252
  | Comando | O que entrega |
253
253
  |---------|--------------|
254
254
  | `/oxe` | Sem input → próximo passo. Com pergunta → situação atual (artefatos reais). Com "help" → trilha principal. |
255
- | `/oxe-spec` | **5 fases**: perguntas → pesquisa → requisitos R-ID → roteiro → aprovação. `--refresh` / `--full` fazem scan antes. `--research` ativa spike explícito. `--ui` gera UI-SPEC ao final. Se houver imagem/screenshot/mockup no chat, materializa `VISUAL-INPUTS` quando o runtime suportar visão ou registra limitação explícita. |
255
+ | `/oxe-spec` | **5 fases**: perguntas → pesquisa → requisitos R-ID → roteiro → aprovação. `--refresh` / `--full` fazem scan antes. `--research` ativa spike explícito. `--ui` gera UI-SPEC ao final. Se houver imagem/screenshot/mockup no chat, materializa `VISUAL-INPUTS` quando o runtime suportar visão ou registra limitação explícita. |
256
256
  | `/oxe-plan` | **Test-first:** `Verificar` vem antes de `Implementar` em cada tarefa. `PLAN.md` com `## Autoavaliação do Plano` (rubrica fixa + confiança determinística). Usa investigações e capabilities como evidência. |
257
257
  | `/oxe-execute` | Execução A/B/C. Valida autoavaliação antes de implementar. `--note` registra observação. `--debug` aciona diagnóstico inline. `--deep-diagnosis` escalona para forensics. `--checkpoint "<nome>"` cria snapshot. `--iterative` ativa loop de retry. Usa `EXECUTION-RUNTIME.md`, `ACTIVE-RUN.json`, `OXE-EVENTS.ndjson`. |
258
258
  | `/oxe-verify` | Até 6 camadas: audit + critérios + decisões + coerência operacional + calibração + UAT. `--gaps` ativa Camada 5 (cobertura). `--security` ativa Camada 6 (OWASP). `--ui` inclui UI-REVIEW. `--pr` / `--diff` incluem revisão de PR. Retro automática ao fechar (`--skip-retro` para desativar). |
@@ -285,8 +285,8 @@ Estes comportamentos continuam existindo, mas agora são ativados como flags dos
285
285
  |---------------|-------------|
286
286
  | Scan / refresh do codebase | `/oxe-spec --refresh` (incremental) ou `--full` (completo) |
287
287
  | Research / spike / engenharia reversa | `/oxe-spec --research` |
288
- | Contrato UI/UX | `/oxe-spec --ui` |
289
- | Imagem, screenshot ou mockup como entrada de spec | anexar no chat junto com `/oxe-spec`; o OXE materializa a interpretação em `.oxe/investigations/visual/VISUAL-INPUTS.*` quando o runtime tiver visão |
288
+ | Contrato UI/UX | `/oxe-spec --ui` |
289
+ | Imagem, screenshot ou mockup como entrada de spec | anexar no chat junto com `/oxe-spec`; o OXE materializa a interpretação em `.oxe/investigations/visual/VISUAL-INPUTS.*` quando o runtime tiver visão |
290
290
  | Registrar observação durante execução | `/oxe-execute --note "texto"` |
291
291
  | Diagnóstico técnico inline | `/oxe-execute --debug` |
292
292
  | Diagnóstico pós-falha persistente | `/oxe-execute --deep-diagnosis` |
@@ -462,23 +462,23 @@ O `status --full` mostra em ANSI: readiness do ciclo, autoavaliação do plano,
462
462
 
463
463
  O pacote está pronto para uma publicação robusta quando estes sinais estiverem verdes no repositório da release:
464
464
 
465
- - `npm test`
466
- - `npm run scan:assets`
467
- - `npm run build:vscode-ext`
468
- - `node bin/oxe-cc.js doctor --release --write-manifest`
469
- - `npm run release:pack-check`
470
- - `node bin/oxe-cc.js status --full`
465
+ - `npm test`
466
+ - `npm run scan:assets`
467
+ - `npm run build:vscode-ext`
468
+ - `node bin/oxe-cc.js doctor --release --write-manifest`
469
+ - `npm run release:pack-check`
470
+ - `node bin/oxe-cc.js status --full`
471
471
 
472
472
  Artefatos obrigatórios desta fase:
473
473
 
474
- - `.oxe/release/release-manifest.json`
475
- - `.oxe/release/runtime-smoke-report.json`
476
- - `.oxe/release/runtime-real-report.json`
477
- - `.oxe/release/recovery-fixture-report.json`
478
- - `.oxe/release/multi-agent-soak-report.json`
479
- - `.oxe/release/multi-agent-real-report.json`
480
-
481
- Na linha `1.9.1`, `runtime-real-report.json` prova o ciclo real `compile -> execute mockado -> verify -> project -> status --json`, e `multi-agent-real-report.json` prova coordenação com `git_worktree`, ownership, arbitragem e merge readiness antes da publicação.
474
+ - `.oxe/release/release-manifest.json`
475
+ - `.oxe/release/runtime-smoke-report.json`
476
+ - `.oxe/release/runtime-real-report.json`
477
+ - `.oxe/release/recovery-fixture-report.json`
478
+ - `.oxe/release/multi-agent-soak-report.json`
479
+ - `.oxe/release/multi-agent-real-report.json`
480
+
481
+ Na linha `1.9.1`, `runtime-real-report.json` prova o ciclo real `compile -> execute mockado -> verify -> project -> status --json`, e `multi-agent-real-report.json` prova coordenação com `git_worktree`, ownership, arbitragem e merge readiness antes da publicação.
482
482
 
483
483
  ### `/oxe-retro` — loop de aprendizado
484
484