oxe-cc 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/.cursor/commands/oxe-ask.md +2 -2
  2. package/.cursor/commands/oxe-capabilities.md +2 -2
  3. package/.cursor/commands/oxe-checkpoint.md +2 -2
  4. package/.cursor/commands/oxe-compact.md +2 -2
  5. package/.cursor/commands/oxe-dashboard.md +2 -2
  6. package/.cursor/commands/oxe-debug.md +2 -2
  7. package/.cursor/commands/oxe-discuss.md +2 -2
  8. package/.cursor/commands/oxe-execute.md +5 -2
  9. package/.cursor/commands/oxe-forensics.md +2 -2
  10. package/.cursor/commands/oxe-help.md +2 -2
  11. package/.cursor/commands/oxe-loop.md +2 -2
  12. package/.cursor/commands/oxe-milestone.md +2 -2
  13. package/.cursor/commands/oxe-next.md +2 -2
  14. package/.cursor/commands/oxe-obs.md +2 -2
  15. package/.cursor/commands/oxe-plan-agent.md +2 -2
  16. package/.cursor/commands/oxe-plan.md +2 -2
  17. package/.cursor/commands/oxe-project.md +2 -2
  18. package/.cursor/commands/oxe-quick.md +2 -2
  19. package/.cursor/commands/oxe-research.md +2 -2
  20. package/.cursor/commands/oxe-retro.md +2 -2
  21. package/.cursor/commands/oxe-review-pr.md +2 -2
  22. package/.cursor/commands/oxe-route.md +2 -2
  23. package/.cursor/commands/oxe-scan.md +2 -2
  24. package/.cursor/commands/oxe-security.md +2 -2
  25. package/.cursor/commands/oxe-session.md +2 -2
  26. package/.cursor/commands/oxe-ship.md +2 -2
  27. package/.cursor/commands/oxe-skill.md +2 -2
  28. package/.cursor/commands/oxe-spec.md +2 -2
  29. package/.cursor/commands/oxe-ui-review.md +2 -2
  30. package/.cursor/commands/oxe-ui-spec.md +2 -2
  31. package/.cursor/commands/oxe-update.md +2 -2
  32. package/.cursor/commands/oxe-validate-gaps.md +2 -2
  33. package/.cursor/commands/oxe-verify.md +5 -2
  34. package/.cursor/commands/oxe-workstream.md +2 -2
  35. package/.cursor/commands/oxe.md +2 -2
  36. package/.github/copilot-instructions.md +13 -13
  37. package/.github/prompts/oxe-ask.prompt.md +2 -2
  38. package/.github/prompts/oxe-capabilities.prompt.md +2 -2
  39. package/.github/prompts/oxe-checkpoint.prompt.md +2 -2
  40. package/.github/prompts/oxe-compact.prompt.md +2 -2
  41. package/.github/prompts/oxe-dashboard.prompt.md +2 -2
  42. package/.github/prompts/oxe-debug.prompt.md +2 -2
  43. package/.github/prompts/oxe-discuss.prompt.md +2 -2
  44. package/.github/prompts/oxe-execute.prompt.md +5 -2
  45. package/.github/prompts/oxe-forensics.prompt.md +2 -2
  46. package/.github/prompts/oxe-help.prompt.md +2 -2
  47. package/.github/prompts/oxe-loop.prompt.md +2 -2
  48. package/.github/prompts/oxe-milestone.prompt.md +2 -2
  49. package/.github/prompts/oxe-next.prompt.md +2 -2
  50. package/.github/prompts/oxe-obs.prompt.md +2 -2
  51. package/.github/prompts/oxe-plan-agent.prompt.md +2 -2
  52. package/.github/prompts/oxe-plan.prompt.md +2 -2
  53. package/.github/prompts/oxe-project.prompt.md +2 -2
  54. package/.github/prompts/oxe-quick.prompt.md +2 -2
  55. package/.github/prompts/oxe-research.prompt.md +2 -2
  56. package/.github/prompts/oxe-retro.prompt.md +2 -2
  57. package/.github/prompts/oxe-review-pr.prompt.md +2 -2
  58. package/.github/prompts/oxe-route.prompt.md +2 -2
  59. package/.github/prompts/oxe-scan.prompt.md +2 -2
  60. package/.github/prompts/oxe-security.prompt.md +2 -2
  61. package/.github/prompts/oxe-session.prompt.md +2 -2
  62. package/.github/prompts/oxe-ship.prompt.md +2 -2
  63. package/.github/prompts/oxe-skill.prompt.md +2 -2
  64. package/.github/prompts/oxe-spec.prompt.md +2 -2
  65. package/.github/prompts/oxe-ui-review.prompt.md +2 -2
  66. package/.github/prompts/oxe-ui-spec.prompt.md +2 -2
  67. package/.github/prompts/oxe-update.prompt.md +2 -2
  68. package/.github/prompts/oxe-validate-gaps.prompt.md +2 -2
  69. package/.github/prompts/oxe-verify.prompt.md +5 -2
  70. package/.github/prompts/oxe-workstream.prompt.md +2 -2
  71. package/.github/prompts/oxe.prompt.md +2 -2
  72. package/CHANGELOG.md +52 -17
  73. package/README.md +610 -551
  74. package/bin/banner.txt +1 -1
  75. package/bin/lib/oxe-agent-install.cjs +69 -69
  76. package/bin/lib/oxe-azure.cjs +1445 -1445
  77. package/bin/lib/oxe-context-engine.cjs +867 -867
  78. package/bin/lib/oxe-dashboard.cjs +76 -28
  79. package/bin/lib/oxe-operational.cjs +2144 -1340
  80. package/bin/lib/oxe-project-health.cjs +483 -1
  81. package/bin/lib/oxe-runtime-semantics.cjs +12 -0
  82. package/bin/oxe-cc.js +554 -152
  83. package/commands/oxe/ask.md +2 -2
  84. package/commands/oxe/capabilities.md +2 -2
  85. package/commands/oxe/checkpoint.md +2 -2
  86. package/commands/oxe/compact.md +2 -2
  87. package/commands/oxe/dashboard.md +2 -2
  88. package/commands/oxe/debug.md +2 -2
  89. package/commands/oxe/discuss.md +2 -2
  90. package/commands/oxe/execute.md +5 -2
  91. package/commands/oxe/forensics.md +2 -2
  92. package/commands/oxe/help.md +2 -2
  93. package/commands/oxe/loop.md +2 -2
  94. package/commands/oxe/milestone.md +2 -2
  95. package/commands/oxe/next.md +2 -2
  96. package/commands/oxe/obs.md +2 -2
  97. package/commands/oxe/oxe.md +2 -2
  98. package/commands/oxe/plan-agent.md +2 -2
  99. package/commands/oxe/plan.md +2 -2
  100. package/commands/oxe/project.md +2 -2
  101. package/commands/oxe/quick.md +2 -2
  102. package/commands/oxe/research.md +2 -2
  103. package/commands/oxe/retro.md +2 -2
  104. package/commands/oxe/review-pr.md +2 -2
  105. package/commands/oxe/route.md +2 -2
  106. package/commands/oxe/scan.md +2 -2
  107. package/commands/oxe/security.md +2 -2
  108. package/commands/oxe/session.md +2 -2
  109. package/commands/oxe/ship.md +2 -2
  110. package/commands/oxe/skill.md +2 -2
  111. package/commands/oxe/spec.md +2 -2
  112. package/commands/oxe/ui-review.md +2 -2
  113. package/commands/oxe/ui-spec.md +2 -2
  114. package/commands/oxe/update.md +2 -2
  115. package/commands/oxe/validate-gaps.md +2 -2
  116. package/commands/oxe/verify.md +5 -2
  117. package/commands/oxe/workstream.md +2 -2
  118. package/lib/runtime/delivery/branch-manager.d.ts +1 -0
  119. package/lib/runtime/delivery/branch-manager.js +7 -0
  120. package/lib/runtime/delivery/ci-checks.js +34 -1
  121. package/lib/runtime/delivery/delivery-records.d.ts +34 -0
  122. package/lib/runtime/delivery/delivery-records.js +48 -0
  123. package/lib/runtime/delivery/index.d.ts +1 -0
  124. package/lib/runtime/delivery/index.js +1 -0
  125. package/lib/runtime/delivery/promotion-pipeline.d.ts +26 -2
  126. package/lib/runtime/delivery/promotion-pipeline.js +111 -14
  127. package/lib/runtime/gate/gate-manager.d.ts +41 -0
  128. package/lib/runtime/gate/gate-manager.js +108 -1
  129. package/lib/runtime/index.d.ts +2 -2
  130. package/lib/runtime/index.js +3 -1
  131. package/lib/runtime/models/gate-decision.d.ts +4 -1
  132. package/lib/runtime/models/workspace.d.ts +3 -0
  133. package/lib/runtime/plugins/capability-adapter.d.ts +12 -0
  134. package/lib/runtime/plugins/capability-adapter.js +204 -0
  135. package/lib/runtime/plugins/capability-matrix.d.ts +5 -0
  136. package/lib/runtime/plugins/capability-matrix.js +48 -17
  137. package/lib/runtime/plugins/index.d.ts +1 -0
  138. package/lib/runtime/plugins/index.js +1 -0
  139. package/lib/runtime/plugins/plugin-abi.d.ts +2 -0
  140. package/lib/runtime/plugins/plugin-manifest.d.ts +1 -1
  141. package/lib/runtime/plugins/plugin-manifest.js +6 -2
  142. package/lib/runtime/plugins/plugin-registry.d.ts +46 -0
  143. package/lib/runtime/plugins/plugin-registry.js +79 -2
  144. package/lib/runtime/policy/policy-engine.d.ts +19 -0
  145. package/lib/runtime/policy/policy-engine.js +76 -4
  146. package/lib/runtime/projection/projection-engine.d.ts +9 -1
  147. package/lib/runtime/projection/projection-engine.js +73 -3
  148. package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +43 -1
  149. package/lib/runtime/scheduler/multi-agent-coordinator.js +151 -39
  150. package/lib/runtime/scheduler/run-journal.d.ts +1 -1
  151. package/lib/runtime/scheduler/scheduler.d.ts +19 -1
  152. package/lib/runtime/scheduler/scheduler.js +258 -13
  153. package/lib/runtime/verification/verification-compiler.d.ts +43 -0
  154. package/lib/runtime/verification/verification-compiler.js +137 -0
  155. package/lib/runtime/verification/verification-manifest.d.ts +9 -0
  156. package/lib/runtime/verification/verification-manifest.js +56 -6
  157. package/lib/runtime/workspace/strategies/ephemeral-container.d.ts +1 -0
  158. package/lib/runtime/workspace/strategies/ephemeral-container.js +4 -0
  159. package/lib/runtime/workspace/strategies/git-worktree.d.ts +1 -0
  160. package/lib/runtime/workspace/strategies/git-worktree.js +2 -0
  161. package/lib/runtime/workspace/strategies/inplace.d.ts +1 -0
  162. package/lib/runtime/workspace/strategies/inplace.js +2 -0
  163. package/lib/runtime/workspace/workspace-manager.d.ts +2 -1
  164. package/lib/sdk/README.md +9 -9
  165. package/lib/sdk/index.cjs +33 -24
  166. package/lib/sdk/index.d.ts +149 -14
  167. package/oxe/templates/ACTIVE-RUN.template.json +32 -32
  168. package/oxe/templates/CAPABILITIES.template.md +7 -7
  169. package/oxe/templates/CAPABILITY.template.md +45 -45
  170. package/oxe/templates/CHECKPOINTS.template.md +7 -7
  171. package/oxe/templates/EXECUTION-RUNTIME.template.md +68 -68
  172. package/oxe/templates/HYPOTHESES.template.md +33 -33
  173. package/oxe/templates/LESSONS-METRICS.template.json +13 -13
  174. package/oxe/templates/NOTES.template.md +16 -16
  175. package/oxe/templates/PLAN-REVIEW.template.md +31 -31
  176. package/oxe/templates/SESSION.template.md +34 -34
  177. package/oxe/templates/SKILL.template.md +26 -26
  178. package/oxe/templates/STATE.md +55 -55
  179. package/oxe/templates/WORKFLOW_AUTHORING.md +18 -18
  180. package/oxe/workflows/ask.md +96 -96
  181. package/oxe/workflows/capabilities.md +25 -25
  182. package/oxe/workflows/dashboard.md +33 -33
  183. package/oxe/workflows/discuss.md +12 -12
  184. package/oxe/workflows/execute.md +14 -0
  185. package/oxe/workflows/help.md +352 -352
  186. package/oxe/workflows/next.md +22 -22
  187. package/oxe/workflows/oxe.md +6 -6
  188. package/oxe/workflows/plan-agent.md +9 -9
  189. package/oxe/workflows/quick.md +10 -10
  190. package/oxe/workflows/references/reasoning-discovery.md +28 -28
  191. package/oxe/workflows/references/reasoning-execution.md +29 -29
  192. package/oxe/workflows/references/reasoning-planning.md +32 -32
  193. package/oxe/workflows/references/reasoning-review.md +29 -29
  194. package/oxe/workflows/references/reasoning-status.md +24 -24
  195. package/oxe/workflows/references/robustness-elevation.md +295 -295
  196. package/oxe/workflows/references/workflow-runtime-contracts.json +952 -930
  197. package/oxe/workflows/route.md +16 -16
  198. package/oxe/workflows/session.md +213 -213
  199. package/oxe/workflows/ship.md +142 -142
  200. package/oxe/workflows/skill.md +44 -44
  201. package/oxe/workflows/ui-review.md +36 -36
  202. package/oxe/workflows/verify-audit.md +73 -73
  203. package/oxe/workflows/verify.md +10 -0
  204. package/package.json +92 -92
  205. package/packages/runtime/package.json +17 -17
  206. package/packages/runtime/src/audit/audit-trail.ts +243 -243
  207. package/packages/runtime/src/audit/index.ts +2 -2
  208. package/packages/runtime/src/audit/policy-pack.ts +62 -62
  209. package/packages/runtime/src/compiler/graph-compiler.ts +245 -245
  210. package/packages/runtime/src/compiler/index.ts +1 -1
  211. package/packages/runtime/src/context/context-pack-builder.ts +259 -259
  212. package/packages/runtime/src/context/context-pack-store.ts +197 -197
  213. package/packages/runtime/src/context/context-profiles.ts +60 -60
  214. package/packages/runtime/src/context/index.ts +3 -3
  215. package/packages/runtime/src/decision/decision-engine.ts +174 -174
  216. package/packages/runtime/src/decision/decision-memo.ts +211 -211
  217. package/packages/runtime/src/decision/index.ts +2 -2
  218. package/packages/runtime/src/delivery/branch-manager.ts +91 -84
  219. package/packages/runtime/src/delivery/ci-checks.ts +285 -252
  220. package/packages/runtime/src/delivery/delivery-records.ts +75 -0
  221. package/packages/runtime/src/delivery/index.ts +5 -4
  222. package/packages/runtime/src/delivery/pr-manager.ts +112 -112
  223. package/packages/runtime/src/delivery/promotion-pipeline.ts +334 -180
  224. package/packages/runtime/src/events/bus.ts +92 -92
  225. package/packages/runtime/src/events/catalog.ts +29 -29
  226. package/packages/runtime/src/events/envelope.ts +14 -14
  227. package/packages/runtime/src/events/index.ts +3 -3
  228. package/packages/runtime/src/evidence/evidence-store.ts +130 -130
  229. package/packages/runtime/src/evidence/index.ts +1 -1
  230. package/packages/runtime/src/gate/gate-manager.ts +289 -137
  231. package/packages/runtime/src/gate/index.ts +1 -1
  232. package/packages/runtime/src/index.ts +41 -37
  233. package/packages/runtime/src/models/attempt.ts +19 -19
  234. package/packages/runtime/src/models/evidence.ts +21 -21
  235. package/packages/runtime/src/models/gate-decision.ts +25 -21
  236. package/packages/runtime/src/models/index.ts +8 -8
  237. package/packages/runtime/src/models/run.ts +24 -24
  238. package/packages/runtime/src/models/session.ts +11 -11
  239. package/packages/runtime/src/models/verification-result.ts +10 -10
  240. package/packages/runtime/src/models/work-item.ts +25 -25
  241. package/packages/runtime/src/models/workspace.ts +31 -28
  242. package/packages/runtime/src/plugins/capability-adapter.ts +206 -0
  243. package/packages/runtime/src/plugins/capability-matrix.ts +126 -83
  244. package/packages/runtime/src/plugins/index.ts +5 -4
  245. package/packages/runtime/src/plugins/plugin-abi.ts +97 -95
  246. package/packages/runtime/src/plugins/plugin-manifest.ts +118 -113
  247. package/packages/runtime/src/plugins/plugin-registry.ts +232 -124
  248. package/packages/runtime/src/policy/index.ts +1 -1
  249. package/packages/runtime/src/policy/policy-engine.ts +330 -244
  250. package/packages/runtime/src/projection/index.ts +1 -1
  251. package/packages/runtime/src/projection/projection-engine.ts +328 -249
  252. package/packages/runtime/src/reducers/debug-reducer.ts +36 -36
  253. package/packages/runtime/src/reducers/index.ts +2 -2
  254. package/packages/runtime/src/reducers/run-state-reducer.ts +269 -269
  255. package/packages/runtime/src/scheduler/agent-registry.ts +132 -132
  256. package/packages/runtime/src/scheduler/agent-roles.ts +109 -109
  257. package/packages/runtime/src/scheduler/index.ts +4 -4
  258. package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +521 -333
  259. package/packages/runtime/src/scheduler/run-journal.ts +62 -62
  260. package/packages/runtime/src/scheduler/scheduler.ts +722 -441
  261. package/packages/runtime/src/verification/index.ts +2 -2
  262. package/packages/runtime/src/verification/verification-compiler.ts +436 -225
  263. package/packages/runtime/src/verification/verification-manifest.ts +252 -192
  264. package/packages/runtime/src/workspace/index.ts +5 -5
  265. package/packages/runtime/src/workspace/strategies/ephemeral-container.ts +126 -121
  266. package/packages/runtime/src/workspace/strategies/git-worktree.ts +79 -77
  267. package/packages/runtime/src/workspace/strategies/inplace.ts +38 -35
  268. package/packages/runtime/src/workspace/workspace-manager.ts +16 -15
  269. package/packages/runtime/tsconfig.json +17 -17
  270. package/vscode-extension/.vscodeignore +7 -7
  271. package/vscode-extension/oxe-agents-1.0.0.vsix +0 -0
  272. package/vscode-extension/package.json +185 -185
  273. package/vscode-extension/src/extension.js +310 -310
  274. package/vscode-extension/src/shared/contextLoader.js +137 -137
  275. package/vscode-extension/src/shared/contractBuilder.js +159 -159
  276. package/vscode-extension/src/shared/stateReader.js +101 -101
@@ -1,142 +1,142 @@
1
- # OXE — Workflow: ship (entrega / commit)
2
-
3
- <objective>
4
- Criar um commit local a partir do trabalho verificado — gerando a mensagem de commit a partir de `SPEC.md`, `PLAN.md` e `VERIFY.md` e chamando `git commit`.
5
-
6
- Fecha o ciclo de desenvolvimento com um commit limpo, rastreável e alinhado aos artefatos OXE.
7
- </objective>
8
-
9
- <flags>
10
- - `--message "mensagem"` — sobrescreve a mensagem de commit gerada automaticamente.
11
- - `--amend` — usa `git commit --amend` em vez de criar um commit novo.
12
- - `--verify-first` — rodar `/oxe-verify` antes de criar o PR se VERIFY ainda não passou.
13
- - `--no-checks` — pular checagem de verify (commitar mesmo sem verify completo — gera aviso).
14
- - `--dry-run` — mostrar a mensagem de commit e o comando `git commit` sem commitar.
15
- </flags>
16
-
17
- <context>
18
- - Ship requer que `VERIFY.md` exista e indique aprovação, OU que o usuário confirme explicitamente com `--no-checks`.
19
- - A mensagem de commit é gerada a partir dos artefatos OXE — não a partir do histórico git cru.
20
- - Salvar o rascunho da mensagem em `.oxe/commit-draft.md`.
21
- - Salvar referência do commit em `.oxe/commit-record.json` após commitar.
22
- - Se houver alterações não relacionadas no worktree, pausar e pedir confirmação antes de stagear tudo.
23
- </context>
24
-
25
- <process>
26
-
27
- ### Step 1 — Pré-voo
28
-
29
- 1. Ler `.oxe/STATE.md` e sessão ativa (se houver).
30
- 2. Verificar branch atual: `git branch --show-current`.
31
- 3. Verificar status do verify:
32
- - Existe `VERIFY.md` e está aprovado? → continuar.
33
- - Existe `VERIFY.md` mas tem falhas? → avisar. Se `--no-checks`, continuar. Se não, sugerir `/oxe-verify` primeiro.
34
- - Não existe `VERIFY.md`? → se `--verify-first`, executar `oxe/workflows/verify.md` antes de continuar. Caso contrário: bloquear a entrega e orientar `/oxe-verify` ou `--no-checks`.
35
-
36
- 4. Verificar worktree (`git status --short`):
37
- - Se não houver mudanças staged ou unstaged: informar que não há nada para commitar e encerrar.
38
- - Se houver mudanças fora do escopo planejado: avisar e pedir confirmação antes de prosseguir.
39
-
40
- ### Step 2 — Gerar mensagem de commit
41
-
42
- Ler os artefatos disponíveis nesta ordem de prioridade:
43
- 1. `SPEC.md` (ou `QUICK.md` se for quick task) → objetivo / resumo curto
44
- 2. `PLAN.md` → tarefas concluídas / ondas fechadas
45
- 3. `VERIFY.md` → checks passados, evidências, riscos residuais
46
- 4. `CONCERNS.md` ou `SUMMARY.md` → notas adicionais se houver
47
-
48
- Template da mensagem:
49
- ```markdown
50
- feat: <descrição concisa em <= 72 chars>
51
-
52
- <Resumo de 1-2 parágrafos derivado de SPEC/QUICK e PLAN>
53
-
54
- Validation:
55
- - <check 1>
56
- - <check 2>
57
-
58
- ---
59
- OXE: spec-driven workflow
60
- ```
61
-
62
- Gerar também uma variante `fix:` ou `refactor:` quando os artefatos indicarem esse tipo de mudança. Se `--message` existir, usá-la como título e manter o corpo gerado abaixo.
63
-
64
- Salvar a mensagem em `.oxe/commit-draft.md`.
65
-
66
- ### Step 3 — Stage e commit
67
-
68
- 1. Fazer stage explícito:
69
- - padrão: `git add -A`
70
- - se houver arquivos claramente fora do escopo, parar e confirmar antes
71
- 2. Executar:
72
- - commit novo:
73
- ```bash
74
- git commit -F .oxe/commit-draft.md
75
- ```
76
- - amend:
77
- ```bash
78
- git commit --amend -F .oxe/commit-draft.md
79
- ```
80
-
81
- Salvar em `.oxe/commit-record.json`:
82
- ```json
83
- {
84
- "commit_sha": "<sha>",
85
- "subject": "...",
86
- "amend": false,
87
- "committed_at": "ISO",
88
- "branch": "...",
89
- "verify_status": "passed|skipped|failed_with_override"
90
- }
91
- ```
92
-
93
- Se `git commit` falhar por hooks, conflitos ou falta de stage válido:
94
- - registrar o erro
95
- - não apagar `.oxe/commit-draft.md`
96
- - reportar o bloqueio com o comando falhado
97
-
98
- ### Step 4 — Saída final
99
-
100
- **Sucesso:**
101
- ```
102
- ✓ Commit criado: [sha-curto]
103
- Branch: [current]
104
- Mensagem: [subject]
105
- Próximo: push manual, revisão de diff ou /oxe-session milestone (se for a última feature do ciclo)
106
- ```
107
-
108
- **Dry-run:**
109
- ```
110
- [dry-run] Commit não criado. Mensagem gerada em .oxe/commit-draft.md
111
- Comando para commitar: git commit -F .oxe/commit-draft.md
112
- ```
113
-
114
- **Falha / bloqueio:**
115
- ```
116
- Commit não realizado. Rascunho mantido em .oxe/commit-draft.md
117
- Resolva o bloqueio (verify, stage, hook ou conflito) e rode /oxe-ship novamente.
118
- ```
119
- </process>
120
-
121
- <message_generation>
122
- ## Geração automática da mensagem
123
-
124
- O subject é gerado a partir de `SPEC.md` (primeira linha de objetivo) ou de `QUICK.md` (primeira tarefa):
125
-
126
- Formato padrão: `feat: [descrição concisa da feature em ≤ 72 chars]`
127
-
128
- Exemplos:
129
- - `feat: add OAuth2 login with Google provider`
130
- - `fix: resolve race condition in payment processor`
131
- - `refactor: extract auth middleware to standalone module`
132
-
133
- Se houver ticket/issue referenciado na SPEC: `feat(AUTH-123): add OAuth2 login`
134
- </message_generation>
135
-
136
- <success_criteria>
137
- - [ ] Commit criado (ou dry-run mostrou a mensagem e o comando).
138
- - [ ] `.oxe/commit-record.json` atualizado com SHA e subject.
139
- - [ ] Mensagem de commit inclui resumo derivado de SPEC/QUICK, mudanças de PLAN e validação de VERIFY.
140
- - [ ] Se VERIFY não passou: só continuou com `--no-checks`, com aviso explícito.
141
- - [ ] Sugeriu próximo passo (push, revisão de diff ou milestone).
142
- </success_criteria>
1
+ # OXE — Workflow: ship (entrega / commit)
2
+
3
+ <objective>
4
+ Criar um commit local a partir do trabalho verificado — gerando a mensagem de commit a partir de `SPEC.md`, `PLAN.md` e `VERIFY.md` e chamando `git commit`.
5
+
6
+ Fecha o ciclo de desenvolvimento com um commit limpo, rastreável e alinhado aos artefatos OXE.
7
+ </objective>
8
+
9
+ <flags>
10
+ - `--message "mensagem"` — sobrescreve a mensagem de commit gerada automaticamente.
11
+ - `--amend` — usa `git commit --amend` em vez de criar um commit novo.
12
+ - `--verify-first` — rodar `/oxe-verify` antes de criar o PR se VERIFY ainda não passou.
13
+ - `--no-checks` — pular checagem de verify (commitar mesmo sem verify completo — gera aviso).
14
+ - `--dry-run` — mostrar a mensagem de commit e o comando `git commit` sem commitar.
15
+ </flags>
16
+
17
+ <context>
18
+ - Ship requer que `VERIFY.md` exista e indique aprovação, OU que o usuário confirme explicitamente com `--no-checks`.
19
+ - A mensagem de commit é gerada a partir dos artefatos OXE — não a partir do histórico git cru.
20
+ - Salvar o rascunho da mensagem em `.oxe/commit-draft.md`.
21
+ - Salvar referência do commit em `.oxe/commit-record.json` após commitar.
22
+ - Se houver alterações não relacionadas no worktree, pausar e pedir confirmação antes de stagear tudo.
23
+ </context>
24
+
25
+ <process>
26
+
27
+ ### Step 1 — Pré-voo
28
+
29
+ 1. Ler `.oxe/STATE.md` e sessão ativa (se houver).
30
+ 2. Verificar branch atual: `git branch --show-current`.
31
+ 3. Verificar status do verify:
32
+ - Existe `VERIFY.md` e está aprovado? → continuar.
33
+ - Existe `VERIFY.md` mas tem falhas? → avisar. Se `--no-checks`, continuar. Se não, sugerir `/oxe-verify` primeiro.
34
+ - Não existe `VERIFY.md`? → se `--verify-first`, executar `oxe/workflows/verify.md` antes de continuar. Caso contrário: bloquear a entrega e orientar `/oxe-verify` ou `--no-checks`.
35
+
36
+ 4. Verificar worktree (`git status --short`):
37
+ - Se não houver mudanças staged ou unstaged: informar que não há nada para commitar e encerrar.
38
+ - Se houver mudanças fora do escopo planejado: avisar e pedir confirmação antes de prosseguir.
39
+
40
+ ### Step 2 — Gerar mensagem de commit
41
+
42
+ Ler os artefatos disponíveis nesta ordem de prioridade:
43
+ 1. `SPEC.md` (ou `QUICK.md` se for quick task) → objetivo / resumo curto
44
+ 2. `PLAN.md` → tarefas concluídas / ondas fechadas
45
+ 3. `VERIFY.md` → checks passados, evidências, riscos residuais
46
+ 4. `CONCERNS.md` ou `SUMMARY.md` → notas adicionais se houver
47
+
48
+ Template da mensagem:
49
+ ```markdown
50
+ feat: <descrição concisa em <= 72 chars>
51
+
52
+ <Resumo de 1-2 parágrafos derivado de SPEC/QUICK e PLAN>
53
+
54
+ Validation:
55
+ - <check 1>
56
+ - <check 2>
57
+
58
+ ---
59
+ OXE: spec-driven workflow
60
+ ```
61
+
62
+ Gerar também uma variante `fix:` ou `refactor:` quando os artefatos indicarem esse tipo de mudança. Se `--message` existir, usá-la como título e manter o corpo gerado abaixo.
63
+
64
+ Salvar a mensagem em `.oxe/commit-draft.md`.
65
+
66
+ ### Step 3 — Stage e commit
67
+
68
+ 1. Fazer stage explícito:
69
+ - padrão: `git add -A`
70
+ - se houver arquivos claramente fora do escopo, parar e confirmar antes
71
+ 2. Executar:
72
+ - commit novo:
73
+ ```bash
74
+ git commit -F .oxe/commit-draft.md
75
+ ```
76
+ - amend:
77
+ ```bash
78
+ git commit --amend -F .oxe/commit-draft.md
79
+ ```
80
+
81
+ Salvar em `.oxe/commit-record.json`:
82
+ ```json
83
+ {
84
+ "commit_sha": "<sha>",
85
+ "subject": "...",
86
+ "amend": false,
87
+ "committed_at": "ISO",
88
+ "branch": "...",
89
+ "verify_status": "passed|skipped|failed_with_override"
90
+ }
91
+ ```
92
+
93
+ Se `git commit` falhar por hooks, conflitos ou falta de stage válido:
94
+ - registrar o erro
95
+ - não apagar `.oxe/commit-draft.md`
96
+ - reportar o bloqueio com o comando falhado
97
+
98
+ ### Step 4 — Saída final
99
+
100
+ **Sucesso:**
101
+ ```
102
+ ✓ Commit criado: [sha-curto]
103
+ Branch: [current]
104
+ Mensagem: [subject]
105
+ Próximo: push manual, revisão de diff ou /oxe-session milestone (se for a última feature do ciclo)
106
+ ```
107
+
108
+ **Dry-run:**
109
+ ```
110
+ [dry-run] Commit não criado. Mensagem gerada em .oxe/commit-draft.md
111
+ Comando para commitar: git commit -F .oxe/commit-draft.md
112
+ ```
113
+
114
+ **Falha / bloqueio:**
115
+ ```
116
+ Commit não realizado. Rascunho mantido em .oxe/commit-draft.md
117
+ Resolva o bloqueio (verify, stage, hook ou conflito) e rode /oxe-ship novamente.
118
+ ```
119
+ </process>
120
+
121
+ <message_generation>
122
+ ## Geração automática da mensagem
123
+
124
+ O subject é gerado a partir de `SPEC.md` (primeira linha de objetivo) ou de `QUICK.md` (primeira tarefa):
125
+
126
+ Formato padrão: `feat: [descrição concisa da feature em ≤ 72 chars]`
127
+
128
+ Exemplos:
129
+ - `feat: add OAuth2 login with Google provider`
130
+ - `fix: resolve race condition in payment processor`
131
+ - `refactor: extract auth middleware to standalone module`
132
+
133
+ Se houver ticket/issue referenciado na SPEC: `feat(AUTH-123): add OAuth2 login`
134
+ </message_generation>
135
+
136
+ <success_criteria>
137
+ - [ ] Commit criado (ou dry-run mostrou a mensagem e o comando).
138
+ - [ ] `.oxe/commit-record.json` atualizado com SHA e subject.
139
+ - [ ] Mensagem de commit inclui resumo derivado de SPEC/QUICK, mudanças de PLAN e validação de VERIFY.
140
+ - [ ] Se VERIFY não passou: só continuou com `--no-checks`, com aviso explícito.
141
+ - [ ] Sugeriu próximo passo (push, revisão de diff ou milestone).
142
+ </success_criteria>
@@ -1,44 +1,44 @@
1
- # OXE — Workflow: skill
2
-
3
- <objective>
4
- Descobrir, invocar e gerenciar **skills** — wrappers de invocação que unificam personas (comportamento LLM) e capabilities (ferramentas executáveis) num único ponto de entrada via `@<skill-id>`.
5
-
6
- Subcomandos:
7
- - `list`
8
- - `explain <id>`
9
- - `new <id>`
10
- - `@<id>` (invocação inline)
11
- </objective>
12
-
13
- <context>
14
- - **Skills globais** vivem em `oxe/personas/` (type: persona) — 8 roles builtin do pacote: `executor`, `planner`, `verifier`, `researcher`, `debugger`, `architect`, `ui-specialist`, `db-specialist`. Invocáveis via `@executor`, `@researcher`, etc.
15
- - **Skills de projeto** vivem em `.oxe/skills/<id>/SKILL.md` com frontmatter OXE. Têm prioridade sobre globais quando IDs colidem.
16
- - **Capabilities como skills:** capabilities em `.oxe/capabilities/<id>/` que tenham `SKILL.md` próprio também aparecem como skills de projeto.
17
- - **Resolução:** project (`.oxe/skills/`) → capabilities (`.oxe/capabilities/`) → global (`oxe/personas/`). Primeiro match vence.
18
- - Template: `oxe/templates/SKILL.template.md`
19
- </context>
20
-
21
- <process>
22
- 1. **`list`** — Enumerar skills disponíveis em três camadas:
23
- - Ler `oxe/personas/*.md` no pacote (globais, type persona)
24
- - Ler `.oxe/skills/*/SKILL.md` se existir (projeto)
25
- - Ler `.oxe/capabilities/*/SKILL.md` se existir (capabilities com manifest de skill)
26
- - Apresentar tabela: `ID | Type | Scope | Invoke | Descrição`
27
- 2. **`explain <id>`** — Resolver o skill pelo ID (project → capabilities → global), exibir frontmatter + seção Descrição + Saída esperada. Se não encontrar, listar skills disponíveis.
28
- 3. **`new <id>`** — Criar `.oxe/skills/<id>/SKILL.md` a partir de `SKILL.template.md`. Solicitar ao utilizador: `name`, `type` (persona/capability/composite), `description`. Se o ID já existir, informar e oferecer `explain <id>`.
29
- 4. **`@<id>` (inline)** — Quando o chat mencionar `@skill-id`:
30
- - Resolver o skill pela ordem: project → capabilities → global
31
- - Para type `persona`: ler e adotar o conteúdo da persona referenciada (princípios, ativação, saída esperada)
32
- - Para type `capability`: ler manifesto da capability e orientar uso conforme `approval_policy`
33
- - Para type `composite`: carregar ambas as referências em `references[]`
34
- - Se não encontrado: listar skills disponíveis e pedir correção
35
- 5. Atualizar `.oxe/STATE.md` apenas se o utilizador pedir registo explícito: `last_skill_invoked: @<id> — YYYY-MM-DD`.
36
- </process>
37
-
38
- <success_criteria>
39
- - [ ] `@<id>` resolve para exatamente um skill sem ambiguidade.
40
- - [ ] Skills de projeto têm prioridade sobre globais quando IDs colidem.
41
- - [ ] Nenhum artefato de SPEC/PLAN foi criado ou alterado por este passo.
42
- - [ ] `list` mostra skills de todas as três camadas com escopo identificado.
43
- </success_criteria>
44
- </output>
1
+ # OXE — Workflow: skill
2
+
3
+ <objective>
4
+ Descobrir, invocar e gerenciar **skills** — wrappers de invocação que unificam personas (comportamento LLM) e capabilities (ferramentas executáveis) num único ponto de entrada via `@<skill-id>`.
5
+
6
+ Subcomandos:
7
+ - `list`
8
+ - `explain <id>`
9
+ - `new <id>`
10
+ - `@<id>` (invocação inline)
11
+ </objective>
12
+
13
+ <context>
14
+ - **Skills globais** vivem em `oxe/personas/` (type: persona) — 8 roles builtin do pacote: `executor`, `planner`, `verifier`, `researcher`, `debugger`, `architect`, `ui-specialist`, `db-specialist`. Invocáveis via `@executor`, `@researcher`, etc.
15
+ - **Skills de projeto** vivem em `.oxe/skills/<id>/SKILL.md` com frontmatter OXE. Têm prioridade sobre globais quando IDs colidem.
16
+ - **Capabilities como skills:** capabilities em `.oxe/capabilities/<id>/` que tenham `SKILL.md` próprio também aparecem como skills de projeto.
17
+ - **Resolução:** project (`.oxe/skills/`) → capabilities (`.oxe/capabilities/`) → global (`oxe/personas/`). Primeiro match vence.
18
+ - Template: `oxe/templates/SKILL.template.md`
19
+ </context>
20
+
21
+ <process>
22
+ 1. **`list`** — Enumerar skills disponíveis em três camadas:
23
+ - Ler `oxe/personas/*.md` no pacote (globais, type persona)
24
+ - Ler `.oxe/skills/*/SKILL.md` se existir (projeto)
25
+ - Ler `.oxe/capabilities/*/SKILL.md` se existir (capabilities com manifest de skill)
26
+ - Apresentar tabela: `ID | Type | Scope | Invoke | Descrição`
27
+ 2. **`explain <id>`** — Resolver o skill pelo ID (project → capabilities → global), exibir frontmatter + seção Descrição + Saída esperada. Se não encontrar, listar skills disponíveis.
28
+ 3. **`new <id>`** — Criar `.oxe/skills/<id>/SKILL.md` a partir de `SKILL.template.md`. Solicitar ao utilizador: `name`, `type` (persona/capability/composite), `description`. Se o ID já existir, informar e oferecer `explain <id>`.
29
+ 4. **`@<id>` (inline)** — Quando o chat mencionar `@skill-id`:
30
+ - Resolver o skill pela ordem: project → capabilities → global
31
+ - Para type `persona`: ler e adotar o conteúdo da persona referenciada (princípios, ativação, saída esperada)
32
+ - Para type `capability`: ler manifesto da capability e orientar uso conforme `approval_policy`
33
+ - Para type `composite`: carregar ambas as referências em `references[]`
34
+ - Se não encontrado: listar skills disponíveis e pedir correção
35
+ 5. Atualizar `.oxe/STATE.md` apenas se o utilizador pedir registo explícito: `last_skill_invoked: @<id> — YYYY-MM-DD`.
36
+ </process>
37
+
38
+ <success_criteria>
39
+ - [ ] `@<id>` resolve para exatamente um skill sem ambiguidade.
40
+ - [ ] Skills de projeto têm prioridade sobre globais quando IDs colidem.
41
+ - [ ] Nenhum artefato de SPEC/PLAN foi criado ou alterado por este passo.
42
+ - [ ] `list` mostra skills de todas as três camadas com escopo identificado.
43
+ </success_criteria>
44
+ </output>
@@ -1,36 +1,36 @@
1
- # OXE — Workflow: ui-review
2
-
3
- > **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe-verify`.
4
- > Use: `/oxe-verify --ui` para incluir auditoria de implementação UI.
5
- > Este alias continuará funcionando nesta versão por compatibilidade.
6
-
7
- <objective>
8
- Produzir **`.oxe/UI-REVIEW.md`**: auditoria da implementação UI face a **`.oxe/UI-SPEC.md`** (e critérios **A*** da SPEC quando tocarem UI), tipicamente **após** trabalho de implementação e **antes** ou **como entrada** para **`verify`**.
9
-
10
- Não substitui **`verify`**: cruza contrato UI; o verify global continua a amarrar PLAN + SPEC + evidência técnica.
11
- </objective>
12
-
13
- <context>
14
- - Aplicar `oxe/workflows/references/reasoning-review.md`. A revisão UI deve começar pelos achados e bloqueios, não por resumo.
15
- - Se não existir `UI-SPEC.md`, pedir **`/oxe-ui-spec`** primeiro ou documentar em UI-REVIEW que a revisão é **ad hoc** (menos preferível).
16
- - Incluir checklist curta (ex.: pilares: semântica, foco, contraste, mensagens de erro, mobile).
17
- - **Bloqueios P0** (ex.: inacessível, fluxo quebrado) devem ser listados explicitamente; P1/P2 como melhorias.
18
- </context>
19
-
20
- <process>
21
- 1. Resolver `active_session` conforme `session-path-resolution.md`; ler `UI-SPEC.md` e `SPEC.md` do escopo resolvido e inspecionar ficheiros de UI relevantes (paths do PLAN ou indicados pelo utilizador).
22
- 2. Escrever **`UI-REVIEW.md`** no escopo de `verification/` da sessão ativa (ou `.oxe/` legado) com: **Data**, **Âmbito revisto**, **Checklist** (passou / falhou / N/A), **Bloqueios**, **Sugestões**.
23
- 3. Atualizar **`.oxe/STATE.md`** global se útil (referência a UI-REVIEW pendente de verify).
24
- 4. Indicar no chat nesta ordem:
25
- - **Findings**
26
- - **Perguntas abertas**
27
- - **Riscos residuais**
28
- - **Resumo**
29
- Se há P0 → próximo passo típico **`/oxe-execute`** (correções); senão **`/oxe-verify`** para fecho global.
30
- </process>
31
-
32
- <success_criteria>
33
- - [ ] `UI-REVIEW.md` referencia secções do `UI-SPEC.md` quando existir.
34
- - [ ] Bloqueios P0 são explícitos ou declarado que não há.
35
- - [ ] Fica claro que **`/oxe-verify`** ainda é necessário para a trilha.
36
- </success_criteria>
1
+ # OXE — Workflow: ui-review
2
+
3
+ > **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe-verify`.
4
+ > Use: `/oxe-verify --ui` para incluir auditoria de implementação UI.
5
+ > Este alias continuará funcionando nesta versão por compatibilidade.
6
+
7
+ <objective>
8
+ Produzir **`.oxe/UI-REVIEW.md`**: auditoria da implementação UI face a **`.oxe/UI-SPEC.md`** (e critérios **A*** da SPEC quando tocarem UI), tipicamente **após** trabalho de implementação e **antes** ou **como entrada** para **`verify`**.
9
+
10
+ Não substitui **`verify`**: cruza contrato UI; o verify global continua a amarrar PLAN + SPEC + evidência técnica.
11
+ </objective>
12
+
13
+ <context>
14
+ - Aplicar `oxe/workflows/references/reasoning-review.md`. A revisão UI deve começar pelos achados e bloqueios, não por resumo.
15
+ - Se não existir `UI-SPEC.md`, pedir **`/oxe-ui-spec`** primeiro ou documentar em UI-REVIEW que a revisão é **ad hoc** (menos preferível).
16
+ - Incluir checklist curta (ex.: pilares: semântica, foco, contraste, mensagens de erro, mobile).
17
+ - **Bloqueios P0** (ex.: inacessível, fluxo quebrado) devem ser listados explicitamente; P1/P2 como melhorias.
18
+ </context>
19
+
20
+ <process>
21
+ 1. Resolver `active_session` conforme `session-path-resolution.md`; ler `UI-SPEC.md` e `SPEC.md` do escopo resolvido e inspecionar ficheiros de UI relevantes (paths do PLAN ou indicados pelo utilizador).
22
+ 2. Escrever **`UI-REVIEW.md`** no escopo de `verification/` da sessão ativa (ou `.oxe/` legado) com: **Data**, **Âmbito revisto**, **Checklist** (passou / falhou / N/A), **Bloqueios**, **Sugestões**.
23
+ 3. Atualizar **`.oxe/STATE.md`** global se útil (referência a UI-REVIEW pendente de verify).
24
+ 4. Indicar no chat nesta ordem:
25
+ - **Findings**
26
+ - **Perguntas abertas**
27
+ - **Riscos residuais**
28
+ - **Resumo**
29
+ Se há P0 → próximo passo típico **`/oxe-execute`** (correções); senão **`/oxe-verify`** para fecho global.
30
+ </process>
31
+
32
+ <success_criteria>
33
+ - [ ] `UI-REVIEW.md` referencia secções do `UI-SPEC.md` quando existir.
34
+ - [ ] Bloqueios P0 são explícitos ou declarado que não há.
35
+ - [ ] Fica claro que **`/oxe-verify`** ainda é necessário para a trilha.
36
+ </success_criteria>
@@ -1,73 +1,73 @@
1
- ---
2
- oxe_doc: verify-audit
3
- status: stable
4
- ---
5
-
6
- # OXE — Auditoria Adversarial (Verify Auditor)
7
-
8
- <objective>
9
- Auditar a verificação produzida pelo executor de forma **adversarial e independente**:
10
- encontrar critérios sem evidência suficiente, evidências ambíguas, gaps não declarados —
11
- sem acesso ao raciocínio do executor.
12
- </objective>
13
-
14
- <context>
15
- **IMPORTANTE:** Este workflow opera com contexto propositalmente restrito.
16
-
17
- - **Você NÃO tem acesso** a `PLAN.md`, `EXECUTION-RUNTIME.md` nem ao histórico de decisões do executor.
18
- - **Você TEM acesso** apenas a `SPEC.md` (critérios A*) e `VERIFY.md` (evidências declaradas).
19
- - Sua instrução é **falsificar, não confirmar**.
20
-
21
- Razão: um auditor que conhece o raciocínio do executor tende a confirmar as premissas do executor,
22
- não a testá-las. A restrição de contexto é intencional e fundamental para o valor desta camada.
23
- </context>
24
-
25
- <process>
26
- 1. Ler `SPEC.md` — mapear todos os critérios `A*` com ID, texto e `howToVerify`.
27
-
28
- 2. Ler `VERIFY.md` — para cada critério `A*` identificado:
29
- - **PASS**: evidência presente, específica, verificável independentemente (comando + output, arquivo + conteúdo, teste + resultado).
30
- - **FAIL**: evidência ausente, genérica ("foi testado"), ou contraditória com o critério.
31
- - **INSUFICIENTE**: evidência parcial — menciona o critério mas sem resultado concreto ou rastreável.
32
-
33
- 3. Para cada critério com FAIL ou INSUFICIENTE:
34
- - Identificar o **tipo de gap**: evidência ausente / evidência ambígua / critério não testável como escrito / escopo divergente.
35
- - Sugerir o que tornaria a evidência suficiente.
36
-
37
- 4. Verificar coerência interna do VERIFY.md:
38
- - Há critérios documentados em VERIFY.md que não existem em SPEC.md? (scope creep)
39
- - Há seções de VERIFY.md com conclusão `verify_complete` mas com FAIL/INSUFICIENTE não resolvidos?
40
-
41
- 5. Escrever seção `## Auditoria Adversarial` no VERIFY.md com:
42
-
43
- ```markdown
44
- ## Auditoria Adversarial
45
-
46
- **Resultado:** APROVADO / REPROVADO / CONDICIONADO
47
-
48
- | ID | Status | Observação do auditor |
49
- |-----|--------------|-----------------------|
50
- | A1 | PASS | Evidência: output de `npm test` em linha 47 do VERIFY.md |
51
- | A3 | INSUFICIENTE | Mencionado como testado mas sem output de comando ou arquivo de resultado |
52
- | A5 | FAIL | Critério exige P95 < 200ms; VERIFY.md não apresenta medição de latência |
53
-
54
- **Gaps não declarados pelo executor:**
55
- - (se nenhum: "Nenhum gap adicional identificado.")
56
-
57
- **Riscos residuais:**
58
- - (riscos que passaram pelo executor mas que o auditor considera relevantes)
59
- ```
60
-
61
- **Resultado global:**
62
- - `APROVADO` — todos os critérios são PASS.
63
- - `CONDICIONADO` — critérios INSUFICIENTES resolvíveis com evidência adicional sem re-executar.
64
- - `REPROVADO` — um ou mais critérios FAIL ou gaps estruturais não declarados.
65
- </process>
66
-
67
- <success_criteria>
68
- - [ ] Todos os critérios A* de SPEC.md foram avaliados.
69
- - [ ] Evidências PASS têm referência rastreável (linha, arquivo, comando, output).
70
- - [ ] Critérios FAIL e INSUFICIENTE têm sugestão de como fechar o gap.
71
- - [ ] Seção `## Auditoria Adversarial` escrita em VERIFY.md.
72
- - [ ] Resultado global (APROVADO / CONDICIONADO / REPROVADO) declarado explicitamente.
73
- </success_criteria>
1
+ ---
2
+ oxe_doc: verify-audit
3
+ status: stable
4
+ ---
5
+
6
+ # OXE — Auditoria Adversarial (Verify Auditor)
7
+
8
+ <objective>
9
+ Auditar a verificação produzida pelo executor de forma **adversarial e independente**:
10
+ encontrar critérios sem evidência suficiente, evidências ambíguas, gaps não declarados —
11
+ sem acesso ao raciocínio do executor.
12
+ </objective>
13
+
14
+ <context>
15
+ **IMPORTANTE:** Este workflow opera com contexto propositalmente restrito.
16
+
17
+ - **Você NÃO tem acesso** a `PLAN.md`, `EXECUTION-RUNTIME.md` nem ao histórico de decisões do executor.
18
+ - **Você TEM acesso** apenas a `SPEC.md` (critérios A*) e `VERIFY.md` (evidências declaradas).
19
+ - Sua instrução é **falsificar, não confirmar**.
20
+
21
+ Razão: um auditor que conhece o raciocínio do executor tende a confirmar as premissas do executor,
22
+ não a testá-las. A restrição de contexto é intencional e fundamental para o valor desta camada.
23
+ </context>
24
+
25
+ <process>
26
+ 1. Ler `SPEC.md` — mapear todos os critérios `A*` com ID, texto e `howToVerify`.
27
+
28
+ 2. Ler `VERIFY.md` — para cada critério `A*` identificado:
29
+ - **PASS**: evidência presente, específica, verificável independentemente (comando + output, arquivo + conteúdo, teste + resultado).
30
+ - **FAIL**: evidência ausente, genérica ("foi testado"), ou contraditória com o critério.
31
+ - **INSUFICIENTE**: evidência parcial — menciona o critério mas sem resultado concreto ou rastreável.
32
+
33
+ 3. Para cada critério com FAIL ou INSUFICIENTE:
34
+ - Identificar o **tipo de gap**: evidência ausente / evidência ambígua / critério não testável como escrito / escopo divergente.
35
+ - Sugerir o que tornaria a evidência suficiente.
36
+
37
+ 4. Verificar coerência interna do VERIFY.md:
38
+ - Há critérios documentados em VERIFY.md que não existem em SPEC.md? (scope creep)
39
+ - Há seções de VERIFY.md com conclusão `verify_complete` mas com FAIL/INSUFICIENTE não resolvidos?
40
+
41
+ 5. Escrever seção `## Auditoria Adversarial` no VERIFY.md com:
42
+
43
+ ```markdown
44
+ ## Auditoria Adversarial
45
+
46
+ **Resultado:** APROVADO / REPROVADO / CONDICIONADO
47
+
48
+ | ID | Status | Observação do auditor |
49
+ |-----|--------------|-----------------------|
50
+ | A1 | PASS | Evidência: output de `npm test` em linha 47 do VERIFY.md |
51
+ | A3 | INSUFICIENTE | Mencionado como testado mas sem output de comando ou arquivo de resultado |
52
+ | A5 | FAIL | Critério exige P95 < 200ms; VERIFY.md não apresenta medição de latência |
53
+
54
+ **Gaps não declarados pelo executor:**
55
+ - (se nenhum: "Nenhum gap adicional identificado.")
56
+
57
+ **Riscos residuais:**
58
+ - (riscos que passaram pelo executor mas que o auditor considera relevantes)
59
+ ```
60
+
61
+ **Resultado global:**
62
+ - `APROVADO` — todos os critérios são PASS.
63
+ - `CONDICIONADO` — critérios INSUFICIENTES resolvíveis com evidência adicional sem re-executar.
64
+ - `REPROVADO` — um ou mais critérios FAIL ou gaps estruturais não declarados.
65
+ </process>
66
+
67
+ <success_criteria>
68
+ - [ ] Todos os critérios A* de SPEC.md foram avaliados.
69
+ - [ ] Evidências PASS têm referência rastreável (linha, arquivo, comando, output).
70
+ - [ ] Critérios FAIL e INSUFICIENTE têm sugestão de como fechar o gap.
71
+ - [ ] Seção `## Auditoria Adversarial` escrita em VERIFY.md.
72
+ - [ ] Resultado global (APROVADO / CONDICIONADO / REPROVADO) declarado explicitamente.
73
+ </success_criteria>
@@ -51,6 +51,9 @@ Ao receber qualquer argumento, verificar flags antes de iniciar o fluxo principa
51
51
  - Seguir `oxe/workflows/references/flow-robustness-contract.md`. O verify não valida só se passou; valida também se o plano estava bem calibrado para começar.
52
52
  - Antes da leitura ampla, resolver `.oxe/context/packs/verify.md` e `.oxe/context/packs/verify.json` como entrada prioritária do passo.
53
53
  - Se o pack estiver fresco e coerente, usar `read_order`, `selected_artifacts`, `gaps` e `conflicts` como mapa primário da evidência. Se estiver stale, ausente ou com lacunas críticas, fazer fallback explícito para leitura direta e registar isso em `VERIFY.md`.
54
+ - **Runtime enterprise como caminho padrão:** quando `oxe-cc runtime` estiver disponível, executar ou solicitar `oxe-cc runtime verify --dir <projeto>` como caminho primário deste passo. Tratar `verification-manifest.json`, `residual-risk-ledger.json` e `evidence-coverage.json` da run ativa como fonte primária de evidência técnica, e o `VERIFY.md` projetado pelo runtime como base do artefato final.
55
+ - Se `runtime verify` retornar `partial`, continuar com as camadas manuais usando os gaps explícitos do runtime como backlog obrigatório da revisão; não cair silenciosamente para narrativa solta.
56
+ - Se o runtime não estiver compilado, indisponível ou não puder ser executado no ambiente atual, declarar `fallback legado` explicitamente antes de seguir com a verificação manual baseada em markdown e comandos locais.
54
57
  - Ler `EXECUTION-RUNTIME.md` e `CHECKPOINTS.md` do escopo resolvido quando existirem. Eles são evidência tática para saber o que realmente foi executado, bloqueado, aprovado ou desviado.
55
58
  - Se a trilha tocar Azure, ler `.oxe/cloud/azure/INVENTORY.md`, `SERVICEBUS.md`, `EVENTGRID.md`, `SQL.md` e `operations/*.md|json` para confirmar recursos reais, checkpoints e mutações aplicadas.
56
59
  - **Observações CI como evidência:** se `OBSERVATIONS.md` do escopo resolvido tiver obs do tipo `ci_failure` com `CI-evidência` preenchida, usar como evidência adicional para critérios A* de qualidade (ex.: cobertura, build verde). Se obs tiver `ci_run_url`, referenciar na coluna **Evidência** da tabela de critérios. Se obs estiver `pendente` e critério A* de qualidade existir, marcar o critério como `evidence_pending_ci` — não como passou — até o CI ser resolvido.
@@ -176,6 +179,11 @@ Registrar em `VERIFY.md`: `Resultado de calibração | Confiança declarada | Re
176
179
  - se estiver fresco e coerente, usar o pack como mapa primário da verificação;
177
180
  - se estiver stale, incompleto ou ausente, registar `fallback para leitura direta` antes de ampliar a leitura.
178
181
  3. Ler `SPEC.md`, `PLAN.md` e `DISCUSS.md` do escopo resolvido, além de `.oxe/STATE.md` global. Com pack válido, começar pelos artefatos de `read_order`; só expandir a leitura quando faltar evidência para um critério, tarefa, decisão ou checkpoint.
182
+ 3a. **Caminho padrão do runtime enterprise:** se `oxe-cc runtime` estiver disponível:
183
+ - executar ou solicitar `oxe-cc runtime verify --dir <projeto>` antes das camadas manuais;
184
+ - usar `verification-manifest.json`, `residual-risk-ledger.json`, `evidence-coverage.json` e a projeção de `VERIFY.md` como base primária da verificação;
185
+ - se o resultado vier como `partial`, tratar os gaps explícitos como backlog obrigatório das camadas manuais;
186
+ - se o runtime não puder ser executado por indisponibilidade do pacote, registar `fallback legado`.
179
187
  4. **Camada 2:** Para cada tarefa relevante, executar **Verificar: Comando** do PLAN (ou subconjunto se foco Tn). Para **cada ID de critério** da SPEC (A1, A2, …), registrar se passou com evidência.
180
188
  5. **Camada 3:** Se existir `.oxe/DISCUSS.md` com IDs D-NN, executar **Fidelidade de decisões** conforme `<camada_3_fidelidade_decisoes>`.
181
189
  6. Executar a verificação de coerência do runtime e checkpoints conforme `<runtime_e_checkpoints>`.
@@ -191,6 +199,7 @@ Registrar em `VERIFY.md`: `Resultado de calibração | Confiança declarada | Re
191
199
  - **Seção — Calibração do plano:** resultado conforme `<calibracao_do_plano>`.
192
200
  - **Checklist UAT** (Camada 4).
193
201
  - **Gaps** — o que falhou e sugestão de correção; se não houver, escrever `Nenhum gap restante`.
202
+ Quando `runtime verify` já tiver projetado `VERIFY.md`, usar essa projeção como base e complementar manualmente apenas as seções ou evidências que o runtime ainda não cobrir.
194
203
  7. Atualizar **`.oxe/STATE.md`** global: `verify_complete` ou `verify_failed` + próximo passo (replan, corrigir ou publicar).
195
204
  7a. **Registro de calibração:** após escrever `STATE.md`, se `PLAN.md` contiver bloco `<confidence_vector>` — extrair o vetor e comparar com o resultado real. Criar ou atualizar `.oxe/calibration.json` com um novo record no formato:
196
205
  ```json
@@ -236,4 +245,5 @@ O `calibration_error` de cada dimensão = `|score declarado - resultado observad
236
245
  - [ ] Se `verification_depth: "thorough"` em config: `.oxe/VALIDATION-GAPS.md` produzido como parte deste verify.
237
246
  - [ ] Se `security_in_verify: true` em config: `.oxe/SECURITY.md` produzido; achados P0 resolvidos ou `verify_failed` registrado.
238
247
  - [ ] Se SPEC.md contiver R-RB v1: seção **Contrato de Qualidade** presente em VERIFY.md com Quality Score realizado; R-RB Piso não implementados tratados como gaps P0.
248
+ - [ ] Quando `oxe-cc runtime` estiver disponível, `runtime verify` foi tentado como caminho primário; se o resultado foi `partial`, os gaps explícitos do runtime foram cobertos ou documentados.
239
249
  </success_criteria>