kiokuko-dsh 0.1.21 → 0.1.23
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/client.cjs +23 -1
- package/dist/client.d.ts +9 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/dsh/boundary-worker.d.ts +8 -1
- package/dist/dsh/boundary-worker.d.ts.map +1 -1
- package/dist/dsh/boundary-worker.js +100 -22
- package/dist/dsh/boundary-worker.js.map +1 -1
- package/dist/dsh/completion-report.d.ts +25 -0
- package/dist/dsh/completion-report.d.ts.map +1 -0
- package/dist/dsh/completion-report.js +88 -0
- package/dist/dsh/completion-report.js.map +1 -0
- package/dist/dsh/continuation.d.ts +1 -0
- package/dist/dsh/continuation.d.ts.map +1 -1
- package/dist/dsh/continuation.js +19 -5
- package/dist/dsh/continuation.js.map +1 -1
- package/dist/dsh/enno-controller.d.ts +6 -0
- package/dist/dsh/enno-controller.d.ts.map +1 -1
- package/dist/dsh/enno-controller.js +42 -14
- package/dist/dsh/enno-controller.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +365 -19
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/loop-guard.d.ts +43 -0
- package/dist/dsh/loop-guard.d.ts.map +1 -0
- package/dist/dsh/loop-guard.js +206 -0
- package/dist/dsh/loop-guard.js.map +1 -0
- package/dist/dsh/tools.d.ts.map +1 -1
- package/dist/dsh/tools.js +41 -20
- package/dist/dsh/tools.js.map +1 -1
- package/dist/dsh/turn-process.d.ts +15 -1
- package/dist/dsh/turn-process.d.ts.map +1 -1
- package/dist/dsh/turn-process.js +69 -11
- package/dist/dsh/turn-process.js.map +1 -1
- package/dist/model-tools/registry.d.ts +6 -0
- package/dist/model-tools/registry.d.ts.map +1 -1
- package/dist/model-tools/registry.js +35 -0
- package/dist/model-tools/registry.js.map +1 -1
- package/docs/database.md +14 -0
- package/docs/dsh-plugin.md +24 -6
- package/migrations/004_dsh_loop_guard.sql +46 -0
- package/migrations/005_dsh_completion_recovery.sql +118 -0
- package/package.json +1 -1
- package/skills/kiokuko-enno-oduno/SKILL.md +1 -0
package/dist/dsh/turn-process.js
CHANGED
|
@@ -3,6 +3,7 @@ import { withImmediateTransaction } from '../db/transaction.js';
|
|
|
3
3
|
import { KiokukoError } from '../errors.js';
|
|
4
4
|
export const DSH_TURN_HANDOFF_MAX_BYTES = 32 * 1024;
|
|
5
5
|
export const DSH_TURN_FAILURE_MAX_BYTES = 8 * 1024;
|
|
6
|
+
export const DSH_BOUNDARY_JOB_MAX_ATTEMPTS = 3;
|
|
6
7
|
export function appliedTurnOutcome(value, handoff) {
|
|
7
8
|
boundedJson(handoff, DSH_TURN_HANDOFF_MAX_BYTES, 'turn handoff');
|
|
8
9
|
return Object.freeze({ kind: 'applied', value, handoff });
|
|
@@ -67,6 +68,9 @@ function checkedIntent(input) {
|
|
|
67
68
|
if (!OPERATIONS.has(input.operation))
|
|
68
69
|
throw new KiokukoError('VALIDATION_ERROR', 'Enno receipt operation is invalid');
|
|
69
70
|
const idempotencyKey = identity(input.idempotencyKey, 'idempotencyKey');
|
|
71
|
+
const executionAttempt = input.executionAttempt ?? 0;
|
|
72
|
+
if (!Number.isSafeInteger(executionAttempt) || executionAttempt < 0)
|
|
73
|
+
throw new KiokukoError('VALIDATION_ERROR', 'executionAttempt is invalid');
|
|
70
74
|
const identityDocument = {
|
|
71
75
|
version: 1,
|
|
72
76
|
runId,
|
|
@@ -76,6 +80,7 @@ function checkedIntent(input) {
|
|
|
76
80
|
contractRevision,
|
|
77
81
|
workUnitId: workUnitId ?? null,
|
|
78
82
|
inputDigest,
|
|
83
|
+
...(executionAttempt === 0 ? {} : { executionAttempt }),
|
|
79
84
|
operation: input.operation,
|
|
80
85
|
idempotencyKey,
|
|
81
86
|
};
|
|
@@ -95,24 +100,22 @@ function checkedIntent(input) {
|
|
|
95
100
|
});
|
|
96
101
|
}
|
|
97
102
|
function sameIntent(row, intent) {
|
|
98
|
-
return row.
|
|
99
|
-
&& row.runId === intent.runId
|
|
103
|
+
return row.runId === intent.runId
|
|
100
104
|
&& row.dshSessionId === intent.dshSessionId
|
|
101
105
|
&& row.nativeTurn === intent.nativeTurn
|
|
102
106
|
&& row.phase === intent.phase
|
|
103
107
|
&& row.contractRevision === intent.contractRevision
|
|
104
108
|
&& row.workUnitKey === (intent.workUnitId ?? '')
|
|
109
|
+
&& row.executionAttempt === (intent.executionAttempt ?? 0)
|
|
105
110
|
&& row.inputDigest === intent.inputDigest
|
|
106
111
|
&& row.operation === intent.operation
|
|
107
|
-
&& row.idempotencyKey === intent.idempotencyKey
|
|
108
|
-
&& row.continuationId === intent.continuationId
|
|
109
|
-
&& row.boundaryJobId === intent.boundaryJobId;
|
|
112
|
+
&& row.idempotencyKey === intent.idempotencyKey;
|
|
110
113
|
}
|
|
111
114
|
function intentForTurn(database, sessionId, nativeTurn) {
|
|
112
115
|
return database.prepare(`
|
|
113
116
|
SELECT receipt_id AS receiptId, run_id AS runId, dsh_session_id AS dshSessionId,
|
|
114
117
|
native_turn AS nativeTurn, phase, contract_revision AS contractRevision,
|
|
115
|
-
work_unit_key AS workUnitKey, input_digest AS inputDigest, operation,
|
|
118
|
+
work_unit_key AS workUnitKey, execution_attempt AS executionAttempt, input_digest AS inputDigest, operation,
|
|
116
119
|
idempotency_key AS idempotencyKey, continuation_id AS continuationId,
|
|
117
120
|
boundary_job_id AS boundaryJobId, created_at AS createdAt
|
|
118
121
|
FROM dsh_turn_intents
|
|
@@ -126,21 +129,48 @@ export function prepareTurnIntentInTransaction(database, raw) {
|
|
|
126
129
|
if (existing !== undefined) {
|
|
127
130
|
if (!sameIntent(existing, intent))
|
|
128
131
|
throw new KiokukoError('CONFLICT', 'DSH native turn was reused for another phase intent');
|
|
129
|
-
return intent;
|
|
132
|
+
return { ...intent, receiptId: existing.receiptId, continuationId: existing.continuationId, boundaryJobId: existing.boundaryJobId };
|
|
130
133
|
}
|
|
131
134
|
const now = raw.now ?? new Date().toISOString();
|
|
132
135
|
database.prepare(`
|
|
133
136
|
INSERT INTO dsh_turn_intents (
|
|
134
137
|
receipt_id, run_id, dsh_session_id, native_turn, phase,
|
|
135
|
-
contract_revision, work_unit_key, input_digest, operation,
|
|
138
|
+
contract_revision, work_unit_key, execution_attempt, input_digest, operation,
|
|
136
139
|
idempotency_key, continuation_id, boundary_job_id, created_at
|
|
137
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
138
|
-
`).run(intent.receiptId, intent.runId, intent.dshSessionId, intent.nativeTurn, intent.phase, intent.contractRevision, intent.workUnitId ?? '', intent.inputDigest, intent.operation, intent.idempotencyKey, intent.continuationId, intent.boundaryJobId, now);
|
|
140
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
141
|
+
`).run(intent.receiptId, intent.runId, intent.dshSessionId, intent.nativeTurn, intent.phase, intent.contractRevision, intent.workUnitId ?? '', intent.executionAttempt ?? 0, intent.inputDigest, intent.operation, intent.idempotencyKey, intent.continuationId, intent.boundaryJobId, now);
|
|
139
142
|
return intent;
|
|
140
143
|
}
|
|
141
144
|
export function prepareTurnIntent(database, input) {
|
|
142
145
|
return withImmediateTransaction(database, () => prepareTurnIntentInTransaction(database, input));
|
|
143
146
|
}
|
|
147
|
+
/** A natural model stop is not phase completion. Give it the same durable delivery guard. */
|
|
148
|
+
export function enqueueUnsubmittedTurn(database, input) {
|
|
149
|
+
withImmediateTransaction(database, () => {
|
|
150
|
+
if (readTurnSeal(database, input.dshSessionId, input.nativeTurn) !== undefined)
|
|
151
|
+
return;
|
|
152
|
+
if (database.prepare(`SELECT job_id FROM dsh_boundary_jobs WHERE run_id = ?
|
|
153
|
+
AND status IN ('pending', 'processing', 'failed_retryable', 'waiting_user') LIMIT 1`).get(input.runId))
|
|
154
|
+
return;
|
|
155
|
+
const prior = intentForTurn(database, input.dshSessionId, input.nativeTurn);
|
|
156
|
+
const intent = prior ?? prepareTurnIntentInTransaction(database, input);
|
|
157
|
+
const now = input.now ?? new Date().toISOString();
|
|
158
|
+
database.prepare(`INSERT INTO dsh_turn_receipts (
|
|
159
|
+
receipt_id, run_id, dsh_session_id, native_turn, phase, contract_revision, work_unit_key,
|
|
160
|
+
input_digest, outcome_kind, next_action, created_at
|
|
161
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'retry', ?, ?)`).run(intent.receiptId, input.runId, input.dshSessionId, input.nativeTurn, input.phase, input.contractRevision, input.workUnitId ?? '', input.inputDigest, input.nextAction, now);
|
|
162
|
+
database.prepare(`INSERT INTO dsh_turn_handoffs(receipt_id, handoff_json, created_at) VALUES (?, ?, ?)`).run(intent.receiptId, JSON.stringify({ schemaVersion: 1, runId: input.runId, phase: input.phase,
|
|
163
|
+
revision: input.contractRevision, nextAction: input.nextAction, source: 'unsubmitted_turn' }), now);
|
|
164
|
+
database.prepare(`INSERT INTO dsh_boundary_jobs(job_id, receipt_id, run_id, kind, status, available_at, created_at, updated_at)
|
|
165
|
+
VALUES (?, ?, ?, 'classify_boundary', 'pending', ?, ?, ?)`).run(intent.boundaryJobId, intent.receiptId, input.runId, now, now, now);
|
|
166
|
+
const message = { id: intent.continuationId, role: 'user', content: [{ type: 'text',
|
|
167
|
+
text: `The phase has not been submitted. Continue from the current host directive: ${input.nextAction}.` }],
|
|
168
|
+
source: { kind: 'plugin', plugin: 'kiokuko-dsh', form: 'continuation', deliveryId: intent.continuationId } };
|
|
169
|
+
database.prepare(`INSERT INTO dsh_continuation_outbox(continuation_id, receipt_id, run_id, dsh_session_id,
|
|
170
|
+
causal_revision, message_json, status, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, 'pending', ?, ?)`)
|
|
171
|
+
.run(intent.continuationId, intent.receiptId, input.runId, input.dshSessionId, input.contractRevision, JSON.stringify(message), now, now);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
144
174
|
export function readTurnSeal(database, dshSessionId, nativeTurn) {
|
|
145
175
|
const row = database.prepare(`
|
|
146
176
|
SELECT receipt_id AS receiptId, run_id AS runId, dsh_session_id AS dshSessionId,
|
|
@@ -312,9 +342,28 @@ export function supersedeOutboxAtOrBeforeRevisionInTransaction(database, session
|
|
|
312
342
|
WHERE dsh_session_id = ? AND causal_revision <= ? AND status IN ('pending', 'dispatched')
|
|
313
343
|
`).run(now, identity(sessionId, 'dshSessionId'), positiveInteger(revision, 'revision'));
|
|
314
344
|
}
|
|
345
|
+
export function supersedeBoundaryJobsAtOrBeforeRevisionInTransaction(database, sessionId, revision, now = new Date().toISOString()) {
|
|
346
|
+
database.prepare(`
|
|
347
|
+
UPDATE dsh_boundary_jobs
|
|
348
|
+
SET status = 'superseded', owner_nonce = NULL, lease_expires_at = NULL, updated_at = ?
|
|
349
|
+
WHERE receipt_id IN (
|
|
350
|
+
SELECT receipt_id FROM dsh_turn_receipts
|
|
351
|
+
WHERE dsh_session_id = ? AND contract_revision <= ?
|
|
352
|
+
)
|
|
353
|
+
AND status IN ('pending', 'processing', 'waiting_user', 'failed_retryable')
|
|
354
|
+
`).run(now, identity(sessionId, 'dshSessionId'), positiveInteger(revision, 'revision'));
|
|
355
|
+
}
|
|
315
356
|
function boundaryJobIdentity(receiptId, kind) {
|
|
316
357
|
return canonicalContentHash({ receiptId: digest(receiptId, 'receiptId'), kind: identity(kind, 'boundary job kind') });
|
|
317
358
|
}
|
|
359
|
+
/** Reconstruct timers from durable state, including a crashed owner's lease. */
|
|
360
|
+
export function nextBoundaryWakeAt(database, sessionId) {
|
|
361
|
+
return database.prepare(`SELECT MIN(CASE WHEN job.status = 'processing'
|
|
362
|
+
THEN MAX(job.available_at, job.lease_expires_at) ELSE job.available_at END) AS wakeAt
|
|
363
|
+
FROM dsh_boundary_jobs AS job JOIN dsh_turn_receipts AS receipt ON receipt.receipt_id = job.receipt_id
|
|
364
|
+
WHERE receipt.dsh_session_id = ? AND job.status IN ('pending', 'processing', 'failed_retryable')`)
|
|
365
|
+
.get(sessionId)?.wakeAt ?? undefined;
|
|
366
|
+
}
|
|
318
367
|
export function claimBoundaryJobInTransaction(database, ownerNonceValue, now = new Date().toISOString(), sessionId) {
|
|
319
368
|
const ownerNonce = identity(ownerNonceValue, 'boundary owner nonce');
|
|
320
369
|
const leaseExpiresAt = new Date(Date.parse(now) + 60_000).toISOString();
|
|
@@ -370,6 +419,15 @@ export function failBoundaryJobInTransaction(database, job, error, now = new Dat
|
|
|
370
419
|
const item = typeof error === 'object' && error !== null ? error : undefined;
|
|
371
420
|
const code = typeof item?.code === 'string' ? item.code.slice(0, 128) : 'BOUNDARY_JOB_FAILED';
|
|
372
421
|
const message = (error instanceof Error ? error.message : String(error)).slice(0, 2_000);
|
|
422
|
+
if (job.attemptCount >= DSH_BOUNDARY_JOB_MAX_ATTEMPTS) {
|
|
423
|
+
database.prepare(`
|
|
424
|
+
UPDATE dsh_boundary_jobs
|
|
425
|
+
SET status = 'waiting_user', owner_nonce = NULL, lease_expires_at = NULL,
|
|
426
|
+
last_error_code = ?, last_error_message = ?, updated_at = ?
|
|
427
|
+
WHERE job_id = ? AND status = 'processing' AND owner_nonce = ?
|
|
428
|
+
`).run(code, message, now, job.jobId, job.ownerNonce);
|
|
429
|
+
return Object.freeze({ kind: 'waiting_user' });
|
|
430
|
+
}
|
|
373
431
|
const retryAt = new Date(Date.parse(now) + Math.min(60_000, 250 * 2 ** Math.min(job.attemptCount, 8))).toISOString();
|
|
374
432
|
database.prepare(`
|
|
375
433
|
UPDATE dsh_boundary_jobs
|
|
@@ -377,7 +435,7 @@ export function failBoundaryJobInTransaction(database, job, error, now = new Dat
|
|
|
377
435
|
lease_expires_at = NULL, last_error_code = ?, last_error_message = ?, updated_at = ?
|
|
378
436
|
WHERE job_id = ? AND status = 'processing' AND owner_nonce = ?
|
|
379
437
|
`).run(retryAt, code, message, now, job.jobId, job.ownerNonce);
|
|
380
|
-
return retryAt;
|
|
438
|
+
return Object.freeze({ kind: 'retry', retryAt });
|
|
381
439
|
}
|
|
382
440
|
export function replacePendingOutboxMessageInTransaction(database, receiptIdValue, message, now = new Date().toISOString()) {
|
|
383
441
|
const messageJson = boundedJson(message, DSH_TURN_HANDOFF_MAX_BYTES, 'continuation message');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-process.js","sourceRoot":"","sources":["../../src/dsh/turn-process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn-process.js","sourceRoot":"","sources":["../../src/dsh/turn-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,12 @@ export type JsonSchema = Record<string, unknown>;
|
|
|
4
4
|
export declare const MODEL_TOOL_REGISTRY: Readonly<Record<ModelToolOperationName, ModelToolContract>>;
|
|
5
5
|
export declare function modelToolContract(name: ModelToolOperationName): ModelToolContract;
|
|
6
6
|
export declare function modelFacingInputSchema(name: ModelToolOperationName): JsonSchema;
|
|
7
|
+
/**
|
|
8
|
+
* Publish the real JSON value shape without moving semantic validation into
|
|
9
|
+
* the native tool transport. This prevents models from encoding nested
|
|
10
|
+
* objects as strings while preserving host-authored retry/clarify outcomes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function modelFacingTransportSchema(name: ModelToolOperationName): JsonSchema;
|
|
7
13
|
/** Strip host-owned fields from a current revision-bound report schema. */
|
|
8
14
|
export declare function projectModelFacingInputSchema(name: ModelToolOperationName, schema: JsonSchema): JsonSchema;
|
|
9
15
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/model-tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAkDjD,eAAO,MAAM,mBAAmB,EAE1B,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,GAAG,iBAAiB,CAEjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAG/E;AAED,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAE1G"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/model-tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAkDjD,eAAO,MAAM,mBAAmB,EAE1B,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,GAAG,iBAAiB,CAEjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAG/E;AA0BD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAEnF;AAED,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAE1G"}
|
|
@@ -53,6 +53,41 @@ export function modelFacingInputSchema(name) {
|
|
|
53
53
|
const contract = modelToolContract(name);
|
|
54
54
|
return projectModelFacingInputSchema(name, fullJsonSchema(contract));
|
|
55
55
|
}
|
|
56
|
+
function transportShape(value) {
|
|
57
|
+
if (Array.isArray(value))
|
|
58
|
+
return value.map(transportShape);
|
|
59
|
+
if (typeof value !== 'object' || value === null)
|
|
60
|
+
return value;
|
|
61
|
+
const source = value;
|
|
62
|
+
const projected = {};
|
|
63
|
+
if (typeof source.type === 'string')
|
|
64
|
+
projected.type = source.type;
|
|
65
|
+
if (typeof source.description === 'string')
|
|
66
|
+
projected.description = source.description;
|
|
67
|
+
if (typeof source.properties === 'object' && source.properties !== null && !Array.isArray(source.properties)) {
|
|
68
|
+
projected.properties = Object.fromEntries(Object.entries(source.properties).map(([key, child]) => [key, transportShape(child)]));
|
|
69
|
+
}
|
|
70
|
+
if (source.items !== undefined)
|
|
71
|
+
projected.items = transportShape(source.items);
|
|
72
|
+
for (const keyword of ['anyOf', 'oneOf', 'allOf']) {
|
|
73
|
+
if (Array.isArray(source[keyword]))
|
|
74
|
+
projected[keyword] = source[keyword].map(transportShape);
|
|
75
|
+
}
|
|
76
|
+
// The semantic boundary remains responsible for required fields, closed
|
|
77
|
+
// objects, enum membership, and value bounds. The native transport only
|
|
78
|
+
// rejects JSON shape mismatches before they can commit a bounded Enno retry.
|
|
79
|
+
if (source.type === 'object' || projected.properties !== undefined)
|
|
80
|
+
projected.additionalProperties = true;
|
|
81
|
+
return projected;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Publish the real JSON value shape without moving semantic validation into
|
|
85
|
+
* the native tool transport. This prevents models from encoding nested
|
|
86
|
+
* objects as strings while preserving host-authored retry/clarify outcomes.
|
|
87
|
+
*/
|
|
88
|
+
export function modelFacingTransportSchema(name) {
|
|
89
|
+
return transportShape(modelFacingInputSchema(name));
|
|
90
|
+
}
|
|
56
91
|
/** Strip host-owned fields from a current revision-bound report schema. */
|
|
57
92
|
export function projectModelFacingInputSchema(name, schema) {
|
|
58
93
|
return removeHostOwnedFields(schema, modelToolContract(name).hostOwnedFields);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/model-tools/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/model-tools/registry.ts"],"names":[],"mappings":"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"}
|
package/docs/database.md
CHANGED
|
@@ -16,6 +16,20 @@ The baseline binds every ledger run to exactly one authoritative DSH session:
|
|
|
16
16
|
- `enno_resume_tokens.dsh_session_id`
|
|
17
17
|
- `enno_execution_leases.dsh_session_id`
|
|
18
18
|
|
|
19
|
+
`migrations/004_dsh_loop_guard.sql` adds the durable automatic-continuation
|
|
20
|
+
boundary. `dsh_loop_guard_states` stores one progress fingerprint and a maximum
|
|
21
|
+
count of three per run/session; `dsh_loop_guard_claims` makes delivery replay
|
|
22
|
+
idempotent and records the single user-question claim. The same migration adds
|
|
23
|
+
no-progress counters to leased boundary jobs. A fourth unchanged continuation,
|
|
24
|
+
or a fourth stateful host effect without Enno progress, enters `waiting_user`
|
|
25
|
+
before another model request is dispatched.
|
|
26
|
+
|
|
27
|
+
`migrations/005_dsh_completion_recovery.sql` separates receipt identity by
|
|
28
|
+
authoritative WorkUnit attempt and adds `dsh_completion_reports`. A terminal
|
|
29
|
+
receipt creates its pending report in the same commit. Reports are acknowledged
|
|
30
|
+
only after the native session is flushed; reload checks the deterministic
|
|
31
|
+
report identity before publishing a fallback again.
|
|
32
|
+
|
|
19
33
|
`dsh_intake_idempotency` is the intake idempotency store for run-open and
|
|
20
34
|
intake-answer replays, keyed by DSH-native `dsh.*` scopes. Baseline completion
|
|
21
35
|
requires an empty `PRAGMA foreign_key_check` result.
|
package/docs/dsh-plugin.md
CHANGED
|
@@ -167,8 +167,8 @@ The dsh integration provides:
|
|
|
167
167
|
commands routed to the exact invoking agent and session;
|
|
168
168
|
- revision, route, phase, lease, idempotency, confirmation, verifier, and
|
|
169
169
|
meditation gates through the Kiokuko core;
|
|
170
|
-
- a tool result whose next action requires host work (plan confirmation or
|
|
171
|
-
final verification)
|
|
170
|
+
- a non-terminal tool result whose next action requires host work (plan confirmation or
|
|
171
|
+
final verification) calls DSH `concludeTurn()` only after
|
|
172
172
|
the successful result exists. Plan submission therefore concludes its model
|
|
173
173
|
step before DSH opens a dedicated `plan-review` interaction. Receipt,
|
|
174
174
|
handoff, outbox, and seal commit atomically; a separate durable job then owns
|
|
@@ -183,14 +183,32 @@ The dsh integration provides:
|
|
|
183
183
|
lists, paths, commands, dependencies, checks, and limits without changing the
|
|
184
184
|
DSH `plan-review` intent or decision labels;
|
|
185
185
|
- a durable run-to-`turn/start` binding and an immutable terminal `turn/end`
|
|
186
|
-
boundary.
|
|
187
|
-
|
|
188
|
-
|
|
186
|
+
boundary. A successful Oduno meditation result deliberately does not call
|
|
187
|
+
`concludeTurn()`: the same native turn remains open for one visible assistant
|
|
188
|
+
response summarizing the outcome, changes, verification, and remaining
|
|
189
|
+
uncertainty. On the resulting genuinely terminal idle boundary, the adapter
|
|
190
|
+
awaits DSH's exact live `sessions.flush(session)` before the ledger close,
|
|
191
|
+
including the tool result and that final assistant/turn suffix. The
|
|
189
192
|
background finalizer reads only that inclusive range even if the session has
|
|
190
|
-
already received later turns
|
|
193
|
+
already received later turns. If the final response is empty or its provider
|
|
194
|
+
fails, a durable plugin-owned result appears in chat, using recorded work,
|
|
195
|
+
verification, and remaining issues. It does not impersonate a model message
|
|
196
|
+
or make another model request. The fallback remains visible after reload;
|
|
191
197
|
- bounded turn continuation, exact run/session/workspace/route binding, and
|
|
192
198
|
in-memory plaintext continuation tokens.
|
|
193
199
|
|
|
200
|
+
Natural model stops before a required phase submission enter the same durable
|
|
201
|
+
three-delivery loop guard. Boundary workers serialize per session, not across
|
|
202
|
+
unrelated sessions. New human input aborts pending questions and supersedes old
|
|
203
|
+
jobs; delivery rechecks ownership after native flushing. Future retry times and
|
|
204
|
+
expired-owner recovery are scheduled from the database after restart as well
|
|
205
|
+
as during normal operation.
|
|
206
|
+
|
|
207
|
+
CI requires full native-loop coverage against the pinned published runtime,
|
|
208
|
+
including natural stops, identical work-report retries, approval cancellation,
|
|
209
|
+
and both empty and failed final responses. Package installation alone is not
|
|
210
|
+
treated as proof of workflow completion.
|
|
211
|
+
|
|
194
212
|
Expected validation or omission failures become bounded retry receipts. The
|
|
195
213
|
first identical failure retries the same phase with temporary evidence; the
|
|
196
214
|
second asks Akinator. A deterministic continuation is delivered only after a
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
-- Bound every plugin-owned automatic continuation across turns and restarts.
|
|
2
|
+
-- A claim is durable before native delivery; replaying the same claim never
|
|
3
|
+
-- consumes another slot.
|
|
4
|
+
|
|
5
|
+
CREATE TABLE dsh_loop_guard_states (
|
|
6
|
+
run_id TEXT NOT NULL REFERENCES ledger_runs(run_id) ON DELETE CASCADE,
|
|
7
|
+
dsh_session_id TEXT NOT NULL CHECK (length(dsh_session_id) BETWEEN 1 AND 256),
|
|
8
|
+
instruction_digest TEXT CHECK (instruction_digest IS NULL OR length(instruction_digest) = 64),
|
|
9
|
+
generation INTEGER NOT NULL DEFAULT 0 CHECK (generation >= 0),
|
|
10
|
+
automatic_count INTEGER NOT NULL DEFAULT 0 CHECK (automatic_count BETWEEN 0 AND 3),
|
|
11
|
+
status TEXT NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'waiting_user')),
|
|
12
|
+
blocked_claim_id TEXT CHECK (blocked_claim_id IS NULL OR length(blocked_claim_id) = 64),
|
|
13
|
+
created_at TEXT NOT NULL,
|
|
14
|
+
updated_at TEXT NOT NULL,
|
|
15
|
+
PRIMARY KEY (run_id, dsh_session_id)
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
CREATE TABLE dsh_loop_guard_claims (
|
|
19
|
+
claim_id TEXT PRIMARY KEY CHECK (length(claim_id) = 64),
|
|
20
|
+
run_id TEXT NOT NULL,
|
|
21
|
+
dsh_session_id TEXT NOT NULL,
|
|
22
|
+
instruction_digest TEXT NOT NULL CHECK (length(instruction_digest) = 64),
|
|
23
|
+
generation INTEGER NOT NULL CHECK (generation >= 0),
|
|
24
|
+
ordinal INTEGER NOT NULL CHECK (ordinal BETWEEN 1 AND 4),
|
|
25
|
+
decision TEXT NOT NULL CHECK (decision IN ('deliver', 'wait_user')),
|
|
26
|
+
resolution TEXT CHECK (resolution IS NULL OR resolution IN ('user_answer', 'manual_user', 'superseded')),
|
|
27
|
+
created_at TEXT NOT NULL,
|
|
28
|
+
question_asked_at TEXT,
|
|
29
|
+
resolved_at TEXT,
|
|
30
|
+
FOREIGN KEY (run_id, dsh_session_id)
|
|
31
|
+
REFERENCES dsh_loop_guard_states(run_id, dsh_session_id) ON DELETE CASCADE
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
CREATE INDEX idx_dsh_loop_guard_claims_scope
|
|
35
|
+
ON dsh_loop_guard_claims(run_id, dsh_session_id, generation, created_at);
|
|
36
|
+
|
|
37
|
+
-- Stateful host effects can also cycle successfully without advancing Enno.
|
|
38
|
+
-- Keep their no-progress accounting on the already leased job row.
|
|
39
|
+
ALTER TABLE dsh_boundary_jobs ADD COLUMN progress_digest TEXT
|
|
40
|
+
CHECK (progress_digest IS NULL OR length(progress_digest) = 64);
|
|
41
|
+
ALTER TABLE dsh_boundary_jobs ADD COLUMN progress_count INTEGER NOT NULL DEFAULT 0
|
|
42
|
+
CHECK (progress_count BETWEEN 0 AND 3);
|
|
43
|
+
ALTER TABLE dsh_boundary_jobs ADD COLUMN progress_claim_attempt INTEGER
|
|
44
|
+
CHECK (progress_claim_attempt IS NULL OR progress_claim_attempt >= 1);
|
|
45
|
+
ALTER TABLE dsh_boundary_jobs ADD COLUMN progress_waiting INTEGER NOT NULL DEFAULT 0
|
|
46
|
+
CHECK (progress_waiting IN (0, 1));
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
-- Each work-report attempt is distinct; replay within an attempt remains idempotent.
|
|
2
|
+
ALTER TABLE dsh_turn_intents ADD COLUMN execution_attempt INTEGER NOT NULL DEFAULT 0 CHECK (execution_attempt >= 0);
|
|
3
|
+
ALTER TABLE dsh_turn_receipts ADD COLUMN execution_attempt INTEGER NOT NULL DEFAULT 0 CHECK (execution_attempt >= 0);
|
|
4
|
+
UPDATE dsh_turn_receipts AS receipt SET execution_attempt = (
|
|
5
|
+
SELECT COUNT(*) FROM dsh_turn_receipts AS prior
|
|
6
|
+
WHERE prior.run_id = receipt.run_id AND prior.phase = 'work_unit'
|
|
7
|
+
AND prior.work_unit_key = receipt.work_unit_key AND prior.contract_revision = receipt.contract_revision
|
|
8
|
+
AND prior.outcome_kind = 'applied' AND prior.native_turn < receipt.native_turn
|
|
9
|
+
) WHERE receipt.phase = 'work_unit';
|
|
10
|
+
UPDATE dsh_turn_intents SET execution_attempt = COALESCE(
|
|
11
|
+
(SELECT execution_attempt FROM dsh_turn_receipts WHERE receipt_id = dsh_turn_intents.receipt_id), 0);
|
|
12
|
+
DROP INDEX idx_dsh_turn_receipts_applied_identity;
|
|
13
|
+
CREATE UNIQUE INDEX idx_dsh_turn_receipts_applied_identity
|
|
14
|
+
ON dsh_turn_receipts(run_id, phase, contract_revision, work_unit_key, execution_attempt, input_digest)
|
|
15
|
+
WHERE outcome_kind = 'applied';
|
|
16
|
+
DROP TRIGGER dsh_turn_receipt_from_enno_completion;
|
|
17
|
+
CREATE TRIGGER dsh_turn_receipt_from_enno_completion
|
|
18
|
+
AFTER UPDATE OF state, response_json ON enno_operation_receipts
|
|
19
|
+
WHEN NEW.state = 'completed' AND OLD.state <> 'completed'
|
|
20
|
+
AND EXISTS (
|
|
21
|
+
SELECT 1 FROM dsh_turn_intents AS intent
|
|
22
|
+
WHERE intent.run_id = NEW.run_id
|
|
23
|
+
AND intent.operation = NEW.operation
|
|
24
|
+
AND intent.idempotency_key = NEW.idempotency_key
|
|
25
|
+
)
|
|
26
|
+
BEGIN
|
|
27
|
+
INSERT INTO dsh_turn_receipts (
|
|
28
|
+
receipt_id, run_id, dsh_session_id, native_turn, phase,
|
|
29
|
+
contract_revision, work_unit_key, input_digest, execution_attempt, outcome_kind,
|
|
30
|
+
next_action, enno_operation, enno_idempotency_key, created_at
|
|
31
|
+
)
|
|
32
|
+
SELECT intent.receipt_id, intent.run_id, intent.dsh_session_id,
|
|
33
|
+
intent.native_turn, intent.phase, intent.contract_revision,
|
|
34
|
+
intent.work_unit_key, intent.input_digest, intent.execution_attempt, 'applied',
|
|
35
|
+
json_extract(NEW.response_json, '$.ennoOduno.nextAction'),
|
|
36
|
+
NEW.operation, NEW.idempotency_key, NEW.finished_at
|
|
37
|
+
FROM dsh_turn_intents AS intent
|
|
38
|
+
WHERE intent.run_id = NEW.run_id
|
|
39
|
+
AND intent.operation = NEW.operation
|
|
40
|
+
AND intent.idempotency_key = NEW.idempotency_key;
|
|
41
|
+
|
|
42
|
+
INSERT INTO dsh_turn_handoffs (receipt_id, handoff_json, created_at)
|
|
43
|
+
SELECT intent.receipt_id,
|
|
44
|
+
json_object(
|
|
45
|
+
'schemaVersion', 1,
|
|
46
|
+
'runId', intent.run_id,
|
|
47
|
+
'phase', intent.phase,
|
|
48
|
+
'revision', intent.contract_revision,
|
|
49
|
+
'nextAction', json_extract(NEW.response_json, '$.ennoOduno.nextAction'),
|
|
50
|
+
'source', 'enno_operation_receipt'
|
|
51
|
+
),
|
|
52
|
+
NEW.finished_at
|
|
53
|
+
FROM dsh_turn_intents AS intent
|
|
54
|
+
WHERE intent.run_id = NEW.run_id
|
|
55
|
+
AND intent.operation = NEW.operation
|
|
56
|
+
AND intent.idempotency_key = NEW.idempotency_key;
|
|
57
|
+
|
|
58
|
+
INSERT INTO dsh_boundary_jobs (
|
|
59
|
+
job_id, receipt_id, run_id, kind, status, available_at,
|
|
60
|
+
created_at, updated_at
|
|
61
|
+
)
|
|
62
|
+
SELECT intent.boundary_job_id,
|
|
63
|
+
intent.receipt_id, intent.run_id,
|
|
64
|
+
'classify_boundary',
|
|
65
|
+
'pending', NEW.finished_at, NEW.finished_at, NEW.finished_at
|
|
66
|
+
FROM dsh_turn_intents AS intent
|
|
67
|
+
WHERE intent.run_id = NEW.run_id
|
|
68
|
+
AND intent.operation = NEW.operation
|
|
69
|
+
AND intent.idempotency_key = NEW.idempotency_key;
|
|
70
|
+
|
|
71
|
+
INSERT INTO dsh_continuation_outbox (
|
|
72
|
+
continuation_id, receipt_id, run_id, dsh_session_id,
|
|
73
|
+
causal_revision, message_json, status, created_at, updated_at
|
|
74
|
+
)
|
|
75
|
+
SELECT intent.continuation_id, intent.receipt_id, intent.run_id,
|
|
76
|
+
intent.dsh_session_id, intent.contract_revision,
|
|
77
|
+
json_object(
|
|
78
|
+
'id', intent.continuation_id,
|
|
79
|
+
'role', 'user',
|
|
80
|
+
'content', json_array(json_object(
|
|
81
|
+
'type', 'text',
|
|
82
|
+
'text', 'Continue Kiokuko processing from nextAction: ' ||
|
|
83
|
+
coalesce(json_extract(NEW.response_json, '$.ennoOduno.nextAction'), 'complete')
|
|
84
|
+
)),
|
|
85
|
+
'source', json_object(
|
|
86
|
+
'kind', 'plugin', 'plugin', 'kiokuko-dsh',
|
|
87
|
+
'form', 'continuation', 'deliveryId', intent.continuation_id
|
|
88
|
+
)
|
|
89
|
+
),
|
|
90
|
+
CASE WHEN json_extract(NEW.response_json, '$.ennoOduno.nextAction') IN ('complete', 'report_blocker')
|
|
91
|
+
THEN 'superseded' ELSE 'pending' END,
|
|
92
|
+
NEW.finished_at, NEW.finished_at
|
|
93
|
+
FROM dsh_turn_intents AS intent
|
|
94
|
+
WHERE intent.run_id = NEW.run_id
|
|
95
|
+
AND intent.operation = NEW.operation
|
|
96
|
+
AND intent.idempotency_key = NEW.idempotency_key;
|
|
97
|
+
END;
|
|
98
|
+
|
|
99
|
+
CREATE TABLE dsh_completion_reports (
|
|
100
|
+
run_id TEXT PRIMARY KEY REFERENCES ledger_runs(run_id) ON DELETE CASCADE,
|
|
101
|
+
receipt_id TEXT NOT NULL REFERENCES dsh_turn_receipts(receipt_id),
|
|
102
|
+
dsh_session_id TEXT NOT NULL,
|
|
103
|
+
native_turn INTEGER NOT NULL,
|
|
104
|
+
status TEXT NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'delivered')),
|
|
105
|
+
delivered_seq INTEGER,
|
|
106
|
+
CHECK (delivered_seq IS NULL OR delivered_seq >= 0)
|
|
107
|
+
);
|
|
108
|
+
CREATE TRIGGER dsh_completion_report_pending AFTER INSERT ON dsh_turn_receipts
|
|
109
|
+
WHEN NEW.outcome_kind = 'applied' AND NEW.next_action IN ('complete', 'report_blocker')
|
|
110
|
+
BEGIN
|
|
111
|
+
INSERT OR IGNORE INTO dsh_completion_reports(run_id, receipt_id, dsh_session_id, native_turn)
|
|
112
|
+
VALUES (NEW.run_id, NEW.receipt_id, NEW.dsh_session_id, NEW.native_turn);
|
|
113
|
+
END;
|
|
114
|
+
-- Recover a completion interrupted before the plugin upgrade without replaying old closed runs.
|
|
115
|
+
INSERT OR IGNORE INTO dsh_completion_reports(run_id, receipt_id, dsh_session_id, native_turn)
|
|
116
|
+
SELECT receipt.run_id, receipt.receipt_id, receipt.dsh_session_id, receipt.native_turn
|
|
117
|
+
FROM dsh_turn_receipts AS receipt JOIN ledger_runs AS run ON run.run_id = receipt.run_id
|
|
118
|
+
WHERE receipt.next_action IN ('complete', 'report_blocker') AND run.status = 'active';
|
package/package.json
CHANGED
|
@@ -86,6 +86,7 @@ Zenki may propose a plan. Goki may report one approved WorkUnit. Neither role ma
|
|
|
86
86
|
8. Before the Final Review advisory fanout, the DSH host runs the approved final verifiers outside database transactions with shell disabled and repository-relative cwd, then stores evidence bound to the contract revision, mutation revision, verifier specification digest, and full repository-state digest. Verification preparation is not a model tool. Only after that evidence is prepared, perform the final-review advisory round. Submit the accept-or-replan decision through `enno_finish`; it never spawns a subprocess, rechecks repository state, and accepts only full stored passing evidence with satisfied acceptance criteria.
|
|
87
87
|
9. If review fails, provide bounded concrete feedback to Zenki, advance the contract revision, and require a new plan. Never reactivate the old Goki WorkUnit directly.
|
|
88
88
|
10. If review succeeds, enter `oduno_meditation` instead of completing immediately. Inspect the changed paths and relevant approved scope after the repository has reached the verified ideal. Reflect on obsolete, useless, or redundant tests and functions. Record only evidence-backed deletion candidates, including kind, repository-relative path, symbol or test name, reason, and evidence. Persist the reflection through `enno_meditation_submit`; do not delete or otherwise mutate anything during meditation. The run completes only after this submission.
|
|
89
|
+
11. After `enno_meditation_submit` returns `kind=applied` with `value.ennoOduno.nextAction=complete`, call no more tools and use the next assistant step in the same native turn to return a visible final response to the user. Lead with the outcome, summarize the completed changes and verification results, state any remaining issue or uncertainty, and mention meditation deletion candidates only when they are actionable. Do not expose internal roles, identifiers, revisions, digests, leases, or protocol fields. A persisted completion without this user-facing response is an incomplete interaction.
|
|
89
90
|
|
|
90
91
|
## Identity and revision invariants
|
|
91
92
|
|