oxe-cc 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.cursor/commands/oxe-ask.md +4 -2
  2. package/.cursor/commands/oxe-capabilities.md +4 -2
  3. package/.cursor/commands/oxe-checkpoint.md +4 -2
  4. package/.cursor/commands/oxe-compact.md +4 -2
  5. package/.cursor/commands/oxe-dashboard.md +4 -2
  6. package/.cursor/commands/oxe-debug.md +4 -2
  7. package/.cursor/commands/oxe-discuss.md +4 -2
  8. package/.cursor/commands/oxe-execute.md +5 -3
  9. package/.cursor/commands/oxe-forensics.md +4 -2
  10. package/.cursor/commands/oxe-help.md +4 -2
  11. package/.cursor/commands/oxe-loop.md +4 -2
  12. package/.cursor/commands/oxe-milestone.md +4 -2
  13. package/.cursor/commands/oxe-next.md +4 -2
  14. package/.cursor/commands/oxe-obs.md +4 -2
  15. package/.cursor/commands/oxe-plan-agent.md +4 -2
  16. package/.cursor/commands/oxe-plan.md +4 -2
  17. package/.cursor/commands/oxe-project.md +4 -2
  18. package/.cursor/commands/oxe-quick.md +4 -2
  19. package/.cursor/commands/oxe-research.md +4 -2
  20. package/.cursor/commands/oxe-retro.md +4 -2
  21. package/.cursor/commands/oxe-review-pr.md +4 -2
  22. package/.cursor/commands/oxe-route.md +4 -2
  23. package/.cursor/commands/oxe-scan.md +4 -2
  24. package/.cursor/commands/oxe-security.md +4 -2
  25. package/.cursor/commands/oxe-session.md +5 -3
  26. package/.cursor/commands/oxe-ship.md +4 -2
  27. package/.cursor/commands/oxe-skill.md +4 -2
  28. package/.cursor/commands/oxe-spec.md +4 -2
  29. package/.cursor/commands/oxe-ui-review.md +4 -2
  30. package/.cursor/commands/oxe-ui-spec.md +4 -2
  31. package/.cursor/commands/oxe-update.md +4 -2
  32. package/.cursor/commands/oxe-validate-gaps.md +4 -2
  33. package/.cursor/commands/oxe-verify.md +4 -2
  34. package/.cursor/commands/oxe-workstream.md +4 -2
  35. package/.cursor/commands/oxe.md +6 -2
  36. package/.github/prompts/oxe-ask.prompt.md +4 -2
  37. package/.github/prompts/oxe-capabilities.prompt.md +4 -2
  38. package/.github/prompts/oxe-checkpoint.prompt.md +4 -2
  39. package/.github/prompts/oxe-compact.prompt.md +4 -2
  40. package/.github/prompts/oxe-dashboard.prompt.md +4 -2
  41. package/.github/prompts/oxe-debug.prompt.md +4 -2
  42. package/.github/prompts/oxe-discuss.prompt.md +6 -2
  43. package/.github/prompts/oxe-execute.prompt.md +5 -3
  44. package/.github/prompts/oxe-forensics.prompt.md +4 -2
  45. package/.github/prompts/oxe-help.prompt.md +6 -2
  46. package/.github/prompts/oxe-loop.prompt.md +4 -2
  47. package/.github/prompts/oxe-milestone.prompt.md +4 -2
  48. package/.github/prompts/oxe-next.prompt.md +6 -2
  49. package/.github/prompts/oxe-obs.prompt.md +4 -2
  50. package/.github/prompts/oxe-plan-agent.prompt.md +4 -2
  51. package/.github/prompts/oxe-plan.prompt.md +4 -2
  52. package/.github/prompts/oxe-project.prompt.md +4 -2
  53. package/.github/prompts/oxe-quick.prompt.md +4 -2
  54. package/.github/prompts/oxe-research.prompt.md +4 -2
  55. package/.github/prompts/oxe-retro.prompt.md +4 -2
  56. package/.github/prompts/oxe-review-pr.prompt.md +4 -2
  57. package/.github/prompts/oxe-route.prompt.md +4 -2
  58. package/.github/prompts/oxe-scan.prompt.md +4 -2
  59. package/.github/prompts/oxe-security.prompt.md +4 -2
  60. package/.github/prompts/oxe-session.prompt.md +5 -3
  61. package/.github/prompts/oxe-ship.prompt.md +4 -2
  62. package/.github/prompts/oxe-skill.prompt.md +4 -2
  63. package/.github/prompts/oxe-spec.prompt.md +4 -2
  64. package/.github/prompts/oxe-ui-review.prompt.md +4 -2
  65. package/.github/prompts/oxe-ui-spec.prompt.md +4 -2
  66. package/.github/prompts/oxe-update.prompt.md +4 -2
  67. package/.github/prompts/oxe-validate-gaps.prompt.md +4 -2
  68. package/.github/prompts/oxe-verify.prompt.md +4 -2
  69. package/.github/prompts/oxe-workstream.prompt.md +4 -2
  70. package/.github/prompts/oxe.prompt.md +6 -2
  71. package/.github/workflows/ci.yml +56 -20
  72. package/.github/workflows/release.yml +93 -0
  73. package/CHANGELOG.md +358 -342
  74. package/README.md +84 -69
  75. package/bin/lib/oxe-agent-install.cjs +127 -107
  76. package/bin/lib/oxe-runtime-semantics.cjs +68 -24
  77. package/bin/oxe-cc.js +393 -155
  78. package/commands/oxe/ask.md +7 -3
  79. package/commands/oxe/capabilities.md +6 -2
  80. package/commands/oxe/checkpoint.md +5 -1
  81. package/commands/oxe/compact.md +6 -2
  82. package/commands/oxe/dashboard.md +6 -2
  83. package/commands/oxe/debug.md +6 -2
  84. package/commands/oxe/discuss.md +6 -2
  85. package/commands/oxe/execute.md +6 -2
  86. package/commands/oxe/forensics.md +6 -2
  87. package/commands/oxe/help.md +6 -2
  88. package/commands/oxe/loop.md +6 -2
  89. package/commands/oxe/milestone.md +6 -2
  90. package/commands/oxe/next.md +6 -2
  91. package/commands/oxe/obs.md +6 -2
  92. package/commands/oxe/oxe.md +6 -2
  93. package/commands/oxe/plan-agent.md +6 -2
  94. package/commands/oxe/plan.md +6 -2
  95. package/commands/oxe/project.md +6 -2
  96. package/commands/oxe/quick.md +6 -2
  97. package/commands/oxe/research.md +6 -2
  98. package/commands/oxe/retro.md +6 -2
  99. package/commands/oxe/review-pr.md +6 -2
  100. package/commands/oxe/route.md +6 -2
  101. package/commands/oxe/scan.md +6 -2
  102. package/commands/oxe/security.md +6 -2
  103. package/commands/oxe/session.md +6 -2
  104. package/commands/oxe/ship.md +6 -2
  105. package/commands/oxe/skill.md +6 -2
  106. package/commands/oxe/spec.md +6 -2
  107. package/commands/oxe/ui-review.md +6 -2
  108. package/commands/oxe/ui-spec.md +6 -2
  109. package/commands/oxe/update.md +6 -2
  110. package/commands/oxe/validate-gaps.md +6 -2
  111. package/commands/oxe/verify.md +6 -2
  112. package/commands/oxe/workstream.md +6 -2
  113. package/package.json +3 -3
  114. package/vscode-extension/oxe-agents-1.4.0.vsix +0 -0
@@ -41,8 +41,10 @@ oxe_semantics_hash: 14ddb483209b28b3
41
41
 
42
42
  <!-- oxe-reasoning-contract:end -->
43
43
 
44
- Executa o workflow **OXE execute** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
44
+ <!-- oxe-workflow-resolution:start -->
45
45
 
46
- `.oxe/workflows/execute.md`
46
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/execute.md ou oxe/workflows/execute.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
47
47
 
48
- Usa o texto adicional desta mensagem como foco: `A` (Completo), `B` (Por onda), `C` (Por tarefa), `onda N`, `Tn`, ou confirmação de progresso. Lê `.oxe/workflows/execute.md` na raiz do projeto atual (CWD).
48
+ <!-- oxe-workflow-resolution:end -->
49
+
50
+ Usa o texto adicional desta mensagem como foco: `A` (Completo), `B` (Por onda), `C` (Por tarefa), `onda N`, `Tn`, ou confirmação de progresso.
@@ -38,8 +38,10 @@ oxe_semantics_hash: a9461a0a5c59fa8d
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE forensics** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/forensics.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/forensics.md ou oxe/workflows/forensics.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como contexto do sintoma (falha de verify, doctor, estado incoerente).
@@ -37,6 +37,10 @@ oxe_semantics_hash: e292f28e042fbaa5
37
37
 
38
38
  <!-- oxe-reasoning-contract:end -->
39
39
 
40
- Executa o workflow **OXE help**. Lê e segue **integralmente**:
40
+ <!-- oxe-workflow-resolution:start -->
41
+
42
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/help.md ou oxe/workflows/help.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
43
+
44
+ <!-- oxe-workflow-resolution:end -->
45
+
41
46
 
42
- `.oxe/workflows/help.md` (na raiz do repositório em contexto)
@@ -38,8 +38,10 @@ oxe_semantics_hash: ebbadaede8629bea
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE loop** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/loop.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/loop.md ou oxe/workflows/loop.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  `$ARGUMENTS` = onda alvo e máximo de tentativas (ex.: `onda 2 max:5`). Pré-requisito: `.oxe/PLAN.md`.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 8a7c3e675d6a4e36
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE milestone** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/milestone.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/milestone.md ou oxe/workflows/milestone.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como subcomando e contexto.
@@ -37,6 +37,10 @@ oxe_semantics_hash: 5767434e94769645
37
37
 
38
38
  <!-- oxe-reasoning-contract:end -->
39
39
 
40
- Executa o workflow **OXE next**. Lê e aplica **integralmente**:
40
+ <!-- oxe-workflow-resolution:start -->
41
+
42
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/next.md ou oxe/workflows/next.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
43
+
44
+ <!-- oxe-workflow-resolution:end -->
45
+
41
46
 
42
- `.oxe/workflows/next.md` (na raiz do repositório em contexto)
@@ -38,8 +38,10 @@ oxe_semantics_hash: ef2faec6af3a4964
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE obs** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/obs.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/obs.md ou oxe/workflows/obs.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como a observação a registrar.
@@ -36,8 +36,10 @@ oxe_semantics_hash: a8f516ec17603d26
36
36
 
37
37
  <!-- oxe-reasoning-contract:end -->
38
38
 
39
- Executa o workflow **OXE plan-agent**. Lê e aplica **integralmente**:
39
+ <!-- oxe-workflow-resolution:start -->
40
40
 
41
- `.oxe/workflows/plan-agent.md` (na raiz do repositório em contexto)
41
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/plan-agent.md ou oxe/workflows/plan-agent.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
42
+
43
+ <!-- oxe-workflow-resolution:end -->
42
44
 
43
45
  Se o utilizador pedir replanejamento, trata como **`--replan`** conforme o workflow.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 7809d830a5f5ff4a
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE plan**. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/plan.md` (na raiz do repositório em contexto)
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/plan.md ou oxe/workflows/plan.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Se o utilizador pedir replanejamento, trata como `--replan` conforme o workflow.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 7f329aace340b533
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE project** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/project.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/project.md ou oxe/workflows/project.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  `$ARGUMENTS` = subcomando: `milestone new|complete|status|audit`, `workstream new|switch|list|close <nome>`, `checkpoint [slug]`, ou vazio para status atual.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 2193373eb2691e0d
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE quick** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/quick.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/quick.md ou oxe/workflows/quick.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como objetivo e contexto.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 6c3005eec893f1b7
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE research** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/research.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/research.md ou oxe/workflows/research.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como âmbito (paths, perguntas, spike, mapa de sistema, engenharia reversa ou modernização).
@@ -38,8 +38,10 @@ oxe_semantics_hash: 5a2fb7b4988f3de6
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE retro** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/retro.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/retro.md ou oxe/workflows/retro.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Lê VERIFY.md, FORENSICS.md, SUMMARY.md. `$ARGUMENTS` = contexto extra opcional.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 836780b0831671b7
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE review-pr**. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/review-pr.md` (na raiz do repositório em contexto)
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/review-pr.md ou oxe/workflows/review-pr.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  **Exemplos de entrada:** cola o URL da PR (`https://github.com/org/repo/pull/10`, com ou sem `/files`); ou `org/repo#10`; ou **base** e **head** (branches/tags/SHAs). Sem refs, o agente infere (ex.: `main` vs branch atual).
@@ -38,8 +38,10 @@ oxe_semantics_hash: 17b5078ffaad8644
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE route** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/route.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/route.md ou oxe/workflows/route.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como intenção a classificar (tabela Router em `help.md`).
@@ -38,8 +38,10 @@ oxe_semantics_hash: c7c6e28ef92595b1
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE scan** no repositório atual. Lê e aplica **integralmente** o ficheiro:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/scan.md` (na raiz do repositório em contexto)
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/scan.md ou oxe/workflows/scan.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como foco opcional de área (pastas/módulos).
@@ -38,8 +38,10 @@ oxe_semantics_hash: 0addcd00818ddee2
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE security** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/security.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/security.md ou oxe/workflows/security.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Lê `.oxe/codebase/STACK.md` para determinar categorias OWASP aplicáveis. `$ARGUMENTS` = foco opcional.
@@ -38,8 +38,10 @@ oxe_semantics_hash: df52e7982aeabf21
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE session** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/session.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/session.md ou oxe/workflows/session.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
44
 
45
- Usa o texto adicional desta mensagem como foco do subcomando: `new <nome>`, `list`, `switch <id>`, `resume <id>`, `status`, `close` ou `migrate <nome>`. Lê `.oxe/workflows/session.md` na raiz do projeto atual (CWD).
45
+ <!-- oxe-workflow-resolution:end -->
46
+
47
+ Usa o texto adicional desta mensagem como foco do subcomando: `new <nome>`, `list`, `switch <id>`, `resume <id>`, `status`, `close` ou `migrate <nome>`.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 4a5d304e6ca781fc
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE ship**. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/ship.md` (na raiz do repositório em contexto)
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/ship.md ou oxe/workflows/ship.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa `$ARGUMENTS` como flags de entrega (`--message`, `--amend`, `--verify-first`, `--no-checks`, `--dry-run`).
@@ -38,8 +38,10 @@ oxe_semantics_hash: 3cfb16d4930b8a59
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE skill** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/skill.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/skill.md ou oxe/workflows/skill.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como subcomando ou invocação de skill.
@@ -38,8 +38,10 @@ oxe_semantics_hash: eea8766eab635c97
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE spec**. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/spec.md` (na raiz do repositório em contexto)
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/spec.md ou oxe/workflows/spec.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o resto desta mensagem e ficheiros anexados como entrada do utilizador.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 262a73b77bf68d6d
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE ui-review** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/ui-review.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/ui-review.md ou oxe/workflows/ui-review.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como ficheiros ou tarefas a rever.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 5c8a7668f0a9fca1
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE ui-spec** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/ui-spec.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/ui-spec.md ou oxe/workflows/ui-spec.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como foco de ecrãs ou componentes, se houver.
@@ -37,8 +37,10 @@ oxe_semantics_hash: afa0ff72a118df58
37
37
 
38
38
  <!-- oxe-reasoning-contract:end -->
39
39
 
40
- Executa o workflow **OXE update**. Lê e segue **integralmente**:
40
+ <!-- oxe-workflow-resolution:start -->
41
41
 
42
- `.oxe/workflows/update.md` (na raiz do repositório em contexto; ou `..oxe/workflows/update.md` se a instalação aninhou os workflows)
42
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/update.md ou oxe/workflows/update.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
43
+
44
+ <!-- oxe-workflow-resolution:end -->
43
45
 
44
46
  Na prática: na raiz do projeto, correr **`npx oxe-cc update --check`**, depois (se aplicável) **`npx oxe-cc update`** ou **`npx oxe-cc update --if-newer`**, e por fim **`npx oxe-cc doctor`**.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 69e3f79ec51160e1
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE validate-gaps** no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/validate-gaps.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/validate-gaps.md ou oxe/workflows/validate-gaps.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Requer `VERIFY.md` e `PLAN.md` já existentes. Texto adicional: foco opcional em tarefa **Tn** ou critério **A***.
@@ -41,8 +41,10 @@ oxe_semantics_hash: 8b47625394eec62a
41
41
 
42
42
  <!-- oxe-reasoning-contract:end -->
43
43
 
44
- Executa o workflow **OXE verify**. Lê e aplica **integralmente**:
44
+ <!-- oxe-workflow-resolution:start -->
45
45
 
46
- `.oxe/workflows/verify.md` (na raiz do repositório em contexto)
46
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/verify.md ou oxe/workflows/verify.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
47
+
48
+ <!-- oxe-workflow-resolution:end -->
47
49
 
48
50
  Se o utilizador indicar uma tarefa `Tn`, restringe a verificação a essa tarefa.
@@ -38,8 +38,10 @@ oxe_semantics_hash: 380bd0a3f3620845
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE workstream** no repositório atual. Lê e aplica **integralmente** o ficheiro no workspace:
41
+ <!-- oxe-workflow-resolution:start -->
42
42
 
43
- `.oxe/workflows/workstream.md`
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/workstream.md ou oxe/workflows/workstream.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
44
+
45
+ <!-- oxe-workflow-resolution:end -->
44
46
 
45
47
  Usa o texto adicional desta mensagem como subcomando e contexto.
@@ -38,8 +38,12 @@ oxe_semantics_hash: 4a8d0d23c56065a7
38
38
 
39
39
  <!-- oxe-reasoning-contract:end -->
40
40
 
41
- Executa o workflow **OXE** (entrada universal) no repositório atual. Lê e aplica **integralmente**:
41
+ <!-- oxe-workflow-resolution:start -->
42
+
43
+ **Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/oxe.md ou oxe/workflows/oxe.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.
42
44
 
43
- `.oxe/workflows/oxe.md`
45
+ <!-- oxe-workflow-resolution:end -->
46
+
47
+ Executa o workflow **OXE** (entrada universal) no repositório atual. Lê e aplica **integralmente**:
44
48
 
45
49
  `$ARGUMENTS`: vazio → próximo passo; texto → roteamento; "help" → trilha principal + trilha avançada.
@@ -1,20 +1,56 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [main, master]
6
- pull_request:
7
- branches: [main, master]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - uses: actions/checkout@v4
14
- - uses: actions/setup-node@v4
15
- with:
16
- node-version: '20'
17
- cache: npm
18
- - run: npm ci
19
- - run: npm test
20
- - run: npm run scan:assets
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: actions/setup-node@v4
15
+ with:
16
+ node-version: '20'
17
+ cache: npm
18
+ - run: npm ci
19
+ - run: npm test
20
+ - run: npm run scan:assets
21
+
22
+ doctor:
23
+ runs-on: ubuntu-latest
24
+ needs: test
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: actions/setup-node@v4
28
+ with:
29
+ node-version: '20'
30
+ cache: npm
31
+ - run: npm ci
32
+ - name: OXE Doctor
33
+ run: node bin/oxe-cc.js doctor
34
+
35
+ wrapper-audit:
36
+ runs-on: ubuntu-latest
37
+ needs: test
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+ - uses: actions/setup-node@v4
41
+ with:
42
+ node-version: '20'
43
+ cache: npm
44
+ - run: npm ci
45
+ - name: Audit runtime wrappers
46
+ run: |
47
+ node -e "
48
+ const rs = require('./bin/lib/oxe-runtime-semantics.cjs');
49
+ const r = rs.auditRuntimeTargets('.');
50
+ if (!r.ok) {
51
+ console.error('Wrapper audit failed:');
52
+ console.error(JSON.stringify(r.mismatches, null, 2));
53
+ process.exit(1);
54
+ }
55
+ console.log('Wrapper audit passed — all targets in sync');
56
+ "
@@ -0,0 +1,93 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*.*.*'
7
+
8
+ jobs:
9
+ validate:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-node@v4
14
+ with:
15
+ node-version: '20'
16
+ cache: npm
17
+ - run: npm ci
18
+ - run: npm test
19
+ - run: npm run scan:assets
20
+ - run: node bin/oxe-cc.js --version
21
+
22
+ publish-npm:
23
+ needs: validate
24
+ runs-on: ubuntu-latest
25
+ permissions:
26
+ contents: read
27
+ id-token: write
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ - uses: actions/setup-node@v4
31
+ with:
32
+ node-version: '20'
33
+ cache: npm
34
+ registry-url: 'https://registry.npmjs.org'
35
+ - run: npm ci
36
+ - run: npm publish --provenance --access public
37
+ env:
38
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
39
+
40
+ build-vsix:
41
+ needs: validate
42
+ runs-on: ubuntu-latest
43
+ steps:
44
+ - uses: actions/checkout@v4
45
+ - uses: actions/setup-node@v4
46
+ with:
47
+ node-version: '20'
48
+ cache: npm
49
+ - run: npm ci
50
+ - run: npm run build:vscode-ext
51
+ - uses: actions/upload-artifact@v4
52
+ with:
53
+ name: oxe-agents-vsix
54
+ path: '*.vsix'
55
+ if-no-files-found: warn
56
+
57
+ create-release:
58
+ needs: [publish-npm, build-vsix]
59
+ runs-on: ubuntu-latest
60
+ permissions:
61
+ contents: write
62
+ steps:
63
+ - uses: actions/checkout@v4
64
+ - name: Extract changelog entry
65
+ id: changelog
66
+ run: |
67
+ TAG="${{ github.ref_name }}"
68
+ VERSION="${TAG#v}"
69
+ # Extract the block for this version from CHANGELOG.md
70
+ awk "/^## \[${VERSION}\]/{found=1; next} found && /^## \[/{exit} found{print}" CHANGELOG.md > CHANGELOG_EXTRACT.md
71
+ echo "Extracted changelog for ${VERSION}"
72
+ cat CHANGELOG_EXTRACT.md
73
+ - uses: actions/download-artifact@v4
74
+ with:
75
+ name: oxe-agents-vsix
76
+ path: dist/
77
+ continue-on-error: true
78
+ - name: Create GitHub Release
79
+ env:
80
+ GH_TOKEN: ${{ github.token }}
81
+ run: |
82
+ TAG="${{ github.ref_name }}"
83
+ VSIX_FILES=$(find dist/ -name "*.vsix" 2>/dev/null || true)
84
+ if [ -n "$VSIX_FILES" ]; then
85
+ gh release create "$TAG" \
86
+ --title "oxe-cc $TAG" \
87
+ --notes-file CHANGELOG_EXTRACT.md \
88
+ $VSIX_FILES
89
+ else
90
+ gh release create "$TAG" \
91
+ --title "oxe-cc $TAG" \
92
+ --notes-file CHANGELOG_EXTRACT.md
93
+ fi