@principles/pd-cli 1.109.3 → 1.109.4
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/services/mainline-snapshot-assembler.d.ts.map +1 -1
- package/dist/services/mainline-snapshot-assembler.js +13 -2
- package/dist/services/mainline-snapshot-assembler.js.map +1 -1
- package/package.json +1 -1
- package/src/services/mainline-snapshot-assembler.ts +17 -2
- package/tests/services/mainline-snapshot-assembler.test.ts +147 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mainline-snapshot-assembler.d.ts","sourceRoot":"","sources":["../../src/services/mainline-snapshot-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,sBAAsB,EACtB,sBAAsB,EAGtB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAU9B,MAAM,6BAA6B,CAAC;AAIrC,MAAM,WAAW,+BAA+B;IAC9C,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"mainline-snapshot-assembler.d.ts","sourceRoot":"","sources":["../../src/services/mainline-snapshot-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,sBAAsB,EACtB,sBAAsB,EAGtB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAU9B,MAAM,6BAA6B,CAAC;AAIrC,MAAM,WAAW,+BAA+B;IAC9C,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAgfD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC,CAwBzC;AAGD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -155,13 +155,17 @@ async function buildDiagnosisTaskSnapshot(stateManager, task) {
|
|
|
155
155
|
async function findDiagnosticianArtifact(input) {
|
|
156
156
|
const { stateManager, diagnosisTaskId, painId, warnings } = input;
|
|
157
157
|
const db = stateManager.connection.getDb();
|
|
158
|
+
// PRI-411: Split pipeline stores the diagnostician artifact under the
|
|
159
|
+
// diag_router child task (e.g. "diag_router-diagnosis_xxx"), not the
|
|
160
|
+
// parent "diagnosis_xxx". Fallback to diag_router-{parentTaskId} when
|
|
161
|
+
// the parent lookup returns no rows.
|
|
158
162
|
const rows = db
|
|
159
163
|
.prepare(`SELECT artifact_id, run_id, task_id, artifact_kind, content_json
|
|
160
164
|
FROM artifacts
|
|
161
|
-
WHERE task_id = ? AND artifact_kind = 'diagnostician_output'
|
|
165
|
+
WHERE (task_id = ? OR task_id = 'diag_router-' || ?) AND artifact_kind = 'diagnostician_output'
|
|
162
166
|
ORDER BY created_at DESC
|
|
163
167
|
LIMIT 1`)
|
|
164
|
-
.all(diagnosisTaskId);
|
|
168
|
+
.all(diagnosisTaskId, diagnosisTaskId);
|
|
165
169
|
const [raw] = rows;
|
|
166
170
|
if (!raw)
|
|
167
171
|
return null;
|
|
@@ -170,6 +174,8 @@ async function findDiagnosticianArtifact(input) {
|
|
|
170
174
|
warnings.push(`Malformed diagnostician artifact row for task ${diagnosisTaskId}: missing artifact_id or content_json`);
|
|
171
175
|
return null;
|
|
172
176
|
}
|
|
177
|
+
// EP-07: If artifact was found via diag_router fallback, verify lineage
|
|
178
|
+
// consistency — the artifact's sourcePainId must match the parent pain.
|
|
173
179
|
let sourcePainId = painId;
|
|
174
180
|
const parsed = safeJsonParse(row.contentJson);
|
|
175
181
|
if (parsed.ok && isObject(parsed.value)) {
|
|
@@ -181,6 +187,11 @@ async function findDiagnosticianArtifact(input) {
|
|
|
181
187
|
else if (parsed.ok === false) {
|
|
182
188
|
warnings.push(`Artifact ${row.artifactId} content_json parse failed: ${parsed.reason}`);
|
|
183
189
|
}
|
|
190
|
+
// EP-07 mismatch guard: warn when artifact lineage doesn't match parent pain
|
|
191
|
+
if (painId && sourcePainId && sourcePainId !== painId) {
|
|
192
|
+
warnings.push(`Artifact ${row.artifactId} (task ${row.taskId}) sourcePainId "${sourcePainId}" ` +
|
|
193
|
+
`mismatches parent painId "${painId}" — lineage may be broken`);
|
|
194
|
+
}
|
|
184
195
|
return {
|
|
185
196
|
artifactId: row.artifactId,
|
|
186
197
|
sourcePainId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mainline-snapshot-assembler.js","sourceRoot":"","sources":["../../src/services/mainline-snapshot-assembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mainline-snapshot-assembler.js","sourceRoot":"","sources":["../../src/services/mainline-snapshot-assembler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -235,15 +235,20 @@ async function findDiagnosticianArtifact(
|
|
|
235
235
|
): Promise<DiagnosticianArtifactSnapshot | null> {
|
|
236
236
|
const { stateManager, diagnosisTaskId, painId, warnings } = input;
|
|
237
237
|
const db = stateManager.connection.getDb();
|
|
238
|
+
|
|
239
|
+
// PRI-411: Split pipeline stores the diagnostician artifact under the
|
|
240
|
+
// diag_router child task (e.g. "diag_router-diagnosis_xxx"), not the
|
|
241
|
+
// parent "diagnosis_xxx". Fallback to diag_router-{parentTaskId} when
|
|
242
|
+
// the parent lookup returns no rows.
|
|
238
243
|
const rows = db
|
|
239
244
|
.prepare(
|
|
240
245
|
`SELECT artifact_id, run_id, task_id, artifact_kind, content_json
|
|
241
246
|
FROM artifacts
|
|
242
|
-
WHERE task_id = ? AND artifact_kind = 'diagnostician_output'
|
|
247
|
+
WHERE (task_id = ? OR task_id = 'diag_router-' || ?) AND artifact_kind = 'diagnostician_output'
|
|
243
248
|
ORDER BY created_at DESC
|
|
244
249
|
LIMIT 1`,
|
|
245
250
|
)
|
|
246
|
-
.all(diagnosisTaskId);
|
|
251
|
+
.all(diagnosisTaskId, diagnosisTaskId);
|
|
247
252
|
|
|
248
253
|
const [raw] = rows;
|
|
249
254
|
if (!raw) return null;
|
|
@@ -254,6 +259,8 @@ async function findDiagnosticianArtifact(
|
|
|
254
259
|
return null;
|
|
255
260
|
}
|
|
256
261
|
|
|
262
|
+
// EP-07: If artifact was found via diag_router fallback, verify lineage
|
|
263
|
+
// consistency — the artifact's sourcePainId must match the parent pain.
|
|
257
264
|
let sourcePainId: string | null = painId;
|
|
258
265
|
const parsed = safeJsonParse(row.contentJson);
|
|
259
266
|
if (parsed.ok && isObject(parsed.value)) {
|
|
@@ -265,6 +272,14 @@ async function findDiagnosticianArtifact(
|
|
|
265
272
|
warnings.push(`Artifact ${row.artifactId} content_json parse failed: ${parsed.reason}`);
|
|
266
273
|
}
|
|
267
274
|
|
|
275
|
+
// EP-07 mismatch guard: warn when artifact lineage doesn't match parent pain
|
|
276
|
+
if (painId && sourcePainId && sourcePainId !== painId) {
|
|
277
|
+
warnings.push(
|
|
278
|
+
`Artifact ${row.artifactId} (task ${row.taskId}) sourcePainId "${sourcePainId}" ` +
|
|
279
|
+
`mismatches parent painId "${painId}" — lineage may be broken`,
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
|
|
268
283
|
return {
|
|
269
284
|
artifactId: row.artifactId,
|
|
270
285
|
sourcePainId,
|
|
@@ -216,17 +216,20 @@ describe('assembleMainlineSnapshot', () => {
|
|
|
216
216
|
rmTmpDir(workspaceDir);
|
|
217
217
|
});
|
|
218
218
|
|
|
219
|
-
it('returns a snapshot with
|
|
219
|
+
it('returns a snapshot with default readiness when no readiness snapshot is provided', async () => {
|
|
220
220
|
await sm.initialize();
|
|
221
221
|
const painId = 'pain-empty';
|
|
222
222
|
await seedDiagnosisTask(sm, painId);
|
|
223
223
|
|
|
224
224
|
const { snapshot, warnings } = await assembleMainlineSnapshot({ workspaceDir, painId });
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
// Default config resolves a diagnostician profile, so readiness is "configured"
|
|
227
|
+
// (actual connectivity is unknown without probe, but config alignment is satisfied)
|
|
228
|
+
expect(snapshot.readiness.diagnosticianReady).toBe(true);
|
|
227
229
|
expect(warnings.length).toBe(0);
|
|
228
230
|
const verdict = assertMainlineContract(snapshot);
|
|
229
|
-
|
|
231
|
+
// diagnosis_task should be a violation since the task has no succeeded run
|
|
232
|
+
expect(verdict.stages.some((s) => s.stage === 'diagnosis_task' && s.status === 'violation')).toBe(true);
|
|
230
233
|
});
|
|
231
234
|
|
|
232
235
|
it('malformed artifact content_json does not crash; contract reports violation with reason + nextAction', async () => {
|
|
@@ -422,4 +425,145 @@ describe('assembleMainlineSnapshot', () => {
|
|
|
422
425
|
|
|
423
426
|
expect(resolvedPainId).toBe(painId);
|
|
424
427
|
});
|
|
428
|
+
|
|
429
|
+
// ── PRI-411: Split pipeline artifact fallback ─────────────────────────────
|
|
430
|
+
|
|
431
|
+
it('finds diagnostician artifact stored under diag_router child task (split pipeline layout)', async () => {
|
|
432
|
+
await sm.initialize();
|
|
433
|
+
const painId = 'pain-split-pipeline';
|
|
434
|
+
const parentTaskId = `diagnosis_${painId}`;
|
|
435
|
+
const routerTaskId = `diag_router-${parentTaskId}`;
|
|
436
|
+
|
|
437
|
+
// Create the parent diagnosis task (split pipeline parent)
|
|
438
|
+
await sm.createTask({
|
|
439
|
+
taskId: parentTaskId,
|
|
440
|
+
taskKind: 'diagnostician',
|
|
441
|
+
inputRef: painId,
|
|
442
|
+
status: 'pending',
|
|
443
|
+
attemptCount: 0,
|
|
444
|
+
maxAttempts: 3,
|
|
445
|
+
diagnosticJson: diagnosticianDiagnosticJson(painId),
|
|
446
|
+
});
|
|
447
|
+
|
|
448
|
+
// Create the diag_router child task
|
|
449
|
+
await sm.createTask({
|
|
450
|
+
taskId: routerTaskId,
|
|
451
|
+
taskKind: 'diag_router',
|
|
452
|
+
inputRef: painId,
|
|
453
|
+
status: 'pending',
|
|
454
|
+
attemptCount: 0,
|
|
455
|
+
maxAttempts: 3,
|
|
456
|
+
diagnosticJson: diagnosticianDiagnosticJson(painId),
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
// Commit the artifact under the diag_router child task (not the parent)
|
|
460
|
+
const output = validDiagnosticianOutput(painId);
|
|
461
|
+
const committer = new SqliteDiagnosticianCommitter(sm.connection);
|
|
462
|
+
await sm.acquireLease({ taskId: routerTaskId, owner: 'test-owner', durationMs: 60_000, runtimeKind: 'openclaw' });
|
|
463
|
+
const runs = await sm.getRunsByTask(routerTaskId);
|
|
464
|
+
const runId = runs[0]?.runId;
|
|
465
|
+
if (!runId) throw new Error(`No run created for task ${routerTaskId}`);
|
|
466
|
+
const commitResult = await committer.commit({
|
|
467
|
+
runId,
|
|
468
|
+
taskId: routerTaskId,
|
|
469
|
+
output,
|
|
470
|
+
idempotencyKey: `idem-${routerTaskId}`,
|
|
471
|
+
});
|
|
472
|
+
await sm.markTaskSucceeded(routerTaskId, `artifact://${commitResult.artifactId}`);
|
|
473
|
+
// Also mark parent as succeeded
|
|
474
|
+
await sm.markTaskSucceeded(parentTaskId, `artifact://${commitResult.artifactId}`);
|
|
475
|
+
|
|
476
|
+
const { snapshot, warnings } = await assembleMainlineSnapshot({ workspaceDir, painId, readiness: healthyReadiness() });
|
|
477
|
+
|
|
478
|
+
// PRI-411: fallback should find the artifact under diag_router-*
|
|
479
|
+
expect(snapshot.chain.diagnosticianArtifact).not.toBeNull();
|
|
480
|
+
expect(snapshot.chain.diagnosticianArtifact?.artifactId).toBe(commitResult.artifactId);
|
|
481
|
+
expect(snapshot.chain.diagnosticianArtifact?.sourcePainId).toBe(painId);
|
|
482
|
+
// No mismatch warning since lineage is consistent
|
|
483
|
+
expect(warnings.some((w) => w.includes('mismatches'))).toBe(false);
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
it('split pipeline artifact with mismatched sourcePainId emits lineage warning (EP-07)', async () => {
|
|
487
|
+
await sm.initialize();
|
|
488
|
+
const painId = 'pain-split-mismatch';
|
|
489
|
+
const wrongPainId = 'pain-wrong-lineage';
|
|
490
|
+
const parentTaskId = `diagnosis_${painId}`;
|
|
491
|
+
const routerTaskId = `diag_router-${parentTaskId}`;
|
|
492
|
+
|
|
493
|
+
await sm.createTask({
|
|
494
|
+
taskId: parentTaskId,
|
|
495
|
+
taskKind: 'diagnostician',
|
|
496
|
+
inputRef: painId,
|
|
497
|
+
status: 'pending',
|
|
498
|
+
attemptCount: 0,
|
|
499
|
+
maxAttempts: 3,
|
|
500
|
+
diagnosticJson: diagnosticianDiagnosticJson(painId),
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
await sm.createTask({
|
|
504
|
+
taskId: routerTaskId,
|
|
505
|
+
taskKind: 'diag_router',
|
|
506
|
+
inputRef: painId,
|
|
507
|
+
status: 'pending',
|
|
508
|
+
attemptCount: 0,
|
|
509
|
+
maxAttempts: 3,
|
|
510
|
+
diagnosticJson: diagnosticianDiagnosticJson(painId),
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
// Acquire lease + run for the router task (needed for artifact insertion)
|
|
514
|
+
await sm.acquireLease({ taskId: routerTaskId, owner: 'test-owner', durationMs: 60_000, runtimeKind: 'openclaw' });
|
|
515
|
+
const runs = await sm.getRunsByTask(routerTaskId);
|
|
516
|
+
const runId = runs[0]?.runId;
|
|
517
|
+
if (!runId) throw new Error(`No run created for task ${routerTaskId}`);
|
|
518
|
+
|
|
519
|
+
// Directly insert artifact with a DIFFERENT painId in content_json
|
|
520
|
+
// (simulates lineage mismatch — committer stores DiagnosticianOutputV1
|
|
521
|
+
// which doesn't have painId, but the assembler reads it for lineage checks)
|
|
522
|
+
const artifactId = 'mismatch-artifact-001';
|
|
523
|
+
const contentJson = JSON.stringify({
|
|
524
|
+
...validDiagnosticianOutput(painId),
|
|
525
|
+
painId: wrongPainId, // mismatched lineage
|
|
526
|
+
});
|
|
527
|
+
sm.connection.getDb().prepare(
|
|
528
|
+
`INSERT INTO artifacts (artifact_id, run_id, task_id, artifact_kind, content_json, created_at)
|
|
529
|
+
VALUES (?, ?, ?, ?, ?, ?)`,
|
|
530
|
+
).run(artifactId, runId, routerTaskId, 'diagnostician_output', contentJson, new Date().toISOString());
|
|
531
|
+
|
|
532
|
+
await sm.markTaskSucceeded(routerTaskId, `artifact://${artifactId}`);
|
|
533
|
+
await sm.markTaskSucceeded(parentTaskId, `artifact://${artifactId}`);
|
|
534
|
+
|
|
535
|
+
const { snapshot, warnings } = await assembleMainlineSnapshot({ workspaceDir, painId, readiness: healthyReadiness() });
|
|
536
|
+
|
|
537
|
+
// Artifact should still be found via fallback
|
|
538
|
+
expect(snapshot.chain.diagnosticianArtifact).not.toBeNull();
|
|
539
|
+
// EP-07: lineage mismatch warning must be emitted
|
|
540
|
+
expect(warnings.some((w) => w.includes('mismatches') && w.includes(wrongPainId))).toBe(true);
|
|
541
|
+
});
|
|
542
|
+
|
|
543
|
+
it('monolithic diagnostician artifact lookup still works (no regression)', async () => {
|
|
544
|
+
await sm.initialize();
|
|
545
|
+
const painId = 'pain-monolithic-regression';
|
|
546
|
+
const taskId = `diagnostician-${painId}`;
|
|
547
|
+
|
|
548
|
+
// Monolithic layout: artifact stored directly under the parent task
|
|
549
|
+
await sm.createTask({
|
|
550
|
+
taskId,
|
|
551
|
+
taskKind: 'diagnostician',
|
|
552
|
+
inputRef: painId,
|
|
553
|
+
status: 'pending',
|
|
554
|
+
attemptCount: 0,
|
|
555
|
+
maxAttempts: 3,
|
|
556
|
+
diagnosticJson: diagnosticianDiagnosticJson(painId),
|
|
557
|
+
});
|
|
558
|
+
|
|
559
|
+
const output = validDiagnosticianOutput(painId);
|
|
560
|
+
const { artifactId } = await runDiagnosisToSucceeded(sm, taskId, output);
|
|
561
|
+
|
|
562
|
+
const { snapshot, warnings } = await assembleMainlineSnapshot({ workspaceDir, painId, readiness: healthyReadiness() });
|
|
563
|
+
|
|
564
|
+
expect(snapshot.chain.diagnosticianArtifact).not.toBeNull();
|
|
565
|
+
expect(snapshot.chain.diagnosticianArtifact?.artifactId).toBe(artifactId);
|
|
566
|
+
expect(snapshot.chain.diagnosticianArtifact?.sourcePainId).toBe(painId);
|
|
567
|
+
expect(warnings.some((w) => w.includes('mismatches'))).toBe(false);
|
|
568
|
+
});
|
|
425
569
|
});
|