oxe-cc 0.9.3 → 1.2.1
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 +1 -1
- package/.cursor/commands/oxe-capabilities.md +1 -1
- package/.cursor/commands/oxe-checkpoint.md +1 -1
- package/.cursor/commands/oxe-compact.md +1 -1
- package/.cursor/commands/oxe-dashboard.md +1 -1
- package/.cursor/commands/oxe-debug.md +1 -1
- package/.cursor/commands/oxe-discuss.md +1 -1
- package/.cursor/commands/oxe-execute.md +2 -2
- package/.cursor/commands/oxe-forensics.md +1 -1
- package/.cursor/commands/oxe-help.md +1 -1
- package/.cursor/commands/oxe-loop.md +1 -1
- package/.cursor/commands/oxe-milestone.md +1 -1
- package/.cursor/commands/oxe-next.md +1 -1
- package/.cursor/commands/oxe-obs.md +1 -1
- package/.cursor/commands/oxe-plan-agent.md +1 -1
- package/.cursor/commands/oxe-plan.md +1 -1
- package/.cursor/commands/oxe-project.md +1 -1
- package/.cursor/commands/oxe-quick.md +1 -1
- package/.cursor/commands/oxe-research.md +1 -1
- package/.cursor/commands/oxe-retro.md +1 -1
- package/.cursor/commands/oxe-review-pr.md +1 -1
- package/.cursor/commands/oxe-route.md +1 -1
- package/.cursor/commands/oxe-scan.md +1 -1
- package/.cursor/commands/oxe-security.md +1 -1
- package/.cursor/commands/oxe-session.md +2 -2
- package/.cursor/commands/oxe-ship.md +45 -0
- package/.cursor/commands/oxe-skill.md +1 -1
- package/.cursor/commands/oxe-spec.md +1 -1
- package/.cursor/commands/oxe-ui-review.md +1 -1
- package/.cursor/commands/oxe-ui-spec.md +1 -1
- package/.cursor/commands/oxe-update.md +1 -1
- package/.cursor/commands/oxe-validate-gaps.md +1 -1
- package/.cursor/commands/oxe-verify.md +1 -1
- package/.cursor/commands/oxe-workstream.md +1 -1
- package/.cursor/commands/oxe.md +4 -4
- package/.github/copilot-instructions.md +91 -1
- package/.github/prompts/oxe-ask.prompt.md +1 -1
- package/.github/prompts/oxe-capabilities.prompt.md +1 -1
- package/.github/prompts/oxe-checkpoint.prompt.md +1 -1
- package/.github/prompts/oxe-compact.prompt.md +1 -1
- package/.github/prompts/oxe-dashboard.prompt.md +1 -1
- package/.github/prompts/oxe-debug.prompt.md +1 -1
- package/.github/prompts/oxe-discuss.prompt.md +1 -1
- package/.github/prompts/oxe-execute.prompt.md +2 -2
- package/.github/prompts/oxe-forensics.prompt.md +1 -1
- package/.github/prompts/oxe-help.prompt.md +1 -1
- package/.github/prompts/oxe-loop.prompt.md +1 -1
- package/.github/prompts/oxe-milestone.prompt.md +1 -1
- package/.github/prompts/oxe-next.prompt.md +1 -1
- package/.github/prompts/oxe-obs.prompt.md +1 -1
- package/.github/prompts/oxe-plan-agent.prompt.md +1 -1
- package/.github/prompts/oxe-plan.prompt.md +1 -1
- package/.github/prompts/oxe-project.prompt.md +1 -1
- package/.github/prompts/oxe-quick.prompt.md +1 -1
- package/.github/prompts/oxe-research.prompt.md +1 -1
- package/.github/prompts/oxe-retro.prompt.md +1 -1
- package/.github/prompts/oxe-review-pr.prompt.md +1 -1
- package/.github/prompts/oxe-route.prompt.md +1 -1
- package/.github/prompts/oxe-scan.prompt.md +1 -1
- package/.github/prompts/oxe-security.prompt.md +1 -1
- package/.github/prompts/oxe-session.prompt.md +2 -2
- package/.github/prompts/oxe-ship.prompt.md +45 -0
- package/.github/prompts/oxe-skill.prompt.md +1 -1
- package/.github/prompts/oxe-spec.prompt.md +1 -1
- package/.github/prompts/oxe-ui-review.prompt.md +1 -1
- package/.github/prompts/oxe-ui-spec.prompt.md +1 -1
- package/.github/prompts/oxe-update.prompt.md +1 -1
- package/.github/prompts/oxe-validate-gaps.prompt.md +1 -1
- package/.github/prompts/oxe-verify.prompt.md +1 -1
- package/.github/prompts/oxe-workstream.prompt.md +1 -1
- package/.github/prompts/oxe.prompt.md +3 -3
- package/AGENTS.md +43 -28
- package/CHANGELOG.md +158 -0
- package/README.md +72 -50
- package/bin/banner.txt +1 -1
- package/bin/lib/oxe-dashboard.cjs +9 -7
- package/bin/lib/oxe-operational.cjs +569 -4
- package/bin/lib/oxe-project-health.cjs +1 -1
- package/bin/oxe-cc.js +141 -57
- package/commands/oxe/ask.md +5 -1
- package/commands/oxe/checkpoint.md +1 -1
- package/commands/oxe/compact.md +1 -1
- package/commands/oxe/debug.md +1 -1
- package/commands/oxe/execute.md +2 -2
- package/commands/oxe/forensics.md +1 -1
- package/commands/oxe/loop.md +1 -1
- package/commands/oxe/milestone.md +1 -1
- package/commands/oxe/next.md +1 -1
- package/commands/oxe/obs.md +1 -1
- package/commands/oxe/oxe.md +3 -3
- package/commands/oxe/project.md +1 -1
- package/commands/oxe/research.md +1 -1
- package/commands/oxe/retro.md +1 -1
- package/commands/oxe/review-pr.md +1 -1
- package/commands/oxe/route.md +1 -1
- package/commands/oxe/scan.md +1 -1
- package/commands/oxe/security.md +1 -1
- package/commands/oxe/session.md +2 -2
- package/commands/oxe/ship.md +49 -0
- package/commands/oxe/spec.md +2 -2
- package/commands/oxe/ui-review.md +1 -1
- package/commands/oxe/ui-spec.md +1 -1
- package/commands/oxe/validate-gaps.md +1 -1
- package/commands/oxe/verify.md +2 -2
- package/commands/oxe/workstream.md +1 -1
- 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/compiler/graph-compiler.d.ts +83 -0
- package/lib/runtime/compiler/graph-compiler.js +135 -0
- package/lib/runtime/compiler/index.d.ts +1 -0
- package/lib/runtime/compiler/index.js +17 -0
- package/lib/runtime/context/context-pack-builder.d.ts +51 -0
- package/lib/runtime/context/context-pack-builder.js +178 -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 +3 -0
- package/lib/runtime/context/index.js +19 -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 +19 -0
- package/lib/runtime/delivery/branch-manager.js +78 -0
- package/lib/runtime/delivery/ci-checks.d.ts +34 -0
- package/lib/runtime/delivery/ci-checks.js +209 -0
- package/lib/runtime/delivery/index.d.ts +4 -0
- package/lib/runtime/delivery/index.js +20 -0
- package/lib/runtime/delivery/pr-manager.d.ts +30 -0
- package/lib/runtime/delivery/pr-manager.js +82 -0
- package/lib/runtime/delivery/promotion-pipeline.d.ts +39 -0
- package/lib/runtime/delivery/promotion-pipeline.js +127 -0
- package/lib/runtime/events/bus.d.ts +9 -0
- package/lib/runtime/events/bus.js +63 -0
- package/lib/runtime/events/catalog.d.ts +3 -0
- package/lib/runtime/events/catalog.js +30 -0
- package/lib/runtime/events/envelope.d.ts +13 -0
- package/lib/runtime/events/envelope.js +2 -0
- package/lib/runtime/events/index.d.ts +3 -0
- package/lib/runtime/events/index.js +19 -0
- package/lib/runtime/evidence/evidence-store.d.ts +22 -0
- package/lib/runtime/evidence/evidence-store.js +106 -0
- package/lib/runtime/evidence/index.d.ts +1 -0
- package/lib/runtime/evidence/index.js +17 -0
- package/lib/runtime/gate/gate-manager.d.ts +39 -0
- package/lib/runtime/gate/gate-manager.js +104 -0
- package/lib/runtime/gate/index.d.ts +1 -0
- package/lib/runtime/gate/index.js +17 -0
- package/lib/runtime/index.d.ts +19 -0
- package/lib/runtime/index.js +44 -0
- package/lib/runtime/models/attempt.d.ts +12 -0
- package/lib/runtime/models/attempt.js +2 -0
- package/lib/runtime/models/evidence.d.ts +9 -0
- package/lib/runtime/models/evidence.js +2 -0
- package/lib/runtime/models/gate-decision.d.ts +10 -0
- package/lib/runtime/models/gate-decision.js +2 -0
- package/lib/runtime/models/index.d.ts +8 -0
- package/lib/runtime/models/index.js +24 -0
- package/lib/runtime/models/run.d.ts +13 -0
- package/lib/runtime/models/run.js +2 -0
- package/lib/runtime/models/session.d.ts +10 -0
- package/lib/runtime/models/session.js +2 -0
- package/lib/runtime/models/verification-result.d.ts +9 -0
- package/lib/runtime/models/verification-result.js +2 -0
- package/lib/runtime/models/work-item.d.ts +15 -0
- package/lib/runtime/models/work-item.js +2 -0
- package/lib/runtime/models/workspace.d.ts +25 -0
- package/lib/runtime/models/workspace.js +2 -0
- package/lib/runtime/plugins/capability-matrix.d.ts +20 -0
- package/lib/runtime/plugins/capability-matrix.js +59 -0
- package/lib/runtime/plugins/index.d.ts +4 -0
- package/lib/runtime/plugins/index.js +20 -0
- package/lib/runtime/plugins/plugin-abi.d.ts +76 -0
- package/lib/runtime/plugins/plugin-abi.js +2 -0
- package/lib/runtime/plugins/plugin-manifest.d.ts +22 -0
- package/lib/runtime/plugins/plugin-manifest.js +91 -0
- package/lib/runtime/plugins/plugin-registry.d.ts +21 -0
- package/lib/runtime/plugins/plugin-registry.js +119 -0
- package/lib/runtime/policy/index.d.ts +1 -0
- package/lib/runtime/policy/index.js +17 -0
- package/lib/runtime/policy/policy-engine.d.ts +67 -0
- package/lib/runtime/policy/policy-engine.js +171 -0
- package/lib/runtime/projection/index.d.ts +1 -0
- package/lib/runtime/projection/index.js +17 -0
- package/lib/runtime/projection/projection-engine.d.ts +11 -0
- package/lib/runtime/projection/projection-engine.js +218 -0
- package/lib/runtime/reducers/debug-reducer.d.ts +10 -0
- package/lib/runtime/reducers/debug-reducer.js +30 -0
- package/lib/runtime/reducers/index.d.ts +2 -0
- package/lib/runtime/reducers/index.js +18 -0
- package/lib/runtime/reducers/run-state-reducer.d.ts +46 -0
- package/lib/runtime/reducers/run-state-reducer.js +226 -0
- 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 +4 -0
- package/lib/runtime/scheduler/index.js +20 -0
- package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +36 -0
- package/lib/runtime/scheduler/multi-agent-coordinator.js +253 -0
- 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 +49 -0
- package/lib/runtime/scheduler/scheduler.js +324 -0
- package/lib/runtime/verification/index.d.ts +2 -0
- package/lib/runtime/verification/index.js +18 -0
- package/lib/runtime/verification/verification-compiler.d.ts +56 -0
- package/lib/runtime/verification/verification-compiler.js +147 -0
- package/lib/runtime/verification/verification-manifest.d.ts +58 -0
- package/lib/runtime/verification/verification-manifest.js +129 -0
- package/lib/runtime/workspace/index.d.ts +5 -0
- package/lib/runtime/workspace/index.js +24 -0
- package/lib/runtime/workspace/strategies/ephemeral-container.d.ts +22 -0
- package/lib/runtime/workspace/strategies/ephemeral-container.js +109 -0
- package/lib/runtime/workspace/strategies/git-worktree.d.ts +12 -0
- package/lib/runtime/workspace/strategies/git-worktree.js +79 -0
- package/lib/runtime/workspace/strategies/inplace.d.ts +10 -0
- package/lib/runtime/workspace/strategies/inplace.js +37 -0
- package/lib/runtime/workspace/workspace-manager.d.ts +13 -0
- package/lib/runtime/workspace/workspace-manager.js +2 -0
- package/lib/sdk/index.cjs +24 -7
- package/lib/sdk/index.d.ts +17 -7
- package/oxe/workflows/ask.md +4 -0
- package/oxe/workflows/checkpoint.md +14 -10
- package/oxe/workflows/debug.md +19 -15
- package/oxe/workflows/execute.md +30 -2
- package/oxe/workflows/forensics.md +13 -9
- package/oxe/workflows/help.md +97 -49
- package/oxe/workflows/loop.md +17 -13
- package/oxe/workflows/obs.md +4 -0
- package/oxe/workflows/oxe.md +64 -31
- package/oxe/workflows/project.md +6 -1
- package/oxe/workflows/references/workflow-runtime-contracts.json +23 -0
- 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/scan.md +4 -0
- package/oxe/workflows/security.md +14 -10
- package/oxe/workflows/session.md +17 -1
- package/oxe/workflows/ship.md +142 -0
- 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.md +42 -3
- package/package.json +9 -3
- package/packages/runtime/package.json +17 -0
- 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 -0
- package/packages/runtime/src/compiler/index.ts +1 -0
- package/packages/runtime/src/context/context-pack-builder.ts +259 -0
- 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 -0
- 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 +84 -0
- package/packages/runtime/src/delivery/ci-checks.ts +252 -0
- package/packages/runtime/src/delivery/index.ts +4 -0
- package/packages/runtime/src/delivery/pr-manager.ts +112 -0
- package/packages/runtime/src/delivery/promotion-pipeline.ts +180 -0
- package/packages/runtime/src/events/bus.ts +92 -0
- package/packages/runtime/src/events/catalog.ts +29 -0
- package/packages/runtime/src/events/envelope.ts +14 -0
- package/packages/runtime/src/events/index.ts +3 -0
- package/packages/runtime/src/evidence/evidence-store.ts +130 -0
- package/packages/runtime/src/evidence/index.ts +1 -0
- package/packages/runtime/src/gate/gate-manager.ts +137 -0
- package/packages/runtime/src/gate/index.ts +1 -0
- package/packages/runtime/src/index.ts +37 -0
- package/packages/runtime/src/models/attempt.ts +19 -0
- package/packages/runtime/src/models/evidence.ts +21 -0
- package/packages/runtime/src/models/gate-decision.ts +21 -0
- package/packages/runtime/src/models/index.ts +8 -0
- package/packages/runtime/src/models/run.ts +24 -0
- package/packages/runtime/src/models/session.ts +11 -0
- package/packages/runtime/src/models/verification-result.ts +10 -0
- package/packages/runtime/src/models/work-item.ts +25 -0
- package/packages/runtime/src/models/workspace.ts +28 -0
- package/packages/runtime/src/plugins/capability-matrix.ts +83 -0
- package/packages/runtime/src/plugins/index.ts +4 -0
- package/packages/runtime/src/plugins/plugin-abi.ts +95 -0
- package/packages/runtime/src/plugins/plugin-manifest.ts +113 -0
- package/packages/runtime/src/plugins/plugin-registry.ts +124 -0
- package/packages/runtime/src/policy/index.ts +1 -0
- package/packages/runtime/src/policy/policy-engine.ts +244 -0
- package/packages/runtime/src/projection/index.ts +1 -0
- package/packages/runtime/src/projection/projection-engine.ts +249 -0
- package/packages/runtime/src/reducers/debug-reducer.ts +36 -0
- package/packages/runtime/src/reducers/index.ts +2 -0
- package/packages/runtime/src/reducers/run-state-reducer.ts +269 -0
- 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 -0
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +333 -0
- package/packages/runtime/src/scheduler/run-journal.ts +62 -0
- package/packages/runtime/src/scheduler/scheduler.ts +441 -0
- package/packages/runtime/src/verification/index.ts +2 -0
- package/packages/runtime/src/verification/verification-compiler.ts +225 -0
- package/packages/runtime/src/verification/verification-manifest.ts +192 -0
- package/packages/runtime/src/workspace/index.ts +5 -0
- package/packages/runtime/src/workspace/strategies/ephemeral-container.ts +121 -0
- package/packages/runtime/src/workspace/strategies/git-worktree.ts +77 -0
- package/packages/runtime/src/workspace/strategies/inplace.ts +35 -0
- package/packages/runtime/src/workspace/workspace-manager.ts +15 -0
- package/packages/runtime/tsconfig.json +17 -0
- package/vscode-extension/oxe-agents-0.9.2.vsix +0 -0
- package/vscode-extension/oxe-agents-1.0.0.vsix +0 -0
- package/vscode-extension/package.json +1 -1
package/bin/oxe-cc.js
CHANGED
|
@@ -2125,7 +2125,7 @@ ${green}Uso:${reset}
|
|
|
2125
2125
|
npx oxe-cc init-oxe [opções] [pasta-do-projeto]
|
|
2126
2126
|
npx oxe-cc context <build|inspect> [opções] [pasta-do-projeto]
|
|
2127
2127
|
npx oxe-cc dashboard [opções] [pasta-do-projeto]
|
|
2128
|
-
npx oxe-cc runtime <status|start|pause|resume|replay> [opções] [pasta-do-projeto]
|
|
2128
|
+
npx oxe-cc runtime <status|start|pause|resume|replay|compile|project|ci> [opções] [pasta-do-projeto]
|
|
2129
2129
|
npx oxe-cc azure <status|doctor|auth|sync|find|servicebus|eventgrid|sql|operations> [opções] [pasta-do-projeto]
|
|
2130
2130
|
npx oxe-cc capabilities <list|install|remove|update> [opções] [id]
|
|
2131
2131
|
npx oxe-cc uninstall [opções] [pasta-do-projeto]
|
|
@@ -2167,18 +2167,24 @@ ${green}context${reset} (Context Engine V2: seleção, compressão e inspeção
|
|
|
2167
2167
|
--json saída estruturada em JSON
|
|
2168
2168
|
--dir <pasta> raiz do projeto (padrão: diretório atual)
|
|
2169
2169
|
|
|
2170
|
-
${green}runtime${reset} (controle operacional explícito do ACTIVE-RUN)
|
|
2171
|
-
status mostra o run ativo resolvido para a sessão atual
|
|
2172
|
-
start cria um novo run com tracing inicial
|
|
2173
|
-
pause pausa o run ativo e preserva o cursor
|
|
2174
|
-
resume retoma o run ativo
|
|
2175
|
-
replay marca replay parcial por onda ou tarefa
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
--
|
|
2180
|
-
--
|
|
2181
|
-
--
|
|
2170
|
+
${green}runtime${reset} (controle operacional explícito do ACTIVE-RUN)
|
|
2171
|
+
status mostra o run ativo resolvido para a sessão atual
|
|
2172
|
+
start cria um novo run com tracing inicial
|
|
2173
|
+
pause pausa o run ativo e preserva o cursor
|
|
2174
|
+
resume retoma o run ativo
|
|
2175
|
+
replay marca replay parcial por onda ou tarefa
|
|
2176
|
+
compile compila PLAN/SPEC em ExecutionGraph formal + verification suite
|
|
2177
|
+
project projeta markdowns derivados do estado canônico
|
|
2178
|
+
ci executa checks do runtime e persiste o resultado na run
|
|
2179
|
+
--session <sessions/sNNN-slug> força sessão específica
|
|
2180
|
+
--wave <número> fixa onda atual/cursor
|
|
2181
|
+
--task <Tn> fixa tarefa atual/cursor
|
|
2182
|
+
--mode <complete|wave|task> modo operacional do cursor
|
|
2183
|
+
--reason <texto> motivo explícito da transição
|
|
2184
|
+
--run <run_id> (replay|ci) filtra um run específico
|
|
2185
|
+
--from <event_id> (replay) começa em um event_id específico
|
|
2186
|
+
--write (replay) gera REPLAY-SESSION.md
|
|
2187
|
+
--dir <pasta> raiz do projeto (padrão: diretório atual)
|
|
2182
2188
|
|
|
2183
2189
|
${green}azure${reset} (provider Azure nativo via Azure CLI no Windows)
|
|
2184
2190
|
status estado compacto: CLI, login, subscription, inventário, pendências
|
|
@@ -3707,11 +3713,11 @@ async function runDashboard(opts) {
|
|
|
3707
3713
|
/**
|
|
3708
3714
|
* @param {RuntimeOpts} opts
|
|
3709
3715
|
*/
|
|
3710
|
-
function runRuntime(opts) {
|
|
3711
|
-
const c = useAnsiColors();
|
|
3712
|
-
printSection('OXE ▸ runtime');
|
|
3713
|
-
if (!fs.existsSync(opts.dir)) {
|
|
3714
|
-
console.error(`${yellow}Diretório não encontrado: ${opts.dir}${reset}`);
|
|
3716
|
+
async function runRuntime(opts) {
|
|
3717
|
+
const c = useAnsiColors();
|
|
3718
|
+
printSection('OXE ▸ runtime');
|
|
3719
|
+
if (!fs.existsSync(opts.dir)) {
|
|
3720
|
+
console.error(`${yellow}Diretório não encontrado: ${opts.dir}${reset}`);
|
|
3715
3721
|
process.exit(1);
|
|
3716
3722
|
}
|
|
3717
3723
|
bootstrapOxe(opts.dir, { dryRun: false, force: false });
|
|
@@ -3722,20 +3728,32 @@ function runRuntime(opts) {
|
|
|
3722
3728
|
console.log(` ${c ? green : ''}Projeto:${c ? reset : ''} ${c ? cyan : ''}${opts.dir}${c ? reset : ''}`);
|
|
3723
3729
|
console.log(` ${c ? green : ''}Sessão:${c ? reset : ''} ${c ? cyan : ''}${activeSession || 'modo legado'}${c ? reset : ''}`);
|
|
3724
3730
|
|
|
3725
|
-
if (opts.action === 'status') {
|
|
3726
|
-
const current = oxeOperational.readRunState(opts.dir, activeSession);
|
|
3727
|
-
if (!current) {
|
|
3728
|
-
console.log(` ${yellow}Nenhum ACTIVE-RUN encontrado.${reset}`);
|
|
3729
|
-
return;
|
|
3730
|
-
}
|
|
3731
|
-
console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${current.run_id}`);
|
|
3732
|
-
console.log(` ${c ? green : ''}Estado:${c ? reset : ''} ${current.status}`);
|
|
3733
|
-
console.log(` ${c ? green : ''}Cursor:${c ? reset : ''} onda=${current.cursor && current.cursor.wave != null ? current.cursor.wave : '—'} tarefa=${current.cursor && current.cursor.task ? current.cursor.task : '—'} modo=${current.cursor && current.cursor.mode ? current.cursor.mode : '—'}`);
|
|
3734
|
-
console.log(` ${c ? green : ''}Arquivo:${c ? reset : ''} ${path.join(p.runsDir, `${current.run_id}.json`)}`);
|
|
3735
|
-
|
|
3736
|
-
}
|
|
3737
|
-
|
|
3738
|
-
|
|
3731
|
+
if (opts.action === 'status') {
|
|
3732
|
+
const current = oxeOperational.readRunState(opts.dir, activeSession);
|
|
3733
|
+
if (!current) {
|
|
3734
|
+
console.log(` ${yellow}Nenhum ACTIVE-RUN encontrado.${reset}`);
|
|
3735
|
+
return;
|
|
3736
|
+
}
|
|
3737
|
+
console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${current.run_id}`);
|
|
3738
|
+
console.log(` ${c ? green : ''}Estado:${c ? reset : ''} ${current.status}`);
|
|
3739
|
+
console.log(` ${c ? green : ''}Cursor:${c ? reset : ''} onda=${current.cursor && current.cursor.wave != null ? current.cursor.wave : '—'} tarefa=${current.cursor && current.cursor.task ? current.cursor.task : '—'} modo=${current.cursor && current.cursor.mode ? current.cursor.mode : '—'}`);
|
|
3740
|
+
console.log(` ${c ? green : ''}Arquivo:${c ? reset : ''} ${path.join(p.runsDir, `${current.run_id}.json`)}`);
|
|
3741
|
+
if (current.compiled_graph && current.compiled_graph.metadata) {
|
|
3742
|
+
console.log(` ${c ? green : ''}Graph:${c ? reset : ''} ${current.compiled_graph.metadata.node_count || 0} nós · ${current.compiled_graph.metadata.wave_count || 0} ondas`);
|
|
3743
|
+
}
|
|
3744
|
+
if (current.canonical_state && current.canonical_state.summary) {
|
|
3745
|
+
console.log(` ${c ? green : ''}Canonical:${c ? reset : ''} work_items=${current.canonical_state.summary.work_item_count || 0} · attempts=${current.canonical_state.summary.attempt_count || 0}`);
|
|
3746
|
+
}
|
|
3747
|
+
if (current.ci_checks && current.ci_checks.summary) {
|
|
3748
|
+
console.log(` ${c ? green : ''}CI:${c ? reset : ''} pass=${current.ci_checks.summary.pass || 0} fail=${current.ci_checks.summary.fail || 0} skip=${current.ci_checks.summary.skip || 0} error=${current.ci_checks.summary.error || 0}`);
|
|
3749
|
+
}
|
|
3750
|
+
if (current.projections && current.projections.generated_at) {
|
|
3751
|
+
console.log(` ${c ? green : ''}Projection:${c ? reset : ''} ${current.projections.generated_at}`);
|
|
3752
|
+
}
|
|
3753
|
+
return;
|
|
3754
|
+
}
|
|
3755
|
+
|
|
3756
|
+
if (opts.action === 'replay' && !opts.task) {
|
|
3739
3757
|
const report = oxeOperational.replayEvents(opts.dir, activeSession, {
|
|
3740
3758
|
runId: opts.runId || undefined,
|
|
3741
3759
|
fromEventId: opts.fromEventId || undefined,
|
|
@@ -3747,34 +3765,97 @@ function runRuntime(opts) {
|
|
|
3747
3765
|
console.log(` ${c ? green : ''}Ondas:${c ? reset : ''} ${report.waveIds.join(', ') || '—'}`);
|
|
3748
3766
|
console.log(` ${c ? green : ''}Tarefas:${c ? reset : ''} ${report.taskSequence.join(', ') || '—'}`);
|
|
3749
3767
|
console.log(` ${c ? green : ''}Falhas:${c ? reset : ''} ${report.failureEvents.length}`);
|
|
3750
|
-
if (report.totalEvents > 0) {
|
|
3751
|
-
console.log('');
|
|
3752
|
-
const dim = c ? '\x1b[2m' : '';
|
|
3753
|
-
console.log(` ${dim}# Tipo Wave Task Delta Timestamp${c ? reset : ''}`);
|
|
3754
|
-
for (let i = 0; i < Math.min(report.events.length, 50); i++) {
|
|
3755
|
-
const e = report.events[i];
|
|
3756
|
-
const delta = i > 0 ? `+${(e._delta_ms / 1000).toFixed(1)}s` : '—';
|
|
3757
|
-
const num = String(i + 1).padStart(3);
|
|
3758
|
-
const type = String(e.type).padEnd(22).slice(0, 22);
|
|
3759
|
-
const wave = String(e.wave_id || '—').padEnd(7).slice(0, 7);
|
|
3760
|
-
const task = String(e.task_id || '—').padEnd(7).slice(0, 7);
|
|
3761
|
-
const deltaStr = delta.padStart(10);
|
|
3762
|
-
console.log(` ${num} ${type} ${wave} ${task} ${deltaStr} ${e.timestamp}`);
|
|
3763
|
-
}
|
|
3768
|
+
if (report.totalEvents > 0) {
|
|
3769
|
+
console.log('');
|
|
3770
|
+
const dim = c ? '\x1b[2m' : '';
|
|
3771
|
+
console.log(` ${dim}# Tipo Wave Task Delta Timestamp${c ? reset : ''}`);
|
|
3772
|
+
for (let i = 0; i < Math.min(report.events.length, 50); i++) {
|
|
3773
|
+
const e = report.events[i];
|
|
3774
|
+
const delta = i > 0 ? `+${(e._delta_ms / 1000).toFixed(1)}s` : '—';
|
|
3775
|
+
const num = String(i + 1).padStart(3);
|
|
3776
|
+
const type = String(e.type).padEnd(22).slice(0, 22);
|
|
3777
|
+
const wave = String(e.wave_id || '—').padEnd(7).slice(0, 7);
|
|
3778
|
+
const task = String(e.task_id || e.work_item_id || '—').padEnd(7).slice(0, 7);
|
|
3779
|
+
const deltaStr = delta.padStart(10);
|
|
3780
|
+
console.log(` ${num} ${type} ${wave} ${task} ${deltaStr} ${e.timestamp}`);
|
|
3781
|
+
}
|
|
3764
3782
|
if (report.events.length > 50) {
|
|
3765
3783
|
console.log(` … (${report.events.length - 50} mais)`);
|
|
3766
3784
|
}
|
|
3767
3785
|
}
|
|
3768
3786
|
if (report._reportPath) {
|
|
3769
3787
|
console.log(`\n ${c ? green : ''}Relatório:${c ? reset : ''} ${report._reportPath}`);
|
|
3770
|
-
}
|
|
3771
|
-
return;
|
|
3772
|
-
}
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3788
|
+
}
|
|
3789
|
+
return;
|
|
3790
|
+
}
|
|
3791
|
+
|
|
3792
|
+
if (opts.action === 'compile') {
|
|
3793
|
+
try {
|
|
3794
|
+
const compiled = oxeOperational.compileExecutionGraphFromArtifacts(opts.dir, activeSession);
|
|
3795
|
+
const suite = oxeOperational.compileVerificationSuiteFromArtifacts(opts.dir, activeSession, {
|
|
3796
|
+
runState: compiled.run,
|
|
3797
|
+
});
|
|
3798
|
+
console.log(` ${c ? green : ''}✓${c ? reset : ''} Runtime compilado.`);
|
|
3799
|
+
console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${compiled.run.run_id}`);
|
|
3800
|
+
console.log(` ${c ? green : ''}Graph:${c ? reset : ''} ${compiled.graph.metadata.node_count} nó(s) · ${compiled.graph.metadata.wave_count} onda(s)`);
|
|
3801
|
+
console.log(` ${c ? green : ''}Checks:${c ? reset : ''} ${Array.isArray(suite.suite.checks) ? suite.suite.checks.length : 0}`);
|
|
3802
|
+
if (compiled.validationErrors.length) {
|
|
3803
|
+
console.log(` ${yellow}Validation:${reset} ${compiled.validationErrors.join(' | ')}`);
|
|
3804
|
+
}
|
|
3805
|
+
console.log(` ${c ? green : ''}Arquivo:${c ? reset : ''} ${path.join(p.runsDir, `${compiled.run.run_id}.json`)}`);
|
|
3806
|
+
return;
|
|
3807
|
+
} catch (err) {
|
|
3808
|
+
console.error(`${red}${err && err.message ? err.message : 'Falha ao compilar o runtime.'}${reset}`);
|
|
3809
|
+
process.exit(1);
|
|
3810
|
+
}
|
|
3811
|
+
}
|
|
3812
|
+
|
|
3813
|
+
if (opts.action === 'project') {
|
|
3814
|
+
try {
|
|
3815
|
+
const projected = oxeOperational.projectRuntimeArtifacts(opts.dir, activeSession, { write: true });
|
|
3816
|
+
console.log(` ${c ? green : ''}✓${c ? reset : ''} Projeções geradas a partir do estado canônico.`);
|
|
3817
|
+
console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${projected.run.run_id}`);
|
|
3818
|
+
console.log(` ${c ? green : ''}STATE:${c ? reset : ''} ${projected.paths.state}`);
|
|
3819
|
+
console.log(` ${c ? green : ''}PLAN:${c ? reset : ''} ${projected.paths.plan}`);
|
|
3820
|
+
console.log(` ${c ? green : ''}VERIFY:${c ? reset : ''} ${projected.paths.verify}`);
|
|
3821
|
+
console.log(` ${c ? green : ''}RUN-SUMMARY:${c ? reset : ''} ${projected.paths.runSummary}`);
|
|
3822
|
+
console.log(` ${c ? green : ''}PR-SUMMARY:${c ? reset : ''} ${projected.paths.prSummary}`);
|
|
3823
|
+
return;
|
|
3824
|
+
} catch (err) {
|
|
3825
|
+
console.error(`${red}${err && err.message ? err.message : 'Falha ao projetar artefatos do runtime.'}${reset}`);
|
|
3826
|
+
process.exit(1);
|
|
3827
|
+
}
|
|
3828
|
+
}
|
|
3829
|
+
|
|
3830
|
+
if (opts.action === 'ci') {
|
|
3831
|
+
try {
|
|
3832
|
+
const report = await oxeOperational.runRuntimeCiChecks(opts.dir, activeSession, {
|
|
3833
|
+
runId: opts.runId || undefined,
|
|
3834
|
+
});
|
|
3835
|
+
console.log(` ${c ? green : ''}Run:${c ? reset : ''} ${report.runId || '—'}`);
|
|
3836
|
+
for (const result of report.results) {
|
|
3837
|
+
const color = result.status === 'pass'
|
|
3838
|
+
? green
|
|
3839
|
+
: result.status === 'skip'
|
|
3840
|
+
? dim
|
|
3841
|
+
: red;
|
|
3842
|
+
console.log(` ${c ? color : ''}${result.status.toUpperCase()}${c ? reset : ''} ${result.check} · ${result.message}`);
|
|
3843
|
+
}
|
|
3844
|
+
console.log(` ${c ? green : ''}Resumo:${c ? reset : ''} pass=${report.summary.pass} fail=${report.summary.fail} skip=${report.summary.skip} error=${report.summary.error}`);
|
|
3845
|
+
if (!report.summary.allPassed) {
|
|
3846
|
+
process.exitCode = 1;
|
|
3847
|
+
}
|
|
3848
|
+
return;
|
|
3849
|
+
} catch (err) {
|
|
3850
|
+
console.error(`${red}${err && err.message ? err.message : 'Falha ao executar checks do runtime.'}${reset}`);
|
|
3851
|
+
process.exit(1);
|
|
3852
|
+
}
|
|
3853
|
+
}
|
|
3854
|
+
|
|
3855
|
+
try {
|
|
3856
|
+
const next = oxeOperational.applyRuntimeAction(opts.dir, activeSession, {
|
|
3857
|
+
action: opts.action,
|
|
3858
|
+
wave: opts.wave,
|
|
3778
3859
|
task: opts.task || null,
|
|
3779
3860
|
mode: opts.mode || null,
|
|
3780
3861
|
reason: opts.reason || '',
|
|
@@ -4427,9 +4508,12 @@ async function main() {
|
|
|
4427
4508
|
console.error(`${yellow}Diretório não encontrado: ${runtime.dir}${reset}`);
|
|
4428
4509
|
process.exit(1);
|
|
4429
4510
|
}
|
|
4430
|
-
runRuntime(runtime)
|
|
4431
|
-
|
|
4432
|
-
|
|
4511
|
+
runRuntime(runtime).catch((err) => {
|
|
4512
|
+
console.error(`${red}${err && err.message ? err.message : 'Falha ao executar runtime.'}${reset}`);
|
|
4513
|
+
process.exit(1);
|
|
4514
|
+
});
|
|
4515
|
+
return;
|
|
4516
|
+
}
|
|
4433
4517
|
|
|
4434
4518
|
if (command === 'plugins') {
|
|
4435
4519
|
printBanner();
|
package/commands/oxe/ask.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:ask
|
|
3
|
-
description: "
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe. Use: /oxe 'sua pergunta' — Perguntar ao OXE sobre a situação atual"
|
|
4
4
|
argument-hint: "[pergunta em texto livre]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -42,6 +42,10 @@ oxe_semantics_hash: b3f89121879267f9
|
|
|
42
42
|
|
|
43
43
|
<!-- oxe-reasoning-contract:end -->
|
|
44
44
|
|
|
45
|
+
> **[DEPRECATED v1.1.0]** Este comando foi incorporado por `/oxe`.
|
|
46
|
+
> Use: `/oxe "sua pergunta"` para perguntas situacionais.
|
|
47
|
+
> Este alias continuará funcionando nesta versão por compatibilidade.
|
|
48
|
+
|
|
45
49
|
**Workflow canónico:** `oxe/workflows/ask.md`
|
|
46
50
|
|
|
47
51
|
Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa o texto em `$ARGUMENTS` como pergunta e foco.
|
package/commands/oxe/compact.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:compact
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --refresh para refresh incremental do codebase"
|
|
4
4
|
oxe_workflow_slug: compact
|
|
5
5
|
oxe_reasoning_mode: discovery
|
|
6
6
|
oxe_question_policy: explore_first
|
package/commands/oxe/debug.md
CHANGED
package/commands/oxe/execute.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:execute
|
|
3
|
-
description: "Executar plano
|
|
4
|
-
argument-hint: "[A
|
|
3
|
+
description: "Executar plano A/B/C. Flags: --note (obs), --debug, --deep-diagnosis, --checkpoint '<nome>', --iterative"
|
|
4
|
+
argument-hint: "[A|B|C | --note 'texto' | --debug | --deep-diagnosis | --checkpoint '<nome>' | --iterative]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:forensics
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --deep-diagnosis"
|
|
4
4
|
argument-hint: "[sintoma opcional]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/loop.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:loop
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --iterative"
|
|
4
4
|
argument-hint: "onda <N> [max:<tentativas>]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:milestone
|
|
3
|
-
description: "
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-session. Use: /oxe-session milestone new|complete|status|audit"
|
|
4
4
|
argument-hint: "new <nome> | complete | status | audit"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/next.md
CHANGED
package/commands/oxe/obs.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:obs
|
|
3
|
-
description: "
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-execute. Use: /oxe-execute --note 'sua observação'"
|
|
4
4
|
argument-hint: "[observação: restrição, descoberta, preferência, risco ou decisão]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/oxe.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe
|
|
3
|
-
description: OXE — Entrada universal: próximo passo,
|
|
4
|
-
argument-hint: "[contexto | 'help' | vazio]"
|
|
3
|
+
description: OXE — Entrada universal: próximo passo, perguntas situacionais, roteamento ou help da trilha principal (6 comandos)
|
|
4
|
+
argument-hint: "[contexto | 'help' | 'sua pergunta' | vazio]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Bash
|
|
@@ -46,4 +46,4 @@ oxe_semantics_hash: d7f65cd3f77b0abc
|
|
|
46
46
|
|
|
47
47
|
**Workflow canônico:** `oxe/workflows/oxe.md`
|
|
48
48
|
|
|
49
|
-
Execute integralmente esse ficheiro. `$ARGUMENTS`: vazio → próximo passo; texto → roteamento inteligente
|
|
49
|
+
Execute integralmente esse ficheiro. `$ARGUMENTS`: vazio → próximo passo; "help" → trilha principal (6 comandos + 2 avançados); pergunta situacional → situação atual com base nos artefatos; texto de ação → roteamento inteligente para o workflow correto.
|
package/commands/oxe/project.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:project
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-session. Use: /oxe-session milestone|workstream. Checkpoint via /oxe-execute --checkpoint"
|
|
4
4
|
argument-hint: "milestone new|complete|status|audit | workstream new|switch|list|close <nome> | checkpoint [slug]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/research.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:research
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --research ou /oxe-spec --deep"
|
|
4
4
|
argument-hint: "[âmbito: spike, mapa sistema, reversa, modernização, …]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/retro.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:retro
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify (retro automática). Use: /oxe-verify (ou --skip-retro para desativar)"
|
|
4
4
|
argument-hint: "[opcional: contexto sobre o ciclo]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:review-pr
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify. Use: /oxe-verify --pr ou /oxe-verify --diff branchA...branchB"
|
|
4
4
|
argument-hint: "<URL do PR ou branch:base..head>"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/route.md
CHANGED
package/commands/oxe/scan.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:scan
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-spec. Use: /oxe-spec --refresh (incremental) ou /oxe-spec --full (completo)"
|
|
4
4
|
argument-hint: "[área opcional, ex. auth, api]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/security.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:security
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-verify. Use: /oxe-verify --security"
|
|
4
4
|
argument-hint: "[opcional: categoria OWASP, módulo ou arquivo]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/commands/oxe/session.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:session
|
|
3
|
-
description: "Gerir sessões
|
|
4
|
-
argument-hint: "[new <nome> | list | switch <id> |
|
|
3
|
+
description: "Gerir sessões, milestones e workstreams OXE (absorve /oxe-project, /oxe-milestone, /oxe-workstream)"
|
|
4
|
+
argument-hint: "[new <nome> | list | switch <id> | close | migrate <nome> | milestone new|status|audit | workstream new|switch|list]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Bash
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oxe:ship
|
|
3
|
+
description: "OXE — Entregar: cria commit local com mensagem gerada de SPEC+PLAN+VERIFY. Flags: --message, --amend, --verify-first, --dry-run"
|
|
4
|
+
argument-hint: "[--message 'mensagem'] [--amend] [--verify-first] [--no-checks] [--dry-run]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Write
|
|
11
|
+
- Task
|
|
12
|
+
oxe_workflow_slug: ship
|
|
13
|
+
oxe_reasoning_mode: execution
|
|
14
|
+
oxe_question_policy: ask_high_impact_only
|
|
15
|
+
oxe_output_contract: execution
|
|
16
|
+
oxe_tool_profile: write_bounded
|
|
17
|
+
oxe_confidence_policy: explicit
|
|
18
|
+
oxe_context_tier: standard
|
|
19
|
+
oxe_contract_version: 2.0.0
|
|
20
|
+
oxe_semantics_hash: 3893740934e4f82b
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
<!-- oxe-reasoning-contract:start -->
|
|
24
|
+
|
|
25
|
+
**Contrato de raciocínio OXE deste comando**
|
|
26
|
+
- **Workflow:** ship
|
|
27
|
+
- **Modo:** execução
|
|
28
|
+
- **Perguntas:** perguntar só alto impacto
|
|
29
|
+
- **Saída esperada:** execução
|
|
30
|
+
- **Perfil de ferramentas:** mutação limitada
|
|
31
|
+
- **Política de confiança:** explícita
|
|
32
|
+
- **Tier de contexto padrão:** padrão
|
|
33
|
+
- **Versão do contrato:** 2.0.0
|
|
34
|
+
- **Checksum semântico:** `3893740934e4f82b`
|
|
35
|
+
- **Entrada de contexto prioritária:** `.oxe/context/packs/ship.md` e `.oxe/context/packs/ship.json`
|
|
36
|
+
- **Regra pack-first:** ler o context pack primeiro; se estiver stale, incompleto ou ausente, cair para leitura direta com fallback explícito.
|
|
37
|
+
- **Inspeção estruturada:** `oxe-cc context inspect --workflow ship --json`
|
|
38
|
+
- Fazer reconhecimento curto antes de editar ou executar mutações.
|
|
39
|
+
- Trabalhar no menor write set viável e validar após cada fatia relevante.
|
|
40
|
+
- Parar e explicitar o bloqueio quando houver hipótese crítica não verificada.
|
|
41
|
+
- **Seções esperadas:** Contexto lido · Alvo da mudança · Validação executada · Resultado · Próximo passo
|
|
42
|
+
- **Bloqueios formais:** missing:verify_without_override · missing:tracked_changes
|
|
43
|
+
- **Referência canónica:** `oxe/workflows/references/reasoning-execution.md`
|
|
44
|
+
|
|
45
|
+
<!-- oxe-reasoning-contract:end -->
|
|
46
|
+
|
|
47
|
+
**Workflow canônico:** `oxe/workflows/ship.md`
|
|
48
|
+
|
|
49
|
+
Execute integralmente esse ficheiro na raiz do repositório em que estás a trabalhar. Usa `$ARGUMENTS` como flags de entrega (`--message`, `--amend`, `--verify-first`, `--no-checks`, `--dry-run`).
|
package/commands/oxe/spec.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:spec
|
|
3
|
-
description: "Spec em 5 fases:
|
|
4
|
-
argument-hint: "[descrição da feature
|
|
3
|
+
description: "Spec em 5 fases. Flags: --refresh (scan incremental), --full (scan completo), --research (spike), --ui (gera UI-SPEC)"
|
|
4
|
+
argument-hint: "[descrição da feature | --refresh | --full | --research | --ui]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
package/commands/oxe/ui-spec.md
CHANGED
package/commands/oxe/verify.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:verify
|
|
3
|
-
description: Valida
|
|
4
|
-
argument-hint: "[Tn
|
|
3
|
+
description: "Valida e fecha o ciclo (retro automática). Flags: --gaps, --security, --ui, --pr, --diff, --skip-retro"
|
|
4
|
+
argument-hint: "[Tn | --gaps | --security | --ui | --pr | --diff branchA...branchB | --skip-retro]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:workstream
|
|
3
|
-
description: "
|
|
3
|
+
description: "[DEPRECATED v1.1.0] Incorporado por /oxe-session. Use: /oxe-session workstream list|new|switch|close"
|
|
4
4
|
argument-hint: "list | new <nome> | switch <nome> | status | close <nome>"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface AuditQueryFilter {
|
|
2
|
+
action?: AuditAction;
|
|
3
|
+
severity?: AuditSeverity;
|
|
4
|
+
runId?: string;
|
|
5
|
+
since?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RemoteAuditSink {
|
|
8
|
+
write(entry: AuditEntry): Promise<void>;
|
|
9
|
+
query(filter: AuditQueryFilter): Promise<AuditEntry[]>;
|
|
10
|
+
}
|
|
11
|
+
export interface AuditMetrics {
|
|
12
|
+
total_entries: number;
|
|
13
|
+
critical_count: number;
|
|
14
|
+
warn_count: number;
|
|
15
|
+
by_action: Partial<Record<AuditAction, number>>;
|
|
16
|
+
actors: string[];
|
|
17
|
+
oldest: string | null;
|
|
18
|
+
newest: string | null;
|
|
19
|
+
}
|
|
20
|
+
export type AuditAction = 'run_started' | 'run_completed' | 'run_paused' | 'run_recovered' | 'gate_requested' | 'gate_resolved' | 'policy_denied' | 'plugin_registered' | 'plugin_invoked' | 'secret_accessed' | 'infra_mutation' | 'pr_created' | 'merge_approved' | 'merge_blocked';
|
|
21
|
+
export type AuditSeverity = 'info' | 'warn' | 'critical';
|
|
22
|
+
export interface AuditEntry {
|
|
23
|
+
audit_id: string;
|
|
24
|
+
action: AuditAction;
|
|
25
|
+
severity: AuditSeverity;
|
|
26
|
+
run_id: string | null;
|
|
27
|
+
work_item_id: string | null;
|
|
28
|
+
actor: string;
|
|
29
|
+
resource: string | null;
|
|
30
|
+
detail: Record<string, unknown>;
|
|
31
|
+
timestamp: string;
|
|
32
|
+
}
|
|
33
|
+
export interface RunQuota {
|
|
34
|
+
run_id: string;
|
|
35
|
+
max_work_items: number;
|
|
36
|
+
max_mutations: number;
|
|
37
|
+
max_retries_total: number;
|
|
38
|
+
consumed_work_items: number;
|
|
39
|
+
consumed_mutations: number;
|
|
40
|
+
consumed_retries: number;
|
|
41
|
+
}
|
|
42
|
+
export interface QuotaViolation {
|
|
43
|
+
quota_type: 'work_items' | 'mutations' | 'retries';
|
|
44
|
+
limit: number;
|
|
45
|
+
consumed: number;
|
|
46
|
+
}
|
|
47
|
+
export declare class AuditTrail {
|
|
48
|
+
private readonly projectRoot;
|
|
49
|
+
private readonly remoteSink?;
|
|
50
|
+
constructor(projectRoot: string, remoteSink?: RemoteAuditSink | undefined);
|
|
51
|
+
record(action: AuditAction, actor: string, options?: {
|
|
52
|
+
runId?: string;
|
|
53
|
+
workItemId?: string;
|
|
54
|
+
resource?: string;
|
|
55
|
+
detail?: Record<string, unknown>;
|
|
56
|
+
}): AuditEntry;
|
|
57
|
+
query(filter?: {
|
|
58
|
+
action?: AuditAction;
|
|
59
|
+
severity?: AuditSeverity;
|
|
60
|
+
runId?: string;
|
|
61
|
+
since?: string;
|
|
62
|
+
}): AuditEntry[];
|
|
63
|
+
critical(): AuditEntry[];
|
|
64
|
+
metrics(): AuditMetrics;
|
|
65
|
+
private append;
|
|
66
|
+
private load;
|
|
67
|
+
private trailPath;
|
|
68
|
+
}
|
|
69
|
+
export declare function createQuota(runId: string, limits?: Partial<Omit<RunQuota, 'run_id' | 'consumed_work_items' | 'consumed_mutations' | 'consumed_retries'>>): RunQuota;
|
|
70
|
+
export declare function checkQuota(quota: RunQuota): QuotaViolation | null;
|
|
71
|
+
export declare function consumeQuota(quota: RunQuota, type: QuotaViolation['quota_type'], amount?: number): RunQuota;
|