oxe-cc 1.0.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/commands/oxe-ask.md +3 -3
- package/.cursor/commands/oxe-capabilities.md +3 -3
- package/.cursor/commands/oxe-checkpoint.md +3 -3
- package/.cursor/commands/oxe-compact.md +3 -3
- package/.cursor/commands/oxe-dashboard.md +3 -3
- package/.cursor/commands/oxe-debug.md +3 -3
- package/.cursor/commands/oxe-discuss.md +3 -3
- package/.cursor/commands/oxe-execute.md +7 -4
- package/.cursor/commands/oxe-forensics.md +3 -3
- package/.cursor/commands/oxe-help.md +3 -3
- package/.cursor/commands/oxe-loop.md +3 -3
- package/.cursor/commands/oxe-milestone.md +3 -3
- package/.cursor/commands/oxe-next.md +3 -3
- package/.cursor/commands/oxe-obs.md +3 -3
- package/.cursor/commands/oxe-plan-agent.md +3 -3
- package/.cursor/commands/oxe-plan.md +3 -3
- package/.cursor/commands/oxe-project.md +3 -3
- package/.cursor/commands/oxe-quick.md +3 -3
- package/.cursor/commands/oxe-research.md +3 -3
- package/.cursor/commands/oxe-retro.md +3 -3
- package/.cursor/commands/oxe-review-pr.md +3 -3
- package/.cursor/commands/oxe-route.md +3 -3
- package/.cursor/commands/oxe-scan.md +3 -3
- package/.cursor/commands/oxe-security.md +3 -3
- package/.cursor/commands/oxe-session.md +4 -4
- package/.cursor/commands/oxe-ship.md +45 -0
- package/.cursor/commands/oxe-skill.md +3 -3
- package/.cursor/commands/oxe-spec.md +3 -3
- package/.cursor/commands/oxe-ui-review.md +3 -3
- package/.cursor/commands/oxe-ui-spec.md +3 -3
- package/.cursor/commands/oxe-update.md +3 -3
- package/.cursor/commands/oxe-validate-gaps.md +3 -3
- package/.cursor/commands/oxe-verify.md +6 -3
- package/.cursor/commands/oxe-workstream.md +3 -3
- package/.cursor/commands/oxe.md +6 -6
- package/.github/copilot-instructions.md +94 -4
- package/.github/prompts/oxe-ask.prompt.md +3 -3
- package/.github/prompts/oxe-capabilities.prompt.md +3 -3
- package/.github/prompts/oxe-checkpoint.prompt.md +3 -3
- package/.github/prompts/oxe-compact.prompt.md +3 -3
- package/.github/prompts/oxe-dashboard.prompt.md +3 -3
- package/.github/prompts/oxe-debug.prompt.md +3 -3
- package/.github/prompts/oxe-discuss.prompt.md +3 -3
- package/.github/prompts/oxe-execute.prompt.md +7 -4
- package/.github/prompts/oxe-forensics.prompt.md +3 -3
- package/.github/prompts/oxe-help.prompt.md +3 -3
- package/.github/prompts/oxe-loop.prompt.md +3 -3
- package/.github/prompts/oxe-milestone.prompt.md +3 -3
- package/.github/prompts/oxe-next.prompt.md +3 -3
- package/.github/prompts/oxe-obs.prompt.md +3 -3
- package/.github/prompts/oxe-plan-agent.prompt.md +3 -3
- package/.github/prompts/oxe-plan.prompt.md +3 -3
- package/.github/prompts/oxe-project.prompt.md +3 -3
- package/.github/prompts/oxe-quick.prompt.md +3 -3
- package/.github/prompts/oxe-research.prompt.md +3 -3
- package/.github/prompts/oxe-retro.prompt.md +3 -3
- package/.github/prompts/oxe-review-pr.prompt.md +3 -3
- package/.github/prompts/oxe-route.prompt.md +3 -3
- package/.github/prompts/oxe-scan.prompt.md +3 -3
- package/.github/prompts/oxe-security.prompt.md +3 -3
- package/.github/prompts/oxe-session.prompt.md +4 -4
- package/.github/prompts/oxe-ship.prompt.md +45 -0
- package/.github/prompts/oxe-skill.prompt.md +3 -3
- package/.github/prompts/oxe-spec.prompt.md +3 -3
- package/.github/prompts/oxe-ui-review.prompt.md +3 -3
- package/.github/prompts/oxe-ui-spec.prompt.md +3 -3
- package/.github/prompts/oxe-update.prompt.md +3 -3
- package/.github/prompts/oxe-validate-gaps.prompt.md +3 -3
- package/.github/prompts/oxe-verify.prompt.md +6 -3
- package/.github/prompts/oxe-workstream.prompt.md +3 -3
- package/.github/prompts/oxe.prompt.md +5 -5
- package/AGENTS.md +43 -28
- package/CHANGELOG.md +193 -0
- package/README.md +610 -529
- package/bin/banner.txt +1 -1
- package/bin/lib/oxe-agent-install.cjs +69 -69
- package/bin/lib/oxe-azure.cjs +1445 -1445
- package/bin/lib/oxe-context-engine.cjs +867 -867
- package/bin/lib/oxe-dashboard.cjs +76 -28
- package/bin/lib/oxe-operational.cjs +2144 -1340
- package/bin/lib/oxe-project-health.cjs +483 -1
- package/bin/lib/oxe-runtime-semantics.cjs +12 -0
- package/bin/oxe-cc.js +554 -152
- package/commands/oxe/ask.md +7 -3
- package/commands/oxe/capabilities.md +2 -2
- package/commands/oxe/checkpoint.md +3 -3
- package/commands/oxe/compact.md +3 -3
- package/commands/oxe/dashboard.md +2 -2
- package/commands/oxe/debug.md +3 -3
- package/commands/oxe/discuss.md +2 -2
- package/commands/oxe/execute.md +7 -4
- package/commands/oxe/forensics.md +3 -3
- package/commands/oxe/help.md +2 -2
- package/commands/oxe/loop.md +3 -3
- package/commands/oxe/milestone.md +3 -3
- package/commands/oxe/next.md +3 -3
- package/commands/oxe/obs.md +3 -3
- package/commands/oxe/oxe.md +5 -5
- package/commands/oxe/plan-agent.md +2 -2
- package/commands/oxe/plan.md +2 -2
- package/commands/oxe/project.md +3 -3
- package/commands/oxe/quick.md +2 -2
- package/commands/oxe/research.md +3 -3
- package/commands/oxe/retro.md +3 -3
- package/commands/oxe/review-pr.md +3 -3
- package/commands/oxe/route.md +3 -3
- package/commands/oxe/scan.md +3 -3
- package/commands/oxe/security.md +3 -3
- package/commands/oxe/session.md +4 -4
- package/commands/oxe/ship.md +49 -0
- package/commands/oxe/skill.md +2 -2
- package/commands/oxe/spec.md +4 -4
- package/commands/oxe/ui-review.md +3 -3
- package/commands/oxe/ui-spec.md +3 -3
- package/commands/oxe/update.md +2 -2
- package/commands/oxe/validate-gaps.md +3 -3
- package/commands/oxe/verify.md +7 -4
- package/commands/oxe/workstream.md +3 -3
- package/lib/runtime/audit/audit-trail.d.ts +71 -0
- package/lib/runtime/audit/audit-trail.js +154 -0
- package/lib/runtime/audit/index.d.ts +2 -0
- package/lib/runtime/audit/index.js +18 -0
- package/lib/runtime/audit/policy-pack.d.ts +15 -0
- package/lib/runtime/audit/policy-pack.js +57 -0
- package/lib/runtime/context/context-pack-builder.d.ts +15 -0
- package/lib/runtime/context/context-pack-builder.js +42 -0
- package/lib/runtime/context/context-pack-store.d.ts +38 -0
- package/lib/runtime/context/context-pack-store.js +142 -0
- package/lib/runtime/context/context-profiles.d.ts +11 -0
- package/lib/runtime/context/context-profiles.js +51 -0
- package/lib/runtime/context/index.d.ts +2 -0
- package/lib/runtime/context/index.js +2 -0
- package/lib/runtime/decision/decision-engine.d.ts +43 -0
- package/lib/runtime/decision/decision-engine.js +127 -0
- package/lib/runtime/decision/decision-memo.d.ts +53 -0
- package/lib/runtime/decision/decision-memo.js +173 -0
- package/lib/runtime/decision/index.d.ts +2 -0
- package/lib/runtime/decision/index.js +18 -0
- package/lib/runtime/delivery/branch-manager.d.ts +1 -0
- package/lib/runtime/delivery/branch-manager.js +7 -0
- package/lib/runtime/delivery/ci-checks.js +34 -1
- package/lib/runtime/delivery/delivery-records.d.ts +34 -0
- package/lib/runtime/delivery/delivery-records.js +48 -0
- package/lib/runtime/delivery/index.d.ts +2 -0
- package/lib/runtime/delivery/index.js +2 -0
- package/lib/runtime/delivery/promotion-pipeline.d.ts +63 -0
- package/lib/runtime/delivery/promotion-pipeline.js +224 -0
- package/lib/runtime/gate/gate-manager.d.ts +41 -0
- package/lib/runtime/gate/gate-manager.js +108 -1
- package/lib/runtime/index.d.ts +5 -2
- package/lib/runtime/index.js +7 -1
- package/lib/runtime/models/gate-decision.d.ts +4 -1
- package/lib/runtime/models/workspace.d.ts +3 -0
- package/lib/runtime/plugins/capability-adapter.d.ts +12 -0
- package/lib/runtime/plugins/capability-adapter.js +204 -0
- package/lib/runtime/plugins/capability-matrix.d.ts +25 -0
- package/lib/runtime/plugins/capability-matrix.js +90 -0
- package/lib/runtime/plugins/index.d.ts +3 -0
- package/lib/runtime/plugins/index.js +3 -0
- package/lib/runtime/plugins/plugin-abi.d.ts +2 -0
- package/lib/runtime/plugins/plugin-manifest.d.ts +22 -0
- package/lib/runtime/plugins/plugin-manifest.js +95 -0
- package/lib/runtime/plugins/plugin-registry.d.ts +46 -0
- package/lib/runtime/plugins/plugin-registry.js +84 -2
- package/lib/runtime/policy/policy-engine.d.ts +47 -1
- package/lib/runtime/policy/policy-engine.js +172 -9
- package/lib/runtime/projection/projection-engine.d.ts +9 -1
- package/lib/runtime/projection/projection-engine.js +73 -3
- package/lib/runtime/reducers/run-state-reducer.d.ts +26 -0
- package/lib/runtime/reducers/run-state-reducer.js +117 -1
- package/lib/runtime/scheduler/agent-registry.d.ts +44 -0
- package/lib/runtime/scheduler/agent-registry.js +96 -0
- package/lib/runtime/scheduler/agent-roles.d.ts +54 -0
- package/lib/runtime/scheduler/agent-roles.js +62 -0
- package/lib/runtime/scheduler/index.d.ts +3 -0
- package/lib/runtime/scheduler/index.js +3 -0
- package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +45 -1
- package/lib/runtime/scheduler/multi-agent-coordinator.js +234 -35
- package/lib/runtime/scheduler/run-journal.d.ts +18 -0
- package/lib/runtime/scheduler/run-journal.js +54 -0
- package/lib/runtime/scheduler/scheduler.d.ts +29 -1
- package/lib/runtime/scheduler/scheduler.js +387 -14
- package/lib/runtime/verification/index.d.ts +1 -0
- package/lib/runtime/verification/index.js +1 -0
- package/lib/runtime/verification/verification-compiler.d.ts +43 -0
- package/lib/runtime/verification/verification-compiler.js +137 -0
- package/lib/runtime/verification/verification-manifest.d.ts +67 -0
- package/lib/runtime/verification/verification-manifest.js +179 -0
- package/lib/runtime/workspace/strategies/ephemeral-container.d.ts +1 -0
- package/lib/runtime/workspace/strategies/ephemeral-container.js +4 -0
- package/lib/runtime/workspace/strategies/git-worktree.d.ts +1 -0
- package/lib/runtime/workspace/strategies/git-worktree.js +2 -0
- package/lib/runtime/workspace/strategies/inplace.d.ts +1 -0
- package/lib/runtime/workspace/strategies/inplace.js +2 -0
- package/lib/runtime/workspace/workspace-manager.d.ts +2 -1
- package/lib/sdk/README.md +9 -9
- package/lib/sdk/index.cjs +33 -24
- package/lib/sdk/index.d.ts +149 -14
- package/oxe/templates/ACTIVE-RUN.template.json +32 -32
- package/oxe/templates/CAPABILITIES.template.md +7 -7
- package/oxe/templates/CAPABILITY.template.md +45 -45
- package/oxe/templates/CHECKPOINTS.template.md +7 -7
- package/oxe/templates/EXECUTION-RUNTIME.template.md +68 -68
- package/oxe/templates/HYPOTHESES.template.md +33 -33
- package/oxe/templates/LESSONS-METRICS.template.json +13 -13
- package/oxe/templates/NOTES.template.md +16 -16
- package/oxe/templates/PLAN-REVIEW.template.md +31 -31
- package/oxe/templates/SESSION.template.md +34 -34
- package/oxe/templates/SKILL.template.md +26 -26
- package/oxe/templates/STATE.md +55 -55
- package/oxe/templates/WORKFLOW_AUTHORING.md +18 -18
- package/oxe/workflows/ask.md +96 -92
- package/oxe/workflows/capabilities.md +25 -25
- package/oxe/workflows/checkpoint.md +14 -10
- package/oxe/workflows/dashboard.md +33 -33
- package/oxe/workflows/debug.md +19 -15
- package/oxe/workflows/discuss.md +12 -12
- package/oxe/workflows/execute.md +44 -2
- package/oxe/workflows/forensics.md +13 -9
- package/oxe/workflows/help.md +352 -304
- package/oxe/workflows/loop.md +17 -13
- package/oxe/workflows/next.md +22 -22
- package/oxe/workflows/obs.md +4 -0
- package/oxe/workflows/oxe.md +64 -31
- package/oxe/workflows/plan-agent.md +9 -9
- package/oxe/workflows/project.md +6 -1
- package/oxe/workflows/quick.md +10 -10
- package/oxe/workflows/references/reasoning-discovery.md +28 -28
- package/oxe/workflows/references/reasoning-execution.md +29 -29
- package/oxe/workflows/references/reasoning-planning.md +32 -32
- package/oxe/workflows/references/reasoning-review.md +29 -29
- package/oxe/workflows/references/reasoning-status.md +24 -24
- package/oxe/workflows/references/robustness-elevation.md +295 -295
- package/oxe/workflows/references/workflow-runtime-contracts.json +952 -907
- package/oxe/workflows/research.md +32 -28
- package/oxe/workflows/retro.md +4 -0
- package/oxe/workflows/review-pr.md +15 -11
- package/oxe/workflows/route.md +16 -16
- package/oxe/workflows/scan.md +4 -0
- package/oxe/workflows/security.md +14 -10
- package/oxe/workflows/session.md +213 -197
- package/oxe/workflows/ship.md +142 -0
- package/oxe/workflows/skill.md +44 -44
- package/oxe/workflows/spec.md +15 -0
- package/oxe/workflows/ui-review.md +20 -16
- package/oxe/workflows/ui-spec.md +7 -3
- package/oxe/workflows/validate-gaps.md +13 -9
- package/oxe/workflows/verify-audit.md +73 -73
- package/oxe/workflows/verify.md +52 -3
- package/package.json +92 -92
- package/packages/runtime/package.json +17 -17
- package/packages/runtime/src/audit/audit-trail.ts +243 -0
- package/packages/runtime/src/audit/index.ts +2 -0
- package/packages/runtime/src/audit/policy-pack.ts +62 -0
- package/packages/runtime/src/compiler/graph-compiler.ts +245 -245
- package/packages/runtime/src/compiler/index.ts +1 -1
- package/packages/runtime/src/context/context-pack-builder.ts +259 -193
- package/packages/runtime/src/context/context-pack-store.ts +197 -0
- package/packages/runtime/src/context/context-profiles.ts +60 -0
- package/packages/runtime/src/context/index.ts +3 -1
- package/packages/runtime/src/decision/decision-engine.ts +174 -0
- package/packages/runtime/src/decision/decision-memo.ts +211 -0
- package/packages/runtime/src/decision/index.ts +2 -0
- package/packages/runtime/src/delivery/branch-manager.ts +91 -84
- package/packages/runtime/src/delivery/ci-checks.ts +285 -252
- package/packages/runtime/src/delivery/delivery-records.ts +75 -0
- package/packages/runtime/src/delivery/index.ts +5 -3
- package/packages/runtime/src/delivery/pr-manager.ts +112 -112
- package/packages/runtime/src/delivery/promotion-pipeline.ts +334 -0
- package/packages/runtime/src/events/bus.ts +92 -92
- package/packages/runtime/src/events/catalog.ts +29 -29
- package/packages/runtime/src/events/envelope.ts +14 -14
- package/packages/runtime/src/events/index.ts +3 -3
- package/packages/runtime/src/evidence/evidence-store.ts +130 -130
- package/packages/runtime/src/evidence/index.ts +1 -1
- package/packages/runtime/src/gate/gate-manager.ts +289 -137
- package/packages/runtime/src/gate/index.ts +1 -1
- package/packages/runtime/src/index.ts +41 -32
- package/packages/runtime/src/models/attempt.ts +19 -19
- package/packages/runtime/src/models/evidence.ts +21 -21
- package/packages/runtime/src/models/gate-decision.ts +25 -21
- package/packages/runtime/src/models/index.ts +8 -8
- package/packages/runtime/src/models/run.ts +24 -24
- package/packages/runtime/src/models/session.ts +11 -11
- package/packages/runtime/src/models/verification-result.ts +10 -10
- package/packages/runtime/src/models/work-item.ts +25 -25
- package/packages/runtime/src/models/workspace.ts +31 -28
- package/packages/runtime/src/plugins/capability-adapter.ts +206 -0
- package/packages/runtime/src/plugins/capability-matrix.ts +126 -0
- package/packages/runtime/src/plugins/index.ts +5 -2
- package/packages/runtime/src/plugins/plugin-abi.ts +97 -95
- package/packages/runtime/src/plugins/plugin-manifest.ts +118 -0
- package/packages/runtime/src/plugins/plugin-registry.ts +232 -119
- package/packages/runtime/src/policy/index.ts +1 -1
- package/packages/runtime/src/policy/policy-engine.ts +330 -113
- package/packages/runtime/src/projection/index.ts +1 -1
- package/packages/runtime/src/projection/projection-engine.ts +328 -249
- package/packages/runtime/src/reducers/debug-reducer.ts +36 -36
- package/packages/runtime/src/reducers/index.ts +2 -2
- package/packages/runtime/src/reducers/run-state-reducer.ts +269 -127
- package/packages/runtime/src/scheduler/agent-registry.ts +132 -0
- package/packages/runtime/src/scheduler/agent-roles.ts +109 -0
- package/packages/runtime/src/scheduler/index.ts +4 -1
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +521 -231
- package/packages/runtime/src/scheduler/run-journal.ts +62 -0
- package/packages/runtime/src/scheduler/scheduler.ts +722 -281
- package/packages/runtime/src/verification/index.ts +2 -1
- package/packages/runtime/src/verification/verification-compiler.ts +436 -225
- package/packages/runtime/src/verification/verification-manifest.ts +252 -0
- package/packages/runtime/src/workspace/index.ts +5 -5
- package/packages/runtime/src/workspace/strategies/ephemeral-container.ts +126 -121
- package/packages/runtime/src/workspace/strategies/git-worktree.ts +79 -77
- package/packages/runtime/src/workspace/strategies/inplace.ts +38 -35
- package/packages/runtime/src/workspace/workspace-manager.ts +16 -15
- package/packages/runtime/tsconfig.json +17 -17
- package/vscode-extension/.vscodeignore +7 -7
- package/vscode-extension/oxe-agents-1.0.0.vsix +0 -0
- package/vscode-extension/package.json +185 -185
- package/vscode-extension/src/extension.js +310 -310
- package/vscode-extension/src/shared/contextLoader.js +137 -137
- package/vscode-extension/src/shared/contractBuilder.js +159 -159
- package/vscode-extension/src/shared/stateReader.js +101 -101
package/oxe/workflows/skill.md
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
# OXE — Workflow: skill
|
|
2
|
-
|
|
3
|
-
<objective>
|
|
4
|
-
Descobrir, invocar e gerenciar **skills** — wrappers de invocação que unificam personas (comportamento LLM) e capabilities (ferramentas executáveis) num único ponto de entrada via `@<skill-id>`.
|
|
5
|
-
|
|
6
|
-
Subcomandos:
|
|
7
|
-
- `list`
|
|
8
|
-
- `explain <id>`
|
|
9
|
-
- `new <id>`
|
|
10
|
-
- `@<id>` (invocação inline)
|
|
11
|
-
</objective>
|
|
12
|
-
|
|
13
|
-
<context>
|
|
14
|
-
- **Skills globais** vivem em `oxe/personas/` (type: persona) — 8 roles builtin do pacote: `executor`, `planner`, `verifier`, `researcher`, `debugger`, `architect`, `ui-specialist`, `db-specialist`. Invocáveis via `@executor`, `@researcher`, etc.
|
|
15
|
-
- **Skills de projeto** vivem em `.oxe/skills/<id>/SKILL.md` com frontmatter OXE. Têm prioridade sobre globais quando IDs colidem.
|
|
16
|
-
- **Capabilities como skills:** capabilities em `.oxe/capabilities/<id>/` que tenham `SKILL.md` próprio também aparecem como skills de projeto.
|
|
17
|
-
- **Resolução:** project (`.oxe/skills/`) → capabilities (`.oxe/capabilities/`) → global (`oxe/personas/`). Primeiro match vence.
|
|
18
|
-
- Template: `oxe/templates/SKILL.template.md`
|
|
19
|
-
</context>
|
|
20
|
-
|
|
21
|
-
<process>
|
|
22
|
-
1. **`list`** — Enumerar skills disponíveis em três camadas:
|
|
23
|
-
- Ler `oxe/personas/*.md` no pacote (globais, type persona)
|
|
24
|
-
- Ler `.oxe/skills/*/SKILL.md` se existir (projeto)
|
|
25
|
-
- Ler `.oxe/capabilities/*/SKILL.md` se existir (capabilities com manifest de skill)
|
|
26
|
-
- Apresentar tabela: `ID | Type | Scope | Invoke | Descrição`
|
|
27
|
-
2. **`explain <id>`** — Resolver o skill pelo ID (project → capabilities → global), exibir frontmatter + seção Descrição + Saída esperada. Se não encontrar, listar skills disponíveis.
|
|
28
|
-
3. **`new <id>`** — Criar `.oxe/skills/<id>/SKILL.md` a partir de `SKILL.template.md`. Solicitar ao utilizador: `name`, `type` (persona/capability/composite), `description`. Se o ID já existir, informar e oferecer `explain <id>`.
|
|
29
|
-
4. **`@<id>` (inline)** — Quando o chat mencionar `@skill-id`:
|
|
30
|
-
- Resolver o skill pela ordem: project → capabilities → global
|
|
31
|
-
- Para type `persona`: ler e adotar o conteúdo da persona referenciada (princípios, ativação, saída esperada)
|
|
32
|
-
- Para type `capability`: ler manifesto da capability e orientar uso conforme `approval_policy`
|
|
33
|
-
- Para type `composite`: carregar ambas as referências em `references[]`
|
|
34
|
-
- Se não encontrado: listar skills disponíveis e pedir correção
|
|
35
|
-
5. Atualizar `.oxe/STATE.md` apenas se o utilizador pedir registo explícito: `last_skill_invoked: @<id> — YYYY-MM-DD`.
|
|
36
|
-
</process>
|
|
37
|
-
|
|
38
|
-
<success_criteria>
|
|
39
|
-
- [ ] `@<id>` resolve para exatamente um skill sem ambiguidade.
|
|
40
|
-
- [ ] Skills de projeto têm prioridade sobre globais quando IDs colidem.
|
|
41
|
-
- [ ] Nenhum artefato de SPEC/PLAN foi criado ou alterado por este passo.
|
|
42
|
-
- [ ] `list` mostra skills de todas as três camadas com escopo identificado.
|
|
43
|
-
</success_criteria>
|
|
44
|
-
</output>
|
|
1
|
+
# OXE — Workflow: skill
|
|
2
|
+
|
|
3
|
+
<objective>
|
|
4
|
+
Descobrir, invocar e gerenciar **skills** — wrappers de invocação que unificam personas (comportamento LLM) e capabilities (ferramentas executáveis) num único ponto de entrada via `@<skill-id>`.
|
|
5
|
+
|
|
6
|
+
Subcomandos:
|
|
7
|
+
- `list`
|
|
8
|
+
- `explain <id>`
|
|
9
|
+
- `new <id>`
|
|
10
|
+
- `@<id>` (invocação inline)
|
|
11
|
+
</objective>
|
|
12
|
+
|
|
13
|
+
<context>
|
|
14
|
+
- **Skills globais** vivem em `oxe/personas/` (type: persona) — 8 roles builtin do pacote: `executor`, `planner`, `verifier`, `researcher`, `debugger`, `architect`, `ui-specialist`, `db-specialist`. Invocáveis via `@executor`, `@researcher`, etc.
|
|
15
|
+
- **Skills de projeto** vivem em `.oxe/skills/<id>/SKILL.md` com frontmatter OXE. Têm prioridade sobre globais quando IDs colidem.
|
|
16
|
+
- **Capabilities como skills:** capabilities em `.oxe/capabilities/<id>/` que tenham `SKILL.md` próprio também aparecem como skills de projeto.
|
|
17
|
+
- **Resolução:** project (`.oxe/skills/`) → capabilities (`.oxe/capabilities/`) → global (`oxe/personas/`). Primeiro match vence.
|
|
18
|
+
- Template: `oxe/templates/SKILL.template.md`
|
|
19
|
+
</context>
|
|
20
|
+
|
|
21
|
+
<process>
|
|
22
|
+
1. **`list`** — Enumerar skills disponíveis em três camadas:
|
|
23
|
+
- Ler `oxe/personas/*.md` no pacote (globais, type persona)
|
|
24
|
+
- Ler `.oxe/skills/*/SKILL.md` se existir (projeto)
|
|
25
|
+
- Ler `.oxe/capabilities/*/SKILL.md` se existir (capabilities com manifest de skill)
|
|
26
|
+
- Apresentar tabela: `ID | Type | Scope | Invoke | Descrição`
|
|
27
|
+
2. **`explain <id>`** — Resolver o skill pelo ID (project → capabilities → global), exibir frontmatter + seção Descrição + Saída esperada. Se não encontrar, listar skills disponíveis.
|
|
28
|
+
3. **`new <id>`** — Criar `.oxe/skills/<id>/SKILL.md` a partir de `SKILL.template.md`. Solicitar ao utilizador: `name`, `type` (persona/capability/composite), `description`. Se o ID já existir, informar e oferecer `explain <id>`.
|
|
29
|
+
4. **`@<id>` (inline)** — Quando o chat mencionar `@skill-id`:
|
|
30
|
+
- Resolver o skill pela ordem: project → capabilities → global
|
|
31
|
+
- Para type `persona`: ler e adotar o conteúdo da persona referenciada (princípios, ativação, saída esperada)
|
|
32
|
+
- Para type `capability`: ler manifesto da capability e orientar uso conforme `approval_policy`
|
|
33
|
+
- Para type `composite`: carregar ambas as referências em `references[]`
|
|
34
|
+
- Se não encontrado: listar skills disponíveis e pedir correção
|
|
35
|
+
5. Atualizar `.oxe/STATE.md` apenas se o utilizador pedir registo explícito: `last_skill_invoked: @<id> — YYYY-MM-DD`.
|
|
36
|
+
</process>
|
|
37
|
+
|
|
38
|
+
<success_criteria>
|
|
39
|
+
- [ ] `@<id>` resolve para exatamente um skill sem ambiguidade.
|
|
40
|
+
- [ ] Skills de projeto têm prioridade sobre globais quando IDs colidem.
|
|
41
|
+
- [ ] Nenhum artefato de SPEC/PLAN foi criado ou alterado por este passo.
|
|
42
|
+
- [ ] `list` mostra skills de todas as três camadas com escopo identificado.
|
|
43
|
+
</success_criteria>
|
|
44
|
+
</output>
|
package/oxe/workflows/spec.md
CHANGED
|
@@ -11,6 +11,14 @@ Conduzir as **5 fases** do processo de especificação e produzir dois artefatos
|
|
|
11
11
|
Para trabalho **muito pequeno** que não justifica spec completa: redirecionar para **`oxe:quick`**.
|
|
12
12
|
|
|
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
|
+
|
|
15
|
+
**Flags suportadas:**
|
|
16
|
+
- `--refresh` — antes de iniciar, atualizar `.oxe/codebase/` em modo incremental (equivalente a `scan` modo refresh). Usar quando o codebase mudou desde o último scan.
|
|
17
|
+
- `--full` — antes de iniciar, forçar scan completo do codebase (equivalente a `scan --full`). Usar quando o mapa está obsoleto ou ausente.
|
|
18
|
+
- `--research` / `--deep` — ativar Fase 2 (Pesquisa) de forma explícita, mesmo que a incerteza detectada seja baixa. Útil para spikes, mapas de sistema, engenharia reversa.
|
|
19
|
+
- `--ui` — ao final da Fase 5, gerar contrato UI/UX em `.oxe/UI-SPEC.md` (equivalente a `/oxe-ui-spec`). Ativar automaticamente quando UI for domínio crítico detectado.
|
|
20
|
+
|
|
21
|
+
**Nota de compatibilidade v1.1.0:** `/oxe-scan`, `/oxe-research` e `/oxe-ui-spec` foram incorporados por este comando. Esses comandos legados continuam funcionando mas exibem aviso de migração.
|
|
14
22
|
</objective>
|
|
15
23
|
|
|
16
24
|
<context>
|
|
@@ -242,9 +250,16 @@ O resultado desta reflexão é **invisível ao usuário** — é trabalho intern
|
|
|
242
250
|
**Ao finalizar:**
|
|
243
251
|
- Marcar `ROADMAP.md` → `status: approved`
|
|
244
252
|
- Atualizar `STATE.md`: `phase: spec_ready`, próximo passo conforme escolha
|
|
253
|
+
- Se flag `--ui` foi recebida **ou** se UI foi detectada como domínio crítico: executar a lógica de `oxe/workflows/ui-spec.md` e produzir `.oxe/UI-SPEC.md` como extensão desta spec. Mencionar ao usuário que o contrato UI foi gerado.
|
|
245
254
|
</fase_5_aprovacao>
|
|
246
255
|
|
|
247
256
|
<process>
|
|
257
|
+
0. **Processar flags recebidas:**
|
|
258
|
+
- `--refresh`: executar a lógica de `oxe/workflows/compact.md` (modo incremental) antes de continuar. Reportar breve resumo das mudanças detectadas.
|
|
259
|
+
- `--full`: executar a lógica de `oxe/workflows/scan.md` (modo bootstrap completo) antes de continuar. Reportar arquivos-chave mapeados.
|
|
260
|
+
- `--research` / `--deep`: registrar internamente que a Fase 2 (Pesquisa) deve ser executada de forma explícita, mesmo se incerteza parecer baixa.
|
|
261
|
+
- `--ui`: registrar internamente que ao final da Fase 5, o contrato UI-SPEC deve ser gerado automaticamente.
|
|
262
|
+
- Sem flags: verificar se `.oxe/codebase/` existe e está relativamente recente; se não existir, mencionar que scan seria recomendado antes da spec.
|
|
248
263
|
1. Ler `.oxe/STATE.md`, `OVERVIEW.md`, `STACK.md` e `OBSERVATIONS.md` do escopo ativo (verificar pendentes).
|
|
249
264
|
2. Fazer uma exploração inicial do repo e dos artefatos antes da primeira rodada de perguntas. Consolidar internamente: fatos confirmados, inferências e lacunas.
|
|
250
265
|
3. Aplicar `adaptive-discovery.md`: classificar a demanda, verificar se há capabilities úteis e se investigações anteriores reduzem incerteza.
|
|
@@ -1,29 +1,33 @@
|
|
|
1
1
|
# OXE — Workflow: ui-review
|
|
2
2
|
|
|
3
|
+
> **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe-verify`.
|
|
4
|
+
> Use: `/oxe-verify --ui` para incluir auditoria de implementação UI.
|
|
5
|
+
> Este alias continuará funcionando nesta versão por compatibilidade.
|
|
6
|
+
|
|
3
7
|
<objective>
|
|
4
8
|
Produzir **`.oxe/UI-REVIEW.md`**: auditoria da implementação UI face a **`.oxe/UI-SPEC.md`** (e critérios **A*** da SPEC quando tocarem UI), tipicamente **após** trabalho de implementação e **antes** ou **como entrada** para **`verify`**.
|
|
5
9
|
|
|
6
10
|
Não substitui **`verify`**: cruza contrato UI; o verify global continua a amarrar PLAN + SPEC + evidência técnica.
|
|
7
11
|
</objective>
|
|
8
12
|
|
|
9
|
-
<context>
|
|
10
|
-
- Aplicar `oxe/workflows/references/reasoning-review.md`. A revisão UI deve começar pelos achados e bloqueios, não por resumo.
|
|
11
|
-
- Se não existir `UI-SPEC.md`, pedir **`/oxe-ui-spec`** primeiro ou documentar em UI-REVIEW que a revisão é **ad hoc** (menos preferível).
|
|
12
|
-
- Incluir checklist curta (ex.: pilares: semântica, foco, contraste, mensagens de erro, mobile).
|
|
13
|
-
- **Bloqueios P0** (ex.: inacessível, fluxo quebrado) devem ser listados explicitamente; P1/P2 como melhorias.
|
|
14
|
-
</context>
|
|
13
|
+
<context>
|
|
14
|
+
- Aplicar `oxe/workflows/references/reasoning-review.md`. A revisão UI deve começar pelos achados e bloqueios, não por resumo.
|
|
15
|
+
- Se não existir `UI-SPEC.md`, pedir **`/oxe-ui-spec`** primeiro ou documentar em UI-REVIEW que a revisão é **ad hoc** (menos preferível).
|
|
16
|
+
- Incluir checklist curta (ex.: pilares: semântica, foco, contraste, mensagens de erro, mobile).
|
|
17
|
+
- **Bloqueios P0** (ex.: inacessível, fluxo quebrado) devem ser listados explicitamente; P1/P2 como melhorias.
|
|
18
|
+
</context>
|
|
15
19
|
|
|
16
20
|
<process>
|
|
17
|
-
1. Resolver `active_session` conforme `session-path-resolution.md`; ler `UI-SPEC.md` e `SPEC.md` do escopo resolvido e inspecionar ficheiros de UI relevantes (paths do PLAN ou indicados pelo utilizador).
|
|
18
|
-
2. Escrever **`UI-REVIEW.md`** no escopo de `verification/` da sessão ativa (ou `.oxe/` legado) com: **Data**, **Âmbito revisto**, **Checklist** (passou / falhou / N/A), **Bloqueios**, **Sugestões**.
|
|
19
|
-
3. Atualizar **`.oxe/STATE.md`** global se útil (referência a UI-REVIEW pendente de verify).
|
|
20
|
-
4. Indicar no chat nesta ordem:
|
|
21
|
-
- **Findings**
|
|
22
|
-
- **Perguntas abertas**
|
|
23
|
-
- **Riscos residuais**
|
|
24
|
-
- **Resumo**
|
|
25
|
-
Se há P0 → próximo passo típico **`/oxe-execute`** (correções); senão **`/oxe-verify`** para fecho global.
|
|
26
|
-
</process>
|
|
21
|
+
1. Resolver `active_session` conforme `session-path-resolution.md`; ler `UI-SPEC.md` e `SPEC.md` do escopo resolvido e inspecionar ficheiros de UI relevantes (paths do PLAN ou indicados pelo utilizador).
|
|
22
|
+
2. Escrever **`UI-REVIEW.md`** no escopo de `verification/` da sessão ativa (ou `.oxe/` legado) com: **Data**, **Âmbito revisto**, **Checklist** (passou / falhou / N/A), **Bloqueios**, **Sugestões**.
|
|
23
|
+
3. Atualizar **`.oxe/STATE.md`** global se útil (referência a UI-REVIEW pendente de verify).
|
|
24
|
+
4. Indicar no chat nesta ordem:
|
|
25
|
+
- **Findings**
|
|
26
|
+
- **Perguntas abertas**
|
|
27
|
+
- **Riscos residuais**
|
|
28
|
+
- **Resumo**
|
|
29
|
+
Se há P0 → próximo passo típico **`/oxe-execute`** (correções); senão **`/oxe-verify`** para fecho global.
|
|
30
|
+
</process>
|
|
27
31
|
|
|
28
32
|
<success_criteria>
|
|
29
33
|
- [ ] `UI-REVIEW.md` referencia secções do `UI-SPEC.md` quando existir.
|
package/oxe/workflows/ui-spec.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# OXE — Workflow: ui-spec
|
|
2
2
|
|
|
3
|
+
> **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe-spec`.
|
|
4
|
+
> Use: `/oxe-spec --ui` para gerar o contrato UI/UX ao final da spec.
|
|
5
|
+
> Este alias continuará funcionando nesta versão por compatibilidade.
|
|
6
|
+
|
|
3
7
|
<objective>
|
|
4
8
|
Produzir **`.oxe/UI-SPEC.md`**: contrato de UI/UX derivado de **`.oxe/SPEC.md`** (e mapas em `.oxe/codebase/` quando útil), para **planear e verificar** trabalho front-end na mesma trilha OXE.
|
|
5
9
|
|
|
@@ -13,9 +17,9 @@ Produzir **`.oxe/UI-SPEC.md`**: contrato de UI/UX derivado de **`.oxe/SPEC.md`**
|
|
|
13
17
|
</context>
|
|
14
18
|
|
|
15
19
|
<process>
|
|
16
|
-
1. Resolver `active_session` conforme `session-path-resolution.md`; ler `SPEC.md` do escopo resolvido e, se existirem, `OVERVIEW.md` / `CONVENTIONS.md` em `.oxe/codebase/`.
|
|
17
|
-
2. Criar ou atualizar **`UI-SPEC.md`** em `.oxe/<active_session>/spec/` (ou `.oxe/` legado) com as secções acima preenchidas de forma verificável (checklist ou critérios numerados **U1**, **U2**… opcionais).
|
|
18
|
-
3. Atualizar **`.oxe/STATE.md`** global: nota de fase ou próximo passo `oxe:plan` (se ainda não há PLAN) ou manter `oxe:execute` se o plano já referencia UI.
|
|
20
|
+
1. Resolver `active_session` conforme `session-path-resolution.md`; ler `SPEC.md` do escopo resolvido e, se existirem, `OVERVIEW.md` / `CONVENTIONS.md` em `.oxe/codebase/`.
|
|
21
|
+
2. Criar ou atualizar **`UI-SPEC.md`** em `.oxe/<active_session>/spec/` (ou `.oxe/` legado) com as secções acima preenchidas de forma verificável (checklist ou critérios numerados **U1**, **U2**… opcionais).
|
|
22
|
+
3. Atualizar **`.oxe/STATE.md`** global: nota de fase ou próximo passo `oxe:plan` (se ainda não há PLAN) ou manter `oxe:execute` se o plano já referencia UI.
|
|
19
23
|
4. Resumo no chat: o que ficou no UI-SPEC e como o **`/oxe-plan`** deve citar as secções (ex.: “cumprir UI-SPEC §2”).
|
|
20
24
|
</process>
|
|
21
25
|
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# OXE — Workflow: validate-gaps
|
|
2
2
|
|
|
3
|
+
> **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe-verify`.
|
|
4
|
+
> Use: `/oxe-verify --gaps` para ativar auditoria de cobertura explicitamente.
|
|
5
|
+
> Este alias continuará funcionando nesta versão por compatibilidade.
|
|
6
|
+
|
|
3
7
|
<objective>
|
|
4
8
|
Após **`verify`**, produzir ou atualizar **`.oxe/VALIDATION-GAPS.md`**: auditoria **complementar** de cobertura e verificabilidade (critérios **A***, tarefas **Tn**, alinhamento PLAN↔VERIFY), com **sugestões de novas tarefas em texto** — **sem** alterar `.oxe/PLAN.md` por defeito.
|
|
5
9
|
|
|
6
10
|
Não substitui **`verify`**: não reescreve a evidência em `VERIFY.md`; adiciona uma camada de “gaps” e melhorias para a próxima ronda ou replan.
|
|
7
11
|
</objective>
|
|
8
12
|
|
|
9
|
-
<context>
|
|
10
|
-
- Aplicar `oxe/workflows/references/reasoning-review.md`. Este passo deve apresentar gaps e achados antes de qualquer resumo.
|
|
11
|
-
- Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, `VERIFY.md`, `PLAN.md`, `SPEC.md` e `VALIDATION-GAPS.md` vivem no escopo da sessão; sem sessão ativa, manter `.oxe/`.
|
|
13
|
+
<context>
|
|
14
|
+
- Aplicar `oxe/workflows/references/reasoning-review.md`. Este passo deve apresentar gaps e achados antes de qualquer resumo.
|
|
15
|
+
- Resolver `active_session` conforme `oxe/workflows/references/session-path-resolution.md`. Com sessão ativa, `VERIFY.md`, `PLAN.md`, `SPEC.md` e `VALIDATION-GAPS.md` vivem no escopo da sessão; sem sessão ativa, manter `.oxe/`.
|
|
12
16
|
- **Pré-requisitos:** `VERIFY.md` e `PLAN.md` existem no escopo resolvido. `SPEC.md` altamente recomendado para cruzar IDs **A***.
|
|
13
17
|
- **Quando usar:** equipas que querem fechar dívida de testes, evidência fraca ou desalinhamento após um verify (passou ou falhou).
|
|
14
18
|
- **Edição do PLAN:** só se o utilizador pedir explicitamente incorporar as sugestões no plano.
|
|
@@ -26,12 +30,12 @@ Não substitui **`verify`**: não reescreve a evidência em `VERIFY.md`; adicion
|
|
|
26
30
|
- **Gaps** — tabela: **ID ou Tn** | **Tipo de gap** | **Severidade sugerida** (P0/P1/P2) | **Nota**.
|
|
27
31
|
- **Sugestões de tarefas** — rascunhos `T_new` ou bullets para incorporar no próximo `oxe:plan --replan`; **apenas texto**.
|
|
28
32
|
4. Atualizar **`.oxe/STATE.md`**: quando existirem gaps com severidade **P0 ou P1**, registar referência a `VALIDATION-GAPS.md` pendente de ação (campo `next_step` ou secção Decisões). Para gaps apenas P2 ou puramente informativos, a atualização é opcional.
|
|
29
|
-
5. Responder no chat nesta ordem:
|
|
30
|
-
- **Findings** — gaps críticos primeiro
|
|
31
|
-
- **Perguntas abertas**
|
|
32
|
-
- **Riscos residuais**
|
|
33
|
-
- **Resumo** — próximo passo lógico (`oxe:plan --replan`, `oxe:execute`, ou “nenhuma ação” se só informativo)
|
|
34
|
-
</process>
|
|
33
|
+
5. Responder no chat nesta ordem:
|
|
34
|
+
- **Findings** — gaps críticos primeiro
|
|
35
|
+
- **Perguntas abertas**
|
|
36
|
+
- **Riscos residuais**
|
|
37
|
+
- **Resumo** — próximo passo lógico (`oxe:plan --replan`, `oxe:execute`, ou “nenhuma ação” se só informativo)
|
|
38
|
+
</process>
|
|
35
39
|
|
|
36
40
|
<success_criteria>
|
|
37
41
|
- [ ] `VALIDATION-GAPS.md` reflete análise cruzada PLAN + VERIFY (+ SPEC quando existir).
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
---
|
|
2
|
-
oxe_doc: verify-audit
|
|
3
|
-
status: stable
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# OXE — Auditoria Adversarial (Verify Auditor)
|
|
7
|
-
|
|
8
|
-
<objective>
|
|
9
|
-
Auditar a verificação produzida pelo executor de forma **adversarial e independente**:
|
|
10
|
-
encontrar critérios sem evidência suficiente, evidências ambíguas, gaps não declarados —
|
|
11
|
-
sem acesso ao raciocínio do executor.
|
|
12
|
-
</objective>
|
|
13
|
-
|
|
14
|
-
<context>
|
|
15
|
-
**IMPORTANTE:** Este workflow opera com contexto propositalmente restrito.
|
|
16
|
-
|
|
17
|
-
- **Você NÃO tem acesso** a `PLAN.md`, `EXECUTION-RUNTIME.md` nem ao histórico de decisões do executor.
|
|
18
|
-
- **Você TEM acesso** apenas a `SPEC.md` (critérios A*) e `VERIFY.md` (evidências declaradas).
|
|
19
|
-
- Sua instrução é **falsificar, não confirmar**.
|
|
20
|
-
|
|
21
|
-
Razão: um auditor que conhece o raciocínio do executor tende a confirmar as premissas do executor,
|
|
22
|
-
não a testá-las. A restrição de contexto é intencional e fundamental para o valor desta camada.
|
|
23
|
-
</context>
|
|
24
|
-
|
|
25
|
-
<process>
|
|
26
|
-
1. Ler `SPEC.md` — mapear todos os critérios `A*` com ID, texto e `howToVerify`.
|
|
27
|
-
|
|
28
|
-
2. Ler `VERIFY.md` — para cada critério `A*` identificado:
|
|
29
|
-
- **PASS**: evidência presente, específica, verificável independentemente (comando + output, arquivo + conteúdo, teste + resultado).
|
|
30
|
-
- **FAIL**: evidência ausente, genérica ("foi testado"), ou contraditória com o critério.
|
|
31
|
-
- **INSUFICIENTE**: evidência parcial — menciona o critério mas sem resultado concreto ou rastreável.
|
|
32
|
-
|
|
33
|
-
3. Para cada critério com FAIL ou INSUFICIENTE:
|
|
34
|
-
- Identificar o **tipo de gap**: evidência ausente / evidência ambígua / critério não testável como escrito / escopo divergente.
|
|
35
|
-
- Sugerir o que tornaria a evidência suficiente.
|
|
36
|
-
|
|
37
|
-
4. Verificar coerência interna do VERIFY.md:
|
|
38
|
-
- Há critérios documentados em VERIFY.md que não existem em SPEC.md? (scope creep)
|
|
39
|
-
- Há seções de VERIFY.md com conclusão `verify_complete` mas com FAIL/INSUFICIENTE não resolvidos?
|
|
40
|
-
|
|
41
|
-
5. Escrever seção `## Auditoria Adversarial` no VERIFY.md com:
|
|
42
|
-
|
|
43
|
-
```markdown
|
|
44
|
-
## Auditoria Adversarial
|
|
45
|
-
|
|
46
|
-
**Resultado:** APROVADO / REPROVADO / CONDICIONADO
|
|
47
|
-
|
|
48
|
-
| ID | Status | Observação do auditor |
|
|
49
|
-
|-----|--------------|-----------------------|
|
|
50
|
-
| A1 | PASS | Evidência: output de `npm test` em linha 47 do VERIFY.md |
|
|
51
|
-
| A3 | INSUFICIENTE | Mencionado como testado mas sem output de comando ou arquivo de resultado |
|
|
52
|
-
| A5 | FAIL | Critério exige P95 < 200ms; VERIFY.md não apresenta medição de latência |
|
|
53
|
-
|
|
54
|
-
**Gaps não declarados pelo executor:**
|
|
55
|
-
- (se nenhum: "Nenhum gap adicional identificado.")
|
|
56
|
-
|
|
57
|
-
**Riscos residuais:**
|
|
58
|
-
- (riscos que passaram pelo executor mas que o auditor considera relevantes)
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**Resultado global:**
|
|
62
|
-
- `APROVADO` — todos os critérios são PASS.
|
|
63
|
-
- `CONDICIONADO` — critérios INSUFICIENTES resolvíveis com evidência adicional sem re-executar.
|
|
64
|
-
- `REPROVADO` — um ou mais critérios FAIL ou gaps estruturais não declarados.
|
|
65
|
-
</process>
|
|
66
|
-
|
|
67
|
-
<success_criteria>
|
|
68
|
-
- [ ] Todos os critérios A* de SPEC.md foram avaliados.
|
|
69
|
-
- [ ] Evidências PASS têm referência rastreável (linha, arquivo, comando, output).
|
|
70
|
-
- [ ] Critérios FAIL e INSUFICIENTE têm sugestão de como fechar o gap.
|
|
71
|
-
- [ ] Seção `## Auditoria Adversarial` escrita em VERIFY.md.
|
|
72
|
-
- [ ] Resultado global (APROVADO / CONDICIONADO / REPROVADO) declarado explicitamente.
|
|
73
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
oxe_doc: verify-audit
|
|
3
|
+
status: stable
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OXE — Auditoria Adversarial (Verify Auditor)
|
|
7
|
+
|
|
8
|
+
<objective>
|
|
9
|
+
Auditar a verificação produzida pelo executor de forma **adversarial e independente**:
|
|
10
|
+
encontrar critérios sem evidência suficiente, evidências ambíguas, gaps não declarados —
|
|
11
|
+
sem acesso ao raciocínio do executor.
|
|
12
|
+
</objective>
|
|
13
|
+
|
|
14
|
+
<context>
|
|
15
|
+
**IMPORTANTE:** Este workflow opera com contexto propositalmente restrito.
|
|
16
|
+
|
|
17
|
+
- **Você NÃO tem acesso** a `PLAN.md`, `EXECUTION-RUNTIME.md` nem ao histórico de decisões do executor.
|
|
18
|
+
- **Você TEM acesso** apenas a `SPEC.md` (critérios A*) e `VERIFY.md` (evidências declaradas).
|
|
19
|
+
- Sua instrução é **falsificar, não confirmar**.
|
|
20
|
+
|
|
21
|
+
Razão: um auditor que conhece o raciocínio do executor tende a confirmar as premissas do executor,
|
|
22
|
+
não a testá-las. A restrição de contexto é intencional e fundamental para o valor desta camada.
|
|
23
|
+
</context>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
1. Ler `SPEC.md` — mapear todos os critérios `A*` com ID, texto e `howToVerify`.
|
|
27
|
+
|
|
28
|
+
2. Ler `VERIFY.md` — para cada critério `A*` identificado:
|
|
29
|
+
- **PASS**: evidência presente, específica, verificável independentemente (comando + output, arquivo + conteúdo, teste + resultado).
|
|
30
|
+
- **FAIL**: evidência ausente, genérica ("foi testado"), ou contraditória com o critério.
|
|
31
|
+
- **INSUFICIENTE**: evidência parcial — menciona o critério mas sem resultado concreto ou rastreável.
|
|
32
|
+
|
|
33
|
+
3. Para cada critério com FAIL ou INSUFICIENTE:
|
|
34
|
+
- Identificar o **tipo de gap**: evidência ausente / evidência ambígua / critério não testável como escrito / escopo divergente.
|
|
35
|
+
- Sugerir o que tornaria a evidência suficiente.
|
|
36
|
+
|
|
37
|
+
4. Verificar coerência interna do VERIFY.md:
|
|
38
|
+
- Há critérios documentados em VERIFY.md que não existem em SPEC.md? (scope creep)
|
|
39
|
+
- Há seções de VERIFY.md com conclusão `verify_complete` mas com FAIL/INSUFICIENTE não resolvidos?
|
|
40
|
+
|
|
41
|
+
5. Escrever seção `## Auditoria Adversarial` no VERIFY.md com:
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
## Auditoria Adversarial
|
|
45
|
+
|
|
46
|
+
**Resultado:** APROVADO / REPROVADO / CONDICIONADO
|
|
47
|
+
|
|
48
|
+
| ID | Status | Observação do auditor |
|
|
49
|
+
|-----|--------------|-----------------------|
|
|
50
|
+
| A1 | PASS | Evidência: output de `npm test` em linha 47 do VERIFY.md |
|
|
51
|
+
| A3 | INSUFICIENTE | Mencionado como testado mas sem output de comando ou arquivo de resultado |
|
|
52
|
+
| A5 | FAIL | Critério exige P95 < 200ms; VERIFY.md não apresenta medição de latência |
|
|
53
|
+
|
|
54
|
+
**Gaps não declarados pelo executor:**
|
|
55
|
+
- (se nenhum: "Nenhum gap adicional identificado.")
|
|
56
|
+
|
|
57
|
+
**Riscos residuais:**
|
|
58
|
+
- (riscos que passaram pelo executor mas que o auditor considera relevantes)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Resultado global:**
|
|
62
|
+
- `APROVADO` — todos os critérios são PASS.
|
|
63
|
+
- `CONDICIONADO` — critérios INSUFICIENTES resolvíveis com evidência adicional sem re-executar.
|
|
64
|
+
- `REPROVADO` — um ou mais critérios FAIL ou gaps estruturais não declarados.
|
|
65
|
+
</process>
|
|
66
|
+
|
|
67
|
+
<success_criteria>
|
|
68
|
+
- [ ] Todos os critérios A* de SPEC.md foram avaliados.
|
|
69
|
+
- [ ] Evidências PASS têm referência rastreável (linha, arquivo, comando, output).
|
|
70
|
+
- [ ] Critérios FAIL e INSUFICIENTE têm sugestão de como fechar o gap.
|
|
71
|
+
- [ ] Seção `## Auditoria Adversarial` escrita em VERIFY.md.
|
|
72
|
+
- [ ] Resultado global (APROVADO / CONDICIONADO / REPROVADO) declarado explicitamente.
|
|
73
|
+
</success_criteria>
|
package/oxe/workflows/verify.md
CHANGED
|
@@ -11,14 +11,49 @@ Executar ou orientar verificação pós-implementação em **quatro camadas prog
|
|
|
11
11
|
Resultado registrado em **`.oxe/VERIFY.md`** com atualização de **STATE**.
|
|
12
12
|
|
|
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
|
+
|
|
15
|
+
**Flags suportadas:**
|
|
16
|
+
- `--gaps` — ativar Camada 5 (auditoria de cobertura) explicitamente, independente de `verification_depth` na config (equivalente a `/oxe-validate-gaps`).
|
|
17
|
+
- `--security` — ativar Camada 6 (auditoria OWASP) explicitamente, independente de `security_in_verify` na config (equivalente a `/oxe-security`).
|
|
18
|
+
- `--ui` — incluir auditoria de implementação UI baseada em `UI-SPEC.md` (equivalente a `/oxe-ui-review`). Ativado automaticamente se `UI-SPEC.md` existir no escopo.
|
|
19
|
+
- `--pr` — incluir revisão de PR antes de fechar o verify (equivalente a `/oxe-review-pr`). Usa o diff do branch atual contra o branch base.
|
|
20
|
+
- `--diff branchA...branchB` — revisão de diff específico entre dois branches ou SHAs.
|
|
21
|
+
- `--skip-retro` — pular a retrospectiva automática ao final do verify.
|
|
22
|
+
|
|
23
|
+
**Retro automática:** ao fechar `verify_complete`, executar automaticamente a lógica de `oxe/workflows/retro.md` para sintetizar 3–5 lições em `.oxe/global/LESSONS.md`. Usar `--skip-retro` para desativar.
|
|
24
|
+
|
|
25
|
+
**Nota de compatibilidade v1.1.0:** `/oxe-validate-gaps`, `/oxe-security`, `/oxe-ui-review`, `/oxe-review-pr` e `/oxe-retro` foram incorporados por este comando. Esses comandos legados continuam funcionando mas exibem aviso de migração.
|
|
14
26
|
</objective>
|
|
15
27
|
|
|
28
|
+
<flags_processing>
|
|
29
|
+
## Processamento de flags (executar antes do step 1)
|
|
30
|
+
|
|
31
|
+
Ao receber qualquer argumento, verificar flags antes de iniciar o fluxo principal:
|
|
32
|
+
|
|
33
|
+
1. **`--gaps`**: registrar internamente que Camada 5 deve ser executada independentemente de `verification_depth` na config.
|
|
34
|
+
|
|
35
|
+
2. **`--security`**: registrar internamente que Camada 6 deve ser executada independentemente de `security_in_verify` na config.
|
|
36
|
+
|
|
37
|
+
3. **`--ui`**: registrar internamente que auditoria UI deve ser executada. Se `UI-SPEC.md` não existir no escopo, avisar e perguntar se deseja executar `/oxe-spec --ui` primeiro.
|
|
38
|
+
|
|
39
|
+
4. **`--pr`**: após as camadas principais, executar a lógica de `oxe/workflows/review-pr.md` com o diff do branch atual. Incluir achados na seção **Revisão de PR** do VERIFY.md.
|
|
40
|
+
|
|
41
|
+
5. **`--diff branchA...branchB`**: equivalente a `--pr`, mas com o diff específico informado.
|
|
42
|
+
|
|
43
|
+
6. **`--skip-retro`**: registrar que a retro automática deve ser pulada ao final.
|
|
44
|
+
|
|
45
|
+
**Verificação automática de UI:** independente de flags, se `UI-SPEC.md` existir no escopo e houver critérios A* que toquem interface, executar auditoria UI parcial.
|
|
46
|
+
</flags_processing>
|
|
47
|
+
|
|
16
48
|
<context>
|
|
17
49
|
- Aplicar `oxe/workflows/references/reasoning-review.md` como contrato deste passo. A resposta no chat deve começar por achados, não por resumo.
|
|
18
50
|
- 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.
|
|
19
51
|
- 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.
|
|
20
52
|
- Antes da leitura ampla, resolver `.oxe/context/packs/verify.md` e `.oxe/context/packs/verify.json` como entrada prioritária do passo.
|
|
21
53
|
- Se o pack estiver fresco e coerente, usar `read_order`, `selected_artifacts`, `gaps` e `conflicts` como mapa primário da evidência. Se estiver stale, ausente ou com lacunas críticas, fazer fallback explícito para leitura direta e registar isso em `VERIFY.md`.
|
|
54
|
+
- **Runtime enterprise como caminho padrão:** quando `oxe-cc runtime` estiver disponível, executar ou solicitar `oxe-cc runtime verify --dir <projeto>` como caminho primário deste passo. Tratar `verification-manifest.json`, `residual-risk-ledger.json` e `evidence-coverage.json` da run ativa como fonte primária de evidência técnica, e o `VERIFY.md` projetado pelo runtime como base do artefato final.
|
|
55
|
+
- Se `runtime verify` retornar `partial`, continuar com as camadas manuais usando os gaps explícitos do runtime como backlog obrigatório da revisão; não cair silenciosamente para narrativa solta.
|
|
56
|
+
- Se o runtime não estiver compilado, indisponível ou não puder ser executado no ambiente atual, declarar `fallback legado` explicitamente antes de seguir com a verificação manual baseada em markdown e comandos locais.
|
|
22
57
|
- 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.
|
|
23
58
|
- 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.
|
|
24
59
|
- **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.
|
|
@@ -144,6 +179,11 @@ Registrar em `VERIFY.md`: `Resultado de calibração | Confiança declarada | Re
|
|
|
144
179
|
- se estiver fresco e coerente, usar o pack como mapa primário da verificação;
|
|
145
180
|
- se estiver stale, incompleto ou ausente, registar `fallback para leitura direta` antes de ampliar a leitura.
|
|
146
181
|
3. Ler `SPEC.md`, `PLAN.md` e `DISCUSS.md` do escopo resolvido, além de `.oxe/STATE.md` global. Com pack válido, começar pelos artefatos de `read_order`; só expandir a leitura quando faltar evidência para um critério, tarefa, decisão ou checkpoint.
|
|
182
|
+
3a. **Caminho padrão do runtime enterprise:** se `oxe-cc runtime` estiver disponível:
|
|
183
|
+
- executar ou solicitar `oxe-cc runtime verify --dir <projeto>` antes das camadas manuais;
|
|
184
|
+
- usar `verification-manifest.json`, `residual-risk-ledger.json`, `evidence-coverage.json` e a projeção de `VERIFY.md` como base primária da verificação;
|
|
185
|
+
- se o resultado vier como `partial`, tratar os gaps explícitos como backlog obrigatório das camadas manuais;
|
|
186
|
+
- se o runtime não puder ser executado por indisponibilidade do pacote, registar `fallback legado`.
|
|
147
187
|
4. **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.
|
|
148
188
|
5. **Camada 3:** Se existir `.oxe/DISCUSS.md` com IDs D-NN, executar **Fidelidade de decisões** conforme `<camada_3_fidelidade_decisoes>`.
|
|
149
189
|
6. Executar a verificação de coerência do runtime e checkpoints conforme `<runtime_e_checkpoints>`.
|
|
@@ -159,6 +199,7 @@ Registrar em `VERIFY.md`: `Resultado de calibração | Confiança declarada | Re
|
|
|
159
199
|
- **Seção — Calibração do plano:** resultado conforme `<calibracao_do_plano>`.
|
|
160
200
|
- **Checklist UAT** (Camada 4).
|
|
161
201
|
- **Gaps** — o que falhou e sugestão de correção; se não houver, escrever `Nenhum gap restante`.
|
|
202
|
+
Quando `runtime verify` já tiver projetado `VERIFY.md`, usar essa projeção como base e complementar manualmente apenas as seções ou evidências que o runtime ainda não cobrir.
|
|
162
203
|
7. Atualizar **`.oxe/STATE.md`** global: `verify_complete` ou `verify_failed` + próximo passo (replan, corrigir ou publicar).
|
|
163
204
|
7a. **Registro de calibração:** após escrever `STATE.md`, se `PLAN.md` contiver bloco `<confidence_vector>` — extrair o vetor e comparar com o resultado real. Criar ou atualizar `.oxe/calibration.json` com um novo record no formato:
|
|
164
205
|
```json
|
|
@@ -173,9 +214,16 @@ O `calibration_error` de cada dimensão = `|score declarado - resultado observad
|
|
|
173
214
|
- Se o resultado for `REPROVADO`, registrar `verify_failed` e não avançar para SUMMARY/commit.
|
|
174
215
|
7c. **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.
|
|
175
216
|
8. 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.
|
|
176
|
-
8b. **Retrospectiva (pós-verify):** se `verify_complete
|
|
177
|
-
|
|
178
|
-
|
|
217
|
+
8b. **Retrospectiva automática (pós-verify):** se `verify_complete` e `--skip-retro` não foi passado, executar automaticamente a lógica de `oxe/workflows/retro.md`:
|
|
218
|
+
- Sintetizar 3–5 lições prescritivas com base nos achados do ciclo atual
|
|
219
|
+
- Escrever/atualizar `.oxe/global/LESSONS.md` (com fallback para `.oxe/LESSONS.md`)
|
|
220
|
+
- Incluir seção **Retrospectiva** resumida no VERIFY.md
|
|
221
|
+
- Especialmente importante quando: houve replanejamento, falhas em execute, critérios A* ajustados, ou ciclo durou mais de 2 ondas
|
|
222
|
+
- Com `--skip-retro`: pular esta etapa e mencionar que a retrospectiva está disponível via `/oxe-retro` manualmente
|
|
223
|
+
8c. **Camada 5 — Validate-gaps:** se `verification_depth: "thorough"` em `.oxe/config.json` **ou** flag `--gaps` foi recebida, 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.
|
|
224
|
+
8d. **Camada 6 — Security:** se `security_in_verify: true` em `.oxe/config.json` **ou** flag `--security` foi recebida, 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.
|
|
225
|
+
8d2. **Camada UI — Revisão de implementação:** se `UI-SPEC.md` existir no escopo **ou** flag `--ui` foi recebida, executar a lógica de `oxe/workflows/ui-review.md` e adicionar seção **Auditoria UI** ao VERIFY.md. Também escrever `.oxe/UI-REVIEW.md` separado.
|
|
226
|
+
8d3. **Revisão de PR/diff:** se flag `--pr` ou `--diff` foi recebida, executar a lógica de `oxe/workflows/review-pr.md` com o diff relevante e adicionar seção **Revisão de PR** ao VERIFY.md.
|
|
179
227
|
8e. **Camada QC — Quality Contract automático:** se SPEC.md contiver requisitos `R-RB-NN` com versão `v1`, executar o bloco `<camada_qc_quality_contract>` e adicionar seção **Contrato de Qualidade** ao VERIFY.md. R-RB Piso não implementados bloqueiam `verify_complete` — registrar `verify_failed` até serem resolvidos ou explicitamente aceitos como risco P0.
|
|
180
228
|
9. **Só se todas as verificações relevantes passarem:** se `after_verify_draft_commit` não for `false`: acrescentar em **VERIFY.md** a seção **Rascunho de commit** — mensagem convencional (ex.: `feat:` / `fix:`) + bullets alinhados aos critérios **A*** e decisões **D-NN**; **não** incluir segredos.
|
|
181
229
|
10. **Só se passou:** se `after_verify_suggest_pr` não for `false`: acrescentar **Checklist PR** — branch base, título sugerido, screenshots se UI, links a SPEC/PLAN/DISCUSS, testes executados.
|
|
@@ -197,4 +245,5 @@ O `calibration_error` de cada dimensão = `|score declarado - resultado observad
|
|
|
197
245
|
- [ ] Se `verification_depth: "thorough"` em config: `.oxe/VALIDATION-GAPS.md` produzido como parte deste verify.
|
|
198
246
|
- [ ] Se `security_in_verify: true` em config: `.oxe/SECURITY.md` produzido; achados P0 resolvidos ou `verify_failed` registrado.
|
|
199
247
|
- [ ] Se SPEC.md contiver R-RB v1: seção **Contrato de Qualidade** presente em VERIFY.md com Quality Score realizado; R-RB Piso não implementados tratados como gaps P0.
|
|
248
|
+
- [ ] Quando `oxe-cc runtime` estiver disponível, `runtime verify` foi tentado como caminho primário; se o resultado foi `partial`, os gaps explícitos do runtime foram cobertos ou documentados.
|
|
200
249
|
</success_criteria>
|