oxe-cc 1.4.0 → 1.5.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 (142) hide show
  1. package/.cursor/commands/oxe-ask.md +4 -2
  2. package/.cursor/commands/oxe-capabilities.md +4 -2
  3. package/.cursor/commands/oxe-checkpoint.md +4 -2
  4. package/.cursor/commands/oxe-compact.md +4 -2
  5. package/.cursor/commands/oxe-dashboard.md +4 -2
  6. package/.cursor/commands/oxe-debug.md +4 -2
  7. package/.cursor/commands/oxe-discuss.md +4 -2
  8. package/.cursor/commands/oxe-execute.md +5 -3
  9. package/.cursor/commands/oxe-forensics.md +4 -2
  10. package/.cursor/commands/oxe-help.md +4 -2
  11. package/.cursor/commands/oxe-loop.md +4 -2
  12. package/.cursor/commands/oxe-milestone.md +4 -2
  13. package/.cursor/commands/oxe-next.md +4 -2
  14. package/.cursor/commands/oxe-obs.md +4 -2
  15. package/.cursor/commands/oxe-plan-agent.md +4 -2
  16. package/.cursor/commands/oxe-plan.md +4 -2
  17. package/.cursor/commands/oxe-project.md +4 -2
  18. package/.cursor/commands/oxe-quick.md +4 -2
  19. package/.cursor/commands/oxe-research.md +4 -2
  20. package/.cursor/commands/oxe-retro.md +4 -2
  21. package/.cursor/commands/oxe-review-pr.md +4 -2
  22. package/.cursor/commands/oxe-route.md +4 -2
  23. package/.cursor/commands/oxe-scan.md +4 -2
  24. package/.cursor/commands/oxe-security.md +4 -2
  25. package/.cursor/commands/oxe-session.md +5 -3
  26. package/.cursor/commands/oxe-ship.md +4 -2
  27. package/.cursor/commands/oxe-skill.md +4 -2
  28. package/.cursor/commands/oxe-spec.md +4 -2
  29. package/.cursor/commands/oxe-ui-review.md +4 -2
  30. package/.cursor/commands/oxe-ui-spec.md +4 -2
  31. package/.cursor/commands/oxe-update.md +4 -2
  32. package/.cursor/commands/oxe-validate-gaps.md +4 -2
  33. package/.cursor/commands/oxe-verify-audit.md +46 -0
  34. package/.cursor/commands/oxe-verify.md +4 -2
  35. package/.cursor/commands/oxe-workflow-authoring.md +47 -0
  36. package/.cursor/commands/oxe-workstream.md +4 -2
  37. package/.cursor/commands/oxe.md +6 -2
  38. package/.github/prompts/oxe-ask.prompt.md +4 -2
  39. package/.github/prompts/oxe-capabilities.prompt.md +4 -2
  40. package/.github/prompts/oxe-checkpoint.prompt.md +4 -2
  41. package/.github/prompts/oxe-compact.prompt.md +5 -3
  42. package/.github/prompts/oxe-dashboard.prompt.md +4 -2
  43. package/.github/prompts/oxe-debug.prompt.md +4 -2
  44. package/.github/prompts/oxe-discuss.prompt.md +6 -2
  45. package/.github/prompts/oxe-execute.prompt.md +5 -3
  46. package/.github/prompts/oxe-forensics.prompt.md +4 -2
  47. package/.github/prompts/oxe-help.prompt.md +6 -2
  48. package/.github/prompts/oxe-loop.prompt.md +4 -2
  49. package/.github/prompts/oxe-milestone.prompt.md +4 -2
  50. package/.github/prompts/oxe-next.prompt.md +6 -2
  51. package/.github/prompts/oxe-obs.prompt.md +4 -2
  52. package/.github/prompts/oxe-plan-agent.prompt.md +5 -2
  53. package/.github/prompts/oxe-plan.prompt.md +4 -2
  54. package/.github/prompts/oxe-project.prompt.md +4 -2
  55. package/.github/prompts/oxe-quick.prompt.md +4 -2
  56. package/.github/prompts/oxe-research.prompt.md +4 -2
  57. package/.github/prompts/oxe-retro.prompt.md +4 -2
  58. package/.github/prompts/oxe-review-pr.prompt.md +4 -2
  59. package/.github/prompts/oxe-route.prompt.md +4 -2
  60. package/.github/prompts/oxe-scan.prompt.md +4 -2
  61. package/.github/prompts/oxe-security.prompt.md +4 -2
  62. package/.github/prompts/oxe-session.prompt.md +5 -3
  63. package/.github/prompts/oxe-ship.prompt.md +4 -2
  64. package/.github/prompts/oxe-skill.prompt.md +4 -2
  65. package/.github/prompts/oxe-spec.prompt.md +4 -2
  66. package/.github/prompts/oxe-ui-review.prompt.md +4 -2
  67. package/.github/prompts/oxe-ui-spec.prompt.md +4 -2
  68. package/.github/prompts/oxe-update.prompt.md +4 -2
  69. package/.github/prompts/oxe-validate-gaps.prompt.md +4 -2
  70. package/.github/prompts/oxe-verify-audit.prompt.md +46 -0
  71. package/.github/prompts/oxe-verify.prompt.md +4 -2
  72. package/.github/prompts/oxe-workflow-authoring.prompt.md +47 -0
  73. package/.github/prompts/oxe-workstream.prompt.md +4 -2
  74. package/.github/prompts/oxe.prompt.md +6 -2
  75. package/.github/workflows/ci.yml +57 -20
  76. package/.github/workflows/release.yml +94 -0
  77. package/AGENTS.md +3 -1
  78. package/CHANGELOG.md +383 -342
  79. package/QUICKSTART.md +99 -0
  80. package/README.md +89 -65
  81. package/bin/lib/oxe-agent-install.cjs +127 -107
  82. package/bin/lib/oxe-install-resolve.cjs +10 -0
  83. package/bin/lib/oxe-operational.cjs +34 -28
  84. package/bin/lib/oxe-project-health.cjs +38 -6
  85. package/bin/lib/oxe-release.cjs +423 -0
  86. package/bin/lib/oxe-runtime-semantics.cjs +68 -24
  87. package/bin/oxe-cc.js +388 -55
  88. package/commands/oxe/ask.md +7 -3
  89. package/commands/oxe/capabilities.md +6 -2
  90. package/commands/oxe/checkpoint.md +5 -1
  91. package/commands/oxe/compact.md +6 -2
  92. package/commands/oxe/dashboard.md +6 -2
  93. package/commands/oxe/debug.md +6 -2
  94. package/commands/oxe/discuss.md +6 -2
  95. package/commands/oxe/execute.md +6 -2
  96. package/commands/oxe/forensics.md +6 -2
  97. package/commands/oxe/help.md +6 -2
  98. package/commands/oxe/loop.md +6 -2
  99. package/commands/oxe/milestone.md +6 -2
  100. package/commands/oxe/next.md +6 -2
  101. package/commands/oxe/obs.md +6 -2
  102. package/commands/oxe/oxe.md +6 -2
  103. package/commands/oxe/plan-agent.md +6 -2
  104. package/commands/oxe/plan.md +6 -2
  105. package/commands/oxe/project.md +6 -2
  106. package/commands/oxe/quick.md +6 -2
  107. package/commands/oxe/research.md +6 -2
  108. package/commands/oxe/retro.md +6 -2
  109. package/commands/oxe/review-pr.md +6 -2
  110. package/commands/oxe/route.md +6 -2
  111. package/commands/oxe/scan.md +6 -2
  112. package/commands/oxe/security.md +6 -2
  113. package/commands/oxe/session.md +6 -2
  114. package/commands/oxe/ship.md +6 -2
  115. package/commands/oxe/skill.md +6 -2
  116. package/commands/oxe/spec.md +6 -2
  117. package/commands/oxe/ui-review.md +6 -2
  118. package/commands/oxe/ui-spec.md +6 -2
  119. package/commands/oxe/update.md +6 -2
  120. package/commands/oxe/validate-gaps.md +6 -2
  121. package/commands/oxe/verify-audit.md +50 -0
  122. package/commands/oxe/verify.md +6 -2
  123. package/commands/oxe/workflow-authoring.md +50 -0
  124. package/commands/oxe/workstream.md +6 -2
  125. package/docs/INCIDENT-PLAYBOOK.md +181 -0
  126. package/docs/RELEASE-READINESS.md +46 -0
  127. package/docs/ROLES.md +129 -0
  128. package/docs/RUNTIME-SMOKE-MATRIX.md +128 -0
  129. package/docs/TEAM-ADOPTION.md +153 -0
  130. package/docs/WALKTHROUGH.md +241 -0
  131. package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +28 -0
  132. package/lib/runtime/scheduler/multi-agent-coordinator.js +152 -26
  133. package/lib/sdk/README.md +2 -0
  134. package/lib/sdk/index.cjs +22 -8
  135. package/lib/sdk/index.d.ts +60 -16
  136. package/oxe/templates/config.template.json +1 -0
  137. package/package.json +30 -22
  138. package/packages/runtime/package.json +1 -1
  139. package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +357 -193
  140. package/vscode-extension/oxe-agents-1.4.0.vsix +0 -0
  141. package/vscode-extension/oxe-agents-1.5.0.vsix +0 -0
  142. package/vscode-extension/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,9 +1,34 @@
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
-
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
5
  ---
6
6
 
7
+ ## [1.5.0] — 2026-04-21
8
+
9
+ ### Release Readiness 5/5
10
+
11
+ - `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
12
+ - a release agora persiste `release-manifest.json`, `runtime-smoke-report.json`, `recovery-fixture-report.json` e `multi-agent-soak-report.json` em `.oxe/release/`
13
+ - `npm test` passou a incluir smoke matrix multi-runtime, fixtures reproduzíveis de recovery/incidente e soak multi-agent
14
+
15
+ ### Operational Proof
16
+
17
+ - 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
18
+ - novo corpus de incidentes em `tests/fixtures/runtime-incidents/` para provar `runtime replay` e `runtime recover` fora do caminho feliz
19
+ - multi-agent passou a gerar e auditar `multi-agent-summary.json`, incluindo timeouts e reassignments
20
+
21
+ ### Publication Contract
22
+
23
+ - versão alinhada para `1.5.0` em pacote raiz, runtime package, extensão VS Code, README e lockfile
24
+ - 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
25
+
26
+ ### Validation
27
+
28
+ - `npm test`
29
+ - `npm run scan:assets`
30
+ - `npm run release:doctor`
31
+
7
32
  ## [1.4.0] — 2026-04-20
8
33
 
9
34
  ### Runtime Publication Stabilization
@@ -24,6 +49,22 @@ Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudança
24
49
  - README atualizado para refletir o momento atual do produto, o contrato estável de publicação e a superfície enterprise do CLI/runtime
25
50
  - `lib/sdk/README.md` e `AGENTS.md` atualizados para refletir os bridges do runtime enterprise e o comportamento `runtime-first`
26
51
 
52
+ ### Adoção em Times (v1.4.0 final)
53
+
54
+ - `QUICKSTART.md` — guia de onboarding "primeiros 15 minutos": install, primeiro ciclo (6 comandos), runtime-first, validação dos 5 minutos
55
+ - `docs/ROLES.md` — guia por papel: executor, reviewer, operador de gate, mantenedor do pacote; cada papel com o que lê, decide e pode ignorar
56
+ - `docs/TEAM-ADOPTION.md` — fluxo branch/PR recomendado, ship local vs. promote remoto, sessões e workstreams, governança mínima
57
+ - `docs/WALKTHROUGH.md` — walkthrough completo reproduzível: spec → plan → execute → verify → gate → promotion com outputs esperados
58
+ - `docs/INCIDENT-PLAYBOOK.md` — gate stale, run bloqueada, RECOVERY-SUMMARY, dashboard como painel operacional
59
+ - `docs/RUNTIME-SMOKE-MATRIX.md` — matriz 8 runtimes × 6 operações com pressupostos e comportamentos por runtime
60
+ - `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
61
+ - `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)
62
+ - `runtime gates list` — ícones visuais `⏳ pending` / `⚠ stale (>Nh)` / `✓ resolved`, ação sugerida e impacto no ciclo por gate
63
+ - `runtime gates resolve` — mensagem de impacto pós-resolução: "Run pode avançar" ou "N gates restantes"
64
+ - `.github/workflows/release.yml` — pipeline de publicação: validate → publish-npm (com provenance) → build-vsix → create-release com extração automática do CHANGELOG
65
+ - `.github/workflows/ci.yml` — novos jobs `doctor` (gate de qualidade operacional) e `wrapper-audit` (sync entre wrappers e contrato canônico)
66
+ - `README.md` — seção `## Para times` com links para todos os novos docs; link `→ Guia por papel` na seção "Momento atual do produto"
67
+
27
68
  ### Validation
28
69
 
29
70
  - suíte root + runtime continua verde
@@ -32,341 +73,341 @@ Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudança
32
73
  ---
33
74
 
34
75
  ## [1.3.0] — 2026-04-20
35
-
36
- ### Reasoning Contracts & Semântica Multi-Runtime
37
-
38
- - Contratos de raciocínio v2.0.0 (`oxe_contract_version: 2.0.0`) em todos os workflows e wrappers de runtime
39
- - Novos campos de metadata: `oxe_reasoning_mode`, `oxe_question_policy`, `oxe_output_contract`, `oxe_tool_profile`, `oxe_confidence_policy`, `oxe_context_tier`
40
- - `oxe_semantics_hash` (SHA-256 16 chars) para detecção de drift semântico entre IDEs
41
- - Módulo `bin/lib/oxe-runtime-semantics.cjs` gerencia o contrato canônico: `buildReasoningContractBlock()`, `buildContextTiers()`, `auditRuntimeTargets()`, `computeSemanticsHash()`
42
- - `auditRuntimeTargets()` varre Copilot prompts, commands e Cursor commands e reporta divergências entre wrappers e o contrato canônico
43
- - Prompts e commands sincronizados para todos os runtimes: Cursor, GitHub Copilot, Claude Code, OpenCode, Codex, Gemini CLI, Windsurf, Antigravity
44
-
45
- ### Novos Módulos bin/lib
46
-
47
- - **`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
48
- - **`oxe-runtime-semantics.cjs`** — gestão de metadados de workflow e contratos de raciocínio: `getWorkflowContract()`, `getAllWorkflowContracts()`, `validateWorkflowContractsRegistry()`, `buildContextPackPaths()`, `buildReasoningContractBlock()`, `splitFrontmatter()`, `parseFrontmatterMap()`
49
- - **`oxe-operational.cjs`** expandido — monitoramento de agents, gates, evidências e estado de run com maior granularidade
50
- - **`oxe-project-health.cjs`** expandido — métricas de saúde: test scores, coverage, violations, integração Copilot
51
-
52
- ### Comandos e Superfície
53
-
54
- - **`oxe-ship`** — cria commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`; disponível em todos os runtimes suportados
55
- - **`oxe-skill`** — gestão e composição de skills com roles `@executor` e `@researcher`
56
- - Contrato de raciocínio declarado em todos os workflows: `discovery`, `planning`, `execution`, `review`, `status`
57
- - Regra pack-first em todos os wrappers: lê `.oxe/context/packs/<slug>.md` antes de cair para leitura direta
58
-
59
- ### Testes e Cobertura
60
-
61
- - Novos testes unitários para `oxe-runtime-semantics.cjs`: 31 testes cobrindo todas as 19 funções exportadas
62
- - Novos testes para `oxe-plugins.cjs`: 28 testes para `loadPlugins`, `runHook`, `validatePlugins`, `initPluginsDir`, `resolvePluginSources`
63
- - Novos testes para `oxe-security.cjs`: `checkPathSafety`, `scanFileForSecrets`, `scanDirForSecretFiles`, `validatePlanPaths`
64
- - Cobertura de linhas: **80.28% → 82.28%** (superando threshold de 82%)
65
- - Total: **383 testes** passando (root + runtime)
66
-
67
- ---
68
-
69
- ## [1.2.1] — 2026-04-18
70
-
71
- ### Branding, Semântica e Empacotamento
72
-
73
- - remove referências remanescentes ao framework legado dos workflows e do diagnóstico de integração Copilot
74
- - alinha `package.json`, `package-lock.json`, banner CLI e README para `1.2.1`
75
- - corrige deriva semântica do workflow `ship`, registrando-o no contrato canônico multi-runtime
76
- - adiciona prompt files de `ship` para Copilot/Cursor
77
- - remove o comando `auto` da superfície pública do OXE
78
- - remove o comando `intel` da superfície pública do OXE
79
- - reposiciona `ship` para fechar o ciclo com commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`
80
-
81
- ---
82
-
83
- ## [1.2.0] — 2026-04-18
84
-
85
- ### Runtime Hardening & Robustez (Fases 1–9)
86
-
87
- **Fase 1 — Runtime Hardening**
88
-
89
- - `RunJournal` persistido em `.oxe/runs/{runId}/journal.json`: gravado a cada onda, atualizado no pause/cancel
90
- - `Scheduler.pause()` agora grava journal e retorna `status: 'paused'` em vez de apenas setar flag in-memory
91
- - `Scheduler.recover(runId, ctx, graph)` — retoma run pausado pelo journal; pula nós já completados
92
- - `Scheduler.getJournal()` e `Scheduler.loadJournal(projectRoot, runId)` para inspeção
93
- - `RunState` expandido: `retryCounts`, `policyDecisions`, `pendingGates`, `resolvedGates`, `verificationStatus`, `evidenceRefs`, `toolFailures`
94
- - Reducer: handlers para `RetryScheduled`, `PolicyEvaluated`, `GateRequested`, `GateResolved`, `VerificationStarted`, `VerificationCompleted`, `ToolFailed`, `EvidenceCollected`
95
- - Helpers: `getRetryCount`, `getPolicyDecision`, `getVerificationStatus`, `getEvidenceRefs`, `getToolFailures`
96
-
97
- **Fase 2 — Policy, Side Effects e Security**
98
-
99
- - `SideEffectClass` enum: `read_fs|write_fs|spawn_process|network_call|git_mutation|db_change|secret_access|infra_operation`
100
- - `AutonomyTier` type: `L0|L1|L2|L3` — tier controla quais side effects são permitidos automaticamente
101
- - `NodePolicyConfig` com `mutation_budget` e `autonomy_tier`
102
- - `EnvironmentGuardrail` com `protected_paths`, `protected_branches`, `require_human_gate_on`
103
- - Guardrails default: paths `.env`, `package.json`, `.oxe/config.json`; gate automático para `infra_operation`, `db_change`, `secret_access`
104
- - `PolicyEngine.withGuardrail(g)` para customizar guardrails por projeto
105
- - `side_effect_class` e `autonomy_tier` em `PolicyWhenClause` para regras direcionadas
106
-
107
- **Fase 3 — Verify Operational**
108
-
109
- - `VerificationManifest` formal: persistido em `.oxe/runs/{runId}/verification-manifest.json`
110
- - `VerificationProfile`: `quick|standard|critical` — controla quais `FailureClass` geram riscos residuais
111
- - `FailureClass` taxonomy: `deterministic|flaky|timeout|env_setup|policy_failure|evidence_missing`
112
- - `classifyFailure(result)` — classifica automaticamente cada `CheckResult`
113
- - `buildManifest(runId, results, options)` — compila manifest por work item, onda ou run
114
- - `ResidualRiskLedger` persistido em `.oxe/runs/{runId}/residual-risks.json`
115
- - `buildRiskLedger(runId, manifest)` — gera ledger de riscos residuais a partir do manifest
116
-
117
- **Fase 4 — Delivery Native**
118
-
119
- - `MergeGateEvaluator.evaluate(runResult, manifest, ledger)` — avalia se run está pronto para merge
120
- - Bloqueios: tarefas failed/blocked, verificação falha, riscos `high`/`critical`
121
- - `PromotionPipeline.promote(runResult, manifest, ledger, opts)` — cria PR draft via `gh`, persiste `RunPRLink`
122
- - `PromotionPipeline.buildPRBody(...)` — corpo do PR com resumo, verificação e riscos residuais
123
- - `RunPRLink` persistido em `.oxe/runs/{runId}/pr-link.json`
124
-
125
- **Fase 5 — Context Engineering Avançado**
126
-
127
- - `ContextPackStore`: `savePack`, `loadPack`, `markStale`, `isStale`, `listPackMeta` — packs persistidos em `.oxe/runs/{runId}/context-pack-{workItemId}.json`
128
- - `ContextPackMeta` com `estimated_tokens`, `stale`, `stale_reason`
129
- - `diffPacks(before, after)` — detecta added/removed/score_changed entre versões de pack
130
- - Índice global por run em `context-packs.index.json`
131
-
132
- **Fase 6 — Decision Engine / Seniority**
133
-
134
- - `DecisionEngine.evaluate(input)` — avalia policy, gate, retry budget, risk, lesson match e retorna `DecisionRecord` com `type`, `seniority`, `confidence` e `rationale`
135
- - Tipos de decisão: `proceed|retry|escalate_gate|skip|abort|promote_lesson`
136
- - `SeniorityLevel`: `junior|standard|senior|expert` derivado da confidence
137
- - `appendDecision`, `loadDecisionLog`, `queryDecisions` — log persistido em `.oxe/runs/{runId}/decisions.json`
138
-
139
- **Fase 7 — Multi-Agent Robusto**
140
-
141
- - `AgentRegistry` com heartbeat tracking por agente
142
- - `registry.beat(id, currentTask)` — atualiza last_seen e status
143
- - `registry.isAlive(id)` — detecta timeout configurável por instância
144
- - `registry.timedOut()` / `registry.liveAgents()` — filtragem por liveness
145
- - `registry.failover(fallbackAgentId)` — reassigna tasks de agentes expirados para fallback
146
- - `registry.setStatus(id, status)` — transições manuais de estado
147
-
148
- **Fase 8 — ABI Estável de Plugins**
149
-
150
- - `PluginManifest` com `abi_version`, `capabilities`, declared providers
151
- - `extractManifest(plugin)` — extrai manifest de qualquer `OxePlugin`
152
- - `validatePlugin(plugin)` — retorna `{ valid, errors, warnings }` com checagem de nome, semver, providers
153
- - `isAbiCompatible(version)` — garante compatibilidade de major version
154
- - `sandboxInvoke(fn, timeoutMs)` — execução com timeout e isolamento de erro para plugins
155
-
156
- **Fase 9 — Enterprise Operations**
157
-
158
- - `AuditTrail` — registro imutável NDJSON em `.oxe/AUDIT-TRAIL.ndjson`
159
- - 14 tipos de ação auditáveis: `run_started`, `secret_accessed`, `infra_mutation`, `merge_approved`, etc.
160
- - Severity automática por ação (`info|warn|critical`)
161
- - `AuditTrail.query(filter)` — filtra por action/severity/runId/since
162
- - `RunQuota` — `createQuota`, `consumeQuota`, `checkQuota` para limitar work_items, mutations e retries por run
163
-
164
- ### Testes
165
-
166
- - Runtime: **266 testes** (↑ de 145 pré-robustez)
167
- - Root: 321 testes (sem regressões)
168
- - Total: **587 testes** passando
169
-
170
- ---
171
-
172
- ## [1.1.0] — 2026-04-18
173
-
174
- ### Mudança de superfície (simplificação estratégica de produto)
175
-
176
- **Trilha principal reduzida a 6 comandos**
177
-
178
- O OXE agora se comporta como um framework guiado por etapas. A superfície pública foi reorganizada em três níveis:
179
-
180
- **Trilha principal (6 comandos):**
181
- - `/oxe` — entrada universal (absorve ask, next, route, help)
182
- - `/oxe-quick` — modo nano sem cerimônia
183
- - `/oxe-spec` — spec com flags: `--refresh`, `--full`, `--research`, `--ui`
184
- - `/oxe-plan` — planejamento test-first
185
- - `/oxe-execute` — implementação com flags: `--note`, `--debug`, `--deep-diagnosis`, `--checkpoint`, `--iterative`
186
- - `/oxe-verify` — validação e fechamento com flags: `--gaps`, `--security`, `--ui`, `--pr`, `--diff`, `--skip-retro`
187
-
188
- **Trilha avançada:** `/oxe-session` (absorve project, milestone, workstream), `/oxe-dashboard`
189
-
190
- **Administrativa:** `/oxe-capabilities`, `/oxe-skill`, `oxe-cc azure`
191
-
192
- ### Depreciado (v1.1.0)
193
-
194
- Os seguintes comandos foram incorporados por estágios principais e continuam funcionando com aviso de migração:
195
-
196
- | Comando | Novo destino |
197
- |---------|-------------|
198
- | `/oxe-ask` | `/oxe "pergunta"` |
199
- | `/oxe-scan` | `/oxe-spec --refresh` |
200
- | `/oxe-research` | `/oxe-spec --research` |
201
- | `/oxe-ui-spec` | `/oxe-spec --ui` |
202
- | `/oxe-obs` | `/oxe-execute --note` |
203
- | `/oxe-debug` | `/oxe-execute --debug` |
204
- | `/oxe-forensics` | `/oxe-execute --deep-diagnosis` |
205
- | `/oxe-checkpoint` | `/oxe-execute --checkpoint` |
206
- | `/oxe-loop` | `/oxe-execute --iterative` |
207
- | `/oxe-validate-gaps` | `/oxe-verify --gaps` |
208
- | `/oxe-security` | `/oxe-verify --security` |
209
- | `/oxe-ui-review` | `/oxe-verify --ui` |
210
- | `/oxe-review-pr` | `/oxe-verify --pr` |
211
- | `/oxe-retro` | `/oxe-verify` (retro automática) |
212
- | `/oxe-project` | `/oxe-session milestone\|workstream` |
213
- | `/oxe-compact` | `/oxe-spec --refresh` |
214
- | `/oxe-next` | `/oxe` (sem argumento) |
215
- | `/oxe-route` | `/oxe "intenção"` |
216
- | `/oxe-milestone` | `/oxe-session milestone` |
217
- | `/oxe-workstream` | `/oxe-session workstream` |
218
-
219
- ### Novos comportamentos
220
-
221
- - **Retro automática:** `/oxe-verify` executa automaticamente retrospectiva ao fechar (`--skip-retro` para desativar)
222
- - **Pergunta situacional inline:** `/oxe "pergunta"` substitui `/oxe-ask`
223
- - `/oxe-session` agora suporta `milestone` e `workstream` como subcomandos
224
-
225
- ---
226
-
227
- ## [0.8.0] — 2026-04-14
228
-
229
- ### Adicionado
230
-
231
- **Session forking + revert**
232
- - `session fork [nome]` — bifurca a sessão ativa, copiando todos os artefatos para uma nova sessão; rastreia `forked_from` na SESSION.md
233
- - `session revert <checkpoint-slug>` — restaura STATE.md ao snapshot de um checkpoint, sem apagar artefatos atuais
234
-
235
- **Skill system**
236
- - `/oxe-skill` — workflow para descobrir, invocar e gerenciar skills (unificação de personas e capabilities)
237
- - `@<skill-id>` no chat resolve persona OU capability OU composite como ponto de entrada único
238
- - Template `SKILL.template.md` para criação de skills de projeto em `.oxe/skills/`
239
- - Resolução em 3 camadas: project → capabilities → global (personas do pacote)
240
-
241
- **Sistema de permissões com wildcard**
242
- - `permissions[]` em `.oxe/config.json` — regras glob+ação que controlam acesso a arquivos durante execute e apply
243
- - Ações: `allow`, `deny`, `ask` — avaliação first-match wins
244
- - Scopes: `execute`, `apply`, `all`
245
- - Gate automático no workflow execute antes de cada onda
246
-
247
- **Config hierárquico (system → user → project)**
248
- - `loadOxeConfigMerged()` agora lê 3 níveis: system (`OXE_SYSTEM_CONFIG` ou path OS-default) < user (`~/.oxe/config.json`) < project (`.oxe/config.json`)
249
- - `status --full` exibe fontes de cada nível de configuração
250
- - Campo `sources` no retorno do SDK
251
-
252
- **Event sourcing com replay**
253
- - `replayEvents()` no SDK — reconstrói timeline de `OXE-EVENTS.ndjson` com deltas, filtros por run/wave/event
254
- - `oxe-cc runtime replay [--run <id>] [--from <event-id>] [--wave <n>] [--write]` — visualização de timeline no terminal ou `REPLAY-SESSION.md` em disco
255
- - Integração com `/oxe-forensics` — replay como ferramenta de investigação
256
-
257
- **Plugin system com carregamento remoto**
258
- - `plugins[]` em `config.json` aceita `{ source: "npm:<pkg>" }` e `{ source: "path:./file.cjs" }`
259
- - `oxe-cc plugins list` — lista plugins carregados (local + externos)
260
- - `oxe-cc plugins install npm:<pkg>` — instala plugin npm em `.oxe/plugins/_npm/`
261
- - `resolvePluginSources()` e `installNpmPlugin()` expostos no SDK
262
-
263
- ### Tipos TypeScript
264
- - `OxePermissionRule`, `PermissionCheckResult`, `ReplayReport`, `PluginSource` adicionados
265
- - `security.checkFilePermission`, `security.checkPermissions`, `security.globToRegex` declarados
266
- - `operational.replayEvents` declarado
267
- - `plugins.resolvePluginSources`, `plugins.installNpmPlugin` declarados
268
- - `health.loadOxeConfigMerged` retorna `sources: { system, user, project }`
269
-
270
- ---
271
-
272
- ## [0.7.0] — 2026-04-13
273
-
274
- ### Adicionado
275
-
276
- **Provider Azure nativo (`oxe-cc azure`)**
277
- - `azure status` — estado compacto read-only: CLI, login, subscription, inventário, pendências, alerta VPN
278
- - `azure operations list` — histórico colorido de operações (planned/applied/pending)
279
- - `azure find --type <serviço>` — filtro por família de serviço (servicebus, eventgrid, sql)
280
- - `azure find --filter-rg <rg>` — filtro por resource group
281
- - `azure sync --diff` — mostra recursos adicionados/removidos em relação ao snapshot anterior
282
- - `azure apply --dry-run` — pré-visualiza comando `az` sem executar nem criar artefatos
283
- - `azure auth login --tenant <id>` — suporte a Entra ID corporativo; passa `--tenant` ao `az login`
284
- - `azure apply --vpn-confirmed` — confirma conexão VPN quando `vpn_required: true` está configurado
285
-
286
- **SDK**
287
- - `azure.diffInventory(previousItems, currentItems)` — compara snapshots de inventário (adicionados/removidos/unchanged)
288
- - `azure.statusAzure(projectRoot, config?, options?)` — status compacto sem writes
289
-
290
- **Workflows (guardrails)**
291
- - `scan.md`: detecção Azure é informativa — não altera fluxo canônico OXE nem aciona steps Azure automaticamente
292
- - `plan.md`: pré-check Azure só ativa quando Azure é mencionado **explicitamente** na SPEC ou `.oxe/cloud/azure/` existe
293
- - `discuss.md`: perguntas Azure só ativam quando SPEC menciona Azure explicitamente — SQL genérico (PostgreSQL, MySQL, on-prem) não aciona o bloco
294
-
295
- ### Corrigido
296
- - `loginAzure()` com `inherit: true` não passava mais `inherit` para `getAzureContext`, evitando crash ao tentar ler `account.id` de stdout null
297
-
298
- ### Tipos TypeScript
299
- - `azure.searchAzureInventory` inclui parâmetro opcional `filters?: { type?, resourceGroup? }`
300
- - `azure.diffInventory` declarado
301
- - `azure.statusAzure` declarado
302
-
303
- ---
304
-
305
- ## [0.6.3] — 2026-04-04
306
-
307
- ### Corrigido
308
- - `security_in_verify` agora é reconhecido como chave válida em `.oxe/config.json` (não mais rejeitado pelo doctor como "unknown key")
309
- - `plan-agents.schema.json`: enum atualizado de `[1, 2]` para `[2, 3]`; campos `persona` e `model_hint` adicionados ao schema dos agentes
310
-
311
- ### Adicionado
312
- - **`/oxe-retro` sugerido automaticamente** pelo `oxe-cc status` quando `phase: verify_complete` e `.oxe/LESSONS.md` ainda não existe
313
- - **`health.parseLastRetroDate(stateText)`** — parseia campo `last_retro: YYYY-MM-DD` do STATE.md
314
- - **`health.isStaleLessons(retroDate, maxDays)`** — detecta se LESSONS.md está desatualizado (par de `isStaleScan`)
315
- - **`health.planAgentsWarnings(target)`** — avisa sobre schema 1 (legado) e `model_hint` inválido em `plan-agents.json`
316
- - **`parseState()`** retorna novo campo `lastRetroDate: string | null`
317
- - `OxeHealthReport` inclui `retroDate: Date | null`
318
- - `config.template.json` inclui `security_in_verify: false` por padrão
319
- - `plan-agents.template.json` inclui campo `persona` no agente-exemplo
320
- - 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)
321
- - `AGENTS.md` atualizado para v0.6.x
322
-
323
- ### Tipos TypeScript
324
- - `ParsedState` inclui `lastRetroDate: string | null`
325
- - `OxeHealthReport` inclui `retroDate: Date | null`
326
- - `health.*` expõe `parseLastRetroDate`, `isStaleLessons`, `planAgentsWarnings`
327
-
328
- ---
329
-
330
- ## [0.6.2] — 2026-04-04
331
-
332
- ### Adicionado
333
- - **`/oxe-retro`** — workflow de retrospectiva de ciclo; sintetiza 3–5 lições prescritivas em `.oxe/LESSONS.md`
334
- - `oxe/templates/LESSONS.template.md`
335
- - Correções de consistência de schema (plan-agent.md, verify.md): referências atualizadas para schema v3
336
-
337
- ### Alterado
338
- - README: tabela "Como cada comando fica mais inteligente" expandida com loop, security, research thinking_depth, model_hint
339
- - Cadeia de help (`oxe.md`) atualizada para incluir `/oxe-retro` após verify
340
-
341
- ---
342
-
343
- ## [0.6.1] — 2026-04-04
344
-
345
- ### Adicionado
346
- - **`/oxe-security`** — auditoria OWASP Top 10 filtrada pelo stack; produz `.oxe/SECURITY.md` com achados P0/P1/P2
347
- - **`/oxe-loop`** — execução iterativa de onda com retries automáticos e diagnóstico inline
348
- - **Model hints** em `plan-agents.json` schema v3: campo `model_hint` (`fast | balanced | powerful`) por agente
349
- - **Thinking depth** em `/oxe-research`: classificação `surface | standard | deep` com raciocínio estendido para `deep`
350
- - Integração automática de security no verify via `security_in_verify: true` (Camada 6)
351
- - `oxe/templates/SECURITY.template.md`
352
-
353
- ---
354
-
355
- ## [0.6.0] — 2026-04-04
356
-
357
- ### Adicionado
358
- - Workflow `/oxe-project` unificando `milestone`, `workstream`, `checkpoint`
359
- - `/oxe-obs` com propagação automática para R-IDs e Tns afetados
360
- - Auto-reflexão semântica em `/oxe-spec` (Fase 4b): detecta contradições e escopo creep antes da aprovação
361
- - Modo de execução A/B/C em `/oxe-execute` (Completo / Por onda / Por tarefa)
362
- - Debug inline automático em falhas de execute
363
- - 4 profiles de execução: `balanced`, `strict`, `fast`, `legacy`
364
- - Sistema de personas para agentes (`oxe/personas/`)
365
- - Plugin lifecycle (`.oxe/plugins/*.cjs`)
366
- - `scale_adaptive`: scan sugere profile pelo tamanho do projeto
367
-
368
- ---
369
-
370
- ## [0.5.0] — anterior
371
-
372
- Versões anteriores não documentadas neste arquivo.
76
+
77
+ ### Reasoning Contracts & Semântica Multi-Runtime
78
+
79
+ - Contratos de raciocínio v2.0.0 (`oxe_contract_version: 2.0.0`) em todos os workflows e wrappers de runtime
80
+ - Novos campos de metadata: `oxe_reasoning_mode`, `oxe_question_policy`, `oxe_output_contract`, `oxe_tool_profile`, `oxe_confidence_policy`, `oxe_context_tier`
81
+ - `oxe_semantics_hash` (SHA-256 16 chars) para detecção de drift semântico entre IDEs
82
+ - Módulo `bin/lib/oxe-runtime-semantics.cjs` gerencia o contrato canônico: `buildReasoningContractBlock()`, `buildContextTiers()`, `auditRuntimeTargets()`, `computeSemanticsHash()`
83
+ - `auditRuntimeTargets()` varre Copilot prompts, commands e Cursor commands e reporta divergências entre wrappers e o contrato canônico
84
+ - Prompts e commands sincronizados para todos os runtimes: Cursor, GitHub Copilot, Claude Code, OpenCode, Codex, Gemini CLI, Windsurf, Antigravity
85
+
86
+ ### Novos Módulos bin/lib
87
+
88
+ - **`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
89
+ - **`oxe-runtime-semantics.cjs`** — gestão de metadados de workflow e contratos de raciocínio: `getWorkflowContract()`, `getAllWorkflowContracts()`, `validateWorkflowContractsRegistry()`, `buildContextPackPaths()`, `buildReasoningContractBlock()`, `splitFrontmatter()`, `parseFrontmatterMap()`
90
+ - **`oxe-operational.cjs`** expandido — monitoramento de agents, gates, evidências e estado de run com maior granularidade
91
+ - **`oxe-project-health.cjs`** expandido — métricas de saúde: test scores, coverage, violations, integração Copilot
92
+
93
+ ### Comandos e Superfície
94
+
95
+ - **`oxe-ship`** — cria commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`; disponível em todos os runtimes suportados
96
+ - **`oxe-skill`** — gestão e composição de skills com roles `@executor` e `@researcher`
97
+ - Contrato de raciocínio declarado em todos os workflows: `discovery`, `planning`, `execution`, `review`, `status`
98
+ - Regra pack-first em todos os wrappers: lê `.oxe/context/packs/<slug>.md` antes de cair para leitura direta
99
+
100
+ ### Testes e Cobertura
101
+
102
+ - Novos testes unitários para `oxe-runtime-semantics.cjs`: 31 testes cobrindo todas as 19 funções exportadas
103
+ - Novos testes para `oxe-plugins.cjs`: 28 testes para `loadPlugins`, `runHook`, `validatePlugins`, `initPluginsDir`, `resolvePluginSources`
104
+ - Novos testes para `oxe-security.cjs`: `checkPathSafety`, `scanFileForSecrets`, `scanDirForSecretFiles`, `validatePlanPaths`
105
+ - Cobertura de linhas: **80.28% → 82.28%** (superando threshold de 82%)
106
+ - Total: **383 testes** passando (root + runtime)
107
+
108
+ ---
109
+
110
+ ## [1.2.1] — 2026-04-18
111
+
112
+ ### Branding, Semântica e Empacotamento
113
+
114
+ - remove referências remanescentes ao framework legado dos workflows e do diagnóstico de integração Copilot
115
+ - alinha `package.json`, `package-lock.json`, banner CLI e README para `1.2.1`
116
+ - corrige deriva semântica do workflow `ship`, registrando-o no contrato canônico multi-runtime
117
+ - adiciona prompt files de `ship` para Copilot/Cursor
118
+ - remove o comando `auto` da superfície pública do OXE
119
+ - remove o comando `intel` da superfície pública do OXE
120
+ - reposiciona `ship` para fechar o ciclo com commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`
121
+
122
+ ---
123
+
124
+ ## [1.2.0] — 2026-04-18
125
+
126
+ ### Runtime Hardening & Robustez (Fases 1–9)
127
+
128
+ **Fase 1 — Runtime Hardening**
129
+
130
+ - `RunJournal` persistido em `.oxe/runs/{runId}/journal.json`: gravado a cada onda, atualizado no pause/cancel
131
+ - `Scheduler.pause()` agora grava journal e retorna `status: 'paused'` em vez de apenas setar flag in-memory
132
+ - `Scheduler.recover(runId, ctx, graph)` — retoma run pausado pelo journal; pula nós já completados
133
+ - `Scheduler.getJournal()` e `Scheduler.loadJournal(projectRoot, runId)` para inspeção
134
+ - `RunState` expandido: `retryCounts`, `policyDecisions`, `pendingGates`, `resolvedGates`, `verificationStatus`, `evidenceRefs`, `toolFailures`
135
+ - Reducer: handlers para `RetryScheduled`, `PolicyEvaluated`, `GateRequested`, `GateResolved`, `VerificationStarted`, `VerificationCompleted`, `ToolFailed`, `EvidenceCollected`
136
+ - Helpers: `getRetryCount`, `getPolicyDecision`, `getVerificationStatus`, `getEvidenceRefs`, `getToolFailures`
137
+
138
+ **Fase 2 — Policy, Side Effects e Security**
139
+
140
+ - `SideEffectClass` enum: `read_fs|write_fs|spawn_process|network_call|git_mutation|db_change|secret_access|infra_operation`
141
+ - `AutonomyTier` type: `L0|L1|L2|L3` — tier controla quais side effects são permitidos automaticamente
142
+ - `NodePolicyConfig` com `mutation_budget` e `autonomy_tier`
143
+ - `EnvironmentGuardrail` com `protected_paths`, `protected_branches`, `require_human_gate_on`
144
+ - Guardrails default: paths `.env`, `package.json`, `.oxe/config.json`; gate automático para `infra_operation`, `db_change`, `secret_access`
145
+ - `PolicyEngine.withGuardrail(g)` para customizar guardrails por projeto
146
+ - `side_effect_class` e `autonomy_tier` em `PolicyWhenClause` para regras direcionadas
147
+
148
+ **Fase 3 — Verify Operational**
149
+
150
+ - `VerificationManifest` formal: persistido em `.oxe/runs/{runId}/verification-manifest.json`
151
+ - `VerificationProfile`: `quick|standard|critical` — controla quais `FailureClass` geram riscos residuais
152
+ - `FailureClass` taxonomy: `deterministic|flaky|timeout|env_setup|policy_failure|evidence_missing`
153
+ - `classifyFailure(result)` — classifica automaticamente cada `CheckResult`
154
+ - `buildManifest(runId, results, options)` — compila manifest por work item, onda ou run
155
+ - `ResidualRiskLedger` persistido em `.oxe/runs/{runId}/residual-risks.json`
156
+ - `buildRiskLedger(runId, manifest)` — gera ledger de riscos residuais a partir do manifest
157
+
158
+ **Fase 4 — Delivery Native**
159
+
160
+ - `MergeGateEvaluator.evaluate(runResult, manifest, ledger)` — avalia se run está pronto para merge
161
+ - Bloqueios: tarefas failed/blocked, verificação falha, riscos `high`/`critical`
162
+ - `PromotionPipeline.promote(runResult, manifest, ledger, opts)` — cria PR draft via `gh`, persiste `RunPRLink`
163
+ - `PromotionPipeline.buildPRBody(...)` — corpo do PR com resumo, verificação e riscos residuais
164
+ - `RunPRLink` persistido em `.oxe/runs/{runId}/pr-link.json`
165
+
166
+ **Fase 5 — Context Engineering Avançado**
167
+
168
+ - `ContextPackStore`: `savePack`, `loadPack`, `markStale`, `isStale`, `listPackMeta` — packs persistidos em `.oxe/runs/{runId}/context-pack-{workItemId}.json`
169
+ - `ContextPackMeta` com `estimated_tokens`, `stale`, `stale_reason`
170
+ - `diffPacks(before, after)` — detecta added/removed/score_changed entre versões de pack
171
+ - Índice global por run em `context-packs.index.json`
172
+
173
+ **Fase 6 — Decision Engine / Seniority**
174
+
175
+ - `DecisionEngine.evaluate(input)` — avalia policy, gate, retry budget, risk, lesson match e retorna `DecisionRecord` com `type`, `seniority`, `confidence` e `rationale`
176
+ - Tipos de decisão: `proceed|retry|escalate_gate|skip|abort|promote_lesson`
177
+ - `SeniorityLevel`: `junior|standard|senior|expert` derivado da confidence
178
+ - `appendDecision`, `loadDecisionLog`, `queryDecisions` — log persistido em `.oxe/runs/{runId}/decisions.json`
179
+
180
+ **Fase 7 — Multi-Agent Robusto**
181
+
182
+ - `AgentRegistry` com heartbeat tracking por agente
183
+ - `registry.beat(id, currentTask)` — atualiza last_seen e status
184
+ - `registry.isAlive(id)` — detecta timeout configurável por instância
185
+ - `registry.timedOut()` / `registry.liveAgents()` — filtragem por liveness
186
+ - `registry.failover(fallbackAgentId)` — reassigna tasks de agentes expirados para fallback
187
+ - `registry.setStatus(id, status)` — transições manuais de estado
188
+
189
+ **Fase 8 — ABI Estável de Plugins**
190
+
191
+ - `PluginManifest` com `abi_version`, `capabilities`, declared providers
192
+ - `extractManifest(plugin)` — extrai manifest de qualquer `OxePlugin`
193
+ - `validatePlugin(plugin)` — retorna `{ valid, errors, warnings }` com checagem de nome, semver, providers
194
+ - `isAbiCompatible(version)` — garante compatibilidade de major version
195
+ - `sandboxInvoke(fn, timeoutMs)` — execução com timeout e isolamento de erro para plugins
196
+
197
+ **Fase 9 — Enterprise Operations**
198
+
199
+ - `AuditTrail` — registro imutável NDJSON em `.oxe/AUDIT-TRAIL.ndjson`
200
+ - 14 tipos de ação auditáveis: `run_started`, `secret_accessed`, `infra_mutation`, `merge_approved`, etc.
201
+ - Severity automática por ação (`info|warn|critical`)
202
+ - `AuditTrail.query(filter)` — filtra por action/severity/runId/since
203
+ - `RunQuota` — `createQuota`, `consumeQuota`, `checkQuota` para limitar work_items, mutations e retries por run
204
+
205
+ ### Testes
206
+
207
+ - Runtime: **266 testes** (↑ de 145 pré-robustez)
208
+ - Root: 321 testes (sem regressões)
209
+ - Total: **587 testes** passando
210
+
211
+ ---
212
+
213
+ ## [1.1.0] — 2026-04-18
214
+
215
+ ### Mudança de superfície (simplificação estratégica de produto)
216
+
217
+ **Trilha principal reduzida a 6 comandos**
218
+
219
+ O OXE agora se comporta como um framework guiado por etapas. A superfície pública foi reorganizada em três níveis:
220
+
221
+ **Trilha principal (6 comandos):**
222
+ - `/oxe` — entrada universal (absorve ask, next, route, help)
223
+ - `/oxe-quick` — modo nano sem cerimônia
224
+ - `/oxe-spec` — spec com flags: `--refresh`, `--full`, `--research`, `--ui`
225
+ - `/oxe-plan` — planejamento test-first
226
+ - `/oxe-execute` — implementação com flags: `--note`, `--debug`, `--deep-diagnosis`, `--checkpoint`, `--iterative`
227
+ - `/oxe-verify` — validação e fechamento com flags: `--gaps`, `--security`, `--ui`, `--pr`, `--diff`, `--skip-retro`
228
+
229
+ **Trilha avançada:** `/oxe-session` (absorve project, milestone, workstream), `/oxe-dashboard`
230
+
231
+ **Administrativa:** `/oxe-capabilities`, `/oxe-skill`, `oxe-cc azure`
232
+
233
+ ### Depreciado (v1.1.0)
234
+
235
+ Os seguintes comandos foram incorporados por estágios principais e continuam funcionando com aviso de migração:
236
+
237
+ | Comando | Novo destino |
238
+ |---------|-------------|
239
+ | `/oxe-ask` | `/oxe "pergunta"` |
240
+ | `/oxe-scan` | `/oxe-spec --refresh` |
241
+ | `/oxe-research` | `/oxe-spec --research` |
242
+ | `/oxe-ui-spec` | `/oxe-spec --ui` |
243
+ | `/oxe-obs` | `/oxe-execute --note` |
244
+ | `/oxe-debug` | `/oxe-execute --debug` |
245
+ | `/oxe-forensics` | `/oxe-execute --deep-diagnosis` |
246
+ | `/oxe-checkpoint` | `/oxe-execute --checkpoint` |
247
+ | `/oxe-loop` | `/oxe-execute --iterative` |
248
+ | `/oxe-validate-gaps` | `/oxe-verify --gaps` |
249
+ | `/oxe-security` | `/oxe-verify --security` |
250
+ | `/oxe-ui-review` | `/oxe-verify --ui` |
251
+ | `/oxe-review-pr` | `/oxe-verify --pr` |
252
+ | `/oxe-retro` | `/oxe-verify` (retro automática) |
253
+ | `/oxe-project` | `/oxe-session milestone\|workstream` |
254
+ | `/oxe-compact` | `/oxe-spec --refresh` |
255
+ | `/oxe-next` | `/oxe` (sem argumento) |
256
+ | `/oxe-route` | `/oxe "intenção"` |
257
+ | `/oxe-milestone` | `/oxe-session milestone` |
258
+ | `/oxe-workstream` | `/oxe-session workstream` |
259
+
260
+ ### Novos comportamentos
261
+
262
+ - **Retro automática:** `/oxe-verify` executa automaticamente retrospectiva ao fechar (`--skip-retro` para desativar)
263
+ - **Pergunta situacional inline:** `/oxe "pergunta"` substitui `/oxe-ask`
264
+ - `/oxe-session` agora suporta `milestone` e `workstream` como subcomandos
265
+
266
+ ---
267
+
268
+ ## [0.8.0] — 2026-04-14
269
+
270
+ ### Adicionado
271
+
272
+ **Session forking + revert**
273
+ - `session fork [nome]` — bifurca a sessão ativa, copiando todos os artefatos para uma nova sessão; rastreia `forked_from` na SESSION.md
274
+ - `session revert <checkpoint-slug>` — restaura STATE.md ao snapshot de um checkpoint, sem apagar artefatos atuais
275
+
276
+ **Skill system**
277
+ - `/oxe-skill` — workflow para descobrir, invocar e gerenciar skills (unificação de personas e capabilities)
278
+ - `@<skill-id>` no chat resolve persona OU capability OU composite como ponto de entrada único
279
+ - Template `SKILL.template.md` para criação de skills de projeto em `.oxe/skills/`
280
+ - Resolução em 3 camadas: project → capabilities → global (personas do pacote)
281
+
282
+ **Sistema de permissões com wildcard**
283
+ - `permissions[]` em `.oxe/config.json` — regras glob+ação que controlam acesso a arquivos durante execute e apply
284
+ - Ações: `allow`, `deny`, `ask` — avaliação first-match wins
285
+ - Scopes: `execute`, `apply`, `all`
286
+ - Gate automático no workflow execute antes de cada onda
287
+
288
+ **Config hierárquico (system → user → project)**
289
+ - `loadOxeConfigMerged()` agora lê 3 níveis: system (`OXE_SYSTEM_CONFIG` ou path OS-default) < user (`~/.oxe/config.json`) < project (`.oxe/config.json`)
290
+ - `status --full` exibe fontes de cada nível de configuração
291
+ - Campo `sources` no retorno do SDK
292
+
293
+ **Event sourcing com replay**
294
+ - `replayEvents()` no SDK — reconstrói timeline de `OXE-EVENTS.ndjson` com deltas, filtros por run/wave/event
295
+ - `oxe-cc runtime replay [--run <id>] [--from <event-id>] [--wave <n>] [--write]` — visualização de timeline no terminal ou `REPLAY-SESSION.md` em disco
296
+ - Integração com `/oxe-forensics` — replay como ferramenta de investigação
297
+
298
+ **Plugin system com carregamento remoto**
299
+ - `plugins[]` em `config.json` aceita `{ source: "npm:<pkg>" }` e `{ source: "path:./file.cjs" }`
300
+ - `oxe-cc plugins list` — lista plugins carregados (local + externos)
301
+ - `oxe-cc plugins install npm:<pkg>` — instala plugin npm em `.oxe/plugins/_npm/`
302
+ - `resolvePluginSources()` e `installNpmPlugin()` expostos no SDK
303
+
304
+ ### Tipos TypeScript
305
+ - `OxePermissionRule`, `PermissionCheckResult`, `ReplayReport`, `PluginSource` adicionados
306
+ - `security.checkFilePermission`, `security.checkPermissions`, `security.globToRegex` declarados
307
+ - `operational.replayEvents` declarado
308
+ - `plugins.resolvePluginSources`, `plugins.installNpmPlugin` declarados
309
+ - `health.loadOxeConfigMerged` retorna `sources: { system, user, project }`
310
+
311
+ ---
312
+
313
+ ## [0.7.0] — 2026-04-13
314
+
315
+ ### Adicionado
316
+
317
+ **Provider Azure nativo (`oxe-cc azure`)**
318
+ - `azure status` — estado compacto read-only: CLI, login, subscription, inventário, pendências, alerta VPN
319
+ - `azure operations list` — histórico colorido de operações (planned/applied/pending)
320
+ - `azure find --type <serviço>` — filtro por família de serviço (servicebus, eventgrid, sql)
321
+ - `azure find --filter-rg <rg>` — filtro por resource group
322
+ - `azure sync --diff` — mostra recursos adicionados/removidos em relação ao snapshot anterior
323
+ - `azure apply --dry-run` — pré-visualiza comando `az` sem executar nem criar artefatos
324
+ - `azure auth login --tenant <id>` — suporte a Entra ID corporativo; passa `--tenant` ao `az login`
325
+ - `azure apply --vpn-confirmed` — confirma conexão VPN quando `vpn_required: true` está configurado
326
+
327
+ **SDK**
328
+ - `azure.diffInventory(previousItems, currentItems)` — compara snapshots de inventário (adicionados/removidos/unchanged)
329
+ - `azure.statusAzure(projectRoot, config?, options?)` — status compacto sem writes
330
+
331
+ **Workflows (guardrails)**
332
+ - `scan.md`: detecção Azure é informativa — não altera fluxo canônico OXE nem aciona steps Azure automaticamente
333
+ - `plan.md`: pré-check Azure só ativa quando Azure é mencionado **explicitamente** na SPEC ou `.oxe/cloud/azure/` existe
334
+ - `discuss.md`: perguntas Azure só ativam quando SPEC menciona Azure explicitamente — SQL genérico (PostgreSQL, MySQL, on-prem) não aciona o bloco
335
+
336
+ ### Corrigido
337
+ - `loginAzure()` com `inherit: true` não passava mais `inherit` para `getAzureContext`, evitando crash ao tentar ler `account.id` de stdout null
338
+
339
+ ### Tipos TypeScript
340
+ - `azure.searchAzureInventory` inclui parâmetro opcional `filters?: { type?, resourceGroup? }`
341
+ - `azure.diffInventory` declarado
342
+ - `azure.statusAzure` declarado
343
+
344
+ ---
345
+
346
+ ## [0.6.3] — 2026-04-04
347
+
348
+ ### Corrigido
349
+ - `security_in_verify` agora é reconhecido como chave válida em `.oxe/config.json` (não mais rejeitado pelo doctor como "unknown key")
350
+ - `plan-agents.schema.json`: enum atualizado de `[1, 2]` para `[2, 3]`; campos `persona` e `model_hint` adicionados ao schema dos agentes
351
+
352
+ ### Adicionado
353
+ - **`/oxe-retro` sugerido automaticamente** pelo `oxe-cc status` quando `phase: verify_complete` e `.oxe/LESSONS.md` ainda não existe
354
+ - **`health.parseLastRetroDate(stateText)`** — parseia campo `last_retro: YYYY-MM-DD` do STATE.md
355
+ - **`health.isStaleLessons(retroDate, maxDays)`** — detecta se LESSONS.md está desatualizado (par de `isStaleScan`)
356
+ - **`health.planAgentsWarnings(target)`** — avisa sobre schema 1 (legado) e `model_hint` inválido em `plan-agents.json`
357
+ - **`parseState()`** retorna novo campo `lastRetroDate: string | null`
358
+ - `OxeHealthReport` inclui `retroDate: Date | null`
359
+ - `config.template.json` inclui `security_in_verify: false` por padrão
360
+ - `plan-agents.template.json` inclui campo `persona` no agente-exemplo
361
+ - 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)
362
+ - `AGENTS.md` atualizado para v0.6.x
363
+
364
+ ### Tipos TypeScript
365
+ - `ParsedState` inclui `lastRetroDate: string | null`
366
+ - `OxeHealthReport` inclui `retroDate: Date | null`
367
+ - `health.*` expõe `parseLastRetroDate`, `isStaleLessons`, `planAgentsWarnings`
368
+
369
+ ---
370
+
371
+ ## [0.6.2] — 2026-04-04
372
+
373
+ ### Adicionado
374
+ - **`/oxe-retro`** — workflow de retrospectiva de ciclo; sintetiza 3–5 lições prescritivas em `.oxe/LESSONS.md`
375
+ - `oxe/templates/LESSONS.template.md`
376
+ - Correções de consistência de schema (plan-agent.md, verify.md): referências atualizadas para schema v3
377
+
378
+ ### Alterado
379
+ - README: tabela "Como cada comando fica mais inteligente" expandida com loop, security, research thinking_depth, model_hint
380
+ - Cadeia de help (`oxe.md`) atualizada para incluir `/oxe-retro` após verify
381
+
382
+ ---
383
+
384
+ ## [0.6.1] — 2026-04-04
385
+
386
+ ### Adicionado
387
+ - **`/oxe-security`** — auditoria OWASP Top 10 filtrada pelo stack; produz `.oxe/SECURITY.md` com achados P0/P1/P2
388
+ - **`/oxe-loop`** — execução iterativa de onda com retries automáticos e diagnóstico inline
389
+ - **Model hints** em `plan-agents.json` schema v3: campo `model_hint` (`fast | balanced | powerful`) por agente
390
+ - **Thinking depth** em `/oxe-research`: classificação `surface | standard | deep` com raciocínio estendido para `deep`
391
+ - Integração automática de security no verify via `security_in_verify: true` (Camada 6)
392
+ - `oxe/templates/SECURITY.template.md`
393
+
394
+ ---
395
+
396
+ ## [0.6.0] — 2026-04-04
397
+
398
+ ### Adicionado
399
+ - Workflow `/oxe-project` unificando `milestone`, `workstream`, `checkpoint`
400
+ - `/oxe-obs` com propagação automática para R-IDs e Tns afetados
401
+ - Auto-reflexão semântica em `/oxe-spec` (Fase 4b): detecta contradições e escopo creep antes da aprovação
402
+ - Modo de execução A/B/C em `/oxe-execute` (Completo / Por onda / Por tarefa)
403
+ - Debug inline automático em falhas de execute
404
+ - 4 profiles de execução: `balanced`, `strict`, `fast`, `legacy`
405
+ - Sistema de personas para agentes (`oxe/personas/`)
406
+ - Plugin lifecycle (`.oxe/plugins/*.cjs`)
407
+ - `scale_adaptive`: scan sugere profile pelo tamanho do projeto
408
+
409
+ ---
410
+
411
+ ## [0.5.0] — anterior
412
+
413
+ Versões anteriores não documentadas neste arquivo.