oxe-cc 1.5.1 → 1.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/AGENTS.md +1 -1
- package/CHANGELOG.md +45 -0
- package/README.md +19 -15
- package/bin/lib/oxe-agent-install.cjs +125 -24
- package/bin/lib/oxe-dashboard.cjs +21 -5
- package/bin/lib/oxe-project-health.cjs +120 -42
- package/bin/lib/oxe-release.cjs +77 -4
- package/bin/oxe-cc.js +155 -78
- package/commands/oxe/debug.md +6 -1
- package/commands/oxe/discuss.md +7 -2
- package/commands/oxe/execute.md +7 -2
- package/commands/oxe/plan-agent.md +7 -2
- package/commands/oxe/plan.md +7 -2
- package/commands/oxe/scan.md +6 -1
- package/commands/oxe/spec.md +6 -1
- package/commands/oxe/verify.md +6 -1
- package/docs/CONTENT-MIGRATION-AUDIT.md +49 -0
- package/docs/RELEASE-READINESS.md +8 -0
- package/docs/RUNTIME-SMOKE-MATRIX.md +9 -2
- package/lib/runtime/compiler/graph-compiler.js +32 -0
- package/lib/runtime/context/context-pack-builder.d.ts +15 -0
- package/lib/runtime/context/context-pack-builder.js +78 -0
- package/lib/runtime/events/catalog.d.ts +1 -1
- package/lib/runtime/events/catalog.js +5 -0
- package/lib/runtime/executor/action-tool-map.d.ts +3 -0
- package/lib/runtime/executor/action-tool-map.js +41 -0
- package/lib/runtime/executor/built-in-tools.d.ts +8 -0
- package/lib/runtime/executor/built-in-tools.js +267 -0
- package/lib/runtime/executor/index.d.ts +6 -0
- package/lib/runtime/executor/index.js +12 -0
- package/lib/runtime/executor/llm-task-executor.d.ts +29 -0
- package/lib/runtime/executor/llm-task-executor.js +138 -0
- package/lib/runtime/executor/node-prompt-builder.d.ts +3 -0
- package/lib/runtime/executor/node-prompt-builder.js +36 -0
- package/lib/runtime/executor/stream-completion.d.ts +38 -0
- package/lib/runtime/executor/stream-completion.js +105 -0
- package/lib/runtime/index.d.ts +1 -0
- package/lib/runtime/index.js +2 -0
- package/lib/runtime/models/failure.d.ts +5 -0
- package/lib/runtime/models/failure.js +2 -0
- package/lib/runtime/plugins/capability-adapter.d.ts +9 -0
- package/lib/runtime/plugins/capability-adapter.js +111 -8
- package/lib/runtime/plugins/plugin-abi.d.ts +8 -0
- package/lib/runtime/plugins/plugin-registry.d.ts +2 -1
- package/lib/runtime/plugins/plugin-registry.js +6 -1
- package/lib/runtime/reducers/run-state-reducer.js +39 -2
- package/lib/runtime/scheduler/scheduler.d.ts +14 -2
- package/lib/runtime/scheduler/scheduler.js +131 -11
- package/lib/runtime/verification/verification-manifest.d.ts +5 -2
- package/lib/sdk/index.cjs +10 -5
- package/lib/sdk/index.d.ts +21 -10
- package/oxe/agents/oxe-assumptions-analyzer.md +136 -0
- package/oxe/agents/oxe-codebase-mapper.md +142 -0
- package/oxe/agents/oxe-debugger.md +145 -0
- package/oxe/agents/oxe-executor.md +139 -0
- package/oxe/agents/oxe-integration-checker.md +142 -0
- package/oxe/agents/oxe-plan-checker.md +143 -0
- package/oxe/agents/oxe-planner.md +151 -0
- package/oxe/agents/oxe-research-synthesizer.md +146 -0
- package/oxe/agents/oxe-researcher.md +163 -0
- package/oxe/agents/oxe-ui-auditor.md +151 -0
- package/oxe/agents/oxe-ui-checker.md +157 -0
- package/oxe/agents/oxe-ui-researcher.md +179 -0
- package/oxe/agents/oxe-validation-auditor.md +154 -0
- package/oxe/agents/oxe-verifier.md +132 -0
- package/oxe/personas/README.md +91 -39
- package/oxe/personas/architect.md +149 -37
- package/oxe/personas/db-specialist.md +149 -36
- package/oxe/personas/debugger.md +155 -38
- package/oxe/personas/executor.md +164 -38
- package/oxe/personas/planner.md +165 -36
- package/oxe/personas/researcher.md +148 -35
- package/oxe/personas/ui-specialist.md +164 -36
- package/oxe/personas/verifier.md +174 -39
- package/oxe/templates/CONFIG.md +3 -3
- package/oxe/templates/EXECUTION-RUNTIME.template.md +1 -1
- package/oxe/templates/FIXTURE-PACK.template.json +29 -22
- package/oxe/templates/FIXTURE-PACK.template.md +20 -11
- package/oxe/templates/IMPLEMENTATION-PACK.template.json +55 -39
- package/oxe/templates/IMPLEMENTATION-PACK.template.md +28 -16
- package/oxe/templates/INVESTIGATION.template.md +38 -38
- package/oxe/templates/PLAN.template.md +63 -32
- package/oxe/templates/REFERENCE-ANCHORS.template.md +18 -14
- package/oxe/templates/RESEARCH.template.md +11 -11
- package/oxe/templates/SPEC.template.md +6 -6
- package/oxe/templates/SUMMARY.template.md +33 -3
- package/oxe/templates/config.template.json +1 -1
- package/oxe/workflows/debug.md +9 -7
- package/oxe/workflows/execute.md +31 -28
- package/oxe/workflows/forensics.md +5 -3
- package/oxe/workflows/milestone.md +12 -12
- package/oxe/workflows/next.md +1 -1
- package/oxe/workflows/plan.md +409 -132
- package/oxe/workflows/references/adaptive-discovery.md +27 -27
- package/oxe/workflows/references/flow-robustness-contract.md +80 -80
- package/oxe/workflows/references/session-path-resolution.md +71 -71
- package/oxe/workflows/references/workflow-runtime-contracts.json +127 -127
- package/oxe/workflows/scan.md +355 -69
- package/oxe/workflows/spec.md +302 -9
- package/oxe/workflows/ui-review.md +5 -4
- package/oxe/workflows/ui-spec.md +4 -3
- package/oxe/workflows/verify.md +12 -9
- package/oxe/workflows/workstream.md +16 -16
- package/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/runtime/src/compiler/graph-compiler.ts +40 -0
- package/packages/runtime/src/context/context-pack-builder.ts +80 -0
- package/packages/runtime/src/events/catalog.ts +5 -0
- package/packages/runtime/src/executor/action-tool-map.ts +46 -0
- package/packages/runtime/src/executor/built-in-tools.ts +276 -0
- package/packages/runtime/src/executor/index.ts +6 -0
- package/packages/runtime/src/executor/llm-task-executor.ts +194 -0
- package/packages/runtime/src/executor/node-prompt-builder.ts +45 -0
- package/packages/runtime/src/executor/stream-completion.ts +145 -0
- package/packages/runtime/src/index.ts +3 -0
- package/packages/runtime/src/models/failure.ts +11 -0
- package/packages/runtime/src/plugins/capability-adapter.ts +117 -10
- package/packages/runtime/src/plugins/plugin-abi.ts +9 -0
- package/packages/runtime/src/plugins/plugin-registry.ts +10 -1
- package/packages/runtime/src/reducers/run-state-reducer.ts +59 -2
- package/packages/runtime/src/scheduler/scheduler.ts +152 -14
- package/packages/runtime/src/verification/verification-manifest.ts +12 -8
- package/vscode-extension/oxe-agents-1.6.0.vsix +0 -0
- package/vscode-extension/oxe-agents-1.7.0.vsix +0 -0
- package/vscode-extension/package.json +1 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# OXE — Descoberta Adaptativa
|
|
2
|
-
|
|
3
|
-
<objective>
|
|
4
|
-
Reduzir ambiguidade antes da escrita de `SPEC.md` e melhorar a qualidade do plano. Esta referência orienta `spec` e `ask`.
|
|
5
|
-
</objective>
|
|
6
|
-
|
|
7
|
-
## Regras
|
|
8
|
-
|
|
9
|
-
- Classificar a demanda o mais cedo possível: `feature`, `bugfix`, `refactor`, `research`, `ops`, `mixed`.
|
|
10
|
-
- Modular as perguntas pelo tipo de demanda e pelo risco.
|
|
11
|
-
- Limitar rodadas; consolidar entendimento antes de escrever artefatos.
|
|
12
|
-
- Registrar incertezas estruturadas, não apenas em texto solto.
|
|
13
|
-
|
|
14
|
-
## Blocos mínimos
|
|
15
|
-
|
|
16
|
-
- **Objetivo final**
|
|
17
|
-
- **Impacto / público**
|
|
18
|
-
- **Restrições técnicas**
|
|
19
|
-
- **Riscos e casos extremos**
|
|
20
|
-
- **Evidência faltante**
|
|
21
|
-
|
|
22
|
-
## Saída esperada
|
|
23
|
-
|
|
24
|
-
- resumo de entendimento;
|
|
25
|
-
- demanda classificada;
|
|
26
|
-
- incertezas remanescentes;
|
|
27
|
-
- recomendação de próximo passo compatível com o risco.
|
|
1
|
+
# OXE — Descoberta Adaptativa
|
|
2
|
+
|
|
3
|
+
<objective>
|
|
4
|
+
Reduzir ambiguidade antes da escrita de `SPEC.md` e melhorar a qualidade do plano. Esta referência orienta `spec` e `ask`.
|
|
5
|
+
</objective>
|
|
6
|
+
|
|
7
|
+
## Regras
|
|
8
|
+
|
|
9
|
+
- Classificar a demanda o mais cedo possível: `feature`, `bugfix`, `refactor`, `research`, `ops`, `mixed`.
|
|
10
|
+
- Modular as perguntas pelo tipo de demanda e pelo risco.
|
|
11
|
+
- Limitar rodadas; consolidar entendimento antes de escrever artefatos.
|
|
12
|
+
- Registrar incertezas estruturadas, não apenas em texto solto.
|
|
13
|
+
|
|
14
|
+
## Blocos mínimos
|
|
15
|
+
|
|
16
|
+
- **Objetivo final**
|
|
17
|
+
- **Impacto / público**
|
|
18
|
+
- **Restrições técnicas**
|
|
19
|
+
- **Riscos e casos extremos**
|
|
20
|
+
- **Evidência faltante**
|
|
21
|
+
|
|
22
|
+
## Saída esperada
|
|
23
|
+
|
|
24
|
+
- resumo de entendimento;
|
|
25
|
+
- demanda classificada;
|
|
26
|
+
- incertezas remanescentes;
|
|
27
|
+
- recomendação de próximo passo compatível com o risco.
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
# OXE — Contrato de Robustez do Fluxo
|
|
2
|
-
|
|
3
|
-
<objective>
|
|
4
|
-
Definir um contrato canónico para reduzir alucinação estrutural no OXE. Este ficheiro é consumido por `spec`, `plan`, `quick`, `execute`, `verify`, `next`, `status` e `doctor`.
|
|
5
|
-
</objective>
|
|
6
|
-
|
|
7
|
-
## Ordem determinística do fluxo
|
|
8
|
-
|
|
9
|
-
Todo passo OXE deve seguir esta ordem, sem saltar etapas:
|
|
10
|
-
|
|
11
|
-
1. Ler os artefatos obrigatórios do estado atual.
|
|
12
|
-
2. Resolver `active_session` e os paths do escopo.
|
|
13
|
-
3. Validar pré-condições mínimas antes de prosseguir.
|
|
14
|
-
4. Produzir a saída principal do passo.
|
|
15
|
-
5. Executar autoavaliação ou gate de qualidade do próprio passo.
|
|
16
|
-
6. Registrar um próximo passo único.
|
|
17
|
-
|
|
18
|
-
## Invariantes mínimos
|
|
19
|
-
|
|
20
|
-
Todo workflow deve declarar com clareza:
|
|
21
|
-
|
|
22
|
-
- quais artefatos lê;
|
|
23
|
-
- quais artefatos escreve;
|
|
24
|
-
- quais invariantes valida antes de operar;
|
|
25
|
-
- qual fallback legado é permitido quando não há sessão ativa.
|
|
26
|
-
|
|
27
|
-
## Proibição de saltos sem evidência
|
|
28
|
-
|
|
29
|
-
- `plan` não deve avançar sem `SPEC.md` válido.
|
|
30
|
-
- `execute` não deve avançar sem `PLAN.md` ou `QUICK.md` válido no escopo resolvido.
|
|
31
|
-
- `verify` não deve avançar sem evidência mínima de execução ou de artefatos resultantes.
|
|
32
|
-
- `next` não deve sugerir um passo que viole os gates acima.
|
|
33
|
-
|
|
34
|
-
## Contrato de autoavaliação do plano
|
|
35
|
-
|
|
36
|
-
Todo `PLAN.md` deve conter uma seção visível `## Autoavaliação do Plano` com:
|
|
37
|
-
|
|
38
|
-
- `Melhor plano atual:` `sim` ou `não`
|
|
39
|
-
- `Confiança:` `0–100%`
|
|
40
|
-
- `Base da confiança:` rubrica fixa, não narrativa livre
|
|
41
|
-
- `Principais incertezas:` lista curta
|
|
42
|
-
- `Alternativas descartadas:` resumo curto
|
|
43
|
-
- `Condição para replanejar:` critério objetivo
|
|
44
|
-
|
|
45
|
-
### Rubrica obrigatória
|
|
46
|
-
|
|
47
|
-
| Dimensão | Peso |
|
|
48
|
-
|----------|------|
|
|
49
|
-
| Completude dos requisitos | 25 |
|
|
50
|
-
| Dependências conhecidas | 15 |
|
|
51
|
-
| Risco técnico | 20 |
|
|
52
|
-
| Impacto no código existente | 15 |
|
|
53
|
-
| Clareza da validação / testes | 15 |
|
|
54
|
-
| Lacunas externas / decisões pendentes | 10 |
|
|
55
|
-
|
|
56
|
-
**Total:** 100 pontos
|
|
57
|
-
|
|
58
|
-
### Faixas semânticas
|
|
59
|
-
|
|
60
|
-
- `91–100%` → pronto para executar
|
|
61
|
-
- `80–90%` → plano racional, mas ainda não executável
|
|
62
|
-
- `50–79%` → precisa refino antes de execução
|
|
63
|
-
- `<50%` → não executar
|
|
64
|
-
|
|
65
|
-
## Calibração pós-execução
|
|
66
|
-
|
|
67
|
-
`verify` deve comparar o resultado real com a autoavaliação do plano:
|
|
68
|
-
|
|
69
|
-
- confiança alta + falha precoce = erro de calibração do plano;
|
|
70
|
-
- confiança baixa + falha em risco previsto = autoavaliação aderente;
|
|
71
|
-
- confiança alta + sucesso consistente = plano calibrado;
|
|
72
|
-
- confiança baixa + sucesso amplo = plano conservador demais.
|
|
73
|
-
|
|
74
|
-
## Uso por `status` e `doctor`
|
|
75
|
-
|
|
76
|
-
`status` e `doctor` devem refletir a saúde lógica do fluxo com categorias determinísticas:
|
|
77
|
-
|
|
78
|
-
- `healthy` — sem bloqueio lógico conhecido;
|
|
79
|
-
- `warning` — fluxo operável, mas com gaps ou drift relevante;
|
|
80
|
-
- `broken` — artefato crítico ausente, incoerência severa ou gate indispensável falhado.
|
|
1
|
+
# OXE — Contrato de Robustez do Fluxo
|
|
2
|
+
|
|
3
|
+
<objective>
|
|
4
|
+
Definir um contrato canónico para reduzir alucinação estrutural no OXE. Este ficheiro é consumido por `spec`, `plan`, `quick`, `execute`, `verify`, `next`, `status` e `doctor`.
|
|
5
|
+
</objective>
|
|
6
|
+
|
|
7
|
+
## Ordem determinística do fluxo
|
|
8
|
+
|
|
9
|
+
Todo passo OXE deve seguir esta ordem, sem saltar etapas:
|
|
10
|
+
|
|
11
|
+
1. Ler os artefatos obrigatórios do estado atual.
|
|
12
|
+
2. Resolver `active_session` e os paths do escopo.
|
|
13
|
+
3. Validar pré-condições mínimas antes de prosseguir.
|
|
14
|
+
4. Produzir a saída principal do passo.
|
|
15
|
+
5. Executar autoavaliação ou gate de qualidade do próprio passo.
|
|
16
|
+
6. Registrar um próximo passo único.
|
|
17
|
+
|
|
18
|
+
## Invariantes mínimos
|
|
19
|
+
|
|
20
|
+
Todo workflow deve declarar com clareza:
|
|
21
|
+
|
|
22
|
+
- quais artefatos lê;
|
|
23
|
+
- quais artefatos escreve;
|
|
24
|
+
- quais invariantes valida antes de operar;
|
|
25
|
+
- qual fallback legado é permitido quando não há sessão ativa.
|
|
26
|
+
|
|
27
|
+
## Proibição de saltos sem evidência
|
|
28
|
+
|
|
29
|
+
- `plan` não deve avançar sem `SPEC.md` válido.
|
|
30
|
+
- `execute` não deve avançar sem `PLAN.md` ou `QUICK.md` válido no escopo resolvido.
|
|
31
|
+
- `verify` não deve avançar sem evidência mínima de execução ou de artefatos resultantes.
|
|
32
|
+
- `next` não deve sugerir um passo que viole os gates acima.
|
|
33
|
+
|
|
34
|
+
## Contrato de autoavaliação do plano
|
|
35
|
+
|
|
36
|
+
Todo `PLAN.md` deve conter uma seção visível `## Autoavaliação do Plano` com:
|
|
37
|
+
|
|
38
|
+
- `Melhor plano atual:` `sim` ou `não`
|
|
39
|
+
- `Confiança:` `0–100%`
|
|
40
|
+
- `Base da confiança:` rubrica fixa, não narrativa livre
|
|
41
|
+
- `Principais incertezas:` lista curta
|
|
42
|
+
- `Alternativas descartadas:` resumo curto
|
|
43
|
+
- `Condição para replanejar:` critério objetivo
|
|
44
|
+
|
|
45
|
+
### Rubrica obrigatória
|
|
46
|
+
|
|
47
|
+
| Dimensão | Peso |
|
|
48
|
+
|----------|------|
|
|
49
|
+
| Completude dos requisitos | 25 |
|
|
50
|
+
| Dependências conhecidas | 15 |
|
|
51
|
+
| Risco técnico | 20 |
|
|
52
|
+
| Impacto no código existente | 15 |
|
|
53
|
+
| Clareza da validação / testes | 15 |
|
|
54
|
+
| Lacunas externas / decisões pendentes | 10 |
|
|
55
|
+
|
|
56
|
+
**Total:** 100 pontos
|
|
57
|
+
|
|
58
|
+
### Faixas semânticas
|
|
59
|
+
|
|
60
|
+
- `91–100%` → pronto para executar
|
|
61
|
+
- `80–90%` → plano racional, mas ainda não executável
|
|
62
|
+
- `50–79%` → precisa refino antes de execução
|
|
63
|
+
- `<50%` → não executar
|
|
64
|
+
|
|
65
|
+
## Calibração pós-execução
|
|
66
|
+
|
|
67
|
+
`verify` deve comparar o resultado real com a autoavaliação do plano:
|
|
68
|
+
|
|
69
|
+
- confiança alta + falha precoce = erro de calibração do plano;
|
|
70
|
+
- confiança baixa + falha em risco previsto = autoavaliação aderente;
|
|
71
|
+
- confiança alta + sucesso consistente = plano calibrado;
|
|
72
|
+
- confiança baixa + sucesso amplo = plano conservador demais.
|
|
73
|
+
|
|
74
|
+
## Uso por `status` e `doctor`
|
|
75
|
+
|
|
76
|
+
`status` e `doctor` devem refletir a saúde lógica do fluxo com categorias determinísticas:
|
|
77
|
+
|
|
78
|
+
- `healthy` — sem bloqueio lógico conhecido;
|
|
79
|
+
- `warning` — fluxo operável, mas com gaps ou drift relevante;
|
|
80
|
+
- `broken` — artefato crítico ausente, incoerência severa ou gate indispensável falhado.
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
# OXE — Referência: Session Path Resolution
|
|
2
|
-
|
|
3
|
-
<objective>
|
|
4
|
-
Padronizar a resolução de caminhos quando o projeto usa **sessões OXE** em `.oxe/sessions/`, preservando o modo legado quando **`.oxe/STATE.md`** não tiver `active_session`.
|
|
5
|
-
</objective>
|
|
6
|
-
|
|
7
|
-
<resolution_rule>
|
|
8
|
-
## Regra de resolução
|
|
9
|
-
|
|
10
|
-
1. Ler **`.oxe/STATE.md`** global.
|
|
11
|
-
2. Procurar o campo **`active_session`** na secção **Sessão ativa**.
|
|
12
|
-
3. Se existir e tiver valor diferente de `—`, usar:
|
|
13
|
-
- `session_path = .oxe/<active_session>/`
|
|
14
|
-
- `active_session` deve guardar sempre o path relativo completo, por exemplo: `sessions/s001-auth-redesign`
|
|
15
|
-
4. Se não existir:
|
|
16
|
-
- `session_path = .oxe/`
|
|
17
|
-
- O workflow opera em **modo legado**
|
|
18
|
-
|
|
19
|
-
## Convenções auxiliares
|
|
20
|
-
|
|
21
|
-
- **global_state_path** = `.oxe/STATE.md`
|
|
22
|
-
- **global_config_path** = `.oxe/config.json`
|
|
23
|
-
- **global_codebase_path** = `.oxe/codebase/`
|
|
24
|
-
- **global_sessions_index_path** = `.oxe/SESSIONS.md`
|
|
25
|
-
- **global_lessons_path** = `.oxe/global/LESSONS.md`
|
|
26
|
-
- **global_milestones_index_path** = `.oxe/global/MILESTONES.md`
|
|
27
|
-
- **global_milestones_dir** = `.oxe/global/milestones/`
|
|
28
|
-
</resolution_rule>
|
|
29
|
-
|
|
30
|
-
<artifact_matrix>
|
|
31
|
-
## Matriz de artefatos
|
|
32
|
-
|
|
33
|
-
| Tipo | Escopo | Caminho com sessão ativa | Caminho legado |
|
|
34
|
-
|------|--------|--------------------------|----------------|
|
|
35
|
-
| STATE global | global | `.oxe/STATE.md` | `.oxe/STATE.md` |
|
|
36
|
-
| Config | global | `.oxe/config.json` | `.oxe/config.json` |
|
|
37
|
-
| Codebase | global | `.oxe/codebase/*` | `.oxe/codebase/*` |
|
|
38
|
-
| SESSIONS | global | `.oxe/SESSIONS.md` | `.oxe/SESSIONS.md` |
|
|
39
|
-
| LESSONS | global | `.oxe/global/LESSONS.md` | `.oxe/LESSONS.md` |
|
|
40
|
-
| MILESTONES | global | `.oxe/global/MILESTONES.md` | `.oxe/MILESTONES.md` |
|
|
41
|
-
| SPEC / ROADMAP / DISCUSS / UI-SPEC | sessão | `.oxe/<active_session>/spec/` | `.oxe/` |
|
|
42
|
-
| PLAN / QUICK / plan-agents / quick-agents | sessão | `.oxe/<active_session>/plan/` | `.oxe/` |
|
|
43
|
-
| STATE local / OBS / DEBUG / FORENSICS | sessão | `.oxe/<active_session>/execution/` | `.oxe/` |
|
|
44
|
-
| VERIFY / VALIDATION-GAPS / SECURITY / UI-REVIEW | sessão | `.oxe/<active_session>/verification/` | `.oxe/` |
|
|
45
|
-
| CHECKPOINTS | sessão | `.oxe/<active_session>/checkpoints/` | `.oxe/checkpoints/` |
|
|
46
|
-
| RESEARCH | sessão | `.oxe/<active_session>/research/` | `.oxe/research/` |
|
|
47
|
-
| WORKSTREAMS | sessão | `.oxe/<active_session>/workstreams/` | `.oxe/workstreams/` |
|
|
48
|
-
</artifact_matrix>
|
|
49
|
-
|
|
50
|
-
<reading_rule>
|
|
51
|
-
## Regra de leitura
|
|
52
|
-
|
|
53
|
-
- Quando um workflow ler um artefato da sua trilha, deve tentar primeiro o caminho da sessão ativa.
|
|
54
|
-
- Se não houver sessão ativa, usar o caminho legado.
|
|
55
|
-
- Se houver sessão ativa mas o artefato ainda não existir, o workflow pode:
|
|
56
|
-
- criar no caminho da sessão, se for writer da fase
|
|
57
|
-
- ou fazer fallback de leitura para o legado, quando isso preservar retrocompatibilidade e ajudar numa migração
|
|
58
|
-
|
|
59
|
-
Exemplos:
|
|
60
|
-
- `plan` lê `spec/SPEC.md` da sessão antes de cair para `.oxe/SPEC.md`
|
|
61
|
-
- `verify` lê `plan/PLAN.md` e `spec/SPEC.md` da sessão antes do legado
|
|
62
|
-
- `execute` lê sempre `.oxe/STATE.md` global **antes** de tudo, só para resolver `active_session`
|
|
63
|
-
</reading_rule>
|
|
64
|
-
|
|
65
|
-
<cross_session_refs>
|
|
66
|
-
## Referências cruzadas
|
|
67
|
-
|
|
68
|
-
- Em `SESSION.md`, referências a outras sessões usam o formato **`@sNNN`**
|
|
69
|
-
- O texto pode complementar com o path, por exemplo: `@s003 ver sessions/s003-auth-hardening/SESSION.md`
|
|
70
|
-
- Não existe sessão múltipla ativa: o formato `@sNNN` é apenas referência documental
|
|
71
|
-
</cross_session_refs>
|
|
1
|
+
# OXE — Referência: Session Path Resolution
|
|
2
|
+
|
|
3
|
+
<objective>
|
|
4
|
+
Padronizar a resolução de caminhos quando o projeto usa **sessões OXE** em `.oxe/sessions/`, preservando o modo legado quando **`.oxe/STATE.md`** não tiver `active_session`.
|
|
5
|
+
</objective>
|
|
6
|
+
|
|
7
|
+
<resolution_rule>
|
|
8
|
+
## Regra de resolução
|
|
9
|
+
|
|
10
|
+
1. Ler **`.oxe/STATE.md`** global.
|
|
11
|
+
2. Procurar o campo **`active_session`** na secção **Sessão ativa**.
|
|
12
|
+
3. Se existir e tiver valor diferente de `—`, usar:
|
|
13
|
+
- `session_path = .oxe/<active_session>/`
|
|
14
|
+
- `active_session` deve guardar sempre o path relativo completo, por exemplo: `sessions/s001-auth-redesign`
|
|
15
|
+
4. Se não existir:
|
|
16
|
+
- `session_path = .oxe/`
|
|
17
|
+
- O workflow opera em **modo legado**
|
|
18
|
+
|
|
19
|
+
## Convenções auxiliares
|
|
20
|
+
|
|
21
|
+
- **global_state_path** = `.oxe/STATE.md`
|
|
22
|
+
- **global_config_path** = `.oxe/config.json`
|
|
23
|
+
- **global_codebase_path** = `.oxe/codebase/`
|
|
24
|
+
- **global_sessions_index_path** = `.oxe/SESSIONS.md`
|
|
25
|
+
- **global_lessons_path** = `.oxe/global/LESSONS.md`
|
|
26
|
+
- **global_milestones_index_path** = `.oxe/global/MILESTONES.md`
|
|
27
|
+
- **global_milestones_dir** = `.oxe/global/milestones/`
|
|
28
|
+
</resolution_rule>
|
|
29
|
+
|
|
30
|
+
<artifact_matrix>
|
|
31
|
+
## Matriz de artefatos
|
|
32
|
+
|
|
33
|
+
| Tipo | Escopo | Caminho com sessão ativa | Caminho legado |
|
|
34
|
+
|------|--------|--------------------------|----------------|
|
|
35
|
+
| STATE global | global | `.oxe/STATE.md` | `.oxe/STATE.md` |
|
|
36
|
+
| Config | global | `.oxe/config.json` | `.oxe/config.json` |
|
|
37
|
+
| Codebase | global | `.oxe/codebase/*` | `.oxe/codebase/*` |
|
|
38
|
+
| SESSIONS | global | `.oxe/SESSIONS.md` | `.oxe/SESSIONS.md` |
|
|
39
|
+
| LESSONS | global | `.oxe/global/LESSONS.md` | `.oxe/LESSONS.md` |
|
|
40
|
+
| MILESTONES | global | `.oxe/global/MILESTONES.md` | `.oxe/MILESTONES.md` |
|
|
41
|
+
| SPEC / ROADMAP / DISCUSS / UI-SPEC | sessão | `.oxe/<active_session>/spec/` | `.oxe/` |
|
|
42
|
+
| PLAN / QUICK / plan-agents / quick-agents | sessão | `.oxe/<active_session>/plan/` | `.oxe/` |
|
|
43
|
+
| STATE local / OBS / DEBUG / FORENSICS | sessão | `.oxe/<active_session>/execution/` | `.oxe/` |
|
|
44
|
+
| VERIFY / VALIDATION-GAPS / SECURITY / UI-REVIEW | sessão | `.oxe/<active_session>/verification/` | `.oxe/` |
|
|
45
|
+
| CHECKPOINTS | sessão | `.oxe/<active_session>/checkpoints/` | `.oxe/checkpoints/` |
|
|
46
|
+
| RESEARCH | sessão | `.oxe/<active_session>/research/` | `.oxe/research/` |
|
|
47
|
+
| WORKSTREAMS | sessão | `.oxe/<active_session>/workstreams/` | `.oxe/workstreams/` |
|
|
48
|
+
</artifact_matrix>
|
|
49
|
+
|
|
50
|
+
<reading_rule>
|
|
51
|
+
## Regra de leitura
|
|
52
|
+
|
|
53
|
+
- Quando um workflow ler um artefato da sua trilha, deve tentar primeiro o caminho da sessão ativa.
|
|
54
|
+
- Se não houver sessão ativa, usar o caminho legado.
|
|
55
|
+
- Se houver sessão ativa mas o artefato ainda não existir, o workflow pode:
|
|
56
|
+
- criar no caminho da sessão, se for writer da fase
|
|
57
|
+
- ou fazer fallback de leitura para o legado, quando isso preservar retrocompatibilidade e ajudar numa migração
|
|
58
|
+
|
|
59
|
+
Exemplos:
|
|
60
|
+
- `plan` lê `spec/SPEC.md` da sessão antes de cair para `.oxe/SPEC.md`
|
|
61
|
+
- `verify` lê `plan/PLAN.md` e `spec/SPEC.md` da sessão antes do legado
|
|
62
|
+
- `execute` lê sempre `.oxe/STATE.md` global **antes** de tudo, só para resolver `active_session`
|
|
63
|
+
</reading_rule>
|
|
64
|
+
|
|
65
|
+
<cross_session_refs>
|
|
66
|
+
## Referências cruzadas
|
|
67
|
+
|
|
68
|
+
- Em `SESSION.md`, referências a outras sessões usam o formato **`@sNNN`**
|
|
69
|
+
- O texto pode complementar com o path, por exemplo: `@s003 ver sessions/s003-auth-hardening/SESSION.md`
|
|
70
|
+
- Não existe sessão múltipla ativa: o formato `@sNNN` é apenas referência documental
|
|
71
|
+
</cross_session_refs>
|
|
@@ -254,25 +254,25 @@
|
|
|
254
254
|
],
|
|
255
255
|
"extraction_intent": "status_read"
|
|
256
256
|
},
|
|
257
|
-
"dashboard": {
|
|
258
|
-
"reasoning_mode": "status",
|
|
259
|
-
"output_contract": "situational",
|
|
260
|
-
"required_artifacts": [
|
|
261
|
-
"state",
|
|
262
|
-
"phase_summary",
|
|
263
|
-
"project_summary"
|
|
264
|
-
],
|
|
265
|
-
"optional_artifacts": [
|
|
266
|
-
"session_summary",
|
|
267
|
-
"plan",
|
|
268
|
-
"implementation_pack_json",
|
|
269
|
-
"reference_anchors",
|
|
270
|
-
"fixture_pack_json",
|
|
271
|
-
"runtime",
|
|
272
|
-
"verify",
|
|
273
|
-
"active_run",
|
|
274
|
-
"events",
|
|
275
|
-
"context_pack_dashboard"
|
|
257
|
+
"dashboard": {
|
|
258
|
+
"reasoning_mode": "status",
|
|
259
|
+
"output_contract": "situational",
|
|
260
|
+
"required_artifacts": [
|
|
261
|
+
"state",
|
|
262
|
+
"phase_summary",
|
|
263
|
+
"project_summary"
|
|
264
|
+
],
|
|
265
|
+
"optional_artifacts": [
|
|
266
|
+
"session_summary",
|
|
267
|
+
"plan",
|
|
268
|
+
"implementation_pack_json",
|
|
269
|
+
"reference_anchors",
|
|
270
|
+
"fixture_pack_json",
|
|
271
|
+
"runtime",
|
|
272
|
+
"verify",
|
|
273
|
+
"active_run",
|
|
274
|
+
"events",
|
|
275
|
+
"context_pack_dashboard"
|
|
276
276
|
],
|
|
277
277
|
"extraction_intent": "critical_check"
|
|
278
278
|
},
|
|
@@ -322,72 +322,72 @@
|
|
|
322
322
|
"canonical_state"
|
|
323
323
|
],
|
|
324
324
|
"runtime_fallback_note": "Se o runtime não estiver compilado ou falhar por indisponibilidade do pacote, declarar fallback explícito para o fluxo legado antes de mutar.",
|
|
325
|
-
"required_artifacts": [
|
|
326
|
-
"state",
|
|
327
|
-
"runtime",
|
|
328
|
-
"checkpoints",
|
|
329
|
-
"implementation_pack_json",
|
|
330
|
-
"reference_anchors",
|
|
331
|
-
"fixture_pack_json"
|
|
332
|
-
],
|
|
333
|
-
"optional_artifacts": [
|
|
334
|
-
"plan",
|
|
335
|
-
"quick",
|
|
336
|
-
"implementation_pack_md",
|
|
337
|
-
"fixture_pack_md",
|
|
338
|
-
"active_run",
|
|
339
|
-
"events",
|
|
340
|
-
"verify",
|
|
341
|
-
"summary",
|
|
342
|
-
"session_summary",
|
|
325
|
+
"required_artifacts": [
|
|
326
|
+
"state",
|
|
327
|
+
"runtime",
|
|
328
|
+
"checkpoints",
|
|
329
|
+
"implementation_pack_json",
|
|
330
|
+
"reference_anchors",
|
|
331
|
+
"fixture_pack_json"
|
|
332
|
+
],
|
|
333
|
+
"optional_artifacts": [
|
|
334
|
+
"plan",
|
|
335
|
+
"quick",
|
|
336
|
+
"implementation_pack_md",
|
|
337
|
+
"fixture_pack_md",
|
|
338
|
+
"active_run",
|
|
339
|
+
"events",
|
|
340
|
+
"verify",
|
|
341
|
+
"summary",
|
|
342
|
+
"session_summary",
|
|
343
343
|
"phase_summary",
|
|
344
344
|
"project_summary",
|
|
345
345
|
"capabilities_index",
|
|
346
346
|
"azure_inventory"
|
|
347
347
|
],
|
|
348
|
-
"context_tiers": {
|
|
349
|
-
"minimal": [
|
|
350
|
-
"state",
|
|
351
|
-
"runtime",
|
|
352
|
-
"checkpoints",
|
|
353
|
-
"plan",
|
|
354
|
-
"implementation_pack_json",
|
|
355
|
-
"reference_anchors",
|
|
356
|
-
"fixture_pack_json",
|
|
357
|
-
"quick",
|
|
358
|
-
"phase_summary"
|
|
359
|
-
],
|
|
360
|
-
"standard": [
|
|
361
|
-
"state",
|
|
362
|
-
"runtime",
|
|
363
|
-
"checkpoints",
|
|
364
|
-
"plan",
|
|
365
|
-
"implementation_pack_json",
|
|
366
|
-
"reference_anchors",
|
|
367
|
-
"fixture_pack_json",
|
|
368
|
-
"quick",
|
|
369
|
-
"phase_summary",
|
|
370
|
-
"session_summary",
|
|
371
|
-
"active_run",
|
|
372
|
-
"events",
|
|
348
|
+
"context_tiers": {
|
|
349
|
+
"minimal": [
|
|
350
|
+
"state",
|
|
351
|
+
"runtime",
|
|
352
|
+
"checkpoints",
|
|
353
|
+
"plan",
|
|
354
|
+
"implementation_pack_json",
|
|
355
|
+
"reference_anchors",
|
|
356
|
+
"fixture_pack_json",
|
|
357
|
+
"quick",
|
|
358
|
+
"phase_summary"
|
|
359
|
+
],
|
|
360
|
+
"standard": [
|
|
361
|
+
"state",
|
|
362
|
+
"runtime",
|
|
363
|
+
"checkpoints",
|
|
364
|
+
"plan",
|
|
365
|
+
"implementation_pack_json",
|
|
366
|
+
"reference_anchors",
|
|
367
|
+
"fixture_pack_json",
|
|
368
|
+
"quick",
|
|
369
|
+
"phase_summary",
|
|
370
|
+
"session_summary",
|
|
371
|
+
"active_run",
|
|
372
|
+
"events",
|
|
373
373
|
"verify",
|
|
374
374
|
"summary"
|
|
375
375
|
],
|
|
376
376
|
"full": [
|
|
377
|
-
"state",
|
|
378
|
-
"runtime",
|
|
379
|
-
"checkpoints",
|
|
380
|
-
"plan",
|
|
381
|
-
"implementation_pack_md",
|
|
382
|
-
"implementation_pack_json",
|
|
383
|
-
"reference_anchors",
|
|
384
|
-
"fixture_pack_md",
|
|
385
|
-
"fixture_pack_json",
|
|
386
|
-
"quick",
|
|
387
|
-
"active_run",
|
|
388
|
-
"events",
|
|
389
|
-
"verify",
|
|
390
|
-
"summary",
|
|
377
|
+
"state",
|
|
378
|
+
"runtime",
|
|
379
|
+
"checkpoints",
|
|
380
|
+
"plan",
|
|
381
|
+
"implementation_pack_md",
|
|
382
|
+
"implementation_pack_json",
|
|
383
|
+
"reference_anchors",
|
|
384
|
+
"fixture_pack_md",
|
|
385
|
+
"fixture_pack_json",
|
|
386
|
+
"quick",
|
|
387
|
+
"active_run",
|
|
388
|
+
"events",
|
|
389
|
+
"verify",
|
|
390
|
+
"summary",
|
|
391
391
|
"session_summary",
|
|
392
392
|
"phase_summary",
|
|
393
393
|
"project_summary",
|
|
@@ -530,65 +530,65 @@
|
|
|
530
530
|
"state",
|
|
531
531
|
"spec"
|
|
532
532
|
],
|
|
533
|
-
"optional_artifacts": [
|
|
534
|
-
"discuss",
|
|
535
|
-
"investigations_index",
|
|
536
|
-
"project_summary",
|
|
537
|
-
"session_summary",
|
|
538
|
-
"phase_summary",
|
|
539
|
-
"global_lessons",
|
|
540
|
-
"capabilities_index",
|
|
541
|
-
"azure_inventory",
|
|
542
|
-
"checkpoints",
|
|
543
|
-
"calibration",
|
|
544
|
-
"implementation_pack_md",
|
|
545
|
-
"implementation_pack_json",
|
|
546
|
-
"reference_anchors",
|
|
547
|
-
"fixture_pack_md",
|
|
548
|
-
"fixture_pack_json"
|
|
549
|
-
],
|
|
550
|
-
"context_tiers": {
|
|
551
|
-
"minimal": [
|
|
552
|
-
"state",
|
|
553
|
-
"spec",
|
|
533
|
+
"optional_artifacts": [
|
|
534
|
+
"discuss",
|
|
535
|
+
"investigations_index",
|
|
536
|
+
"project_summary",
|
|
537
|
+
"session_summary",
|
|
538
|
+
"phase_summary",
|
|
539
|
+
"global_lessons",
|
|
540
|
+
"capabilities_index",
|
|
541
|
+
"azure_inventory",
|
|
542
|
+
"checkpoints",
|
|
543
|
+
"calibration",
|
|
544
|
+
"implementation_pack_md",
|
|
545
|
+
"implementation_pack_json",
|
|
546
|
+
"reference_anchors",
|
|
547
|
+
"fixture_pack_md",
|
|
548
|
+
"fixture_pack_json"
|
|
549
|
+
],
|
|
550
|
+
"context_tiers": {
|
|
551
|
+
"minimal": [
|
|
552
|
+
"state",
|
|
553
|
+
"spec",
|
|
554
554
|
"session_summary",
|
|
555
555
|
"phase_summary"
|
|
556
556
|
],
|
|
557
557
|
"standard": [
|
|
558
|
-
"state",
|
|
559
|
-
"spec",
|
|
560
|
-
"session_summary",
|
|
561
|
-
"phase_summary",
|
|
562
|
-
"discuss",
|
|
563
|
-
"investigations_index",
|
|
564
|
-
"project_summary",
|
|
565
|
-
"global_lessons",
|
|
566
|
-
"capabilities_index",
|
|
567
|
-
"checkpoints",
|
|
568
|
-
"implementation_pack_json",
|
|
569
|
-
"reference_anchors",
|
|
570
|
-
"fixture_pack_json"
|
|
571
|
-
],
|
|
572
|
-
"full": [
|
|
573
|
-
"state",
|
|
574
|
-
"spec",
|
|
575
|
-
"discuss",
|
|
558
|
+
"state",
|
|
559
|
+
"spec",
|
|
560
|
+
"session_summary",
|
|
561
|
+
"phase_summary",
|
|
562
|
+
"discuss",
|
|
563
|
+
"investigations_index",
|
|
564
|
+
"project_summary",
|
|
565
|
+
"global_lessons",
|
|
566
|
+
"capabilities_index",
|
|
567
|
+
"checkpoints",
|
|
568
|
+
"implementation_pack_json",
|
|
569
|
+
"reference_anchors",
|
|
570
|
+
"fixture_pack_json"
|
|
571
|
+
],
|
|
572
|
+
"full": [
|
|
573
|
+
"state",
|
|
574
|
+
"spec",
|
|
575
|
+
"discuss",
|
|
576
576
|
"investigations_index",
|
|
577
577
|
"project_summary",
|
|
578
578
|
"session_summary",
|
|
579
579
|
"phase_summary",
|
|
580
|
-
"global_lessons",
|
|
581
|
-
"capabilities_index",
|
|
582
|
-
"azure_inventory",
|
|
583
|
-
"checkpoints",
|
|
584
|
-
"calibration",
|
|
585
|
-
"implementation_pack_md",
|
|
586
|
-
"implementation_pack_json",
|
|
587
|
-
"reference_anchors",
|
|
588
|
-
"fixture_pack_md",
|
|
589
|
-
"fixture_pack_json"
|
|
590
|
-
]
|
|
591
|
-
},
|
|
580
|
+
"global_lessons",
|
|
581
|
+
"capabilities_index",
|
|
582
|
+
"azure_inventory",
|
|
583
|
+
"checkpoints",
|
|
584
|
+
"calibration",
|
|
585
|
+
"implementation_pack_md",
|
|
586
|
+
"implementation_pack_json",
|
|
587
|
+
"reference_anchors",
|
|
588
|
+
"fixture_pack_md",
|
|
589
|
+
"fixture_pack_json"
|
|
590
|
+
]
|
|
591
|
+
},
|
|
592
592
|
"extraction_intent": "planning_input"
|
|
593
593
|
},
|
|
594
594
|
"project": {
|