@polderlabs/bizar-omp 0.6.8 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/acceptance.d.ts.map +1 -1
- package/dist/core/acceptance.js +16 -3
- package/dist/core/acceptance.js.map +1 -1
- package/dist/core/recovery.d.ts.map +1 -1
- package/dist/core/recovery.js +7 -2
- package/dist/core/recovery.js.map +1 -1
- package/dist/core/redaction.d.ts +22 -0
- package/dist/core/redaction.d.ts.map +1 -0
- package/dist/core/redaction.js +103 -0
- package/dist/core/redaction.js.map +1 -0
- package/dist/core/transitions.js +1 -1
- package/dist/core/transitions.js.map +1 -1
- package/dist/core/types.d.ts +1 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +45 -16
- package/dist/extension.js.map +1 -1
- package/dist/omp/rpc.d.ts +1 -0
- package/dist/omp/rpc.d.ts.map +1 -1
- package/dist/services/candidate-verify.d.ts +0 -1
- package/dist/services/candidate-verify.d.ts.map +1 -1
- package/dist/services/candidate-verify.js +12 -9
- package/dist/services/candidate-verify.js.map +1 -1
- package/dist/storage/lease.d.ts.map +1 -1
- package/dist/storage/lease.js +109 -26
- package/dist/storage/lease.js.map +1 -1
- package/dist/storage/resources.d.ts.map +1 -1
- package/dist/storage/resources.js +49 -22
- package/dist/storage/resources.js.map +1 -1
- package/dist/tools/integrate.d.ts.map +1 -1
- package/dist/tools/integrate.js +24 -10
- package/dist/tools/integrate.js.map +1 -1
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +26 -58
- package/dist/tools/verify.js.map +1 -1
- package/dist/tools/workflow.d.ts.map +1 -1
- package/dist/tools/workflow.js +20 -6
- package/dist/tools/workflow.js.map +1 -1
- package/docs/releases/0.6.8.md +1 -1
- package/package.json +1 -1
- package/schemas/evidence-record.schema.json +29 -3
- package/schemas/workflow-run.schema.json +10 -3
- package/skills/bizar-omp/SKILL.md +2 -1
- package/optional/openkan/index.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,WAAW,kBAAkB;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAAE;
|
|
1
|
+
{"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,WAAW,kBAAkB;IAAG,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAAE;AAmBjN,wBAAsB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgFjH"}
|
package/dist/tools/integrate.js
CHANGED
|
@@ -1,21 +1,35 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { ContractError } from "../core/errors.js";
|
|
2
3
|
import { mkdirSync } from "node:fs";
|
|
3
4
|
import { join } from "node:path";
|
|
4
|
-
import {
|
|
5
|
-
import { evaluateAcceptance } from "../core/acceptance.js";
|
|
5
|
+
import { evaluateAcceptance, canonicalSpecHash } from "../core/acceptance.js";
|
|
6
6
|
import { assertOwner } from "../core/recovery.js";
|
|
7
7
|
import { repositoryIdentity, workingTreeDigest, isDirty } from "../storage/repository-identity.js";
|
|
8
8
|
import { acquireLease } from "../storage/lease.js";
|
|
9
9
|
import { materializeCandidate, observeWorkingTreeTree } from "../services/candidates.js";
|
|
10
10
|
function inScope(path, scopes) { return scopes.some(scope => path === scope || path.startsWith(`${scope.replace(/\/$/, "")}/`)); }
|
|
11
|
-
function
|
|
11
|
+
function resolveRequiredCheckSpecs(run, records, ids) {
|
|
12
12
|
if (ids.length === 0)
|
|
13
13
|
throw new ContractError("Integration requires evidence IDs");
|
|
14
14
|
const requested = ids.map(id => records.find(record => record.id === id.trim()));
|
|
15
15
|
const missing = requested.findIndex(record => !record);
|
|
16
16
|
if (missing !== -1)
|
|
17
17
|
throw new ContractError(`Unknown evidence: ${ids[missing]}`);
|
|
18
|
-
|
|
18
|
+
const specsById = new Map((run.objective.checkSpecs ?? []).map(spec => [spec.id, spec]));
|
|
19
|
+
if (specsById.size === 0)
|
|
20
|
+
throw new ContractError("Integration requires an admitted CheckSpec contract; cannot verify against ad-hoc checks");
|
|
21
|
+
const admitted = Array.from(new Set(requested.map(record => record.checkId)));
|
|
22
|
+
const required = admitted.map(id => {
|
|
23
|
+
const spec = specsById.get(id);
|
|
24
|
+
if (!spec)
|
|
25
|
+
throw new ContractError(`Evidence checkId "${id}" is not admitted in the objective CheckSpec contract`, { admitted: [...specsById.keys()] });
|
|
26
|
+
return { id, spec };
|
|
27
|
+
});
|
|
28
|
+
for (const { spec } of required)
|
|
29
|
+
for (const record of requested.filter(item => item.checkId === spec.id))
|
|
30
|
+
if (record.checkSpecHash && record.checkSpecHash !== canonicalSpecHash(spec))
|
|
31
|
+
throw new ContractError(`Evidence ${record.id} does not match the admitted CheckSpec for ${spec.id}`, { evidenceCheckSpecHash: record.checkSpecHash, specHash: canonicalSpecHash(spec) });
|
|
32
|
+
return required;
|
|
19
33
|
}
|
|
20
34
|
export async function integrate(binding, request) {
|
|
21
35
|
let state = binding.journal.snapshot();
|
|
@@ -38,10 +52,10 @@ export async function integrate(binding, request) {
|
|
|
38
52
|
throw new ContractError("Declared paths do not match the patch");
|
|
39
53
|
const identity = repositoryIdentity(binding.cwd);
|
|
40
54
|
const targetDigest = workingTreeDigest(binding.cwd);
|
|
41
|
-
//
|
|
42
|
-
const
|
|
55
|
+
// R003: resolve requested evidence against the objective's admitted CheckSpecs.
|
|
56
|
+
const requiredChecks = resolveRequiredCheckSpecs(state.run, state.evidence, request.evidenceIds);
|
|
43
57
|
const decision = evaluateAcceptance(state, {
|
|
44
|
-
requiredChecks:
|
|
58
|
+
requiredChecks: requiredChecks.map(entry => entry.spec),
|
|
45
59
|
targetDigest,
|
|
46
60
|
candidateTree: candidate.candidateTree,
|
|
47
61
|
criteria: state.run.objective.criteria,
|
|
@@ -70,10 +84,10 @@ export async function integrate(binding, request) {
|
|
|
70
84
|
if (lockedCandidate.baseTree !== candidate.baseTree || lockedCandidate.candidateTree !== candidate.candidateTree)
|
|
71
85
|
throw new ContractError("Candidate changed while waiting for integration ownership");
|
|
72
86
|
const lockedDigest = workingTreeDigest(binding.cwd);
|
|
73
|
-
// Re-evaluate under lock against fresh state
|
|
74
|
-
const
|
|
87
|
+
// Re-evaluate under lock against fresh state using the admitted CheckSpec contract.
|
|
88
|
+
const lockedChecks = resolveRequiredCheckSpecs(state.run, state.evidence, request.evidenceIds);
|
|
75
89
|
const lockedDecision = evaluateAcceptance(state, {
|
|
76
|
-
requiredChecks:
|
|
90
|
+
requiredChecks: lockedChecks.map(entry => entry.spec),
|
|
77
91
|
targetDigest: lockedDigest,
|
|
78
92
|
candidateTree: lockedCandidate.candidateTree,
|
|
79
93
|
criteria: state.run.objective.criteria,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,MAAM,WAAW,WAAW;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE;AAEpO,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,SAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDhK"}
|
package/dist/tools/verify.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { freezeCheckSpec, canonicalSpecHash } from "../core/acceptance.js";
|
|
2
|
+
import { redactArgv, safeEnvironment, enforceOutputPolicy } from "../core/redaction.js";
|
|
2
3
|
import { execFile } from "node:child_process";
|
|
3
4
|
import { promisify } from "node:util";
|
|
4
5
|
import { randomUUID } from "node:crypto";
|
|
@@ -6,60 +7,7 @@ import { createEvidence } from "../core/evidence.js";
|
|
|
6
7
|
import { repositoryIdentity, workingTreeDigest } from "../storage/repository-identity.js";
|
|
7
8
|
import { ContractError } from "../core/errors.js";
|
|
8
9
|
const execFileAsync = promisify(execFile);
|
|
9
|
-
const SECRET_NAME = /(?:authorization|api[-_]?key|access[-_]?key|token|secret|password|credential|private[-_]?key)/i;
|
|
10
|
-
const SAFE_ENVIRONMENT = new Set([
|
|
11
|
-
"CI", "FORCE_COLOR", "HOME", "LANG", "LC_ALL", "LC_CTYPE", "NO_COLOR", "PATH", "SHELL", "TERM", "TMP", "TEMP", "TMPDIR", "TZ"
|
|
12
|
-
]);
|
|
13
10
|
const MAX_OUTPUT = 100_000;
|
|
14
|
-
// Attempt structural JSON redaction first; fall back to text redaction.
|
|
15
|
-
const tryRedactStructured = (value) => {
|
|
16
|
-
try {
|
|
17
|
-
const parsed = JSON.parse(value);
|
|
18
|
-
let changed = false;
|
|
19
|
-
const redaction = (k, v) => {
|
|
20
|
-
if (typeof v === "string" && SECRET_NAME.test(k)) {
|
|
21
|
-
changed = true;
|
|
22
|
-
return "[REDACTED]";
|
|
23
|
-
}
|
|
24
|
-
if (typeof v === "object" && v !== null) {
|
|
25
|
-
return Array.isArray(v) ? v.map(x => redaction(k, x))
|
|
26
|
-
: Object.fromEntries(Object.entries(v).map(([key, val]) => [key, redaction(key, val)]));
|
|
27
|
-
}
|
|
28
|
-
return v;
|
|
29
|
-
};
|
|
30
|
-
const redacted = JSON.stringify(redaction("", parsed));
|
|
31
|
-
return { redacted, changed };
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return { redacted: value, changed: false };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
const redactText = (value) => value
|
|
38
|
-
.replace(/"(api[_-]?key|access[_-]?key|token|secret|password|credential|private[_-]?key)"\s*:\s*"(?:[^"\\]|\\.)*"/gi, '"$1":"[REDACTED]"')
|
|
39
|
-
.replace(/'(api[_-]?key|access[_-]?key|token|secret|password|credential|private[_-]?key)'\s*:\s*'(?:[^'\\]|\\.)*'/gi, "'$1':'[REDACTED]'")
|
|
40
|
-
.replace(/"(authorization)"\s*:\s*"(?:[^"\\]|\\.)*"/gi, '"$1":"[REDACTED]"')
|
|
41
|
-
.replace(/([Aa]uthorization)\s*:\s*Bearer\s+[A-Za-z0-9._~/-]+/g, "$1: Bearer [REDACTED]")
|
|
42
|
-
.replace(/([Aa]uthorization)\s*:\s*[^\r\n]+/g, "$1: [REDACTED]")
|
|
43
|
-
.replace(/(authorization|api[-_]?key|access[-_]?key|token|secret|password|credential|private[-_]?key)\s*[:=]\s*[^\s,;"']+/gi, "$1=[REDACTED]")
|
|
44
|
-
.replace(/([?&](?:token|secret|api[-_]?key|password|key)=)[^&\s]+/gi, "$1[REDACTED]")
|
|
45
|
-
.replace(/Bearer\s+[A-Za-z0-9._~-]+/gi, "Bearer [REDACTED]")
|
|
46
|
-
.replace(/-----BEGIN ([A-Z ]+ KEY)-----[\s\S]*?-----END \1-----/g, "-----BEGIN $1-----[REDACTED]-----END $1-----");
|
|
47
|
-
const redact = (value) => {
|
|
48
|
-
const { redacted: jsonRedacted, changed } = tryRedactStructured(value);
|
|
49
|
-
if (changed)
|
|
50
|
-
return jsonRedacted;
|
|
51
|
-
return redactText(value);
|
|
52
|
-
};
|
|
53
|
-
const bounded = (value) => {
|
|
54
|
-
const safe = redact(value ?? "");
|
|
55
|
-
return safe.length > MAX_OUTPUT ? `[TRUNCATED]\n${safe.slice(-MAX_OUTPUT)}` : safe;
|
|
56
|
-
};
|
|
57
|
-
const safeCommand = (command) => command.map((part, index) => {
|
|
58
|
-
if (index > 0 && (SECRET_NAME.test(command[index - 1] ?? "") || SECRET_NAME.test(part.split("=", 1)[0] ?? "")))
|
|
59
|
-
return "[REDACTED]";
|
|
60
|
-
return redact(part);
|
|
61
|
-
});
|
|
62
|
-
const safeEnvironment = (environment) => Object.fromEntries(Object.entries(environment).filter(([name]) => SAFE_ENVIRONMENT.has(name)).map(([name, value]) => [name, value ?? ""]));
|
|
63
11
|
export async function runVerification(binding, checkId, command, cwd = binding.cwd, signal) {
|
|
64
12
|
if (!checkId.trim() || !command.length || command.some(part => typeof part !== "string" || part.includes("\0")) || !command[0].trim())
|
|
65
13
|
throw new ContractError("A check ID and nonempty command argv are required");
|
|
@@ -75,7 +23,7 @@ export async function runVerification(binding, checkId, command, cwd = binding.c
|
|
|
75
23
|
throw new ContractError("Verification is blocked by the acknowledged cancellation fence");
|
|
76
24
|
const runId = run.runId;
|
|
77
25
|
const before = workingTreeDigest(cwd);
|
|
78
|
-
const persistedCommand =
|
|
26
|
+
const persistedCommand = redactArgv(command);
|
|
79
27
|
const attemptId = randomUUID();
|
|
80
28
|
const key = (suffix) => `verify:${runId}:${checkId}:${attemptId}:${suffix}`;
|
|
81
29
|
let outcome = "unknown";
|
|
@@ -88,14 +36,34 @@ export async function runVerification(binding, checkId, command, cwd = binding.c
|
|
|
88
36
|
const output = await execFileAsync(command[0], command.slice(1), { cwd, signal, timeout: 10 * 60 * 1000, maxBuffer: 512 * 1024, env: { ...safeEnvironment(process.env), CI: "1" } });
|
|
89
37
|
treeUnchanged = workingTreeDigest(cwd) === before;
|
|
90
38
|
outcome = treeUnchanged ? "passed" : "unknown";
|
|
91
|
-
|
|
92
|
-
|
|
39
|
+
const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, output.stdout ?? "", output.stderr ?? "");
|
|
40
|
+
stdout = sanitized.stdout;
|
|
41
|
+
stderr = sanitized.stderr;
|
|
93
42
|
exitCode = outcome === "passed" ? 0 : 1;
|
|
94
43
|
}
|
|
95
44
|
catch (e) {
|
|
96
|
-
|
|
45
|
+
// R008: classify abort, child exit, and unknown.
|
|
46
|
+
const typed = e;
|
|
47
|
+
if (typed.name === "AbortError" || typed.signal === "SIGTERM" || typed.signal === "SIGINT" || typed.killed || signal?.aborted) {
|
|
48
|
+
outcome = "cancelled";
|
|
49
|
+
exitCode = 130;
|
|
50
|
+
}
|
|
51
|
+
else if (typeof typed.code === "number") {
|
|
52
|
+
outcome = "failed";
|
|
53
|
+
exitCode = typed.code;
|
|
54
|
+
const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, typed.stdout ?? "", typed.stderr ?? `Command failed: ${typed.message ?? String(e)}`);
|
|
55
|
+
stdout = sanitized.stdout;
|
|
56
|
+
stderr = sanitized.stderr;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
outcome = "unknown";
|
|
60
|
+
exitCode = 1;
|
|
61
|
+
const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, "", `Verification could not classify the failure: ${typed.message ?? String(e)}`);
|
|
62
|
+
stdout = sanitized.stdout;
|
|
63
|
+
stderr = sanitized.stderr;
|
|
64
|
+
}
|
|
97
65
|
}
|
|
98
|
-
const spec = freezeCheckSpec({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command
|
|
66
|
+
const spec = freezeCheckSpec({ id: checkId, revision: 1, runner: "argv", argumentTemplate: redactArgv(command), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: 512_000 }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" });
|
|
99
67
|
const evidenceId = `evidence_${attemptId}`;
|
|
100
68
|
const base = createEvidence({ id: evidenceId, runId, type: "test", checkId, command: persistedCommand, cwd, result: outcome, exitCode: outcome === "passed" ? 0 : exitCode, targetDigest: before, inputDigests: {}, stdout, stderr, artifactHashes: [], provenance: { producer: "bizar-verify", source: "host-observed", observedAt: new Date().toISOString() }, checkSpecHash: canonicalSpecHash(spec) });
|
|
101
69
|
binding.journal.append({ type: "evidence.recorded", runId, evidence: base }, key(outcome), run.revision);
|
package/dist/tools/verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAEjJ,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;cAmF3G"}
|
package/dist/tools/workflow.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { readyWorkItems } from "../services/readiness.js";
|
|
2
2
|
import { acceptWorkItem, addWorkItem, completeRun, freezeObjective, transition } from "../core/transitions.js";
|
|
3
3
|
import { requireFreshEvidence } from "../core/evidence.js";
|
|
4
|
-
import { classifyRoute } from "../core/policies.js";
|
|
5
4
|
import { ContractError } from "../core/errors.js";
|
|
5
|
+
import { classifyRoute } from "../core/policies.js";
|
|
6
|
+
import { canonicalSpecHash } from "../core/acceptance.js";
|
|
6
7
|
import { assertOwner } from "../core/recovery.js";
|
|
7
8
|
import { startObjective } from "../omp/lifecycle.js";
|
|
8
9
|
import { workingTreeDigest } from "../storage/repository-identity.js";
|
|
@@ -58,22 +59,35 @@ export function runWorkflow(binding, action, params) {
|
|
|
58
59
|
if (!Array.isArray(evidenceIds))
|
|
59
60
|
throw new ContractError("Evidence IDs are required to accept work");
|
|
60
61
|
const targetDigest = workingTreeDigest(binding.cwd);
|
|
61
|
-
requireFreshEvidence(state.evidence, evidenceIds, targetDigest);
|
|
62
62
|
const item = state.run.workItems.find(candidate => candidate.id === workItemId);
|
|
63
63
|
if (!item)
|
|
64
64
|
throw new ContractError(`Unknown work item: ${workItemId}`);
|
|
65
65
|
if (item.lifecycle !== "settled")
|
|
66
66
|
throw new ContractError(`Work item must be settled before acceptance (current: ${item.lifecycle})`);
|
|
67
|
-
|
|
67
|
+
// R006: require candidate binding + CheckSpec contract enforcement.
|
|
68
|
+
const dispatches = state.dispatches.filter(intent => intent.workItemId === workItemId);
|
|
69
|
+
const dispatch = dispatches.filter(intent => intent.candidateId && intent.candidateTree).at(-1);
|
|
68
70
|
if (!dispatch)
|
|
69
71
|
throw new ContractError("Work item has no recorded dispatch");
|
|
70
72
|
if (dispatch.status !== "settled")
|
|
71
73
|
throw new ContractError(`Work item dispatch must be settled (current: ${dispatch.status})`);
|
|
72
74
|
if (!dispatch.candidateId || !dispatch.candidateTree)
|
|
73
75
|
throw new ContractError("Settled dispatch must reference a candidate");
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
requireFreshEvidence(state.evidence, evidenceIds, targetDigest, { candidateId: dispatch.candidateId, candidateTree: dispatch.candidateTree });
|
|
77
|
+
const acceptedRecords = state.evidence.filter(record => evidenceIds.includes(record.id));
|
|
78
|
+
const specsById = new Map((state.run.objective.checkSpecs ?? []).map(spec => [spec.id, spec]));
|
|
79
|
+
if (specsById.size > 0) {
|
|
80
|
+
for (const record of acceptedRecords) {
|
|
81
|
+
if (!record.checkSpecHash)
|
|
82
|
+
throw new ContractError(`Evidence ${record.id} lacks a checkSpecHash; cannot be accepted under CheckSpec contract`);
|
|
83
|
+
const spec = specsById.get(record.checkId);
|
|
84
|
+
if (!spec)
|
|
85
|
+
throw new ContractError(`Evidence checkId "${record.checkId}" is not admitted in the objective CheckSpec contract`);
|
|
86
|
+
if (canonicalSpecHash(spec) !== record.checkSpecHash)
|
|
87
|
+
throw new ContractError(`Evidence ${record.id} does not match the admitted CheckSpec for ${spec.id}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const checkSpecHashes = acceptedRecords.map(record => record.checkSpecHash ?? "");
|
|
77
91
|
const next = acceptWorkItem(state.run, workItemId);
|
|
78
92
|
const accepted = next.workItems.find(candidate => candidate.id === workItemId);
|
|
79
93
|
const receipt = { workItemId, workRevision: item.revision, dispatchId: dispatch.id, candidateId: dispatch.candidateId, candidateTree: dispatch.candidateTree, evidenceIds: [...evidenceIds], checkSpecHashes, policyRevision: state.run.objective.policyRevision ?? "admission", targetDigest };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAMtE,MAAM,UAAU,WAAW,CAAC,OAAuB,EAAE,MAAsB,EAAE,MAA+B;IAC1G,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,SAA8B,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,yCAAyC,CAAC,CAAC;IACnF,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,KAAK,MAAM;QAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7E,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,EAAsC,CAAC;QACzD,IAAI,EAAE,KAAK,UAAU;YAAE,MAAM,IAAI,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClH,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAA8B,CAAC;QACvD,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,aAAa,CAAC,6CAA6C,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;QAChK,MAAM,QAAQ,GAAG,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACzM,MAAM,OAAO,GAAG,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1K,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/R,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,uBAAuB,CAAC,CAAC;QAChE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrJ,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAmE,CAAC,CAAC;QAChH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzI,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAuB,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;QACrG,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,yDAAyD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACtI,oEAAoE;QACpE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,aAAa,CAAC,oCAAoC,CAAC,CAAC;QAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,aAAa,CAAC,gDAAgD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/H,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,aAAa;YAAE,MAAM,IAAI,aAAa,CAAC,6CAA6C,CAAC,CAAC;QAC7H,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9I,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,aAAa;oBAAE,MAAM,IAAI,aAAa,CAAC,YAAY,MAAM,CAAC,EAAE,qEAAqE,CAAC,CAAC;gBAC/I,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,aAAa,CAAC,qBAAqB,MAAM,CAAC,OAAO,uDAAuD,CAAC,CAAC;gBAC/H,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,aAAa;oBAAE,MAAM,IAAI,aAAa,CAAC,YAAY,MAAM,CAAC,EAAE,8CAA8C,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9J,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,CAAE,CAAC;QAChF,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAc,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;QAClS,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,iBAAiB,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5K,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACvK,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,iBAAiB,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,wDAAwD,CAAC,CAAC;QACtP,MAAM,cAAc,GAAG,MAAM,CAAC,cAA0B,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,wDAAwD,CAAC,CAAC;QACrJ,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACtG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1G,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7E,MAAM,IAAI,aAAa,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;AAChE,CAAC"}
|
package/docs/releases/0.6.8.md
CHANGED
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
|
|
9
9
|
## Validation
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
This release was qualified through the local OMP harness (`npm run verify:omp`). When CI is available, the `omp-compatibility` workflow verifies the packed install path. Because this repository is private and CI may be billing-blocked at the org level, the operator override path is the documented fallback: bump the version in `package.json`, run `npm pack --ignore-scripts`, publish with `NPM_CONFIG_PROVENANCE=false npm publish --ignore-scripts`, then tag the merge SHA and create the GitHub release.
|
package/package.json
CHANGED
|
@@ -1,16 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://github.com/
|
|
3
|
+
"$id": "https://github.com/PolderLabs/BizarHarness-OMP/schemas/evidence-record.schema.json",
|
|
4
4
|
"title": "Bizar OMP evidence record",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": ["id", "runId", "type", "checkId", "result", "targetDigest", "stale", "provenance"],
|
|
6
|
+
"required": ["id", "runId", "type", "checkId", "result", "targetDigest", "recordedAt", "stale", "checkSpecHash", "evaluatorHash", "provenance"],
|
|
7
7
|
"properties": {
|
|
8
8
|
"id": { "type": "string" },
|
|
9
9
|
"runId": { "type": "string" },
|
|
10
10
|
"type": { "enum": ["test", "lint", "typecheck", "review", "research", "worker", "git", "manual"] },
|
|
11
|
+
"checkId": { "type": "string" },
|
|
11
12
|
"result": { "enum": ["passed", "failed", "blocked", "cancelled", "unknown"] },
|
|
13
|
+
"command": { "type": "array", "items": { "type": "string" } },
|
|
14
|
+
"cwd": { "type": "string" },
|
|
15
|
+
"exitCode": { "type": "integer" },
|
|
12
16
|
"targetDigest": { "type": "string", "minLength": 1 },
|
|
13
|
-
"
|
|
17
|
+
"inputDigests": { "type": "object", "additionalProperties": { "type": "string" } },
|
|
18
|
+
"stdout": { "type": "string" },
|
|
19
|
+
"stderr": { "type": "string" },
|
|
20
|
+
"artifactHashes": { "type": "array", "items": { "type": "string" } },
|
|
21
|
+
"checkSpecHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
22
|
+
"evaluatorHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
23
|
+
"attemptGeneration": { "type": "integer", "minimum": 1 },
|
|
24
|
+
"candidateId": { "type": "string" },
|
|
25
|
+
"candidateTree": { "type": "string" },
|
|
26
|
+
"recordedAt": { "type": "string", "format": "date-time" },
|
|
27
|
+
"stale": { "type": "boolean" },
|
|
28
|
+
"provenance": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"required": ["producer", "source", "observedAt"],
|
|
31
|
+
"properties": {
|
|
32
|
+
"producer": { "type": "string" },
|
|
33
|
+
"source": { "type": "string" },
|
|
34
|
+
"observedAt": { "type": "string", "format": "date-time" },
|
|
35
|
+
"buildId": { "type": "string" },
|
|
36
|
+
"runId": { "type": "string" },
|
|
37
|
+
"reviewRevision": { "type": "integer" }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
14
40
|
},
|
|
15
41
|
"additionalProperties": true
|
|
16
42
|
}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://github.com/
|
|
3
|
+
"$id": "https://github.com/PolderLabs/BizarHarness-OMP/schemas/workflow-run.schema.json",
|
|
4
4
|
"title": "Bizar OMP workflow run",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": ["schemaVersion", "runId", "projectId", "objectiveHash", "revision", "phase"],
|
|
6
|
+
"required": ["schemaVersion", "runId", "projectId", "objectiveHash", "revision", "phase", "nativeSessionId"],
|
|
7
7
|
"properties": {
|
|
8
8
|
"schemaVersion": { "const": 1 },
|
|
9
9
|
"runId": { "type": "string", "pattern": "^run_" },
|
|
10
10
|
"projectId": { "type": "string", "minLength": 1 },
|
|
11
11
|
"objectiveHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
12
12
|
"revision": { "type": "integer", "minimum": 0 },
|
|
13
|
-
"phase": { "enum": ["created", "orienting", "researching", "planning", "ready", "executing", "integrating", "verifying", "reviewing", "complete", "blocked", "failed", "cancelled"] }
|
|
13
|
+
"phase": { "enum": ["created", "orienting", "researching", "planning", "ready", "executing", "integrating", "verifying", "reviewing", "complete", "blocked", "failed", "cancelled"] },
|
|
14
|
+
"nativeSessionId": { "type": "string" },
|
|
15
|
+
"owner": { "type": "string" },
|
|
16
|
+
"candidateId": { "type": "string" },
|
|
17
|
+
"candidateTree": { "type": "string" },
|
|
18
|
+
"criteria": { "type": "array", "items": { "type": "object" } },
|
|
19
|
+
"reviewSpec": { "type": "object" },
|
|
20
|
+
"checkSpecs": { "type": "array", "items": { "type": "object" } }
|
|
14
21
|
},
|
|
15
22
|
"additionalProperties": true
|
|
16
23
|
}
|
|
@@ -17,7 +17,8 @@ Use the native Bizar tools for the typed lifecycle:
|
|
|
17
17
|
|
|
18
18
|
- `bizar_workflow` starts, inspects, transitions, and completes a workflow only when required checks and accepted work are satisfied.
|
|
19
19
|
- `bizar_verify` runs a host-observed check and records its result against the current target.
|
|
20
|
-
- `bizar_evidence`
|
|
20
|
+
- `bizar_evidence` queries recorded evidence and freshness; unobserved or stale evidence never counts as passing. Evidence is recorded only through `bizar_verify`, `bizar_candidate_verify`, reviews, and journaled integration events.
|
|
21
|
+
- `bizar_candidate_verify` materializes an exact candidate patch in a disposable workspace, runs a frozen CheckSpec there, and records candidate-bound evidence.
|
|
21
22
|
- `bizar_integrate` admits scoped changes through Bizar's serialized integration path.
|
|
22
23
|
|
|
23
24
|
An accepted task, a planned change, or a successful tool call is not completion. Completion requires fresh evidence for the current tree, no unresolved work or integrations, and explicit workflow completion.
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
export function openkanCommand(args: string[]) { if (args.some(arg => arg.startsWith("--" ) && arg.includes("storage"))) throw new Error("OpenKan storage internals are not a supported adapter surface"); return ["ok", ...args]; }
|
|
3
|
-
export async function runOpenKan(args: string[], cwd: string): Promise<{ code: number; stdout: string; stderr: string }> { const argv = openkanCommand(args); return new Promise(resolve => { const child = spawn(argv[0], argv.slice(1), { cwd, stdio: ["ignore", "pipe", "pipe"] }); let stdout = ""; let stderr = ""; child.stdout.on("data", data => { stdout += data; }); child.stderr.on("data", data => { stderr += data; }); child.on("close", code => resolve({ code: code ?? 1, stdout, stderr })); }); }
|