oxe-cc 0.9.3 → 1.2.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 (319) hide show
  1. package/.cursor/commands/oxe-ask.md +1 -1
  2. package/.cursor/commands/oxe-capabilities.md +1 -1
  3. package/.cursor/commands/oxe-checkpoint.md +1 -1
  4. package/.cursor/commands/oxe-compact.md +1 -1
  5. package/.cursor/commands/oxe-dashboard.md +1 -1
  6. package/.cursor/commands/oxe-debug.md +1 -1
  7. package/.cursor/commands/oxe-discuss.md +1 -1
  8. package/.cursor/commands/oxe-execute.md +2 -2
  9. package/.cursor/commands/oxe-forensics.md +1 -1
  10. package/.cursor/commands/oxe-help.md +1 -1
  11. package/.cursor/commands/oxe-loop.md +1 -1
  12. package/.cursor/commands/oxe-milestone.md +1 -1
  13. package/.cursor/commands/oxe-next.md +1 -1
  14. package/.cursor/commands/oxe-obs.md +1 -1
  15. package/.cursor/commands/oxe-plan-agent.md +1 -1
  16. package/.cursor/commands/oxe-plan.md +1 -1
  17. package/.cursor/commands/oxe-project.md +1 -1
  18. package/.cursor/commands/oxe-quick.md +1 -1
  19. package/.cursor/commands/oxe-research.md +1 -1
  20. package/.cursor/commands/oxe-retro.md +1 -1
  21. package/.cursor/commands/oxe-review-pr.md +1 -1
  22. package/.cursor/commands/oxe-route.md +1 -1
  23. package/.cursor/commands/oxe-scan.md +1 -1
  24. package/.cursor/commands/oxe-security.md +1 -1
  25. package/.cursor/commands/oxe-session.md +2 -2
  26. package/.cursor/commands/oxe-ship.md +45 -0
  27. package/.cursor/commands/oxe-skill.md +1 -1
  28. package/.cursor/commands/oxe-spec.md +1 -1
  29. package/.cursor/commands/oxe-ui-review.md +1 -1
  30. package/.cursor/commands/oxe-ui-spec.md +1 -1
  31. package/.cursor/commands/oxe-update.md +1 -1
  32. package/.cursor/commands/oxe-validate-gaps.md +1 -1
  33. package/.cursor/commands/oxe-verify.md +1 -1
  34. package/.cursor/commands/oxe-workstream.md +1 -1
  35. package/.cursor/commands/oxe.md +4 -4
  36. package/.github/copilot-instructions.md +91 -1
  37. package/.github/prompts/oxe-ask.prompt.md +1 -1
  38. package/.github/prompts/oxe-capabilities.prompt.md +1 -1
  39. package/.github/prompts/oxe-checkpoint.prompt.md +1 -1
  40. package/.github/prompts/oxe-compact.prompt.md +1 -1
  41. package/.github/prompts/oxe-dashboard.prompt.md +1 -1
  42. package/.github/prompts/oxe-debug.prompt.md +1 -1
  43. package/.github/prompts/oxe-discuss.prompt.md +1 -1
  44. package/.github/prompts/oxe-execute.prompt.md +2 -2
  45. package/.github/prompts/oxe-forensics.prompt.md +1 -1
  46. package/.github/prompts/oxe-help.prompt.md +1 -1
  47. package/.github/prompts/oxe-loop.prompt.md +1 -1
  48. package/.github/prompts/oxe-milestone.prompt.md +1 -1
  49. package/.github/prompts/oxe-next.prompt.md +1 -1
  50. package/.github/prompts/oxe-obs.prompt.md +1 -1
  51. package/.github/prompts/oxe-plan-agent.prompt.md +1 -1
  52. package/.github/prompts/oxe-plan.prompt.md +1 -1
  53. package/.github/prompts/oxe-project.prompt.md +1 -1
  54. package/.github/prompts/oxe-quick.prompt.md +1 -1
  55. package/.github/prompts/oxe-research.prompt.md +1 -1
  56. package/.github/prompts/oxe-retro.prompt.md +1 -1
  57. package/.github/prompts/oxe-review-pr.prompt.md +1 -1
  58. package/.github/prompts/oxe-route.prompt.md +1 -1
  59. package/.github/prompts/oxe-scan.prompt.md +1 -1
  60. package/.github/prompts/oxe-security.prompt.md +1 -1
  61. package/.github/prompts/oxe-session.prompt.md +2 -2
  62. package/.github/prompts/oxe-ship.prompt.md +45 -0
  63. package/.github/prompts/oxe-skill.prompt.md +1 -1
  64. package/.github/prompts/oxe-spec.prompt.md +1 -1
  65. package/.github/prompts/oxe-ui-review.prompt.md +1 -1
  66. package/.github/prompts/oxe-ui-spec.prompt.md +1 -1
  67. package/.github/prompts/oxe-update.prompt.md +1 -1
  68. package/.github/prompts/oxe-validate-gaps.prompt.md +1 -1
  69. package/.github/prompts/oxe-verify.prompt.md +1 -1
  70. package/.github/prompts/oxe-workstream.prompt.md +1 -1
  71. package/.github/prompts/oxe.prompt.md +3 -3
  72. package/AGENTS.md +43 -28
  73. package/CHANGELOG.md +158 -0
  74. package/README.md +72 -50
  75. package/bin/banner.txt +1 -1
  76. package/bin/lib/oxe-dashboard.cjs +9 -7
  77. package/bin/lib/oxe-operational.cjs +569 -4
  78. package/bin/lib/oxe-project-health.cjs +1 -1
  79. package/bin/oxe-cc.js +141 -57
  80. package/commands/oxe/ask.md +5 -1
  81. package/commands/oxe/checkpoint.md +1 -1
  82. package/commands/oxe/compact.md +1 -1
  83. package/commands/oxe/debug.md +1 -1
  84. package/commands/oxe/execute.md +2 -2
  85. package/commands/oxe/forensics.md +1 -1
  86. package/commands/oxe/loop.md +1 -1
  87. package/commands/oxe/milestone.md +1 -1
  88. package/commands/oxe/next.md +1 -1
  89. package/commands/oxe/obs.md +1 -1
  90. package/commands/oxe/oxe.md +3 -3
  91. package/commands/oxe/project.md +1 -1
  92. package/commands/oxe/research.md +1 -1
  93. package/commands/oxe/retro.md +1 -1
  94. package/commands/oxe/review-pr.md +1 -1
  95. package/commands/oxe/route.md +1 -1
  96. package/commands/oxe/scan.md +1 -1
  97. package/commands/oxe/security.md +1 -1
  98. package/commands/oxe/session.md +2 -2
  99. package/commands/oxe/ship.md +49 -0
  100. package/commands/oxe/spec.md +2 -2
  101. package/commands/oxe/ui-review.md +1 -1
  102. package/commands/oxe/ui-spec.md +1 -1
  103. package/commands/oxe/validate-gaps.md +1 -1
  104. package/commands/oxe/verify.md +2 -2
  105. package/commands/oxe/workstream.md +1 -1
  106. package/lib/runtime/audit/audit-trail.d.ts +71 -0
  107. package/lib/runtime/audit/audit-trail.js +154 -0
  108. package/lib/runtime/audit/index.d.ts +2 -0
  109. package/lib/runtime/audit/index.js +18 -0
  110. package/lib/runtime/audit/policy-pack.d.ts +15 -0
  111. package/lib/runtime/audit/policy-pack.js +57 -0
  112. package/lib/runtime/compiler/graph-compiler.d.ts +83 -0
  113. package/lib/runtime/compiler/graph-compiler.js +135 -0
  114. package/lib/runtime/compiler/index.d.ts +1 -0
  115. package/lib/runtime/compiler/index.js +17 -0
  116. package/lib/runtime/context/context-pack-builder.d.ts +51 -0
  117. package/lib/runtime/context/context-pack-builder.js +178 -0
  118. package/lib/runtime/context/context-pack-store.d.ts +38 -0
  119. package/lib/runtime/context/context-pack-store.js +142 -0
  120. package/lib/runtime/context/context-profiles.d.ts +11 -0
  121. package/lib/runtime/context/context-profiles.js +51 -0
  122. package/lib/runtime/context/index.d.ts +3 -0
  123. package/lib/runtime/context/index.js +19 -0
  124. package/lib/runtime/decision/decision-engine.d.ts +43 -0
  125. package/lib/runtime/decision/decision-engine.js +127 -0
  126. package/lib/runtime/decision/decision-memo.d.ts +53 -0
  127. package/lib/runtime/decision/decision-memo.js +173 -0
  128. package/lib/runtime/decision/index.d.ts +2 -0
  129. package/lib/runtime/decision/index.js +18 -0
  130. package/lib/runtime/delivery/branch-manager.d.ts +19 -0
  131. package/lib/runtime/delivery/branch-manager.js +78 -0
  132. package/lib/runtime/delivery/ci-checks.d.ts +34 -0
  133. package/lib/runtime/delivery/ci-checks.js +209 -0
  134. package/lib/runtime/delivery/index.d.ts +4 -0
  135. package/lib/runtime/delivery/index.js +20 -0
  136. package/lib/runtime/delivery/pr-manager.d.ts +30 -0
  137. package/lib/runtime/delivery/pr-manager.js +82 -0
  138. package/lib/runtime/delivery/promotion-pipeline.d.ts +39 -0
  139. package/lib/runtime/delivery/promotion-pipeline.js +127 -0
  140. package/lib/runtime/events/bus.d.ts +9 -0
  141. package/lib/runtime/events/bus.js +63 -0
  142. package/lib/runtime/events/catalog.d.ts +3 -0
  143. package/lib/runtime/events/catalog.js +30 -0
  144. package/lib/runtime/events/envelope.d.ts +13 -0
  145. package/lib/runtime/events/envelope.js +2 -0
  146. package/lib/runtime/events/index.d.ts +3 -0
  147. package/lib/runtime/events/index.js +19 -0
  148. package/lib/runtime/evidence/evidence-store.d.ts +22 -0
  149. package/lib/runtime/evidence/evidence-store.js +106 -0
  150. package/lib/runtime/evidence/index.d.ts +1 -0
  151. package/lib/runtime/evidence/index.js +17 -0
  152. package/lib/runtime/gate/gate-manager.d.ts +39 -0
  153. package/lib/runtime/gate/gate-manager.js +104 -0
  154. package/lib/runtime/gate/index.d.ts +1 -0
  155. package/lib/runtime/gate/index.js +17 -0
  156. package/lib/runtime/index.d.ts +19 -0
  157. package/lib/runtime/index.js +44 -0
  158. package/lib/runtime/models/attempt.d.ts +12 -0
  159. package/lib/runtime/models/attempt.js +2 -0
  160. package/lib/runtime/models/evidence.d.ts +9 -0
  161. package/lib/runtime/models/evidence.js +2 -0
  162. package/lib/runtime/models/gate-decision.d.ts +10 -0
  163. package/lib/runtime/models/gate-decision.js +2 -0
  164. package/lib/runtime/models/index.d.ts +8 -0
  165. package/lib/runtime/models/index.js +24 -0
  166. package/lib/runtime/models/run.d.ts +13 -0
  167. package/lib/runtime/models/run.js +2 -0
  168. package/lib/runtime/models/session.d.ts +10 -0
  169. package/lib/runtime/models/session.js +2 -0
  170. package/lib/runtime/models/verification-result.d.ts +9 -0
  171. package/lib/runtime/models/verification-result.js +2 -0
  172. package/lib/runtime/models/work-item.d.ts +15 -0
  173. package/lib/runtime/models/work-item.js +2 -0
  174. package/lib/runtime/models/workspace.d.ts +25 -0
  175. package/lib/runtime/models/workspace.js +2 -0
  176. package/lib/runtime/plugins/capability-matrix.d.ts +20 -0
  177. package/lib/runtime/plugins/capability-matrix.js +59 -0
  178. package/lib/runtime/plugins/index.d.ts +4 -0
  179. package/lib/runtime/plugins/index.js +20 -0
  180. package/lib/runtime/plugins/plugin-abi.d.ts +76 -0
  181. package/lib/runtime/plugins/plugin-abi.js +2 -0
  182. package/lib/runtime/plugins/plugin-manifest.d.ts +22 -0
  183. package/lib/runtime/plugins/plugin-manifest.js +91 -0
  184. package/lib/runtime/plugins/plugin-registry.d.ts +21 -0
  185. package/lib/runtime/plugins/plugin-registry.js +119 -0
  186. package/lib/runtime/policy/index.d.ts +1 -0
  187. package/lib/runtime/policy/index.js +17 -0
  188. package/lib/runtime/policy/policy-engine.d.ts +67 -0
  189. package/lib/runtime/policy/policy-engine.js +171 -0
  190. package/lib/runtime/projection/index.d.ts +1 -0
  191. package/lib/runtime/projection/index.js +17 -0
  192. package/lib/runtime/projection/projection-engine.d.ts +11 -0
  193. package/lib/runtime/projection/projection-engine.js +218 -0
  194. package/lib/runtime/reducers/debug-reducer.d.ts +10 -0
  195. package/lib/runtime/reducers/debug-reducer.js +30 -0
  196. package/lib/runtime/reducers/index.d.ts +2 -0
  197. package/lib/runtime/reducers/index.js +18 -0
  198. package/lib/runtime/reducers/run-state-reducer.d.ts +46 -0
  199. package/lib/runtime/reducers/run-state-reducer.js +226 -0
  200. package/lib/runtime/scheduler/agent-registry.d.ts +44 -0
  201. package/lib/runtime/scheduler/agent-registry.js +96 -0
  202. package/lib/runtime/scheduler/agent-roles.d.ts +54 -0
  203. package/lib/runtime/scheduler/agent-roles.js +62 -0
  204. package/lib/runtime/scheduler/index.d.ts +4 -0
  205. package/lib/runtime/scheduler/index.js +20 -0
  206. package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +36 -0
  207. package/lib/runtime/scheduler/multi-agent-coordinator.js +253 -0
  208. package/lib/runtime/scheduler/run-journal.d.ts +18 -0
  209. package/lib/runtime/scheduler/run-journal.js +54 -0
  210. package/lib/runtime/scheduler/scheduler.d.ts +49 -0
  211. package/lib/runtime/scheduler/scheduler.js +324 -0
  212. package/lib/runtime/verification/index.d.ts +2 -0
  213. package/lib/runtime/verification/index.js +18 -0
  214. package/lib/runtime/verification/verification-compiler.d.ts +56 -0
  215. package/lib/runtime/verification/verification-compiler.js +147 -0
  216. package/lib/runtime/verification/verification-manifest.d.ts +58 -0
  217. package/lib/runtime/verification/verification-manifest.js +129 -0
  218. package/lib/runtime/workspace/index.d.ts +5 -0
  219. package/lib/runtime/workspace/index.js +24 -0
  220. package/lib/runtime/workspace/strategies/ephemeral-container.d.ts +22 -0
  221. package/lib/runtime/workspace/strategies/ephemeral-container.js +109 -0
  222. package/lib/runtime/workspace/strategies/git-worktree.d.ts +12 -0
  223. package/lib/runtime/workspace/strategies/git-worktree.js +79 -0
  224. package/lib/runtime/workspace/strategies/inplace.d.ts +10 -0
  225. package/lib/runtime/workspace/strategies/inplace.js +37 -0
  226. package/lib/runtime/workspace/workspace-manager.d.ts +13 -0
  227. package/lib/runtime/workspace/workspace-manager.js +2 -0
  228. package/lib/sdk/index.cjs +24 -7
  229. package/lib/sdk/index.d.ts +17 -7
  230. package/oxe/workflows/ask.md +4 -0
  231. package/oxe/workflows/checkpoint.md +14 -10
  232. package/oxe/workflows/debug.md +19 -15
  233. package/oxe/workflows/execute.md +30 -2
  234. package/oxe/workflows/forensics.md +13 -9
  235. package/oxe/workflows/help.md +97 -49
  236. package/oxe/workflows/loop.md +17 -13
  237. package/oxe/workflows/obs.md +4 -0
  238. package/oxe/workflows/oxe.md +64 -31
  239. package/oxe/workflows/project.md +6 -1
  240. package/oxe/workflows/references/workflow-runtime-contracts.json +23 -0
  241. package/oxe/workflows/research.md +32 -28
  242. package/oxe/workflows/retro.md +4 -0
  243. package/oxe/workflows/review-pr.md +15 -11
  244. package/oxe/workflows/scan.md +4 -0
  245. package/oxe/workflows/security.md +14 -10
  246. package/oxe/workflows/session.md +17 -1
  247. package/oxe/workflows/ship.md +142 -0
  248. package/oxe/workflows/spec.md +15 -0
  249. package/oxe/workflows/ui-review.md +20 -16
  250. package/oxe/workflows/ui-spec.md +7 -3
  251. package/oxe/workflows/validate-gaps.md +13 -9
  252. package/oxe/workflows/verify.md +42 -3
  253. package/package.json +9 -3
  254. package/packages/runtime/package.json +17 -0
  255. package/packages/runtime/src/audit/audit-trail.ts +243 -0
  256. package/packages/runtime/src/audit/index.ts +2 -0
  257. package/packages/runtime/src/audit/policy-pack.ts +62 -0
  258. package/packages/runtime/src/compiler/graph-compiler.ts +245 -0
  259. package/packages/runtime/src/compiler/index.ts +1 -0
  260. package/packages/runtime/src/context/context-pack-builder.ts +259 -0
  261. package/packages/runtime/src/context/context-pack-store.ts +197 -0
  262. package/packages/runtime/src/context/context-profiles.ts +60 -0
  263. package/packages/runtime/src/context/index.ts +3 -0
  264. package/packages/runtime/src/decision/decision-engine.ts +174 -0
  265. package/packages/runtime/src/decision/decision-memo.ts +211 -0
  266. package/packages/runtime/src/decision/index.ts +2 -0
  267. package/packages/runtime/src/delivery/branch-manager.ts +84 -0
  268. package/packages/runtime/src/delivery/ci-checks.ts +252 -0
  269. package/packages/runtime/src/delivery/index.ts +4 -0
  270. package/packages/runtime/src/delivery/pr-manager.ts +112 -0
  271. package/packages/runtime/src/delivery/promotion-pipeline.ts +180 -0
  272. package/packages/runtime/src/events/bus.ts +92 -0
  273. package/packages/runtime/src/events/catalog.ts +29 -0
  274. package/packages/runtime/src/events/envelope.ts +14 -0
  275. package/packages/runtime/src/events/index.ts +3 -0
  276. package/packages/runtime/src/evidence/evidence-store.ts +130 -0
  277. package/packages/runtime/src/evidence/index.ts +1 -0
  278. package/packages/runtime/src/gate/gate-manager.ts +137 -0
  279. package/packages/runtime/src/gate/index.ts +1 -0
  280. package/packages/runtime/src/index.ts +37 -0
  281. package/packages/runtime/src/models/attempt.ts +19 -0
  282. package/packages/runtime/src/models/evidence.ts +21 -0
  283. package/packages/runtime/src/models/gate-decision.ts +21 -0
  284. package/packages/runtime/src/models/index.ts +8 -0
  285. package/packages/runtime/src/models/run.ts +24 -0
  286. package/packages/runtime/src/models/session.ts +11 -0
  287. package/packages/runtime/src/models/verification-result.ts +10 -0
  288. package/packages/runtime/src/models/work-item.ts +25 -0
  289. package/packages/runtime/src/models/workspace.ts +28 -0
  290. package/packages/runtime/src/plugins/capability-matrix.ts +83 -0
  291. package/packages/runtime/src/plugins/index.ts +4 -0
  292. package/packages/runtime/src/plugins/plugin-abi.ts +95 -0
  293. package/packages/runtime/src/plugins/plugin-manifest.ts +113 -0
  294. package/packages/runtime/src/plugins/plugin-registry.ts +124 -0
  295. package/packages/runtime/src/policy/index.ts +1 -0
  296. package/packages/runtime/src/policy/policy-engine.ts +244 -0
  297. package/packages/runtime/src/projection/index.ts +1 -0
  298. package/packages/runtime/src/projection/projection-engine.ts +249 -0
  299. package/packages/runtime/src/reducers/debug-reducer.ts +36 -0
  300. package/packages/runtime/src/reducers/index.ts +2 -0
  301. package/packages/runtime/src/reducers/run-state-reducer.ts +269 -0
  302. package/packages/runtime/src/scheduler/agent-registry.ts +132 -0
  303. package/packages/runtime/src/scheduler/agent-roles.ts +109 -0
  304. package/packages/runtime/src/scheduler/index.ts +4 -0
  305. package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +333 -0
  306. package/packages/runtime/src/scheduler/run-journal.ts +62 -0
  307. package/packages/runtime/src/scheduler/scheduler.ts +441 -0
  308. package/packages/runtime/src/verification/index.ts +2 -0
  309. package/packages/runtime/src/verification/verification-compiler.ts +225 -0
  310. package/packages/runtime/src/verification/verification-manifest.ts +192 -0
  311. package/packages/runtime/src/workspace/index.ts +5 -0
  312. package/packages/runtime/src/workspace/strategies/ephemeral-container.ts +121 -0
  313. package/packages/runtime/src/workspace/strategies/git-worktree.ts +77 -0
  314. package/packages/runtime/src/workspace/strategies/inplace.ts +35 -0
  315. package/packages/runtime/src/workspace/workspace-manager.ts +15 -0
  316. package/packages/runtime/tsconfig.json +17 -0
  317. package/vscode-extension/oxe-agents-0.9.2.vsix +0 -0
  318. package/vscode-extension/oxe-agents-1.0.0.vsix +0 -0
  319. package/vscode-extension/package.json +1 -1
package/bin/oxe-cc.js CHANGED
@@ -2125,7 +2125,7 @@ ${green}Uso:${reset}
2125
2125
  npx oxe-cc init-oxe [opções] [pasta-do-projeto]
2126
2126
  npx oxe-cc context <build|inspect> [opções] [pasta-do-projeto]
2127
2127
  npx oxe-cc dashboard [opções] [pasta-do-projeto]
2128
- npx oxe-cc runtime <status|start|pause|resume|replay> [opções] [pasta-do-projeto]
2128
+ npx oxe-cc runtime <status|start|pause|resume|replay|compile|project|ci> [opções] [pasta-do-projeto]
2129
2129
  npx oxe-cc azure <status|doctor|auth|sync|find|servicebus|eventgrid|sql|operations> [opções] [pasta-do-projeto]
2130
2130
  npx oxe-cc capabilities <list|install|remove|update> [opções] [id]
2131
2131
  npx oxe-cc uninstall [opções] [pasta-do-projeto]
@@ -2167,18 +2167,24 @@ ${green}context${reset} (Context Engine V2: seleção, compressão e inspeção
2167
2167
  --json saída estruturada em JSON
2168
2168
  --dir <pasta> raiz do projeto (padrão: diretório atual)
2169
2169
 
2170
- ${green}runtime${reset} (controle operacional explícito do ACTIVE-RUN)
2171
- status mostra o run ativo resolvido para a sessão atual
2172
- start cria um novo run com tracing inicial
2173
- pause pausa o run ativo e preserva o cursor
2174
- resume retoma o run ativo
2175
- replay marca replay parcial por onda ou tarefa
2176
- --session <sessions/sNNN-slug> força sessão específica
2177
- --wave <número> fixa onda atual/cursor
2178
- --task <Tn> fixa tarefa atual/cursor
2179
- --mode <complete|wave|task> modo operacional do cursor
2180
- --reason <texto> motivo explícito da transição
2181
- --dir <pasta> raiz do projeto (padrão: diretório atual)
2170
+ ${green}runtime${reset} (controle operacional explícito do ACTIVE-RUN)
2171
+ status mostra o run ativo resolvido para a sessão atual
2172
+ start cria um novo run com tracing inicial
2173
+ pause pausa o run ativo e preserva o cursor
2174
+ resume retoma o run ativo
2175
+ replay marca replay parcial por onda ou tarefa
2176
+ compile compila PLAN/SPEC em ExecutionGraph formal + verification suite
2177
+ project projeta markdowns derivados do estado canônico
2178
+ ci executa checks do runtime e persiste o resultado na run
2179
+ --session <sessions/sNNN-slug> força sessão específica
2180
+ --wave <número> fixa onda atual/cursor
2181
+ --task <Tn> fixa tarefa atual/cursor
2182
+ --mode <complete|wave|task> modo operacional do cursor
2183
+ --reason <texto> motivo explícito da transição
2184
+ --run <run_id> (replay|ci) filtra um run específico
2185
+ --from <event_id> (replay) começa em um event_id específico
2186
+ --write (replay) gera REPLAY-SESSION.md
2187
+ --dir <pasta> raiz do projeto (padrão: diretório atual)
2182
2188
 
2183
2189
  ${green}azure${reset} (provider Azure nativo via Azure CLI no Windows)
2184
2190
  status estado compacto: CLI, login, subscription, inventário, pendências
@@ -3707,11 +3713,11 @@ async function runDashboard(opts) {
3707
3713
  /**
3708
3714
  * @param {RuntimeOpts} opts
3709
3715
  */
3710
- function runRuntime(opts) {
3711
- const c = useAnsiColors();
3712
- printSection('OXE ▸ runtime');
3713
- if (!fs.existsSync(opts.dir)) {
3714
- console.error(`${yellow}Diretório não encontrado: ${opts.dir}${reset}`);
3716
+ async function runRuntime(opts) {
3717
+ const c = useAnsiColors();
3718
+ printSection('OXE ▸ runtime');
3719
+ if (!fs.existsSync(opts.dir)) {
3720
+ console.error(`${yellow}Diretório não encontrado: ${opts.dir}${reset}`);
3715
3721
  process.exit(1);
3716
3722
  }
3717
3723
  bootstrapOxe(opts.dir, { dryRun: false, force: false });
@@ -3722,20 +3728,32 @@ function runRuntime(opts) {
3722
3728
  console.log(` ${c ? green : ''}Projeto:${c ? reset : ''} ${c ? cyan : ''}${opts.dir}${c ? reset : ''}`);
3723
3729
  console.log(` ${c ? green : ''}Sessão:${c ? reset : ''} ${c ? cyan : ''}${activeSession || 'modo legado'}${c ? reset : ''}`);
3724
3730
 
3725
- if (opts.action === 'status') {
3726
- const current = oxeOperational.readRunState(opts.dir, activeSession);
3727
- if (!current) {
3728
- console.log(` ${yellow}Nenhum ACTIVE-RUN encontrado.${reset}`);
3729
- return;
3730
- }
3731
- console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${current.run_id}`);
3732
- console.log(` ${c ? green : ''}Estado:${c ? reset : ''} ${current.status}`);
3733
- console.log(` ${c ? green : ''}Cursor:${c ? reset : ''} onda=${current.cursor && current.cursor.wave != null ? current.cursor.wave : '—'} tarefa=${current.cursor && current.cursor.task ? current.cursor.task : '—'} modo=${current.cursor && current.cursor.mode ? current.cursor.mode : '—'}`);
3734
- console.log(` ${c ? green : ''}Arquivo:${c ? reset : ''} ${path.join(p.runsDir, `${current.run_id}.json`)}`);
3735
- return;
3736
- }
3737
-
3738
- if (opts.action === 'replay' && !opts.task) {
3731
+ if (opts.action === 'status') {
3732
+ const current = oxeOperational.readRunState(opts.dir, activeSession);
3733
+ if (!current) {
3734
+ console.log(` ${yellow}Nenhum ACTIVE-RUN encontrado.${reset}`);
3735
+ return;
3736
+ }
3737
+ console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${current.run_id}`);
3738
+ console.log(` ${c ? green : ''}Estado:${c ? reset : ''} ${current.status}`);
3739
+ console.log(` ${c ? green : ''}Cursor:${c ? reset : ''} onda=${current.cursor && current.cursor.wave != null ? current.cursor.wave : '—'} tarefa=${current.cursor && current.cursor.task ? current.cursor.task : '—'} modo=${current.cursor && current.cursor.mode ? current.cursor.mode : '—'}`);
3740
+ console.log(` ${c ? green : ''}Arquivo:${c ? reset : ''} ${path.join(p.runsDir, `${current.run_id}.json`)}`);
3741
+ if (current.compiled_graph && current.compiled_graph.metadata) {
3742
+ console.log(` ${c ? green : ''}Graph:${c ? reset : ''} ${current.compiled_graph.metadata.node_count || 0} nós · ${current.compiled_graph.metadata.wave_count || 0} ondas`);
3743
+ }
3744
+ if (current.canonical_state && current.canonical_state.summary) {
3745
+ console.log(` ${c ? green : ''}Canonical:${c ? reset : ''} work_items=${current.canonical_state.summary.work_item_count || 0} · attempts=${current.canonical_state.summary.attempt_count || 0}`);
3746
+ }
3747
+ if (current.ci_checks && current.ci_checks.summary) {
3748
+ console.log(` ${c ? green : ''}CI:${c ? reset : ''} pass=${current.ci_checks.summary.pass || 0} fail=${current.ci_checks.summary.fail || 0} skip=${current.ci_checks.summary.skip || 0} error=${current.ci_checks.summary.error || 0}`);
3749
+ }
3750
+ if (current.projections && current.projections.generated_at) {
3751
+ console.log(` ${c ? green : ''}Projection:${c ? reset : ''} ${current.projections.generated_at}`);
3752
+ }
3753
+ return;
3754
+ }
3755
+
3756
+ if (opts.action === 'replay' && !opts.task) {
3739
3757
  const report = oxeOperational.replayEvents(opts.dir, activeSession, {
3740
3758
  runId: opts.runId || undefined,
3741
3759
  fromEventId: opts.fromEventId || undefined,
@@ -3747,34 +3765,97 @@ function runRuntime(opts) {
3747
3765
  console.log(` ${c ? green : ''}Ondas:${c ? reset : ''} ${report.waveIds.join(', ') || '—'}`);
3748
3766
  console.log(` ${c ? green : ''}Tarefas:${c ? reset : ''} ${report.taskSequence.join(', ') || '—'}`);
3749
3767
  console.log(` ${c ? green : ''}Falhas:${c ? reset : ''} ${report.failureEvents.length}`);
3750
- if (report.totalEvents > 0) {
3751
- console.log('');
3752
- const dim = c ? '\x1b[2m' : '';
3753
- console.log(` ${dim}# Tipo Wave Task Delta Timestamp${c ? reset : ''}`);
3754
- for (let i = 0; i < Math.min(report.events.length, 50); i++) {
3755
- const e = report.events[i];
3756
- const delta = i > 0 ? `+${(e._delta_ms / 1000).toFixed(1)}s` : '—';
3757
- const num = String(i + 1).padStart(3);
3758
- const type = String(e.type).padEnd(22).slice(0, 22);
3759
- const wave = String(e.wave_id || '—').padEnd(7).slice(0, 7);
3760
- const task = String(e.task_id || '—').padEnd(7).slice(0, 7);
3761
- const deltaStr = delta.padStart(10);
3762
- console.log(` ${num} ${type} ${wave} ${task} ${deltaStr} ${e.timestamp}`);
3763
- }
3768
+ if (report.totalEvents > 0) {
3769
+ console.log('');
3770
+ const dim = c ? '\x1b[2m' : '';
3771
+ console.log(` ${dim}# Tipo Wave Task Delta Timestamp${c ? reset : ''}`);
3772
+ for (let i = 0; i < Math.min(report.events.length, 50); i++) {
3773
+ const e = report.events[i];
3774
+ const delta = i > 0 ? `+${(e._delta_ms / 1000).toFixed(1)}s` : '—';
3775
+ const num = String(i + 1).padStart(3);
3776
+ const type = String(e.type).padEnd(22).slice(0, 22);
3777
+ const wave = String(e.wave_id || '—').padEnd(7).slice(0, 7);
3778
+ const task = String(e.task_id || e.work_item_id || '—').padEnd(7).slice(0, 7);
3779
+ const deltaStr = delta.padStart(10);
3780
+ console.log(` ${num} ${type} ${wave} ${task} ${deltaStr} ${e.timestamp}`);
3781
+ }
3764
3782
  if (report.events.length > 50) {
3765
3783
  console.log(` … (${report.events.length - 50} mais)`);
3766
3784
  }
3767
3785
  }
3768
3786
  if (report._reportPath) {
3769
3787
  console.log(`\n ${c ? green : ''}Relatório:${c ? reset : ''} ${report._reportPath}`);
3770
- }
3771
- return;
3772
- }
3773
-
3774
- try {
3775
- const next = oxeOperational.applyRuntimeAction(opts.dir, activeSession, {
3776
- action: opts.action,
3777
- wave: opts.wave,
3788
+ }
3789
+ return;
3790
+ }
3791
+
3792
+ if (opts.action === 'compile') {
3793
+ try {
3794
+ const compiled = oxeOperational.compileExecutionGraphFromArtifacts(opts.dir, activeSession);
3795
+ const suite = oxeOperational.compileVerificationSuiteFromArtifacts(opts.dir, activeSession, {
3796
+ runState: compiled.run,
3797
+ });
3798
+ console.log(` ${c ? green : ''}✓${c ? reset : ''} Runtime compilado.`);
3799
+ console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${compiled.run.run_id}`);
3800
+ console.log(` ${c ? green : ''}Graph:${c ? reset : ''} ${compiled.graph.metadata.node_count} nó(s) · ${compiled.graph.metadata.wave_count} onda(s)`);
3801
+ console.log(` ${c ? green : ''}Checks:${c ? reset : ''} ${Array.isArray(suite.suite.checks) ? suite.suite.checks.length : 0}`);
3802
+ if (compiled.validationErrors.length) {
3803
+ console.log(` ${yellow}Validation:${reset} ${compiled.validationErrors.join(' | ')}`);
3804
+ }
3805
+ console.log(` ${c ? green : ''}Arquivo:${c ? reset : ''} ${path.join(p.runsDir, `${compiled.run.run_id}.json`)}`);
3806
+ return;
3807
+ } catch (err) {
3808
+ console.error(`${red}${err && err.message ? err.message : 'Falha ao compilar o runtime.'}${reset}`);
3809
+ process.exit(1);
3810
+ }
3811
+ }
3812
+
3813
+ if (opts.action === 'project') {
3814
+ try {
3815
+ const projected = oxeOperational.projectRuntimeArtifacts(opts.dir, activeSession, { write: true });
3816
+ console.log(` ${c ? green : ''}✓${c ? reset : ''} Projeções geradas a partir do estado canônico.`);
3817
+ console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${projected.run.run_id}`);
3818
+ console.log(` ${c ? green : ''}STATE:${c ? reset : ''} ${projected.paths.state}`);
3819
+ console.log(` ${c ? green : ''}PLAN:${c ? reset : ''} ${projected.paths.plan}`);
3820
+ console.log(` ${c ? green : ''}VERIFY:${c ? reset : ''} ${projected.paths.verify}`);
3821
+ console.log(` ${c ? green : ''}RUN-SUMMARY:${c ? reset : ''} ${projected.paths.runSummary}`);
3822
+ console.log(` ${c ? green : ''}PR-SUMMARY:${c ? reset : ''} ${projected.paths.prSummary}`);
3823
+ return;
3824
+ } catch (err) {
3825
+ console.error(`${red}${err && err.message ? err.message : 'Falha ao projetar artefatos do runtime.'}${reset}`);
3826
+ process.exit(1);
3827
+ }
3828
+ }
3829
+
3830
+ if (opts.action === 'ci') {
3831
+ try {
3832
+ const report = await oxeOperational.runRuntimeCiChecks(opts.dir, activeSession, {
3833
+ runId: opts.runId || undefined,
3834
+ });
3835
+ console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${report.runId || '—'}`);
3836
+ for (const result of report.results) {
3837
+ const color = result.status === 'pass'
3838
+ ? green
3839
+ : result.status === 'skip'
3840
+ ? dim
3841
+ : red;
3842
+ console.log(` ${c ? color : ''}${result.status.toUpperCase()}${c ? reset : ''} ${result.check} · ${result.message}`);
3843
+ }
3844
+ console.log(` ${c ? green : ''}Resumo:${c ? reset : ''} pass=${report.summary.pass} fail=${report.summary.fail} skip=${report.summary.skip} error=${report.summary.error}`);
3845
+ if (!report.summary.allPassed) {
3846
+ process.exitCode = 1;
3847
+ }
3848
+ return;
3849
+ } catch (err) {
3850
+ console.error(`${red}${err && err.message ? err.message : 'Falha ao executar checks do runtime.'}${reset}`);
3851
+ process.exit(1);
3852
+ }
3853
+ }
3854
+
3855
+ try {
3856
+ const next = oxeOperational.applyRuntimeAction(opts.dir, activeSession, {
3857
+ action: opts.action,
3858
+ wave: opts.wave,
3778
3859
  task: opts.task || null,
3779
3860
  mode: opts.mode || null,
3780
3861
  reason: opts.reason || '',
@@ -4427,9 +4508,12 @@ async function main() {
4427
4508
  console.error(`${yellow}Diretório não encontrado: ${runtime.dir}${reset}`);
4428
4509
  process.exit(1);
4429
4510
  }
4430
- runRuntime(runtime);
4431
- return;
4432
- }
4511
+ runRuntime(runtime).catch((err) => {
4512
+ console.error(`${red}${err && err.message ? err.message : 'Falha ao executar runtime.'}${reset}`);
4513
+ process.exit(1);
4514
+ });
4515
+ return;
4516
+ }
4433
4517
 
4434
4518
  if (command === 'plugins') {
4435
4519
  printBanner();
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:ask
3
- description: "Perguntar ao OXE sobre a situação atual com leitura robusta de STATE, sessão ativa e artefatos da trilha"
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe. Use: /oxe 'sua pergunta' Perguntar ao OXE sobre a situação atual"
4
4
  argument-hint: "[pergunta em texto livre]"
5
5
  allowed-tools:
6
6
  - Read
@@ -42,6 +42,10 @@ oxe_semantics_hash: b3f89121879267f9
42
42
 
43
43
  <!-- oxe-reasoning-contract:end -->
44
44
 
45
+ > **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe`.
46
+ > Use: `/oxe "sua pergunta"` para perguntas situacionais.
47
+ > Este alias continuará funcionando nesta versão por compatibilidade.
48
+
45
49
  **Workflow canónico:** `oxe/workflows/ask.md`
46
50
 
47
51
  Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa o texto em `$ARGUMENTS` como pergunta e foco.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:checkpoint
3
- description: OXE Marco em .oxe/checkpoints/ + CHECKPOINTS.md
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --checkpoint '<nome>'"
4
4
  argument-hint: "<slug> [nota]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:compact
3
- description: OXE refresh codebase vs repo + CODEBASE-DELTA + RESUME (rotina de projeto)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --refresh para refresh incremental do codebase"
4
4
  oxe_workflow_slug: compact
5
5
  oxe_reasoning_mode: discovery
6
6
  oxe_question_policy: explore_first
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:debug
3
- description: OXE Debug técnico durante execute (.oxe/DEBUG.md)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --debug"
4
4
  argument-hint: "[Tn ou erro/stack]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: oxe:execute
3
- description: "Executar plano (solo ou com agentes): escolha Completo (1 sessão) | Por onda | Por tarefa — controle explícito de requisições"
4
- argument-hint: "[A=completo | B=por-onda | C=por-tarefa | onda N | Tn]"
3
+ description: "Executar plano A/B/C. Flags: --note (obs), --debug, --deep-diagnosis, --checkpoint '<nome>', --iterative"
4
+ argument-hint: "[A|B|C | --note 'texto' | --debug | --deep-diagnosis | --checkpoint '<nome>' | --iterative]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Bash
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:forensics
3
- description: OXE Forensics pós-falha (.oxe/FORENSICS.md + próximo passo scan/plan/execute)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --deep-diagnosis"
4
4
  argument-hint: "[sintoma opcional]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:loop
3
- description: OXE Execução iterativa de onda com retries automáticos e diagnóstico inline
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --iterative"
4
4
  argument-hint: "onda <N> [max:<tentativas>]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:milestone
3
- description: "Marcos de entrega (M-NN) new, complete (arquiva SPEC/PLAN/VERIFY em .oxe/milestones/M-NN/), status, audit"
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-session. Use: /oxe-session milestone new|complete|status|audit"
4
4
  argument-hint: "new <nome> | complete | status | audit"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:next
3
- description: STATE.md e indica o próximo comando OXE lógico
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe. Use: /oxe (sem argumento) para o próximo passo"
4
4
  argument-hint: ""
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:obs
3
- description: "Observação contextual registra em .oxe/OBSERVATIONS.md, incorporada automaticamente no próximo spec/plan/execute sem re-explicar"
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --note 'sua observação'"
4
4
  argument-hint: "[observação: restrição, descoberta, preferência, risco ou decisão]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: oxe
3
- description: OXE — Entrada universal: próximo passo, roteamento de linguagem natural ou help dos 8 comandos essenciais
4
- argument-hint: "[contexto | 'help' | vazio]"
3
+ description: OXE — Entrada universal: próximo passo, perguntas situacionais, roteamento ou help da trilha principal (6 comandos)
4
+ argument-hint: "[contexto | 'help' | 'sua pergunta' | vazio]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Bash
@@ -46,4 +46,4 @@ oxe_semantics_hash: d7f65cd3f77b0abc
46
46
 
47
47
  **Workflow canônico:** `oxe/workflows/oxe.md`
48
48
 
49
- Execute integralmente esse ficheiro. `$ARGUMENTS`: vazio → próximo passo; texto → roteamento inteligente; "help" 8 comandos essenciais.
49
+ Execute integralmente esse ficheiro. `$ARGUMENTS`: vazio → próximo passo; "help" → trilha principal (6 comandos + 2 avançados); pergunta situacional → situação atual com base nos artefatos; texto de ação → roteamento inteligente para o workflow correto.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:project
3
- description: OXE Gestão de projeto: milestone (M-NN), workstream (trilhas paralelas), checkpoint (snapshot)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-session. Use: /oxe-session milestone|workstream. Checkpoint via /oxe-execute --checkpoint"
4
4
  argument-hint: "milestone new|complete|status|audit | workstream new|switch|list|close <nome> | checkpoint [slug]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:research
3
- description: OXE Pesquisa exploratória (notas datadas em .oxe/research/ + RESEARCH.md)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --research ou /oxe-spec --deep"
4
4
  argument-hint: "[âmbito: spike, mapa sistema, reversa, modernização, …]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:retro
3
- description: OXE Retrospectiva de ciclo: sintetiza lições prescritivas em .oxe/LESSONS.md (alimenta ciclos futuros automaticamente)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify (retro automática). Use: /oxe-verify (ou --skip-retro para desativar)"
4
4
  argument-hint: "[opcional: contexto sobre o ciclo]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:review-pr
3
- description: OXE Revisão de diff/PR: analisa alterações, riscos, convenções e sugestões acionáveis
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify. Use: /oxe-verify --pr ou /oxe-verify --diff branchA...branchB"
4
4
  argument-hint: "<URL do PR ou branch:base..head>"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:route
3
- description: OXE Router linguagem natural um comando/workflow
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe. Use: /oxe 'sua intenção em linguagem natural'"
4
4
  argument-hint: "[frase do utilizador]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:scan
3
- description: Escaneia o repositório e gera mapa em .oxe/codebase/ + STATE.md
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --refresh (incremental) ou /oxe-spec --full (completo)"
4
4
  argument-hint: "[área opcional, ex. auth, api]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:security
3
- description: OXE — Auditoria de segurança OWASP (.oxe/SECURITY.md): P0 crítico / P1 alto / P2 médio
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify. Use: /oxe-verify --security"
4
4
  argument-hint: "[opcional: categoria OWASP, módulo ou arquivo]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: oxe:session
3
- description: "Gerir sessões OXE: new, list, switch, resume, status, close, migrate"
4
- argument-hint: "[new <nome> | list | switch <id> | resume <id> | status | close | migrate <nome>]"
3
+ description: "Gerir sessões, milestones e workstreams OXE (absorve /oxe-project, /oxe-milestone, /oxe-workstream)"
4
+ argument-hint: "[new <nome> | list | switch <id> | close | migrate <nome> | milestone new|status|audit | workstream new|switch|list]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Bash
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: oxe:ship
3
+ description: "OXE — Entregar: cria commit local com mensagem gerada de SPEC+PLAN+VERIFY. Flags: --message, --amend, --verify-first, --dry-run"
4
+ argument-hint: "[--message 'mensagem'] [--amend] [--verify-first] [--no-checks] [--dry-run]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Write
11
+ - Task
12
+ oxe_workflow_slug: ship
13
+ oxe_reasoning_mode: execution
14
+ oxe_question_policy: ask_high_impact_only
15
+ oxe_output_contract: execution
16
+ oxe_tool_profile: write_bounded
17
+ oxe_confidence_policy: explicit
18
+ oxe_context_tier: standard
19
+ oxe_contract_version: 2.0.0
20
+ oxe_semantics_hash: 3893740934e4f82b
21
+ ---
22
+
23
+ <!-- oxe-reasoning-contract:start -->
24
+
25
+ **Contrato de raciocínio OXE deste comando**
26
+ - **Workflow:** ship
27
+ - **Modo:** execução
28
+ - **Perguntas:** perguntar só alto impacto
29
+ - **Saída esperada:** execução
30
+ - **Perfil de ferramentas:** mutação limitada
31
+ - **Política de confiança:** explícita
32
+ - **Tier de contexto padrão:** padrão
33
+ - **Versão do contrato:** 2.0.0
34
+ - **Checksum semântico:** `3893740934e4f82b`
35
+ - **Entrada de contexto prioritária:** `.oxe/context/packs/ship.md` e `.oxe/context/packs/ship.json`
36
+ - **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
37
+ - **Inspeção estruturada:** `oxe-cc context inspect --workflow ship --json`
38
+ - Fazer reconhecimento curto antes de editar ou executar mutações.
39
+ - Trabalhar no menor write set viável e validar após cada fatia relevante.
40
+ - Parar e explicitar o bloqueio quando houver hipótese crítica não verificada.
41
+ - **Seções esperadas:** Contexto lido · Alvo da mudança · Validação executada · Resultado · Próximo passo
42
+ - **Bloqueios formais:** missing:verify_without_override · missing:tracked_changes
43
+ - **Referência canónica:** `oxe/workflows/references/reasoning-execution.md`
44
+
45
+ <!-- oxe-reasoning-contract:end -->
46
+
47
+ **Workflow canônico:** `oxe/workflows/ship.md`
48
+
49
+ Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa `$ARGUMENTS` como flags de entrega (`--message`, `--amend`, `--verify-first`, `--no-checks`, `--dry-run`).
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: oxe:spec
3
- description: "Spec em 5 fases: perguntas pesquisa requisitos R-ID (v1/v2/fora) roteiro ROADMAP.md → aprovação → plan"
4
- argument-hint: "[descrição da feature, ideia ou @arquivo.md com PRD]"
3
+ description: "Spec em 5 fases. Flags: --refresh (scan incremental), --full (scan completo), --research (spike), --ui (gera UI-SPEC)"
4
+ argument-hint: "[descrição da feature | --refresh | --full | --research | --ui]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:ui-review
3
- description: OXE Auditoria UI (.oxe/UI-REVIEW.md)
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify. Use: /oxe-verify --ui"
4
4
  argument-hint: "[paths ou Tn opcional]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:ui-spec
3
- description: OXE Contrato UI (.oxe/UI-SPEC.md) a partir da SPEC
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --ui para gerar contrato UI/UX"
4
4
  argument-hint: "[âmbito UI opcional]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:validate-gaps
3
- description: OXE Auditoria Nyquist-lite (.oxe/VALIDATION-GAPS.md) após verify
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify. Use: /oxe-verify --gaps"
4
4
  argument-hint: "[opcional: Tn ou A*]"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: oxe:verify
3
- description: Valida implementação contra SPEC e PLAN; produz checklist e gaps
4
- argument-hint: "[Tn opcional focar uma tarefa]"
3
+ description: "Valida e fecha o ciclo (retro automática). Flags: --gaps, --security, --ui, --pr, --diff, --skip-retro"
4
+ argument-hint: "[Tn | --gaps | --security | --ui | --pr | --diff branchA...branchB | --skip-retro]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oxe:workstream
3
- description: "Trilhas paralelas list, new <nome>, switch <nome>, status, close <nome> — artefatos independentes em .oxe/workstreams/<nome>/"
3
+ description: "[DEPRECATED v1.1.0] Incorporado por /oxe-session. Use: /oxe-session workstream list|new|switch|close"
4
4
  argument-hint: "list | new <nome> | switch <nome> | status | close <nome>"
5
5
  allowed-tools:
6
6
  - Read
@@ -0,0 +1,71 @@
1
+ export interface AuditQueryFilter {
2
+ action?: AuditAction;
3
+ severity?: AuditSeverity;
4
+ runId?: string;
5
+ since?: string;
6
+ }
7
+ export interface RemoteAuditSink {
8
+ write(entry: AuditEntry): Promise<void>;
9
+ query(filter: AuditQueryFilter): Promise<AuditEntry[]>;
10
+ }
11
+ export interface AuditMetrics {
12
+ total_entries: number;
13
+ critical_count: number;
14
+ warn_count: number;
15
+ by_action: Partial<Record<AuditAction, number>>;
16
+ actors: string[];
17
+ oldest: string | null;
18
+ newest: string | null;
19
+ }
20
+ export type AuditAction = 'run_started' | 'run_completed' | 'run_paused' | 'run_recovered' | 'gate_requested' | 'gate_resolved' | 'policy_denied' | 'plugin_registered' | 'plugin_invoked' | 'secret_accessed' | 'infra_mutation' | 'pr_created' | 'merge_approved' | 'merge_blocked';
21
+ export type AuditSeverity = 'info' | 'warn' | 'critical';
22
+ export interface AuditEntry {
23
+ audit_id: string;
24
+ action: AuditAction;
25
+ severity: AuditSeverity;
26
+ run_id: string | null;
27
+ work_item_id: string | null;
28
+ actor: string;
29
+ resource: string | null;
30
+ detail: Record<string, unknown>;
31
+ timestamp: string;
32
+ }
33
+ export interface RunQuota {
34
+ run_id: string;
35
+ max_work_items: number;
36
+ max_mutations: number;
37
+ max_retries_total: number;
38
+ consumed_work_items: number;
39
+ consumed_mutations: number;
40
+ consumed_retries: number;
41
+ }
42
+ export interface QuotaViolation {
43
+ quota_type: 'work_items' | 'mutations' | 'retries';
44
+ limit: number;
45
+ consumed: number;
46
+ }
47
+ export declare class AuditTrail {
48
+ private readonly projectRoot;
49
+ private readonly remoteSink?;
50
+ constructor(projectRoot: string, remoteSink?: RemoteAuditSink | undefined);
51
+ record(action: AuditAction, actor: string, options?: {
52
+ runId?: string;
53
+ workItemId?: string;
54
+ resource?: string;
55
+ detail?: Record<string, unknown>;
56
+ }): AuditEntry;
57
+ query(filter?: {
58
+ action?: AuditAction;
59
+ severity?: AuditSeverity;
60
+ runId?: string;
61
+ since?: string;
62
+ }): AuditEntry[];
63
+ critical(): AuditEntry[];
64
+ metrics(): AuditMetrics;
65
+ private append;
66
+ private load;
67
+ private trailPath;
68
+ }
69
+ export declare function createQuota(runId: string, limits?: Partial<Omit<RunQuota, 'run_id' | 'consumed_work_items' | 'consumed_mutations' | 'consumed_retries'>>): RunQuota;
70
+ export declare function checkQuota(quota: RunQuota): QuotaViolation | null;
71
+ export declare function consumeQuota(quota: RunQuota, type: QuotaViolation['quota_type'], amount?: number): RunQuota;