oxe-cc 1.4.0 → 1.5.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.
- package/.cursor/commands/oxe-ask.md +4 -2
- package/.cursor/commands/oxe-capabilities.md +4 -2
- package/.cursor/commands/oxe-checkpoint.md +4 -2
- package/.cursor/commands/oxe-compact.md +4 -2
- package/.cursor/commands/oxe-dashboard.md +4 -2
- package/.cursor/commands/oxe-debug.md +4 -2
- package/.cursor/commands/oxe-discuss.md +4 -2
- package/.cursor/commands/oxe-execute.md +5 -3
- package/.cursor/commands/oxe-forensics.md +4 -2
- package/.cursor/commands/oxe-help.md +4 -2
- package/.cursor/commands/oxe-loop.md +4 -2
- package/.cursor/commands/oxe-milestone.md +4 -2
- package/.cursor/commands/oxe-next.md +4 -2
- package/.cursor/commands/oxe-obs.md +4 -2
- package/.cursor/commands/oxe-plan-agent.md +4 -2
- package/.cursor/commands/oxe-plan.md +4 -2
- package/.cursor/commands/oxe-project.md +4 -2
- package/.cursor/commands/oxe-quick.md +4 -2
- package/.cursor/commands/oxe-research.md +4 -2
- package/.cursor/commands/oxe-retro.md +4 -2
- package/.cursor/commands/oxe-review-pr.md +4 -2
- package/.cursor/commands/oxe-route.md +4 -2
- package/.cursor/commands/oxe-scan.md +4 -2
- package/.cursor/commands/oxe-security.md +4 -2
- package/.cursor/commands/oxe-session.md +5 -3
- package/.cursor/commands/oxe-ship.md +4 -2
- package/.cursor/commands/oxe-skill.md +4 -2
- package/.cursor/commands/oxe-spec.md +4 -2
- package/.cursor/commands/oxe-ui-review.md +4 -2
- package/.cursor/commands/oxe-ui-spec.md +4 -2
- package/.cursor/commands/oxe-update.md +4 -2
- package/.cursor/commands/oxe-validate-gaps.md +4 -2
- package/.cursor/commands/oxe-verify-audit.md +46 -0
- package/.cursor/commands/oxe-verify.md +4 -2
- package/.cursor/commands/oxe-workflow-authoring.md +47 -0
- package/.cursor/commands/oxe-workstream.md +4 -2
- package/.cursor/commands/oxe.md +6 -2
- package/.github/prompts/oxe-ask.prompt.md +4 -2
- package/.github/prompts/oxe-capabilities.prompt.md +4 -2
- package/.github/prompts/oxe-checkpoint.prompt.md +4 -2
- package/.github/prompts/oxe-compact.prompt.md +5 -3
- package/.github/prompts/oxe-dashboard.prompt.md +4 -2
- package/.github/prompts/oxe-debug.prompt.md +4 -2
- package/.github/prompts/oxe-discuss.prompt.md +6 -2
- package/.github/prompts/oxe-execute.prompt.md +5 -3
- package/.github/prompts/oxe-forensics.prompt.md +4 -2
- package/.github/prompts/oxe-help.prompt.md +6 -2
- package/.github/prompts/oxe-loop.prompt.md +4 -2
- package/.github/prompts/oxe-milestone.prompt.md +4 -2
- package/.github/prompts/oxe-next.prompt.md +6 -2
- package/.github/prompts/oxe-obs.prompt.md +4 -2
- package/.github/prompts/oxe-plan-agent.prompt.md +5 -2
- package/.github/prompts/oxe-plan.prompt.md +4 -2
- package/.github/prompts/oxe-project.prompt.md +4 -2
- package/.github/prompts/oxe-quick.prompt.md +4 -2
- package/.github/prompts/oxe-research.prompt.md +4 -2
- package/.github/prompts/oxe-retro.prompt.md +4 -2
- package/.github/prompts/oxe-review-pr.prompt.md +4 -2
- package/.github/prompts/oxe-route.prompt.md +4 -2
- package/.github/prompts/oxe-scan.prompt.md +4 -2
- package/.github/prompts/oxe-security.prompt.md +4 -2
- package/.github/prompts/oxe-session.prompt.md +5 -3
- package/.github/prompts/oxe-ship.prompt.md +4 -2
- package/.github/prompts/oxe-skill.prompt.md +4 -2
- package/.github/prompts/oxe-spec.prompt.md +4 -2
- package/.github/prompts/oxe-ui-review.prompt.md +4 -2
- package/.github/prompts/oxe-ui-spec.prompt.md +4 -2
- package/.github/prompts/oxe-update.prompt.md +4 -2
- package/.github/prompts/oxe-validate-gaps.prompt.md +4 -2
- package/.github/prompts/oxe-verify-audit.prompt.md +46 -0
- package/.github/prompts/oxe-verify.prompt.md +4 -2
- package/.github/prompts/oxe-workflow-authoring.prompt.md +47 -0
- package/.github/prompts/oxe-workstream.prompt.md +4 -2
- package/.github/prompts/oxe.prompt.md +6 -2
- package/.github/workflows/ci.yml +57 -20
- package/.github/workflows/release.yml +94 -0
- package/AGENTS.md +3 -1
- package/CHANGELOG.md +383 -342
- package/QUICKSTART.md +99 -0
- package/README.md +89 -65
- package/bin/lib/oxe-agent-install.cjs +127 -107
- package/bin/lib/oxe-install-resolve.cjs +10 -0
- package/bin/lib/oxe-operational.cjs +34 -28
- package/bin/lib/oxe-project-health.cjs +38 -6
- package/bin/lib/oxe-release.cjs +423 -0
- package/bin/lib/oxe-runtime-semantics.cjs +68 -24
- package/bin/oxe-cc.js +388 -55
- package/commands/oxe/ask.md +7 -3
- package/commands/oxe/capabilities.md +6 -2
- package/commands/oxe/checkpoint.md +5 -1
- package/commands/oxe/compact.md +6 -2
- package/commands/oxe/dashboard.md +6 -2
- package/commands/oxe/debug.md +6 -2
- package/commands/oxe/discuss.md +6 -2
- package/commands/oxe/execute.md +6 -2
- package/commands/oxe/forensics.md +6 -2
- package/commands/oxe/help.md +6 -2
- package/commands/oxe/loop.md +6 -2
- package/commands/oxe/milestone.md +6 -2
- package/commands/oxe/next.md +6 -2
- package/commands/oxe/obs.md +6 -2
- package/commands/oxe/oxe.md +6 -2
- package/commands/oxe/plan-agent.md +6 -2
- package/commands/oxe/plan.md +6 -2
- package/commands/oxe/project.md +6 -2
- package/commands/oxe/quick.md +6 -2
- package/commands/oxe/research.md +6 -2
- package/commands/oxe/retro.md +6 -2
- package/commands/oxe/review-pr.md +6 -2
- package/commands/oxe/route.md +6 -2
- package/commands/oxe/scan.md +6 -2
- package/commands/oxe/security.md +6 -2
- package/commands/oxe/session.md +6 -2
- package/commands/oxe/ship.md +6 -2
- package/commands/oxe/skill.md +6 -2
- package/commands/oxe/spec.md +6 -2
- package/commands/oxe/ui-review.md +6 -2
- package/commands/oxe/ui-spec.md +6 -2
- package/commands/oxe/update.md +6 -2
- package/commands/oxe/validate-gaps.md +6 -2
- package/commands/oxe/verify-audit.md +50 -0
- package/commands/oxe/verify.md +6 -2
- package/commands/oxe/workflow-authoring.md +50 -0
- package/commands/oxe/workstream.md +6 -2
- 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 +22 -8
- package/lib/sdk/index.d.ts +60 -16
- package/oxe/templates/config.template.json +1 -0
- package/package.json +30 -22
- package/packages/runtime/package.json +1 -1
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +357 -193
- package/vscode-extension/oxe-agents-1.4.0.vsix +0 -0
- package/vscode-extension/oxe-agents-1.5.0.vsix +0 -0
- package/vscode-extension/package.json +1 -1
|
@@ -44,6 +44,10 @@ oxe_semantics_hash: 380bd0a3f3620845
|
|
|
44
44
|
|
|
45
45
|
<!-- oxe-reasoning-contract:end -->
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
<!-- oxe-workflow-resolution:start -->
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
**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.
|
|
50
|
+
|
|
51
|
+
<!-- oxe-workflow-resolution:end -->
|
|
52
|
+
|
|
53
|
+
Usa o texto em `$ARGUMENTS` como subcomando e contexto.
|
|
@@ -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.0.
|
|
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`
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# OXE — Adoção em Times
|
|
2
|
+
|
|
3
|
+
> Para times de 2–20 devs usando OXE em projetos compartilhados.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Fluxo branch/PR recomendado
|
|
8
|
+
|
|
9
|
+
Cada feature ou fix percorre este caminho:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
git checkout -b feature/minha-feature
|
|
13
|
+
/oxe-spec → define critérios de aceite em .oxe/SPEC.md
|
|
14
|
+
/oxe-plan → gera .oxe/PLAN.md com ondas e tarefas
|
|
15
|
+
/oxe-execute → implementa onda a onda
|
|
16
|
+
/oxe-verify → valida critérios do SPEC com evidências
|
|
17
|
+
npx oxe-cc runtime promote --dir . --target pr_draft → abre PR draft
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
O PR draft já vem com `.oxe/VERIFY.md` como evidência de qualidade. O reviewer usa `/oxe-verify --audit` para validação adversarial antes de aprovar.
|
|
21
|
+
|
|
22
|
+
**Regra de ouro:** nunca mergear sem `VERIFY.md` existente e fase `verify_complete` no STATE.md.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Ship local vs. promote remoto
|
|
27
|
+
|
|
28
|
+
| Situação | Comando | Quando usar |
|
|
29
|
+
|----------|---------|-------------|
|
|
30
|
+
| Tarefa solo, ciclo completo local | `/oxe-quick` | Tasks S/M sem necessidade de review formal |
|
|
31
|
+
| Feature com review de time | `/oxe-verify` + `runtime promote --target pr_draft` | Qualquer feature que vai para revisão |
|
|
32
|
+
| Hotfix urgente | `/oxe-execute --task T1` + `/oxe-verify` + `runtime promote --target pr_draft` | Correções urgentes com rastreabilidade |
|
|
33
|
+
| Experimento / POC | `/oxe-spec` + `/oxe-plan` + `/oxe-execute` sem promote | Validações rápidas, sem PR |
|
|
34
|
+
|
|
35
|
+
`/oxe-ship` (comando legado) equivale a `/oxe-verify` + `git add/commit/push` sem passar pelo gate de promoção formal. Prefira `runtime promote` quando rastreabilidade importa.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Sessões e workstreams sem poluir `.oxe/`
|
|
40
|
+
|
|
41
|
+
### Sessões
|
|
42
|
+
|
|
43
|
+
Cada sessão de trabalho tem um ID único. Para manter o diretório `.oxe/` limpo:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Nomear sessão explicitamente
|
|
47
|
+
npx oxe-cc runtime session start --name "feat-auth-2fa"
|
|
48
|
+
|
|
49
|
+
# Ver sessão ativa
|
|
50
|
+
npx oxe-cc runtime session status
|
|
51
|
+
|
|
52
|
+
# Fechar sessão ao final do dia / feature
|
|
53
|
+
npx oxe-cc runtime session close
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Não deixar sessões abertas.** Sessões esquecidas acumulam gates `stale` e bloqueiam relatórios de status do time.
|
|
57
|
+
|
|
58
|
+
### Workstreams paralelos
|
|
59
|
+
|
|
60
|
+
Para times trabalhando em features paralelas no mesmo repo:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Workstream A (feature de autenticação)
|
|
64
|
+
npx oxe-cc runtime workstream create --name auth --branch feature/auth-2fa
|
|
65
|
+
|
|
66
|
+
# Workstream B (feature de dashboard)
|
|
67
|
+
npx oxe-cc runtime workstream create --name dashboard --branch feature/dashboard-v2
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Cada workstream mantém STATE.md e gates separados. Use `npx oxe-cc status --workstream auth` para ver o estado de um workstream específico sem poluir a view padrão.
|
|
71
|
+
|
|
72
|
+
**Regra:** um workstream por feature branch. Nunca compartilhar um workstream entre duas features não relacionadas.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Governança mínima
|
|
77
|
+
|
|
78
|
+
### Quando exigir `discuss_before_plan`
|
|
79
|
+
|
|
80
|
+
Ative quando a feature afeta:
|
|
81
|
+
- Contratos de API públicos ou schemas compartilhados
|
|
82
|
+
- Decisões de arquitetura que impactam outros times
|
|
83
|
+
- Mudanças em infraestrutura ou pipelines de CI/CD
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
// .oxe/config.json
|
|
87
|
+
{
|
|
88
|
+
"governance": {
|
|
89
|
+
"discuss_before_plan": ["contracts/**", "infra/**", "*.schema.json"]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Sem esse gate, o planner vai direto para PLAN.md sem esperar alinhamento.
|
|
95
|
+
|
|
96
|
+
### Quando ativar `strict`
|
|
97
|
+
|
|
98
|
+
Modo `strict` exige evidências formais para cada critério A* do SPEC antes de autorizar promoção. Use em:
|
|
99
|
+
- Releases com SLA de qualidade (produção, clientes enterprise)
|
|
100
|
+
- Features de segurança ou compliance
|
|
101
|
+
- Qualquer ciclo onde um reviewer externo vai auditar
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"verification": {
|
|
106
|
+
"strict": true
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Em modo `strict`, `runtime promote` falha se qualquer critério A* não tiver evidência verificada.
|
|
112
|
+
|
|
113
|
+
### Quando usar multi-agent
|
|
114
|
+
|
|
115
|
+
Use orquestração multi-agent (`/oxe-plan --multi-agent`) quando:
|
|
116
|
+
- A feature tem ondas independentes que podem ser paralelizadas
|
|
117
|
+
- Time tem múltiplos devs disponíveis para executar simultaneamente
|
|
118
|
+
- Tarefa de refactor em múltiplos módulos sem dependência entre eles
|
|
119
|
+
|
|
120
|
+
Não use multi-agent para:
|
|
121
|
+
- Features com dependências sequenciais fortes entre tarefas
|
|
122
|
+
- Mudanças em arquivos compartilhados (conflitos de merge)
|
|
123
|
+
- Ciclos onde um único dev vai executar tudo
|
|
124
|
+
|
|
125
|
+
### Quando não usar OXE
|
|
126
|
+
|
|
127
|
+
- Scripts one-off que não vão para produção
|
|
128
|
+
- Experimentos de < 30 minutos sem necessidade de rastreabilidade
|
|
129
|
+
- Mudanças em documentação pura (typos, formatação)
|
|
130
|
+
|
|
131
|
+
Para esses casos, trabalhe direto sem o ciclo spec→plan→execute→verify.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Checklist de integração para times novos
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
[ ] oxe-cc doctor retorna ✓ para todos os checks
|
|
139
|
+
[ ] .oxe/config.json criado com profile do time
|
|
140
|
+
[ ] Todos os devs têm o wrapper da IDE configurado (/oxe no Cursor, etc.)
|
|
141
|
+
[ ] Branch protection rule exige VERIFY.md antes de merge
|
|
142
|
+
[ ] Primeiro ciclo completo feito em pair programming
|
|
143
|
+
[ ] Operador de gate designado (quem aprova runtime gates)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Referências
|
|
149
|
+
|
|
150
|
+
- **Primeiros 15 minutos** → [`QUICKSTART.md`](../QUICKSTART.md)
|
|
151
|
+
- **Por papel** → [`docs/ROLES.md`](ROLES.md)
|
|
152
|
+
- **Exemplo completo** → [`docs/WALKTHROUGH.md`](WALKTHROUGH.md)
|
|
153
|
+
- **Incidentes e gates** → [`docs/INCIDENT-PLAYBOOK.md`](INCIDENT-PLAYBOOK.md)
|