oxe-cc 1.4.0 → 1.4.1

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