@exaudeus/workrail 3.10.0 → 3.11.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.
Files changed (59) hide show
  1. package/dist/application/services/validation-engine.js +134 -0
  2. package/dist/application/services/workflow-compiler.js +54 -0
  3. package/dist/manifest.json +138 -74
  4. package/dist/mcp/handlers/v2-advance-core/assessment-consequences.d.ts +14 -0
  5. package/dist/mcp/handlers/v2-advance-core/assessment-consequences.js +27 -0
  6. package/dist/mcp/handlers/v2-advance-core/assessment-validation.d.ts +16 -0
  7. package/dist/mcp/handlers/v2-advance-core/assessment-validation.js +213 -0
  8. package/dist/mcp/handlers/v2-advance-core/event-builders.d.ts +1 -0
  9. package/dist/mcp/handlers/v2-advance-core/event-builders.js +3 -2
  10. package/dist/mcp/handlers/v2-advance-core/index.js +23 -8
  11. package/dist/mcp/handlers/v2-advance-core/input-validation.d.ts +9 -1
  12. package/dist/mcp/handlers/v2-advance-core/input-validation.js +22 -2
  13. package/dist/mcp/handlers/v2-advance-core/outcome-blocked.d.ts +2 -0
  14. package/dist/mcp/handlers/v2-advance-core/outcome-blocked.js +69 -19
  15. package/dist/mcp/handlers/v2-advance-core/outcome-success.js +22 -0
  16. package/dist/mcp/handlers/v2-execution/replay.js +7 -0
  17. package/dist/mcp/output-schemas.d.ts +156 -42
  18. package/dist/mcp/output-schemas.js +15 -0
  19. package/dist/mcp/v2-response-formatter.js +7 -1
  20. package/dist/types/workflow-definition.d.ts +26 -0
  21. package/dist/types/workflow-definition.js +16 -1
  22. package/dist/v2/durable-core/constants.d.ts +2 -0
  23. package/dist/v2/durable-core/constants.js +2 -0
  24. package/dist/v2/durable-core/domain/assessment-consequence-event-builder.d.ts +23 -0
  25. package/dist/v2/durable-core/domain/assessment-consequence-event-builder.js +36 -0
  26. package/dist/v2/durable-core/domain/assessment-record.d.ts +12 -0
  27. package/dist/v2/durable-core/domain/assessment-record.js +2 -0
  28. package/dist/v2/durable-core/domain/assessment-recorded-event-builder.d.ts +22 -0
  29. package/dist/v2/durable-core/domain/assessment-recorded-event-builder.js +38 -0
  30. package/dist/v2/durable-core/domain/blocked-node-builder.d.ts +1 -1
  31. package/dist/v2/durable-core/domain/blocked-node-builder.js +8 -0
  32. package/dist/v2/durable-core/domain/blocking-decision.d.ts +6 -0
  33. package/dist/v2/durable-core/domain/blocking-decision.js +15 -0
  34. package/dist/v2/durable-core/domain/prompt-renderer.js +25 -1
  35. package/dist/v2/durable-core/domain/reason-model.d.ts +12 -2
  36. package/dist/v2/durable-core/domain/reason-model.js +27 -2
  37. package/dist/v2/durable-core/domain/risk-policy-guardrails.js +1 -0
  38. package/dist/v2/durable-core/domain/validation-criteria-validator.d.ts +1 -0
  39. package/dist/v2/durable-core/domain/validation-criteria-validator.js +11 -0
  40. package/dist/v2/durable-core/schemas/artifacts/assessment.d.ts +55 -0
  41. package/dist/v2/durable-core/schemas/artifacts/assessment.js +29 -0
  42. package/dist/v2/durable-core/schemas/artifacts/index.d.ts +2 -1
  43. package/dist/v2/durable-core/schemas/artifacts/index.js +8 -1
  44. package/dist/v2/durable-core/schemas/compiled-workflow/index.d.ts +24 -24
  45. package/dist/v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts +141 -21
  46. package/dist/v2/durable-core/schemas/execution-snapshot/blocked-snapshot.js +10 -1
  47. package/dist/v2/durable-core/schemas/execution-snapshot/execution-snapshot.v1.d.ts +729 -171
  48. package/dist/v2/durable-core/schemas/export-bundle/index.d.ts +1442 -202
  49. package/dist/v2/durable-core/schemas/session/events.d.ts +231 -8
  50. package/dist/v2/durable-core/schemas/session/events.js +36 -0
  51. package/dist/v2/durable-core/schemas/session/gaps.d.ts +2 -2
  52. package/dist/v2/projections/assessment-consequences.d.ts +19 -0
  53. package/dist/v2/projections/assessment-consequences.js +33 -0
  54. package/dist/v2/projections/assessments.d.ts +21 -0
  55. package/dist/v2/projections/assessments.js +35 -0
  56. package/package.json +1 -1
  57. package/spec/workflow.schema.json +110 -0
  58. package/workflows/bug-investigation.agentic.v2.json +28 -2
  59. package/workflows/test-artifact-loop-control.json +28 -2
@@ -17,6 +17,24 @@ export declare const ContractViolationReasonV1Schema: z.ZodDiscriminatedUnion<"k
17
17
  }, {
18
18
  kind: "missing_required_output";
19
19
  contractRef: string;
20
+ }>, z.ZodObject<{
21
+ kind: z.ZodLiteral<"assessment_followup_required">;
22
+ assessmentId: z.ZodString;
23
+ dimensionId: z.ZodString;
24
+ level: z.ZodString;
25
+ guidance: z.ZodString;
26
+ }, "strict", z.ZodTypeAny, {
27
+ level: string;
28
+ kind: "assessment_followup_required";
29
+ assessmentId: string;
30
+ guidance: string;
31
+ dimensionId: string;
32
+ }, {
33
+ level: string;
34
+ kind: "assessment_followup_required";
35
+ assessmentId: string;
36
+ guidance: string;
37
+ dimensionId: string;
20
38
  }>, z.ZodObject<{
21
39
  kind: z.ZodLiteral<"missing_context_key">;
22
40
  key: z.ZodString;
@@ -111,6 +129,24 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
111
129
  }, {
112
130
  kind: "missing_required_output";
113
131
  contractRef: string;
132
+ }>, z.ZodObject<{
133
+ kind: z.ZodLiteral<"assessment_followup_required">;
134
+ assessmentId: z.ZodString;
135
+ dimensionId: z.ZodString;
136
+ level: z.ZodString;
137
+ guidance: z.ZodString;
138
+ }, "strict", z.ZodTypeAny, {
139
+ level: string;
140
+ kind: "assessment_followup_required";
141
+ assessmentId: string;
142
+ guidance: string;
143
+ dimensionId: string;
144
+ }, {
145
+ level: string;
146
+ kind: "assessment_followup_required";
147
+ assessmentId: string;
148
+ guidance: string;
149
+ dimensionId: string;
114
150
  }>, z.ZodObject<{
115
151
  kind: z.ZodLiteral<"missing_context_key">;
116
152
  key: z.ZodString;
@@ -137,10 +173,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
137
173
  stepId: string;
138
174
  }>]>;
139
175
  retryAttemptId: z.ZodString;
140
- validationRef: z.ZodString;
176
+ validationRef: z.ZodOptional<z.ZodString>;
141
177
  blockers: z.ZodReadonly<z.ZodObject<{
142
178
  blockers: z.ZodReadonly<z.ZodArray<z.ZodObject<{
143
- code: z.ZodEnum<["USER_ONLY_DEPENDENCY", "MISSING_REQUIRED_OUTPUT", "INVALID_REQUIRED_OUTPUT", "MISSING_REQUIRED_NOTES", "MISSING_CONTEXT_KEY", "CONTEXT_BUDGET_EXCEEDED", "REQUIRED_CAPABILITY_UNKNOWN", "REQUIRED_CAPABILITY_UNAVAILABLE", "INVARIANT_VIOLATION", "STORAGE_CORRUPTION_DETECTED"]>;
179
+ code: z.ZodEnum<["USER_ONLY_DEPENDENCY", "MISSING_REQUIRED_OUTPUT", "INVALID_REQUIRED_OUTPUT", "ASSESSMENT_FOLLOWUP_REQUIRED", "MISSING_REQUIRED_NOTES", "MISSING_CONTEXT_KEY", "CONTEXT_BUDGET_EXCEEDED", "REQUIRED_CAPABILITY_UNKNOWN", "REQUIRED_CAPABILITY_UNAVAILABLE", "INVARIANT_VIOLATION", "STORAGE_CORRUPTION_DETECTED"]>;
144
180
  pointer: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
145
181
  kind: z.ZodLiteral<"context_key">;
146
182
  key: z.ZodString;
@@ -174,6 +210,18 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
174
210
  }, {
175
211
  kind: "capability";
176
212
  capability: "delegation" | "web_browsing";
213
+ }>, z.ZodObject<{
214
+ kind: z.ZodLiteral<"assessment_dimension">;
215
+ assessmentId: z.ZodString;
216
+ dimensionId: z.ZodString;
217
+ }, "strict", z.ZodTypeAny, {
218
+ kind: "assessment_dimension";
219
+ assessmentId: string;
220
+ dimensionId: string;
221
+ }, {
222
+ kind: "assessment_dimension";
223
+ assessmentId: string;
224
+ dimensionId: string;
177
225
  }>, z.ZodObject<{
178
226
  kind: z.ZodLiteral<"workflow_step">;
179
227
  stepId: z.ZodString;
@@ -188,7 +236,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
188
236
  suggestedFix: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
189
237
  }, "strip", z.ZodTypeAny, {
190
238
  message: string;
191
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
239
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
192
240
  pointer: {
193
241
  key: string;
194
242
  kind: "context_key";
@@ -200,6 +248,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
200
248
  } | {
201
249
  kind: "capability";
202
250
  capability: "delegation" | "web_browsing";
251
+ } | {
252
+ kind: "assessment_dimension";
253
+ assessmentId: string;
254
+ dimensionId: string;
203
255
  } | {
204
256
  kind: "workflow_step";
205
257
  stepId: string;
@@ -207,7 +259,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
207
259
  suggestedFix?: string | undefined;
208
260
  }, {
209
261
  message: string;
210
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
262
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
211
263
  pointer: {
212
264
  key: string;
213
265
  kind: "context_key";
@@ -219,6 +271,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
219
271
  } | {
220
272
  kind: "capability";
221
273
  capability: "delegation" | "web_browsing";
274
+ } | {
275
+ kind: "assessment_dimension";
276
+ assessmentId: string;
277
+ dimensionId: string;
222
278
  } | {
223
279
  kind: "workflow_step";
224
280
  stepId: string;
@@ -228,7 +284,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
228
284
  }, "strip", z.ZodTypeAny, {
229
285
  blockers: readonly {
230
286
  message: string;
231
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
287
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
232
288
  pointer: {
233
289
  key: string;
234
290
  kind: "context_key";
@@ -240,6 +296,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
240
296
  } | {
241
297
  kind: "capability";
242
298
  capability: "delegation" | "web_browsing";
299
+ } | {
300
+ kind: "assessment_dimension";
301
+ assessmentId: string;
302
+ dimensionId: string;
243
303
  } | {
244
304
  kind: "workflow_step";
245
305
  stepId: string;
@@ -249,7 +309,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
249
309
  }, {
250
310
  blockers: readonly {
251
311
  message: string;
252
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
312
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
253
313
  pointer: {
254
314
  key: string;
255
315
  kind: "context_key";
@@ -261,6 +321,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
261
321
  } | {
262
322
  kind: "capability";
263
323
  capability: "delegation" | "web_browsing";
324
+ } | {
325
+ kind: "assessment_dimension";
326
+ assessmentId: string;
327
+ dimensionId: string;
264
328
  } | {
265
329
  kind: "workflow_step";
266
330
  stepId: string;
@@ -269,12 +333,19 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
269
333
  }[];
270
334
  }>>;
271
335
  }, "strict", z.ZodTypeAny, {
336
+ kind: "retryable_block";
272
337
  reason: {
273
338
  kind: "invalid_required_output";
274
339
  contractRef: string;
275
340
  } | {
276
341
  kind: "missing_required_output";
277
342
  contractRef: string;
343
+ } | {
344
+ level: string;
345
+ kind: "assessment_followup_required";
346
+ assessmentId: string;
347
+ guidance: string;
348
+ dimensionId: string;
278
349
  } | {
279
350
  key: string;
280
351
  kind: "missing_context_key";
@@ -284,11 +355,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
284
355
  kind: "missing_notes";
285
356
  stepId: string;
286
357
  };
287
- kind: "retryable_block";
288
358
  blockers: Readonly<{
289
359
  blockers: readonly {
290
360
  message: string;
291
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
361
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
292
362
  pointer: {
293
363
  key: string;
294
364
  kind: "context_key";
@@ -300,6 +370,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
300
370
  } | {
301
371
  kind: "capability";
302
372
  capability: "delegation" | "web_browsing";
373
+ } | {
374
+ kind: "assessment_dimension";
375
+ assessmentId: string;
376
+ dimensionId: string;
303
377
  } | {
304
378
  kind: "workflow_step";
305
379
  stepId: string;
@@ -308,14 +382,21 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
308
382
  }[];
309
383
  }>;
310
384
  retryAttemptId: string;
311
- validationRef: string;
385
+ validationRef?: string | undefined;
312
386
  }, {
387
+ kind: "retryable_block";
313
388
  reason: {
314
389
  kind: "invalid_required_output";
315
390
  contractRef: string;
316
391
  } | {
317
392
  kind: "missing_required_output";
318
393
  contractRef: string;
394
+ } | {
395
+ level: string;
396
+ kind: "assessment_followup_required";
397
+ assessmentId: string;
398
+ guidance: string;
399
+ dimensionId: string;
319
400
  } | {
320
401
  key: string;
321
402
  kind: "missing_context_key";
@@ -325,11 +406,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
325
406
  kind: "missing_notes";
326
407
  stepId: string;
327
408
  };
328
- kind: "retryable_block";
329
409
  blockers: Readonly<{
330
410
  blockers: readonly {
331
411
  message: string;
332
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
412
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
333
413
  pointer: {
334
414
  key: string;
335
415
  kind: "context_key";
@@ -341,6 +421,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
341
421
  } | {
342
422
  kind: "capability";
343
423
  capability: "delegation" | "web_browsing";
424
+ } | {
425
+ kind: "assessment_dimension";
426
+ assessmentId: string;
427
+ dimensionId: string;
344
428
  } | {
345
429
  kind: "workflow_step";
346
430
  stepId: string;
@@ -349,7 +433,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
349
433
  }[];
350
434
  }>;
351
435
  retryAttemptId: string;
352
- validationRef: string;
436
+ validationRef?: string | undefined;
353
437
  }>, z.ZodObject<{
354
438
  kind: z.ZodLiteral<"terminal_block">;
355
439
  reason: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -404,7 +488,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
404
488
  validationRef: z.ZodOptional<z.ZodString>;
405
489
  blockers: z.ZodReadonly<z.ZodObject<{
406
490
  blockers: z.ZodReadonly<z.ZodArray<z.ZodObject<{
407
- code: z.ZodEnum<["USER_ONLY_DEPENDENCY", "MISSING_REQUIRED_OUTPUT", "INVALID_REQUIRED_OUTPUT", "MISSING_REQUIRED_NOTES", "MISSING_CONTEXT_KEY", "CONTEXT_BUDGET_EXCEEDED", "REQUIRED_CAPABILITY_UNKNOWN", "REQUIRED_CAPABILITY_UNAVAILABLE", "INVARIANT_VIOLATION", "STORAGE_CORRUPTION_DETECTED"]>;
491
+ code: z.ZodEnum<["USER_ONLY_DEPENDENCY", "MISSING_REQUIRED_OUTPUT", "INVALID_REQUIRED_OUTPUT", "ASSESSMENT_FOLLOWUP_REQUIRED", "MISSING_REQUIRED_NOTES", "MISSING_CONTEXT_KEY", "CONTEXT_BUDGET_EXCEEDED", "REQUIRED_CAPABILITY_UNKNOWN", "REQUIRED_CAPABILITY_UNAVAILABLE", "INVARIANT_VIOLATION", "STORAGE_CORRUPTION_DETECTED"]>;
408
492
  pointer: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
409
493
  kind: z.ZodLiteral<"context_key">;
410
494
  key: z.ZodString;
@@ -438,6 +522,18 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
438
522
  }, {
439
523
  kind: "capability";
440
524
  capability: "delegation" | "web_browsing";
525
+ }>, z.ZodObject<{
526
+ kind: z.ZodLiteral<"assessment_dimension">;
527
+ assessmentId: z.ZodString;
528
+ dimensionId: z.ZodString;
529
+ }, "strict", z.ZodTypeAny, {
530
+ kind: "assessment_dimension";
531
+ assessmentId: string;
532
+ dimensionId: string;
533
+ }, {
534
+ kind: "assessment_dimension";
535
+ assessmentId: string;
536
+ dimensionId: string;
441
537
  }>, z.ZodObject<{
442
538
  kind: z.ZodLiteral<"workflow_step">;
443
539
  stepId: z.ZodString;
@@ -452,7 +548,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
452
548
  suggestedFix: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
453
549
  }, "strip", z.ZodTypeAny, {
454
550
  message: string;
455
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
551
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
456
552
  pointer: {
457
553
  key: string;
458
554
  kind: "context_key";
@@ -464,6 +560,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
464
560
  } | {
465
561
  kind: "capability";
466
562
  capability: "delegation" | "web_browsing";
563
+ } | {
564
+ kind: "assessment_dimension";
565
+ assessmentId: string;
566
+ dimensionId: string;
467
567
  } | {
468
568
  kind: "workflow_step";
469
569
  stepId: string;
@@ -471,7 +571,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
471
571
  suggestedFix?: string | undefined;
472
572
  }, {
473
573
  message: string;
474
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
574
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
475
575
  pointer: {
476
576
  key: string;
477
577
  kind: "context_key";
@@ -483,6 +583,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
483
583
  } | {
484
584
  kind: "capability";
485
585
  capability: "delegation" | "web_browsing";
586
+ } | {
587
+ kind: "assessment_dimension";
588
+ assessmentId: string;
589
+ dimensionId: string;
486
590
  } | {
487
591
  kind: "workflow_step";
488
592
  stepId: string;
@@ -492,7 +596,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
492
596
  }, "strip", z.ZodTypeAny, {
493
597
  blockers: readonly {
494
598
  message: string;
495
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
599
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
496
600
  pointer: {
497
601
  key: string;
498
602
  kind: "context_key";
@@ -504,6 +608,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
504
608
  } | {
505
609
  kind: "capability";
506
610
  capability: "delegation" | "web_browsing";
611
+ } | {
612
+ kind: "assessment_dimension";
613
+ assessmentId: string;
614
+ dimensionId: string;
507
615
  } | {
508
616
  kind: "workflow_step";
509
617
  stepId: string;
@@ -513,7 +621,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
513
621
  }, {
514
622
  blockers: readonly {
515
623
  message: string;
516
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
624
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
517
625
  pointer: {
518
626
  key: string;
519
627
  kind: "context_key";
@@ -525,6 +633,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
525
633
  } | {
526
634
  kind: "capability";
527
635
  capability: "delegation" | "web_browsing";
636
+ } | {
637
+ kind: "assessment_dimension";
638
+ assessmentId: string;
639
+ dimensionId: string;
528
640
  } | {
529
641
  kind: "workflow_step";
530
642
  stepId: string;
@@ -533,6 +645,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
533
645
  }[];
534
646
  }>>;
535
647
  }, "strict", z.ZodTypeAny, {
648
+ kind: "terminal_block";
536
649
  reason: {
537
650
  kind: "user_only_dependency";
538
651
  stepId: string;
@@ -550,11 +663,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
550
663
  } | {
551
664
  kind: "evaluation_error";
552
665
  };
553
- kind: "terminal_block";
554
666
  blockers: Readonly<{
555
667
  blockers: readonly {
556
668
  message: string;
557
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
669
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
558
670
  pointer: {
559
671
  key: string;
560
672
  kind: "context_key";
@@ -566,6 +678,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
566
678
  } | {
567
679
  kind: "capability";
568
680
  capability: "delegation" | "web_browsing";
681
+ } | {
682
+ kind: "assessment_dimension";
683
+ assessmentId: string;
684
+ dimensionId: string;
569
685
  } | {
570
686
  kind: "workflow_step";
571
687
  stepId: string;
@@ -575,6 +691,7 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
575
691
  }>;
576
692
  validationRef?: string | undefined;
577
693
  }, {
694
+ kind: "terminal_block";
578
695
  reason: {
579
696
  kind: "user_only_dependency";
580
697
  stepId: string;
@@ -592,11 +709,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
592
709
  } | {
593
710
  kind: "evaluation_error";
594
711
  };
595
- kind: "terminal_block";
596
712
  blockers: Readonly<{
597
713
  blockers: readonly {
598
714
  message: string;
599
- code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
715
+ code: "USER_ONLY_DEPENDENCY" | "MISSING_REQUIRED_OUTPUT" | "INVALID_REQUIRED_OUTPUT" | "ASSESSMENT_FOLLOWUP_REQUIRED" | "MISSING_REQUIRED_NOTES" | "MISSING_CONTEXT_KEY" | "CONTEXT_BUDGET_EXCEEDED" | "REQUIRED_CAPABILITY_UNKNOWN" | "REQUIRED_CAPABILITY_UNAVAILABLE" | "INVARIANT_VIOLATION" | "STORAGE_CORRUPTION_DETECTED";
600
716
  pointer: {
601
717
  key: string;
602
718
  kind: "context_key";
@@ -608,6 +724,10 @@ export declare const BlockedSnapshotV1Schema: z.ZodDiscriminatedUnion<"kind", [z
608
724
  } | {
609
725
  kind: "capability";
610
726
  capability: "delegation" | "web_browsing";
727
+ } | {
728
+ kind: "assessment_dimension";
729
+ assessmentId: string;
730
+ dimensionId: string;
611
731
  } | {
612
732
  kind: "workflow_step";
613
733
  stepId: string;
@@ -13,6 +13,7 @@ const BlockerCodeSchema = zod_1.z.enum([
13
13
  'USER_ONLY_DEPENDENCY',
14
14
  'MISSING_REQUIRED_OUTPUT',
15
15
  'INVALID_REQUIRED_OUTPUT',
16
+ 'ASSESSMENT_FOLLOWUP_REQUIRED',
16
17
  'MISSING_REQUIRED_NOTES',
17
18
  'MISSING_CONTEXT_KEY',
18
19
  'CONTEXT_BUDGET_EXCEEDED',
@@ -26,6 +27,7 @@ const BlockerPointerSchema = zod_1.z.discriminatedUnion('kind', [
26
27
  zod_1.z.object({ kind: zod_1.z.literal('context_budget') }).strict(),
27
28
  zod_1.z.object({ kind: zod_1.z.literal('output_contract'), contractRef: zod_1.z.string().min(1) }).strict(),
28
29
  zod_1.z.object({ kind: zod_1.z.literal('capability'), capability: CapabilityV2Schema }).strict(),
30
+ zod_1.z.object({ kind: zod_1.z.literal('assessment_dimension'), assessmentId: zod_1.z.string().min(1), dimensionId: DelimiterSafeIdSchema }).strict(),
29
31
  zod_1.z.object({ kind: zod_1.z.literal('workflow_step'), stepId: DelimiterSafeIdSchema }).strict(),
30
32
  ]);
31
33
  const BlockerV1Schema = zod_1.z.object({
@@ -51,6 +53,13 @@ const BlockerReportV1Schema = zod_1.z.object({
51
53
  exports.ContractViolationReasonV1Schema = zod_1.z.discriminatedUnion('kind', [
52
54
  zod_1.z.object({ kind: zod_1.z.literal('invalid_required_output'), contractRef: zod_1.z.string().min(1) }).strict(),
53
55
  zod_1.z.object({ kind: zod_1.z.literal('missing_required_output'), contractRef: zod_1.z.string().min(1) }).strict(),
56
+ zod_1.z.object({
57
+ kind: zod_1.z.literal('assessment_followup_required'),
58
+ assessmentId: zod_1.z.string().min(1),
59
+ dimensionId: DelimiterSafeIdSchema,
60
+ level: zod_1.z.string().min(1),
61
+ guidance: zod_1.z.string().min(1),
62
+ }).strict(),
54
63
  zod_1.z.object({ kind: zod_1.z.literal('missing_context_key'), key: DelimiterSafeIdSchema }).strict(),
55
64
  zod_1.z.object({ kind: zod_1.z.literal('context_budget_exceeded') }).strict(),
56
65
  zod_1.z.object({ kind: zod_1.z.literal('missing_notes'), stepId: DelimiterSafeIdSchema }).strict(),
@@ -79,7 +88,7 @@ exports.BlockedSnapshotV1Schema = zod_1.z.discriminatedUnion('kind', [
79
88
  kind: zod_1.z.literal('retryable_block'),
80
89
  reason: exports.ContractViolationReasonV1Schema,
81
90
  retryAttemptId: zod_1.z.string().min(1),
82
- validationRef: zod_1.z.string().min(1),
91
+ validationRef: zod_1.z.string().min(1).optional(),
83
92
  blockers: BlockerReportV1Schema,
84
93
  }).strict(),
85
94
  zod_1.z.object({