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