kiokuko 1.0.22 → 1.0.24
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/agent-file/render.d.ts +1 -1
- package/dist/agent-file/render.d.ts.map +1 -1
- package/dist/agent-file/render.js +3 -2
- package/dist/agent-file/render.js.map +1 -1
- package/dist/akinator/capabilities.d.ts.map +1 -1
- package/dist/akinator/capabilities.js +9 -1
- package/dist/akinator/capabilities.js.map +1 -1
- package/dist/akinator/capability-binding.d.ts.map +1 -1
- package/dist/akinator/capability-binding.js +2 -1
- package/dist/akinator/capability-binding.js.map +1 -1
- package/dist/assurance/codex-hooks.js +3 -3
- package/dist/assurance/codex-hooks.js.map +1 -1
- package/dist/assurance/conflicts.d.ts +27 -0
- package/dist/assurance/conflicts.d.ts.map +1 -0
- package/dist/assurance/conflicts.js +32 -0
- package/dist/assurance/conflicts.js.map +1 -0
- package/dist/assurance/contracts.d.ts +1 -0
- package/dist/assurance/contracts.d.ts.map +1 -1
- package/dist/assurance/contracts.js +1 -0
- package/dist/assurance/contracts.js.map +1 -1
- package/dist/assurance/instructions.d.ts +1 -1
- package/dist/assurance/instructions.d.ts.map +1 -1
- package/dist/assurance/instructions.js +2 -1
- package/dist/assurance/instructions.js.map +1 -1
- package/dist/assurance/refresh.d.ts.map +1 -1
- package/dist/assurance/refresh.js +10 -8
- package/dist/assurance/refresh.js.map +1 -1
- package/dist/assurance/service.d.ts +9 -2
- package/dist/assurance/service.d.ts.map +1 -1
- package/dist/assurance/service.js +21 -10
- package/dist/assurance/service.js.map +1 -1
- package/dist/assurance/verification-contracts.d.ts +49 -0
- package/dist/assurance/verification-contracts.d.ts.map +1 -0
- package/dist/assurance/verification-contracts.js +23 -0
- package/dist/assurance/verification-contracts.js.map +1 -0
- package/dist/assurance/verification-state.d.ts +33 -0
- package/dist/assurance/verification-state.d.ts.map +1 -0
- package/dist/assurance/verification-state.js +52 -0
- package/dist/assurance/verification-state.js.map +1 -0
- package/dist/assurance/verification.d.ts +16 -0
- package/dist/assurance/verification.d.ts.map +1 -0
- package/dist/assurance/verification.js +67 -0
- package/dist/assurance/verification.js.map +1 -0
- package/dist/context/scoped-broker.d.ts.map +1 -1
- package/dist/context/scoped-broker.js +10 -7
- package/dist/context/scoped-broker.js.map +1 -1
- package/dist/context/scoped-memory-use.d.ts.map +1 -1
- package/dist/context/scoped-memory-use.js +4 -3
- package/dist/context/scoped-memory-use.js.map +1 -1
- package/dist/mcp/request-deadline.d.ts +1 -1
- package/dist/mcp/request-deadline.d.ts.map +1 -1
- package/dist/mcp/request-deadline.js +2 -0
- package/dist/mcp/request-deadline.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/git-provenance.d.ts +14 -0
- package/dist/memory/git-provenance.d.ts.map +1 -0
- package/dist/memory/git-provenance.js +153 -0
- package/dist/memory/git-provenance.js.map +1 -0
- package/dist/memory/interaction-contract.d.ts.map +1 -1
- package/dist/memory/interaction-contract.js +5 -3
- package/dist/memory/interaction-contract.js.map +1 -1
- package/dist/memory/scoped-memory.d.ts +1 -12
- package/dist/memory/scoped-memory.d.ts.map +1 -1
- package/dist/memory/scoped-memory.js +2 -49
- package/dist/memory/scoped-memory.js.map +1 -1
- package/dist/repository/detect-root.d.ts.map +1 -1
- package/dist/repository/detect-root.js +2 -30
- package/dist/repository/detect-root.js.map +1 -1
- package/dist/repository/resolve-root.d.ts +7 -0
- package/dist/repository/resolve-root.d.ts.map +1 -0
- package/dist/repository/resolve-root.js +28 -0
- package/dist/repository/resolve-root.js.map +1 -0
- package/dist/server/routes/task-assurance.d.ts.map +1 -1
- package/dist/server/routes/task-assurance.js +4 -1
- package/dist/server/routes/task-assurance.js.map +1 -1
- package/dist/setup/render.d.ts.map +1 -1
- package/dist/setup/render.js +2 -1
- package/dist/setup/render.js.map +1 -1
- package/docs/correction-validation.md +147 -0
- package/docs/interaction-memory-validation.md +3 -0
- package/docs/memory-assurance.md +72 -0
- package/migrations/010_task_verification.sql +40 -0
- package/package.json +1 -1
- package/skills/kiokuko-soul/SKILL.md +19 -0
- package/skills/memory-reasoning/SKILL.md +5 -0
- package/skills/one-shot-software-completion/SKILL.md +8 -2
- package/templates/AGENTS.md +3 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type TaskVerificationReport } from './verification-state.js';
|
|
1
2
|
import type { SqliteDatabase, SqliteRow } from '../db/adapter.js';
|
|
2
3
|
import type { ContextDeliveryView } from '../context/delivery.js';
|
|
3
4
|
export interface AssuranceState extends SqliteRow {
|
|
@@ -50,8 +51,9 @@ export declare function insertTaskEvidence(db: SqliteDatabase, input: {
|
|
|
50
51
|
outcome: 'passed' | 'failed' | 'skipped' | 'unknown';
|
|
51
52
|
exitCode: number | null;
|
|
52
53
|
provenance: 'model_reported' | 'client_observed';
|
|
54
|
+
target?: string;
|
|
53
55
|
}): string;
|
|
54
|
-
export interface
|
|
56
|
+
export interface MemoryAssuranceReport {
|
|
55
57
|
mode: 'legacy_unobserved' | 'tracked';
|
|
56
58
|
revision: number | null;
|
|
57
59
|
retrieval: string;
|
|
@@ -62,7 +64,12 @@ export interface AssuranceReport {
|
|
|
62
64
|
complete: boolean;
|
|
63
65
|
}
|
|
64
66
|
/** Execution may start after decisions; passing evidence is required only for completion. */
|
|
65
|
-
export declare function memoryReviewNextAction(report:
|
|
67
|
+
export declare function memoryReviewNextAction(report: MemoryAssuranceReport): 'refresh_memory' | 'review_memory_application' | 'proceed';
|
|
68
|
+
export interface AssuranceReport extends MemoryAssuranceReport {
|
|
69
|
+
verification: TaskVerificationReport;
|
|
70
|
+
completionReady: boolean | null;
|
|
71
|
+
}
|
|
72
|
+
/** complete remains memory-only; callers must use completionReady for the task. */
|
|
66
73
|
export declare function taskAssuranceReport(db: SqliteDatabase, runId: string, verifyState?: boolean): AssuranceReport;
|
|
67
74
|
export declare function assertAssuranceCompletion(db: SqliteDatabase, runId: string, outcome: string): void;
|
|
68
75
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/assurance/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/assurance/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { taskVerificationReport } from './verification-state.js';
|
|
2
|
+
import { TaskStateConflict } from './conflicts.js';
|
|
1
3
|
import { realpathSync } from 'node:fs';
|
|
2
4
|
import path from 'node:path';
|
|
3
5
|
import { randomUUID } from 'node:crypto';
|
|
@@ -14,7 +16,7 @@ export function assuranceState(db, runId) {
|
|
|
14
16
|
return db.prepare('SELECT * FROM task_assurance WHERE run_id = ?').get(runId);
|
|
15
17
|
}
|
|
16
18
|
export function enrollAssurance(db, runId, now) {
|
|
17
|
-
db.prepare('INSERT INTO task_assurance(run_id, updated_at) VALUES (?,
|
|
19
|
+
db.prepare('INSERT INTO task_assurance(run_id, updated_at, verification_version) VALUES (?, ?, 1)').run(runId, now);
|
|
18
20
|
}
|
|
19
21
|
export function bindAssuranceDelivery(db, delivery) {
|
|
20
22
|
const state = assuranceState(db, delivery.runId);
|
|
@@ -29,17 +31,17 @@ export function bindAssuranceRoot(db, runId, root, retrievalStatus) {
|
|
|
29
31
|
return;
|
|
30
32
|
const canonical = realpathSync(root);
|
|
31
33
|
if (state.repository_root && state.repository_root !== canonical)
|
|
32
|
-
throw new
|
|
34
|
+
throw new TaskStateConflict('repository_mismatch');
|
|
33
35
|
db.prepare('UPDATE task_assurance SET repository_root = ?, retrieval_status = COALESCE(?, retrieval_status) WHERE run_id = ?')
|
|
34
36
|
.run(canonical, retrievalStatus ?? null, runId);
|
|
35
37
|
}
|
|
36
38
|
export function assertAssuranceCwd(db, runId, cwd) {
|
|
37
39
|
const run = new LedgerStore(db).readRun(runId);
|
|
38
40
|
if (!run || run.status !== 'active')
|
|
39
|
-
throw new
|
|
41
|
+
throw new TaskStateConflict('run_not_active');
|
|
40
42
|
const state = assuranceState(db, runId);
|
|
41
43
|
if (!state)
|
|
42
|
-
throw new
|
|
44
|
+
throw new TaskStateConflict('assurance_unavailable');
|
|
43
45
|
const canonical = realpathSync(cwd);
|
|
44
46
|
let root = state.repository_root;
|
|
45
47
|
if (!root) {
|
|
@@ -48,8 +50,7 @@ export function assertAssuranceCwd(db, runId, cwd) {
|
|
|
48
50
|
root = rows.find(row => canonical === row.canonical_root || canonical.startsWith(row.canonical_root + path.sep))?.canonical_root ?? null;
|
|
49
51
|
}
|
|
50
52
|
if (!root || (canonical !== root && !canonical.startsWith(root + path.sep)))
|
|
51
|
-
throw new
|
|
52
|
-
bindAssuranceRoot(db, runId, root);
|
|
53
|
+
throw new TaskStateConflict('repository_mismatch');
|
|
53
54
|
return { ...state, repository_root: root };
|
|
54
55
|
}
|
|
55
56
|
export function assuranceMutation(db, input, effect) {
|
|
@@ -59,12 +60,13 @@ export function assuranceMutation(db, input, effect) {
|
|
|
59
60
|
.get(input.runId, input.requestId);
|
|
60
61
|
if (prior) {
|
|
61
62
|
if (prior.request_digest !== digest)
|
|
62
|
-
throw new
|
|
63
|
+
throw new TaskStateConflict('request_id_reused');
|
|
63
64
|
return JSON.parse(prior.response_json);
|
|
64
65
|
}
|
|
65
66
|
const state = assertAssuranceCwd(db, input.runId, input.cwd);
|
|
66
67
|
if (state.revision !== input.expectedRevision)
|
|
67
|
-
throw new
|
|
68
|
+
throw new TaskStateConflict('assurance_revision_changed', { expectedRevision: input.expectedRevision, currentRevision: state.revision });
|
|
69
|
+
bindAssuranceRoot(db, input.runId, state.repository_root);
|
|
68
70
|
const response = { ...effect(state), revision: state.revision + 1 };
|
|
69
71
|
db.prepare('UPDATE task_assurance SET revision = ?, updated_at = ? WHERE run_id = ?')
|
|
70
72
|
.run(response.revision, new Date().toISOString(), input.runId);
|
|
@@ -109,7 +111,7 @@ export function recordTaskEvidence(db, raw, provenance = 'model_reported', obser
|
|
|
109
111
|
throw new KiokukoError('CONFLICT', 'Validation target changed');
|
|
110
112
|
const evidenceId = insertTaskEvidence(db, { runId: input.runId, deliveryId: input.deliveryId, root: state.repository_root, cwd: input.cwd,
|
|
111
113
|
executionDigest: observed?.executionDigest ?? canonicalContentHash(input.execution), stateDigest: input.stateDigest,
|
|
112
|
-
outcome: input.outcome, exitCode: input.exitCode, provenance });
|
|
114
|
+
outcome: input.outcome, exitCode: input.exitCode, provenance, target: input.target });
|
|
113
115
|
observed?.onRecorded(evidenceId);
|
|
114
116
|
return { evidenceId, provenance, outcome: input.outcome };
|
|
115
117
|
});
|
|
@@ -119,6 +121,7 @@ export function insertTaskEvidence(db, input) {
|
|
|
119
121
|
const evidenceId = randomUUID();
|
|
120
122
|
db.prepare('INSERT INTO task_execution_evidence VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
121
123
|
.run(evidenceId, input.runId, input.deliveryId, input.root, realpathSync(input.cwd), input.executionDigest, input.stateDigest, input.outcome, input.exitCode, input.provenance, new Date().toISOString());
|
|
124
|
+
db.prepare('INSERT INTO task_execution_targets VALUES (?, ?)').run(evidenceId, input.target ?? `${process.platform}-${process.arch}`);
|
|
122
125
|
return evidenceId;
|
|
123
126
|
}
|
|
124
127
|
/** Execution may start after decisions; passing evidence is required only for completion. */
|
|
@@ -127,7 +130,7 @@ export function memoryReviewNextAction(report) {
|
|
|
127
130
|
return 'refresh_memory';
|
|
128
131
|
return report.pending.length ? 'review_memory_application' : 'proceed';
|
|
129
132
|
}
|
|
130
|
-
|
|
133
|
+
function memoryAssuranceReport(db, runId, verifyState = true) {
|
|
131
134
|
const state = assuranceState(db, runId);
|
|
132
135
|
const report = { mode: state ? 'tracked' : 'legacy_unobserved', revision: state?.revision ?? null,
|
|
133
136
|
retrieval: state?.retrieval_status ?? 'unobserved', pending: [], stale: [], missingVerification: [], observed: false, complete: true };
|
|
@@ -186,11 +189,19 @@ export function taskAssuranceReport(db, runId, verifyState = true) {
|
|
|
186
189
|
report.observed = verifyState && adoptedCount > 0 && allObserved && report.complete;
|
|
187
190
|
return report;
|
|
188
191
|
}
|
|
192
|
+
/** complete remains memory-only; callers must use completionReady for the task. */
|
|
193
|
+
export function taskAssuranceReport(db, runId, verifyState = true) {
|
|
194
|
+
const memory = memoryAssuranceReport(db, runId, verifyState);
|
|
195
|
+
const verification = taskVerificationReport(db, runId, verifyState);
|
|
196
|
+
return { ...memory, verification, completionReady: verification.mode === 'legacy_unobserved' ? null : memory.complete && verification.ready };
|
|
197
|
+
}
|
|
189
198
|
export function assertAssuranceCompletion(db, runId, outcome) {
|
|
190
199
|
if (outcome !== 'completed')
|
|
191
200
|
return;
|
|
192
201
|
const report = taskAssuranceReport(db, runId);
|
|
193
202
|
if (!report.complete)
|
|
194
203
|
throw new KiokukoError('CONFLICT', 'Memory review or regression verification is incomplete', { assurance: report });
|
|
204
|
+
if (report.completionReady === false)
|
|
205
|
+
throw new TaskStateConflict('task_verification_incomplete');
|
|
195
206
|
}
|
|
196
207
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/assurance/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/assurance/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
export declare const verificationCheckSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
target: z.ZodString;
|
|
5
|
+
expected: z.ZodString;
|
|
6
|
+
method: z.ZodString;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
export declare const verificationDefineSchema: z.ZodObject<{
|
|
9
|
+
reason: z.ZodString;
|
|
10
|
+
checks: z.ZodArray<z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
target: z.ZodString;
|
|
13
|
+
expected: z.ZodString;
|
|
14
|
+
method: z.ZodString;
|
|
15
|
+
}, z.core.$strict>>;
|
|
16
|
+
runId: z.ZodString;
|
|
17
|
+
requestId: z.ZodString;
|
|
18
|
+
expectedRevision: z.ZodNumber;
|
|
19
|
+
cwd: z.ZodString;
|
|
20
|
+
}, z.core.$strict>;
|
|
21
|
+
export declare const verificationRecordSchema: z.ZodObject<{
|
|
22
|
+
contractVersion: z.ZodNumber;
|
|
23
|
+
checkId: z.ZodString;
|
|
24
|
+
target: z.ZodString;
|
|
25
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
26
|
+
kind: z.ZodLiteral<"local">;
|
|
27
|
+
evidenceId: z.ZodString;
|
|
28
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
29
|
+
kind: z.ZodLiteral<"ci">;
|
|
30
|
+
commit: z.ZodString;
|
|
31
|
+
runUrl: z.ZodString;
|
|
32
|
+
jobUrl: z.ZodString;
|
|
33
|
+
conclusion: z.ZodEnum<{
|
|
34
|
+
cancelled: "cancelled";
|
|
35
|
+
unknown: "unknown";
|
|
36
|
+
success: "success";
|
|
37
|
+
skipped: "skipped";
|
|
38
|
+
failure: "failure";
|
|
39
|
+
timed_out: "timed_out";
|
|
40
|
+
}>;
|
|
41
|
+
}, z.core.$strict>], "kind">;
|
|
42
|
+
runId: z.ZodString;
|
|
43
|
+
requestId: z.ZodString;
|
|
44
|
+
expectedRevision: z.ZodNumber;
|
|
45
|
+
cwd: z.ZodString;
|
|
46
|
+
}, z.core.$strict>;
|
|
47
|
+
export type VerificationCheck = z.infer<typeof verificationCheckSchema>;
|
|
48
|
+
export type VerificationSource = z.infer<typeof verificationRecordSchema>['source'];
|
|
49
|
+
//# sourceMappingURL=verification-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-contracts.d.ts","sourceRoot":"","sources":["../../src/assurance/verification-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,eAAO,MAAM,uBAAuB;;;;;kBAAwE,CAAC;AAC7G,eAAO,MAAM,wBAAwB;;;;;;;;;;;;kBAG6F,CAAC;AACnI,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ1B,CAAC;AACZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { assuranceBase } from './contracts.js';
|
|
3
|
+
const text = z.string().trim().min(1).max(1000).refine(value => !/\p{Cc}/u.test(value));
|
|
4
|
+
const id = z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/u);
|
|
5
|
+
const reference = z.string().url().max(2000).refine(value => {
|
|
6
|
+
const url = new URL(value);
|
|
7
|
+
return url.protocol === 'https:' && !url.username && !url.password && !url.search && !url.hash;
|
|
8
|
+
}, 'Use an HTTPS job/run reference without credentials or query parameters');
|
|
9
|
+
export const verificationCheckSchema = z.object({ id, target: text, expected: text, method: text }).strict();
|
|
10
|
+
export const verificationDefineSchema = z.object({
|
|
11
|
+
...assuranceBase, reason: text,
|
|
12
|
+
checks: z.array(verificationCheckSchema).min(1).max(100),
|
|
13
|
+
}).strict().refine(input => new Set(input.checks.map(check => check.id)).size === input.checks.length, 'Check IDs must be unique');
|
|
14
|
+
export const verificationRecordSchema = z.object({
|
|
15
|
+
...assuranceBase, contractVersion: z.number().int().positive(), checkId: id, target: text,
|
|
16
|
+
source: z.discriminatedUnion('kind', [
|
|
17
|
+
z.object({ kind: z.literal('local'), evidenceId: z.string().min(1).max(256) }).strict(),
|
|
18
|
+
z.object({ kind: z.literal('ci'), commit: z.string().regex(/^[0-9a-f]{40}(?:[0-9a-f]{24})?$/u), runUrl: reference, jobUrl: reference,
|
|
19
|
+
conclusion: z.enum(['success', 'failure', 'cancelled', 'timed_out', 'skipped', 'unknown']),
|
|
20
|
+
}).strict(),
|
|
21
|
+
]),
|
|
22
|
+
}).strict();
|
|
23
|
+
//# sourceMappingURL=verification-contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-contracts.js","sourceRoot":"","sources":["../../src/assurance/verification-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxF,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAClE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACjG,CAAC,EAAE,wEAAwE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7G,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,aAAa,EAAE,MAAM,EAAE,IAAI;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACzD,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;AACnI,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI;IACzF,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACvF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;YAClI,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SAC3F,CAAC,CAAC,MAAM,EAAE;KACZ,CAAC;CACH,CAAC,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SqliteDatabase, SqliteRow } from '../db/adapter.js';
|
|
2
|
+
export interface VerificationCheckRow extends SqliteRow {
|
|
3
|
+
check_id: string;
|
|
4
|
+
target: string;
|
|
5
|
+
expected: string;
|
|
6
|
+
method: string;
|
|
7
|
+
definition_hash: string;
|
|
8
|
+
}
|
|
9
|
+
export interface VerificationResultRow extends SqliteRow {
|
|
10
|
+
outcome: 'passed' | 'failed' | 'skipped' | 'unknown';
|
|
11
|
+
state_digest: string;
|
|
12
|
+
source_json: string;
|
|
13
|
+
provenance: 'model_reported' | 'client_observed';
|
|
14
|
+
}
|
|
15
|
+
export interface TaskVerificationReport {
|
|
16
|
+
mode: 'legacy_unobserved' | 'required' | 'not_required';
|
|
17
|
+
contractVersion: number | null;
|
|
18
|
+
ready: boolean;
|
|
19
|
+
checks: Array<{
|
|
20
|
+
id: string;
|
|
21
|
+
target: string;
|
|
22
|
+
expected: string;
|
|
23
|
+
method: string;
|
|
24
|
+
status: 'pending' | 'passed' | 'failed' | 'skipped' | 'unknown';
|
|
25
|
+
stale: boolean;
|
|
26
|
+
provenance: 'model_reported' | 'client_observed' | null;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
export declare function verificationVersion(db: SqliteDatabase, runId: string): number | null;
|
|
30
|
+
/** Remote results can describe this checkout only at the same clean commit. */
|
|
31
|
+
export declare function matchesCiCommit(root: string, commit: string): boolean;
|
|
32
|
+
export declare function taskVerificationReport(db: SqliteDatabase, runId: string, verifyState: boolean): TaskVerificationReport;
|
|
33
|
+
//# sourceMappingURL=verification-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-state.d.ts","sourceRoot":"","sources":["../../src/assurance/verification-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlE,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;CAC7F;AACD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAChG,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CAClD;AACD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,mBAAmB,GAAG,UAAU,GAAG,cAAc,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxF,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAC5B,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAC7D,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAChF,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAC;KACzD,CAAC,CAAC;CACJ;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpF;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,sBAAsB,CAiCtH"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { readContextBrokerRunState } from '../context/broker.js';
|
|
3
|
+
import { repositoryStateDigest } from './snapshot.js';
|
|
4
|
+
export function verificationVersion(db, runId) {
|
|
5
|
+
return db.prepare('SELECT MAX(version) version FROM task_verification_contracts WHERE run_id=?')
|
|
6
|
+
.get(runId)?.version ?? null;
|
|
7
|
+
}
|
|
8
|
+
/** Remote results can describe this checkout only at the same clean commit. */
|
|
9
|
+
export function matchesCiCommit(root, commit) {
|
|
10
|
+
const options = { encoding: 'utf8', timeout: 5000, maxBuffer: 4 * 1024 * 1024 };
|
|
11
|
+
const head = spawnSync('git', ['-C', root, 'rev-parse', 'HEAD'], options);
|
|
12
|
+
const status = spawnSync('git', ['-C', root, 'status', '--porcelain', '--untracked-files=all'], options);
|
|
13
|
+
return head.status === 0 && status.status === 0 && head.stdout.trim() === commit && status.stdout.trim() === '';
|
|
14
|
+
}
|
|
15
|
+
export function taskVerificationReport(db, runId, verifyState) {
|
|
16
|
+
const state = db.prepare('SELECT verification_version, repository_root, observed_changes FROM task_assurance WHERE run_id=?')
|
|
17
|
+
.get(runId);
|
|
18
|
+
const empty = { contractVersion: null, checks: [] };
|
|
19
|
+
if (!state?.verification_version)
|
|
20
|
+
return { ...empty, mode: 'legacy_unobserved', ready: false };
|
|
21
|
+
const profile = readContextBrokerRunState(db, runId).taskProfile;
|
|
22
|
+
const version = verificationVersion(db, runId);
|
|
23
|
+
const required = profile.taskType === 'build' || profile.taskType === 'debug' || state.observed_changes === 1 || version !== null;
|
|
24
|
+
if (!required)
|
|
25
|
+
return { ...empty, mode: 'not_required', ready: true };
|
|
26
|
+
if (version === null)
|
|
27
|
+
return { ...empty, mode: 'required', ready: false };
|
|
28
|
+
const definitions = db.prepare('SELECT * FROM task_verification_checks WHERE run_id=? AND contract_version=? ORDER BY check_id')
|
|
29
|
+
.all(runId, version);
|
|
30
|
+
let digest;
|
|
31
|
+
const checks = definitions.map(check => {
|
|
32
|
+
// Select the latest result before comparing definitions: changing a check back
|
|
33
|
+
// must not resurrect a superseded success from an older definition.
|
|
34
|
+
const result = db.prepare('SELECT * FROM task_verification_results WHERE run_id=? AND check_id=? ORDER BY sequence DESC LIMIT 1')
|
|
35
|
+
.get(runId, check.check_id);
|
|
36
|
+
let stale = false;
|
|
37
|
+
let status = 'pending';
|
|
38
|
+
if (result) {
|
|
39
|
+
stale = result.definition_hash !== check.definition_hash || !state.repository_root;
|
|
40
|
+
if (!stale && verifyState && state.repository_root) {
|
|
41
|
+
digest ??= repositoryStateDigest(state.repository_root);
|
|
42
|
+
const source = JSON.parse(result.source_json);
|
|
43
|
+
stale = result.state_digest !== digest || (source.kind === 'ci' && !matchesCiCommit(state.repository_root, source.commit));
|
|
44
|
+
}
|
|
45
|
+
status = stale ? 'pending' : !verifyState ? 'unknown' : result.outcome;
|
|
46
|
+
}
|
|
47
|
+
return { id: check.check_id, target: check.target, expected: check.expected, method: check.method,
|
|
48
|
+
status, stale, provenance: result?.provenance ?? null };
|
|
49
|
+
});
|
|
50
|
+
return { mode: 'required', contractVersion: version, checks, ready: checks.length > 0 && checks.every(check => check.status === 'passed') };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=verification-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-state.js","sourceRoot":"","sources":["../../src/assurance/verification-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SqliteDatabase } from '../db/adapter.js';
|
|
2
|
+
export declare function defineTaskVerification(db: SqliteDatabase, raw: unknown): {
|
|
3
|
+
contractVersion: number;
|
|
4
|
+
checkCount: number;
|
|
5
|
+
provenance: "model_reported";
|
|
6
|
+
} & {
|
|
7
|
+
revision: number;
|
|
8
|
+
};
|
|
9
|
+
export declare function recordTaskVerification(db: SqliteDatabase, raw: unknown): {
|
|
10
|
+
recorded: boolean;
|
|
11
|
+
outcome: "failed" | "unknown" | "passed" | "skipped";
|
|
12
|
+
provenance: "model_reported";
|
|
13
|
+
} & {
|
|
14
|
+
revision: number;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/assurance/verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAWlE,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO;;;;;;EAoBtE;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO;;;;;;EA+BtE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { canonicalContentHash } from '../serialization/validate.js';
|
|
2
|
+
import { sanitizeJson } from '../security/sanitize.js';
|
|
3
|
+
import { KiokukoError } from '../errors.js';
|
|
4
|
+
import { assuranceMutation } from './service.js';
|
|
5
|
+
import { parseAssurance } from './contracts.js';
|
|
6
|
+
import { TaskStateConflict } from './conflicts.js';
|
|
7
|
+
import { repositoryStateDigest } from './snapshot.js';
|
|
8
|
+
import { verificationDefineSchema, verificationRecordSchema } from './verification-contracts.js';
|
|
9
|
+
import { matchesCiCommit, verificationVersion } from './verification-state.js';
|
|
10
|
+
export function defineTaskVerification(db, raw) {
|
|
11
|
+
const input = parseAssurance(verificationDefineSchema, raw);
|
|
12
|
+
return assuranceMutation(db, input, () => {
|
|
13
|
+
const priorVersion = verificationVersion(db, input.runId);
|
|
14
|
+
const version = (priorVersion ?? 0) + 1;
|
|
15
|
+
const clean = sanitizeJson({ reason: input.reason, checks: input.checks }).value;
|
|
16
|
+
// Do not silently change identities while sanitizing untrusted descriptions.
|
|
17
|
+
if (canonicalContentHash(clean) !== canonicalContentHash({ reason: input.reason, checks: input.checks }))
|
|
18
|
+
throw new KiokukoError('SECURITY_REJECTION', 'Verification descriptions contain private or secret-like content');
|
|
19
|
+
db.prepare('INSERT INTO task_verification_contracts VALUES (?, ?, ?, ?)').run(input.runId, version, clean.reason, new Date().toISOString());
|
|
20
|
+
const insert = db.prepare('INSERT INTO task_verification_checks VALUES (?, ?, ?, ?, ?, ?, ?)');
|
|
21
|
+
for (const check of clean.checks) {
|
|
22
|
+
const prior = priorVersion === null ? undefined : db.prepare('SELECT * FROM task_verification_checks WHERE run_id=? AND contract_version=? AND check_id=?')
|
|
23
|
+
.get(input.runId, priorVersion, check.id);
|
|
24
|
+
const unchanged = prior?.target === check.target && prior.expected === check.expected && prior.method === check.method;
|
|
25
|
+
const hash = unchanged ? prior.definition_hash : canonicalContentHash({ check, version });
|
|
26
|
+
insert.run(input.runId, version, check.id, check.target, check.expected, check.method, hash);
|
|
27
|
+
}
|
|
28
|
+
return { contractVersion: version, checkCount: clean.checks.length, provenance: 'model_reported' };
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function recordTaskVerification(db, raw) {
|
|
32
|
+
const input = parseAssurance(verificationRecordSchema, raw);
|
|
33
|
+
return assuranceMutation(db, input, state => {
|
|
34
|
+
if (verificationVersion(db, input.runId) !== input.contractVersion)
|
|
35
|
+
throw new TaskStateConflict('verification_contract_changed');
|
|
36
|
+
const check = db.prepare('SELECT * FROM task_verification_checks WHERE run_id=? AND contract_version=? AND check_id=?')
|
|
37
|
+
.get(input.runId, input.contractVersion, input.checkId);
|
|
38
|
+
if (!check || check.target !== input.target)
|
|
39
|
+
throw new TaskStateConflict('verification_target_mismatch');
|
|
40
|
+
const digest = repositoryStateDigest(state.repository_root);
|
|
41
|
+
let outcome;
|
|
42
|
+
let provenance = 'model_reported';
|
|
43
|
+
if (input.source.kind === 'local') {
|
|
44
|
+
const evidence = db.prepare('SELECT e.*, t.target FROM task_execution_evidence e LEFT JOIN task_execution_targets t USING(evidence_id) WHERE e.evidence_id=?')
|
|
45
|
+
.get(input.source.evidenceId);
|
|
46
|
+
if (!evidence || evidence.run_id !== input.runId || evidence.repository_root !== state.repository_root
|
|
47
|
+
|| evidence.state_digest !== digest || evidence.target !== input.target)
|
|
48
|
+
throw new TaskStateConflict('verification_target_mismatch');
|
|
49
|
+
outcome = evidence.outcome;
|
|
50
|
+
if (outcome === 'passed' && evidence.exit_code !== 0)
|
|
51
|
+
outcome = 'unknown';
|
|
52
|
+
provenance = evidence.provenance;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (!matchesCiCommit(state.repository_root, input.source.commit))
|
|
56
|
+
throw new TaskStateConflict('verification_target_mismatch');
|
|
57
|
+
outcome = input.source.conclusion === 'success' ? 'passed'
|
|
58
|
+
: input.source.conclusion === 'skipped' ? 'skipped'
|
|
59
|
+
: input.source.conclusion === 'unknown' ? 'unknown' : 'failed';
|
|
60
|
+
}
|
|
61
|
+
db.prepare(`INSERT INTO task_verification_results
|
|
62
|
+
(run_id, contract_version, check_id, definition_hash, target, outcome, state_digest, source_json, provenance, created_at)
|
|
63
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(input.runId, input.contractVersion, input.checkId, check.definition_hash, input.target, outcome, digest, JSON.stringify(input.source), provenance, new Date().toISOString());
|
|
64
|
+
return { recorded: true, outcome, provenance };
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/assurance/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-broker.d.ts","sourceRoot":"","sources":["../../src/context/scoped-broker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scoped-broker.d.ts","sourceRoot":"","sources":["../../src/context/scoped-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TaskStateConflict } from '../assurance/conflicts.js';
|
|
1
2
|
import { indexArtifact, observeIndex, formatIndexSourceReferences } from '../memory/index-state.js';
|
|
2
3
|
import { withImmediateTransaction } from '../db/transaction.js';
|
|
3
4
|
import { KiokukoError } from '../errors.js';
|
|
@@ -214,7 +215,7 @@ function feedbackScore(database, entryId) {
|
|
|
214
215
|
}
|
|
215
216
|
function assertScopedSelectionState(database, workspaces, expectedHash) {
|
|
216
217
|
if (contextRetrievalStateHash(database, workspaces, { includeEcosystem: workspaces.length > 0 }) !== expectedHash) {
|
|
217
|
-
throw new
|
|
218
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
218
219
|
}
|
|
219
220
|
}
|
|
220
221
|
function fitScopedItems(ordered, limit, characterBudget, requiredSuffixes = new Map()) {
|
|
@@ -537,7 +538,7 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
|
|
|
537
538
|
if (raw.fingerprint !== undefined
|
|
538
539
|
&& manifestSnapshot !== undefined
|
|
539
540
|
&& raw.fingerprint.manifestDigest !== manifestSnapshot.manifestDigest) {
|
|
540
|
-
throw new
|
|
541
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
541
542
|
}
|
|
542
543
|
const fingerprint = project === undefined || manifestSnapshot === undefined
|
|
543
544
|
? undefined
|
|
@@ -545,7 +546,7 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
|
|
|
545
546
|
if (raw.fingerprint !== undefined
|
|
546
547
|
&& fingerprint !== undefined
|
|
547
548
|
&& canonicalContentHash(raw.fingerprint) !== canonicalContentHash(fingerprint)) {
|
|
548
|
-
throw new
|
|
549
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
549
550
|
}
|
|
550
551
|
const projectState = project === undefined || fingerprint === undefined ? null : { project, fingerprint };
|
|
551
552
|
ensureGlobalWorkspace(database);
|
|
@@ -772,6 +773,8 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
|
|
|
772
773
|
}
|
|
773
774
|
function assertPreparedScopedRun(database, run) {
|
|
774
775
|
const current = readContextRunRetrievalState(database, run.runId);
|
|
776
|
+
if (current.run.status !== 'active')
|
|
777
|
+
throw new TaskStateConflict('run_not_active');
|
|
775
778
|
if (run.status !== 'active'
|
|
776
779
|
|| current.run.workspace !== run.workspace
|
|
777
780
|
|| current.run.status !== run.status
|
|
@@ -779,18 +782,18 @@ function assertPreparedScopedRun(database, run) {
|
|
|
779
782
|
|| current.intakeSessionId !== run.intakeSessionId
|
|
780
783
|
|| current.profileHash !== run.profileHash
|
|
781
784
|
|| current.stateHash !== run.stateHash) {
|
|
782
|
-
throw new
|
|
785
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
783
786
|
}
|
|
784
787
|
}
|
|
785
788
|
function assertPreparedScopedState(database, prepared) {
|
|
786
789
|
if (prepared.projectState !== null) {
|
|
787
790
|
const manifestSnapshot = captureProjectManifestSnapshot(prepared.projectState.project);
|
|
788
791
|
if (manifestSnapshot.manifestDigest !== prepared.projectState.fingerprint.manifestDigest) {
|
|
789
|
-
throw new
|
|
792
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
790
793
|
}
|
|
791
794
|
const currentFingerprint = resolveProjectFingerprint(database, prepared.projectState.project, manifestSnapshot, { readOnly: true });
|
|
792
795
|
if (canonicalContentHash(currentFingerprint) !== canonicalContentHash(prepared.projectState.fingerprint)) {
|
|
793
|
-
throw new
|
|
796
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
794
797
|
}
|
|
795
798
|
}
|
|
796
799
|
if (prepared.run !== null)
|
|
@@ -801,7 +804,7 @@ function assertPreparedScopedState(database, prepared) {
|
|
|
801
804
|
entryRevision: item.revision,
|
|
802
805
|
origin: item.origin,
|
|
803
806
|
}) === null)) {
|
|
804
|
-
throw new
|
|
807
|
+
throw new TaskStateConflict('retrieval_state_changed');
|
|
805
808
|
}
|
|
806
809
|
assertScopedSelectionState(database, prepared.selectionWorkspaces, prepared.retrievalStateHash);
|
|
807
810
|
if (prepared.replayDelivery !== null) {
|