oxe-cc 0.6.6 → 0.7.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-capabilities.md +11 -0
- package/.cursor/commands/oxe-dashboard.md +11 -0
- package/.github/prompts/oxe-capabilities.prompt.md +12 -0
- package/.github/prompts/oxe-dashboard.prompt.md +12 -0
- package/CHANGELOG.md +33 -0
- package/README.md +147 -11
- package/assets/oxe-framework-artifacts-paper.png +0 -0
- package/bin/banner.txt +1 -1
- package/bin/lib/oxe-azure.cjs +1445 -0
- package/bin/lib/oxe-dashboard.cjs +588 -0
- package/bin/lib/oxe-install-resolve.cjs +4 -1
- package/bin/lib/oxe-operational.cjs +670 -0
- package/bin/lib/oxe-project-health.cjs +372 -28
- package/bin/oxe-cc.js +1517 -312
- package/commands/oxe/capabilities.md +13 -0
- package/commands/oxe/dashboard.md +14 -0
- package/lib/sdk/README.md +9 -7
- package/lib/sdk/index.cjs +56 -0
- package/lib/sdk/index.d.ts +73 -0
- package/oxe/templates/ACTIVE-RUN.template.json +32 -0
- package/oxe/templates/CAPABILITIES.template.md +7 -0
- package/oxe/templates/CAPABILITY.template.md +45 -0
- package/oxe/templates/CHECKPOINTS.template.md +7 -0
- package/oxe/templates/EXECUTION-RUNTIME.template.md +68 -0
- package/oxe/templates/INVESTIGATION.template.md +38 -0
- package/oxe/templates/NOTES.template.md +16 -0
- package/oxe/templates/PLAN-REVIEW.template.md +31 -0
- package/oxe/templates/RESEARCH.template.md +11 -4
- package/oxe/templates/SPEC.template.md +6 -4
- package/oxe/templates/STATE.md +45 -7
- package/oxe/templates/config.template.json +11 -3
- package/oxe/workflows/ask.md +10 -1
- package/oxe/workflows/capabilities.md +23 -0
- package/oxe/workflows/dashboard.md +23 -0
- package/oxe/workflows/discuss.md +11 -9
- package/oxe/workflows/execute.md +57 -35
- package/oxe/workflows/help.md +256 -225
- package/oxe/workflows/obs.md +70 -20
- package/oxe/workflows/plan.md +83 -74
- package/oxe/workflows/quick.md +16 -11
- package/oxe/workflows/references/adaptive-discovery.md +27 -0
- package/oxe/workflows/research.md +12 -8
- package/oxe/workflows/retro.md +30 -5
- package/oxe/workflows/scan.md +1 -0
- package/oxe/workflows/spec.md +65 -48
- package/oxe/workflows/verify.md +52 -37
- package/package.json +2 -2
package/oxe/workflows/spec.md
CHANGED
|
@@ -13,22 +13,27 @@ Para trabalho **muito pequeno** que não justifica spec completa: redirecionar p
|
|
|
13
13
|
Se **`.oxe/config.json`** tiver `discuss_before_plan: true`: mencionar no final da Fase 5 que o próximo passo é **`oxe:discuss`** antes do plano.
|
|
14
14
|
</objective>
|
|
15
15
|
|
|
16
|
-
<context>
|
|
17
|
-
**Pré-requisito preferível:** scan executado. Se não existir, mencionar na spec que o mapa está pendente.
|
|
18
|
-
|
|
19
|
-
**Contrato de robustez:** seguir `oxe/workflows/references/flow-robustness-contract.md`. Antes de escrever, resolver artefatos obrigatórios, validar pré-condições e só então produzir a spec. O output desta fase deve deixar evidência estruturada suficiente para o `plan` decidir se o plano é realmente o melhor disponível.
|
|
20
|
-
|
|
21
|
-
**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- `
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
16
|
+
<context>
|
|
17
|
+
**Pré-requisito preferível:** scan executado. Se não existir, mencionar na spec que o mapa está pendente.
|
|
18
|
+
|
|
19
|
+
**Contrato de robustez:** seguir `oxe/workflows/references/flow-robustness-contract.md`. Antes de escrever, resolver artefatos obrigatórios, validar pré-condições e só então produzir a spec. O output desta fase deve deixar evidência estruturada suficiente para o `plan` decidir se o plano é realmente o melhor disponível.
|
|
20
|
+
|
|
21
|
+
**Discovery adaptativo:** antes da primeira pergunta, aplicar `oxe/workflows/references/adaptive-discovery.md`. Classificar a demanda, modular os blocos de perguntas conforme o domínio, limitar rodadas e consolidar incertezas estruturadas que depois alimentarão a confiança do plano.
|
|
22
|
+
|
|
23
|
+
**Resolução de sessão:** antes de ler ou escrever artefatos desta trilha, resolver `active_session` em `.oxe/STATE.md` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa:
|
|
24
|
+
- `SPEC.md`, `ROADMAP.md` e `DISCUSS.md` vivem em `.oxe/<active_session>/spec/`
|
|
25
|
+
- `OBSERVATIONS.md`, `RESEARCH.md` e `research/` seguem o escopo da sessão
|
|
26
|
+
- `LESSONS.md` continua global em `.oxe/global/LESSONS.md`
|
|
27
|
+
- sem sessão ativa, manter o modo legado na raiz `.oxe/`
|
|
28
|
+
|
|
29
|
+
Ler no início:
|
|
30
|
+
- `.oxe/STATE.md` — fase atual, decisões, workstream ativo
|
|
31
|
+
- `EXECUTION-RUNTIME.md`, `CHECKPOINTS.md` e `memory/` do escopo ativo se existirem — usar como contexto auxiliar, nunca como substituto da SPEC
|
|
32
|
+
- `.oxe/codebase/OVERVIEW.md` e `STACK.md` se existirem — não contradizer o repo
|
|
33
|
+
- **OBS do escopo ativo** — se houver entradas `pendente` com impacto `spec` ou `all`, incorporá-las na Fase 3 (Requisitos) e marcá-las `incorporada → spec (data)` após uso
|
|
34
|
+
- **`.oxe/global/LESSONS.md`** — se existir, ler entradas com `Aplicar em: spec` e status `ativo`. **Priorizar entradas com `Frequência >= 2` ou `Impacto: alto`** — aplicar como restrições explícitas. Entradas com `Frequência: 1` e `Impacto: baixo` são contexto secundário. Usar durante a Fase 1 (perguntas) e Fase 3 (requisitos). Exemplo: se uma lição diz "perguntar explicitamente sobre integração com X", adicionar essa pergunta no Bloco B da Fase 1.
|
|
35
|
+
- `.oxe/CAPABILITIES.md` e `.oxe/INVESTIGATIONS.md` — usar para sugerir capacidades e pesquisas já existentes antes de abrir novas lacunas
|
|
36
|
+
- Se o problema tocar Azure, ler `.oxe/cloud/azure/profile.json`, `auth-status.json` e `INVENTORY.md` antes de fechar requisitos; se o inventário estiver ausente ou stale, exigir discovery via `oxe-cc azure sync` antes de consolidar a spec
|
|
32
37
|
|
|
33
38
|
**Brownfield (COBOL, JCL, copybooks, VB6, SP):** quando o objetivo for documentar ou planear migração, ver **`oxe/workflows/references/legacy-brownfield.md`** — épicos por trilha, critérios A* verificáveis por Grep/leitura/checklist.
|
|
34
39
|
|
|
@@ -40,6 +45,8 @@ Usar templates: **`oxe/templates/SPEC.template.md`** e **`oxe/templates/ROADMAP.
|
|
|
40
45
|
|
|
41
46
|
**Objetivo:** entender completamente a ideia antes de qualquer escrita de artefato.
|
|
42
47
|
|
|
48
|
+
**Classificar a demanda no início:** antes do primeiro bloco, rotular a trilha com um tipo dominante (`feature`, `bugfix`, `refactor`, `investigação`, `migração`, `integração`, `infra`, `dados`, `ui`, `segurança`). Registar esse tipo na seção de contexto da SPEC.
|
|
49
|
+
|
|
43
50
|
**Regra de ouro:** nunca uma pergunta por vez — sempre um **bloco coeso** de 3-5 perguntas por rodada. Máximo **3 rodadas**; sinalize quando achar que tem entendimento completo e peça confirmação antes de avançar.
|
|
44
51
|
|
|
45
52
|
**Blocos de perguntas (adaptar ao contexto):**
|
|
@@ -66,6 +73,12 @@ Usar templates: **`oxe/templates/SPEC.template.md`** e **`oxe/templates/ROADMAP.
|
|
|
66
73
|
- Após rodada 3: avançar para Fase 2 mesmo com suposições explícitas
|
|
67
74
|
|
|
68
75
|
**Ao final:** "Acho que entendi completamente. Confirma antes de avançarmos para pesquisa/requisitos? [resumo em 3-5 bullets]"
|
|
76
|
+
|
|
77
|
+
**Registar incertezas estruturadas:** ao fim de cada rodada, consolidar:
|
|
78
|
+
- o que já está estável;
|
|
79
|
+
- o que segue ambíguo;
|
|
80
|
+
- quais evidências faltam;
|
|
81
|
+
- quais riscos podem reduzir a confiança do plano.
|
|
69
82
|
</fase_1_perguntas>
|
|
70
83
|
|
|
71
84
|
<fase_2_pesquisa>
|
|
@@ -73,12 +86,14 @@ Usar templates: **`oxe/templates/SPEC.template.md`** e **`oxe/templates/ROADMAP.
|
|
|
73
86
|
|
|
74
87
|
**Objetivo:** investigar domínios incertos antes de escrever requisitos.
|
|
75
88
|
|
|
76
|
-
**Proposta ao usuário:** com base na Fase 1, listar 2-4 áreas de investigação sugeridas e perguntar quais investigar. Exemplos:
|
|
77
|
-
- "Há 3 áreas com incerteza técnica: autenticação JWT, integração com Stripe, e deploy em edge. Quer investigar alguma antes de avançar para requisitos?"
|
|
89
|
+
**Proposta ao usuário:** com base na Fase 1, listar 2-4 áreas de investigação sugeridas e perguntar quais investigar. Exemplos:
|
|
90
|
+
- "Há 3 áreas com incerteza técnica: autenticação JWT, integração com Stripe, e deploy em edge. Quer investigar alguma antes de avançar para requisitos?"
|
|
91
|
+
- "A trilha depende de Azure e o inventário está incompleto. Quer sincronizar recursos reais antes de congelar os requisitos?"
|
|
78
92
|
|
|
79
93
|
**Se aprovado:**
|
|
80
|
-
- Criar notas de pesquisa datadas em `research/YYYY-MM-DD-<slug>.md` no escopo ativo (usar fluxo de `research.md`)
|
|
81
|
-
- Atualizar `RESEARCH.md` no mesmo escopo
|
|
94
|
+
- Criar notas de pesquisa datadas em `research/YYYY-MM-DD-<slug>.md` no escopo ativo (usar fluxo de `research.md`)
|
|
95
|
+
- Atualizar `RESEARCH.md` no mesmo escopo
|
|
96
|
+
- Atualizar `INVESTIGATIONS.md` com objetivo, fontes, profundidade, resultado e impacto na trilha
|
|
82
97
|
- Consolidar descobertas relevantes antes de avançar para Fase 3
|
|
83
98
|
|
|
84
99
|
**Se pulado:** registrar em `SPEC.md` as áreas de incerteza como suposições explícitas.
|
|
@@ -113,7 +128,7 @@ Usar templates: **`oxe/templates/SPEC.template.md`** e **`oxe/templates/ROADMAP.
|
|
|
113
128
|
<fase_4_roteiro>
|
|
114
129
|
## Fase 4 — Roteiro
|
|
115
130
|
|
|
116
|
-
**Objetivo:** criar fases de entrega mapeadas aos requisitos v1 e escrever `ROADMAP.md` no escopo ativo da sessão.
|
|
131
|
+
**Objetivo:** criar fases de entrega mapeadas aos requisitos v1 e escrever `ROADMAP.md` no escopo ativo da sessão.
|
|
117
132
|
|
|
118
133
|
**Lógica de agrupamento:**
|
|
119
134
|
- Agrupar requisitos v1 em fases por **dependência técnica** e **valor entregável**
|
|
@@ -121,14 +136,14 @@ Usar templates: **`oxe/templates/SPEC.template.md`** e **`oxe/templates/ROADMAP.
|
|
|
121
136
|
- Fase 1 = o que `/oxe-plan` implementará no próximo ciclo
|
|
122
137
|
- Fases 2+ = ciclos futuros de spec→plan→execute→verify
|
|
123
138
|
|
|
124
|
-
**Escrever `ROADMAP.md`** usando `oxe/templates/ROADMAP.template.md` no escopo ativo:
|
|
139
|
+
**Escrever `ROADMAP.md`** usando `oxe/templates/ROADMAP.template.md` no escopo ativo:
|
|
125
140
|
|
|
126
141
|
```markdown
|
|
127
142
|
---
|
|
128
143
|
oxe_doc: roadmap
|
|
129
144
|
status: draft
|
|
130
145
|
updated: <data>
|
|
131
|
-
spec_ref: SPEC.md
|
|
146
|
+
spec_ref: SPEC.md
|
|
132
147
|
---
|
|
133
148
|
|
|
134
149
|
## Fase 1 — [Nome]
|
|
@@ -162,19 +177,19 @@ Percorrer esta lista de verificação:
|
|
|
162
177
|
| 5 | **Critérios vagos:** algum A* usa linguagem não-mensurável ("deve ser rápido", "interface amigável") sem métrica? | Refinar: "resposta < 200ms p95", "WCAG 2.1 AA" |
|
|
163
178
|
| 6 | **Dependências implícitas:** algum requisito v1 pressupõe que outro requisito (v2 ou fora) já esteja implementado? | Tornar dependência explícita ou reordenar versioning |
|
|
164
179
|
|
|
165
|
-
**Resultado obrigatório antes de avançar:**
|
|
166
|
-
- **0 problemas** → avançar para Fase 5 normalmente.
|
|
167
|
-
- **1–2 problemas** → corrigir inline na spec, anotar o que foi ajustado em 1 linha.
|
|
168
|
-
- **3+ problemas** → apresentar lista ao usuário com a Fase 3 revisada (não reiniciar do zero).
|
|
169
|
-
|
|
170
|
-
O resultado desta reflexão é **invisível ao usuário** — é trabalho interno do agente. Somente os ajustes feitos aparecem na spec final.
|
|
171
|
-
|
|
172
|
-
**Saída estruturada obrigatória para o plan:** após esta reflexão, a SPEC final deve deixar explícitos:
|
|
173
|
-
- requisitos estáveis;
|
|
174
|
-
- ambiguidades restantes;
|
|
175
|
-
- conflitos resolvidos ou ainda abertos;
|
|
176
|
-
- evidências faltantes que podem reduzir a confiança do plano.
|
|
177
|
-
</auto_reflexao>
|
|
180
|
+
**Resultado obrigatório antes de avançar:**
|
|
181
|
+
- **0 problemas** → avançar para Fase 5 normalmente.
|
|
182
|
+
- **1–2 problemas** → corrigir inline na spec, anotar o que foi ajustado em 1 linha.
|
|
183
|
+
- **3+ problemas** → apresentar lista ao usuário com a Fase 3 revisada (não reiniciar do zero).
|
|
184
|
+
|
|
185
|
+
O resultado desta reflexão é **invisível ao usuário** — é trabalho interno do agente. Somente os ajustes feitos aparecem na spec final.
|
|
186
|
+
|
|
187
|
+
**Saída estruturada obrigatória para o plan:** após esta reflexão, a SPEC final deve deixar explícitos:
|
|
188
|
+
- requisitos estáveis;
|
|
189
|
+
- ambiguidades restantes;
|
|
190
|
+
- conflitos resolvidos ou ainda abertos;
|
|
191
|
+
- evidências faltantes que podem reduzir a confiança do plano.
|
|
192
|
+
</auto_reflexao>
|
|
178
193
|
|
|
179
194
|
<fase_5_aprovacao>
|
|
180
195
|
## Fase 5 — Aprovação e próximo passo
|
|
@@ -206,24 +221,26 @@ O resultado desta reflexão é **invisível ao usuário** — é trabalho intern
|
|
|
206
221
|
</fase_5_aprovacao>
|
|
207
222
|
|
|
208
223
|
<process>
|
|
209
|
-
1. Ler `.oxe/STATE.md`, `OVERVIEW.md`, `STACK.md` e `OBSERVATIONS.md` do escopo ativo (verificar pendentes).
|
|
210
|
-
2.
|
|
211
|
-
3. **Fase
|
|
212
|
-
4. **Fase
|
|
213
|
-
5. **Fase
|
|
214
|
-
6.
|
|
224
|
+
1. Ler `.oxe/STATE.md`, `OVERVIEW.md`, `STACK.md` e `OBSERVATIONS.md` do escopo ativo (verificar pendentes).
|
|
225
|
+
2. Aplicar `adaptive-discovery.md`: classificar a demanda, verificar se há capabilities úteis e se investigações anteriores reduzem incerteza.
|
|
226
|
+
3. **Fase 1 — Perguntas:** enviar bloco coeso de 3-5 perguntas; máx 3 rodadas; confirmar entendimento.
|
|
227
|
+
4. **Fase 2 — Pesquisa:** propor áreas de investigação; aguardar aprovação; executar se aprovado.
|
|
228
|
+
5. **Fase 3 — Requisitos:** extrair tabela R-ID com v1/v2/fora e critérios A*; incorporar OBS pendentes; apresentar para validação.
|
|
229
|
+
6. **Fase 4 — Roteiro:** agrupar requisitos v1 em fases; escrever `ROADMAP.md` no escopo ativo.
|
|
230
|
+
7. Escrever **`SPEC.md`** usando `oxe/templates/SPEC.template.md` no escopo ativo:
|
|
215
231
|
- Frontmatter YAML (`oxe_doc: spec`, `status`, `updated`, `inputs`)
|
|
216
232
|
- Objetivo, Escopo (dentro/fora), Critérios de aceite (tabela A*), Suposições e riscos, Referências
|
|
233
|
+
- Preencher explicitamente `Tipo de demanda` e `Incertezas estruturadas`
|
|
217
234
|
- Preservar chaves existentes se SPEC.md já existir; atualizar `updated:`
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
235
|
+
7b. **Auto-reflexão:** executar integralmente o bloco `<auto_reflexao>` antes de avançar. Corrigir a spec conforme necessário. Não apresentar a lista de verificação ao usuário — apenas a spec corrigida.
|
|
236
|
+
8. **Fase 5 — Aprovação:** apresentar resumo, aguardar aprovação do roteiro, redirecionar.
|
|
237
|
+
9. Atualizar **`.oxe/STATE.md`** global: `phase: spec_ready`, próximo passo e referência curta à sessão ativa quando existir.
|
|
238
|
+
10. Marcar OBS incorporadas em `OBSERVATIONS.md` do escopo ativo se houver pendentes de impacto `spec`.
|
|
222
239
|
</process>
|
|
223
240
|
|
|
224
241
|
<success_criteria>
|
|
225
|
-
- [ ] `SPEC.md` existe no escopo correto (`spec/` da sessão ou `.oxe/` legado) com critérios A* e coluna Como verificar; `STATE.md` global atualizado.
|
|
226
|
-
- [ ] `ROADMAP.md` existe no mesmo escopo com fases mapeadas a R-IDs e A*, status `approved` (ou `draft` se usuário não confirmou).
|
|
242
|
+
- [ ] `SPEC.md` existe no escopo correto (`spec/` da sessão ou `.oxe/` legado) com critérios A* e coluna Como verificar; `STATE.md` global atualizado.
|
|
243
|
+
- [ ] `ROADMAP.md` existe no mesmo escopo com fases mapeadas a R-IDs e A*, status `approved` (ou `draft` se usuário não confirmou).
|
|
227
244
|
- [ ] Tabela de requisitos R-ID foi apresentada e validada (v1/v2/fora) antes do roteiro.
|
|
228
245
|
- [ ] Usuário foi consultado no gate da Fase 5 e escolheu o próximo passo.
|
|
229
246
|
- [ ] OBS pendentes com impacto `spec` foram incorporadas e marcadas `incorporada`.
|
package/oxe/workflows/verify.md
CHANGED
|
@@ -13,16 +13,19 @@ Resultado registrado em **`.oxe/VERIFY.md`** com atualização de **STATE**.
|
|
|
13
13
|
Se o usuário indicar uma tarefa (ex.: `T2`), focar só nela nas camadas 1–2; as camadas 3–4 são sempre de escopo completo.
|
|
14
14
|
</objective>
|
|
15
15
|
|
|
16
|
-
<context>
|
|
17
|
-
- Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, `VERIFY.md`, `VALIDATION-GAPS.md`, `SECURITY.md`, `UI-REVIEW.md` e `SUMMARY.md` vivem no escopo da sessão; `.oxe/STATE.md` continua global.
|
|
18
|
-
- Seguir `oxe/workflows/references/flow-robustness-contract.md`. O verify não valida só se passou; valida também se o plano estava bem calibrado para começar.
|
|
19
|
-
-
|
|
16
|
+
<context>
|
|
17
|
+
- Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, `VERIFY.md`, `VALIDATION-GAPS.md`, `SECURITY.md`, `UI-REVIEW.md` e `SUMMARY.md` vivem no escopo da sessão; `.oxe/STATE.md` continua global.
|
|
18
|
+
- Seguir `oxe/workflows/references/flow-robustness-contract.md`. O verify não valida só se passou; valida também se o plano estava bem calibrado para começar.
|
|
19
|
+
- Ler `EXECUTION-RUNTIME.md` e `CHECKPOINTS.md` do escopo resolvido quando existirem. Eles são evidência tática para saber o que realmente foi executado, bloqueado, aprovado ou desviado.
|
|
20
|
+
- Se a trilha tocar Azure, ler `.oxe/cloud/azure/INVENTORY.md`, `SERVICEBUS.md`, `EVENTGRID.md`, `SQL.md` e `operations/*.md|json` para confirmar recursos reais, checkpoints e mutações aplicadas.
|
|
21
|
+
- **Observações CI como evidência:** se `OBSERVATIONS.md` do escopo resolvido tiver obs do tipo `ci_failure` com `CI-evidência` preenchida, usar como evidência adicional para critérios A* de qualidade (ex.: cobertura, build verde). Se obs tiver `ci_run_url`, referenciar na coluna **Evidência** da tabela de critérios. Se obs estiver `pendente` e critério A* de qualidade existir, marcar o critério como `evidence_pending_ci` — não como passou — até o CI ser resolvido.
|
|
22
|
+
- Preferir rodar comandos reais no terminal quando o ambiente permitir; se o sandbox bloquear, marcar como "não executado aqui" e deixar o comando para o usuário.
|
|
20
23
|
- Não destruir `PLAN.md`; registrar achados em `VERIFY.md`.
|
|
21
24
|
- Ler **`.oxe/config.json`** se existir: `after_verify_draft_commit`, `after_verify_suggest_pr`, e `verification_depth` (`"standard"` por padrão; `"thorough"` ativa camadas 3–4 completas; `"quick"` pula camadas 3–4 e UAT).
|
|
22
25
|
- Os critérios na SPEC devem estar na tabela **Critérios de aceite** com colunas **ID** / **Critério** / **Como verificar**; o verify deve **cruzar cada ID** com evidência (arquivo, comando, trecho).
|
|
23
26
|
- **Legado:** quando **Comando** for `—` ou inexistente, evidência válida inclui **Read/Grep**, existência de ficheiros referenciados e checklist manual — não marcar critério como passou sem evidência; se o ambiente host/desktop não estiver disponível, registar **não executado aqui** e próximo passo. Ver **`oxe/workflows/references/legacy-brownfield.md`**.
|
|
24
27
|
- **Debug:** investigação técnica de falhas **durante** a implementação segue **`oxe/workflows/debug.md`** (`/oxe-debug`). Resolver um bug com debug **não** dispensa este passo — após correções, **ainda** é necessário **`verify`** para fechar a trilha face à SPEC/PLAN.
|
|
25
|
-
- **UI:** se existirem `UI-SPEC.md` / `UI-REVIEW.md` no escopo resolvido, incorporar na evidência quando os critérios **A*** ou tarefas **Tn** tocarem interface.
|
|
28
|
+
- **UI:** se existirem `UI-SPEC.md` / `UI-REVIEW.md` no escopo resolvido, incorporar na evidência quando os critérios **A*** ou tarefas **Tn** tocarem interface.
|
|
26
29
|
- **Camada 5 — Validate-gaps (automático quando `verification_depth: "thorough"`):** após as 4 camadas, se `verification_depth: "thorough"` em `.oxe/config.json`, executar automaticamente a lógica de `oxe/workflows/validate-gaps.md` e produzir `.oxe/VALIDATION-GAPS.md` como parte deste verify. Não requer comando separado.
|
|
27
30
|
- **Camada 6 — Security (automático quando `security_in_verify: true`):** se `security_in_verify: true` em `.oxe/config.json`, executar automaticamente a lógica de `oxe/workflows/security.md` e produzir `.oxe/SECURITY.md` como parte deste verify. Não requer comando separado.
|
|
28
31
|
- **Rotina compact/checkpoint (opcional):** se esta entrega alterou **estrutura**, **stack** ou **pastas** de forma relevante, `/oxe-scan` em modo refresh alinha `.oxe/codebase/` ao repo. Após **verify** com sucesso, `/oxe-project checkpoint` com slug curto pode marcar estado estável.
|
|
@@ -34,12 +37,12 @@ Se o usuário indicar uma tarefa (ex.: `T2`), focar só nela nas camadas 1–2;
|
|
|
34
37
|
Verificar que o PLAN.md está apto para verificação:
|
|
35
38
|
1. Toda tarefa `### Tn` tem bloco **Verificar** com pelo menos Comando ou Manual.
|
|
36
39
|
2. Todo **Aceite vinculado** referencia IDs que existem na tabela de SPEC.md (`A1`, `A2`, …).
|
|
37
|
-
3. Se houver `DISCUSS.md` no escopo resolvido, toda decisão técnica com ID **D-NN** aparece em **Decisão vinculada:** de alguma tarefa (ou nota explícita de gap no PLAN).
|
|
38
|
-
4. Não há dependências `Tk` inválidas (ID inexistente no PLAN).
|
|
39
|
-
5. `PLAN.md` contém a seção **Autoavaliação do Plano** com `Melhor plano atual`, `Confiança` e rubrica preenchida.
|
|
40
|
-
|
|
41
|
-
Se auditoria falhar: registrar na seção **Auditoria de pré-execução** do VERIFY.md os itens com problema e **pausar** — pedir correção do PLAN antes de continuar. Se o usuário forçar continuar com `--skip-audit`, documentar e prosseguir com aviso.
|
|
42
|
-
</camada_1_pre_exec_audit>
|
|
40
|
+
3. Se houver `DISCUSS.md` no escopo resolvido, toda decisão técnica com ID **D-NN** aparece em **Decisão vinculada:** de alguma tarefa (ou nota explícita de gap no PLAN).
|
|
41
|
+
4. Não há dependências `Tk` inválidas (ID inexistente no PLAN).
|
|
42
|
+
5. `PLAN.md` contém a seção **Autoavaliação do Plano** com `Melhor plano atual`, `Confiança` e rubrica preenchida.
|
|
43
|
+
|
|
44
|
+
Se auditoria falhar: registrar na seção **Auditoria de pré-execução** do VERIFY.md os itens com problema e **pausar** — pedir correção do PLAN antes de continuar. Se o usuário forçar continuar com `--skip-audit`, documentar e prosseguir com aviso.
|
|
45
|
+
</camada_1_pre_exec_audit>
|
|
43
46
|
|
|
44
47
|
<camada_2_tarefas_e_criterios>
|
|
45
48
|
**Camada 2 — Verificação de tarefas e critérios SPEC**
|
|
@@ -48,7 +51,7 @@ Para cada tarefa relevante, executar **Verificar: Comando** do PLAN (ou subconju
|
|
|
48
51
|
</camada_2_tarefas_e_criterios>
|
|
49
52
|
|
|
50
53
|
<camada_3_fidelidade_decisoes>
|
|
51
|
-
**Camada 3 — Fidelidade de decisões** (ativa se existir `DISCUSS.md` no escopo resolvido com IDs D-NN)
|
|
54
|
+
**Camada 3 — Fidelidade de decisões** (ativa se existir `DISCUSS.md` no escopo resolvido com IDs D-NN)
|
|
52
55
|
|
|
53
56
|
Para cada decisão na tabela de DISCUSS.md:
|
|
54
57
|
1. Localizar a(s) tarefa(s) que referenciam esse ID em **Decisão vinculada:**.
|
|
@@ -58,7 +61,7 @@ Para cada decisão na tabela de DISCUSS.md:
|
|
|
58
61
|
Se uma decisão D-NN não tem tarefa vinculada **e** não há nota de gap no PLAN: marcar como `divergência` e adicionar ao bloco **Gaps**.
|
|
59
62
|
</camada_3_fidelidade_decisoes>
|
|
60
63
|
|
|
61
|
-
<camada_4_uat>
|
|
64
|
+
<camada_4_uat>
|
|
62
65
|
**Camada 4 — UAT (User Acceptance Testing)** (ativa se `after_verify_suggest_uat` não for `false` na config)
|
|
63
66
|
|
|
64
67
|
Gerar uma **Checklist UAT** no VERIFY.md com passos manuais derivados dos critérios de aceite. Formato:
|
|
@@ -74,37 +77,49 @@ Para cada critério da SPEC que exige validação manual:
|
|
|
74
77
|
```
|
|
75
78
|
|
|
76
79
|
O preenchimento da checklist é responsabilidade do **usuário** (não do agente de IA).
|
|
77
|
-
</camada_4_uat>
|
|
78
|
-
|
|
79
|
-
<calibracao_do_plano>
|
|
80
|
-
**Calibração do plano** (obrigatória quando existir `PLAN.md`)
|
|
81
|
-
|
|
82
|
-
Ler a `## Autoavaliação do Plano` e comparar com o resultado real:
|
|
83
|
-
1. Se `Confiança >= 85%` e houver falha precoce em critérios centrais ou tarefas iniciais, marcar **erro de calibração do plano**.
|
|
84
|
-
2. Se `Confiança < 70%` e as falhas ocorrerem nas incertezas previstas, marcar **autoavaliação aderente**.
|
|
85
|
-
3. Se `Confiança >= 70%` e os critérios/tarefas passarem de forma consistente, marcar **plano calibrado**.
|
|
86
|
-
4. Se `Confiança < 70%` e o ciclo passar amplamente, marcar **plano conservador demais**.
|
|
87
|
-
|
|
88
|
-
Registrar em `VERIFY.md`: `Resultado de calibração | Confiança declarada | Resultado observado | Notas`.
|
|
89
|
-
</calibracao_do_plano>
|
|
90
|
-
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
80
|
+
</camada_4_uat>
|
|
81
|
+
|
|
82
|
+
<calibracao_do_plano>
|
|
83
|
+
**Calibração do plano** (obrigatória quando existir `PLAN.md`)
|
|
84
|
+
|
|
85
|
+
Ler a `## Autoavaliação do Plano` e comparar com o resultado real:
|
|
86
|
+
1. Se `Confiança >= 85%` e houver falha precoce em critérios centrais ou tarefas iniciais, marcar **erro de calibração do plano**.
|
|
87
|
+
2. Se `Confiança < 70%` e as falhas ocorrerem nas incertezas previstas, marcar **autoavaliação aderente**.
|
|
88
|
+
3. Se `Confiança >= 70%` e os critérios/tarefas passarem de forma consistente, marcar **plano calibrado**.
|
|
89
|
+
4. Se `Confiança < 70%` e o ciclo passar amplamente, marcar **plano conservador demais**.
|
|
90
|
+
|
|
91
|
+
Registrar em `VERIFY.md`: `Resultado de calibração | Confiança declarada | Resultado observado | Notas`.
|
|
92
|
+
</calibracao_do_plano>
|
|
93
|
+
|
|
94
|
+
<runtime_e_checkpoints>
|
|
95
|
+
**Coerência do runtime e checkpoints** (obrigatória quando `EXECUTION-RUNTIME.md` ou `CHECKPOINTS.md` existirem)
|
|
96
|
+
|
|
97
|
+
1. Verificar se a onda/tarefa que o runtime marca como concluída bate com a evidência real nos arquivos e nos comandos executados.
|
|
98
|
+
2. Verificar se checkpoints `pending_approval` foram respeitados, e se `approved`, `rejected` ou `overridden` têm evidência e nota curta.
|
|
99
|
+
3. Se runtime ou checkpoints contradisserem `STATE.md`, `PLAN.md` ou `VERIFY.md`, registrar a incoerência explicitamente.
|
|
100
|
+
4. Usar esses artefatos como apoio para a seção de gaps e para a calibração do plano.
|
|
101
|
+
</runtime_e_checkpoints>
|
|
102
|
+
|
|
103
|
+
<process>
|
|
104
|
+
1. **Camada 1 — Auditoria de pré-execução:** checar integridade do PLAN.md e DISCUSS.md conforme `<camada_1_pre_exec_audit>`. Documentar resultado.
|
|
105
|
+
2. Ler `SPEC.md`, `PLAN.md` e `DISCUSS.md` do escopo resolvido, além de `.oxe/STATE.md` global.
|
|
94
106
|
3. **Camada 2:** Para cada tarefa relevante, executar **Verificar: Comando** do PLAN (ou subconjunto se foco Tn). Para **cada ID de critério** da SPEC (A1, A2, …), registrar se passou com evidência.
|
|
95
107
|
4. **Camada 3:** Se existir `.oxe/DISCUSS.md` com IDs D-NN, executar **Fidelidade de decisões** conforme `<camada_3_fidelidade_decisoes>`.
|
|
96
|
-
5.
|
|
108
|
+
5. Executar a verificação de coerência do runtime e checkpoints conforme `<runtime_e_checkpoints>`.
|
|
109
|
+
5a. Para operações Azure, confirmar o estado final com inventário/saída real do provider Azure; não considerar mutação aprovada sem evidência em `.oxe/cloud/azure/operations/`.
|
|
110
|
+
6. Escrever **`VERIFY.md`** no escopo resolvido com:
|
|
97
111
|
- Data, ambiente (SO / versão do Node se relevante).
|
|
98
112
|
- **Seção — Auditoria de pré-execução:** resultado da Camada 1.
|
|
99
113
|
- **Tabela — Tarefas:** Tarefa (Tn) | Verificação (comando/checklist) | Passou? | Notas.
|
|
100
|
-
- **Tabela — Critérios SPEC:** ID (A1…) | Critério (resumo) | Evidência | Passou? | Notas.
|
|
101
|
-
- **Tabela — Fidelidade de decisões** (se DISCUSS.md existir): ID | Decisão | Tarefa(s) | Implementado? | Evidência.
|
|
102
|
-
- **Seção —
|
|
103
|
-
- **
|
|
114
|
+
- **Tabela — Critérios SPEC:** ID (A1…) | Critério (resumo) | Evidência | Passou? | Notas.
|
|
115
|
+
- **Tabela — Fidelidade de decisões** (se DISCUSS.md existir): ID | Decisão | Tarefa(s) | Implementado? | Evidência.
|
|
116
|
+
- **Seção — Coerência operacional:** runtime, checkpoints, bloqueios, handoffs e divergências.
|
|
117
|
+
- **Seção — Calibração do plano:** resultado conforme `<calibracao_do_plano>`.
|
|
118
|
+
- **Checklist UAT** (Camada 4).
|
|
104
119
|
- **Gaps** — o que falhou e sugestão de correção; se não houver, escrever `Nenhum gap restante`.
|
|
105
|
-
6. Atualizar **`.oxe/STATE.md`** global: `verify_complete` ou `verify_failed` + próximo passo (replan, corrigir ou publicar).
|
|
120
|
+
6. Atualizar **`.oxe/STATE.md`** global: `verify_complete` ou `verify_failed` + próximo passo (replan, corrigir ou publicar).
|
|
106
121
|
6b. **Blueprint plan-agent:** se **todas** as verificações relevantes **passaram**, existir **`.oxe/plan-agents.json`** com `oxePlanAgentsSchema >= 2` e `lifecycle.status === "executing"` (ou `pending_execute`), actualizar o JSON: `lifecycle: { "status": "closed", "since": "<ISO>" }` e espelhar em **`STATE.md`** (**lifecycle_status** → `closed`). Não fechar como `closed` se `verify_failed` ou gaps por resolver.
|
|
107
|
-
7. Acrescentar entrada em **`SUMMARY.md`** do escopo resolvido: se não existir, criar a partir de **`oxe/templates/SUMMARY.template.md`**. **Obrigatório** quando `verify_failed` ou quando a seção **Gaps** tiver itens.
|
|
122
|
+
7. Acrescentar entrada em **`SUMMARY.md`** do escopo resolvido: se não existir, criar a partir de **`oxe/templates/SUMMARY.template.md`**. **Obrigatório** quando `verify_failed` ou quando a seção **Gaps** tiver itens.
|
|
108
123
|
7b. **Retrospectiva (pós-verify):** se `verify_complete`, sugerir **`/oxe-retro`** para capturar aprendizados do ciclo em `.oxe/LESSONS.md`. Especialmente importante quando: houve replanejamento (`--replan`), houve falhas em execute que precisaram de debug, critérios A* foram ajustados durante o ciclo, ou o ciclo durou mais de 2 ondas. Retro antes do próximo spec garante que lições orientem o próximo ciclo.
|
|
109
124
|
7b. **Camada 5 — Validate-gaps automático:** se `verification_depth: "thorough"` em `.oxe/config.json`, executar a lógica de `oxe/workflows/validate-gaps.md` e adicionar seção **Gaps de Cobertura** ao VERIFY.md (mesmo conteúdo de VALIDATION-GAPS.md). Também escrever `.oxe/VALIDATION-GAPS.md` separado.
|
|
110
125
|
7c. **Camada 6 — Security automático:** se `security_in_verify: true` em `.oxe/config.json`, executar a lógica de `oxe/workflows/security.md` e adicionar seção **Auditoria de Segurança** ao VERIFY.md. Também escrever `.oxe/SECURITY.md` separado. Achados P0 bloqueiam o `verify_complete` — registrar `verify_failed` até P0s serem resolvidos.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oxe-cc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "OXE — spec-driven workflows in .oxe/; integrates with Cursor, GitHub Copilot, Claude, OpenCode, Gemini, Codex, Windsurf, Antigravity (npx)",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"author": "",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
],
|
|
55
55
|
"scripts": {
|
|
56
56
|
"sync:cursor": "node scripts/sync-cursor-from-prompts.cjs",
|
|
57
|
-
"test": "node --test tests/install.test.cjs tests/oxe-project-health.test.cjs tests/oxe-sdk.test.cjs tests/oxe-manifest.test.cjs tests/oxe-agent-install.test.cjs tests/oxe-install-resolve-full.test.cjs tests/oxe-health-extended.test.cjs tests/oxe-workflows-edge.test.cjs tests/oxe-sdk-edge.test.cjs tests/oxe-cli-edge.test.cjs tests/oxe-npm-version.test.cjs tests/oxe-scripts.test.cjs tests/oxe-retro-health.test.cjs",
|
|
57
|
+
"test": "node --test tests/install.test.cjs tests/oxe-project-health.test.cjs tests/oxe-dashboard.test.cjs tests/oxe-operational.test.cjs tests/oxe-azure.test.cjs tests/oxe-sdk.test.cjs tests/oxe-manifest.test.cjs tests/oxe-agent-install.test.cjs tests/oxe-install-resolve-full.test.cjs tests/oxe-health-extended.test.cjs tests/oxe-workflows-edge.test.cjs tests/oxe-sdk-edge.test.cjs tests/oxe-cli-edge.test.cjs tests/oxe-npm-version.test.cjs tests/oxe-scripts.test.cjs tests/oxe-retro-health.test.cjs",
|
|
58
58
|
"test:coverage": "c8 --check-coverage --lines 82 --functions 85 --branches 58 --statements 82 npm test",
|
|
59
59
|
"scan:assets": "node scripts/oxe-assets-scan.cjs",
|
|
60
60
|
"prepublishOnly": "node scripts/sync-cursor-from-prompts.cjs && npm test && npm run scan:assets && node bin/oxe-cc.js --version"
|