@principles/core 1.87.0 → 1.88.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/runtime-v2/__tests__/scribe-runner-vslice.test.js +425 -2
- package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-output.d.ts +8 -2
- package/dist/runtime-v2/internalization/scribe-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-output.js +33 -17
- package/dist/runtime-v2/internalization/scribe-output.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.d.ts +56 -49
- package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.js +116 -398
- package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +119 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +8 -0
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { ScribeRunner } from '../internalization/scribe-runner.js';
|
|
|
3
3
|
import { MemoryPIArtifactStore } from '../internalization/pi-artifact-store.js';
|
|
4
4
|
import { DefaultScribeValidator } from '../internalization/scribe-output.js';
|
|
5
5
|
import { createPITaskDiagnosticJson } from '../internalization/pitask-metadata.js';
|
|
6
|
+
import { RunnerPhase } from '../runner/runner-phase.js';
|
|
6
7
|
import { PDRuntimeError } from '../error-categories.js';
|
|
7
8
|
const PHILOSOPHER_TASK_ID = 'philosopher-001';
|
|
8
9
|
const SCRIBE_TASK_ID = 'scribe-001';
|
|
@@ -88,7 +89,7 @@ function makePhilosopherArtifact() {
|
|
|
88
89
|
updatedAt: new Date().toISOString(),
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
|
-
describe('ScribeRunner (
|
|
92
|
+
describe('ScribeRunner (migrated to BasePeerRunner)', () => {
|
|
92
93
|
let artifactStore = new MemoryPIArtifactStore();
|
|
93
94
|
beforeEach(() => {
|
|
94
95
|
artifactStore = new MemoryPIArtifactStore();
|
|
@@ -140,6 +141,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
140
141
|
...overrides,
|
|
141
142
|
};
|
|
142
143
|
}
|
|
144
|
+
// ── Existing behavior: task kind validation ────────────────────────────────
|
|
143
145
|
it('taskKind not scribe fails closed and releases lease', async () => {
|
|
144
146
|
const wrongKindTask = makeScribeTask({ taskKind: 'dreamer' });
|
|
145
147
|
const deps = createMockDeps();
|
|
@@ -156,6 +158,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
156
158
|
expect(result.failureReason).toContain("must be 'scribe'");
|
|
157
159
|
expect(deps.stateManager.markTaskFailed).toHaveBeenCalledWith(SCRIBE_TASK_ID, 'input_invalid');
|
|
158
160
|
});
|
|
161
|
+
// ── Existing behavior: lease conflict ──────────────────────────────────────
|
|
159
162
|
it('lease conflict is non-mutating', async () => {
|
|
160
163
|
const deps = createMockDeps();
|
|
161
164
|
const leaseError = new PDRuntimeError('lease_conflict', 'Another runner holds the lease');
|
|
@@ -172,6 +175,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
172
175
|
expect(deps.stateManager.markTaskFailed).not.toHaveBeenCalled();
|
|
173
176
|
expect(deps.stateManager.markTaskRetryWait).not.toHaveBeenCalled();
|
|
174
177
|
});
|
|
178
|
+
// ── Existing behavior: missing philosopher dependency ──────────────────────
|
|
175
179
|
it('missing philosopher dependency blocked/failure', async () => {
|
|
176
180
|
const noDepTask = makeScribeTask({
|
|
177
181
|
diagnosticJson: createPITaskDiagnosticJson({
|
|
@@ -195,6 +199,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
195
199
|
expect(result.status).toBe('failed');
|
|
196
200
|
expect(result.errorCategory).toBe('input_invalid');
|
|
197
201
|
});
|
|
202
|
+
// ── Existing behavior: philosopher not succeeded ───────────────────────────
|
|
198
203
|
it('philosopher dependency not succeeded cannot execute', async () => {
|
|
199
204
|
const pendingPhilosopher = makePhilosopherTask({ status: 'pending' });
|
|
200
205
|
const deps = createMockDeps();
|
|
@@ -215,6 +220,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
215
220
|
expect(result.status).toBe('failed');
|
|
216
221
|
expect(result.errorCategory).toBe('input_invalid');
|
|
217
222
|
});
|
|
223
|
+
// ── Existing behavior: philosopher artifact missing ────────────────────────
|
|
218
224
|
it('philosopher artifact missing goes to retry/fail', async () => {
|
|
219
225
|
const emptyArtifactStore = new MemoryPIArtifactStore();
|
|
220
226
|
const deps = createMockDeps({ artifactStore: emptyArtifactStore });
|
|
@@ -228,6 +234,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
228
234
|
expect(result.status).toBe('failed');
|
|
229
235
|
expect(result.errorCategory).toBe('input_invalid');
|
|
230
236
|
});
|
|
237
|
+
// ── Existing behavior: valid output writes artifact ────────────────────────
|
|
231
238
|
it('valid runtime output writes scribe PIArtifact', async () => {
|
|
232
239
|
const store = new MemoryPIArtifactStore();
|
|
233
240
|
await store.upsertArtifact(makePhilosopherArtifact());
|
|
@@ -245,6 +252,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
245
252
|
expect(artifacts).toHaveLength(1);
|
|
246
253
|
expect(artifacts[0]?.artifactKind).toBe('principle');
|
|
247
254
|
});
|
|
255
|
+
// ── Existing behavior: valid output marks succeeded ────────────────────────
|
|
248
256
|
it('valid runtime output marks task succeeded', async () => {
|
|
249
257
|
const store = new MemoryPIArtifactStore();
|
|
250
258
|
await store.upsertArtifact(makePhilosopherArtifact());
|
|
@@ -259,6 +267,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
259
267
|
expect(result.status).toBe('succeeded');
|
|
260
268
|
expect(deps.stateManager.markTaskSucceeded).toHaveBeenCalledWith(SCRIBE_TASK_ID, expect.stringContaining('scribe://'));
|
|
261
269
|
});
|
|
270
|
+
// ── Existing behavior: invalid output does not write artifact ──────────────
|
|
262
271
|
it('invalid output does not write artifact', async () => {
|
|
263
272
|
const store = new MemoryPIArtifactStore();
|
|
264
273
|
await store.upsertArtifact(makePhilosopherArtifact());
|
|
@@ -294,6 +303,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
294
303
|
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
295
304
|
expect(artifacts).toHaveLength(0);
|
|
296
305
|
});
|
|
306
|
+
// ── Existing behavior: artifact write failure ──────────────────────────────
|
|
297
307
|
it('artifact write failure goes to retry/fail, not mark succeeded', async () => {
|
|
298
308
|
const failingStore = {
|
|
299
309
|
listBySourceTaskId: vi.fn().mockResolvedValue([makePhilosopherArtifact()]),
|
|
@@ -310,6 +320,7 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
310
320
|
expect(result.status).toBe('failed');
|
|
311
321
|
expect(deps.stateManager.markTaskSucceeded).not.toHaveBeenCalled();
|
|
312
322
|
});
|
|
323
|
+
// ── Existing behavior: sourcePhilosopherArtifactId mismatch ────────────────
|
|
313
324
|
it('mismatched sourcePhilosopherArtifactId does not write artifact or mark succeeded', async () => {
|
|
314
325
|
const store = new MemoryPIArtifactStore();
|
|
315
326
|
await store.upsertArtifact(makePhilosopherArtifact());
|
|
@@ -328,11 +339,358 @@ describe('ScribeRunner (PRI-109)', () => {
|
|
|
328
339
|
});
|
|
329
340
|
const result = await runner.run(SCRIBE_TASK_ID);
|
|
330
341
|
expect(result.status).toBe('failed');
|
|
331
|
-
|
|
342
|
+
// output_invalid is retriable; after retry exhaustion → max_attempts_exceeded
|
|
343
|
+
expect(result.errorCategory).toBe('max_attempts_exceeded');
|
|
332
344
|
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
333
345
|
expect(artifacts).toHaveLength(0);
|
|
334
346
|
expect(deps.stateManager.markTaskSucceeded).not.toHaveBeenCalled();
|
|
335
347
|
});
|
|
348
|
+
// ── NEW: sourcePhilosopherArtifactId mismatch must not updateRunOutput ─────
|
|
349
|
+
it('sourcePhilosopherArtifactId mismatch does not updateRunOutput, write artifact, or mark succeeded', async () => {
|
|
350
|
+
const store = new MemoryPIArtifactStore();
|
|
351
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
352
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
353
|
+
// Output passes validator but fails lineage check in succeedTask
|
|
354
|
+
const mismatchedOutput = makeScribeOutput();
|
|
355
|
+
mismatchedOutput.sourcePhilosopherArtifactId = 'wrong-artifact-id';
|
|
356
|
+
// Also fix sourceTrace to pass validator
|
|
357
|
+
mismatchedOutput.sourceTrace.philosopherArtifactId = 'wrong-artifact-id';
|
|
358
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
359
|
+
payload: mismatchedOutput,
|
|
360
|
+
});
|
|
361
|
+
const runner = new ScribeRunner(deps, {
|
|
362
|
+
owner: 'test',
|
|
363
|
+
runtimeKind: 'scribe',
|
|
364
|
+
pollIntervalMs: 10,
|
|
365
|
+
timeoutMs: 1000,
|
|
366
|
+
});
|
|
367
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
368
|
+
// The mismatch is caught by the validator (DefaultScribeValidator checks it)
|
|
369
|
+
// output_invalid is retriable; after retry exhaustion → max_attempts_exceeded
|
|
370
|
+
expect(result.status).toBe('failed');
|
|
371
|
+
expect(result.errorCategory).toBe('max_attempts_exceeded');
|
|
372
|
+
// No artifact written
|
|
373
|
+
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
374
|
+
expect(artifacts).toHaveLength(0);
|
|
375
|
+
// No updateRunOutput or markTaskSucceeded
|
|
376
|
+
expect(deps.stateManager.updateRunOutput).not.toHaveBeenCalled();
|
|
377
|
+
expect(deps.stateManager.markTaskSucceeded).not.toHaveBeenCalled();
|
|
378
|
+
});
|
|
379
|
+
// ── NEW: present-but-empty taskId not overwritten by postFetchTransform ────
|
|
380
|
+
it('present-but-empty taskId is not overwritten by postFetchTransform', async () => {
|
|
381
|
+
const store = new MemoryPIArtifactStore();
|
|
382
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
383
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
384
|
+
// Output with taskId: '' (present but empty) — must NOT be overwritten
|
|
385
|
+
const emptyTaskIdOutput = makeScribeOutput();
|
|
386
|
+
emptyTaskIdOutput.taskId = '';
|
|
387
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
388
|
+
payload: emptyTaskIdOutput,
|
|
389
|
+
});
|
|
390
|
+
const runner = new ScribeRunner(deps, {
|
|
391
|
+
owner: 'test',
|
|
392
|
+
runtimeKind: 'scribe',
|
|
393
|
+
pollIntervalMs: 10,
|
|
394
|
+
timeoutMs: 1000,
|
|
395
|
+
});
|
|
396
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
397
|
+
// Validation should fail because taskId is empty (mismatch with SCRIBE_TASK_ID)
|
|
398
|
+
// output_invalid is retriable; after retry exhaustion → max_attempts_exceeded
|
|
399
|
+
expect(result.status).toBe('failed');
|
|
400
|
+
expect(result.errorCategory).toBe('max_attempts_exceeded');
|
|
401
|
+
// No artifact written
|
|
402
|
+
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
403
|
+
expect(artifacts).toHaveLength(0);
|
|
404
|
+
});
|
|
405
|
+
// ── NEW: missing taskId re-injected by postFetchTransform ──────────────────
|
|
406
|
+
it('missing taskId is re-injected by postFetchTransform per stripLineage contract', async () => {
|
|
407
|
+
const store = new MemoryPIArtifactStore();
|
|
408
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
409
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
410
|
+
// Output without taskId — should be re-injected
|
|
411
|
+
const noTaskIdOutput = { ...makeScribeOutput() };
|
|
412
|
+
delete noTaskIdOutput.taskId;
|
|
413
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
414
|
+
payload: noTaskIdOutput,
|
|
415
|
+
});
|
|
416
|
+
const runner = new ScribeRunner(deps, {
|
|
417
|
+
owner: 'test',
|
|
418
|
+
runtimeKind: 'scribe',
|
|
419
|
+
pollIntervalMs: 10,
|
|
420
|
+
timeoutMs: 1000,
|
|
421
|
+
});
|
|
422
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
423
|
+
// taskId is re-injected, so validation should pass
|
|
424
|
+
expect(result.status).toBe('succeeded');
|
|
425
|
+
expect(result.artifactId).toBeDefined();
|
|
426
|
+
});
|
|
427
|
+
// ── NEW: invalid validator errorCategory runtime guard ─────────────────────
|
|
428
|
+
it('invalid validator errorCategory is runtime-guarded and does not pass through', async () => {
|
|
429
|
+
const store = new MemoryPIArtifactStore();
|
|
430
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
431
|
+
// Create a validator that returns an invalid errorCategory
|
|
432
|
+
const badValidator = {
|
|
433
|
+
validate: async (_output, _taskId) => {
|
|
434
|
+
return { valid: false, errors: ['test error'], errorCategory: 'not_a_real_category' };
|
|
435
|
+
},
|
|
436
|
+
};
|
|
437
|
+
const deps = createMockDeps({ artifactStore: store, validator: badValidator });
|
|
438
|
+
const runner = new ScribeRunner(deps, {
|
|
439
|
+
owner: 'test',
|
|
440
|
+
runtimeKind: 'scribe',
|
|
441
|
+
pollIntervalMs: 10,
|
|
442
|
+
timeoutMs: 1000,
|
|
443
|
+
});
|
|
444
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
445
|
+
expect(result.status).toBe('failed');
|
|
446
|
+
// The invalid errorCategory is replaced with 'output_invalid' by validateOutput,
|
|
447
|
+
// which is retriable; after retry exhaustion → max_attempts_exceeded
|
|
448
|
+
expect(result.errorCategory).toBe('max_attempts_exceeded');
|
|
449
|
+
});
|
|
450
|
+
// ── NEW: currentPhase is Completed after success ───────────────────────────
|
|
451
|
+
it('currentPhase is Completed after successful run', async () => {
|
|
452
|
+
const store = new MemoryPIArtifactStore();
|
|
453
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
454
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
455
|
+
const runner = new ScribeRunner(deps, {
|
|
456
|
+
owner: 'test',
|
|
457
|
+
runtimeKind: 'scribe',
|
|
458
|
+
pollIntervalMs: 10,
|
|
459
|
+
timeoutMs: 1000,
|
|
460
|
+
});
|
|
461
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
462
|
+
expect(result.status).toBe('succeeded');
|
|
463
|
+
expect(runner.currentPhase).toBe(RunnerPhase.Completed);
|
|
464
|
+
});
|
|
465
|
+
// ── NEW: currentPhase is Failed after validation failure ───────────────────
|
|
466
|
+
it('currentPhase is Failed after validation failure', async () => {
|
|
467
|
+
const store = new MemoryPIArtifactStore();
|
|
468
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
469
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
470
|
+
const invalidOutput = { wrong: 'shape' };
|
|
471
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
472
|
+
payload: invalidOutput,
|
|
473
|
+
});
|
|
474
|
+
const runner = new ScribeRunner(deps, {
|
|
475
|
+
owner: 'test',
|
|
476
|
+
runtimeKind: 'scribe',
|
|
477
|
+
pollIntervalMs: 10,
|
|
478
|
+
timeoutMs: 1000,
|
|
479
|
+
});
|
|
480
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
481
|
+
expect(result.status).toBe('failed');
|
|
482
|
+
expect(runner.currentPhase).toBe(RunnerPhase.Failed);
|
|
483
|
+
});
|
|
484
|
+
// ── NEW: validation failure does not write artifact ────────────────────────
|
|
485
|
+
it('validation failure does not write artifact or mark succeeded', async () => {
|
|
486
|
+
const store = new MemoryPIArtifactStore();
|
|
487
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
488
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
489
|
+
// Malformed output that fails validation
|
|
490
|
+
const malformedOutput = {
|
|
491
|
+
notTheRightShape: true,
|
|
492
|
+
};
|
|
493
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
494
|
+
payload: malformedOutput,
|
|
495
|
+
});
|
|
496
|
+
const runner = new ScribeRunner(deps, {
|
|
497
|
+
owner: 'test',
|
|
498
|
+
runtimeKind: 'scribe',
|
|
499
|
+
pollIntervalMs: 10,
|
|
500
|
+
timeoutMs: 1000,
|
|
501
|
+
});
|
|
502
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
503
|
+
expect(result.status).toBe('failed');
|
|
504
|
+
// No artifact written
|
|
505
|
+
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
506
|
+
expect(artifacts).toHaveLength(0);
|
|
507
|
+
// No markTaskSucceeded
|
|
508
|
+
expect(deps.stateManager.markTaskSucceeded).not.toHaveBeenCalled();
|
|
509
|
+
// No updateRunOutput
|
|
510
|
+
expect(deps.stateManager.updateRunOutput).not.toHaveBeenCalled();
|
|
511
|
+
});
|
|
512
|
+
// ── NEW: malformed output (non-object) does not write artifact ─────────────
|
|
513
|
+
it('malformed output (non-object payload) does not write artifact', async () => {
|
|
514
|
+
const store = new MemoryPIArtifactStore();
|
|
515
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
516
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
517
|
+
// Non-object payload
|
|
518
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
519
|
+
payload: 'not-an-object',
|
|
520
|
+
});
|
|
521
|
+
const runner = new ScribeRunner(deps, {
|
|
522
|
+
owner: 'test',
|
|
523
|
+
runtimeKind: 'scribe',
|
|
524
|
+
pollIntervalMs: 10,
|
|
525
|
+
timeoutMs: 1000,
|
|
526
|
+
});
|
|
527
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
528
|
+
expect(result.status).toBe('failed');
|
|
529
|
+
// No artifact written
|
|
530
|
+
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
531
|
+
expect(artifacts).toHaveLength(0);
|
|
532
|
+
});
|
|
533
|
+
// ── NEW: succeedTask writes correct artifactKind ───────────────────────────
|
|
534
|
+
it('succeedTask writes artifact with correct artifactKind principle', async () => {
|
|
535
|
+
const store = new MemoryPIArtifactStore();
|
|
536
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
537
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
538
|
+
const runner = new ScribeRunner(deps, {
|
|
539
|
+
owner: 'test',
|
|
540
|
+
runtimeKind: 'scribe',
|
|
541
|
+
pollIntervalMs: 10,
|
|
542
|
+
timeoutMs: 1000,
|
|
543
|
+
});
|
|
544
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
545
|
+
expect(result.status).toBe('succeeded');
|
|
546
|
+
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
547
|
+
expect(artifacts).toHaveLength(1);
|
|
548
|
+
expect(artifacts[0]?.artifactKind).toBe('principle');
|
|
549
|
+
});
|
|
550
|
+
// ── NEW: succeedTask calls markTaskSucceeded ───────────────────────────────
|
|
551
|
+
it('succeedTask calls markTaskSucceeded with scribe:// resultRef', async () => {
|
|
552
|
+
const store = new MemoryPIArtifactStore();
|
|
553
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
554
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
555
|
+
const runner = new ScribeRunner(deps, {
|
|
556
|
+
owner: 'test',
|
|
557
|
+
runtimeKind: 'scribe',
|
|
558
|
+
pollIntervalMs: 10,
|
|
559
|
+
timeoutMs: 1000,
|
|
560
|
+
});
|
|
561
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
562
|
+
expect(result.status).toBe('succeeded');
|
|
563
|
+
expect(deps.stateManager.markTaskSucceeded).toHaveBeenCalledWith(SCRIBE_TASK_ID, expect.stringMatching(/^scribe:\/\//));
|
|
564
|
+
});
|
|
565
|
+
// ── NEW: succeedTask calls updateRunOutput before markTaskSucceeded ────────
|
|
566
|
+
it('succeedTask calls updateRunOutput before markTaskSucceeded', async () => {
|
|
567
|
+
const store = new MemoryPIArtifactStore();
|
|
568
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
569
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
570
|
+
const callOrder = [];
|
|
571
|
+
deps.stateManager.updateRunOutput.mockImplementation(() => {
|
|
572
|
+
callOrder.push('updateRunOutput');
|
|
573
|
+
return Promise.resolve();
|
|
574
|
+
});
|
|
575
|
+
deps.stateManager.markTaskSucceeded.mockImplementation(() => {
|
|
576
|
+
callOrder.push('markTaskSucceeded');
|
|
577
|
+
return Promise.resolve();
|
|
578
|
+
});
|
|
579
|
+
const runner = new ScribeRunner(deps, {
|
|
580
|
+
owner: 'test',
|
|
581
|
+
runtimeKind: 'scribe',
|
|
582
|
+
pollIntervalMs: 10,
|
|
583
|
+
timeoutMs: 1000,
|
|
584
|
+
});
|
|
585
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
586
|
+
expect(result.status).toBe('succeeded');
|
|
587
|
+
expect(callOrder).toEqual(['updateRunOutput', 'markTaskSucceeded']);
|
|
588
|
+
});
|
|
589
|
+
// ── NEW: lineage mismatch in succeedTask throws and does not write artifact ─
|
|
590
|
+
it('succeedTask sourcePhilosopherArtifactId mismatch throws and does not write artifact', async () => {
|
|
591
|
+
const store = new MemoryPIArtifactStore();
|
|
592
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
593
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
594
|
+
// Create output that passes validator but has mismatched sourcePhilosopherArtifactId
|
|
595
|
+
// The validator only checks if expectedSourcePhilosopherArtifactId is provided and matches.
|
|
596
|
+
// But the DefaultScribeValidator checks sourcePhilosopherArtifactId against expected.
|
|
597
|
+
// We need to craft output where the validator passes but succeedTask catches the mismatch.
|
|
598
|
+
// Since the validator and succeedTask both check against context.sourcePhilosopherArtifactId,
|
|
599
|
+
// the validator will catch it first. Let's use a custom validator that passes everything.
|
|
600
|
+
const permissiveValidator = {
|
|
601
|
+
validate: async () => {
|
|
602
|
+
return { valid: true, errors: [] };
|
|
603
|
+
},
|
|
604
|
+
};
|
|
605
|
+
const mismatchedOutput = makeScribeOutput();
|
|
606
|
+
mismatchedOutput.sourcePhilosopherArtifactId = 'wrong-artifact-id';
|
|
607
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
608
|
+
payload: mismatchedOutput,
|
|
609
|
+
});
|
|
610
|
+
const depsWithPermissiveValidator = { ...deps, validator: permissiveValidator };
|
|
611
|
+
const runner = new ScribeRunner(depsWithPermissiveValidator, {
|
|
612
|
+
owner: 'test',
|
|
613
|
+
runtimeKind: 'scribe',
|
|
614
|
+
pollIntervalMs: 10,
|
|
615
|
+
timeoutMs: 1000,
|
|
616
|
+
});
|
|
617
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
618
|
+
// succeedTask should throw on mismatch, caught by base class → retryOrFail
|
|
619
|
+
// output_invalid is retriable; after retry exhaustion → max_attempts_exceeded
|
|
620
|
+
expect(result.status).toBe('failed');
|
|
621
|
+
expect(result.errorCategory).toBe('max_attempts_exceeded');
|
|
622
|
+
// No artifact written
|
|
623
|
+
const artifacts = await store.listBySourceTaskId(SCRIBE_TASK_ID);
|
|
624
|
+
expect(artifacts).toHaveLength(0);
|
|
625
|
+
// No markTaskSucceeded
|
|
626
|
+
expect(deps.stateManager.markTaskSucceeded).not.toHaveBeenCalled();
|
|
627
|
+
// No updateRunOutput (thrown before updateRunOutput)
|
|
628
|
+
expect(deps.stateManager.updateRunOutput).not.toHaveBeenCalled();
|
|
629
|
+
});
|
|
630
|
+
// ── NEW: postFetchTransform operates on unknown, not typed output ──────────
|
|
631
|
+
it('postFetchTransform re-injects taskId on unknown output before validation', async () => {
|
|
632
|
+
const store = new MemoryPIArtifactStore();
|
|
633
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
634
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
635
|
+
// Output without taskId — postFetchTransform should inject it
|
|
636
|
+
const outputWithoutTaskId = { ...makeScribeOutput() };
|
|
637
|
+
delete outputWithoutTaskId.taskId;
|
|
638
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
639
|
+
payload: outputWithoutTaskId,
|
|
640
|
+
});
|
|
641
|
+
const runner = new ScribeRunner(deps, {
|
|
642
|
+
owner: 'test',
|
|
643
|
+
runtimeKind: 'scribe',
|
|
644
|
+
pollIntervalMs: 10,
|
|
645
|
+
timeoutMs: 1000,
|
|
646
|
+
});
|
|
647
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
648
|
+
expect(result.status).toBe('succeeded');
|
|
649
|
+
});
|
|
650
|
+
// ── NEW: output_invalid is retriable (not in permanentErrorCategories) ──────
|
|
651
|
+
it('output_invalid is retriable (may retry, not permanent)', async () => {
|
|
652
|
+
const store = new MemoryPIArtifactStore();
|
|
653
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
654
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
655
|
+
const invalidOutput = { wrong: 'shape' };
|
|
656
|
+
deps.runtimeAdapter.fetchOutput = vi.fn().mockResolvedValue({
|
|
657
|
+
payload: invalidOutput,
|
|
658
|
+
});
|
|
659
|
+
const runner = new ScribeRunner(deps, {
|
|
660
|
+
owner: 'test',
|
|
661
|
+
runtimeKind: 'scribe',
|
|
662
|
+
pollIntervalMs: 10,
|
|
663
|
+
timeoutMs: 1000,
|
|
664
|
+
});
|
|
665
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
666
|
+
expect(result.status).toBe('failed');
|
|
667
|
+
// output_invalid is NOT in permanentErrorCategories (matching Dreamer/Philosopher),
|
|
668
|
+
// so it may retry. With retry policy shouldRetry: false, it falls to markTaskFailed.
|
|
669
|
+
expect(deps.stateManager.markTaskFailed).toHaveBeenCalled();
|
|
670
|
+
});
|
|
671
|
+
// ── Telemetry dedup regression test ───────────────────────────────────────
|
|
672
|
+
it('successful run emits exactly 1 scribe_output_validated and 1 scribe_principle_draft_generated', async () => {
|
|
673
|
+
const store = new MemoryPIArtifactStore();
|
|
674
|
+
await store.upsertArtifact(makePhilosopherArtifact());
|
|
675
|
+
const deps = createMockDeps({ artifactStore: store });
|
|
676
|
+
const emitTelemetry = vi.fn();
|
|
677
|
+
deps.eventEmitter.emitTelemetry = emitTelemetry;
|
|
678
|
+
const runner = new ScribeRunner(deps, {
|
|
679
|
+
owner: 'test-dedup',
|
|
680
|
+
runtimeKind: 'scribe',
|
|
681
|
+
pollIntervalMs: 10,
|
|
682
|
+
timeoutMs: 5000,
|
|
683
|
+
});
|
|
684
|
+
const result = await runner.run(SCRIBE_TASK_ID);
|
|
685
|
+
expect(result.status).toBe('succeeded');
|
|
686
|
+
// Count telemetry events by type
|
|
687
|
+
const outputValidatedCalls = emitTelemetry.mock.calls.filter((c) => typeof c[0] === 'object' && c[0] !== null && 'eventType' in c[0] && c[0].eventType === 'scribe_output_validated');
|
|
688
|
+
const draftGeneratedCalls = emitTelemetry.mock.calls.filter((c) => typeof c[0] === 'object' && c[0] !== null && 'eventType' in c[0] && c[0].eventType === 'scribe_principle_draft_generated');
|
|
689
|
+
// Exactly 1 output_validated (from BasePeerRunner), not 2
|
|
690
|
+
expect(outputValidatedCalls).toHaveLength(1);
|
|
691
|
+
// Exactly 1 principle_draft_generated (from emitSuccessTelemetry)
|
|
692
|
+
expect(draftGeneratedCalls).toHaveLength(1);
|
|
693
|
+
});
|
|
336
694
|
});
|
|
337
695
|
describe('DefaultScribeValidator (PRI-109)', () => {
|
|
338
696
|
const validator = new DefaultScribeValidator();
|
|
@@ -426,5 +784,70 @@ describe('DefaultScribeValidator (PRI-109)', () => {
|
|
|
426
784
|
const result = await validator.validate(output, SCRIBE_TASK_ID, 'pi-art-philosopher-001-run-001');
|
|
427
785
|
expect(result.valid).toBe(true);
|
|
428
786
|
});
|
|
787
|
+
// ── ERR-013: prototype-inherited required fields must be rejected ────────
|
|
788
|
+
it('rejects prototype-inherited taskId (e.g. toString) — ERR-013', async () => {
|
|
789
|
+
const proto = { taskId: 'inherited-task-id' };
|
|
790
|
+
const output = Object.create(proto);
|
|
791
|
+
output.sourcePhilosopherArtifactId = 'pi-art-philosopher-001-run-001';
|
|
792
|
+
output.principleDraft = {
|
|
793
|
+
title: 't', statement: 's', rationale: 'r',
|
|
794
|
+
applicability: [], antiPatterns: [], confidence: 0.9,
|
|
795
|
+
};
|
|
796
|
+
output.sourceTrace = { philosopherArtifactId: 'pi-art-philosopher-001-run-001' };
|
|
797
|
+
output.risks = [];
|
|
798
|
+
output.generatedAt = new Date().toISOString();
|
|
799
|
+
// taskId is only on prototype, not own property — must fail
|
|
800
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
801
|
+
expect(result.valid).toBe(false);
|
|
802
|
+
expect(result.errors.some(e => e.includes('taskId'))).toBe(true);
|
|
803
|
+
});
|
|
804
|
+
it('rejects prototype-inherited sourcePhilosopherArtifactId — ERR-013', async () => {
|
|
805
|
+
const output = makeScribeOutput();
|
|
806
|
+
// Delete own property, put on prototype
|
|
807
|
+
const obj = output;
|
|
808
|
+
const originalValue = obj.sourcePhilosopherArtifactId;
|
|
809
|
+
delete obj.sourcePhilosopherArtifactId;
|
|
810
|
+
Object.setPrototypeOf(obj, { sourcePhilosopherArtifactId: originalValue });
|
|
811
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
812
|
+
expect(result.valid).toBe(false);
|
|
813
|
+
expect(result.errors.some(e => e.includes('sourcePhilosopherArtifactId'))).toBe(true);
|
|
814
|
+
});
|
|
815
|
+
it('rejects prototype-inherited sourceTrace.philosopherArtifactId — ERR-013', async () => {
|
|
816
|
+
const output = makeScribeOutput();
|
|
817
|
+
const st = output.sourceTrace;
|
|
818
|
+
const originalValue = st.philosopherArtifactId;
|
|
819
|
+
delete st.philosopherArtifactId;
|
|
820
|
+
Object.setPrototypeOf(st, { philosopherArtifactId: originalValue });
|
|
821
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
822
|
+
expect(result.valid).toBe(false);
|
|
823
|
+
expect(result.errors.some(e => e.includes('sourceTrace.philosopherArtifactId'))).toBe(true);
|
|
824
|
+
});
|
|
825
|
+
// ── dreamerArtifactId validation ────────────────────────────────────────
|
|
826
|
+
it('accepts valid dreamerArtifactId when present', async () => {
|
|
827
|
+
const output = makeScribeOutput();
|
|
828
|
+
output.sourceTrace.dreamerArtifactId = 'pi-art-dreamer-001';
|
|
829
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
830
|
+
expect(result.valid).toBe(true);
|
|
831
|
+
});
|
|
832
|
+
it('rejects malformed dreamerArtifactId (non-string) — ERR-001', async () => {
|
|
833
|
+
const output = makeScribeOutput();
|
|
834
|
+
output.sourceTrace.dreamerArtifactId = 42;
|
|
835
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
836
|
+
expect(result.valid).toBe(false);
|
|
837
|
+
expect(result.errors.some(e => e.includes('dreamerArtifactId'))).toBe(true);
|
|
838
|
+
});
|
|
839
|
+
it('rejects empty dreamerArtifactId — ERR-001', async () => {
|
|
840
|
+
const output = makeScribeOutput();
|
|
841
|
+
output.sourceTrace.dreamerArtifactId = '';
|
|
842
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
843
|
+
expect(result.valid).toBe(false);
|
|
844
|
+
expect(result.errors.some(e => e.includes('dreamerArtifactId'))).toBe(true);
|
|
845
|
+
});
|
|
846
|
+
it('accepts output without dreamerArtifactId (optional)', async () => {
|
|
847
|
+
const output = makeScribeOutput();
|
|
848
|
+
// makeScribeOutput() doesn't include dreamerArtifactId by default
|
|
849
|
+
const result = await validator.validate(output, SCRIBE_TASK_ID);
|
|
850
|
+
expect(result.valid).toBe(true);
|
|
851
|
+
});
|
|
429
852
|
});
|
|
430
853
|
//# sourceMappingURL=scribe-runner-vslice.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scribe-runner-vslice.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/scribe-runner-vslice.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scribe-runner-vslice.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/scribe-runner-vslice.test.ts"],"names":[],"mappings":"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"}
|