oxe-cc 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/.cursor/commands/oxe-ask.md +11 -0
  2. package/.cursor/commands/oxe-execute.md +1 -1
  3. package/.cursor/commands/oxe-session.md +11 -0
  4. package/.github/prompts/oxe-ask.prompt.md +12 -0
  5. package/.github/prompts/oxe-execute.prompt.md +1 -1
  6. package/.github/prompts/oxe-session.prompt.md +12 -0
  7. package/README.md +363 -323
  8. package/bin/banner.txt +1 -1
  9. package/bin/lib/oxe-project-health.cjs +284 -91
  10. package/bin/oxe-cc.js +305 -123
  11. package/commands/oxe/ask.md +14 -0
  12. package/commands/oxe/session.md +16 -0
  13. package/oxe/templates/CONFIG.md +3 -2
  14. package/oxe/templates/PLAN.template.md +22 -7
  15. package/oxe/templates/SESSION.template.md +32 -0
  16. package/oxe/templates/STATE.md +10 -5
  17. package/oxe/templates/config.template.json +3 -2
  18. package/oxe/workflows/ask.md +62 -0
  19. package/oxe/workflows/checkpoint.md +10 -9
  20. package/oxe/workflows/debug.md +6 -5
  21. package/oxe/workflows/discuss.md +8 -7
  22. package/oxe/workflows/execute.md +37 -28
  23. package/oxe/workflows/forensics.md +6 -6
  24. package/oxe/workflows/help.md +39 -19
  25. package/oxe/workflows/milestone.md +12 -13
  26. package/oxe/workflows/next.md +16 -13
  27. package/oxe/workflows/obs.md +9 -8
  28. package/oxe/workflows/plan-agent.md +6 -4
  29. package/oxe/workflows/plan.md +73 -32
  30. package/oxe/workflows/project.md +1 -1
  31. package/oxe/workflows/quick.md +11 -7
  32. package/oxe/workflows/references/flow-robustness-contract.md +80 -0
  33. package/oxe/workflows/references/session-path-resolution.md +71 -0
  34. package/oxe/workflows/research.md +9 -8
  35. package/oxe/workflows/security.md +7 -6
  36. package/oxe/workflows/session.md +153 -0
  37. package/oxe/workflows/spec.md +41 -27
  38. package/oxe/workflows/ui-review.md +3 -3
  39. package/oxe/workflows/ui-spec.md +3 -3
  40. package/oxe/workflows/validate-gaps.md +5 -4
  41. package/oxe/workflows/verify.md +37 -21
  42. package/oxe/workflows/workstream.md +16 -15
  43. package/package.json +1 -1
@@ -14,13 +14,28 @@ inputs: []
14
14
 
15
15
  > Gerado a partir de `.oxe/SPEC.md`. Cada tarefa deve ter bloco **Verificar**.
16
16
 
17
- ## Resumo
18
-
19
- - **Spec vinculada:** (data ou versão informal)
20
- - **Ondas:** (número)
21
- - **Tarefas:** (número)
22
-
23
- ## Dependências globais
17
+ ## Resumo
18
+
19
+ - **Spec vinculada:** (data ou versão informal)
20
+ - **Ondas:** (número)
21
+ - **Tarefas:** (número)
22
+
23
+ ## Autoavaliação do Plano
24
+
25
+ - **Melhor plano atual:** sim
26
+ - **Confiança:** 80%
27
+ - **Base da confiança:**
28
+ - Completude dos requisitos: 20/25
29
+ - Dependências conhecidas: 12/15
30
+ - Risco técnico: 15/20
31
+ - Impacto no código existente: 12/15
32
+ - Clareza da validação / testes: 13/15
33
+ - Lacunas externas / decisões pendentes: 8/10
34
+ - **Principais incertezas:** (0–3 bullets)
35
+ - **Alternativas descartadas:** (1–2 linhas)
36
+ - **Condição para replanejar:** (critério objetivo)
37
+
38
+ ## Dependências globais
24
39
 
25
40
  - (ex.: branch base, feature flags, migrations)
26
41
 
@@ -0,0 +1,32 @@
1
+ # Session sNNN — <nome>
2
+
3
+ ## Metadados
4
+
5
+ - **ID:** sNNN
6
+ - **Nome:** <nome>
7
+ - **Status:** active
8
+ - **Criada:** YYYY-MM-DD
9
+ - **Última atividade:** YYYY-MM-DD
10
+ - **Resumo:** <uma linha>
11
+
12
+ ## Índice de artefatos
13
+
14
+ | Artefato | Caminho | Status |
15
+ |----------|---------|--------|
16
+ | SESSION | `sessions/sNNN-<slug>/SESSION.md` | ativo |
17
+
18
+ ## Dependências cruzadas
19
+
20
+ - **Estende:** —
21
+ - **Referenciada por:** —
22
+ - **Decisões globais:** `.oxe/STATE.md`, `.oxe/SESSIONS.md`
23
+
24
+ ## Tags
25
+
26
+ - `<tag>`
27
+
28
+ ## Histórico
29
+
30
+ | Data | Evento |
31
+ |------|--------|
32
+ | YYYY-MM-DD | Sessão criada |
@@ -1,10 +1,15 @@
1
1
  # OXE — Estado
2
2
 
3
- ## Fase atual
4
-
5
- `initial` — defina após primeiro scan: `scan_complete` | `spec_ready` | `discuss_complete` | `plan_ready` | `quick_active` | `executing` | `verify_complete` | `verify_failed`
6
-
7
- ## Último scan
3
+ ## Fase atual
4
+
5
+ `initial` — defina após primeiro scan: `scan_complete` | `spec_ready` | `discuss_complete` | `plan_ready` | `quick_active` | `executing` | `verify_complete` | `verify_failed`
6
+
7
+ ## Sessão ativa (opcional — `/oxe-session`)
8
+
9
+ - **active_session:** (path relativo a `.oxe/` — ex.: `sessions/s001-auth-redesign` — ou — se nenhuma)
10
+ - **session_id:** (ex.: `s001` — ou —)
11
+
12
+ ## Último scan
8
13
 
9
14
  - **Data:** (use **YYYY-MM-DD** para o `oxe-cc doctor` avisar scan antigo com `scan_max_age_days` em `.oxe/config.json`)
10
15
  - **Notas:** (opcional)
@@ -2,8 +2,9 @@
2
2
  "_comment": "OXE config — copie para .oxe/config.json no seu projeto. Remova esta linha.",
3
3
  "profile": "balanced",
4
4
  "discuss_before_plan": false,
5
- "verification_depth": "standard",
6
- "security_in_verify": false,
5
+ "verification_depth": "standard",
6
+ "plan_confidence_threshold": 70,
7
+ "security_in_verify": false,
7
8
  "after_verify_suggest_pr": true,
8
9
  "after_verify_draft_commit": true,
9
10
  "after_verify_suggest_uat": false,
@@ -0,0 +1,62 @@
1
+ # OXE — Workflow: ask
2
+
3
+ <objective>
4
+ Responder perguntas sobre a situação atual do trabalho OXE com máxima robustez, usando o contexto real do repositório, a sessão ativa quando existir, e os artefatos mais recentes da trilha.
5
+ </objective>
6
+
7
+ <context>
8
+ - Resolver `active_session` via `oxe/workflows/references/session-path-resolution.md`.
9
+ - Ler sempre `.oxe/STATE.md` global primeiro.
10
+ - Com sessão ativa, priorizar artefatos em `.oxe/<active_session>/...` antes do modo legado.
11
+ - Usar `.oxe/codebase/` como mapa do repositório, não como substituto dos artefatos da trilha.
12
+ - Se a pergunta estiver ambígua, responder em modo “situação atual + próximos riscos + melhor próxima ação”.
13
+ </context>
14
+
15
+ <process>
16
+ 1. Ler `.oxe/STATE.md` global e determinar se há `active_session`.
17
+ 2. Se houver sessão ativa, ler nesta ordem:
18
+ - `SESSION.md`
19
+ - `spec/SPEC.md`, `spec/ROADMAP.md`, `spec/DISCUSS.md`, `spec/UI-SPEC.md` se existirem
20
+ - `plan/PLAN.md`, `plan/QUICK.md`, `plan/plan-agents.json`, `plan/quick-agents.json` se existirem
21
+ - `execution/STATE.md`, `execution/OBSERVATIONS.md`, `execution/DEBUG.md`, `execution/FORENSICS.md`, `execution/SUMMARY.md` se existirem
22
+ - `verification/VERIFY.md`, `verification/VALIDATION-GAPS.md`, `verification/SECURITY.md`, `verification/UI-REVIEW.md` se existirem
23
+ 3. Sem sessão ativa, ler o equivalente legado na raiz `.oxe/`.
24
+ 4. Em ambos os casos, ler também:
25
+ - `.oxe/codebase/OVERVIEW.md`
26
+ - `.oxe/codebase/STACK.md`
27
+ - `.oxe/codebase/CONCERNS.md`
28
+ - `.oxe/global/LESSONS.md` se existir, com fallback para `.oxe/LESSONS.md`
29
+ - `.oxe/SESSIONS.md` se a pergunta mencionar sessões, histórico ou retomada
30
+ 5. Responder à pergunta do utilizador com base em evidência explícita dos artefatos lidos.
31
+ 6. Se faltar artefato crítico para responder com segurança, dizer exatamente o que falta e qual comando OXE fecha essa lacuna.
32
+
33
+ ## Modo diagnóstico padrão
34
+
35
+ Se o utilizador só disser algo genérico como “o que está acontecendo?”, “qual a situação?” ou “me contextualize”, responder com:
36
+
37
+ - **Situação atual**
38
+ - **Escopo ativo**
39
+ - **Artefatos relevantes**
40
+ - **Riscos ou lacunas**
41
+ - **Próximo passo recomendado**
42
+
43
+ ## Regras de robustez
44
+
45
+ - Não assumir que `doctor` ou `status` sejam session-aware; eles não substituem a leitura direta dos artefatos da sessão.
46
+ - Se houver conflito entre `.oxe/STATE.md` global e `execution/STATE.md` da sessão, explicitar o conflito.
47
+ - Se `VERIFY.md` existir e contradizer o estado declarado, priorizar a evidência do `VERIFY.md` e mencionar a incoerência.
48
+ - Se o mapa `.oxe/codebase/` estiver ausente ou incompleto, dizer isso explicitamente antes de extrapolar sobre o repositório.
49
+ </process>
50
+
51
+ <output>
52
+ - Resposta direta à pergunta do utilizador
53
+ - Referência curta aos artefatos usados
54
+ - Quando necessário, um único próximo passo OXE
55
+ </output>
56
+
57
+ <success_criteria>
58
+ - [ ] A resposta parte de `.oxe/STATE.md` global e resolve corretamente a sessão ativa quando existir.
59
+ - [ ] O contexto da sessão ativa tem precedência sobre artefatos legados.
60
+ - [ ] Conflitos ou lacunas entre artefatos são explicitados.
61
+ - [ ] A saída responde à pergunta sem inventar estado que não esteja nos arquivos.
62
+ </success_criteria>
@@ -1,7 +1,7 @@
1
1
  # OXE — Workflow: checkpoint
2
2
 
3
3
  <objective>
4
- Criar um **marco nomeado em disco** em **`.oxe/checkpoints/YYYY-MM-DD-HHmm-<slug>.md`** (data + hora + slug curto) e atualizar **`.oxe/CHECKPOINTS.md`** (índice): **snapshot da sessão / trilha corrente** para pausar e retomar sem apagar SPEC/PLAN.
4
+ Criar um **marco nomeado em disco** em `checkpoints/YYYY-MM-DD-HHmm-<slug>.md` do escopo resolvido e atualizar `CHECKPOINTS.md` correspondente (índice): **snapshot da sessão / trilha corrente** para pausar e retomar sem apagar SPEC/PLAN.
5
5
 
6
6
  **Não** duplica o papel de `git commit` nem de `verify`; é **registo explícito** para humanos e agentes. Para **atualizar o mapa do projeto inteiro** e alinhar `.oxe/codebase/` ao código, usar **`compact.md`** (`/oxe-compact`), não este passo.
7
7
  </objective>
@@ -9,24 +9,25 @@ Criar um **marco nomeado em disco** em **`.oxe/checkpoints/YYYY-MM-DD-HHmm-<slug
9
9
  <context>
10
10
  - **Checkpoint vs compact** e **momentos chave** da rotina: tabelas canónicas em **`help.md`** (secções *Checkpoint vs compact* e *Momentos chave*) — evitar divergência; este ficheiro descreve só a execução do checkpoint.
11
11
 
12
- - Entrada: texto do utilizador = **slug** e/ou **nota** (ex.: `antes-refactor-auth` + “estado estável, falta T4”).
13
- - Nome do ficheiro: **`YYYY-MM-DD-HHmm-<slug-kebab>.md`** (hora 24h local ou UTC — documentar na nota se misturar fusos).
14
- - Frontmatter YAML no checkpoint (ver `oxe/templates/CHECKPOINT.template.md`): `created`, `slug`, `linked` (lista de paths relativos à raiz do repo, tipicamente `.oxe/STATE.md`, `.oxe/SPEC.md`, …).
15
- - **Índice** `.oxe/CHECKPOINTS.md`: tabela **mais recente primeiro** com colunas **Data** | **Ficheiro** | **Slug** | **Nota (1 linha)**.
12
+ - Entrada: texto do utilizador = **slug** e/ou **nota** (ex.: `antes-refactor-auth` + “estado estável, falta T4”).
13
+ - Nome do ficheiro: **`YYYY-MM-DD-HHmm-<slug-kebab>.md`** (hora 24h local ou UTC — documentar na nota se misturar fusos).
14
+ - Frontmatter YAML no checkpoint (ver `oxe/templates/CHECKPOINT.template.md`): `created`, `slug`, `linked` (lista de paths relativos à raiz do repo, tipicamente `.oxe/STATE.md`, `.oxe/SPEC.md`, …).
15
+ - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, checkpoints vivem em `.oxe/<active_session>/checkpoints/`; sem sessão ativa, usar `.oxe/checkpoints/`.
16
+ - **Índice** `CHECKPOINTS.md` do mesmo escopo: tabela **mais recente primeiro** com colunas **Data** | **Ficheiro** | **Slug** | **Nota (1 linha)**.
16
17
  - Não mover nem apagar artefactos canónicos; o checkpoint é **documento adicional**.
17
18
  </context>
18
19
 
19
20
  <process>
20
- 1. Garantir pasta **`.oxe/checkpoints/`**.
21
+ 1. Garantir pasta `checkpoints/` do escopo resolvido.
21
22
  2. Normalizar slug a partir dos argumentos do utilizador (kebab-case, ASCII; se vazio, usar `checkpoint`).
22
23
  3. Escolher nome único; se colisão, acrescentar sufixo `-b`, `-c`, …
23
24
  4. Escrever o ficheiro de checkpoint a partir do template: preencher frontmatter `linked` com os `.oxe/*.md` relevantes que **existem**; corpo com nota do utilizador e **snapshot** (trecho de STATE, uma linha de objetivo SPEC, resumo PLAN).
24
- 5. Se **`.oxe/CHECKPOINTS.md`** não existir, criar com título `# OXE — Índice de checkpoints` e tabela com cabeçalho; senão, **inserir linha no topo** da tabela.
25
+ 5. Se `CHECKPOINTS.md` do escopo resolvido não existir, criar com título `# OXE — Índice de checkpoints` e tabela com cabeçalho; senão, **inserir linha no topo** da tabela.
25
26
  6. Responder no chat: caminho do ficheiro novo + como usar na retomada (ler checkpoint + `linked` + próximo `oxe:*`).
26
27
  </process>
27
28
 
28
29
  <success_criteria>
29
- - [ ] Novo ficheiro em `.oxe/checkpoints/` com frontmatter e corpo úteis.
30
- - [ ] `CHECKPOINTS.md` atualizado com entrada correspondente.
30
+ - [ ] Novo ficheiro em `checkpoints/` do escopo correto com frontmatter e corpo úteis.
31
+ - [ ] `CHECKPOINTS.md` do mesmo escopo atualizado com entrada correspondente.
31
32
  - [ ] SPEC/PLAN/VERIFY intocados salvo o utilizador pedir outra coisa explicitamente.
32
33
  </success_criteria>
@@ -8,13 +8,14 @@ Diferente de **`verify`**, que audita **aceite** contra SPEC/PLAN. Depois de est
8
8
 
9
9
  <context>
10
10
  - Pré-requisito: sintoma reproduzível ou descrição clara (mensagem de erro, Tn em falha).
11
- - Preferir ancorar ao identificador de tarefa **`Tn`** do `.oxe/PLAN.md` quando existir.
12
- - Artefato: **`.oxe/DEBUG.md`** ficheiro único com **sessões** datadas (append); não dispersar em vários ficheiros sem convenção.
11
+ - Preferir ancorar ao identificador de tarefa **`Tn`** do `PLAN.md` do escopo resolvido quando existir.
12
+ - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, usar `.oxe/<active_session>/execution/DEBUG.md`; sem sessão ativa, usar `.oxe/DEBUG.md`.
13
+ - Artefato: **`DEBUG.md`** no escopo correto — ficheiro único com **sessões** datadas (append); não dispersar em vários ficheiros sem convenção.
13
14
  </context>
14
15
 
15
16
  <process>
16
- 1. Ler `.oxe/PLAN.md` e `.oxe/STATE.md`; se o foco for uma tarefa, localizar **Tn** e o bloco **Verificar**.
17
- 2. Registar em **`.oxe/DEBUG.md`** uma nova sessão:
17
+ 1. Ler `PLAN.md` do escopo resolvido e `.oxe/STATE.md`; se o foco for uma tarefa, localizar **Tn** e o bloco **Verificar**.
18
+ 2. Registar em **`DEBUG.md`** do escopo resolvido uma nova sessão:
18
19
  - **Data** / **Sintoma** (com stack ou comando que falhou).
19
20
  - **Hipóteses** (ordenadas por plausibilidade).
20
21
  - **Experiências** — o que foi tentado e resultado (uma linha cada).
@@ -25,7 +26,7 @@ Diferente de **`verify`**, que audita **aceite** contra SPEC/PLAN. Depois de est
25
26
  </process>
26
27
 
27
28
  <success_criteria>
28
- - [ ] `.oxe/DEBUG.md` contém sessão datada com sintoma e **Próximo passo** explícito.
29
+ - [ ] `DEBUG.md` no escopo correto contém sessão datada com sintoma e **Próximo passo** explícito.
29
30
  - [ ] Quando aplicável, a sessão referencia **Tn** do PLAN.
30
31
  - [ ] Não se confunde com verify: não se declara “entrega aprovada” só com debug.
31
32
  </success_criteria>
@@ -6,9 +6,10 @@ Esclarecer requisitos **antes** do plano: registrar perguntas, respostas e decis
6
6
  Usar quando: SPEC existe mas há ambiguidade, risco técnico, ou `discuss_before_plan: true` em `.oxe/config.json`.
7
7
  </objective>
8
8
 
9
- <context>
10
- - Ler `.oxe/SPEC.md`, `.oxe/STATE.md` e trechos relevantes de `.oxe/codebase/OVERVIEW.md` / `STACK.md`.
11
- - Se existir **`.oxe/OBSERVATIONS.md`** com entradas `pendente` de impacto `spec`, `plan` ou `all`, carregá-las como contexto adicional para as perguntas e decisões; marcá-las `incorporada discuss (data)` após uso.
9
+ <context>
10
+ - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, usar `.oxe/<active_session>/spec/` para `SPEC.md` e `DISCUSS.md`; sem sessão ativa, manter `.oxe/`.
11
+ - Ler `SPEC.md` do escopo resolvido, `.oxe/STATE.md` e trechos relevantes de `.oxe/codebase/OVERVIEW.md` / `STACK.md`.
12
+ - Se existir `OBSERVATIONS.md` do escopo resolvido com entradas `pendente` de impacto `spec`, `plan` ou `all`, carregá-las como contexto adicional para as perguntas e decisões; marcá-las `incorporada → discuss (data)` após uso.
12
13
  - Se existir **`.oxe/NOTES.md`**, rever bullets em aberto: promover para perguntas/decisões em `DISCUSS.md` ou marcar como *descartado* / *adiado* com uma linha de justificativa.
13
14
  - Se `.oxe/config.json` existir e `discuss_before_plan` for `true`, tratar este passo como **recomendado** antes de `oxe:plan`.
14
15
  </context>
@@ -25,16 +26,16 @@ Regras:
25
26
  </decision_ids>
26
27
 
27
28
  <process>
28
- 1. Se não existir `.oxe/SPEC.md`, pedir **spec** primeiro (ou **quick** se for trabalho trivial).
29
+ 1. Se não existir `SPEC.md` no escopo resolvido, pedir **spec** primeiro (ou **quick** se for trabalho trivial).
29
30
  2. Se existir **`.oxe/NOTES.md`**, rever bullets em aberto e decidir o que entra em **Perguntas** ou **Decisões** (ou marcar *descartado* / *adiado* com justificativa curta).
30
31
  3. Identificar **lacunas** (escopo, dados, UX, edge cases, compatibilidade) — no máximo **7** perguntas objetivas.
31
- 4. Criar ou atualizar **`.oxe/DISCUSS.md`** com estrutura fixa:
32
+ 4. Criar ou atualizar **`DISCUSS.md`** no escopo resolvido com estrutura fixa:
32
33
  - **Contexto** — 2–4 bullets do que já se sabe da SPEC.
33
34
  - **Perguntas** — numeradas; para cada uma: resposta (se o usuário já respondeu na mensagem) ou `_(pendente)_`.
34
35
  - **Decisões** — tabela com colunas **ID** / **Decisão** / **Data** / **Impacto no plano** (só as já fechadas). Atribuir IDs **D-01**, **D-02**, … em sequência.
35
36
  - **Implicações para o plano** — bullets (ex.: "migrations necessárias", "feature flag").
36
37
  5. Se ainda houver perguntas **pendentes** críticas, listá-las no chat (máx. 7) e parar até resposta; depois atualizar DISCUSS.md.
37
- 6. Atualizar **`.oxe/STATE.md`**: fase `discuss_complete`, próximo passo `oxe:plan`. Registrar os IDs de decisão na seção **Decisões persistentes** do STATE (ex.: `D-01: escolheu JWT — 2025-01-15`).
38
+ 6. Atualizar **`.oxe/STATE.md`** global: fase `discuss_complete`, próximo passo `oxe:plan`. Registrar os IDs de decisão na seção **Decisões persistentes** do STATE (ex.: `D-01: escolheu JWT — 2025-01-15`).
38
39
  7. Resumo no chat em ≤8 linhas, listando decisões com seus IDs.
39
40
  </process>
40
41
 
@@ -69,7 +70,7 @@ updated: YYYY-MM-DD
69
70
  </discuss_md_format>
70
71
 
71
72
  <success_criteria>
72
- - [ ] `.oxe/DISCUSS.md` existe com perguntas e decisões alinhadas à SPEC.
73
+ - [ ] `DISCUSS.md` existe no escopo correto com perguntas e decisões alinhadas à SPEC.
73
74
  - [ ] Cada decisão fechada tem ID único **D-NN** na tabela de Decisões.
74
75
  - [ ] Se existir `.oxe/NOTES.md`, as entradas relevantes foram tratadas (promovidas, descartadas ou adiadas com nota).
75
76
  - [ ] Nenhuma ambiguidade crítica ficou sem registro (como pendente ou suposição explícita na SPEC).
@@ -3,13 +3,13 @@
3
3
  <objective>
4
4
  Guiar a **implementação** de um plano OXE com dois modos possíveis:
5
5
 
6
- **Modo Solo (padrão):** seguir `.oxe/PLAN.md` onda a onda sem `plan-agents.json`. O agente implementa diretamente cada tarefa Tn da onda atual, roda a verificação e avança. Não exige nenhum artefato além do PLAN.md.
6
+ **Modo Solo (padrão):** seguir `PLAN.md` do escopo resolvido da sessão onda a onda sem `plan-agents.json`. O agente implementa diretamente cada tarefa Tn da onda atual, roda a verificação e avança. Não exige nenhum artefato além do PLAN.md.
7
7
 
8
- **Modo com Agentes (extensão):** quando existe `.oxe/plan-agents.json` válido (schema 2, lifecycle ativo, runId alinhado ao STATE), adotar roles e personas por agente conforme o blueprint.
8
+ **Modo com Agentes (extensão):** quando existe `plan-agents.json` válido no escopo resolvido (schema 2+, lifecycle ativo, runId alinhado ao STATE), adotar roles e personas por agente conforme o blueprint.
9
9
 
10
10
  **Seleção de execução (redução de requisições):** quando o plano tem 2+ ondas, o usuário escolhe entre Completo (1 sessão), Por onda (N sessões) ou Por tarefa (N tarefas). A escolha é feita **uma vez** no início.
11
11
 
12
- Se existir apenas **`.oxe/QUICK.md`**: tratar passos numerados como onda única (modo sempre Completo).
12
+ Se existir apenas **`QUICK.md`** no escopo resolvido: tratar passos numerados como onda única (modo sempre Completo).
13
13
  </objective>
14
14
 
15
15
  <modo_solo>
@@ -32,6 +32,8 @@ O modo padrão. Funciona sem `plan-agents.json`. O agente lê PLAN.md, segue as
32
32
  <execution_mode_selection>
33
33
  ## Seleção de Modo de Execução
34
34
 
35
+ **Argumento direto:** se o foco/argumento recebido já for `A`, `B` ou `C` (sozinho), usar diretamente como seleção de modo sem apresentar o menu.
36
+
35
37
  **Quando aplicar:** ao início do execute, se PLAN.md tiver **2 ou mais ondas**. Apresentar UMA VEZ e armazenar a escolha em STATE.md para não perguntar novamente nas rodadas seguintes.
36
38
 
37
39
  **Não aplicar** quando: QUICK.md (sempre Completo), PLAN.md com 1 onda (executar diretamente).
@@ -87,10 +89,12 @@ Quando o comando `**Verificar:**` de uma tarefa `Tn` falha, **não parar silenci
87
89
  **Auto-loop no Modo B:** se `execute_mode: por_onda` e `loop_max` > 1 em STATE.md, o ciclo de retry roda automaticamente até `loop_max` tentativas antes de escalar para forensics.
88
90
  </failure_mode>
89
91
 
90
- <context>
91
- **Observações pendentes:** verificar `.oxe/OBSERVATIONS.md` no início de cada onda. Se houver entradas `pendente` com impacto `execute` ou `all`, incorporar no trabalho da onda atual e marcá-las `incorporada execute (data)`.
92
+ <context>
93
+ **Contrato de robustez:** seguir `oxe/workflows/references/flow-robustness-contract.md`. Antes de executar, validar os artefatos obrigatórios e o gate do plano.
94
+
95
+ **Observações pendentes:** verificar `OBSERVATIONS.md` do escopo resolvido no início de cada onda. Se houver entradas `pendente` com impacto `execute` ou `all`, incorporar no trabalho da onda atual e marcá-las `incorporada → execute (data)`.
92
96
 
93
- **Quick-agents (lean PDDA):** se existir **`.oxe/quick-agents.json`** com `status: active` e a execução for baseada em **`QUICK.md`** (não há PLAN.md), adotar o `role` e `persona` de cada agente para os `steps[]` atribuídos. Ao concluir todos os steps, marcar `quick-agents.json` → `status: done` e sugerir `/oxe-verify`.
97
+ **Quick-agents (lean PDDA):** se existir **`quick-agents.json`** do escopo resolvido com `status: active` e a execução for baseada em **`QUICK.md`** (não há PLAN.md), adotar o `role` e `persona` de cada agente para os `steps[]` atribuídos. Ao concluir todos os steps, marcar `quick-agents.json` → `status: done` e sugerir `/oxe-verify`.
94
98
 
95
99
  **Model hints (blueprint com agentes):** ao apresentar a atribuição de cada agente no início da onda, exibir `model_hint` se presente:
96
100
  ```
@@ -99,7 +103,7 @@ Tarefas: T1, T2
99
103
  ```
100
104
  Se `model_hint` estiver ausente, não exibir a linha. O usuário pode configurar o modelo no IDE antes de iniciar aquele agente.
101
105
 
102
- **Blueprint plan-agent (Modo com Agentes):** adotar `role`/`scope` de **`.oxe/plan-agents.json`** SOMENTE quando:
106
+ **Blueprint plan-agent (Modo com Agentes):** adotar `role`/`scope` de **`plan-agents.json`** do escopo resolvido SOMENTE quando:
103
107
  1. `lifecycle.status` ∈ `{ pending_execute, executing }` (não usar se `closed` ou `invalidated`).
104
108
  2. **`runId`** no JSON coincide com **`run_id`** no STATE.md (secção Blueprint de agentes).
105
109
  3. O pedido mapeia para pelo menos uma tarefa **`Tn`** no **`PLAN.md`**.
@@ -108,7 +112,7 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
108
112
 
109
113
  **Transição `pending_execute` → `executing`:** na primeira onda com blueprint válido, atualizar `plan-agents.json` → `lifecycle: { "status": "executing", "since": "<ISO>" }` e espelhar em STATE.md.
110
114
 
111
- **Protocolo agente → agente (blueprint):** mensagens em `.oxe/plan-agent-messages/` conforme `oxe/workflows/references/plan-agent-chat-protocol.md`.
115
+ **Protocolo agente → agente (blueprint):** mensagens em `plan-agent-messages/` do escopo resolvido conforme `oxe/workflows/references/plan-agent-chat-protocol.md`.
112
116
 
113
117
  **Se PLAN.md não existir mas QUICK.md existir:** seguir QUICK.md — passos = onda única, sempre Modo Completo.
114
118
 
@@ -119,26 +123,31 @@ Se condições não atendidas: responder sem persona; sugerir `/oxe-plan-agent`
119
123
  **Rotina compact/checkpoint:** antes de onda experimental ou refactor grande, `/oxe-checkpoint` com slug ajuda a retomar. Após ondas que mudem stack ou árvore, lembrar `/oxe-compact`.
120
124
  </context>
121
125
 
122
- <process>
123
- 1. Ler **`.oxe/STATE.md`**, **`PLAN.md`** (se existir) e **`QUICK.md`** (se PLAN não existir).
124
- 2. Verificar **`.oxe/OBSERVATIONS.md`** incorporar pendentes de impacto `execute` ou `all` antes de iniciar.
125
- 3. **Seleção de modo** (apenas se PLAN.md com 2+ ondas e `execute_mode` não definido em STATE): apresentar opções A/B/C e aguardar escolha; registrar em STATE.md.
126
- 4. Identificar **onda ou bloco atual**: no PLAN, todas as tarefas da mesma onda sem dependências pendentes; no QUICK, passos ainda não marcados como feitos.
127
- 5. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** de cada tarefa.
128
- 6. **Implementar** conforme o modo escolhido:
129
- - **Modo Completo:** executar todas as ondas em sequência com verificação inline entre ondas; sumarizar ao final.
130
- - **Modo Por onda:** executar onda atual, apresentar checklist, parar.
131
- - **Modo Por tarefa:** executar próxima tarefa pendente, parar.
132
- 7. Após cada onda concluída, incluir checklist:
133
- ```markdown
134
- ## Checklist Onda N (OXE)
135
- - [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
136
- - [ ] Implementação da onda concluída
137
- - [ ] Comando Verificar de cada tarefa executado (ou agendado)
138
- ```
139
- 8. Atualizar **`.oxe/STATE.md`**: última onda executada, tarefas concluídas (Tn), próximo passo.
140
- 9. Marcar OBS incorporadas como `incorporada execute (data)` em `.oxe/OBSERVATIONS.md`.
141
- </process>
126
+ <process>
127
+ 1. Ler **`.oxe/STATE.md`** global para resolver `active_session`, depois ler **`PLAN.md`** (se existir) e **`QUICK.md`** do escopo resolvido.
128
+ 2. Se existir `PLAN.md`, validar a seção `## Autoavaliação do Plano` antes de qualquer implementação:
129
+ - `Melhor plano atual` deve ser `sim`;
130
+ - `Confiança` deve existir em `0–100%`;
131
+ - se `.oxe/config.json` definir `plan_confidence_threshold`, usar esse limiar; senão, usar `70%`;
132
+ - se a confiança estiver abaixo do limiar, **não executar**. Registrar o bloqueio e orientar redução de incerteza (`/oxe-discuss`, `/oxe-research` ou `/oxe-plan --replan`).
133
+ 3. Verificar **`OBSERVATIONS.md`** do escopo resolvido incorporar pendentes de impacto `execute` ou `all` antes de iniciar.
134
+ 4. **Seleção de modo** (apenas se PLAN.md com 2+ ondas e `execute_mode` não definido em STATE): se o argumento já for `A`, `B` ou `C`, usá-lo diretamente; senão apresentar opções A/B/C e aguardar escolha; registrar em STATE.md.
135
+ 5. Identificar **onda ou bloco atual**: no PLAN, todas as tarefas da mesma onda sem dependências pendentes; no QUICK, passos ainda não marcados como feitos.
136
+ 6. Listar no chat: tarefas/passos desta onda, arquivos prováveis, comando **Verificar** de cada tarefa.
137
+ 7. **Implementar** conforme o modo escolhido:
138
+ - **Modo Completo:** executar todas as ondas em sequência com verificação inline entre ondas; sumarizar ao final.
139
+ - **Modo Por onda:** executar onda atual, apresentar checklist, parar.
140
+ - **Modo Por tarefa:** executar próxima tarefa pendente, parar.
141
+ 8. Após cada onda concluída, incluir checklist:
142
+ ```markdown
143
+ ## Checklist Onda N (OXE)
144
+ - [ ] Pré-requisitos da onda conferidos (dependências Tk atendidas)
145
+ - [ ] Implementação da onda concluída
146
+ - [ ] Comando Verificar de cada tarefa executado (ou agendado)
147
+ ```
148
+ 9. Atualizar **`.oxe/STATE.md`** global com progresso resumido e, com sessão ativa, escrever o detalhe operacional em `execution/STATE.md`.
149
+ 10. Marcar OBS incorporadas como `incorporada → execute (data)` em `OBSERVATIONS.md` do escopo resolvido.
150
+ </process>
142
151
 
143
152
  <success_criteria>
144
153
  - [ ] Modo de execução foi selecionado (ou herdado do STATE) antes de implementar.
@@ -1,14 +1,14 @@
1
1
  # OXE — Workflow: forensics
2
2
 
3
3
  <objective>
4
- Diagnosticar **incidentes de fluxo** após falha ou incoerência entre artefatos `.oxe/`, Git e saída de `oxe-cc doctor`: produzir **`.oxe/FORENSICS.md`** com linha do tempo, hipótese de causa e **exatamente um** próximo passo canónico OXE (`scan`, `plan` ou `execute` — incluindo ações como reinstalar workflows ou correr verify como parte do movimento **execute**).
4
+ Diagnosticar **incidentes de fluxo** após falha ou incoerência entre artefatos `.oxe/`, Git e saída de `oxe-cc doctor`: produzir **`FORENSICS.md`** no escopo resolvido com linha do tempo, hipótese de causa e **exatamente um** próximo passo canónico OXE (`scan`, `plan` ou `execute` — incluindo ações como reinstalar workflows ou correr verify como parte do movimento **execute**).
5
5
 
6
6
  Não reescrever `SPEC.md` nem apagar `PLAN.md`; apenas **recomendar** o reingresso na trilha.
7
7
  </objective>
8
8
 
9
9
  <context>
10
- - Usar quando: `VERIFY.md` com falhas ou gaps não explicados, `oxe-cc doctor` com **FALHA**, `STATE.md` contradiz ficheiros presentes (ex.: “onda concluída” sem `VERIFY.md`), ou o utilizador indica estar **preso** após várias tentativas de replan.
11
- - Ler: `.oxe/STATE.md`, `.oxe/VERIFY.md` (se existir), `.oxe/PLAN.md`, `.oxe/SPEC.md` (se existir), `.oxe/QUICK.md` (se existir).
10
+ - Usar quando: `VERIFY.md` com falhas ou gaps não explicados, `oxe-cc doctor` com **FALHA**, `STATE.md` contradiz ficheiros presentes (ex.: “onda concluída” sem `VERIFY.md`), ou o utilizador indica estar **preso** após várias tentativas de replan.
11
+ - Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`; ler `.oxe/STATE.md` global e os artefatos de sessão (`VERIFY.md`, `PLAN.md`, `SPEC.md`, `QUICK.md`) no escopo resolvido.
12
12
  - **Git é opcional:** em sandbox sem Git ou sem permissão de terminal, **não** falhar o workflow; registar em `FORENSICS.md` que Git não foi avaliado.
13
13
  - Opcional: saída resumida de `npx oxe-cc doctor` no diretório do projeto.
14
14
  - Se o sintoma for **mapa OXE desatualizado** (ex.: `STACK.md` / estrutura em `.oxe/codebase/` claramente atrás do repo) sem workflows em falta, a **Hipótese de causa** ou a **Justificativa** pode mencionar **`/oxe-compact`** como ação complementar **depois** de escolhido o passo canónico — o próximo passo OXE recomendado continua a ser **um** entre `scan` | `plan` | `execute`.
@@ -25,18 +25,18 @@ Não reescrever `SPEC.md` nem apagar `PLAN.md`; apenas **recomendar** o reingres
25
25
  <process>
26
26
  1. Confirmar diretório raiz do projeto e existência de `.oxe/`.
27
27
  2. Recolher evidência: STATE, VERIFY, PLAN, SPEC, QUICK (trechos relevantes), saída de **doctor** se disponível, e **Git (opcional)** conforme bloco no context (se indisponível, seguir sem Git).
28
- 3. Redigir **`.oxe/FORENSICS.md`** com secções fixas:
28
+ 3. Redigir **`FORENSICS.md`** no escopo resolvido com secções fixas:
29
29
  - **Data** (ISO) e **Sintoma** (1–3 frases).
30
30
  - **Linha do tempo** — bullets curtos (o que se tentou, ordem aproximada); **incorporar** commits/datas e ficheiros mais tocados quando houver evidência Git; se Git não foi avaliado, linha explícita: *Git não avaliado (ambiente/indisponível)*.
31
31
  - **Hipótese de causa** — uma ou duas hipóteses ranqueadas (ex.: plano desalinhado, mapa desatualizado, workflows em falta, implementação incompleta); usar padrões Git (ficheiros repetidos, working tree suja) quando útil.
32
32
  - **Próximo passo OXE recomendado:** **um único** valor entre `scan` | `plan` | `execute` e o **comando** correspondente (`/oxe-scan`, `/oxe-plan`, `/oxe-execute` ou `npx oxe-cc@latest` / `npx oxe-cc doctor` quando a causa for tooling).
33
33
  - **Justificativa** — uma frase que liga evidência ao passo escolhido.
34
- 4. Atualizar **`.oxe/STATE.md`** com uma linha opcional sob decisões ou contexto: referência a `FORENSICS.md` e fase sugerida (ex.: `forensics_complete` → próximo conforme passo recomendado).
34
+ 4. Atualizar **`.oxe/STATE.md`** global com uma linha opcional sob decisões ou contexto: referência a `FORENSICS.md` e fase sugerida (ex.: `forensics_complete` → próximo conforme passo recomendado).
35
35
  5. Responder no chat em ≤8 linhas: resumo do diagnóstico e **só** o próximo passo (sem lista equiparável de alternativas).
36
36
  </process>
37
37
 
38
38
  <success_criteria>
39
- - [ ] `.oxe/FORENSICS.md` existe com **Próximo passo OXE recomendado** igual a **um** entre `scan`, `plan`, `execute`.
39
+ - [ ] `FORENSICS.md` existe no escopo correto com **Próximo passo OXE recomendado** igual a **um** entre `scan`, `plan`, `execute`.
40
40
  - [ ] Não há conclusão “feito” sem indicar reingresso na trilha canónica.
41
41
  - [ ] `SPEC.md` / `PLAN.md` não foram apagados nem substituídos sem ação explícita do utilizador.
42
42
  </success_criteria>
@@ -11,24 +11,42 @@ No **projeto**, os passos canónicos estão em **`.oxe/workflows/*.md`** (layout
11
11
  </context>
12
12
 
13
13
  <output>
14
- ## Os 8 comandos essenciais
14
+ ## Comandos principais
15
15
 
16
16
  ```
17
- /oxe → onde estou / o que faço / help (entrada universal)
18
- /oxe-obsregistrei algo importante incorporado automaticamente nos próximos passos
19
- /oxe-quick tarefa pequena, sem cerimônia (com agentes lean quando necessário)
20
- /oxe-scan mapeia o projeto (ou atualiza o mapa se já existir)
17
+ /oxe → onde estou / o que faço / help (entrada universal)
18
+ /oxe-askentender a situação atual com leitura robusta de STATE + sessão + artefatos
19
+ /oxe-obs registrei algo importante incorporado automaticamente nos próximos passos
20
+ /oxe-quick tarefa pequena, sem cerimônia (com agentes lean quando necessário)
21
+ /oxe-session → criar, alternar, retomar, fechar ou migrar sessões OXE
22
+ /oxe-scan → mapeia o projeto (ou atualiza o mapa se já existir)
21
23
  /oxe-spec → nova feature: perguntas → pesquisa → requisitos → roteiro → aprovação
22
24
  /oxe-plan → tarefas por onda (--agents para blueprint multi-agente)
23
25
  /oxe-execute → implementar (A: 1 sessão | B: por onda | C: por tarefa)
24
26
  /oxe-verify → validar (camadas 5+6 opcionais via config: gaps + segurança)
25
27
  ```
26
28
 
27
- Tudo o mais é ativado automaticamente por contexto, por config, ou existe como escape hatch.
29
+ Tudo o mais é ativado automaticamente por contexto, por config, ou existe como escape hatch.
28
30
 
29
31
  ---
30
32
 
31
- ## Integrações principais (referência)
33
+ ## Sessões OXE
34
+
35
+ - `active_session` em `.oxe/STATE.md` define a sessão ativa com path relativo completo (`sessions/sNNN-slug`).
36
+ - Com sessão ativa, workflows de spec/plan/execute/verify e suportes ligados à trilha escrevem em `.oxe/<active_session>/...`.
37
+ - Permanecem globais: `.oxe/STATE.md`, `.oxe/config.json`, `.oxe/codebase/`, `.oxe/SESSIONS.md`, `.oxe/global/LESSONS.md`, `.oxe/global/MILESTONES.md`.
38
+ - `oxe-cc status` / `doctor` devem refletir a sessão ativa, a autoavaliação do plano e a saúde lógica do fluxo.
39
+
40
+ ### `/oxe-session`
41
+
42
+ - `new <nome>` — cria `.oxe/sessions/sNNN-slug/` e ativa a sessão
43
+ - `list` — mostra `.oxe/SESSIONS.md`
44
+ - `switch <id>` / `resume <id>` — alterna a sessão ativa
45
+ - `status` — mostra o manifesto `SESSION.md`
46
+ - `close` — arquiva a sessão ativa
47
+ - `migrate <nome>` — move artefatos session-scoped da raiz para uma nova sessão
48
+
49
+ ## Integrações principais (referência)
32
50
 
33
51
  ### Cursor
34
52
 
@@ -72,8 +90,8 @@ Com **`compact_max_age_days`** em `.oxe/config.json` (ver `oxe/templates/CONFIG.
72
90
  1. **scan** — após clonar ou quando o codebase mudar. **Inteligente:** se `.oxe/codebase/` já existir, opera em modo refresh (incremental) automaticamente — sem precisar chamar `/oxe-compact` separadamente. Use `--full` para forçar scan completo. Repositórios **legado** (COBOL, JCL, VB6): aplica `legacy-brownfield.md` automaticamente.
73
91
  2. **spec** — fluxo em **5 fases**: perguntas (máx 3 rodadas) → pesquisa (proposta inline na Fase 2, sem sair do spec) → requisitos R-ID (v1/v2/fora) → roteiro (`.oxe/ROADMAP.md`) → aprovação. Se `discuss_before_plan: true` na config, o próximo passo após aprovação é `oxe:discuss` antes de plan.
74
92
  3. **plan** — plano executável + **Verificar** por tarefa. Se 3+ domínios distintos, **sugere automaticamente** blueprint de agentes (`/oxe-plan --agents`). Sem `--agents`: solo. Com `--agents`: gera também `plan-agents.json` (schema 3 com `model_hint`).
75
- 4. **execute** — modo selecionado 1 vez: **A) Completo** (1 sessão), **B) Por onda**, **C) Por tarefa**. Se Verificar falhar inline: diagnóstico automático (2-3 hipóteses + fix), sem precisar chamar `/oxe-debug` separadamente. Escalação para `/oxe-forensics` só se esgotar tentativas.
76
- 5. **verify** — até **6 camadas** por config: auditoria pré-exec, tarefas + critérios A*, fidelidade D-NN, UAT, **gaps de cobertura** (camada 5 — `verification_depth: "thorough"`), **segurança OWASP** (camada 6 — `security_in_verify: true`). Sem comandos extras.
93
+ 4. **execute** — modo selecionado 1 vez: **A) Completo** (1 sessão), **B) Por onda**, **C) Por tarefa**. Antes de executar, validar a **Autoavaliação do Plano**: se `Melhor plano atual: não` ou a confiança estiver abaixo do limiar, o fluxo deve replanear em vez de implementar. Se Verificar falhar inline: diagnóstico automático (2-3 hipóteses + fix), sem precisar chamar `/oxe-debug` separadamente. Escalação para `/oxe-forensics` só se esgotar tentativas.
94
+ 5. **verify** — até **6 camadas** por config: auditoria pré-exec, tarefas + critérios A*, fidelidade D-NN, **calibração do plano**, UAT, **gaps de cobertura** (camada 5 — `verification_depth: "thorough"`), **segurança OWASP** (camada 6 — `security_in_verify: true`). Sem comandos extras.
77
95
  6. **retro** *(opcional, recomendado após verify_complete)* — `/oxe-retro` sintetiza 3–5 lições prescritivas em `.oxe/LESSONS.md`. Cada lição diz **o que fazer diferente** no próximo ciclo — consumida automaticamente pelo próximo spec/plan.
78
96
  7. **→ próximo ciclo** — spec/plan do próximo ciclo lê LESSONS.md automaticamente. Os erros do ciclo anterior não se repetem.
79
97
 
@@ -115,14 +133,15 @@ Um único comando para: `milestone new|complete|status|audit`, `workstream new|s
115
133
 
116
134
  - **`npx oxe-cc`** ou **`npx oxe-cc install`** — mesma instalação (alias explícito).
117
135
  - Instala workflows em `.oxe/` (layout mínimo) ou `oxe/` + `.oxe/` com **`--global`**; integrações em `~/.cursor`, `~/.copilot`, `~/.claude` (e mais destinos com **`--copilot-cli`** / **`--all-agents`**).
118
- - **`oxe-cc doctor`** — Node, workflows do pacote vs projeto, `config.json`, mapas do codebase, **coerência STATE vs arquivos**, scan antigo (`scan_max_age_days`), compact antigo (`compact_max_age_days`), seções SPEC, ondas do PLAN, **avisos** não bloqueantes sobre estrutura dos `.md` de workflow (ex.: `<objective>`, critérios de sucesso).
119
- - **`oxe-cc status`** — coerência `.oxe/` + **um** próximo passo (espelha `next.md`). Com **`--json`**, uma linha JSON com **`oxeStatusSchema: 2`**, `nextStep`, `cursorCmd`, `reason`, `artifacts`, `phase`, `scanDate`, `staleScan`, `compactDate`, `staleCompact`, `diagnostics` (e com **`--json --hints`** também o array **`hints`**). Com **`--hints`** em modo texto, bloco **Lembretes (rotina OXE)** (scan/compact antigos quando `scan_max_age_days` / `compact_max_age_days` estão ativos em `config.json`).
120
- - **`oxe-cc init-oxe`** — só bootstrap `.oxe/` (STATE, config, codebase).
121
- - **`oxe-cc uninstall`** — remove integrações no HOME e, por omissão, pastas de workflows no repo (`--ide-only` só HOME).
122
- - **`/oxe-update`** (Cursor; noutras ferramentas use o terminal no projeto) workflow de atualização: verificar npm, correr `oxe-cc update`, `doctor`.
123
- - **`oxe-cc update --check`** comparar versão em execução com a `latest` no npm (sem instalar).
124
- - **`oxe-cc update --if-newer`** — só executa o `npx oxe-cc@latest` se houver versão mais nova no npm.
125
- - **`oxe-cc update` / `npx oxe-cc@latest --force`** atualizar ficheiros OXE no projeto.
136
+ - **`oxe-cc doctor`** — Node, workflows do pacote vs projeto, `config.json`, bootstrap mínimo de `.oxe/`, mapas do codebase, **coerência STATE vs arquivos**, sessão ativa, autoavaliação do plano, scan antigo (`scan_max_age_days`), compact antigo (`compact_max_age_days`), seções SPEC, ondas do PLAN e **saúde lógica** (`healthy` | `warning` | `broken`).
137
+ - **`oxe-cc status`** — coerência `.oxe/` + **um** próximo passo (espelha `next.md`). Com **`--json`**, uma linha JSON com `healthStatus`, `activeSession`, `planSelfEvaluation` e `diagnostics` completos além do próximo passo. Com **`--hints`** em modo texto, bloco **Lembretes (rotina OXE)** (scan/compact antigos quando `scan_max_age_days` / `compact_max_age_days` estão ativos em `config.json`).
138
+ - **`oxe-cc init-oxe`** — só bootstrap `.oxe/` (STATE, config, codebase).
139
+ - **`oxe-cc uninstall`** — remove integrações no HOME e, por omissão, pastas de workflows no repo (`--ide-only` só HOME).
140
+ - **`oxe-cc uninstall --global-cli`** além da limpeza dos artefatos OXE, executa `npm uninstall -g oxe-cc` para remover o binário global do PATH.
141
+ - **`/oxe-update`** (Cursor; noutras ferramentas use o terminal no projeto) workflow de atualização: verificar npm, correr `oxe-cc update`, `doctor`.
142
+ - **`oxe-cc update --check`** — só comparar versão em execução com a `latest` no npm (sem instalar).
143
+ - **`oxe-cc update --if-newer`** — só executa o `npx oxe-cc@latest` se houver versão mais nova no npm.
144
+ - **`oxe-cc update` / `npx oxe-cc@latest --force`** — atualizar ficheiros OXE no projeto. Aceita flags extras como `--ide-local`, `--cursor`, `--copilot-cli`, `--global`, `--global-cli`.
126
145
 
127
146
  **CI / sem perguntas:** `OXE_NO_PROMPT=1` — layout mínimo e integrações padrão no HOME, salvo flags (`--global`, `--cursor`, …). Se existir **`.oxe/config.json`** com bloco **`install`** (perfil, `repo_layout`), aplica-se quando **não** há flags IDE explícitas; para ignorar: **`--no-install-config`**. Detalhes: `oxe/templates/CONFIG.md`.
128
147
 
@@ -136,8 +155,9 @@ Um pedido → **um** destino (sem gerar contrato). O agente aplica `route.md` ou
136
155
 
137
156
  | Se o utilizador disser (exemplos) | Comando / ação |
138
157
  |-----------------------------------|----------------|
139
- | Não sei que passo OXE sou / “o que faço agora?” | `/oxe-next` ou `npx oxe-cc status` |
140
- | Acabei de clonar / falta OXE no projeto | `npx oxe-cc@latest` (ou `oxe-cc`) na raiz do repo |
158
+ | Não sei que passo OXE sou / “o que faço agora?” | `/oxe-next` ou `npx oxe-cc status` |
159
+ | Quero entender rapidamente a situação real da trilha atual | `/oxe-ask [pergunta]` |
160
+ | Acabei de clonar / falta OXE no projeto | `npx oxe-cc@latest` (ou `oxe-cc`) na raiz do repo |
141
161
  | Verify falhou várias vezes / doctor estranho / artefatos incoerentes | `/oxe-forensics` |
142
162
  | Teste ou erro técnico durante o trabalho (stack, flake) | `/oxe-debug` (com **Tn** se houver) |
143
163
  | Revisar diff / PR antes do merge | `oxe/workflows/review-pr.md` em contexto *(Copilot: `/oxe-review-pr`)* |
@@ -10,9 +10,10 @@ Subcomandos:
10
10
  - `/oxe-milestone audit` — verificar se o milestone atingiu sua definição de pronto.
11
11
  </objective>
12
12
 
13
- <context>
14
- - Milestone ≠ Checkpoint. **Checkpoint** (`/oxe-checkpoint`) é um snapshot de sessão — restaurável a qualquer momento. **Milestone** é uma entrega — marcador de versão com artefatos arquivados e critérios de pronto validados.
15
- - Milestones são rastreados em **`.oxe/MILESTONES.md`** (índice) e cada entrega tem uma entrada com status, data e links aos artefatos.
13
+ <context>
14
+ - Milestone ≠ Checkpoint. **Checkpoint** (`/oxe-checkpoint`) é um snapshot de sessão — restaurável a qualquer momento. **Milestone** é uma entrega — marcador de versão com artefatos arquivados e critérios de pronto validados.
15
+ - Nesta versão, milestones são **globais**: usar `.oxe/global/MILESTONES.md` e `.oxe/global/milestones/`, ignorando `active_session` para escrita do índice global.
16
+ - Milestones são rastreados em **`.oxe/global/MILESTONES.md`** (índice) e cada entrega tem uma entrada com status, data e links aos artefatos.
16
17
  - O milestone ativo é registrado no **STATE.md** na seção **Milestone ativo**.
17
18
  - Um milestone é considerado **pronto** quando:
18
19
  1. Todos os critérios A* da SPEC estão com `verify_complete` no STATE.
@@ -26,7 +27,7 @@ Subcomandos:
26
27
 
27
28
  1. Verificar se há milestone ativo em STATE.md. Se houver, alertar e pedir confirmação antes de criar novo.
28
29
  2. Gerar ID sequencial: **M-01**, **M-02**, …
29
- 3. Criar entrada em **`.oxe/MILESTONES.md`**:
30
+ 3. Criar entrada em **`.oxe/global/MILESTONES.md`**:
30
31
  ```markdown
31
32
  ## M-01 — [nome] (ativo)
32
33
  - **Status:** ativo
@@ -50,13 +51,11 @@ Pré-requisitos (verificar antes de executar):
50
51
  Se pré-requisitos não forem satisfeitos: listar os que faltam e pausar. Com `--force`: documentar pré-requisitos não satisfeitos e continuar com aviso.
51
52
 
52
53
  Passos:
53
- 1. Arquivar artefatos do milestone:
54
- - Copiar `.oxe/SPEC.md` `.oxe/milestones/M-NN/SPEC.md`
55
- - Copiar `.oxe/PLAN.md` `.oxe/milestones/M-NN/PLAN.md`
56
- - Copiar `.oxe/VERIFY.md` → `.oxe/milestones/M-NN/VERIFY.md`
57
- - Copiar `.oxe/DISCUSS.md` `.oxe/milestones/M-NN/DISCUSS.md` (se existir)
58
- - Criar `.oxe/milestones/M-NN/MILESTONE.md` com resumo da entrega.
59
- 2. Atualizar **`.oxe/MILESTONES.md`**: marcar milestone como `entregue`, adicionar data de encerramento e links aos artefatos arquivados.
54
+ 1. Arquivar artefatos do milestone:
55
+ - Copiar os artefatos do escopo ativo da sessão, se houver, para `.oxe/global/milestones/M-NN/`
56
+ - Sem sessão ativa, copiar da raiz `.oxe/`
57
+ - Criar `.oxe/global/milestones/M-NN/MILESTONE.md` com resumo da entrega.
58
+ 2. Atualizar **`.oxe/global/MILESTONES.md`**: marcar milestone como `entregue`, adicionar data de encerramento e links aos artefatos arquivados.
60
59
  3. Atualizar **STATE.md**: limpar seção **Milestone ativo**, registrar **Último milestone** com ID e data.
61
60
  4. Sugerir próximo milestone ou nova spec: `Milestone M-NN concluído. Próximos passos: /oxe-milestone new v2 | /oxe-spec | /oxe-checkpoint`.
62
61
  </process_complete>
@@ -65,7 +64,7 @@ Passos:
65
64
  **`/oxe-milestone status`**
66
65
 
67
66
  1. Ler STATE.md para identificar milestone ativo (ID e nome).
68
- 2. Ler MILESTONES.md para detalhes.
67
+ 2. Ler `.oxe/global/MILESTONES.md` para detalhes.
69
68
  3. Ler SPEC.md para listar critérios A* e seu status (verificado / pendente).
70
69
  4. Ler VERIFY.md (se existir) para gaps abertos.
71
70
  5. Exibir no chat:
@@ -89,7 +88,7 @@ Resultado: `Milestone M-NN: PRONTO` ou lista de itens pendentes.
89
88
  </process_audit>
90
89
 
91
90
  <success_criteria>
92
- - [ ] `.oxe/MILESTONES.md` existe e tem entrada para o milestone ativo.
91
+ - [ ] `.oxe/global/MILESTONES.md` existe e tem entrada para o milestone ativo.
93
92
  - [ ] STATE.md indica milestone ativo (ID e nome).
94
93
  - [ ] Ao completar: artefatos arquivados em `.oxe/milestones/M-NN/`.
95
94
  - [ ] Ao completar: MILESTONES.md atualizado com status `entregue` e data.