oxe-cc 1.14.0 → 1.16.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 (40) hide show
  1. package/.github/dependabot.yml +31 -0
  2. package/.github/workflows/ci.yml +141 -56
  3. package/.github/workflows/release.yml +114 -89
  4. package/CHANGELOG.md +866 -779
  5. package/README.md +600 -736
  6. package/bin/lib/oxe-agent-install.cjs +299 -284
  7. package/bin/lib/oxe-artifact-catalog.cjs +376 -0
  8. package/bin/lib/oxe-command-registry.cjs +31 -0
  9. package/bin/lib/oxe-context-engine.cjs +11 -11
  10. package/bin/lib/oxe-core-command-handlers.cjs +82 -0
  11. package/bin/lib/oxe-dashboard.cjs +140 -140
  12. package/bin/lib/oxe-manifest.cjs +20 -20
  13. package/bin/lib/oxe-npm-version.cjs +6 -4
  14. package/bin/lib/oxe-plugin-cli.cjs +95 -0
  15. package/bin/lib/oxe-plugins.cjs +94 -3
  16. package/bin/lib/oxe-process.cjs +67 -0
  17. package/bin/lib/oxe-project-health.cjs +2846 -2856
  18. package/bin/lib/oxe-runtime-semantics.cjs +68 -69
  19. package/bin/oxe-cc.js +179 -325
  20. package/docs/INTEGRATION.md +182 -152
  21. package/docs/QUALITY-GATES.md +46 -0
  22. package/docs/RELEASE-READINESS.md +86 -61
  23. package/docs/RUNTIME-SMOKE-MATRIX.md +137 -135
  24. package/docs/oxe-artifact-map.html +1172 -1172
  25. package/lib/sdk/index.cjs +18 -0
  26. package/lib/sdk/index.d.ts +969 -900
  27. package/lib/sdk/index.types.ts +933 -0
  28. package/oxe/templates/PLUGINS.md +8 -1
  29. package/oxe/templates/STATE-REFERENCE.md +125 -0
  30. package/oxe/templates/STATE.md +11 -121
  31. package/oxe/workflows/help.md +2 -0
  32. package/package.json +129 -108
  33. package/packages/runtime/package.json +18 -18
  34. package/packages/runtime/src/evidence/evidence-store.ts +2 -2
  35. package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +728 -728
  36. package/packages/runtime/src/workspace/strategies/git-worktree.ts +24 -24
  37. package/packages/runtime/tsconfig.json +8 -2
  38. package/vscode-extension/.vscodeignore +2 -0
  39. package/vscode-extension/package.json +193 -185
  40. package/vscode-extension/src/extension.js +11 -1
package/CHANGELOG.md CHANGED
@@ -1,779 +1,866 @@
1
- # Changelog — OXE CLI (`oxe-cc`)
2
-
3
- Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudanças mais recentes aparecem primeiro.
4
-
5
- ---
6
-
7
- ## [1.14.0] — 2026-05-30
8
-
9
- ### Contratos de integração para hosts reatividade + dashboard embutível
10
-
11
- Aditivo nenhum contrato existente muda. Complementa o 1.13.0 (`status --json --summary`, `agentSkills`) para hosts como o OXESpace embutirem o oxe-cc de forma reativa e visual.
12
-
13
- - **`oxe events --tail [N] --json [--since <evt_id>] [--session <s>]`** — projeção read-only e versionada (`oxeEventsSchema: 1`) do log append-only `.oxe/OXE-EVENTS.ndjson`: `{ summary: { total, byType, lastEvent }, events: [...] }`. `--since` devolve só os eventos novos desde um `event_id` conhecido (leitura incremental). Reusa `operational.readEvents`/`summarizeEvents`. Um host normalmente observa o arquivo e chama `status --json --summary`; este comando é a forma documentada de ler o tail sem reparsear tudo.
14
- - **`oxe dashboard --json`** — emite **uma linha** estável e versionada (`oxeDashboardSchema: 1`) com `{ url, port, readOnly, projectRoot }` assim que o servidor sobe, e **continua servindo**. Permite a um host capturar URL/porta de forma robusta e embutir o dashboard num webview, em vez de raspar o banner humano. Combine com `--no-open --port 0` para porta efêmera.
15
- - **`dashboard --port 0`** agora seleciona uma porta efêmera de verdade (antes caía no default `4173`).
16
- - **`docs/INTEGRATION.md`** contrato estável para hosts: `status --json --summary`, `agentSkills`, schema do `OXE-EVENTS.ndjson`, `events --json` e `dashboard --json`; marca o que é estável vs experimental.
17
-
18
- ---
19
-
20
- ## [1.13.0] 2026-05-29
21
-
22
- ### Contratos de integração para hosts (IDEs, OXESpace)
23
-
24
- Aditivo nenhum contrato existente muda. Facilita hosts consumirem o oxe-cc.
25
-
26
- - **`oxe status --json --summary`** — projeção compacta e versionada (`oxeSummarySchema: 1`) com `workspaceMode, phase, healthStatus, activeSession, nextStep, cursorCmd, reason, eventsCount, warningsCount` + um `agentSkills` compacto. Troca ~150KB do status completo por <1KB para o "glance" que um host precisa.
27
- - **`agentSkills` no `status --json`** e **`agentSkillsReport(target)` no SDK** (`health.agentSkillsReport`) — status das skills `/oxe-*` por agente no workspace (`copilot-vscode`, `codex`, `copilot-cli`): `detected/skillsInstalled/skillsPath/status/issues`. Permite a um host detectar skills ausentes e oferecer instalação **antes** de lançar o agente (resolve o "Failed to load N skills").
28
- - **SDK**: `health.buildStatusSummary(report)` e `health.agentSkillsReport(target)` exportados + tipados em `lib/sdk/index.d.ts`.
29
-
30
- ---
31
-
32
- ## [1.12.0] 2026-05-12
33
-
34
- ### Agent Mode, Swarm Mode, Memory Kernel & Learning Kernel
35
-
36
- Esta release transforma o OXE em um sistema autônomo orientado a objetivos. O usuário escreve `/oxe <objetivo em linguagem natural>` e o Conductor decide automaticamente o fluxo, os agentes e a estratégia de execução — sem precisar escolher comandos manualmente.
37
-
38
- #### Conductor Agent (`oxe/workflows/conduct.md`)
39
-
40
- - novo workflow que age como ponto de entrada para objetivos de implementação em linguagem natural
41
- - classifica complexidade em três scores: simples | médio | complexo
42
- - recupera memória relevante das 5 camadas (runtime_state, session_memory, project_memory, lessons, observations)
43
- - seleciona personas aplicáveis por `intent_tags` (backend executor/architect, frontend ui-specialist, storage → db-specialist, etc.)
44
- - decide automaticamente **Agent Mode** (simples/médio) ou **Swarm Mode** (complexo/multi-domínio)
45
- - `oxe/workflows/oxe.md` e `route.md` atualizados: objetivos de implementação redirecionam para `conduct.md`
46
-
47
- #### Agent Mode (`oxe/workflows/agent-mode.md`)
48
-
49
- - Conductor age sozinho com a persona selecionada para objetivos de 1–2 domínios e 8 arquivos
50
- - grava `AGENT-SESSION.json` em `.oxe/agent/` com intent, skills, tool_calls e reconciliação
51
- - discovery mínimo antes de mutar: confirma write_set, padrões, riscos
52
- - se write_set exceder threshold para `intent_score=simples`, eleva automaticamente para Swarm Mode
53
- - `RECONCILIATION.md` gerado ao final com arquivos alterados e objective_satisfied
54
-
55
- #### Swarm Mode (`oxe/workflows/swarm-mode.md`)
56
-
57
- - orquestração de 5 papéis em pipeline controlado: Scout → Coordinator → Builder(s) → Reviewer → Verifier
58
- - **Scout** (`oxe/workflows/swarm/scout.md`): produz CODEBASE-MAP.md, PATTERNS.md, RISK-MAP.md, FILE-CANDIDATES.json e TEST-CANDIDATES.json antes de qualquer mutação
59
- - **File Ownership** (`FILE-OWNERSHIP.json`): cada Builder declara `write_set`; conflitos → Coordinator serializa em waves sequenciais
60
- - **Board** (`oxe/workflows/swarm/board.md`): BOARD.md e BOARD.json atualizados em tempo real por fase
61
- - **Quality Gates** automáticos: arquivo high-risk → gate humano; cobertura abaixo de threshold → gate auto
62
- - **Reviewer**: produz `.oxe/swarm/reviews/<task_id>-REVIEW.md` por tarefa antes de integração
63
- - **Verifier/Integrator**: FINAL-INTEGRATION.md com evidências completas e VERIFY.md atualizado
64
- - novo schema `oxe/schemas/swarm-run.schema.json` (JSON Schema Draft-07) para SWARM-RUN.json
65
-
66
- #### Memory Kernel (`oxe/workflows/memory.md` + `bin/lib/oxe-memory-kernel.cjs`)
67
-
68
- - ativa o modelo de 4 camadas de memória já definido em `oxe-operational.cjs:2364`
69
- - `retrieveMemory(projectRoot, intentTags, phase, objective)`: filtra fragmentos por relevância e phase; ranking por score (tag match, impacto, frequência)
70
- - `saveContextPack()`: grava context pack em `.oxe/agent/MEMORY-INJECTIONS.md` ou `.oxe/swarm/DECISIONS.md` + snapshot auditável em `.oxe/memory/retrieved/<phase>.md`
71
- - novos templates: `REPO-MEMORY.template.md` (decisões cross-session, pitfalls, preferências, padrões validados) e `MEMORY-INDEX.template.json`
72
-
73
- #### Learning Kernel (`oxe/workflows/distill.md` + `bin/lib/oxe-learning-kernel.cjs`)
74
-
75
- - detecta padrões automaticamente ao final de cada run: blocker_pattern, success_pattern, anti_pattern, file_conflict_pattern, integration_gap, scope_expansion
76
- - atualiza `LESSONS.md` com dedup correto (Frequência++ para lições repetidas, não duplicatas)
77
- - popula `lessons-metrics.json` com `outcomes` e `success_rate` por lição; deprecação automática se `success_rate < 0.5` e `apply_count >= 3`
78
- - enfileira skill candidatas em `.oxe/learning/PROMOTION-QUEUE.md` quando padrão aparece em 2+ runs
79
- - atualiza `REPO-MEMORY.md` com decisões arquiteturais e pitfalls novos
80
-
81
- #### Skill Runtime (`bin/lib/oxe-skill-loader.cjs`)
82
-
83
- - `loadSkill(id, projectRoot)`: resolve por ordem de precedência projeto → capabilities → global
84
- - `listSkills()`: enumera active/proposed/archived/global por diretório
85
- - `selectPersonasForIntent(intentTags, projectRoot)`: mapeia intent_tags para personas primárias e secundárias
86
- - `recordSkillsLoaded()`: grava snapshot das personas ativas em `.oxe/agent/SKILLS-LOADED.json`
87
-
88
- #### Event Bus (`bin/lib/oxe-event-bus.cjs`)
89
-
90
- - `OXE-EVENTS.ndjson` passa a ser efetivamente populado durante runs (antes: schema definido, nunca emitido)
91
- - helpers tipados: `emitRunStarted`, `emitWorkItemCompleted`, `emitWorkItemBlocked`, `emitRunCompleted`, `emitGateRequested`, `emitGateResolved`, `emitLessonPromoted`, `emitRetroPublished`
92
- - `readEvents(projectRoot, filters)`: leitura com filtro por `run_id`, `type`, `since`
93
-
94
- #### Runtime contracts
95
-
96
- - `workflow-runtime-contracts.json` atualizado com contratos semânticos para todos os 5 novos workflows (conduct, agent-mode, swarm-mode, memory, distill)
97
- - `help.md` router: nova entrada de prioridade máxima para objetivos de implementação → `/oxe <objetivo>` → Conductor
98
-
99
- #### Templates adicionados
100
-
101
- - `.oxe/templates/AGENT-SESSION.template.json`
102
- - `.oxe/templates/swarm/SWARM-RUN.template.json`
103
- - `.oxe/templates/swarm/FILE-OWNERSHIP.template.json`
104
- - `.oxe/templates/swarm/BOARD.template.md`
105
- - `.oxe/templates/swarm/QUALITY-GATES.template.md`
106
- - `.oxe/templates/REPO-MEMORY.template.md`
107
- - `.oxe/templates/MEMORY-INDEX.template.json`
108
- - `.oxe/templates/learning/CANDIDATES.template.ndjson`
109
- - `.oxe/templates/learning/PROMOTION-QUEUE.template.md`
110
-
111
- ---
112
-
113
- ## [1.11.0] 2026-05-06
114
-
115
- ### Spec Lifecycle Automation & CLI Gaps
116
-
117
- 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.
118
-
119
- #### Automação do ciclo de vida (SPEC.md)
120
-
121
- - 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]`
122
- - v1.0.0 checklist não é marcado automaticamente — requer sign-off explícito
123
- - exportada no módulo para testes de integração e uso programático
124
-
125
- #### CLI `runtime execute`
126
-
127
- - 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
128
- - novo flag `--api-key-env <VAR>`: API key de variável de ambiente nomeada em vez de `OXE_LLM_API_KEY`
129
- - novo subcomando `runtime configure`: wizard interativo que persiste `baseUrl`, `model`, `apiKey` em `.oxe/config.json` (seção `runtime.provider`)
130
-
131
- #### Provider LLM auto-wired
132
-
133
- - `createExecutionContext` passa a instanciar `PolicyEngine.fromConfigFile()` automaticamente quando `.oxe/config.json` contém seção `runtime.policy`
134
- - `loadRuntimeProviderConfig` / `saveRuntimeProviderConfig` exportados de `oxe-operational.cjs`
135
- - health checks de `runtime.provider` e `runtime.policy` adicionados ao `oxe-cc status`
136
-
137
- #### Parser de planos tolerância de formato (Gap E)
138
-
139
- - `parsePlan` agora aceita `**Verificação:**`, `**Verify command:**` e `**Verification:**` além do formato `Verificação:` sem negrito
140
- - planos gerados por LLM com markdown bold deixam de silenciosamente omitir verify commands
141
-
142
- #### Spec-criteria enrichment (Gap B)
143
-
144
- - `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
145
-
146
- #### Testes e benchmark
147
-
148
- - 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
149
- - 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`
150
- - novos testes: `gap-spec-enrichment.test.cjs` (5 casos) e `gap-spec-checklist-sync.test.cjs` (4 casos)
151
-
152
- ## [1.10.0] — 2026-05-05
153
-
154
- ### Operational Maturity
155
-
156
- Esta release amplia a prova operacional do OXE para cenários mais próximos de uso real, sem abrir novos comandos públicos.
157
-
158
- - `test:runtime-real` passa a cobrir cenários multi-wave, multi-file, gate pendente, verify parcial e promoção bloqueada por ausência de evidência técnica
159
- - `workspace-merge-report.json` passa a carregar `evidence_refs`, `diff_summary`, arquivos aplicados, status de verify pós-execução e próxima ação operacional por task
160
- - `status`, `runtime status` e `runtime agents status` expõem merge readiness, blockers e próxima ação multi-agent de forma mais direta
161
- - `workspaceMode: product_package` deixa de marcar `contextQuality` como crítico quando não há ciclo OXE ativo no próprio repositório do pacote
162
- - smoke multi-runtime reforça Codex e Copilot VS Code com validação explícita de prompts/skills, manifesto e referências quebradas
163
- - `doctor --release` passa a validar o conteúdo mínimo dos relatórios runtime-real e multi-agent-real da linha `1.10.0`
164
- - `/oxe-spec` passa a ter contrato multimodal: imagens, screenshots e mockups enviados no chat devem virar `VISUAL-INPUTS.md/json`, anchors visuais e readiness bloqueante quando críticos para UI/fluxo
165
-
166
- ## [1.9.1] 2026-05-04
167
-
168
- ### Multi-Agent Real
169
-
170
- Esta release endurece a coordenação multi-agent sobre workspaces reais, sem abrir novos comandos públicos.
171
-
172
- - multi-agent real passa a exigir workspaces isolados `git_worktree` para modos `parallel`, `competitive` e `cooperative`
173
- - `runtime execute` valida `plan-agents.json` antes de iniciar agentes e usa `GitWorktreeManager` por padrão no caminho multi-agent
174
- - novo artefato por run `.oxe/runs/<run_id>/workspace-merge-report.json` com worktrees, ownership, merge blockers e readiness
175
- - `runtime agents status --json`, `status --json` e recovery passam a expor merge readiness, blockers, arbitration e worktrees órfãos
176
- - novo `npm run test:multi-agent-real` gera `.oxe/release/multi-agent-real-report.json` usando repositório git temporário com worktrees reais
177
- - `doctor --release` passa a exigir `multi-agent-real-report.json` em versões `>=1.9.1`
178
-
179
- ## [1.9.0] 2026-05-04
180
-
181
- ### Runtime Real Maturity
182
-
183
- Esta release eleva a maturidade prática do OXE com foco em prova determinística do ciclo real `spec -> plan -> execute -> verify -> status/doctor`, sem abrir novos comandos públicos.
184
-
185
- #### Runtime real
186
-
187
- - nova suíte `test:runtime-real` valida projetos representativos com executor mockado e sem chamada a LLM/API externa
188
- - `runtime execute` passa a bloquear antes da mutação quando confiança, rationality packs ou gates não estão prontos
189
- - `runtime verify` continua evidence-first e passa a ser validado dentro do fluxo real de execução
190
-
191
- #### Release proof
192
-
193
- - novo relatório obrigatório `.oxe/release/runtime-real-report.json`
194
- - `doctor --release` passa a bloquear publicação quando a prova de runtime real estiver ausente ou falha
195
- - novo `release:pack-check` valida o tarball npm em dry-run contra artefatos indevidos
196
-
197
- ## [1.8.3] — 2026-05-04
198
-
199
- ### Release readiness e higiene de publicação
200
-
201
- Esta release consolida a linha `1.8.3` para publicação no npm com foco em consistência de versão, alinhamento documental e pacote distribuído mais limpo.
202
-
203
- #### Publicação
204
-
205
- - alinhamento da versão `1.8.3` entre manifesto raiz, runtime, extensão VS Code, README e changelog
206
- - fechamento do gate oficial `doctor --release` para a linha atual
207
- - preparação do pacote npm para sair sem drift entre versão publicada e documentação principal
208
-
209
- #### Higiene do pacote
210
-
211
- - exclusão dos arquivos `.vsix` históricos da extensão VS Code do tarball npm
212
- - manutenção apenas do código-fonte da extensão dentro do pacote, evitando distribuir binários legados desnecessários
213
-
214
- ## [1.8.2] 2026-04-30
215
-
216
- ### Fluxo inicial mais coerente e geração de `spec`/`plan` mais forte
217
-
218
- Esta release fecha a linha de robustez do ciclo `install -> status/doctor -> /oxe -> spec -> plan -> execute -> verify` sem abrir nova superfície pública. O foco foi remover ruído operacional em projetos novos e aumentar a densidade executável dos artefatos que o OXE induz.
219
-
220
- #### Fluxo operacional
221
-
222
- - `install`, `status` e `doctor` passam a convergir em `/oxe` como próximo passo canônico para projetos recém-inicializados
223
- - `doctor` e `status` deixam de tratar `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` como blocker primário antes de existir `PLAN.md`
224
- - o relatório racional agora marca o estado sem plano como `não aplicável ainda`, sem contaminar o próximo passo
225
- - instalações e desinstalações locais por runtime continuam simétricas, com inferência de artefatos locais preservada
226
-
227
- #### Indução mais forte de SPEC e PLAN
228
-
229
- - `SPEC.template.md` passou a exigir outcome observável, público-alvo, restrições técnicas, setup externo, conteúdo/fluxos obrigatórios e contratos esperados para o plano
230
- - `PLAN.template.md` ganhou contrato operacional da solução, densidade operacional mínima, `symbols alvo`, `estado/fluxo coberto` e `fixture/anchor obrigatório` por tarefa
231
- - `oxe/workflows/spec.md` agora força extração explícita de blocos de interface, conteúdo mínimo, interações, responsividade e acessibilidade em demandas de produto/app/UI
232
- - `oxe/workflows/plan.md` agora endurece o gate de confiança `>90%` para tarefas mutáveis vagas e exige fechamento mais forte de interface, conteúdo, estado persistido, anchors e fixtures em apps/UI estáticos
233
-
234
- #### Testes
235
-
236
- - novo teste cobrindo o estado racional não bloqueante antes da existência de `PLAN.md`
237
- - suíte focada de CLI/health atualizada para manter o comportamento novo estável
238
-
239
- ## [1.8.1] — 2026-04-30
240
-
241
- ### Hotfix — Gaps implementados no fonte TypeScript (não em arquivos compilados)
242
-
243
- A v1.8.0 aplicou as 5 correções críticas diretamente nos arquivos `.js` compilados (`lib/runtime/`), que são sobrescritos a cada `npm run build:runtime`. Esta release porta todas as correções para o fonte TypeScript em `packages/runtime/src/`, tornando-as permanentes.
244
-
245
- #### Correções portadas para TypeScript
246
-
247
- - **`models/failure.ts`**: `FailureClass` agora inclui `'verify'` e `'llm'` como classes canônicas
248
- - **`scheduler/scheduler.ts`**: `TaskResult` com campo opcional `completed_by`; `TaskExecutor.execute()` aceita `options?: { previousError? }`; `verifyNode()` importa e chama `verifyRun` da fonte TS; `executeNode()` repassa `options`; `requestGateForNode()` com warning quando manager ausente
249
- - **`executor/built-in-tools.ts`**: `finishTask` handler + registro em `BUILT_IN_TOOLS`
250
- - **`executor/action-tool-map.ts`**: `finish_task` injetado universalmente em `selectToolsForActions()`
251
- - **`executor/node-prompt-builder.ts`**: parâmetro `options`, seção de retry context, instrução `finish_task`
252
- - **`executor/llm-task-executor.ts`**: detecção de `finish_task`, `completed_by` no retorno, `turn_limit_exhausted` retorna `success: false`
253
-
254
- #### Testes
255
- - 542 testes passando (era 542 na v1.8.0, nenhuma regressão)
256
- - 36 testes de gaps (gap1–gap5) todos passando contra o código compilado
257
-
258
- ---
259
-
260
- ## [1.8.0] 2026-04-29
261
-
262
- ### Autonomous Execution 5 Critical Gaps Resolved
263
-
264
- Esta release eleva a autonomia do runtime de ~65% para ~85%+ em projetos de baixo a médio risco, tornando o OXE capaz de transformar um input bem estruturado em entrega verificada com mínima intervenção humana.
265
-
266
- #### Gap 1 — GateManager Wiring
267
- - `createExecutionContext()` exportada de `oxe-operational.cjs`: instancia `GateManager` real sempre que o runtime estiver disponível, eliminando o deadlock silencioso de `'gate-missing-manager'`
268
- - `scheduler.js`: warning explícito quando `ctx.gateManager` ausente em vez de falha silenciosa
269
- - Novo subcomando `oxe-cc runtime execute` com roteamento automático single-agent / multi-agent
270
-
271
- #### Gap 2 — Verificação Inline após cada tarefa
272
- - `Scheduler.verifyNode()`: executa o `verify.command` do nó logo após execução bem-sucedida, antes de emitir `WorkItemCompleted`
273
- - Falha de verificação → tarefa reentrada no loop de retry com `failure_class: 'verify'`
274
- - Falha de infraestrutura de verificação (comando inexistente, timeout) não bloqueia progresso
275
- - Eventos `VerificationStarted` / `VerificationCompleted` emitidos por tarefa (reducer existia)
276
-
277
- #### Gap 3 — Retry Inteligente com Contexto do Erro Anterior
278
- - `node-prompt-builder.js`: seção "Contexto da tentativa anterior" injetada automaticamente nas tentativas 2+ com stderr/output truncado em 2000 chars
279
- - `llm-task-executor.js`: aceita `options.previousError`; repassado para o prompt builder
280
- - `scheduler.js`: `lastError` rastreado e propagado entre tentativas via `executeNode(options)`
281
-
282
- #### Gap 4 Sinal Autoritativo de Conclusão (`finish_task`)
283
- - Nova tool built-in `finish_task` (idempotente) registrada em `BUILT_IN_TOOLS` e `ALL_BUILT_IN_SCHEMAS`
284
- - `selectToolsForActions()`: `finish_task` injetada universalmente em todos os tipos de ação
285
- - `node-prompt-builder.js`: instrução explícita de chamar `finish_task` ao concluir
286
- - `llm-task-executor.js`: detecta chamada de `finish_task` → `completed_by: 'finish_task'`; turns esgotados sem `finish_task` → `success: false, failure_class: 'llm'`
287
-
288
- #### Gap 5 MultiAgentCoordinator Wiring
289
- - `runRuntimeExecute()` exportada de `oxe-operational.cjs`: detecta `plan-agents.json` (sessão > raiz) e roteia para `MultiAgentCoordinator` (parallel/competitive/cooperative) ou `Scheduler` single-agent
290
- - `oxe-cc runtime execute`: novo subcomando CLI com output formatado e exit code em falhas
291
-
292
- #### Testes
293
- - 5 novos arquivos de teste cobrindo cada gap: `gap1-gate-manager`, `gap2-inline-verify`, `gap3-retry-context`, `gap4-finish-task`, `gap5-multi-agent`
294
- - Suite total: **543 testes passando**, 0 falhas
295
-
296
- ### Validation
297
-
298
- - `node --test tests/*.cjs tests/*.test.js`
299
- - `node bin/oxe-cc.js --version`
300
-
301
- ---
302
-
303
- ## [1.7.0] 2026-04-23
304
-
305
- ### OXE-native Agent Catalog
306
-
307
- - adicionada a fonte canónica `oxe/agents/` com agentes especializados para plan, execute, verify, debug, research, codebase mapping, integração, validação e UI
308
- - o instalador multi-runtime agora distribui agentes OXE para Claude Code (`.claude/agents`) e Codex/Antigravity (`.agents/skills` / skills compatíveis), além dos comandos já existentes
309
- - uninstall e smoke matrix passaram a validar e remover os agentes gerados pelo OXE
310
-
311
- ### Rational Execution Artifacts
312
-
313
- - templates de `PLAN`, `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS`, `FIXTURE-PACK` e `SUMMARY` foram endurecidos com contratos goal-backward, write-set, símbolos, sequência mínima, rollback, fixtures e evidência
314
- - `/oxe-plan`, `/oxe-execute`, `/oxe-verify`, `/oxe-debug`, `/oxe-forensics`, `/oxe-ui-spec` e `/oxe-ui-review` agora referenciam explicitamente os agentes e gates racionais compatíveis com runtime enterprise
315
-
316
- ### Public Surface Hygiene
317
-
318
- - `scan:assets` agora bloqueia referências públicas a namespaces, paths e nomes de origem legada
319
- - criado `docs/CONTENT-MIGRATION-AUDIT.md` como trilha interna de incorporação, sem exposição nas superfícies instaladas
320
-
321
- ## [1.6.0] — 2026-04-23
322
-
323
- ### Product Reconciliation
324
-
325
- - a árvore canónica `oxe/` foi restaurada como source of truth da release, incluindo `oxe/workflows/`, `oxe/workflows/references/`, `oxe/templates/` e `commands/oxe/` como superfície derivada sincronizada
326
- - `workflow-runtime-contracts.json` voltou a ser contrato obrigatório da release; `sync-runtime-metadata` agora falha fechado quando a fonte canónica ou o registry semântico estão ausentes/inválidos
327
- - `doctor --release` passou a bloquear explicitamente por topologia canónica ausente, contrato semântico inválido e drift entre workflows e wrappers
328
-
329
- ### Package-vs-Workspace Health
330
-
331
- - `status`, `status --full`, dashboard e SDK agora distinguem `workspaceMode: product_package` de `workspaceMode: oxe_project`
332
- - no repositório do pacote, o próximo passo deixa de cair em `plan/replan` por ruído de manutenção e passa a apontar para `doctor --release --write-manifest`
333
- - `status --json` passou a expor `workspaceMode` e `releaseReadiness` como contrato estável da linha `1.6.0`
334
-
335
- ### Multi-runtime Edge Hardening
336
-
337
- - a smoke matrix de release passou a validar a instalação do Codex de forma completa: prompts em `.codex/prompts/` e skills em `.agents/skills/oxe/`
338
- - documentação de instalação foi ajustada para separar `--local` (layout do repo) de `--ide-local` (escopo da integração), eliminando a ambiguidade operacional em runtimes como Codex
339
-
340
- ### Validation
341
-
342
- - `node --test tests/oxe-project-health.test.cjs`
343
- - `node --test tests/oxe-cli-edge.test.cjs`
344
- - `npm test`
345
- - `npm run scan:assets`
346
- - `npm run release:doctor`
347
-
348
- ## [1.5.1] — 2026-04-22
349
-
350
- ### Rational Execution Readiness
351
-
352
- - `/oxe-plan` passou a exigir e propagar artefatos racionais de execução: `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK`
353
- - `/oxe-execute` agora é `pack-first` e bloqueia mutação quando confiança `<= 90%`, quando os packs estão incompletos ou quando há `critical_gap` aberto
354
- - `doctor`, `status --json`, dashboard e SDK passaram a expor `implementationPackReady`, `referenceAnchorsReady`, `fixturePackReady`, `executionRationalityReady` e `criticalExecutionGaps`
355
-
356
- ### Session Compatibility
357
-
358
- - o health report agora faz fallback explícito entre artefatos session-scoped e artefatos ainda materializados na raiz `.oxe/`, evitando falso negativo de readiness em workspaces legados
359
- - o gate racional foi limitado ao estágio pré-execução; depois de `executing`/`verify_complete`, os packs continuam diagnósticos, mas não reescrevem o próximo passo do ciclo
360
-
361
- ### Publication Alignment
362
-
363
- - versão alinhada para `1.5.1` em pacote raiz, runtime package, extensão VS Code, README e lockfile
364
- - matriz pública de smoke runtime atualizada para refletir a release `1.5.1`
365
-
366
- ### Validation
367
-
368
- - `npm test`
369
- - `npm run scan:assets`
370
- - `npm run release:manifest`
371
- - `npm run build:vscode-ext`
372
-
373
- ## [1.5.0] 2026-04-21
374
-
375
- ### Release Readiness 5/5
376
-
377
- - `doctor --release --write-manifest` virou gate formal de publicação, com verificação bloqueante de versões, topo do `CHANGELOG`, runtime compilado, wrapper sync e relatórios obrigatórios
378
- - a release agora persiste `release-manifest.json`, `runtime-smoke-report.json`, `recovery-fixture-report.json` e `multi-agent-soak-report.json` em `.oxe/release/`
379
- - `npm test` passou a incluir smoke matrix multi-runtime, fixtures reproduzíveis de recovery/incidente e soak multi-agent
380
-
381
- ### Operational Proof
382
-
383
- - nova smoke matrix obrigatória para Cursor, Copilot VS Code, Claude Code, Codex, OpenCode, Gemini, Windsurf e Antigravity, cobrindo install, entrypoint `oxe`, resolução de workflow e uninstall granular
384
- - novo corpus de incidentes em `tests/fixtures/runtime-incidents/` para provar `runtime replay` e `runtime recover` fora do caminho feliz
385
- - multi-agent passou a gerar e auditar `multi-agent-summary.json`, incluindo timeouts e reassignments
386
-
387
- ### Publication Contract
388
-
389
- - versão alinhada para `1.5.0` em pacote raiz, runtime package, extensão VS Code, README e lockfile
390
- - README, AGENTS e SDK docs atualizados para refletir o gate de release, os relatórios obrigatórios e o contrato estável desta publicação
391
-
392
- ### Validation
393
-
394
- - `npm test`
395
- - `npm run scan:assets`
396
- - `npm run release:doctor`
397
-
398
- ## [1.4.0] 2026-04-20
399
-
400
- ### Runtime Publication Stabilization
401
-
402
- - `execute` e `verify` passaram a documentar e propagar o contrato `runtime-first`, com fallback legado explícito quando o runtime enterprise não estiver disponível
403
- - `runtime gates` ganhou superfície operacional estável com `list`, `show`, `resolve`, filtros (`--run`, `--status`, `--scope`, `--task`) e `--json`
404
- - `status --json` e `runtime status --json` consolidam `runtimeMode`, `fallbackMode`, `gateQueue`, `policyCoverage`, `promotionReadiness`, `recoveryState`, `multiAgent` e `providerCatalog`
405
- - dashboard web passou a expor cards operacionais para gates, recovery, promotion e multi-agent, incluindo resolução de gates pela UI
406
- - replay/recovery ficaram orientados a incidente com saída estruturada, reconciliação de run state e summaries derivados
407
- - `multi-agent` foi endurecido como GA apenas sobre workspaces isolados reais; modos `parallel`, `competitive` e `cooperative` falham explicitamente em `inplace`
408
- - SDK ampliado com `GateQueueSnapshot`, `replayRuntimeState`, `readRuntimeMultiAgentStatus` e alias `multiAgentStatus`
409
-
410
- ### Release Preparation
411
-
412
- - alinhamento de versão para `1.4.0` em `package.json`, `package-lock.json`, `packages/runtime/package.json`, `vscode-extension/package.json`, banner e README
413
- - alinhamento de licença da extensão VS Code com o pacote principal e inclusão de `vscode-extension/LICENSE` para empacotamento limpo do VSIX
414
- - licença do projeto alterada de `GPL-3.0` para `MIT`, com manifests e documentação pública alinhados
415
- - README atualizado para refletir o momento atual do produto, o contrato estável de publicação e a superfície enterprise do CLI/runtime
416
- - `lib/sdk/README.md` e `AGENTS.md` atualizados para refletir os bridges do runtime enterprise e o comportamento `runtime-first`
417
-
418
- ### Adoção em Times (v1.4.0 final)
419
-
420
- - `QUICKSTART.md` guia de onboarding "primeiros 15 minutos": install, primeiro ciclo (6 comandos), runtime-first, validação dos 5 minutos
421
- - `docs/ROLES.md` — guia por papel: executor, reviewer, operador de gate, mantenedor do pacote; cada papel com o que lê, decide e pode ignorar
422
- - `docs/TEAM-ADOPTION.md` fluxo branch/PR recomendado, ship local vs. promote remoto, sessões e workstreams, governança mínima
423
- - `docs/WALKTHROUGH.md` — walkthrough completo reproduzível: spec → plan → execute → verify → gate → promotion com outputs esperados
424
- - `docs/INCIDENT-PLAYBOOK.md` gate stale, run bloqueada, RECOVERY-SUMMARY, dashboard como painel operacional
425
- - `docs/RUNTIME-SMOKE-MATRIX.md` matriz 8 runtimes × 6 operações com pressupostos e comportamentos por runtime
426
- - `oxe-cc doctor` — health gates para IDEs (Copilot, Cursor, Claude Code), detecção de runtime compilado, readiness gate summary com próximo passo derivado da fase atual
427
- - `oxe-cc status` — IDE readiness summary inline, gates pendentes no modo padrão (sem `--full`), diagnóstico de bloqueio explícito (SPEC/PLAN/VERIFY ausentes)
428
- - `runtime gates list` — ícones visuais `⏳ pending` / `⚠ stale (>Nh)` / `✓ resolved`, ação sugerida e impacto no ciclo por gate
429
- - `runtime gates resolve` — mensagem de impacto pós-resolução: "Run pode avançar" ou "N gates restantes"
430
- - `.github/workflows/release.yml` pipeline de publicação: validate → publish-npm (com provenance) → build-vsix → create-release com extração automática do CHANGELOG
431
- - `.github/workflows/ci.yml` — novos jobs `doctor` (gate de qualidade operacional) e `wrapper-audit` (sync entre wrappers e contrato canônico)
432
- - `README.md` seção `## Para times` com links para todos os novos docs; link `→ Guia por papel` na seção "Momento atual do produto"
433
-
434
- ### Validation
435
-
436
- - suíte root + runtime continua verde
437
- - scanner de assets/markdown continua íntegro
438
-
439
- ---
440
-
441
- ## [1.3.0] 2026-04-20
442
-
443
- ### Reasoning Contracts & Semântica Multi-Runtime
444
-
445
- - Contratos de raciocínio v2.0.0 (`oxe_contract_version: 2.0.0`) em todos os workflows e wrappers de runtime
446
- - Novos campos de metadata: `oxe_reasoning_mode`, `oxe_question_policy`, `oxe_output_contract`, `oxe_tool_profile`, `oxe_confidence_policy`, `oxe_context_tier`
447
- - `oxe_semantics_hash` (SHA-256 16 chars) para detecção de drift semântico entre IDEs
448
- - Módulo `bin/lib/oxe-runtime-semantics.cjs` gerencia o contrato canônico: `buildReasoningContractBlock()`, `buildContextTiers()`, `auditRuntimeTargets()`, `computeSemanticsHash()`
449
- - `auditRuntimeTargets()` varre Copilot prompts, commands e Cursor commands e reporta divergências entre wrappers e o contrato canônico
450
- - Prompts e commands sincronizados para todos os runtimes: Cursor, GitHub Copilot, Claude Code, OpenCode, Codex, Gemini CLI, Windsurf, Antigravity
451
-
452
- ### Novos Módulos bin/lib
453
-
454
- - **`oxe-dashboard.cjs`** — servidor HTTP local (porta 9000), `loadDashboardContext()`, API REST com `/api/health/status`, `/api/plan/info`, `/api/runtime/gates/{id}/status`, `/api/runtime/gates/resolve`; suporte a PLAN-REVIEW.md com comentários e status de aprovação
455
- - **`oxe-runtime-semantics.cjs`** — gestão de metadados de workflow e contratos de raciocínio: `getWorkflowContract()`, `getAllWorkflowContracts()`, `validateWorkflowContractsRegistry()`, `buildContextPackPaths()`, `buildReasoningContractBlock()`, `splitFrontmatter()`, `parseFrontmatterMap()`
456
- - **`oxe-operational.cjs`** expandido — monitoramento de agents, gates, evidências e estado de run com maior granularidade
457
- - **`oxe-project-health.cjs`** expandido — métricas de saúde: test scores, coverage, violations, integração Copilot
458
-
459
- ### Comandos e Superfície
460
-
461
- - **`oxe-ship`** — cria commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`; disponível em todos os runtimes suportados
462
- - **`oxe-skill`** gestão e composição de skills com roles `@executor` e `@researcher`
463
- - Contrato de raciocínio declarado em todos os workflows: `discovery`, `planning`, `execution`, `review`, `status`
464
- - Regra pack-first em todos os wrappers: `.oxe/context/packs/<slug>.md` antes de cair para leitura direta
465
-
466
- ### Testes e Cobertura
467
-
468
- - Novos testes unitários para `oxe-runtime-semantics.cjs`: 31 testes cobrindo todas as 19 funções exportadas
469
- - Novos testes para `oxe-plugins.cjs`: 28 testes para `loadPlugins`, `runHook`, `validatePlugins`, `initPluginsDir`, `resolvePluginSources`
470
- - Novos testes para `oxe-security.cjs`: `checkPathSafety`, `scanFileForSecrets`, `scanDirForSecretFiles`, `validatePlanPaths`
471
- - Cobertura de linhas: **80.28% 82.28%** (superando threshold de 82%)
472
- - Total: **383 testes** passando (root + runtime)
473
-
474
- ---
475
-
476
- ## [1.2.1] 2026-04-18
477
-
478
- ### Branding, Semântica e Empacotamento
479
-
480
- - remove referências remanescentes ao framework legado dos workflows e do diagnóstico de integração Copilot
481
- - alinha `package.json`, `package-lock.json`, banner CLI e README para `1.2.1`
482
- - corrige deriva semântica do workflow `ship`, registrando-o no contrato canônico multi-runtime
483
- - adiciona prompt files de `ship` para Copilot/Cursor
484
- - remove o comando `auto` da superfície pública do OXE
485
- - remove o comando `intel` da superfície pública do OXE
486
- - reposiciona `ship` para fechar o ciclo com commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`
487
-
488
- ---
489
-
490
- ## [1.2.0] 2026-04-18
491
-
492
- ### Runtime Hardening & Robustez (Fases 1–9)
493
-
494
- **Fase 1 Runtime Hardening**
495
-
496
- - `RunJournal` persistido em `.oxe/runs/{runId}/journal.json`: gravado a cada onda, atualizado no pause/cancel
497
- - `Scheduler.pause()` agora grava journal e retorna `status: 'paused'` em vez de apenas setar flag in-memory
498
- - `Scheduler.recover(runId, ctx, graph)` — retoma run pausado pelo journal; pula nós já completados
499
- - `Scheduler.getJournal()` e `Scheduler.loadJournal(projectRoot, runId)` para inspeção
500
- - `RunState` expandido: `retryCounts`, `policyDecisions`, `pendingGates`, `resolvedGates`, `verificationStatus`, `evidenceRefs`, `toolFailures`
501
- - Reducer: handlers para `RetryScheduled`, `PolicyEvaluated`, `GateRequested`, `GateResolved`, `VerificationStarted`, `VerificationCompleted`, `ToolFailed`, `EvidenceCollected`
502
- - Helpers: `getRetryCount`, `getPolicyDecision`, `getVerificationStatus`, `getEvidenceRefs`, `getToolFailures`
503
-
504
- **Fase 2 — Policy, Side Effects e Security**
505
-
506
- - `SideEffectClass` enum: `read_fs|write_fs|spawn_process|network_call|git_mutation|db_change|secret_access|infra_operation`
507
- - `AutonomyTier` type: `L0|L1|L2|L3` tier controla quais side effects são permitidos automaticamente
508
- - `NodePolicyConfig` com `mutation_budget` e `autonomy_tier`
509
- - `EnvironmentGuardrail` com `protected_paths`, `protected_branches`, `require_human_gate_on`
510
- - Guardrails default: paths `.env`, `package.json`, `.oxe/config.json`; gate automático para `infra_operation`, `db_change`, `secret_access`
511
- - `PolicyEngine.withGuardrail(g)` para customizar guardrails por projeto
512
- - `side_effect_class` e `autonomy_tier` em `PolicyWhenClause` para regras direcionadas
513
-
514
- **Fase 3Verify Operational**
515
-
516
- - `VerificationManifest` formal: persistido em `.oxe/runs/{runId}/verification-manifest.json`
517
- - `VerificationProfile`: `quick|standard|critical` controla quais `FailureClass` geram riscos residuais
518
- - `FailureClass` taxonomy: `deterministic|flaky|timeout|env_setup|policy_failure|evidence_missing`
519
- - `classifyFailure(result)` — classifica automaticamente cada `CheckResult`
520
- - `buildManifest(runId, results, options)` — compila manifest por work item, onda ou run
521
- - `ResidualRiskLedger` persistido em `.oxe/runs/{runId}/residual-risks.json`
522
- - `buildRiskLedger(runId, manifest)` — gera ledger de riscos residuais a partir do manifest
523
-
524
- **Fase 4 Delivery Native**
525
-
526
- - `MergeGateEvaluator.evaluate(runResult, manifest, ledger)` — avalia se run está pronto para merge
527
- - Bloqueios: tarefas failed/blocked, verificação falha, riscos `high`/`critical`
528
- - `PromotionPipeline.promote(runResult, manifest, ledger, opts)` cria PR draft via `gh`, persiste `RunPRLink`
529
- - `PromotionPipeline.buildPRBody(...)` — corpo do PR com resumo, verificação e riscos residuais
530
- - `RunPRLink` persistido em `.oxe/runs/{runId}/pr-link.json`
531
-
532
- **Fase 5 Context Engineering Avançado**
533
-
534
- - `ContextPackStore`: `savePack`, `loadPack`, `markStale`, `isStale`, `listPackMeta` packs persistidos em `.oxe/runs/{runId}/context-pack-{workItemId}.json`
535
- - `ContextPackMeta` com `estimated_tokens`, `stale`, `stale_reason`
536
- - `diffPacks(before, after)` detecta added/removed/score_changed entre versões de pack
537
- - Índice global por run em `context-packs.index.json`
538
-
539
- **Fase 6 Decision Engine / Seniority**
540
-
541
- - `DecisionEngine.evaluate(input)`avalia policy, gate, retry budget, risk, lesson match e retorna `DecisionRecord` com `type`, `seniority`, `confidence` e `rationale`
542
- - Tipos de decisão: `proceed|retry|escalate_gate|skip|abort|promote_lesson`
543
- - `SeniorityLevel`: `junior|standard|senior|expert` derivado da confidence
544
- - `appendDecision`, `loadDecisionLog`, `queryDecisions` log persistido em `.oxe/runs/{runId}/decisions.json`
545
-
546
- **Fase 7 Multi-Agent Robusto**
547
-
548
- - `AgentRegistry` com heartbeat tracking por agente
549
- - `registry.beat(id, currentTask)` atualiza last_seen e status
550
- - `registry.isAlive(id)` detecta timeout configurável por instância
551
- - `registry.timedOut()` / `registry.liveAgents()` filtragem por liveness
552
- - `registry.failover(fallbackAgentId)` — reassigna tasks de agentes expirados para fallback
553
- - `registry.setStatus(id, status)` — transições manuais de estado
554
-
555
- **Fase 8 ABI Estável de Plugins**
556
-
557
- - `PluginManifest` com `abi_version`, `capabilities`, declared providers
558
- - `extractManifest(plugin)` extrai manifest de qualquer `OxePlugin`
559
- - `validatePlugin(plugin)` retorna `{ valid, errors, warnings }` com checagem de nome, semver, providers
560
- - `isAbiCompatible(version)` — garante compatibilidade de major version
561
- - `sandboxInvoke(fn, timeoutMs)` — execução com timeout e isolamento de erro para plugins
562
-
563
- **Fase 9Enterprise Operations**
564
-
565
- - `AuditTrail` registro imutável NDJSON em `.oxe/AUDIT-TRAIL.ndjson`
566
- - 14 tipos de ação auditáveis: `run_started`, `secret_accessed`, `infra_mutation`, `merge_approved`, etc.
567
- - Severity automática por ação (`info|warn|critical`)
568
- - `AuditTrail.query(filter)` filtra por action/severity/runId/since
569
- - `RunQuota` `createQuota`, `consumeQuota`, `checkQuota` para limitar work_items, mutations e retries por run
570
-
571
- ### Testes
572
-
573
- - Runtime: **266 testes** (↑ de 145 pré-robustez)
574
- - Root: 321 testes (sem regressões)
575
- - Total: **587 testes** passando
576
-
577
- ---
578
-
579
- ## [1.1.0] 2026-04-18
580
-
581
- ### Mudança de superfície (simplificação estratégica de produto)
582
-
583
- **Trilha principal reduzida a 6 comandos**
584
-
585
- O OXE agora se comporta como um framework guiado por etapas. A superfície pública foi reorganizada em três níveis:
586
-
587
- **Trilha principal (6 comandos):**
588
- - `/oxe` entrada universal (absorve ask, next, route, help)
589
- - `/oxe-quick` modo nano sem cerimônia
590
- - `/oxe-spec` — spec com flags: `--refresh`, `--full`, `--research`, `--ui`
591
- - `/oxe-plan`planejamento test-first
592
- - `/oxe-execute` — implementação com flags: `--note`, `--debug`, `--deep-diagnosis`, `--checkpoint`, `--iterative`
593
- - `/oxe-verify` — validação e fechamento com flags: `--gaps`, `--security`, `--ui`, `--pr`, `--diff`, `--skip-retro`
594
-
595
- **Trilha avançada:** `/oxe-session` (absorve project, milestone, workstream), `/oxe-dashboard`
596
-
597
- **Administrativa:** `/oxe-capabilities`, `/oxe-skill`, `oxe-cc azure`
598
-
599
- ### Depreciado (v1.1.0)
600
-
601
- Os seguintes comandos foram incorporados por estágios principais e continuam funcionando com aviso de migração:
602
-
603
- | Comando | Novo destino |
604
- |---------|-------------|
605
- | `/oxe-ask` | `/oxe "pergunta"` |
606
- | `/oxe-scan` | `/oxe-spec --refresh` |
607
- | `/oxe-research` | `/oxe-spec --research` |
608
- | `/oxe-ui-spec` | `/oxe-spec --ui` |
609
- | `/oxe-obs` | `/oxe-execute --note` |
610
- | `/oxe-debug` | `/oxe-execute --debug` |
611
- | `/oxe-forensics` | `/oxe-execute --deep-diagnosis` |
612
- | `/oxe-checkpoint` | `/oxe-execute --checkpoint` |
613
- | `/oxe-loop` | `/oxe-execute --iterative` |
614
- | `/oxe-validate-gaps` | `/oxe-verify --gaps` |
615
- | `/oxe-security` | `/oxe-verify --security` |
616
- | `/oxe-ui-review` | `/oxe-verify --ui` |
617
- | `/oxe-review-pr` | `/oxe-verify --pr` |
618
- | `/oxe-retro` | `/oxe-verify` (retro automática) |
619
- | `/oxe-project` | `/oxe-session milestone\|workstream` |
620
- | `/oxe-compact` | `/oxe-spec --refresh` |
621
- | `/oxe-next` | `/oxe` (sem argumento) |
622
- | `/oxe-route` | `/oxe "intenção"` |
623
- | `/oxe-milestone` | `/oxe-session milestone` |
624
- | `/oxe-workstream` | `/oxe-session workstream` |
625
-
626
- ### Novos comportamentos
627
-
628
- - **Retro automática:** `/oxe-verify` executa automaticamente retrospectiva ao fechar (`--skip-retro` para desativar)
629
- - **Pergunta situacional inline:** `/oxe "pergunta"` substitui `/oxe-ask`
630
- - `/oxe-session` agora suporta `milestone` e `workstream` como subcomandos
631
-
632
- ---
633
-
634
- ## [0.8.0] — 2026-04-14
635
-
636
- ### Adicionado
637
-
638
- **Session forking + revert**
639
- - `session fork [nome]` — bifurca a sessão ativa, copiando todos os artefatos para uma nova sessão; rastreia `forked_from` na SESSION.md
640
- - `session revert <checkpoint-slug>` restaura STATE.md ao snapshot de um checkpoint, sem apagar artefatos atuais
641
-
642
- **Skill system**
643
- - `/oxe-skill` — workflow para descobrir, invocar e gerenciar skills (unificação de personas e capabilities)
644
- - `@<skill-id>` no chat resolve persona OU capability OU composite como ponto de entrada único
645
- - Template `SKILL.template.md` para criação de skills de projeto em `.oxe/skills/`
646
- - Resolução em 3 camadas: project capabilities global (personas do pacote)
647
-
648
- **Sistema de permissões com wildcard**
649
- - `permissions[]` em `.oxe/config.json` — regras glob+ação que controlam acesso a arquivos durante execute e apply
650
- - Ações: `allow`, `deny`, `ask` avaliação first-match wins
651
- - Scopes: `execute`, `apply`, `all`
652
- - Gate automático no workflow execute antes de cada onda
653
-
654
- **Config hierárquico (system user → project)**
655
- - `loadOxeConfigMerged()` agora 3 níveis: system (`OXE_SYSTEM_CONFIG` ou path OS-default) < user (`~/.oxe/config.json`) < project (`.oxe/config.json`)
656
- - `status --full` exibe fontes de cada nível de configuração
657
- - Campo `sources` no retorno do SDK
658
-
659
- **Event sourcing com replay**
660
- - `replayEvents()` no SDK reconstrói timeline de `OXE-EVENTS.ndjson` com deltas, filtros por run/wave/event
661
- - `oxe-cc runtime replay [--run <id>] [--from <event-id>] [--wave <n>] [--write]` — visualização de timeline no terminal ou `REPLAY-SESSION.md` em disco
662
- - Integração com `/oxe-forensics` — replay como ferramenta de investigação
663
-
664
- **Plugin system com carregamento remoto**
665
- - `plugins[]` em `config.json` aceita `{ source: "npm:<pkg>" }` e `{ source: "path:./file.cjs" }`
666
- - `oxe-cc plugins list` lista plugins carregados (local + externos)
667
- - `oxe-cc plugins install npm:<pkg>` — instala plugin npm em `.oxe/plugins/_npm/`
668
- - `resolvePluginSources()` e `installNpmPlugin()` expostos no SDK
669
-
670
- ### Tipos TypeScript
671
- - `OxePermissionRule`, `PermissionCheckResult`, `ReplayReport`, `PluginSource` adicionados
672
- - `security.checkFilePermission`, `security.checkPermissions`, `security.globToRegex` declarados
673
- - `operational.replayEvents` declarado
674
- - `plugins.resolvePluginSources`, `plugins.installNpmPlugin` declarados
675
- - `health.loadOxeConfigMerged` retorna `sources: { system, user, project }`
676
-
677
- ---
678
-
679
- ## [0.7.0]2026-04-13
680
-
681
- ### Adicionado
682
-
683
- **Provider Azure nativo (`oxe-cc azure`)**
684
- - `azure status` — estado compacto read-only: CLI, login, subscription, inventário, pendências, alerta VPN
685
- - `azure operations list` — histórico colorido de operações (planned/applied/pending)
686
- - `azure find --type <serviço>` — filtro por família de serviço (servicebus, eventgrid, sql)
687
- - `azure find --filter-rg <rg>` — filtro por resource group
688
- - `azure sync --diff` mostra recursos adicionados/removidos em relação ao snapshot anterior
689
- - `azure apply --dry-run` — pré-visualiza comando `az` sem executar nem criar artefatos
690
- - `azure auth login --tenant <id>` — suporte a Entra ID corporativo; passa `--tenant` ao `az login`
691
- - `azure apply --vpn-confirmed` — confirma conexão VPN quando `vpn_required: true` está configurado
692
-
693
- **SDK**
694
- - `azure.diffInventory(previousItems, currentItems)` compara snapshots de inventário (adicionados/removidos/unchanged)
695
- - `azure.statusAzure(projectRoot, config?, options?)` — status compacto sem writes
696
-
697
- **Workflows (guardrails)**
698
- - `scan.md`: detecção Azure é informativa — não altera fluxo canônico OXE nem aciona steps Azure automaticamente
699
- - `plan.md`: pré-check Azure ativa quando Azure é mencionado **explicitamente** na SPEC ou `.oxe/cloud/azure/` existe
700
- - `discuss.md`: perguntas Azure só ativam quando SPEC menciona Azure explicitamente — SQL genérico (PostgreSQL, MySQL, on-prem) não aciona o bloco
701
-
702
- ### Corrigido
703
- - `loginAzure()` com `inherit: true` não passava mais `inherit` para `getAzureContext`, evitando crash ao tentar ler `account.id` de stdout null
704
-
705
- ### Tipos TypeScript
706
- - `azure.searchAzureInventory` inclui parâmetro opcional `filters?: { type?, resourceGroup? }`
707
- - `azure.diffInventory` declarado
708
- - `azure.statusAzure` declarado
709
-
710
- ---
711
-
712
- ## [0.6.3] — 2026-04-04
713
-
714
- ### Corrigido
715
- - `security_in_verify` agora é reconhecido como chave válida em `.oxe/config.json` (não mais rejeitado pelo doctor como "unknown key")
716
- - `plan-agents.schema.json`: enum atualizado de `[1, 2]` para `[2, 3]`; campos `persona` e `model_hint` adicionados ao schema dos agentes
717
-
718
- ### Adicionado
719
- - **`/oxe-retro` sugerido automaticamente** pelo `oxe-cc status` quando `phase: verify_complete` e `.oxe/LESSONS.md` ainda não existe
720
- - **`health.parseLastRetroDate(stateText)`** — parseia campo `last_retro: YYYY-MM-DD` do STATE.md
721
- - **`health.isStaleLessons(retroDate, maxDays)`** detecta se LESSONS.md está desatualizado (par de `isStaleScan`)
722
- - **`health.planAgentsWarnings(target)`** — avisa sobre schema 1 (legado) e `model_hint` inválido em `plan-agents.json`
723
- - **`parseState()`** retorna novo campo `lastRetroDate: string | null`
724
- - `OxeHealthReport` inclui `retroDate: Date | null`
725
- - `config.template.json` inclui `security_in_verify: false` por padrão
726
- - `plan-agents.template.json` inclui campo `persona` no agente-exemplo
727
- - Melhorias de workflow: `obs.md` (tabela de classificação de impacto), `verify.md` (success_criteria camadas 5+6), `next.md` (flag de promoção QUICK→spec), `quick.md` (incorporação de OBSERVATIONS), `plan.md` (nota de replan + plan-agents sync)
728
- - `AGENTS.md` atualizado para v0.6.x
729
-
730
- ### Tipos TypeScript
731
- - `ParsedState` inclui `lastRetroDate: string | null`
732
- - `OxeHealthReport` inclui `retroDate: Date | null`
733
- - `health.*` expõe `parseLastRetroDate`, `isStaleLessons`, `planAgentsWarnings`
734
-
735
- ---
736
-
737
- ## [0.6.2]2026-04-04
738
-
739
- ### Adicionado
740
- - **`/oxe-retro`** — workflow de retrospectiva de ciclo; sintetiza 3–5 lições prescritivas em `.oxe/LESSONS.md`
741
- - `oxe/templates/LESSONS.template.md`
742
- - Correções de consistência de schema (plan-agent.md, verify.md): referências atualizadas para schema v3
743
-
744
- ### Alterado
745
- - README: tabela "Como cada comando fica mais inteligente" expandida com loop, security, research thinking_depth, model_hint
746
- - Cadeia de help (`oxe.md`) atualizada para incluir `/oxe-retro` após verify
747
-
748
- ---
749
-
750
- ## [0.6.1] — 2026-04-04
751
-
752
- ### Adicionado
753
- - **`/oxe-security`** auditoria OWASP Top 10 filtrada pelo stack; produz `.oxe/SECURITY.md` com achados P0/P1/P2
754
- - **`/oxe-loop`** execução iterativa de onda com retries automáticos e diagnóstico inline
755
- - **Model hints** em `plan-agents.json` schema v3: campo `model_hint` (`fast | balanced | powerful`) por agente
756
- - **Thinking depth** em `/oxe-research`: classificação `surface | standard | deep` com raciocínio estendido para `deep`
757
- - Integração automática de security no verify via `security_in_verify: true` (Camada 6)
758
- - `oxe/templates/SECURITY.template.md`
759
-
760
- ---
761
-
762
- ## [0.6.0] 2026-04-04
763
-
764
- ### Adicionado
765
- - Workflow `/oxe-project` unificando `milestone`, `workstream`, `checkpoint`
766
- - `/oxe-obs` com propagação automática para R-IDs e Tns afetados
767
- - Auto-reflexão semântica em `/oxe-spec` (Fase 4b): detecta contradições e escopo creep antes da aprovação
768
- - Modo de execução A/B/C em `/oxe-execute` (Completo / Por onda / Por tarefa)
769
- - Debug inline automático em falhas de execute
770
- - 4 profiles de execução: `balanced`, `strict`, `fast`, `legacy`
771
- - Sistema de personas para agentes (`oxe/personas/`)
772
- - Plugin lifecycle (`.oxe/plugins/*.cjs`)
773
- - `scale_adaptive`: scan sugere profile pelo tamanho do projeto
774
-
775
- ---
776
-
777
- ## [0.5.0]anterior
778
-
779
- Versões anteriores não documentadas neste arquivo.
1
+ # Changelog — OXE CLI (`oxe-cc`)
2
+
3
+ Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudanças mais recentes aparecem primeiro.
4
+
5
+ ---
6
+
7
+ ## [1.16.0] — 2026-07-18
8
+
9
+ ### Segurança, pacote verificável e engenharia de release
10
+
11
+ Esta versão consolida o OXE-BUILD como framework multi-runtime orientado por
12
+ evidências, com foco em segurança de subprocessos, consumo real do pacote,
13
+ qualidade mensurável e releases reproduzíveis.
14
+
15
+ - **Executor seguro e multiplataforma** invocações de `npm` e `npx` foram
16
+ centralizadas com argumentos estruturados e `shell: false`, incluindo
17
+ resolução explícita de `npm-cli.js`/`npx-cli.js` no Windows e testes contra
18
+ payloads hostis.
19
+ - **Portabilidade comprovada em Windows e Linux** — resolução de caminhos
20
+ Windows usa semântica `win32` mesmo quando simulada em outro host; mocks do
21
+ Azure CLI e instalações globais de agentes passaram a ser herméticos, e o
22
+ OpenCode recebe também a entrada raiz `oxe.md`.
23
+ - **CLI modular** — dispatch de comandos separado em registry e handlers
24
+ testáveis, reduzindo o acoplamento do entrypoint sem alterar a interface
25
+ pública.
26
+ - **Pacote validado como um consumidor real** o gate cria o tarball, instala
27
+ em projeto temporário limpo e exercita CLI, SDK, runtime e compilação
28
+ TypeScript.
29
+ - **npm workspaces e lockfile único** — raiz, runtime e extensão usam a mesma
30
+ resolução; o lockfile aninhado obsoleto do runtime foi removido.
31
+ - **SDK types gerados pelo TypeScript** — `index.d.ts` passa a ser emissão
32
+ determinística de `index.types.ts`, com gate de drift e validação da ABI
33
+ pública.
34
+ - **Coverage ratchet** pisos globais e de módulos críticos são executáveis e
35
+ não podem ser reduzidos abaixo do baseline versionado.
36
+ - **Extensão validada no VS Code real** o Extension Host 1.95.3 comprova a
37
+ ativação e o registro observável dos 13 participantes OXE; o VSIX é gerado
38
+ por uma versão fixa do `vsce`.
39
+ - **Supply chain endurecida** — GitHub Actions fixadas por SHA, Dependabot,
40
+ permissões mínimas, actionlint, tag vinculada à versão e GitHub Release
41
+ condicionada ao build do VSIX.
42
+ - **Publicação npm manual nesta release** a criação da tag gera validação e
43
+ GitHub Release, mas não executa `npm publish`; a promoção ao registry fica
44
+ sob controle explícito do mantenedor.
45
+ - **Quality telemetry** relatório JSON/Markdown exige os 10 gates, rejeita
46
+ gates ausentes, duplicados ou inesperados e invalida evidências antigas.
47
+ - **README redesenhado** — proposta de valor, quickstart, fluxos Nano/Standard/
48
+ Full, runtime-first, adoção por equipes e métricas verificáveis agora formam
49
+ uma narrativa única e orientada ao uso.
50
+
51
+ ### Evidência da release
52
+
53
+ - 10/10 quality gates aprovados.
54
+ - 384/384 testes do runtime e mais de 600 testes raiz.
55
+ - 30/30 cenários smoke, runtime real, recovery e multiagente.
56
+ - Cobertura: 83,06% lines/statements, 92,63% functions e 61,77% branches.
57
+ - `npm audit`: 0 vulnerabilidades.
58
+ - Tarball npm: 506 arquivos; VSIX: 13 participantes ativados em host real.
59
+
60
+ ## [1.15.0] 2026-06-27
61
+
62
+ ### `.oxe/` enxuto no install + mapa vivo de artefatos
63
+
64
+ Resposta ao feedback de que a quantidade de pastas criadas no install era grande
65
+ demais e dificultava entender o fluxo versus o que de fato foi/será criado.
66
+
67
+ - **Lazy scaffolding** — `oxe-cc init-oxe`/`install` agora cria só o núcleo
68
+ essencial: `.oxe/STATE.md`, `.oxe/config.json` e `.oxe/README.md` (legenda
69
+ gerada). As ~13 subpastas e os arquivos operacionais (`codebase/`,
70
+ `capabilities/`, `investigations/`, `global/`, `sessions/`, `memory/`,
71
+ `runs/`, `EXECUTION-RUNTIME.md`, `ACTIVE-RUN.json`, `OXE-EVENTS.ndjson`,
72
+ `CHECKPOINTS.md`, `CAPABILITIES.md`, `INVESTIGATIONS.md`, …) passam a nascer
73
+ **sob demanda**, no primeiro uso do workflow correspondente.
74
+ - **Catálogo único de artefatos** (`bin/lib/oxe-artifact-catalog.cjs`) — fonte
75
+ da verdade que descreve cada artefato do `.oxe/` (path, propósito, origem,
76
+ grupo) e da qual derivam legenda, mapa e docs (uma definição, três saídas).
77
+ - **`oxe-cc map`** mapa vivo anotado do `.oxe/`: o que existe, o que está
78
+ disponível sob demanda e o estado de cada item (`✓ ativo · ◦ vazio ·
79
+ desatualizado · · sob demanda`). `oxe-cc map --json` (`oxeMapSchema: 1`)
80
+ para hosts; exposto no SDK como `artifacts.buildMapModel` / `renderLegend`.
81
+ - **`.oxe/README.md` gerado** — legenda local de todos os artefatos, escrita no
82
+ init e **re-renderizada por `oxe-cc doctor`** (documentação forte sem pastas
83
+ vazias).
84
+ - **STATE.md enxuto** template reduzido de 141 → ~30 linhas (fase, sessão,
85
+ próximo passo, decisões, bloqueios). As ~15 seções opcionais foram movidas
86
+ para `oxe/templates/STATE-REFERENCE.md`, anexadas sob demanda.
87
+ - **`doctor`/`status` sem falsos-positivos** — a ausência de artefato lazy agora
88
+ é estado normal (não gera aviso); inconsistências reais (STATE diz X mas o
89
+ artefato não existe) continuam detectadas.
90
+ - Novos contratos documentados em `docs/INTEGRATION.md`; testes em
91
+ `tests/oxe-map.test.cjs` + contrato `map --json` em
92
+ `tests/oxe-integration-contracts.test.cjs`.
93
+
94
+ ## [1.14.0] — 2026-05-30
95
+
96
+ ### Contratos de integração para hosts reatividade + dashboard embutível
97
+
98
+ Aditivo — nenhum contrato existente muda. Complementa o 1.13.0 (`status --json --summary`, `agentSkills`) para hosts como o OXESpace embutirem o oxe-cc de forma reativa e visual.
99
+
100
+ - **`oxe events --tail [N] --json [--since <evt_id>] [--session <s>]`** — projeção read-only e versionada (`oxeEventsSchema: 1`) do log append-only `.oxe/OXE-EVENTS.ndjson`: `{ summary: { total, byType, lastEvent }, events: [...] }`. `--since` devolve só os eventos novos desde um `event_id` conhecido (leitura incremental). Reusa `operational.readEvents`/`summarizeEvents`. Um host normalmente observa o arquivo e chama `status --json --summary`; este comando é a forma documentada de ler o tail sem reparsear tudo.
101
+ - **`oxe dashboard --json`** — emite **uma linha** estável e versionada (`oxeDashboardSchema: 1`) com `{ url, port, readOnly, projectRoot }` assim que o servidor sobe, e **continua servindo**. Permite a um host capturar URL/porta de forma robusta e embutir o dashboard num webview, em vez de raspar o banner humano. Combine com `--no-open --port 0` para porta efêmera.
102
+ - **`dashboard --port 0`** agora seleciona uma porta efêmera de verdade (antes caía no default `4173`).
103
+ - **`docs/INTEGRATION.md`** — contrato estável para hosts: `status --json --summary`, `agentSkills`, schema do `OXE-EVENTS.ndjson`, `events --json` e `dashboard --json`; marca o que é estável vs experimental.
104
+
105
+ ---
106
+
107
+ ## [1.13.0] — 2026-05-29
108
+
109
+ ### Contratos de integração para hosts (IDEs, OXESpace)
110
+
111
+ Aditivo — nenhum contrato existente muda. Facilita hosts consumirem o oxe-cc.
112
+
113
+ - **`oxe status --json --summary`** — projeção compacta e versionada (`oxeSummarySchema: 1`) com `workspaceMode, phase, healthStatus, activeSession, nextStep, cursorCmd, reason, eventsCount, warningsCount` + um `agentSkills` compacto. Troca ~150KB do status completo por <1KB para o "glance" que um host precisa.
114
+ - **`agentSkills` no `status --json`** e **`agentSkillsReport(target)` no SDK** (`health.agentSkillsReport`) — status das skills `/oxe-*` por agente no workspace (`copilot-vscode`, `codex`, `copilot-cli`): `detected/skillsInstalled/skillsPath/status/issues`. Permite a um host detectar skills ausentes e oferecer instalação **antes** de lançar o agente (resolve o "Failed to load N skills").
115
+ - **SDK**: `health.buildStatusSummary(report)` e `health.agentSkillsReport(target)` exportados + tipados em `lib/sdk/index.d.ts`.
116
+
117
+ ---
118
+
119
+ ## [1.12.0] 2026-05-12
120
+
121
+ ### Agent Mode, Swarm Mode, Memory Kernel & Learning Kernel
122
+
123
+ Esta release transforma o OXE em um sistema autônomo orientado a objetivos. O usuário escreve `/oxe <objetivo em linguagem natural>` e o Conductor decide automaticamente o fluxo, os agentes e a estratégia de execução — sem precisar escolher comandos manualmente.
124
+
125
+ #### Conductor Agent (`oxe/workflows/conduct.md`)
126
+
127
+ - novo workflow que age como ponto de entrada para objetivos de implementação em linguagem natural
128
+ - classifica complexidade em três scores: simples | médio | complexo
129
+ - recupera memória relevante das 5 camadas (runtime_state, session_memory, project_memory, lessons, observations)
130
+ - seleciona personas aplicáveis por `intent_tags` (backend → executor/architect, frontend → ui-specialist, storage → db-specialist, etc.)
131
+ - decide automaticamente **Agent Mode** (simples/médio) ou **Swarm Mode** (complexo/multi-domínio)
132
+ - `oxe/workflows/oxe.md` e `route.md` atualizados: objetivos de implementação redirecionam para `conduct.md`
133
+
134
+ #### Agent Mode (`oxe/workflows/agent-mode.md`)
135
+
136
+ - Conductor age sozinho com a persona selecionada para objetivos de 1–2 domínios e ≤ 8 arquivos
137
+ - grava `AGENT-SESSION.json` em `.oxe/agent/` com intent, skills, tool_calls e reconciliação
138
+ - discovery mínimo antes de mutar: confirma write_set, padrões, riscos
139
+ - se write_set exceder threshold para `intent_score=simples`, eleva automaticamente para Swarm Mode
140
+ - `RECONCILIATION.md` gerado ao final com arquivos alterados e objective_satisfied
141
+
142
+ #### Swarm Mode (`oxe/workflows/swarm-mode.md`)
143
+
144
+ - orquestração de 5 papéis em pipeline controlado: Scout Coordinator Builder(s) Reviewer Verifier
145
+ - **Scout** (`oxe/workflows/swarm/scout.md`): produz CODEBASE-MAP.md, PATTERNS.md, RISK-MAP.md, FILE-CANDIDATES.json e TEST-CANDIDATES.json antes de qualquer mutação
146
+ - **File Ownership** (`FILE-OWNERSHIP.json`): cada Builder declara `write_set`; conflitos → Coordinator serializa em waves sequenciais
147
+ - **Board** (`oxe/workflows/swarm/board.md`): BOARD.md e BOARD.json atualizados em tempo real por fase
148
+ - **Quality Gates** automáticos: arquivo high-risk gate humano; cobertura abaixo de threshold gate auto
149
+ - **Reviewer**: produz `.oxe/swarm/reviews/<task_id>-REVIEW.md` por tarefa antes de integração
150
+ - **Verifier/Integrator**: FINAL-INTEGRATION.md com evidências completas e VERIFY.md atualizado
151
+ - novo schema `oxe/schemas/swarm-run.schema.json` (JSON Schema Draft-07) para SWARM-RUN.json
152
+
153
+ #### Memory Kernel (`oxe/workflows/memory.md` + `bin/lib/oxe-memory-kernel.cjs`)
154
+
155
+ - ativa o modelo de 4 camadas de memória já definido em `oxe-operational.cjs:2364`
156
+ - `retrieveMemory(projectRoot, intentTags, phase, objective)`: filtra fragmentos por relevância e phase; ranking por score (tag match, impacto, frequência)
157
+ - `saveContextPack()`: grava context pack em `.oxe/agent/MEMORY-INJECTIONS.md` ou `.oxe/swarm/DECISIONS.md` + snapshot auditável em `.oxe/memory/retrieved/<phase>.md`
158
+ - novos templates: `REPO-MEMORY.template.md` (decisões cross-session, pitfalls, preferências, padrões validados) e `MEMORY-INDEX.template.json`
159
+
160
+ #### Learning Kernel (`oxe/workflows/distill.md` + `bin/lib/oxe-learning-kernel.cjs`)
161
+
162
+ - detecta padrões automaticamente ao final de cada run: blocker_pattern, success_pattern, anti_pattern, file_conflict_pattern, integration_gap, scope_expansion
163
+ - atualiza `LESSONS.md` com dedup correto (Frequência++ para lições repetidas, não duplicatas)
164
+ - popula `lessons-metrics.json` com `outcomes` e `success_rate` por lição; deprecação automática se `success_rate < 0.5` e `apply_count >= 3`
165
+ - enfileira skill candidatas em `.oxe/learning/PROMOTION-QUEUE.md` quando padrão aparece em 2+ runs
166
+ - atualiza `REPO-MEMORY.md` com decisões arquiteturais e pitfalls novos
167
+
168
+ #### Skill Runtime (`bin/lib/oxe-skill-loader.cjs`)
169
+
170
+ - `loadSkill(id, projectRoot)`: resolve por ordem de precedência projeto capabilities global
171
+ - `listSkills()`: enumera active/proposed/archived/global por diretório
172
+ - `selectPersonasForIntent(intentTags, projectRoot)`: mapeia intent_tags para personas primárias e secundárias
173
+ - `recordSkillsLoaded()`: grava snapshot das personas ativas em `.oxe/agent/SKILLS-LOADED.json`
174
+
175
+ #### Event Bus (`bin/lib/oxe-event-bus.cjs`)
176
+
177
+ - `OXE-EVENTS.ndjson` passa a ser efetivamente populado durante runs (antes: schema definido, nunca emitido)
178
+ - helpers tipados: `emitRunStarted`, `emitWorkItemCompleted`, `emitWorkItemBlocked`, `emitRunCompleted`, `emitGateRequested`, `emitGateResolved`, `emitLessonPromoted`, `emitRetroPublished`
179
+ - `readEvents(projectRoot, filters)`: leitura com filtro por `run_id`, `type`, `since`
180
+
181
+ #### Runtime contracts
182
+
183
+ - `workflow-runtime-contracts.json` atualizado com contratos semânticos para todos os 5 novos workflows (conduct, agent-mode, swarm-mode, memory, distill)
184
+ - `help.md` router: nova entrada de prioridade máxima para objetivos de implementação → `/oxe <objetivo>` → Conductor
185
+
186
+ #### Templates adicionados
187
+
188
+ - `.oxe/templates/AGENT-SESSION.template.json`
189
+ - `.oxe/templates/swarm/SWARM-RUN.template.json`
190
+ - `.oxe/templates/swarm/FILE-OWNERSHIP.template.json`
191
+ - `.oxe/templates/swarm/BOARD.template.md`
192
+ - `.oxe/templates/swarm/QUALITY-GATES.template.md`
193
+ - `.oxe/templates/REPO-MEMORY.template.md`
194
+ - `.oxe/templates/MEMORY-INDEX.template.json`
195
+ - `.oxe/templates/learning/CANDIDATES.template.ndjson`
196
+ - `.oxe/templates/learning/PROMOTION-QUEUE.template.md`
197
+
198
+ ---
199
+
200
+ ## [1.11.0] — 2026-05-06
201
+
202
+ ### Spec Lifecycle Automation & CLI Gaps
203
+
204
+ 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.
205
+
206
+ #### Automação do ciclo de vida (SPEC.md)
207
+
208
+ - 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]`
209
+ - v1.0.0 checklist não é marcado automaticamente — requer sign-off explícito
210
+ - exportada no módulo para testes de integração e uso programático
211
+
212
+ #### CLI `runtime execute`
213
+
214
+ - 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
215
+ - novo flag `--api-key-env <VAR>`: lê API key de variável de ambiente nomeada em vez de `OXE_LLM_API_KEY`
216
+ - novo subcomando `runtime configure`: wizard interativo que persiste `baseUrl`, `model`, `apiKey` em `.oxe/config.json` (seção `runtime.provider`)
217
+
218
+ #### Provider LLM auto-wired
219
+
220
+ - `createExecutionContext` passa a instanciar `PolicyEngine.fromConfigFile()` automaticamente quando `.oxe/config.json` contém seção `runtime.policy`
221
+ - `loadRuntimeProviderConfig` / `saveRuntimeProviderConfig` exportados de `oxe-operational.cjs`
222
+ - health checks de `runtime.provider` e `runtime.policy` adicionados ao `oxe-cc status`
223
+
224
+ #### Parser de planos tolerância de formato (Gap E)
225
+
226
+ - `parsePlan` agora aceita `**Verificação:**`, `**Verify command:**` e `**Verification:**` além do formato `Verificação:` sem negrito
227
+ - planos gerados por LLM com markdown bold deixam de silenciosamente omitir verify commands
228
+
229
+ #### Spec-criteria enrichment (Gap B)
230
+
231
+ - `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
232
+
233
+ #### Testes e benchmark
234
+
235
+ - 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
236
+ - 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`
237
+ - novos testes: `gap-spec-enrichment.test.cjs` (5 casos) e `gap-spec-checklist-sync.test.cjs` (4 casos)
238
+
239
+ ## [1.10.0] — 2026-05-05
240
+
241
+ ### Operational Maturity
242
+
243
+ Esta release amplia a prova operacional do OXE para cenários mais próximos de uso real, sem abrir novos comandos públicos.
244
+
245
+ - `test:runtime-real` passa a cobrir cenários multi-wave, multi-file, gate pendente, verify parcial e promoção bloqueada por ausência de evidência técnica
246
+ - `workspace-merge-report.json` passa a carregar `evidence_refs`, `diff_summary`, arquivos aplicados, status de verify pós-execução e próxima ação operacional por task
247
+ - `status`, `runtime status` e `runtime agents status` expõem merge readiness, blockers e próxima ação multi-agent de forma mais direta
248
+ - `workspaceMode: product_package` deixa de marcar `contextQuality` como crítico quando não ciclo OXE ativo no próprio repositório do pacote
249
+ - smoke multi-runtime reforça Codex e Copilot VS Code com validação explícita de prompts/skills, manifesto e referências quebradas
250
+ - `doctor --release` passa a validar o conteúdo mínimo dos relatórios runtime-real e multi-agent-real da linha `1.10.0`
251
+ - `/oxe-spec` passa a ter contrato multimodal: imagens, screenshots e mockups enviados no chat devem virar `VISUAL-INPUTS.md/json`, anchors visuais e readiness bloqueante quando críticos para UI/fluxo
252
+
253
+ ## [1.9.1] — 2026-05-04
254
+
255
+ ### Multi-Agent Real
256
+
257
+ Esta release endurece a coordenação multi-agent sobre workspaces reais, sem abrir novos comandos públicos.
258
+
259
+ - multi-agent real passa a exigir workspaces isolados `git_worktree` para modos `parallel`, `competitive` e `cooperative`
260
+ - `runtime execute` valida `plan-agents.json` antes de iniciar agentes e usa `GitWorktreeManager` por padrão no caminho multi-agent
261
+ - novo artefato por run `.oxe/runs/<run_id>/workspace-merge-report.json` com worktrees, ownership, merge blockers e readiness
262
+ - `runtime agents status --json`, `status --json` e recovery passam a expor merge readiness, blockers, arbitration e worktrees órfãos
263
+ - novo `npm run test:multi-agent-real` gera `.oxe/release/multi-agent-real-report.json` usando repositório git temporário com worktrees reais
264
+ - `doctor --release` passa a exigir `multi-agent-real-report.json` em versões `>=1.9.1`
265
+
266
+ ## [1.9.0]2026-05-04
267
+
268
+ ### Runtime Real Maturity
269
+
270
+ Esta release eleva a maturidade prática do OXE com foco em prova determinística do ciclo real `spec -> plan -> execute -> verify -> status/doctor`, sem abrir novos comandos públicos.
271
+
272
+ #### Runtime real
273
+
274
+ - nova suíte `test:runtime-real` valida projetos representativos com executor mockado e sem chamada a LLM/API externa
275
+ - `runtime execute` passa a bloquear antes da mutação quando confiança, rationality packs ou gates não estão prontos
276
+ - `runtime verify` continua evidence-first e passa a ser validado dentro do fluxo real de execução
277
+
278
+ #### Release proof
279
+
280
+ - novo relatório obrigatório `.oxe/release/runtime-real-report.json`
281
+ - `doctor --release` passa a bloquear publicação quando a prova de runtime real estiver ausente ou falha
282
+ - novo `release:pack-check` valida o tarball npm em dry-run contra artefatos indevidos
283
+
284
+ ## [1.8.3] 2026-05-04
285
+
286
+ ### Release readiness e higiene de publicação
287
+
288
+ Esta release consolida a linha `1.8.3` para publicação no npm com foco em consistência de versão, alinhamento documental e pacote distribuído mais limpo.
289
+
290
+ #### Publicação
291
+
292
+ - alinhamento da versão `1.8.3` entre manifesto raiz, runtime, extensão VS Code, README e changelog
293
+ - fechamento do gate oficial `doctor --release` para a linha atual
294
+ - preparação do pacote npm para sair sem drift entre versão publicada e documentação principal
295
+
296
+ #### Higiene do pacote
297
+
298
+ - exclusão dos arquivos `.vsix` históricos da extensão VS Code do tarball npm
299
+ - manutenção apenas do código-fonte da extensão dentro do pacote, evitando distribuir binários legados desnecessários
300
+
301
+ ## [1.8.2] — 2026-04-30
302
+
303
+ ### Fluxo inicial mais coerente e geração de `spec`/`plan` mais forte
304
+
305
+ Esta release fecha a linha de robustez do ciclo `install -> status/doctor -> /oxe -> spec -> plan -> execute -> verify` sem abrir nova superfície pública. O foco foi remover ruído operacional em projetos novos e aumentar a densidade executável dos artefatos que o OXE induz.
306
+
307
+ #### Fluxo operacional
308
+
309
+ - `install`, `status` e `doctor` passam a convergir em `/oxe` como próximo passo canônico para projetos recém-inicializados
310
+ - `doctor` e `status` deixam de tratar `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` como blocker primário antes de existir `PLAN.md`
311
+ - o relatório racional agora marca o estado sem plano como `não aplicável ainda`, sem contaminar o próximo passo
312
+ - instalações e desinstalações locais por runtime continuam simétricas, com inferência de artefatos locais preservada
313
+
314
+ #### Indução mais forte de SPEC e PLAN
315
+
316
+ - `SPEC.template.md` passou a exigir outcome observável, público-alvo, restrições técnicas, setup externo, conteúdo/fluxos obrigatórios e contratos esperados para o plano
317
+ - `PLAN.template.md` ganhou contrato operacional da solução, densidade operacional mínima, `symbols alvo`, `estado/fluxo coberto` e `fixture/anchor obrigatório` por tarefa
318
+ - `oxe/workflows/spec.md` agora força extração explícita de blocos de interface, conteúdo mínimo, interações, responsividade e acessibilidade em demandas de produto/app/UI
319
+ - `oxe/workflows/plan.md` agora endurece o gate de confiança `>90%` para tarefas mutáveis vagas e exige fechamento mais forte de interface, conteúdo, estado persistido, anchors e fixtures em apps/UI estáticos
320
+
321
+ #### Testes
322
+
323
+ - novo teste cobrindo o estado racional não bloqueante antes da existência de `PLAN.md`
324
+ - suíte focada de CLI/health atualizada para manter o comportamento novo estável
325
+
326
+ ## [1.8.1] 2026-04-30
327
+
328
+ ### Hotfix — Gaps implementados no fonte TypeScript (não em arquivos compilados)
329
+
330
+ A v1.8.0 aplicou as 5 correções críticas diretamente nos arquivos `.js` compilados (`lib/runtime/`), que são sobrescritos a cada `npm run build:runtime`. Esta release porta todas as correções para o fonte TypeScript em `packages/runtime/src/`, tornando-as permanentes.
331
+
332
+ #### Correções portadas para TypeScript
333
+
334
+ - **`models/failure.ts`**: `FailureClass` agora inclui `'verify'` e `'llm'` como classes canônicas
335
+ - **`scheduler/scheduler.ts`**: `TaskResult` com campo opcional `completed_by`; `TaskExecutor.execute()` aceita `options?: { previousError? }`; `verifyNode()` importa e chama `verifyRun` da fonte TS; `executeNode()` repassa `options`; `requestGateForNode()` com warning quando manager ausente
336
+ - **`executor/built-in-tools.ts`**: `finishTask` handler + registro em `BUILT_IN_TOOLS`
337
+ - **`executor/action-tool-map.ts`**: `finish_task` injetado universalmente em `selectToolsForActions()`
338
+ - **`executor/node-prompt-builder.ts`**: parâmetro `options`, seção de retry context, instrução `finish_task`
339
+ - **`executor/llm-task-executor.ts`**: detecção de `finish_task`, `completed_by` no retorno, `turn_limit_exhausted` retorna `success: false`
340
+
341
+ #### Testes
342
+ - 542 testes passando (era 542 na v1.8.0, nenhuma regressão)
343
+ - 36 testes de gaps (gap1–gap5) todos passando contra o código compilado
344
+
345
+ ---
346
+
347
+ ## [1.8.0] — 2026-04-29
348
+
349
+ ### Autonomous Execution — 5 Critical Gaps Resolved
350
+
351
+ Esta release eleva a autonomia do runtime de ~65% para ~85%+ em projetos de baixo a médio risco, tornando o OXE capaz de transformar um input bem estruturado em entrega verificada com mínima intervenção humana.
352
+
353
+ #### Gap 1 GateManager Wiring
354
+ - `createExecutionContext()` exportada de `oxe-operational.cjs`: instancia `GateManager` real sempre que o runtime estiver disponível, eliminando o deadlock silencioso de `'gate-missing-manager'`
355
+ - `scheduler.js`: warning explícito quando `ctx.gateManager` ausente em vez de falha silenciosa
356
+ - Novo subcomando `oxe-cc runtime execute` com roteamento automático single-agent / multi-agent
357
+
358
+ #### Gap 2 Verificação Inline após cada tarefa
359
+ - `Scheduler.verifyNode()`: executa o `verify.command` do logo após execução bem-sucedida, antes de emitir `WorkItemCompleted`
360
+ - Falha de verificação → tarefa reentrada no loop de retry com `failure_class: 'verify'`
361
+ - Falha de infraestrutura de verificação (comando inexistente, timeout) → não bloqueia progresso
362
+ - Eventos `VerificationStarted` / `VerificationCompleted` emitidos por tarefa (reducer já existia)
363
+
364
+ #### Gap 3 Retry Inteligente com Contexto do Erro Anterior
365
+ - `node-prompt-builder.js`: seção "Contexto da tentativa anterior" injetada automaticamente nas tentativas 2+ com stderr/output truncado em 2000 chars
366
+ - `llm-task-executor.js`: aceita `options.previousError`; repassado para o prompt builder
367
+ - `scheduler.js`: `lastError` rastreado e propagado entre tentativas via `executeNode(options)`
368
+
369
+ #### Gap 4 — Sinal Autoritativo de Conclusão (`finish_task`)
370
+ - Nova tool built-in `finish_task` (idempotente) registrada em `BUILT_IN_TOOLS` e `ALL_BUILT_IN_SCHEMAS`
371
+ - `selectToolsForActions()`: `finish_task` injetada universalmente em todos os tipos de ação
372
+ - `node-prompt-builder.js`: instrução explícita de chamar `finish_task` ao concluir
373
+ - `llm-task-executor.js`: detecta chamada de `finish_task` → `completed_by: 'finish_task'`; turns esgotados sem `finish_task` → `success: false, failure_class: 'llm'`
374
+
375
+ #### Gap 5 — MultiAgentCoordinator Wiring
376
+ - `runRuntimeExecute()` exportada de `oxe-operational.cjs`: detecta `plan-agents.json` (sessão > raiz) e roteia para `MultiAgentCoordinator` (parallel/competitive/cooperative) ou `Scheduler` single-agent
377
+ - `oxe-cc runtime execute`: novo subcomando CLI com output formatado e exit code em falhas
378
+
379
+ #### Testes
380
+ - 5 novos arquivos de teste cobrindo cada gap: `gap1-gate-manager`, `gap2-inline-verify`, `gap3-retry-context`, `gap4-finish-task`, `gap5-multi-agent`
381
+ - Suite total: **543 testes passando**, 0 falhas
382
+
383
+ ### Validation
384
+
385
+ - `node --test tests/*.cjs tests/*.test.js`
386
+ - `node bin/oxe-cc.js --version`
387
+
388
+ ---
389
+
390
+ ## [1.7.0] 2026-04-23
391
+
392
+ ### OXE-native Agent Catalog
393
+
394
+ - adicionada a fonte canónica `oxe/agents/` com agentes especializados para plan, execute, verify, debug, research, codebase mapping, integração, validação e UI
395
+ - o instalador multi-runtime agora distribui agentes OXE para Claude Code (`.claude/agents`) e Codex/Antigravity (`.agents/skills` / skills compatíveis), além dos comandos já existentes
396
+ - uninstall e smoke matrix passaram a validar e remover os agentes gerados pelo OXE
397
+
398
+ ### Rational Execution Artifacts
399
+
400
+ - templates de `PLAN`, `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS`, `FIXTURE-PACK` e `SUMMARY` foram endurecidos com contratos goal-backward, write-set, símbolos, sequência mínima, rollback, fixtures e evidência
401
+ - `/oxe-plan`, `/oxe-execute`, `/oxe-verify`, `/oxe-debug`, `/oxe-forensics`, `/oxe-ui-spec` e `/oxe-ui-review` agora referenciam explicitamente os agentes e gates racionais compatíveis com runtime enterprise
402
+
403
+ ### Public Surface Hygiene
404
+
405
+ - `scan:assets` agora bloqueia referências públicas a namespaces, paths e nomes de origem legada
406
+ - criado `docs/CONTENT-MIGRATION-AUDIT.md` como trilha interna de incorporação, sem exposição nas superfícies instaladas
407
+
408
+ ## [1.6.0] 2026-04-23
409
+
410
+ ### Product Reconciliation
411
+
412
+ - a árvore canónica `oxe/` foi restaurada como source of truth da release, incluindo `oxe/workflows/`, `oxe/workflows/references/`, `oxe/templates/` e `commands/oxe/` como superfície derivada sincronizada
413
+ - `workflow-runtime-contracts.json` voltou a ser contrato obrigatório da release; `sync-runtime-metadata` agora falha fechado quando a fonte canónica ou o registry semântico estão ausentes/inválidos
414
+ - `doctor --release` passou a bloquear explicitamente por topologia canónica ausente, contrato semântico inválido e drift entre workflows e wrappers
415
+
416
+ ### Package-vs-Workspace Health
417
+
418
+ - `status`, `status --full`, dashboard e SDK agora distinguem `workspaceMode: product_package` de `workspaceMode: oxe_project`
419
+ - no repositório do pacote, o próximo passo deixa de cair em `plan/replan` por ruído de manutenção e passa a apontar para `doctor --release --write-manifest`
420
+ - `status --json` passou a expor `workspaceMode` e `releaseReadiness` como contrato estável da linha `1.6.0`
421
+
422
+ ### Multi-runtime Edge Hardening
423
+
424
+ - a smoke matrix de release passou a validar a instalação do Codex de forma completa: prompts em `.codex/prompts/` e skills em `.agents/skills/oxe/`
425
+ - documentação de instalação foi ajustada para separar `--local` (layout do repo) de `--ide-local` (escopo da integração), eliminando a ambiguidade operacional em runtimes como Codex
426
+
427
+ ### Validation
428
+
429
+ - `node --test tests/oxe-project-health.test.cjs`
430
+ - `node --test tests/oxe-cli-edge.test.cjs`
431
+ - `npm test`
432
+ - `npm run scan:assets`
433
+ - `npm run release:doctor`
434
+
435
+ ## [1.5.1] — 2026-04-22
436
+
437
+ ### Rational Execution Readiness
438
+
439
+ - `/oxe-plan` passou a exigir e propagar artefatos racionais de execução: `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK`
440
+ - `/oxe-execute` agora é `pack-first` e bloqueia mutação quando confiança `<= 90%`, quando os packs estão incompletos ou quando há `critical_gap` aberto
441
+ - `doctor`, `status --json`, dashboard e SDK passaram a expor `implementationPackReady`, `referenceAnchorsReady`, `fixturePackReady`, `executionRationalityReady` e `criticalExecutionGaps`
442
+
443
+ ### Session Compatibility
444
+
445
+ - o health report agora faz fallback explícito entre artefatos session-scoped e artefatos ainda materializados na raiz `.oxe/`, evitando falso negativo de readiness em workspaces legados
446
+ - o gate racional foi limitado ao estágio pré-execução; depois de `executing`/`verify_complete`, os packs continuam diagnósticos, mas não reescrevem o próximo passo do ciclo
447
+
448
+ ### Publication Alignment
449
+
450
+ - versão alinhada para `1.5.1` em pacote raiz, runtime package, extensão VS Code, README e lockfile
451
+ - matriz pública de smoke runtime atualizada para refletir a release `1.5.1`
452
+
453
+ ### Validation
454
+
455
+ - `npm test`
456
+ - `npm run scan:assets`
457
+ - `npm run release:manifest`
458
+ - `npm run build:vscode-ext`
459
+
460
+ ## [1.5.0] — 2026-04-21
461
+
462
+ ### Release Readiness 5/5
463
+
464
+ - `doctor --release --write-manifest` virou gate formal de publicação, com verificação bloqueante de versões, topo do `CHANGELOG`, runtime compilado, wrapper sync e relatórios obrigatórios
465
+ - a release agora persiste `release-manifest.json`, `runtime-smoke-report.json`, `recovery-fixture-report.json` e `multi-agent-soak-report.json` em `.oxe/release/`
466
+ - `npm test` passou a incluir smoke matrix multi-runtime, fixtures reproduzíveis de recovery/incidente e soak multi-agent
467
+
468
+ ### Operational Proof
469
+
470
+ - nova smoke matrix obrigatória para Cursor, Copilot VS Code, Claude Code, Codex, OpenCode, Gemini, Windsurf e Antigravity, cobrindo install, entrypoint `oxe`, resolução de workflow e uninstall granular
471
+ - novo corpus de incidentes em `tests/fixtures/runtime-incidents/` para provar `runtime replay` e `runtime recover` fora do caminho feliz
472
+ - multi-agent passou a gerar e auditar `multi-agent-summary.json`, incluindo timeouts e reassignments
473
+
474
+ ### Publication Contract
475
+
476
+ - versão alinhada para `1.5.0` em pacote raiz, runtime package, extensão VS Code, README e lockfile
477
+ - README, AGENTS e SDK docs atualizados para refletir o gate de release, os relatórios obrigatórios e o contrato estável desta publicação
478
+
479
+ ### Validation
480
+
481
+ - `npm test`
482
+ - `npm run scan:assets`
483
+ - `npm run release:doctor`
484
+
485
+ ## [1.4.0] 2026-04-20
486
+
487
+ ### Runtime Publication Stabilization
488
+
489
+ - `execute` e `verify` passaram a documentar e propagar o contrato `runtime-first`, com fallback legado explícito quando o runtime enterprise não estiver disponível
490
+ - `runtime gates` ganhou superfície operacional estável com `list`, `show`, `resolve`, filtros (`--run`, `--status`, `--scope`, `--task`) e `--json`
491
+ - `status --json` e `runtime status --json` consolidam `runtimeMode`, `fallbackMode`, `gateQueue`, `policyCoverage`, `promotionReadiness`, `recoveryState`, `multiAgent` e `providerCatalog`
492
+ - dashboard web passou a expor cards operacionais para gates, recovery, promotion e multi-agent, incluindo resolução de gates pela UI
493
+ - replay/recovery ficaram orientados a incidente com saída estruturada, reconciliação de run state e summaries derivados
494
+ - `multi-agent` foi endurecido como GA apenas sobre workspaces isolados reais; modos `parallel`, `competitive` e `cooperative` falham explicitamente em `inplace`
495
+ - SDK ampliado com `GateQueueSnapshot`, `replayRuntimeState`, `readRuntimeMultiAgentStatus` e alias `multiAgentStatus`
496
+
497
+ ### Release Preparation
498
+
499
+ - alinhamento de versão para `1.4.0` em `package.json`, `package-lock.json`, `packages/runtime/package.json`, `vscode-extension/package.json`, banner e README
500
+ - alinhamento de licença da extensão VS Code com o pacote principal e inclusão de `vscode-extension/LICENSE` para empacotamento limpo do VSIX
501
+ - licença do projeto alterada de `GPL-3.0` para `MIT`, com manifests e documentação pública alinhados
502
+ - README atualizado para refletir o momento atual do produto, o contrato estável de publicação e a superfície enterprise do CLI/runtime
503
+ - `lib/sdk/README.md` e `AGENTS.md` atualizados para refletir os bridges do runtime enterprise e o comportamento `runtime-first`
504
+
505
+ ### Adoção em Times (v1.4.0 final)
506
+
507
+ - `QUICKSTART.md` — guia de onboarding "primeiros 15 minutos": install, primeiro ciclo (6 comandos), runtime-first, validação dos 5 minutos
508
+ - `docs/ROLES.md` — guia por papel: executor, reviewer, operador de gate, mantenedor do pacote; cada papel com o que lê, decide e pode ignorar
509
+ - `docs/TEAM-ADOPTION.md` fluxo branch/PR recomendado, ship local vs. promote remoto, sessões e workstreams, governança mínima
510
+ - `docs/WALKTHROUGH.md` — walkthrough completo reproduzível: spec plan execute → verify → gate promotion com outputs esperados
511
+ - `docs/INCIDENT-PLAYBOOK.md` gate stale, run bloqueada, RECOVERY-SUMMARY, dashboard como painel operacional
512
+ - `docs/RUNTIME-SMOKE-MATRIX.md` matriz 8 runtimes × 6 operações com pressupostos e comportamentos por runtime
513
+ - `oxe-cc doctor` — health gates para IDEs (Copilot, Cursor, Claude Code), detecção de runtime compilado, readiness gate summary com próximo passo derivado da fase atual
514
+ - `oxe-cc status` IDE readiness summary inline, gates pendentes no modo padrão (sem `--full`), diagnóstico de bloqueio explícito (SPEC/PLAN/VERIFY ausentes)
515
+ - `runtime gates list` — ícones visuais `⏳ pending` / `⚠ stale (>Nh)` / `✓ resolved`, ação sugerida e impacto no ciclo por gate
516
+ - `runtime gates resolve` — mensagem de impacto pós-resolução: "Run pode avançar" ou "N gates restantes"
517
+ - `.github/workflows/release.yml` — pipeline de publicação: validate publish-npm (com provenance) → build-vsix → create-release com extração automática do CHANGELOG
518
+ - `.github/workflows/ci.yml` — novos jobs `doctor` (gate de qualidade operacional) e `wrapper-audit` (sync entre wrappers e contrato canônico)
519
+ - `README.md` — seção `## Para times` com links para todos os novos docs; link `→ Guia por papel` na seção "Momento atual do produto"
520
+
521
+ ### Validation
522
+
523
+ - suíte root + runtime continua verde
524
+ - scanner de assets/markdown continua íntegro
525
+
526
+ ---
527
+
528
+ ## [1.3.0]2026-04-20
529
+
530
+ ### Reasoning Contracts & Semântica Multi-Runtime
531
+
532
+ - Contratos de raciocínio v2.0.0 (`oxe_contract_version: 2.0.0`) em todos os workflows e wrappers de runtime
533
+ - Novos campos de metadata: `oxe_reasoning_mode`, `oxe_question_policy`, `oxe_output_contract`, `oxe_tool_profile`, `oxe_confidence_policy`, `oxe_context_tier`
534
+ - `oxe_semantics_hash` (SHA-256 16 chars) para detecção de drift semântico entre IDEs
535
+ - Módulo `bin/lib/oxe-runtime-semantics.cjs` gerencia o contrato canônico: `buildReasoningContractBlock()`, `buildContextTiers()`, `auditRuntimeTargets()`, `computeSemanticsHash()`
536
+ - `auditRuntimeTargets()` varre Copilot prompts, commands e Cursor commands e reporta divergências entre wrappers e o contrato canônico
537
+ - Prompts e commands sincronizados para todos os runtimes: Cursor, GitHub Copilot, Claude Code, OpenCode, Codex, Gemini CLI, Windsurf, Antigravity
538
+
539
+ ### Novos Módulos bin/lib
540
+
541
+ - **`oxe-dashboard.cjs`**servidor HTTP local (porta 9000), `loadDashboardContext()`, API REST com `/api/health/status`, `/api/plan/info`, `/api/runtime/gates/{id}/status`, `/api/runtime/gates/resolve`; suporte a PLAN-REVIEW.md com comentários e status de aprovação
542
+ - **`oxe-runtime-semantics.cjs`** — gestão de metadados de workflow e contratos de raciocínio: `getWorkflowContract()`, `getAllWorkflowContracts()`, `validateWorkflowContractsRegistry()`, `buildContextPackPaths()`, `buildReasoningContractBlock()`, `splitFrontmatter()`, `parseFrontmatterMap()`
543
+ - **`oxe-operational.cjs`** expandido monitoramento de agents, gates, evidências e estado de run com maior granularidade
544
+ - **`oxe-project-health.cjs`** expandidométricas de saúde: test scores, coverage, violations, integração Copilot
545
+
546
+ ### Comandos e Superfície
547
+
548
+ - **`oxe-ship`** — cria commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`; disponível em todos os runtimes suportados
549
+ - **`oxe-skill`**gestão e composição de skills com roles `@executor` e `@researcher`
550
+ - Contrato de raciocínio declarado em todos os workflows: `discovery`, `planning`, `execution`, `review`, `status`
551
+ - Regra pack-first em todos os wrappers: lê `.oxe/context/packs/<slug>.md` antes de cair para leitura direta
552
+
553
+ ### Testes e Cobertura
554
+
555
+ - Novos testes unitários para `oxe-runtime-semantics.cjs`: 31 testes cobrindo todas as 19 funções exportadas
556
+ - Novos testes para `oxe-plugins.cjs`: 28 testes para `loadPlugins`, `runHook`, `validatePlugins`, `initPluginsDir`, `resolvePluginSources`
557
+ - Novos testes para `oxe-security.cjs`: `checkPathSafety`, `scanFileForSecrets`, `scanDirForSecretFiles`, `validatePlanPaths`
558
+ - Cobertura de linhas: **80.28% → 82.28%** (superando threshold de 82%)
559
+ - Total: **383 testes** passando (root + runtime)
560
+
561
+ ---
562
+
563
+ ## [1.2.1]2026-04-18
564
+
565
+ ### Branding, Semântica e Empacotamento
566
+
567
+ - remove referências remanescentes ao framework legado dos workflows e do diagnóstico de integração Copilot
568
+ - alinha `package.json`, `package-lock.json`, banner CLI e README para `1.2.1`
569
+ - corrige deriva semântica do workflow `ship`, registrando-o no contrato canônico multi-runtime
570
+ - adiciona prompt files de `ship` para Copilot/Cursor
571
+ - remove o comando `auto` da superfície pública do OXE
572
+ - remove o comando `intel` da superfície pública do OXE
573
+ - reposiciona `ship` para fechar o ciclo com commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`
574
+
575
+ ---
576
+
577
+ ## [1.2.0] — 2026-04-18
578
+
579
+ ### Runtime Hardening & Robustez (Fases 1–9)
580
+
581
+ **Fase 1 Runtime Hardening**
582
+
583
+ - `RunJournal` persistido em `.oxe/runs/{runId}/journal.json`: gravado a cada onda, atualizado no pause/cancel
584
+ - `Scheduler.pause()` agora grava journal e retorna `status: 'paused'` em vez de apenas setar flag in-memory
585
+ - `Scheduler.recover(runId, ctx, graph)` retoma run pausado pelo journal; pula nós completados
586
+ - `Scheduler.getJournal()` e `Scheduler.loadJournal(projectRoot, runId)` para inspeção
587
+ - `RunState` expandido: `retryCounts`, `policyDecisions`, `pendingGates`, `resolvedGates`, `verificationStatus`, `evidenceRefs`, `toolFailures`
588
+ - Reducer: handlers para `RetryScheduled`, `PolicyEvaluated`, `GateRequested`, `GateResolved`, `VerificationStarted`, `VerificationCompleted`, `ToolFailed`, `EvidenceCollected`
589
+ - Helpers: `getRetryCount`, `getPolicyDecision`, `getVerificationStatus`, `getEvidenceRefs`, `getToolFailures`
590
+
591
+ **Fase 2Policy, Side Effects e Security**
592
+
593
+ - `SideEffectClass` enum: `read_fs|write_fs|spawn_process|network_call|git_mutation|db_change|secret_access|infra_operation`
594
+ - `AutonomyTier` type: `L0|L1|L2|L3` — tier controla quais side effects são permitidos automaticamente
595
+ - `NodePolicyConfig` com `mutation_budget` e `autonomy_tier`
596
+ - `EnvironmentGuardrail` com `protected_paths`, `protected_branches`, `require_human_gate_on`
597
+ - Guardrails default: paths `.env`, `package.json`, `.oxe/config.json`; gate automático para `infra_operation`, `db_change`, `secret_access`
598
+ - `PolicyEngine.withGuardrail(g)` para customizar guardrails por projeto
599
+ - `side_effect_class` e `autonomy_tier` em `PolicyWhenClause` para regras direcionadas
600
+
601
+ **Fase 3 Verify Operational**
602
+
603
+ - `VerificationManifest` formal: persistido em `.oxe/runs/{runId}/verification-manifest.json`
604
+ - `VerificationProfile`: `quick|standard|critical` — controla quais `FailureClass` geram riscos residuais
605
+ - `FailureClass` taxonomy: `deterministic|flaky|timeout|env_setup|policy_failure|evidence_missing`
606
+ - `classifyFailure(result)` classifica automaticamente cada `CheckResult`
607
+ - `buildManifest(runId, results, options)` — compila manifest por work item, onda ou run
608
+ - `ResidualRiskLedger` persistido em `.oxe/runs/{runId}/residual-risks.json`
609
+ - `buildRiskLedger(runId, manifest)` gera ledger de riscos residuais a partir do manifest
610
+
611
+ **Fase 4 Delivery Native**
612
+
613
+ - `MergeGateEvaluator.evaluate(runResult, manifest, ledger)` — avalia se run está pronto para merge
614
+ - Bloqueios: tarefas failed/blocked, verificação falha, riscos `high`/`critical`
615
+ - `PromotionPipeline.promote(runResult, manifest, ledger, opts)` — cria PR draft via `gh`, persiste `RunPRLink`
616
+ - `PromotionPipeline.buildPRBody(...)` corpo do PR com resumo, verificação e riscos residuais
617
+ - `RunPRLink` persistido em `.oxe/runs/{runId}/pr-link.json`
618
+
619
+ **Fase 5 Context Engineering Avançado**
620
+
621
+ - `ContextPackStore`: `savePack`, `loadPack`, `markStale`, `isStale`, `listPackMeta` — packs persistidos em `.oxe/runs/{runId}/context-pack-{workItemId}.json`
622
+ - `ContextPackMeta` com `estimated_tokens`, `stale`, `stale_reason`
623
+ - `diffPacks(before, after)` detecta added/removed/score_changed entre versões de pack
624
+ - Índice global por run em `context-packs.index.json`
625
+
626
+ **Fase 6 — Decision Engine / Seniority**
627
+
628
+ - `DecisionEngine.evaluate(input)` avalia policy, gate, retry budget, risk, lesson match e retorna `DecisionRecord` com `type`, `seniority`, `confidence` e `rationale`
629
+ - Tipos de decisão: `proceed|retry|escalate_gate|skip|abort|promote_lesson`
630
+ - `SeniorityLevel`: `junior|standard|senior|expert` derivado da confidence
631
+ - `appendDecision`, `loadDecisionLog`, `queryDecisions` — log persistido em `.oxe/runs/{runId}/decisions.json`
632
+
633
+ **Fase 7 — Multi-Agent Robusto**
634
+
635
+ - `AgentRegistry` com heartbeat tracking por agente
636
+ - `registry.beat(id, currentTask)` — atualiza last_seen e status
637
+ - `registry.isAlive(id)` — detecta timeout configurável por instância
638
+ - `registry.timedOut()` / `registry.liveAgents()` — filtragem por liveness
639
+ - `registry.failover(fallbackAgentId)` — reassigna tasks de agentes expirados para fallback
640
+ - `registry.setStatus(id, status)`transições manuais de estado
641
+
642
+ **Fase 8 — ABI Estável de Plugins**
643
+
644
+ - `PluginManifest` com `abi_version`, `capabilities`, declared providers
645
+ - `extractManifest(plugin)` extrai manifest de qualquer `OxePlugin`
646
+ - `validatePlugin(plugin)` retorna `{ valid, errors, warnings }` com checagem de nome, semver, providers
647
+ - `isAbiCompatible(version)` — garante compatibilidade de major version
648
+ - `sandboxInvoke(fn, timeoutMs)` — execução com timeout e isolamento de erro para plugins
649
+
650
+ **Fase 9Enterprise Operations**
651
+
652
+ - `AuditTrail` registro imutável NDJSON em `.oxe/AUDIT-TRAIL.ndjson`
653
+ - 14 tipos de ação auditáveis: `run_started`, `secret_accessed`, `infra_mutation`, `merge_approved`, etc.
654
+ - Severity automática por ação (`info|warn|critical`)
655
+ - `AuditTrail.query(filter)` filtra por action/severity/runId/since
656
+ - `RunQuota` `createQuota`, `consumeQuota`, `checkQuota` para limitar work_items, mutations e retries por run
657
+
658
+ ### Testes
659
+
660
+ - Runtime: **266 testes** (↑ de 145 pré-robustez)
661
+ - Root: 321 testes (sem regressões)
662
+ - Total: **587 testes** passando
663
+
664
+ ---
665
+
666
+ ## [1.1.0]2026-04-18
667
+
668
+ ### Mudança de superfície (simplificação estratégica de produto)
669
+
670
+ **Trilha principal reduzida a 6 comandos**
671
+
672
+ O OXE agora se comporta como um framework guiado por etapas. A superfície pública foi reorganizada em três níveis:
673
+
674
+ **Trilha principal (6 comandos):**
675
+ - `/oxe` entrada universal (absorve ask, next, route, help)
676
+ - `/oxe-quick` — modo nano sem cerimônia
677
+ - `/oxe-spec` — spec com flags: `--refresh`, `--full`, `--research`, `--ui`
678
+ - `/oxe-plan` — planejamento test-first
679
+ - `/oxe-execute`implementação com flags: `--note`, `--debug`, `--deep-diagnosis`, `--checkpoint`, `--iterative`
680
+ - `/oxe-verify` — validação e fechamento com flags: `--gaps`, `--security`, `--ui`, `--pr`, `--diff`, `--skip-retro`
681
+
682
+ **Trilha avançada:** `/oxe-session` (absorve project, milestone, workstream), `/oxe-dashboard`
683
+
684
+ **Administrativa:** `/oxe-capabilities`, `/oxe-skill`, `oxe-cc azure`
685
+
686
+ ### Depreciado (v1.1.0)
687
+
688
+ Os seguintes comandos foram incorporados por estágios principais e continuam funcionando com aviso de migração:
689
+
690
+ | Comando | Novo destino |
691
+ |---------|-------------|
692
+ | `/oxe-ask` | `/oxe "pergunta"` |
693
+ | `/oxe-scan` | `/oxe-spec --refresh` |
694
+ | `/oxe-research` | `/oxe-spec --research` |
695
+ | `/oxe-ui-spec` | `/oxe-spec --ui` |
696
+ | `/oxe-obs` | `/oxe-execute --note` |
697
+ | `/oxe-debug` | `/oxe-execute --debug` |
698
+ | `/oxe-forensics` | `/oxe-execute --deep-diagnosis` |
699
+ | `/oxe-checkpoint` | `/oxe-execute --checkpoint` |
700
+ | `/oxe-loop` | `/oxe-execute --iterative` |
701
+ | `/oxe-validate-gaps` | `/oxe-verify --gaps` |
702
+ | `/oxe-security` | `/oxe-verify --security` |
703
+ | `/oxe-ui-review` | `/oxe-verify --ui` |
704
+ | `/oxe-review-pr` | `/oxe-verify --pr` |
705
+ | `/oxe-retro` | `/oxe-verify` (retro automática) |
706
+ | `/oxe-project` | `/oxe-session milestone\|workstream` |
707
+ | `/oxe-compact` | `/oxe-spec --refresh` |
708
+ | `/oxe-next` | `/oxe` (sem argumento) |
709
+ | `/oxe-route` | `/oxe "intenção"` |
710
+ | `/oxe-milestone` | `/oxe-session milestone` |
711
+ | `/oxe-workstream` | `/oxe-session workstream` |
712
+
713
+ ### Novos comportamentos
714
+
715
+ - **Retro automática:** `/oxe-verify` executa automaticamente retrospectiva ao fechar (`--skip-retro` para desativar)
716
+ - **Pergunta situacional inline:** `/oxe "pergunta"` substitui `/oxe-ask`
717
+ - `/oxe-session` agora suporta `milestone` e `workstream` como subcomandos
718
+
719
+ ---
720
+
721
+ ## [0.8.0]2026-04-14
722
+
723
+ ### Adicionado
724
+
725
+ **Session forking + revert**
726
+ - `session fork [nome]` bifurca a sessão ativa, copiando todos os artefatos para uma nova sessão; rastreia `forked_from` na SESSION.md
727
+ - `session revert <checkpoint-slug>` restaura STATE.md ao snapshot de um checkpoint, sem apagar artefatos atuais
728
+
729
+ **Skill system**
730
+ - `/oxe-skill` — workflow para descobrir, invocar e gerenciar skills (unificação de personas e capabilities)
731
+ - `@<skill-id>` no chat resolve persona OU capability OU composite como ponto de entrada único
732
+ - Template `SKILL.template.md` para criação de skills de projeto em `.oxe/skills/`
733
+ - Resolução em 3 camadas: project → capabilities → global (personas do pacote)
734
+
735
+ **Sistema de permissões com wildcard**
736
+ - `permissions[]` em `.oxe/config.json` — regras glob+ação que controlam acesso a arquivos durante execute e apply
737
+ - Ações: `allow`, `deny`, `ask` avaliação first-match wins
738
+ - Scopes: `execute`, `apply`, `all`
739
+ - Gate automático no workflow execute antes de cada onda
740
+
741
+ **Config hierárquico (system → user → project)**
742
+ - `loadOxeConfigMerged()` agora 3 níveis: system (`OXE_SYSTEM_CONFIG` ou path OS-default) < user (`~/.oxe/config.json`) < project (`.oxe/config.json`)
743
+ - `status --full` exibe fontes de cada nível de configuração
744
+ - Campo `sources` no retorno do SDK
745
+
746
+ **Event sourcing com replay**
747
+ - `replayEvents()` no SDK — reconstrói timeline de `OXE-EVENTS.ndjson` com deltas, filtros por run/wave/event
748
+ - `oxe-cc runtime replay [--run <id>] [--from <event-id>] [--wave <n>] [--write]` — visualização de timeline no terminal ou `REPLAY-SESSION.md` em disco
749
+ - Integração com `/oxe-forensics` — replay como ferramenta de investigação
750
+
751
+ **Plugin system com carregamento remoto**
752
+ - `plugins[]` em `config.json` aceita `{ source: "npm:<pkg>" }` e `{ source: "path:./file.cjs" }`
753
+ - `oxe-cc plugins list` lista plugins carregados (local + externos)
754
+ - `oxe-cc plugins install npm:<pkg>` instala plugin npm em `.oxe/plugins/_npm/`
755
+ - `resolvePluginSources()` e `installNpmPlugin()` expostos no SDK
756
+
757
+ ### Tipos TypeScript
758
+ - `OxePermissionRule`, `PermissionCheckResult`, `ReplayReport`, `PluginSource` adicionados
759
+ - `security.checkFilePermission`, `security.checkPermissions`, `security.globToRegex` declarados
760
+ - `operational.replayEvents` declarado
761
+ - `plugins.resolvePluginSources`, `plugins.installNpmPlugin` declarados
762
+ - `health.loadOxeConfigMerged` retorna `sources: { system, user, project }`
763
+
764
+ ---
765
+
766
+ ## [0.7.0] 2026-04-13
767
+
768
+ ### Adicionado
769
+
770
+ **Provider Azure nativo (`oxe-cc azure`)**
771
+ - `azure status` estado compacto read-only: CLI, login, subscription, inventário, pendências, alerta VPN
772
+ - `azure operations list` — histórico colorido de operações (planned/applied/pending)
773
+ - `azure find --type <serviço>` filtro por família de serviço (servicebus, eventgrid, sql)
774
+ - `azure find --filter-rg <rg>` — filtro por resource group
775
+ - `azure sync --diff` — mostra recursos adicionados/removidos em relação ao snapshot anterior
776
+ - `azure apply --dry-run` — pré-visualiza comando `az` sem executar nem criar artefatos
777
+ - `azure auth login --tenant <id>` suporte a Entra ID corporativo; passa `--tenant` ao `az login`
778
+ - `azure apply --vpn-confirmed` — confirma conexão VPN quando `vpn_required: true` está configurado
779
+
780
+ **SDK**
781
+ - `azure.diffInventory(previousItems, currentItems)` — compara snapshots de inventário (adicionados/removidos/unchanged)
782
+ - `azure.statusAzure(projectRoot, config?, options?)` — status compacto sem writes
783
+
784
+ **Workflows (guardrails)**
785
+ - `scan.md`: detecção Azure é informativa — não altera fluxo canônico OXE nem aciona steps Azure automaticamente
786
+ - `plan.md`: pré-check Azure só ativa quando Azure é mencionado **explicitamente** na SPEC ou `.oxe/cloud/azure/` existe
787
+ - `discuss.md`: perguntas Azure só ativam quando SPEC menciona Azure explicitamente — SQL genérico (PostgreSQL, MySQL, on-prem) não aciona o bloco
788
+
789
+ ### Corrigido
790
+ - `loginAzure()` com `inherit: true` não passava mais `inherit` para `getAzureContext`, evitando crash ao tentar ler `account.id` de stdout null
791
+
792
+ ### Tipos TypeScript
793
+ - `azure.searchAzureInventory` inclui parâmetro opcional `filters?: { type?, resourceGroup? }`
794
+ - `azure.diffInventory` declarado
795
+ - `azure.statusAzure` declarado
796
+
797
+ ---
798
+
799
+ ## [0.6.3] — 2026-04-04
800
+
801
+ ### Corrigido
802
+ - `security_in_verify` agora é reconhecido como chave válida em `.oxe/config.json` (não mais rejeitado pelo doctor como "unknown key")
803
+ - `plan-agents.schema.json`: enum atualizado de `[1, 2]` para `[2, 3]`; campos `persona` e `model_hint` adicionados ao schema dos agentes
804
+
805
+ ### Adicionado
806
+ - **`/oxe-retro` sugerido automaticamente** pelo `oxe-cc status` quando `phase: verify_complete` e `.oxe/LESSONS.md` ainda não existe
807
+ - **`health.parseLastRetroDate(stateText)`** — parseia campo `last_retro: YYYY-MM-DD` do STATE.md
808
+ - **`health.isStaleLessons(retroDate, maxDays)`** — detecta se LESSONS.md está desatualizado (par de `isStaleScan`)
809
+ - **`health.planAgentsWarnings(target)`** — avisa sobre schema 1 (legado) e `model_hint` inválido em `plan-agents.json`
810
+ - **`parseState()`** retorna novo campo `lastRetroDate: string | null`
811
+ - `OxeHealthReport` inclui `retroDate: Date | null`
812
+ - `config.template.json` inclui `security_in_verify: false` por padrão
813
+ - `plan-agents.template.json` inclui campo `persona` no agente-exemplo
814
+ - Melhorias de workflow: `obs.md` (tabela de classificação de impacto), `verify.md` (success_criteria camadas 5+6), `next.md` (flag de promoção QUICK→spec), `quick.md` (incorporação de OBSERVATIONS), `plan.md` (nota de replan + plan-agents sync)
815
+ - `AGENTS.md` atualizado para v0.6.x
816
+
817
+ ### Tipos TypeScript
818
+ - `ParsedState` inclui `lastRetroDate: string | null`
819
+ - `OxeHealthReport` inclui `retroDate: Date | null`
820
+ - `health.*` expõe `parseLastRetroDate`, `isStaleLessons`, `planAgentsWarnings`
821
+
822
+ ---
823
+
824
+ ## [0.6.2] — 2026-04-04
825
+
826
+ ### Adicionado
827
+ - **`/oxe-retro`** — workflow de retrospectiva de ciclo; sintetiza 3–5 lições prescritivas em `.oxe/LESSONS.md`
828
+ - `oxe/templates/LESSONS.template.md`
829
+ - Correções de consistência de schema (plan-agent.md, verify.md): referências atualizadas para schema v3
830
+
831
+ ### Alterado
832
+ - README: tabela "Como cada comando fica mais inteligente" expandida com loop, security, research thinking_depth, model_hint
833
+ - Cadeia de help (`oxe.md`) atualizada para incluir `/oxe-retro` após verify
834
+
835
+ ---
836
+
837
+ ## [0.6.1] — 2026-04-04
838
+
839
+ ### Adicionado
840
+ - **`/oxe-security`** — auditoria OWASP Top 10 filtrada pelo stack; produz `.oxe/SECURITY.md` com achados P0/P1/P2
841
+ - **`/oxe-loop`** — execução iterativa de onda com retries automáticos e diagnóstico inline
842
+ - **Model hints** em `plan-agents.json` schema v3: campo `model_hint` (`fast | balanced | powerful`) por agente
843
+ - **Thinking depth** em `/oxe-research`: classificação `surface | standard | deep` com raciocínio estendido para `deep`
844
+ - Integração automática de security no verify via `security_in_verify: true` (Camada 6)
845
+ - `oxe/templates/SECURITY.template.md`
846
+
847
+ ---
848
+
849
+ ## [0.6.0] — 2026-04-04
850
+
851
+ ### Adicionado
852
+ - Workflow `/oxe-project` unificando `milestone`, `workstream`, `checkpoint`
853
+ - `/oxe-obs` com propagação automática para R-IDs e Tns afetados
854
+ - Auto-reflexão semântica em `/oxe-spec` (Fase 4b): detecta contradições e escopo creep antes da aprovação
855
+ - Modo de execução A/B/C em `/oxe-execute` (Completo / Por onda / Por tarefa)
856
+ - Debug inline automático em falhas de execute
857
+ - 4 profiles de execução: `balanced`, `strict`, `fast`, `legacy`
858
+ - Sistema de personas para agentes (`oxe/personas/`)
859
+ - Plugin lifecycle (`.oxe/plugins/*.cjs`)
860
+ - `scale_adaptive`: scan sugere profile pelo tamanho do projeto
861
+
862
+ ---
863
+
864
+ ## [0.5.0] — anterior
865
+
866
+ Versões anteriores não documentadas neste arquivo.