oxe-cc 1.4.1 → 1.5.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.
- package/.cursor/commands/oxe-dashboard.md +2 -2
- package/.cursor/commands/oxe-execute.md +2 -2
- package/.cursor/commands/oxe-plan.md +2 -2
- package/.cursor/commands/oxe-verify-audit.md +46 -0
- package/.cursor/commands/oxe-workflow-authoring.md +47 -0
- package/.github/prompts/oxe-compact.prompt.md +1 -1
- package/.github/prompts/oxe-dashboard.prompt.md +2 -2
- package/.github/prompts/oxe-execute.prompt.md +2 -2
- package/.github/prompts/oxe-plan-agent.prompt.md +1 -0
- package/.github/prompts/oxe-plan.prompt.md +2 -2
- package/.github/prompts/oxe-verify-audit.prompt.md +46 -0
- package/.github/prompts/oxe-workflow-authoring.prompt.md +47 -0
- package/.github/workflows/ci.yml +1 -0
- package/.github/workflows/release.yml +1 -0
- package/AGENTS.md +3 -1
- package/CHANGELOG.md +50 -0
- package/QUICKSTART.md +99 -0
- package/README.md +20 -11
- package/bin/lib/oxe-context-engine.cjs +9 -4
- package/bin/lib/oxe-dashboard.cjs +119 -53
- package/bin/lib/oxe-install-resolve.cjs +10 -0
- package/bin/lib/oxe-operational.cjs +34 -28
- package/bin/lib/oxe-project-health.cjs +407 -118
- package/bin/lib/oxe-rationality.cjs +385 -0
- package/bin/lib/oxe-release.cjs +423 -0
- package/bin/oxe-cc.js +446 -325
- package/commands/oxe/dashboard.md +2 -2
- package/commands/oxe/execute.md +2 -2
- package/commands/oxe/plan.md +2 -2
- package/commands/oxe/verify-audit.md +50 -0
- package/commands/oxe/workflow-authoring.md +50 -0
- package/docs/INCIDENT-PLAYBOOK.md +181 -0
- package/docs/RELEASE-READINESS.md +46 -0
- package/docs/ROLES.md +129 -0
- package/docs/RUNTIME-SMOKE-MATRIX.md +128 -0
- package/docs/TEAM-ADOPTION.md +153 -0
- package/docs/WALKTHROUGH.md +241 -0
- package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +28 -0
- package/lib/runtime/scheduler/multi-agent-coordinator.js +152 -26
- package/lib/sdk/README.md +2 -0
- package/lib/sdk/index.cjs +32 -14
- package/lib/sdk/index.d.ts +138 -40
- package/oxe/templates/CONFIG.md +1 -1
- package/oxe/templates/EXECUTION-RUNTIME.template.md +1 -1
- package/oxe/templates/FIXTURE-PACK.template.json +34 -0
- package/oxe/templates/FIXTURE-PACK.template.md +21 -0
- package/oxe/templates/IMPLEMENTATION-PACK.template.json +52 -0
- package/oxe/templates/IMPLEMENTATION-PACK.template.md +36 -0
- package/oxe/templates/PLAN.template.md +46 -37
- package/oxe/templates/REFERENCE-ANCHORS.template.md +24 -0
- package/oxe/templates/config.template.json +2 -1
- package/oxe/workflows/execute.md +36 -20
- package/oxe/workflows/next.md +1 -1
- package/oxe/workflows/plan.md +80 -22
- package/oxe/workflows/references/flow-robustness-contract.md +3 -3
- package/oxe/workflows/references/workflow-runtime-contracts.json +127 -95
- package/oxe/workflows/verify.md +4 -4
- package/package.json +28 -20
- package/packages/runtime/package.json +1 -1
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +357 -193
- package/vscode-extension/oxe-agents-1.5.0.vsix +0 -0
- package/vscode-extension/oxe-agents-1.5.1.vsix +0 -0
- package/vscode-extension/package.json +1 -1
|
@@ -15,7 +15,7 @@ oxe_tool_profile: read_heavy
|
|
|
15
15
|
oxe_confidence_policy: explicit
|
|
16
16
|
oxe_context_tier: standard
|
|
17
17
|
oxe_contract_version: 2.0.0
|
|
18
|
-
oxe_semantics_hash:
|
|
18
|
+
oxe_semantics_hash: ebb4473c14e5b080
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
<!-- oxe-reasoning-contract:start -->
|
|
@@ -29,7 +29,7 @@ oxe_semantics_hash: 37f74d8be3442fe1
|
|
|
29
29
|
- **Política de confiança:** explícita
|
|
30
30
|
- **Tier de contexto padrão:** padrão
|
|
31
31
|
- **Versão do contrato:** 2.0.0
|
|
32
|
-
- **Checksum semântico:** `
|
|
32
|
+
- **Checksum semântico:** `ebb4473c14e5b080`
|
|
33
33
|
- **Entrada de contexto prioritária:** `.oxe/context/packs/dashboard.md` e `.oxe/context/packs/dashboard.json`
|
|
34
34
|
- **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
|
|
35
35
|
- **Inspeção estruturada:** `oxe-cc context inspect --workflow dashboard --json`
|
package/commands/oxe/execute.md
CHANGED
|
@@ -17,7 +17,7 @@ oxe_tool_profile: write_bounded
|
|
|
17
17
|
oxe_confidence_policy: explicit
|
|
18
18
|
oxe_context_tier: standard
|
|
19
19
|
oxe_contract_version: 2.0.0
|
|
20
|
-
oxe_semantics_hash:
|
|
20
|
+
oxe_semantics_hash: 7b3446b77aef9353
|
|
21
21
|
---
|
|
22
22
|
|
|
23
23
|
<!-- oxe-reasoning-contract:start -->
|
|
@@ -31,7 +31,7 @@ oxe_semantics_hash: 14ddb483209b28b3
|
|
|
31
31
|
- **Política de confiança:** explícita
|
|
32
32
|
- **Tier de contexto padrão:** padrão
|
|
33
33
|
- **Versão do contrato:** 2.0.0
|
|
34
|
-
- **Checksum semântico:** `
|
|
34
|
+
- **Checksum semântico:** `7b3446b77aef9353`
|
|
35
35
|
- **Entrada de contexto prioritária:** `.oxe/context/packs/execute.md` e `.oxe/context/packs/execute.json`
|
|
36
36
|
- **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
|
|
37
37
|
- **Inspeção estruturada:** `oxe-cc context inspect --workflow execute --json`
|
package/commands/oxe/plan.md
CHANGED
|
@@ -16,7 +16,7 @@ oxe_tool_profile: mixed
|
|
|
16
16
|
oxe_confidence_policy: rubric
|
|
17
17
|
oxe_context_tier: standard
|
|
18
18
|
oxe_contract_version: 2.0.0
|
|
19
|
-
oxe_semantics_hash:
|
|
19
|
+
oxe_semantics_hash: 5c589398cb807029
|
|
20
20
|
---
|
|
21
21
|
|
|
22
22
|
<!-- oxe-reasoning-contract:start -->
|
|
@@ -30,7 +30,7 @@ oxe_semantics_hash: 7809d830a5f5ff4a
|
|
|
30
30
|
- **Política de confiança:** rubrica
|
|
31
31
|
- **Tier de contexto padrão:** padrão
|
|
32
32
|
- **Versão do contrato:** 2.0.0
|
|
33
|
-
- **Checksum semântico:** `
|
|
33
|
+
- **Checksum semântico:** `5c589398cb807029`
|
|
34
34
|
- **Entrada de contexto prioritária:** `.oxe/context/packs/plan.md` e `.oxe/context/packs/plan.json`
|
|
35
35
|
- **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
|
|
36
36
|
- **Inspeção estruturada:** `oxe-cc context inspect --workflow plan --json`
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oxe:verify-audit
|
|
3
|
+
description: "Auditoria adversarial de VERIFY.md — falsificar, não confirmar"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
oxe_workflow_slug: verify-audit
|
|
10
|
+
oxe_reasoning_mode: review
|
|
11
|
+
oxe_question_policy: none
|
|
12
|
+
oxe_output_contract: findings
|
|
13
|
+
oxe_tool_profile: review_heavy
|
|
14
|
+
oxe_confidence_policy: explicit
|
|
15
|
+
oxe_context_tier: standard
|
|
16
|
+
oxe_contract_version: 2.0.0
|
|
17
|
+
oxe_semantics_hash: da71d7eafdce81aa
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<!-- oxe-reasoning-contract:start -->
|
|
21
|
+
|
|
22
|
+
**Contrato de raciocínio OXE deste comando**
|
|
23
|
+
- **Workflow:** verify-audit
|
|
24
|
+
- **Modo:** revisão
|
|
25
|
+
- **Perguntas:** nenhuma
|
|
26
|
+
- **Saída esperada:** achados
|
|
27
|
+
- **Perfil de ferramentas:** revisão intensa
|
|
28
|
+
- **Política de confiança:** explícita
|
|
29
|
+
- **Tier de contexto padrão:** padrão
|
|
30
|
+
- **Versão do contrato:** 2.0.0
|
|
31
|
+
- **Checksum semântico:** `da71d7eafdce81aa`
|
|
32
|
+
- **Entrada de contexto prioritária:** `.oxe/context/packs/verify-audit.md` e `.oxe/context/packs/verify-audit.json`
|
|
33
|
+
- **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
|
|
34
|
+
- **Inspeção estruturada:** `oxe-cc context inspect --workflow verify-audit --json`
|
|
35
|
+
- Apresentar findings primeiro, ordenados por severidade e evidência.
|
|
36
|
+
- Separar bug, risco, regressão e lacuna de teste.
|
|
37
|
+
- Se não houver findings, declarar isso explicitamente e listar riscos residuais.
|
|
38
|
+
- **Seções esperadas:** Findings · Perguntas abertas · Riscos residuais · Resumo
|
|
39
|
+
- **Bloqueios formais:** missing:state
|
|
40
|
+
- **Referência canónica:** `oxe/workflows/references/reasoning-review.md`
|
|
41
|
+
|
|
42
|
+
<!-- oxe-reasoning-contract:end -->
|
|
43
|
+
|
|
44
|
+
<!-- oxe-workflow-resolution:start -->
|
|
45
|
+
|
|
46
|
+
**Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/verify-audit.md ou oxe/workflows/verify-audit.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 -->
|
|
49
|
+
|
|
50
|
+
Opera com contexto propositalmente restrito: só `SPEC.md` (critérios A*) e `VERIFY.md`. Escreve a seção `## Auditoria Adversarial` no VERIFY.md com resultado APROVADO / CONDICIONADO / REPROVADO.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oxe:workflow-authoring
|
|
3
|
+
description: "Revisa um workflow contra o guia de autoria OXE"
|
|
4
|
+
argument-hint: "<path/to/workflow.md>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
oxe_workflow_slug: workflow-authoring
|
|
10
|
+
oxe_reasoning_mode: review
|
|
11
|
+
oxe_question_policy: none
|
|
12
|
+
oxe_output_contract: findings
|
|
13
|
+
oxe_tool_profile: review_heavy
|
|
14
|
+
oxe_confidence_policy: explicit
|
|
15
|
+
oxe_context_tier: standard
|
|
16
|
+
oxe_contract_version: 2.0.0
|
|
17
|
+
oxe_semantics_hash: 430a364fe5aa3494
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<!-- oxe-reasoning-contract:start -->
|
|
21
|
+
|
|
22
|
+
**Contrato de raciocínio OXE deste comando**
|
|
23
|
+
- **Workflow:** workflow-authoring
|
|
24
|
+
- **Modo:** revisão
|
|
25
|
+
- **Perguntas:** nenhuma
|
|
26
|
+
- **Saída esperada:** achados
|
|
27
|
+
- **Perfil de ferramentas:** revisão intensa
|
|
28
|
+
- **Política de confiança:** explícita
|
|
29
|
+
- **Tier de contexto padrão:** padrão
|
|
30
|
+
- **Versão do contrato:** 2.0.0
|
|
31
|
+
- **Checksum semântico:** `430a364fe5aa3494`
|
|
32
|
+
- **Entrada de contexto prioritária:** `.oxe/context/packs/workflow-authoring.md` e `.oxe/context/packs/workflow-authoring.json`
|
|
33
|
+
- **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
|
|
34
|
+
- **Inspeção estruturada:** `oxe-cc context inspect --workflow workflow-authoring --json`
|
|
35
|
+
- Apresentar findings primeiro, ordenados por severidade e evidência.
|
|
36
|
+
- Separar bug, risco, regressão e lacuna de teste.
|
|
37
|
+
- Se não houver findings, declarar isso explicitamente e listar riscos residuais.
|
|
38
|
+
- **Seções esperadas:** Findings · Perguntas abertas · Riscos residuais · Resumo
|
|
39
|
+
- **Bloqueios formais:** missing:state
|
|
40
|
+
- **Referência canónica:** `oxe/workflows/references/reasoning-review.md`
|
|
41
|
+
|
|
42
|
+
<!-- oxe-reasoning-contract:end -->
|
|
43
|
+
|
|
44
|
+
<!-- oxe-workflow-resolution:start -->
|
|
45
|
+
|
|
46
|
+
**Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/workflow-authoring.md ou oxe/workflows/workflow-authoring.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 -->
|
|
49
|
+
|
|
50
|
+
Indica o path do workflow a revisar (ex.: `oxe/workflows/spec.md`). Se omitido, o agente vai pedir.
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# OXE — Incident Playbook
|
|
2
|
+
|
|
3
|
+
> Para operadores de gate e tech leads. Este guia cobre os cenários de bloqueio mais comuns e como resolvê-los.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Gate stale (>24h sem resolução)
|
|
8
|
+
|
|
9
|
+
**Sintoma:** `oxe-cc runtime gates list` mostra `⚠ stale` para um ou mais gates.
|
|
10
|
+
|
|
11
|
+
**Quando agir:** gate stale bloqueia a promoção da run. Se o ciclo precisa avançar, o operador deve tomar uma decisão explícita.
|
|
12
|
+
|
|
13
|
+
**Sequência de diagnóstico:**
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# 1. Ver detalhes do gate
|
|
17
|
+
npx oxe-cc runtime gates show --dir . --gate <gate-id>
|
|
18
|
+
|
|
19
|
+
# Output mostra:
|
|
20
|
+
# tipo, critério bloqueado, tempo em aberto, run afetada
|
|
21
|
+
|
|
22
|
+
# 2. Avaliar o risco
|
|
23
|
+
cat .oxe/runs/<run-id>/residual-risks.json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Decisões possíveis:**
|
|
27
|
+
|
|
28
|
+
| Decisão | Quando usar | Comando |
|
|
29
|
+
|---------|-------------|---------|
|
|
30
|
+
| `approve` | Evidências suficientes, risco aceitável | `--decision approve` |
|
|
31
|
+
| `reject` | Implementação não atende o critério | `--decision reject` |
|
|
32
|
+
| `waive` | Gate válido, mas contexto mudou (urgência, POC) | `--decision waive` |
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx oxe-cc runtime gates resolve \
|
|
36
|
+
--dir . \
|
|
37
|
+
--gate <gate-id> \
|
|
38
|
+
--decision waive \
|
|
39
|
+
--actor "nome-do-operador" \
|
|
40
|
+
--reason "Hotfix urgente — evidência formal na próxima sprint"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Output esperado:**
|
|
44
|
+
```
|
|
45
|
+
⚠ Gate <gate-id> dispensado (waive).
|
|
46
|
+
Motivo registrado. Run pode avançar.
|
|
47
|
+
Gates restantes: 0
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Importante:** `waive` não remove o gate do histórico — ele fica registrado com o motivo para auditoria posterior.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Run bloqueada (não avança mesmo sem gates pendentes)
|
|
55
|
+
|
|
56
|
+
**Sintoma:** `runtime promote` falha ou `status` mostra run como `blocked`.
|
|
57
|
+
|
|
58
|
+
**Sequência de diagnóstico:**
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# 1. Ver estado completo
|
|
62
|
+
npx oxe-cc status --full
|
|
63
|
+
|
|
64
|
+
# 2. Tentar replay (re-executa último evento da run)
|
|
65
|
+
npx oxe-cc runtime replay --dir . --run-id <run-id>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Se replay não desbloquear:**
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# 3. Diagnóstico detalhado
|
|
72
|
+
npx oxe-cc runtime recover --dir . --run-id <run-id>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Output de `runtime recover`:**
|
|
76
|
+
```
|
|
77
|
+
RECOVERY SUMMARY — run-id: <run-id>
|
|
78
|
+
─────────────────────────────────────
|
|
79
|
+
Work items órfãos: 2
|
|
80
|
+
- task-T3: última atualização há 47min, sem commit associado
|
|
81
|
+
- task-T4: dependência de T3 não satisfeita
|
|
82
|
+
|
|
83
|
+
Policy drift: sim
|
|
84
|
+
- SPEC.md modificado após geração do PLAN.md (hash divergente)
|
|
85
|
+
|
|
86
|
+
Evidence gaps: 1
|
|
87
|
+
- Critério A2 sem evidência registrada no VERIFY.md
|
|
88
|
+
|
|
89
|
+
Ação recomendada: re-run /oxe-verify para fechar evidence gap
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Ações corretivas:**
|
|
93
|
+
|
|
94
|
+
| Problema | Ação |
|
|
95
|
+
|----------|------|
|
|
96
|
+
| Work items órfãos | Marcar tarefas como concluídas ou rodar `/oxe-execute --task <id>` |
|
|
97
|
+
| Policy drift (SPEC alterado) | Rodar `/oxe-verify` novamente — vai reprocessar com SPEC atual |
|
|
98
|
+
| Evidence gaps | Rodar `/oxe-verify` — vai preencher lacunas de evidência |
|
|
99
|
+
| State corrompido | `runtime recover --force` reinicia a run preservando artefatos |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Como interpretar o RECOVERY-SUMMARY
|
|
104
|
+
|
|
105
|
+
### Work items órfãos
|
|
106
|
+
|
|
107
|
+
Tarefas que foram planejadas mas não têm evidência de conclusão. Causas comuns:
|
|
108
|
+
- Executor saiu no meio da onda sem marcar a tarefa como concluída
|
|
109
|
+
- Sessão fechada antes de completar a execução
|
|
110
|
+
|
|
111
|
+
**O que fazer:** verificar o código gerado para a tarefa e marcar como concluída se a implementação existir, ou re-executar com `/oxe-execute --task <id>`.
|
|
112
|
+
|
|
113
|
+
### Policy drift
|
|
114
|
+
|
|
115
|
+
O hash do SPEC.md divergiu do hash registrado na run. Isso acontece quando o SPEC é editado manualmente após o início da execução.
|
|
116
|
+
|
|
117
|
+
**O que fazer:** se as mudanças no SPEC são intencionais, rodar `/oxe-verify` para reconciliar. Se foram acidentais, restaurar o SPEC original com `git checkout -- .oxe/SPEC.md`.
|
|
118
|
+
|
|
119
|
+
### Evidence gaps
|
|
120
|
+
|
|
121
|
+
Critérios A* do SPEC sem evidência correspondente no VERIFY.md. Causas comuns:
|
|
122
|
+
- `/oxe-verify` rodou antes da implementação estar completa
|
|
123
|
+
- Critério adicionado ao SPEC após a verificação
|
|
124
|
+
|
|
125
|
+
**O que fazer:** rodar `/oxe-verify` novamente — vai re-escanear implementação e preencher lacunas.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Dashboard como painel operacional
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
npx oxe-cc runtime dashboard --dir .
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
O dashboard mostra o estado de todas as runs ativas em uma view consolidada.
|
|
136
|
+
|
|
137
|
+
**O que observar por estado:**
|
|
138
|
+
|
|
139
|
+
| Estado no dashboard | Significado | Ação |
|
|
140
|
+
|--------------------|-------------|------|
|
|
141
|
+
| `execute_complete` | Onda executada, aguardando verify | Rodar `/oxe-verify` |
|
|
142
|
+
| `verify_complete` | Pronto para promoção | `runtime promote --target pr_draft` |
|
|
143
|
+
| `blocked` | Bloqueada por gate ou error | Ver seção "Run bloqueada" acima |
|
|
144
|
+
| `stale` | Run sem atividade por >24h | Investigar ou fechar sessão |
|
|
145
|
+
| `pr_draft` | PR draft criado | Aguardar review do time |
|
|
146
|
+
|
|
147
|
+
**Indicadores de saúde no dashboard:**
|
|
148
|
+
|
|
149
|
+
- **Gates pendentes:** número de gates aguardando decisão — deve ser 0 para promoção
|
|
150
|
+
- **Runs ativas:** runs com sessão aberta — fechar as que não estão em uso
|
|
151
|
+
- **Evidence coverage:** percentual de critérios A* com evidência — deve ser 100% antes de promote
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Referência rápida de comandos
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Ver todos os gates com estado visual
|
|
159
|
+
npx oxe-cc runtime gates list --dir .
|
|
160
|
+
|
|
161
|
+
# Ver detalhes de um gate específico
|
|
162
|
+
npx oxe-cc runtime gates show --dir . --gate <id>
|
|
163
|
+
|
|
164
|
+
# Resolver gate
|
|
165
|
+
npx oxe-cc runtime gates resolve --dir . --gate <id> --decision <approve|reject|waive> --actor <nome>
|
|
166
|
+
|
|
167
|
+
# Promover run
|
|
168
|
+
npx oxe-cc runtime promote --dir . --target <pr_draft|staging|production>
|
|
169
|
+
|
|
170
|
+
# Re-executar último evento da run
|
|
171
|
+
npx oxe-cc runtime replay --dir . --run-id <id>
|
|
172
|
+
|
|
173
|
+
# Diagnóstico e recovery
|
|
174
|
+
npx oxe-cc runtime recover --dir . --run-id <id>
|
|
175
|
+
|
|
176
|
+
# Estado operacional completo
|
|
177
|
+
npx oxe-cc status --full
|
|
178
|
+
|
|
179
|
+
# Dashboard consolidado
|
|
180
|
+
npx oxe-cc runtime dashboard --dir .
|
|
181
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Release Readiness — OXE
|
|
2
|
+
|
|
3
|
+
Este é o contrato mínimo para publicar uma versão estável do OXE sem drift entre pacote, runtime, wrappers e operação enterprise.
|
|
4
|
+
|
|
5
|
+
## Gate local
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm test
|
|
9
|
+
npm run scan:assets
|
|
10
|
+
npm run build:vscode-ext
|
|
11
|
+
npx oxe-cc doctor --release --write-manifest
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
O `doctor --release` deve bloquear a publicação quando encontrar:
|
|
15
|
+
|
|
16
|
+
- drift de versão entre `package.json`, `packages/runtime/package.json`, `vscode-extension/package.json`, `README.md`, `CHANGELOG.md` e banner
|
|
17
|
+
- topo do `CHANGELOG` ausente, sem data ou sem highlights
|
|
18
|
+
- runtime não compilado em `lib/runtime/index.js`
|
|
19
|
+
- wrappers dirty após `sync-runtime-metadata` e `sync:cursor`
|
|
20
|
+
- ausência ou falha dos relatórios obrigatórios da release
|
|
21
|
+
|
|
22
|
+
## Relatórios obrigatórios
|
|
23
|
+
|
|
24
|
+
Todos os artefatos abaixo devem existir em `.oxe/release/`:
|
|
25
|
+
|
|
26
|
+
- `release-manifest.json`
|
|
27
|
+
- `runtime-smoke-report.json`
|
|
28
|
+
- `recovery-fixture-report.json`
|
|
29
|
+
- `multi-agent-soak-report.json`
|
|
30
|
+
|
|
31
|
+
## Defaults estáveis desta publicação
|
|
32
|
+
|
|
33
|
+
- `execute` e `verify`: `runtime-first`
|
|
34
|
+
- `promotion`: somente `pr_draft`
|
|
35
|
+
- `multi-agent`: GA apenas com `git_worktree`
|
|
36
|
+
- `branch_push`: capability avançada, fora da superfície estável
|
|
37
|
+
|
|
38
|
+
## CI
|
|
39
|
+
|
|
40
|
+
O pipeline de CI e o pipeline de release devem rodar o mesmo gate:
|
|
41
|
+
|
|
42
|
+
1. `npm test`
|
|
43
|
+
2. `npm run scan:assets`
|
|
44
|
+
3. `npm run release:doctor`
|
|
45
|
+
|
|
46
|
+
Se qualquer etapa falhar, a release não está pronta.
|
package/docs/ROLES.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# OXE — Guia por Papel
|
|
2
|
+
|
|
3
|
+
Cada papel interage com o OXE de uma forma diferente. Este guia resume o que cada pessoa precisa ler, decidir e — importante — o que pode ignorar.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Executor
|
|
8
|
+
|
|
9
|
+
**Quem é:** Developer implementando a feature ou fix do ciclo atual.
|
|
10
|
+
|
|
11
|
+
**O que lê:**
|
|
12
|
+
- `.oxe/PLAN.md` — ondas, tarefas, hipóteses críticas, arquivos-alvo
|
|
13
|
+
- `.oxe/SPEC.md` — critérios de aceite (o que constitui "pronto")
|
|
14
|
+
- `.oxe/STATE.md` — fase atual e próximo passo recomendado
|
|
15
|
+
|
|
16
|
+
**O que decide:**
|
|
17
|
+
- Quando uma tarefa está concluída (marcar `[x]` ou deixar o executor marcar via `/oxe-execute`)
|
|
18
|
+
- Se uma hipótese crítica não pode ser verificada → escalar via `/oxe-debug`
|
|
19
|
+
- Se o plano precisa ser refeito → comunicar e rodar `/oxe-plan` novamente
|
|
20
|
+
|
|
21
|
+
**O que não precisa conhecer:**
|
|
22
|
+
- Detalhes do VERIFY.md (responsabilidade do reviewer)
|
|
23
|
+
- Configuração de gates e promoção (responsabilidade do operador)
|
|
24
|
+
- Funcionamento interno do runtime TypeScript
|
|
25
|
+
|
|
26
|
+
**Comandos principais:**
|
|
27
|
+
```
|
|
28
|
+
/oxe-execute → executa a onda atual
|
|
29
|
+
/oxe-execute --task T3 → executa tarefa específica
|
|
30
|
+
/oxe-debug → diagnóstico quando travado
|
|
31
|
+
/oxe-quick → ciclo completo para tarefas S/M
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Reviewer
|
|
37
|
+
|
|
38
|
+
**Quem é:** Developer ou tech lead validando o que foi implementado.
|
|
39
|
+
|
|
40
|
+
**O que lê:**
|
|
41
|
+
- `.oxe/SPEC.md` — critérios de aceite para comparar com a implementação
|
|
42
|
+
- `.oxe/VERIFY.md` — resultado da verificação gerada pelo `/oxe-verify`
|
|
43
|
+
- Código e testes produzidos no ciclo
|
|
44
|
+
|
|
45
|
+
**O que decide:**
|
|
46
|
+
- Se os critérios A* foram atendidos
|
|
47
|
+
- Se há riscos residuais que bloqueiam a promoção
|
|
48
|
+
- Se é necessário um novo ciclo (respec, replan, re-execute)
|
|
49
|
+
|
|
50
|
+
**O que não precisa conhecer:**
|
|
51
|
+
- Detalhes de implementação de cada tarefa do PLAN.md
|
|
52
|
+
- Configuração de runtime, gates ou sessions
|
|
53
|
+
|
|
54
|
+
**Comandos principais:**
|
|
55
|
+
```
|
|
56
|
+
/oxe-verify → valida critérios do SPEC contra evidências
|
|
57
|
+
/oxe-verify --audit → auditoria adversarial (sem acesso ao PLAN)
|
|
58
|
+
/oxe-review-pr → revisão de PR/branch externo
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Operador de Gate / Incidente
|
|
64
|
+
|
|
65
|
+
**Quem é:** Tech lead ou SRE responsável por aprovar promoções e resolver bloqueios operacionais.
|
|
66
|
+
|
|
67
|
+
**O que lê:**
|
|
68
|
+
- `npx oxe-cc runtime gates list --dir .` — fila de gates pendentes
|
|
69
|
+
- `.oxe/runs/<run_id>/residual-risks.json` — riscos residuais da run
|
|
70
|
+
- `npx oxe-cc status --full` — estado operacional completo
|
|
71
|
+
- [`docs/INCIDENT-PLAYBOOK.md`](INCIDENT-PLAYBOOK.md) — guia de resolução
|
|
72
|
+
|
|
73
|
+
**O que decide:**
|
|
74
|
+
- Aprovar, rejeitar ou dispensar (`waive`) cada gate
|
|
75
|
+
- Quando disparar `runtime recover` vs. `runtime replay`
|
|
76
|
+
- Quando promover para `pr_draft` ou bloquear a promoção
|
|
77
|
+
|
|
78
|
+
**O que não precisa conhecer:**
|
|
79
|
+
- Detalhes do PLAN.md ou quais tarefas foram implementadas
|
|
80
|
+
- Semântica de raciocínio dos workflows
|
|
81
|
+
|
|
82
|
+
**Comandos principais:**
|
|
83
|
+
```bash
|
|
84
|
+
npx oxe-cc runtime gates list --dir .
|
|
85
|
+
npx oxe-cc runtime gates resolve --dir . --gate <id> --decision approve --actor <nome>
|
|
86
|
+
npx oxe-cc runtime promote --dir . --target pr_draft
|
|
87
|
+
npx oxe-cc runtime recover --dir . --run-id <id>
|
|
88
|
+
npx oxe-cc status --full
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Mantenedor do Pacote
|
|
94
|
+
|
|
95
|
+
**Quem é:** Responsável por publicar novas versões do `oxe-cc` no npm.
|
|
96
|
+
|
|
97
|
+
**O que lê:**
|
|
98
|
+
- `CHANGELOG.md` — deve ter entrada para a nova versão antes de publicar
|
|
99
|
+
- `README.md` — badge de versão deve estar atualizado
|
|
100
|
+
- `package.json` — `version` alinhado com tag git e CHANGELOG
|
|
101
|
+
- `.github/workflows/release.yml` — pipeline de publicação automatizada
|
|
102
|
+
|
|
103
|
+
**O que decide:**
|
|
104
|
+
- Qual semver bump aplicar (major/minor/patch)
|
|
105
|
+
- Quando acionar a release (tag `v*.*.*` no git)
|
|
106
|
+
- Se uma release candidate é necessária antes da publicação
|
|
107
|
+
|
|
108
|
+
**O que não precisa conhecer:**
|
|
109
|
+
- Detalhes de implementação dos workflows individuais
|
|
110
|
+
- Estado operacional de projetos que usam OXE
|
|
111
|
+
|
|
112
|
+
**Checklist de release:**
|
|
113
|
+
```bash
|
|
114
|
+
# 1. Bump de versão
|
|
115
|
+
# Atualizar: package.json, README.md, CHANGELOG.md
|
|
116
|
+
|
|
117
|
+
# 2. Validar
|
|
118
|
+
npm test
|
|
119
|
+
npm run scan:assets
|
|
120
|
+
node bin/oxe-cc.js doctor
|
|
121
|
+
node bin/oxe-cc.js --version
|
|
122
|
+
|
|
123
|
+
# 3. Dry-run
|
|
124
|
+
npm publish --dry-run
|
|
125
|
+
|
|
126
|
+
# 4. Tag e push (dispara release.yml automaticamente)
|
|
127
|
+
git tag v1.x.0
|
|
128
|
+
git push origin v1.x.0
|
|
129
|
+
```
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# OXE — Runtime Smoke Matrix
|
|
2
|
+
|
|
3
|
+
> Estado de suporte por runtime de IA. Atualizado em v1.5.1.
|
|
4
|
+
>
|
|
5
|
+
> `✓` = suportado e testado | `~` = suportado parcialmente | `✗` = não suportado | `?` = não testado
|
|
6
|
+
|
|
7
|
+
Este documento descreve a matrix estável da release. O artefato operacional consumido por `doctor --release` é `.oxe/release/runtime-smoke-report.json`.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Matriz de operações × runtimes
|
|
12
|
+
|
|
13
|
+
| Runtime | install | `/oxe` | plan | execute | verify | runtime-first |
|
|
14
|
+
|---------------|:-------:|:------:|:----:|:-------:|:------:|:-------------:|
|
|
15
|
+
| Cursor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
16
|
+
| Copilot VS Code | ✓ | ✓ | ✓ | ✓ | ✓ | ~ |
|
|
17
|
+
| Claude Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
18
|
+
| Codex CLI | ✓ | ✓ | ✓ | ✓ | ~ | ✗ |
|
|
19
|
+
| Gemini CLI | ✓ | ✓ | ~ | ~ | ~ | ✗ |
|
|
20
|
+
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ~ |
|
|
21
|
+
| Windsurf | ✓ | ✓ | ✓ | ✓ | ✓ | ~ |
|
|
22
|
+
| Antigravity | ~ | ~ | ~ | ? | ? | ✗ |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Definição de operações
|
|
27
|
+
|
|
28
|
+
| Operação | O que significa |
|
|
29
|
+
|----------|----------------|
|
|
30
|
+
| `install` | `npx oxe-cc@latest` completa sem erro; `doctor` retorna ✓ |
|
|
31
|
+
| `/oxe` | Router lê STATE.md e retorna próximo passo correto |
|
|
32
|
+
| `plan` | `/oxe-plan` gera PLAN.md com ondas e tarefas válidas |
|
|
33
|
+
| `execute` | `/oxe-execute` implementa tarefas e as marca como concluídas |
|
|
34
|
+
| `verify` | `/oxe-verify` produz VERIFY.md com evidências para critérios A* |
|
|
35
|
+
| `runtime-first` | `npx oxe-cc runtime gates/promote/recover` funcionam sem fallback |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Pressupostos por runtime
|
|
40
|
+
|
|
41
|
+
### Cursor
|
|
42
|
+
|
|
43
|
+
- Lê `.cursor/commands/oxe-*.md` via slash commands
|
|
44
|
+
- Suporte completo a runtime-first via terminal integrado
|
|
45
|
+
- Contexto de arquivo `.oxe/STATE.md` disponível automaticamente
|
|
46
|
+
- **Limitação:** multi-agent requer Cursor Agent mode (não Background Agents)
|
|
47
|
+
|
|
48
|
+
### Copilot VS Code
|
|
49
|
+
|
|
50
|
+
- Lê `.github/prompts/oxe-*.prompt.md` via `#` references
|
|
51
|
+
- `runtime-first` é parcial: `runtime verify` e `runtime gates list` funcionam; `runtime promote` requer terminal externo
|
|
52
|
+
- **Limitação:** prompts longos podem ser truncados na janela de contexto do Copilot Chat
|
|
53
|
+
|
|
54
|
+
### Claude Code
|
|
55
|
+
|
|
56
|
+
- Lê `commands/oxe/*.md` (Claude Code slash commands)
|
|
57
|
+
- Suporte completo a runtime-first via CLI integrado
|
|
58
|
+
- Raciocínio em cadeia (CoT) é nativo — contratos de raciocínio funcionam sem adaptação
|
|
59
|
+
- **Pressuposto:** `~/.claude/commands/` ou `commands/` no projeto configurado
|
|
60
|
+
|
|
61
|
+
### Codex CLI
|
|
62
|
+
|
|
63
|
+
- Lê `.github/prompts/` via `--instructions` flag
|
|
64
|
+
- `verify` parcial: gera VERIFY.md mas evidências são menos detalhadas (sem análise de AST)
|
|
65
|
+
- `runtime-first` não suportado: Codex CLI não tem acesso a subprocessos Node
|
|
66
|
+
- **Limitação:** não suporta contexto multi-arquivo simultâneo em tasks longas
|
|
67
|
+
|
|
68
|
+
### Gemini CLI
|
|
69
|
+
|
|
70
|
+
- `plan` e `execute` parciais: segue o fluxo mas pode divergir dos critérios A* do SPEC
|
|
71
|
+
- `verify` parcial: produz VERIFY.md mas com menor cobertura de evidências
|
|
72
|
+
- `runtime-first` não suportado: sem integração com `oxe-cc` CLI
|
|
73
|
+
- **Limitação:** não lê `.oxe/STATE.md` nativamente — requer instrução explícita no prompt
|
|
74
|
+
|
|
75
|
+
### OpenCode
|
|
76
|
+
|
|
77
|
+
- Suporte completo ao ciclo spec→plan→execute→verify
|
|
78
|
+
- `runtime-first` parcial: `runtime gates list` e `runtime recover` funcionam; `runtime promote` requer verificação manual de output
|
|
79
|
+
- **Pressuposto:** modo de agente ativo (não completions puras)
|
|
80
|
+
|
|
81
|
+
### Windsurf
|
|
82
|
+
|
|
83
|
+
- Suporte completo ao ciclo principal
|
|
84
|
+
- `runtime-first` parcial: comandos `npx oxe-cc runtime *` funcionam via terminal integrado mas sem UX nativa
|
|
85
|
+
- **Pressuposto:** Cascade mode ativo para execução de tarefas multi-step
|
|
86
|
+
|
|
87
|
+
### Antigravity
|
|
88
|
+
|
|
89
|
+
- `install` parcial: `npx oxe-cc@latest` funciona; `doctor` pode reportar warnings em alguns ambientes
|
|
90
|
+
- `/oxe` parcial: router funciona mas leitura de STATE.md depende de configuração manual
|
|
91
|
+
- `plan`, `execute` parciais: testados apenas em POC inicial
|
|
92
|
+
- `runtime-first` não suportado: sem testes realizados neste runtime
|
|
93
|
+
- **Status:** em avaliação — abrir issue no repositório com resultados de testes
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Comportamentos suportados vs. não suportados (por todos os runtimes)
|
|
98
|
+
|
|
99
|
+
### Suportados em todos os runtimes com `✓`
|
|
100
|
+
|
|
101
|
+
- Geração de SPEC.md, PLAN.md, VERIFY.md
|
|
102
|
+
- Marcação de tarefas concluídas (`[x]`)
|
|
103
|
+
- Leitura de STATE.md para roteamento
|
|
104
|
+
- `oxe-cc doctor` e `oxe-cc status` via terminal
|
|
105
|
+
|
|
106
|
+
### Não suportados em nenhum runtime
|
|
107
|
+
|
|
108
|
+
- Execução automática de `npm test` sem aprovação explícita do usuário
|
|
109
|
+
- Push para branch remota sem confirmação
|
|
110
|
+
- Modificação de `.oxe/config.json` em runtime (requer restart do agente)
|
|
111
|
+
|
|
112
|
+
### Comportamentos específicos por runtime
|
|
113
|
+
|
|
114
|
+
| Comportamento | Runtimes afetados |
|
|
115
|
+
|---------------|-------------------|
|
|
116
|
+
| Truncamento de prompts longos | Copilot, Codex |
|
|
117
|
+
| CoT nativo sem instrução explícita | Claude Code |
|
|
118
|
+
| Requer modo agente explícito | OpenCode, Windsurf |
|
|
119
|
+
| Leitura de STATE.md automática | Cursor, Claude Code |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Como reportar um problema de compatibilidade
|
|
124
|
+
|
|
125
|
+
1. Identificar qual operação falhou e em qual runtime
|
|
126
|
+
2. Coletar: output do comando, versão do runtime, `oxe-cc --version`
|
|
127
|
+
3. Abrir issue no repositório com label `runtime-compat`
|
|
128
|
+
4. Incluir o output de `npx oxe-cc doctor` e `npx oxe-cc status --full`
|