oxe-cc 1.2.1 → 1.4.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 +2 -2
- package/.cursor/commands/oxe-capabilities.md +2 -2
- package/.cursor/commands/oxe-checkpoint.md +2 -2
- package/.cursor/commands/oxe-compact.md +2 -2
- package/.cursor/commands/oxe-dashboard.md +2 -2
- package/.cursor/commands/oxe-debug.md +2 -2
- package/.cursor/commands/oxe-discuss.md +2 -2
- package/.cursor/commands/oxe-execute.md +5 -2
- package/.cursor/commands/oxe-forensics.md +2 -2
- package/.cursor/commands/oxe-help.md +2 -2
- package/.cursor/commands/oxe-loop.md +2 -2
- package/.cursor/commands/oxe-milestone.md +2 -2
- package/.cursor/commands/oxe-next.md +2 -2
- package/.cursor/commands/oxe-obs.md +2 -2
- package/.cursor/commands/oxe-plan-agent.md +2 -2
- package/.cursor/commands/oxe-plan.md +2 -2
- package/.cursor/commands/oxe-project.md +2 -2
- package/.cursor/commands/oxe-quick.md +2 -2
- package/.cursor/commands/oxe-research.md +2 -2
- package/.cursor/commands/oxe-retro.md +2 -2
- package/.cursor/commands/oxe-review-pr.md +2 -2
- package/.cursor/commands/oxe-route.md +2 -2
- package/.cursor/commands/oxe-scan.md +2 -2
- package/.cursor/commands/oxe-security.md +2 -2
- package/.cursor/commands/oxe-session.md +2 -2
- package/.cursor/commands/oxe-ship.md +2 -2
- package/.cursor/commands/oxe-skill.md +2 -2
- package/.cursor/commands/oxe-spec.md +2 -2
- package/.cursor/commands/oxe-ui-review.md +2 -2
- package/.cursor/commands/oxe-ui-spec.md +2 -2
- package/.cursor/commands/oxe-update.md +2 -2
- package/.cursor/commands/oxe-validate-gaps.md +2 -2
- package/.cursor/commands/oxe-verify.md +5 -2
- package/.cursor/commands/oxe-workstream.md +2 -2
- package/.cursor/commands/oxe.md +2 -2
- package/.github/copilot-instructions.md +13 -13
- package/.github/prompts/oxe-ask.prompt.md +2 -2
- package/.github/prompts/oxe-capabilities.prompt.md +2 -2
- package/.github/prompts/oxe-checkpoint.prompt.md +2 -2
- package/.github/prompts/oxe-compact.prompt.md +2 -2
- package/.github/prompts/oxe-dashboard.prompt.md +2 -2
- package/.github/prompts/oxe-debug.prompt.md +2 -2
- package/.github/prompts/oxe-discuss.prompt.md +2 -2
- package/.github/prompts/oxe-execute.prompt.md +5 -2
- package/.github/prompts/oxe-forensics.prompt.md +2 -2
- package/.github/prompts/oxe-help.prompt.md +2 -2
- package/.github/prompts/oxe-loop.prompt.md +2 -2
- package/.github/prompts/oxe-milestone.prompt.md +2 -2
- package/.github/prompts/oxe-next.prompt.md +2 -2
- package/.github/prompts/oxe-obs.prompt.md +2 -2
- package/.github/prompts/oxe-plan-agent.prompt.md +2 -2
- package/.github/prompts/oxe-plan.prompt.md +2 -2
- package/.github/prompts/oxe-project.prompt.md +2 -2
- package/.github/prompts/oxe-quick.prompt.md +2 -2
- package/.github/prompts/oxe-research.prompt.md +2 -2
- package/.github/prompts/oxe-retro.prompt.md +2 -2
- package/.github/prompts/oxe-review-pr.prompt.md +2 -2
- package/.github/prompts/oxe-route.prompt.md +2 -2
- package/.github/prompts/oxe-scan.prompt.md +2 -2
- package/.github/prompts/oxe-security.prompt.md +2 -2
- package/.github/prompts/oxe-session.prompt.md +2 -2
- package/.github/prompts/oxe-ship.prompt.md +2 -2
- package/.github/prompts/oxe-skill.prompt.md +2 -2
- package/.github/prompts/oxe-spec.prompt.md +2 -2
- package/.github/prompts/oxe-ui-review.prompt.md +2 -2
- package/.github/prompts/oxe-ui-spec.prompt.md +2 -2
- package/.github/prompts/oxe-update.prompt.md +2 -2
- package/.github/prompts/oxe-validate-gaps.prompt.md +2 -2
- package/.github/prompts/oxe-verify.prompt.md +5 -2
- package/.github/prompts/oxe-workstream.prompt.md +2 -2
- package/.github/prompts/oxe.prompt.md +2 -2
- package/AGENTS.md +5 -3
- package/CHANGELOG.md +72 -10
- package/LICENSE +21 -674
- package/README.md +631 -535
- package/bin/banner.txt +6 -6
- 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 +2 -2
- package/commands/oxe/capabilities.md +2 -2
- package/commands/oxe/checkpoint.md +2 -2
- package/commands/oxe/compact.md +2 -2
- package/commands/oxe/dashboard.md +2 -2
- package/commands/oxe/debug.md +2 -2
- package/commands/oxe/discuss.md +2 -2
- package/commands/oxe/execute.md +5 -2
- package/commands/oxe/forensics.md +2 -2
- package/commands/oxe/help.md +2 -2
- package/commands/oxe/loop.md +2 -2
- package/commands/oxe/milestone.md +2 -2
- package/commands/oxe/next.md +2 -2
- package/commands/oxe/obs.md +2 -2
- package/commands/oxe/oxe.md +2 -2
- package/commands/oxe/plan-agent.md +2 -2
- package/commands/oxe/plan.md +2 -2
- package/commands/oxe/project.md +2 -2
- package/commands/oxe/quick.md +2 -2
- package/commands/oxe/research.md +2 -2
- package/commands/oxe/retro.md +2 -2
- package/commands/oxe/review-pr.md +2 -2
- package/commands/oxe/route.md +2 -2
- package/commands/oxe/scan.md +2 -2
- package/commands/oxe/security.md +2 -2
- package/commands/oxe/session.md +2 -2
- package/commands/oxe/ship.md +2 -2
- package/commands/oxe/skill.md +2 -2
- package/commands/oxe/spec.md +2 -2
- package/commands/oxe/ui-review.md +2 -2
- package/commands/oxe/ui-spec.md +2 -2
- package/commands/oxe/update.md +2 -2
- package/commands/oxe/validate-gaps.md +2 -2
- package/commands/oxe/verify.md +5 -2
- package/commands/oxe/workstream.md +2 -2
- 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 +1 -0
- package/lib/runtime/delivery/index.js +1 -0
- package/lib/runtime/delivery/promotion-pipeline.d.ts +26 -2
- package/lib/runtime/delivery/promotion-pipeline.js +111 -14
- 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 +2 -2
- package/lib/runtime/index.js +3 -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 +5 -0
- package/lib/runtime/plugins/capability-matrix.js +48 -17
- package/lib/runtime/plugins/index.d.ts +1 -0
- package/lib/runtime/plugins/index.js +1 -0
- package/lib/runtime/plugins/plugin-abi.d.ts +2 -0
- package/lib/runtime/plugins/plugin-manifest.d.ts +1 -1
- package/lib/runtime/plugins/plugin-manifest.js +6 -2
- package/lib/runtime/plugins/plugin-registry.d.ts +46 -0
- package/lib/runtime/plugins/plugin-registry.js +79 -2
- package/lib/runtime/policy/policy-engine.d.ts +19 -0
- package/lib/runtime/policy/policy-engine.js +76 -4
- package/lib/runtime/projection/projection-engine.d.ts +9 -1
- package/lib/runtime/projection/projection-engine.js +73 -3
- package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +43 -1
- package/lib/runtime/scheduler/multi-agent-coordinator.js +151 -39
- package/lib/runtime/scheduler/run-journal.d.ts +1 -1
- package/lib/runtime/scheduler/scheduler.d.ts +19 -1
- package/lib/runtime/scheduler/scheduler.js +258 -13
- 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 +9 -0
- package/lib/runtime/verification/verification-manifest.js +56 -6
- 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 +20 -8
- 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 -96
- package/oxe/workflows/capabilities.md +25 -25
- package/oxe/workflows/dashboard.md +33 -33
- package/oxe/workflows/discuss.md +12 -12
- package/oxe/workflows/execute.md +14 -0
- package/oxe/workflows/help.md +352 -352
- package/oxe/workflows/next.md +22 -22
- package/oxe/workflows/oxe.md +6 -6
- package/oxe/workflows/plan-agent.md +9 -9
- package/oxe/workflows/plan.md +51 -20
- 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 -930
- package/oxe/workflows/route.md +16 -16
- package/oxe/workflows/session.md +213 -213
- package/oxe/workflows/ship.md +142 -142
- package/oxe/workflows/skill.md +44 -44
- package/oxe/workflows/ui-review.md +36 -36
- package/oxe/workflows/verify-audit.md +73 -73
- package/oxe/workflows/verify.md +10 -0
- package/package.json +92 -92
- package/packages/runtime/package.json +16 -15
- package/packages/runtime/src/audit/audit-trail.ts +243 -243
- package/packages/runtime/src/audit/index.ts +2 -2
- package/packages/runtime/src/audit/policy-pack.ts +62 -62
- 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 -259
- package/packages/runtime/src/context/context-pack-store.ts +197 -197
- package/packages/runtime/src/context/context-profiles.ts +60 -60
- package/packages/runtime/src/context/index.ts +3 -3
- package/packages/runtime/src/decision/decision-engine.ts +174 -174
- package/packages/runtime/src/decision/decision-memo.ts +211 -211
- package/packages/runtime/src/decision/index.ts +2 -2
- 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 -4
- package/packages/runtime/src/delivery/pr-manager.ts +112 -112
- package/packages/runtime/src/delivery/promotion-pipeline.ts +334 -180
- 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 -37
- 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 -83
- package/packages/runtime/src/plugins/index.ts +5 -4
- package/packages/runtime/src/plugins/plugin-abi.ts +97 -95
- package/packages/runtime/src/plugins/plugin-manifest.ts +118 -113
- package/packages/runtime/src/plugins/plugin-registry.ts +232 -124
- package/packages/runtime/src/policy/index.ts +1 -1
- package/packages/runtime/src/policy/policy-engine.ts +330 -244
- 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 -269
- package/packages/runtime/src/scheduler/agent-registry.ts +132 -132
- package/packages/runtime/src/scheduler/agent-roles.ts +109 -109
- package/packages/runtime/src/scheduler/index.ts +4 -4
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +521 -333
- package/packages/runtime/src/scheduler/run-journal.ts +62 -62
- package/packages/runtime/src/scheduler/scheduler.ts +722 -441
- package/packages/runtime/src/verification/index.ts +2 -2
- package/packages/runtime/src/verification/verification-compiler.ts +436 -225
- package/packages/runtime/src/verification/verification-manifest.ts +252 -192
- 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/LICENSE +21 -0
- package/vscode-extension/oxe-agents-1.0.0.vsix +0 -0
- package/vscode-extension/oxe-agents-1.4.0.vsix +0 -0
- package/vscode-extension/package.json +184 -184
- 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
|
@@ -6,13 +6,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.classifyFailure = classifyFailure;
|
|
7
7
|
exports.buildManifest = buildManifest;
|
|
8
8
|
exports.buildRiskLedger = buildRiskLedger;
|
|
9
|
+
exports.summarizeEvidenceCoverage = summarizeEvidenceCoverage;
|
|
9
10
|
exports.saveManifest = saveManifest;
|
|
10
11
|
exports.loadManifest = loadManifest;
|
|
11
12
|
exports.saveRiskLedger = saveRiskLedger;
|
|
12
13
|
exports.loadRiskLedger = loadRiskLedger;
|
|
14
|
+
exports.saveEvidenceCoverage = saveEvidenceCoverage;
|
|
15
|
+
exports.loadEvidenceCoverage = loadEvidenceCoverage;
|
|
13
16
|
const crypto_1 = __importDefault(require("crypto"));
|
|
14
17
|
const path_1 = __importDefault(require("path"));
|
|
15
18
|
const fs_1 = __importDefault(require("fs"));
|
|
19
|
+
function runDir(projectRoot, runId) {
|
|
20
|
+
return path_1.default.join(projectRoot, '.oxe', 'runs', runId);
|
|
21
|
+
}
|
|
22
|
+
function manifestPath(projectRoot, runId) {
|
|
23
|
+
return path_1.default.join(runDir(projectRoot, runId), 'verification-manifest.json');
|
|
24
|
+
}
|
|
25
|
+
function riskLedgerPath(projectRoot, runId) {
|
|
26
|
+
return path_1.default.join(runDir(projectRoot, runId), 'residual-risk-ledger.json');
|
|
27
|
+
}
|
|
28
|
+
function legacyRiskLedgerPath(projectRoot, runId) {
|
|
29
|
+
return path_1.default.join(runDir(projectRoot, runId), 'residual-risks.json');
|
|
30
|
+
}
|
|
31
|
+
function evidenceCoveragePath(projectRoot, runId) {
|
|
32
|
+
return path_1.default.join(runDir(projectRoot, runId), 'evidence-coverage.json');
|
|
33
|
+
}
|
|
16
34
|
const PROFILE_REQUIRED_CHECKS = {
|
|
17
35
|
quick: ['deterministic'],
|
|
18
36
|
standard: ['deterministic', 'policy_failure'],
|
|
@@ -95,13 +113,25 @@ function buildRiskLedger(runId, manifest) {
|
|
|
95
113
|
risks,
|
|
96
114
|
};
|
|
97
115
|
}
|
|
116
|
+
function summarizeEvidenceCoverage(manifest) {
|
|
117
|
+
const totalChecks = manifest.checks.length;
|
|
118
|
+
const checksWithEvidence = manifest.checks.filter((check) => check.evidence_refs.length > 0).length;
|
|
119
|
+
const totalEvidenceRefs = manifest.checks.reduce((sum, check) => sum + check.evidence_refs.length, 0);
|
|
120
|
+
const coveragePercent = totalChecks === 0 ? 100 : Math.round((checksWithEvidence / totalChecks) * 100);
|
|
121
|
+
return {
|
|
122
|
+
total_checks: totalChecks,
|
|
123
|
+
checks_with_evidence: checksWithEvidence,
|
|
124
|
+
total_evidence_refs: totalEvidenceRefs,
|
|
125
|
+
coverage_percent: coveragePercent,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
98
128
|
function saveManifest(projectRoot, runId, manifest) {
|
|
99
|
-
const p =
|
|
129
|
+
const p = manifestPath(projectRoot, runId);
|
|
100
130
|
fs_1.default.mkdirSync(path_1.default.dirname(p), { recursive: true });
|
|
101
131
|
fs_1.default.writeFileSync(p, JSON.stringify(manifest, null, 2), 'utf8');
|
|
102
132
|
}
|
|
103
133
|
function loadManifest(projectRoot, runId) {
|
|
104
|
-
const p =
|
|
134
|
+
const p = manifestPath(projectRoot, runId);
|
|
105
135
|
if (!fs_1.default.existsSync(p))
|
|
106
136
|
return null;
|
|
107
137
|
try {
|
|
@@ -112,12 +142,32 @@ function loadManifest(projectRoot, runId) {
|
|
|
112
142
|
}
|
|
113
143
|
}
|
|
114
144
|
function saveRiskLedger(projectRoot, runId, ledger) {
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
fs_1.default.
|
|
145
|
+
const canonical = riskLedgerPath(projectRoot, runId);
|
|
146
|
+
const legacy = legacyRiskLedgerPath(projectRoot, runId);
|
|
147
|
+
fs_1.default.mkdirSync(path_1.default.dirname(canonical), { recursive: true });
|
|
148
|
+
fs_1.default.writeFileSync(canonical, JSON.stringify(ledger, null, 2), 'utf8');
|
|
149
|
+
fs_1.default.writeFileSync(legacy, JSON.stringify(ledger, null, 2), 'utf8');
|
|
118
150
|
}
|
|
119
151
|
function loadRiskLedger(projectRoot, runId) {
|
|
120
|
-
const
|
|
152
|
+
const canonical = riskLedgerPath(projectRoot, runId);
|
|
153
|
+
const legacy = legacyRiskLedgerPath(projectRoot, runId);
|
|
154
|
+
const p = fs_1.default.existsSync(canonical) ? canonical : legacy;
|
|
155
|
+
if (!fs_1.default.existsSync(p))
|
|
156
|
+
return null;
|
|
157
|
+
try {
|
|
158
|
+
return JSON.parse(fs_1.default.readFileSync(p, 'utf8'));
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
function saveEvidenceCoverage(projectRoot, runId, coverage) {
|
|
165
|
+
const p = evidenceCoveragePath(projectRoot, runId);
|
|
166
|
+
fs_1.default.mkdirSync(path_1.default.dirname(p), { recursive: true });
|
|
167
|
+
fs_1.default.writeFileSync(p, JSON.stringify(coverage, null, 2), 'utf8');
|
|
168
|
+
}
|
|
169
|
+
function loadEvidenceCoverage(projectRoot, runId) {
|
|
170
|
+
const p = evidenceCoveragePath(projectRoot, runId);
|
|
121
171
|
if (!fs_1.default.existsSync(p))
|
|
122
172
|
return null;
|
|
123
173
|
try {
|
|
@@ -14,6 +14,7 @@ export declare class EphemeralContainerManager implements WorkspaceManager {
|
|
|
14
14
|
private containerIds;
|
|
15
15
|
private useFallback;
|
|
16
16
|
constructor(projectRoot: string, opts?: ContainerOptions);
|
|
17
|
+
get isolation_level(): 'shared' | 'isolated';
|
|
17
18
|
get usingFallback(): boolean;
|
|
18
19
|
allocate(req: WorkspaceRequest): Promise<WorkspaceLease>;
|
|
19
20
|
snapshot(id: string): Promise<SnapshotRef>;
|
|
@@ -30,6 +30,9 @@ class EphemeralContainerManager {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
get isolation_level() {
|
|
34
|
+
return this.useFallback ? this.fallbackManager.isolation_level : 'isolated';
|
|
35
|
+
}
|
|
33
36
|
get usingFallback() { return this.useFallback; }
|
|
34
37
|
async allocate(req) {
|
|
35
38
|
if (this.useFallback)
|
|
@@ -56,6 +59,7 @@ class EphemeralContainerManager {
|
|
|
56
59
|
return {
|
|
57
60
|
workspace_id: wsId,
|
|
58
61
|
strategy: 'ephemeral_container',
|
|
62
|
+
isolation_level: this.isolation_level,
|
|
59
63
|
branch: null,
|
|
60
64
|
base_commit: null,
|
|
61
65
|
root_path: `docker:${containerId}:${this.opts.mountPath}`,
|
|
@@ -2,6 +2,7 @@ import type { WorkspaceManager, WorkspaceRequest } from '../workspace-manager';
|
|
|
2
2
|
import type { WorkspaceLease, SnapshotRef } from '../../models/workspace';
|
|
3
3
|
export declare class GitWorktreeManager implements WorkspaceManager {
|
|
4
4
|
private readonly projectRoot;
|
|
5
|
+
readonly isolation_level: "isolated";
|
|
5
6
|
private leases;
|
|
6
7
|
constructor(projectRoot: string);
|
|
7
8
|
allocate(req: WorkspaceRequest): Promise<WorkspaceLease>;
|
|
@@ -11,6 +11,7 @@ const crypto_1 = __importDefault(require("crypto"));
|
|
|
11
11
|
class GitWorktreeManager {
|
|
12
12
|
constructor(projectRoot) {
|
|
13
13
|
this.projectRoot = projectRoot;
|
|
14
|
+
this.isolation_level = 'isolated';
|
|
14
15
|
this.leases = new Map();
|
|
15
16
|
}
|
|
16
17
|
async allocate(req) {
|
|
@@ -24,6 +25,7 @@ class GitWorktreeManager {
|
|
|
24
25
|
const lease = {
|
|
25
26
|
workspace_id: wsId,
|
|
26
27
|
strategy: 'git_worktree',
|
|
28
|
+
isolation_level: this.isolation_level,
|
|
27
29
|
branch,
|
|
28
30
|
base_commit: baseCommit,
|
|
29
31
|
root_path: worktreePath,
|
|
@@ -2,6 +2,7 @@ import type { WorkspaceManager, WorkspaceRequest } from '../workspace-manager';
|
|
|
2
2
|
import type { WorkspaceLease, SnapshotRef } from '../../models/workspace';
|
|
3
3
|
export declare class InplaceWorkspaceManager implements WorkspaceManager {
|
|
4
4
|
private readonly projectRoot;
|
|
5
|
+
readonly isolation_level: "shared";
|
|
5
6
|
constructor(projectRoot: string);
|
|
6
7
|
allocate(req: WorkspaceRequest): Promise<WorkspaceLease>;
|
|
7
8
|
snapshot(id: string): Promise<SnapshotRef>;
|
|
@@ -8,11 +8,13 @@ const crypto_1 = __importDefault(require("crypto"));
|
|
|
8
8
|
class InplaceWorkspaceManager {
|
|
9
9
|
constructor(projectRoot) {
|
|
10
10
|
this.projectRoot = projectRoot;
|
|
11
|
+
this.isolation_level = 'shared';
|
|
11
12
|
}
|
|
12
13
|
async allocate(req) {
|
|
13
14
|
return {
|
|
14
15
|
workspace_id: `ws-inplace-${req.work_item_id}-a${req.attempt_number}`,
|
|
15
16
|
strategy: 'inplace',
|
|
17
|
+
isolation_level: this.isolation_level,
|
|
16
18
|
branch: null,
|
|
17
19
|
base_commit: null,
|
|
18
20
|
root_path: this.projectRoot,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WorkspaceLease, SnapshotRef, WorkspaceStrategy } from '../models/workspace';
|
|
1
|
+
import type { WorkspaceLease, SnapshotRef, WorkspaceStrategy, WorkspaceIsolationLevel } from '../models/workspace';
|
|
2
2
|
export interface WorkspaceRequest {
|
|
3
3
|
work_item_id: string;
|
|
4
4
|
attempt_number: number;
|
|
@@ -6,6 +6,7 @@ export interface WorkspaceRequest {
|
|
|
6
6
|
mutation_scope: string[];
|
|
7
7
|
}
|
|
8
8
|
export interface WorkspaceManager {
|
|
9
|
+
readonly isolation_level: WorkspaceIsolationLevel;
|
|
9
10
|
allocate(req: WorkspaceRequest): Promise<WorkspaceLease>;
|
|
10
11
|
snapshot(id: string): Promise<SnapshotRef>;
|
|
11
12
|
reset(id: string, snapRef: SnapshotRef): Promise<void>;
|
package/lib/sdk/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OXE SDK (`oxe-cc`)
|
|
2
2
|
|
|
3
|
-
API programática estável para scripts, CI e integrações. O binário `oxe-cc` usa os mesmos módulos em `bin/lib
|
|
3
|
+
API programática estável para scripts, CI e integrações. O binário `oxe-cc` usa os mesmos módulos em `bin/lib/` e reexporta bridges do runtime enterprise.
|
|
4
4
|
|
|
5
5
|
## Instalação
|
|
6
6
|
|
|
@@ -46,10 +46,11 @@ const { options, warnings: w } = oxe.install.resolveOptionsFromConfig(dir, {
|
|
|
46
46
|
| **Meta** | `version`, `name`, `PACKAGE_ROOT`, `readPackageMeta`, `readMinNode` |
|
|
47
47
|
| **health** | `loadOxeConfigMerged`, `validateConfigShape`, `buildHealthReport`, `suggestNextStep`, `oxePaths`, constantes de config |
|
|
48
48
|
| **workflows** | `resolveWorkflowsDir`, `listWorkflowMdFiles`, `diffWorkflows`, `validateWorkflowShapes` (avisos `WORKFLOW_SHAPE`) |
|
|
49
|
-
| **install** | `resolveOptionsFromConfig` |
|
|
49
|
+
| **install** | `resolveOptionsFromConfig` |
|
|
50
50
|
| **manifest** | `loadFileManifest`, `writeFileManifest`, `sha256File`, `collectFilesRecursive` |
|
|
51
51
|
| **agents** | `adjustWorkflowPathsForNestedLayout`, `parseCursorCommandFrontmatter` |
|
|
52
52
|
| **azure** | `azurePaths`, `detectAzureCli`, `loadAzureProfile`, `syncAzureInventory`, `planAzureOperation`, `applyAzureOperation`, `azureDoctor` |
|
|
53
|
+
| **runtime / operational** | `buildRuntimePluginRegistry`, `readRuntimeGates`, `resolveRuntimeGate`, `runRuntimeVerify`, `runRuntimePromotion`, `recoverRuntimeState`, `replayRuntimeState`, `readRuntimeMultiAgentStatus`, `multiAgentStatus` |
|
|
53
54
|
| **doctor** | `runDoctorChecks` — resultado estruturado (erros + avisos + diff de workflows + `workflowShape` com lint leve dos `.md`) |
|
|
54
55
|
|
|
55
56
|
TypeScript: ver `index.d.ts` junto deste ficheiro.
|
|
@@ -57,12 +58,23 @@ TypeScript: ver `index.d.ts` junto deste ficheiro.
|
|
|
57
58
|
## `health.buildHealthReport` e `parseLastCompactDate`
|
|
58
59
|
|
|
59
60
|
- **`parseLastCompactDate(stateText)`** — lê a data em **`.oxe/STATE.md`** na secção **Último compact** (mesma convenção que **Último scan**). Devolve `Date | null` se a linha for placeholder ou ilegível.
|
|
60
|
-
- **`buildHealthReport(projectRoot)`** — agrega fase, datas, avisos de SPEC/PLAN/VERIFY e o próximo passo sugerido. Campos usados em CI e em `oxe-cc status --json`:
|
|
61
|
-
- **`scanDate`**, **`stale`** — último scan e idade face a `scan_max_age_days` (`stale: { stale, days }`).
|
|
62
|
-
- **`compactDate`**, **`staleCompact`** — último compact e idade face a `compact_max_age_days`.
|
|
63
|
-
- **`azureActive`**, **`azure`** — contexto Azure resolvido, inventário materializado, warnings e pendências do provider.
|
|
64
|
-
- **`next`** — `{ step, cursorCmd, reason, artifacts }` (espelha a lógica de `suggestNextStep`).
|
|
61
|
+
- **`buildHealthReport(projectRoot)`** — agrega fase, datas, avisos de SPEC/PLAN/VERIFY e o próximo passo sugerido. Campos usados em CI e em `oxe-cc status --json`:
|
|
62
|
+
- **`scanDate`**, **`stale`** — último scan e idade face a `scan_max_age_days` (`stale: { stale, days }`).
|
|
63
|
+
- **`compactDate`**, **`staleCompact`** — último compact e idade face a `compact_max_age_days`.
|
|
64
|
+
- **`azureActive`**, **`azure`** — contexto Azure resolvido, inventário materializado, warnings e pendências do provider.
|
|
65
|
+
- **`next`** — `{ step, cursorCmd, reason, artifacts }` (espelha a lógica de `suggestNextStep`).
|
|
65
66
|
|
|
66
67
|
## `runDoctorChecks` e relatório de saúde
|
|
67
68
|
|
|
68
|
-
O resultado inclui **`healthReport`** com a mesma forma que `buildHealthReport` — útil em pipelines para falhar ou avisar quando `healthReport.stale.stale` ou `healthReport.staleCompact.stale` é verdadeiro (alinhado aos avisos do `oxe-cc doctor`).
|
|
69
|
+
O resultado inclui **`healthReport`** com a mesma forma que `buildHealthReport` — útil em pipelines para falhar ou avisar quando `healthReport.stale.stale` ou `healthReport.staleCompact.stale` é verdadeiro (alinhado aos avisos do `oxe-cc doctor`).
|
|
70
|
+
|
|
71
|
+
## Helpers enterprise de release
|
|
72
|
+
|
|
73
|
+
O SDK já expõe os helpers usados pela operação enterprise do OXE:
|
|
74
|
+
|
|
75
|
+
- `verifyRun(...)` — verify executável com evidence store, manifest e residual risk
|
|
76
|
+
- `operational.readRuntimeGates(...)` / `operational.resolveRuntimeGate(...)`
|
|
77
|
+
- `operational.recoverRuntimeState(...)` / `operational.replayRuntimeState(...)`
|
|
78
|
+
- `operational.readRuntimeMultiAgentStatus(...)` / `operational.multiAgentStatus(...)`
|
|
79
|
+
|
|
80
|
+
Use esses helpers quando quiser integrar gates, verify, recovery e multi-agent a scripts de CI, automações internas ou observabilidade.
|
package/lib/sdk/index.cjs
CHANGED
|
@@ -648,22 +648,31 @@ module.exports = {
|
|
|
648
648
|
operationalPaths: operational.operationalPaths,
|
|
649
649
|
appendEvent: operational.appendEvent,
|
|
650
650
|
readEvents: operational.readEvents,
|
|
651
|
-
summarizeEvents: operational.summarizeEvents,
|
|
652
|
-
writeRunState: operational.writeRunState,
|
|
653
|
-
readRunState: operational.readRunState,
|
|
654
|
-
buildOperationalGraph: operational.buildOperationalGraph,
|
|
655
|
-
serializeCanonicalState: operational.serializeCanonicalState,
|
|
656
|
-
hydrateCanonicalState: operational.hydrateCanonicalState,
|
|
657
|
-
reduceCanonicalRunState: operational.reduceCanonicalRunState,
|
|
658
|
-
compileExecutionGraphFromArtifacts: operational.compileExecutionGraphFromArtifacts,
|
|
659
|
-
compileVerificationSuiteFromArtifacts: operational.compileVerificationSuiteFromArtifacts,
|
|
660
|
-
projectRuntimeArtifacts: operational.projectRuntimeArtifacts,
|
|
661
|
-
runRuntimeCiChecks: operational.runRuntimeCiChecks,
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
651
|
+
summarizeEvents: operational.summarizeEvents,
|
|
652
|
+
writeRunState: operational.writeRunState,
|
|
653
|
+
readRunState: operational.readRunState,
|
|
654
|
+
buildOperationalGraph: operational.buildOperationalGraph,
|
|
655
|
+
serializeCanonicalState: operational.serializeCanonicalState,
|
|
656
|
+
hydrateCanonicalState: operational.hydrateCanonicalState,
|
|
657
|
+
reduceCanonicalRunState: operational.reduceCanonicalRunState,
|
|
658
|
+
compileExecutionGraphFromArtifacts: operational.compileExecutionGraphFromArtifacts,
|
|
659
|
+
compileVerificationSuiteFromArtifacts: operational.compileVerificationSuiteFromArtifacts,
|
|
660
|
+
projectRuntimeArtifacts: operational.projectRuntimeArtifacts,
|
|
661
|
+
runRuntimeCiChecks: operational.runRuntimeCiChecks,
|
|
662
|
+
buildRuntimePluginRegistry: operational.buildRuntimePluginRegistry,
|
|
663
|
+
readRuntimeGates: operational.readRuntimeGates,
|
|
664
|
+
resolveRuntimeGate: operational.resolveRuntimeGate,
|
|
665
|
+
runRuntimeVerify: operational.runRuntimeVerify,
|
|
666
|
+
runRuntimePromotion: operational.runRuntimePromotion,
|
|
667
|
+
recoverRuntimeState: operational.recoverRuntimeState,
|
|
668
|
+
applyRuntimeAction: operational.applyRuntimeAction,
|
|
669
|
+
parseCapabilityManifest: operational.parseCapabilityManifest,
|
|
670
|
+
readCapabilityCatalog: operational.readCapabilityCatalog,
|
|
665
671
|
buildMemoryLayers: operational.buildMemoryLayers,
|
|
666
672
|
replayEvents: operational.replayEvents,
|
|
673
|
+
replayRuntimeState: operational.replayRuntimeState,
|
|
674
|
+
readRuntimeMultiAgentStatus: operational.readRuntimeMultiAgentStatus,
|
|
675
|
+
multiAgentStatus: operational.readRuntimeMultiAgentStatus,
|
|
667
676
|
},
|
|
668
677
|
|
|
669
678
|
/** Context Engine V2: seleção, compressão e inspeção determinística de artefatos. */
|
|
@@ -742,13 +751,13 @@ module.exports = {
|
|
|
742
751
|
/** Um único objeto com verificações tipo `doctor` + relatório de saúde. */
|
|
743
752
|
runDoctorChecks,
|
|
744
753
|
};
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
// Re-exports from @oxe/runtime (R1 — Runtime Foundation)
|
|
748
|
-
// The compiled runtime lives at lib/runtime/ alongside this file.
|
|
749
|
-
try {
|
|
750
|
-
const runtime = require('../runtime/index.js');
|
|
751
|
-
Object.assign(module.exports, runtime);
|
|
752
|
-
} catch {
|
|
753
|
-
// Runtime not built yet — safe to skip during development
|
|
754
|
-
}
|
|
754
|
+
|
|
755
|
+
|
|
756
|
+
// Re-exports from @oxe/runtime (R1 — Runtime Foundation)
|
|
757
|
+
// The compiled runtime lives at lib/runtime/ alongside this file.
|
|
758
|
+
try {
|
|
759
|
+
const runtime = require('../runtime/index.js');
|
|
760
|
+
Object.assign(module.exports, runtime);
|
|
761
|
+
} catch {
|
|
762
|
+
// Runtime not built yet — safe to skip during development
|
|
763
|
+
}
|
package/lib/sdk/index.d.ts
CHANGED
|
@@ -100,6 +100,111 @@ export interface CopilotIntegrationReport {
|
|
|
100
100
|
warnings: string[];
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
+
export interface VerificationSummary {
|
|
104
|
+
total: number;
|
|
105
|
+
pass: number;
|
|
106
|
+
fail: number;
|
|
107
|
+
skip: number;
|
|
108
|
+
error: number;
|
|
109
|
+
allPassed: boolean;
|
|
110
|
+
profile: string | null;
|
|
111
|
+
manifestPath: string;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface ResidualRiskSummary {
|
|
115
|
+
total: number;
|
|
116
|
+
highOrCritical: number;
|
|
117
|
+
ledgerPath: string;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface EvidenceCoverageSummary {
|
|
121
|
+
total_checks: number;
|
|
122
|
+
checks_with_evidence: number;
|
|
123
|
+
total_evidence_refs: number;
|
|
124
|
+
coverage_percent: number;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface PendingGatesSummary {
|
|
128
|
+
path: string;
|
|
129
|
+
total: number;
|
|
130
|
+
gateSlaHours?: number;
|
|
131
|
+
staleGateCount?: number;
|
|
132
|
+
pending: Array<Record<string, unknown>>;
|
|
133
|
+
stalePending: Array<Record<string, unknown>>;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface GateQueueSnapshot {
|
|
137
|
+
path: string;
|
|
138
|
+
total: number;
|
|
139
|
+
gate_sla_hours?: number;
|
|
140
|
+
staleCount?: number;
|
|
141
|
+
pending: Array<Record<string, unknown>>;
|
|
142
|
+
stale_pending?: Array<Record<string, unknown>>;
|
|
143
|
+
resolved_recent?: Array<Record<string, unknown>>;
|
|
144
|
+
byRun?: Record<string, number>;
|
|
145
|
+
byScope?: Record<string, number>;
|
|
146
|
+
all?: Array<Record<string, unknown>>;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface MultiAgentStatusSummary {
|
|
150
|
+
path: string | null;
|
|
151
|
+
enabled: boolean;
|
|
152
|
+
runId: string | null;
|
|
153
|
+
mode: string | null;
|
|
154
|
+
workspaceIsolationEnforced: boolean;
|
|
155
|
+
agents: Array<Record<string, unknown>>;
|
|
156
|
+
ownership: Array<Record<string, unknown>>;
|
|
157
|
+
orphanReassignments: Array<Record<string, unknown>>;
|
|
158
|
+
handoffs: Array<Record<string, unknown>>;
|
|
159
|
+
arbitrationResults: Array<Record<string, unknown>>;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export interface PolicyDecisionSummary {
|
|
163
|
+
total: number;
|
|
164
|
+
denied: number;
|
|
165
|
+
gated: number;
|
|
166
|
+
overridesWithoutRationale: number;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface QuotaSummary {
|
|
170
|
+
limits: {
|
|
171
|
+
maxWorkItemsPerRun: number | null;
|
|
172
|
+
maxMutationsPerRun: number | null;
|
|
173
|
+
maxRetriesPerRun: number | null;
|
|
174
|
+
};
|
|
175
|
+
consumed: {
|
|
176
|
+
workItems: number;
|
|
177
|
+
mutations: number;
|
|
178
|
+
retries: number;
|
|
179
|
+
};
|
|
180
|
+
violations: string[];
|
|
181
|
+
exceeded: boolean;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface AuditSummary {
|
|
185
|
+
path: string;
|
|
186
|
+
totalEntries: number;
|
|
187
|
+
runEntries: number;
|
|
188
|
+
warn: number;
|
|
189
|
+
critical: number;
|
|
190
|
+
oldest: string | null;
|
|
191
|
+
newest: string | null;
|
|
192
|
+
actors: string[];
|
|
193
|
+
actions: Record<string, number>;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export interface PromotionSummary {
|
|
197
|
+
status: string | null;
|
|
198
|
+
targetKind: string | null;
|
|
199
|
+
remote: string | null;
|
|
200
|
+
targetRef: string | null;
|
|
201
|
+
prUrl: string | null;
|
|
202
|
+
prNumber: number | null;
|
|
203
|
+
coveragePercent: number | null;
|
|
204
|
+
reasons: string[];
|
|
205
|
+
path: string;
|
|
206
|
+
}
|
|
207
|
+
|
|
103
208
|
/** Relatório retornado por `health.buildHealthReport` e incluído em `runDoctorChecks`.healthReport. */
|
|
104
209
|
export interface OxeHealthReport {
|
|
105
210
|
configPath: string | null;
|
|
@@ -130,6 +235,16 @@ export interface OxeHealthReport {
|
|
|
130
235
|
activeRun?: Record<string, unknown> | null;
|
|
131
236
|
eventsSummary?: Record<string, unknown> | null;
|
|
132
237
|
memoryLayers?: Record<string, unknown> | null;
|
|
238
|
+
verificationSummary?: VerificationSummary | null;
|
|
239
|
+
residualRiskSummary?: ResidualRiskSummary | null;
|
|
240
|
+
evidenceCoverage?: EvidenceCoverageSummary | null;
|
|
241
|
+
pendingGates?: PendingGatesSummary | null;
|
|
242
|
+
policyDecisionSummary?: PolicyDecisionSummary | null;
|
|
243
|
+
enterpriseWarn?: string[];
|
|
244
|
+
quotaSummary?: QuotaSummary | null;
|
|
245
|
+
auditSummary?: AuditSummary | null;
|
|
246
|
+
promotionSummary?: PromotionSummary | null;
|
|
247
|
+
multiAgent?: MultiAgentStatusSummary | null;
|
|
133
248
|
next: OxeNextSuggestion;
|
|
134
249
|
azureActive?: boolean;
|
|
135
250
|
azure?: AzureHealthContext | null;
|
|
@@ -478,6 +593,17 @@ export interface OxeSdk {
|
|
|
478
593
|
parseLessonsMetrics: (metricsJson: string) => LessonMetric[];
|
|
479
594
|
updateLessonMetric: (metrics: LessonMetric[], lessonId: string, outcome: LessonOutcome) => LessonMetric[];
|
|
480
595
|
deprecateLowEffectiveness: (metrics: LessonMetric[], threshold?: number, minObservations?: number) => LessonMetric[];
|
|
596
|
+
verifyRun?: (input: {
|
|
597
|
+
projectRoot: string;
|
|
598
|
+
runId: string;
|
|
599
|
+
workItemId: string;
|
|
600
|
+
cwd: string;
|
|
601
|
+
suite: Record<string, unknown>;
|
|
602
|
+
pluginRegistry?: Record<string, unknown>;
|
|
603
|
+
evidenceStore?: Record<string, unknown>;
|
|
604
|
+
attemptNumber?: number;
|
|
605
|
+
timeoutMs?: number;
|
|
606
|
+
}) => Promise<Record<string, unknown>>;
|
|
481
607
|
|
|
482
608
|
health: {
|
|
483
609
|
loadOxeConfigMerged: (targetProject: string) => { config: Record<string, unknown>; path: string | null; parseError: string | null; sources: { system: string | null; user: string | null; project: string | null } };
|
|
@@ -573,20 +699,26 @@ export interface OxeSdk {
|
|
|
573
699
|
operationalPaths: (projectRoot: string, activeSession: string | null) => Record<string, string | null>;
|
|
574
700
|
appendEvent: (projectRoot: string, activeSession: string | null, event?: Record<string, unknown>) => Record<string, unknown>;
|
|
575
701
|
readEvents: (projectRoot: string, activeSession: string | null) => Array<Record<string, unknown>>;
|
|
576
|
-
summarizeEvents: (events: Array<Record<string, unknown>>) => Record<string, unknown>;
|
|
577
|
-
writeRunState: (projectRoot: string, activeSession: string | null, runState?: Record<string, unknown>) => Record<string, unknown>;
|
|
578
|
-
readRunState: (projectRoot: string, activeSession: string | null) => Record<string, unknown> | null;
|
|
579
|
-
buildOperationalGraph: (runState?: Record<string, unknown>) => { nodes: Array<Record<string, unknown>>; edges: Array<Record<string, unknown>> };
|
|
580
|
-
serializeCanonicalState: (state: unknown) => Record<string, unknown> | null;
|
|
581
|
-
hydrateCanonicalState: (serialized: unknown) => Record<string, unknown>;
|
|
582
|
-
reduceCanonicalRunState: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown> | null;
|
|
583
|
-
compileExecutionGraphFromArtifacts: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
584
|
-
compileVerificationSuiteFromArtifacts: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
585
|
-
projectRuntimeArtifacts: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
586
|
-
runRuntimeCiChecks: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
702
|
+
summarizeEvents: (events: Array<Record<string, unknown>>) => Record<string, unknown>;
|
|
703
|
+
writeRunState: (projectRoot: string, activeSession: string | null, runState?: Record<string, unknown>) => Record<string, unknown>;
|
|
704
|
+
readRunState: (projectRoot: string, activeSession: string | null) => Record<string, unknown> | null;
|
|
705
|
+
buildOperationalGraph: (runState?: Record<string, unknown>) => { nodes: Array<Record<string, unknown>>; edges: Array<Record<string, unknown>> };
|
|
706
|
+
serializeCanonicalState: (state: unknown) => Record<string, unknown> | null;
|
|
707
|
+
hydrateCanonicalState: (serialized: unknown) => Record<string, unknown>;
|
|
708
|
+
reduceCanonicalRunState: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown> | null;
|
|
709
|
+
compileExecutionGraphFromArtifacts: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
710
|
+
compileVerificationSuiteFromArtifacts: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
711
|
+
projectRuntimeArtifacts: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
712
|
+
runRuntimeCiChecks: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
713
|
+
buildRuntimePluginRegistry: (projectRoot: string) => Record<string, unknown> | null;
|
|
714
|
+
readRuntimeGates: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => GateQueueSnapshot;
|
|
715
|
+
resolveRuntimeGate: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
716
|
+
runRuntimeVerify: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
717
|
+
runRuntimePromotion: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
718
|
+
recoverRuntimeState: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
719
|
+
applyRuntimeAction: (projectRoot: string, activeSession: string | null, input?: Record<string, unknown>) => Record<string, unknown>;
|
|
720
|
+
parseCapabilityManifest: (text: string) => Record<string, unknown>;
|
|
721
|
+
readCapabilityCatalog: (projectRoot: string) => Array<Record<string, unknown>>;
|
|
590
722
|
buildMemoryLayers: (projectRoot: string, activeSession: string | null) => Record<string, unknown>;
|
|
591
723
|
replayEvents: (projectRoot: string, activeSession: string | null, options?: {
|
|
592
724
|
fromEventId?: string;
|
|
@@ -595,6 +727,9 @@ export interface OxeSdk {
|
|
|
595
727
|
limit?: number;
|
|
596
728
|
writeReport?: boolean;
|
|
597
729
|
}) => ReplayReport;
|
|
730
|
+
replayRuntimeState: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => Record<string, unknown>;
|
|
731
|
+
readRuntimeMultiAgentStatus: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => MultiAgentStatusSummary;
|
|
732
|
+
multiAgentStatus: (projectRoot: string, activeSession: string | null, options?: Record<string, unknown>) => MultiAgentStatusSummary;
|
|
598
733
|
};
|
|
599
734
|
|
|
600
735
|
azure: {
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
{
|
|
2
|
-
"run_id": "oxe-run-YYYYMMDD-001",
|
|
3
|
-
"status": "planned",
|
|
4
|
-
"created_at": "YYYY-MM-DDTHH:mm:ssZ",
|
|
5
|
-
"updated_at": "YYYY-MM-DDTHH:mm:ssZ",
|
|
6
|
-
"plan_ref": "PLAN.md",
|
|
7
|
-
"session_id": null,
|
|
8
|
-
"current_wave": null,
|
|
9
|
-
"cursor": {
|
|
10
|
-
"wave": null,
|
|
11
|
-
"task": null,
|
|
12
|
-
"mode": null
|
|
13
|
-
},
|
|
14
|
-
"active_tasks": [],
|
|
15
|
-
"pending_checkpoints": [],
|
|
16
|
-
"retries": [],
|
|
17
|
-
"failures": [],
|
|
18
|
-
"evidence": [],
|
|
19
|
-
"provider_context": {
|
|
20
|
-
"azure": null
|
|
21
|
-
},
|
|
22
|
-
"graph": {
|
|
23
|
-
"nodes": [],
|
|
24
|
-
"edges": []
|
|
25
|
-
},
|
|
26
|
-
"metrics": {
|
|
27
|
-
"predicted_confidence": null,
|
|
28
|
-
"coverage_ratio": null,
|
|
29
|
-
"retry_count": 0,
|
|
30
|
-
"checkpoint_count": 0
|
|
31
|
-
}
|
|
32
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"run_id": "oxe-run-YYYYMMDD-001",
|
|
3
|
+
"status": "planned",
|
|
4
|
+
"created_at": "YYYY-MM-DDTHH:mm:ssZ",
|
|
5
|
+
"updated_at": "YYYY-MM-DDTHH:mm:ssZ",
|
|
6
|
+
"plan_ref": "PLAN.md",
|
|
7
|
+
"session_id": null,
|
|
8
|
+
"current_wave": null,
|
|
9
|
+
"cursor": {
|
|
10
|
+
"wave": null,
|
|
11
|
+
"task": null,
|
|
12
|
+
"mode": null
|
|
13
|
+
},
|
|
14
|
+
"active_tasks": [],
|
|
15
|
+
"pending_checkpoints": [],
|
|
16
|
+
"retries": [],
|
|
17
|
+
"failures": [],
|
|
18
|
+
"evidence": [],
|
|
19
|
+
"provider_context": {
|
|
20
|
+
"azure": null
|
|
21
|
+
},
|
|
22
|
+
"graph": {
|
|
23
|
+
"nodes": [],
|
|
24
|
+
"edges": []
|
|
25
|
+
},
|
|
26
|
+
"metrics": {
|
|
27
|
+
"predicted_confidence": null,
|
|
28
|
+
"coverage_ratio": null,
|
|
29
|
+
"retry_count": 0,
|
|
30
|
+
"checkpoint_count": 0
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# OXE — Capabilities Instaladas
|
|
2
|
-
|
|
3
|
-
> Catálogo local de capabilities do projeto. Cada capability vive em `.oxe/capabilities/<id>/`.
|
|
4
|
-
|
|
5
|
-
| ID | Tipo | Status | Escopo | Política | Side effects | Requer env | Evidência | Resumo |
|
|
6
|
-
|----|------|--------|--------|-----------|--------------|------------|-----------|--------|
|
|
7
|
-
| (vazio) | — | — | — | — | — | — | — | Nenhuma capability instalada |
|
|
1
|
+
# OXE — Capabilities Instaladas
|
|
2
|
+
|
|
3
|
+
> Catálogo local de capabilities do projeto. Cada capability vive em `.oxe/capabilities/<id>/`.
|
|
4
|
+
|
|
5
|
+
| ID | Tipo | Status | Escopo | Política | Side effects | Requer env | Evidência | Resumo |
|
|
6
|
+
|----|------|--------|--------|-----------|--------------|------------|-----------|--------|
|
|
7
|
+
| (vazio) | — | — | — | — | — | — | — | Nenhuma capability instalada |
|