@openpond/evals 0.4.2 → 0.6.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 (64) hide show
  1. package/CONTRACT.md +27 -1
  2. package/README.md +31 -2
  3. package/conformance/telemetry/v1/invalid-batch.json +17 -0
  4. package/conformance/telemetry/v1/valid-batch.json +58 -0
  5. package/dist/artifact-verification.js +172 -0
  6. package/dist/builtin-benchmarks/harness-refiner.js +469 -24
  7. package/dist/execution-contracts.js +153 -0
  8. package/dist/execution-receipts.js +185 -0
  9. package/dist/graders.js +8 -2
  10. package/dist/index.js +10 -0
  11. package/dist/learned-preference.js +334 -0
  12. package/dist/preferences.js +803 -0
  13. package/dist/rollouts.js +241 -0
  14. package/dist/tasksets.js +24 -0
  15. package/dist/telemetry/index.js +4 -0
  16. package/dist/telemetry-analysis.js +183 -0
  17. package/dist/telemetry-bundle.js +60 -0
  18. package/dist/telemetry-catalog.js +50 -0
  19. package/dist/telemetry.js +112 -0
  20. package/dist/types/artifact-verification.d.ts +31 -0
  21. package/dist/types/artifact-verification.d.ts.map +1 -0
  22. package/dist/types/builtin-benchmarks/harness-refiner.d.ts +22 -0
  23. package/dist/types/builtin-benchmarks/harness-refiner.d.ts.map +1 -1
  24. package/dist/types/conformance.d.ts +44 -0
  25. package/dist/types/conformance.d.ts.map +1 -1
  26. package/dist/types/evidence/conformance.d.ts +24 -24
  27. package/dist/types/evidence/contracts.d.ts +42 -42
  28. package/dist/types/execution-contracts.d.ts +806 -0
  29. package/dist/types/execution-contracts.d.ts.map +1 -0
  30. package/dist/types/execution-receipts.d.ts +55 -0
  31. package/dist/types/execution-receipts.d.ts.map +1 -0
  32. package/dist/types/graders.d.ts.map +1 -1
  33. package/dist/types/index.d.ts +10 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/learned-preference.d.ts +282 -0
  36. package/dist/types/learned-preference.d.ts.map +1 -0
  37. package/dist/types/preferences.d.ts +583 -0
  38. package/dist/types/preferences.d.ts.map +1 -0
  39. package/dist/types/review-conformance.d.ts +20 -15
  40. package/dist/types/review-conformance.d.ts.map +1 -1
  41. package/dist/types/rollouts.d.ts +221 -0
  42. package/dist/types/rollouts.d.ts.map +1 -0
  43. package/dist/types/tasksets.d.ts +89 -0
  44. package/dist/types/tasksets.d.ts.map +1 -1
  45. package/dist/types/telemetry/index.d.ts +5 -0
  46. package/dist/types/telemetry/index.d.ts.map +1 -0
  47. package/dist/types/telemetry-analysis.d.ts +116 -0
  48. package/dist/types/telemetry-analysis.d.ts.map +1 -0
  49. package/dist/types/telemetry-bundle.d.ts +309 -0
  50. package/dist/types/telemetry-bundle.d.ts.map +1 -0
  51. package/dist/types/telemetry-catalog.d.ts +269 -0
  52. package/dist/types/telemetry-catalog.d.ts.map +1 -0
  53. package/dist/types/telemetry.d.ts +266 -0
  54. package/dist/types/telemetry.d.ts.map +1 -0
  55. package/package.json +20 -2
  56. package/schemas/telemetry/v1/evidence-completeness.schema.json +82 -0
  57. package/schemas/telemetry/v1/evidence-reference.schema.json +41 -0
  58. package/schemas/telemetry/v1/metric-definition.schema.json +96 -0
  59. package/schemas/telemetry/v1/metric-observation.schema.json +182 -0
  60. package/schemas/telemetry/v1/run-metric-summary.schema.json +98 -0
  61. package/schemas/telemetry/v1/run-telemetry-batch.schema.json +405 -0
  62. package/schemas/telemetry/v1/run-telemetry-event.schema.json +201 -0
  63. package/schemas/telemetry/v1/telemetry-cohort.schema.json +100 -0
  64. package/schemas/telemetry/v1/telemetry-export-bundle.schema.json +655 -0
@@ -0,0 +1,112 @@
1
+ import { z } from "zod";
2
+ import { MetadataSchema, ReleaseHashSchema, ReleaseIdSchema, ReleaseTimestampSchema, } from "@openpond/harness";
3
+ export const RUN_TELEMETRY_SCHEMA_VERSION = "openpond.runTelemetryEvent.v1";
4
+ export const METRIC_DEFINITION_SCHEMA_VERSION = "openpond.metricDefinition.v1";
5
+ export const METRIC_OBSERVATION_SCHEMA_VERSION = "openpond.metricObservation.v1";
6
+ export const TelemetryVisibilitySchema = z.enum([
7
+ "policy_visible",
8
+ "team_visible",
9
+ "host_private",
10
+ ]);
11
+ export const TelemetrySourceSchema = z.enum([
12
+ "runtime",
13
+ "environment",
14
+ "grader",
15
+ "optimizer",
16
+ "control_plane",
17
+ "evaluation",
18
+ ]);
19
+ export const TelemetryEventTypeSchema = z.enum([
20
+ "run_started",
21
+ "run_state_changed",
22
+ "rollout_group_started",
23
+ "attempt_completed",
24
+ "grader_completed",
25
+ "reward_composed",
26
+ "optimizer_step_completed",
27
+ "checkpoint_committed",
28
+ "evaluation_completed",
29
+ "run_completed",
30
+ "run_failed",
31
+ "cleanup_completed",
32
+ ]);
33
+ export const RunTelemetryLineageSchema = z.object({
34
+ modelProjectId: ReleaseIdSchema,
35
+ runId: ReleaseIdSchema,
36
+ modelVersionId: ReleaseIdSchema.nullable(),
37
+ harnessReleaseHash: ReleaseHashSchema,
38
+ tasksetReleaseHash: ReleaseHashSchema,
39
+ environmentReleaseHash: ReleaseHashSchema.nullable(),
40
+ checkpointId: ReleaseIdSchema.nullable(),
41
+ step: z.number().int().nonnegative().nullable(),
42
+ rolloutGroupId: ReleaseIdSchema.nullable(),
43
+ attemptId: ReleaseIdSchema.nullable(),
44
+ scenarioId: ReleaseIdSchema.nullable(),
45
+ }).strict();
46
+ export const RunTelemetryEventSchema = z.object({
47
+ schemaVersion: z.literal(RUN_TELEMETRY_SCHEMA_VERSION),
48
+ eventId: ReleaseIdSchema,
49
+ sequence: z.number().int().nonnegative(),
50
+ occurredAt: ReleaseTimestampSchema,
51
+ source: TelemetrySourceSchema,
52
+ type: TelemetryEventTypeSchema,
53
+ visibility: TelemetryVisibilitySchema,
54
+ lineage: RunTelemetryLineageSchema,
55
+ attributes: MetadataSchema,
56
+ }).strict();
57
+ export const MetricValueTypeSchema = z.enum(["gauge", "counter", "distribution"]);
58
+ export const MetricUnitSchema = z.enum([
59
+ "ratio",
60
+ "count",
61
+ "seconds",
62
+ "milliseconds",
63
+ "tokens",
64
+ "bytes",
65
+ "usd",
66
+ "scalar",
67
+ ]);
68
+ export const MetricDirectionSchema = z.enum(["higher", "lower", "neutral"]);
69
+ export const MetricAggregationSchema = z.enum(["last", "sum", "mean", "min", "max", "p50", "p95"]);
70
+ export const MetricDefinitionSchema = z.object({
71
+ schemaVersion: z.literal(METRIC_DEFINITION_SCHEMA_VERSION),
72
+ id: ReleaseIdSchema,
73
+ displayName: z.string().trim().min(1).max(200),
74
+ description: z.string().trim().min(1).max(2_000),
75
+ valueType: MetricValueTypeSchema,
76
+ unit: MetricUnitSchema,
77
+ direction: MetricDirectionSchema,
78
+ aggregation: MetricAggregationSchema,
79
+ visibility: TelemetryVisibilitySchema,
80
+ boundedDimensions: z.array(z.string().trim().min(1).max(100)).max(32),
81
+ }).strict();
82
+ export const MetricObservationSchema = z.object({
83
+ schemaVersion: z.literal(METRIC_OBSERVATION_SCHEMA_VERSION),
84
+ observationId: ReleaseIdSchema,
85
+ metricId: ReleaseIdSchema,
86
+ eventId: ReleaseIdSchema,
87
+ sequence: z.number().int().nonnegative(),
88
+ observedAt: ReleaseTimestampSchema,
89
+ value: z.number().finite(),
90
+ lineage: RunTelemetryLineageSchema,
91
+ dimensions: z.record(z.string().trim().min(1).max(100), z.string().max(500)),
92
+ }).strict();
93
+ export const RunTelemetryBatchSchema = z.object({
94
+ schemaVersion: z.literal("openpond.runTelemetryBatch.v1"),
95
+ events: z.array(RunTelemetryEventSchema).max(1_000),
96
+ observations: z.array(MetricObservationSchema).max(10_000),
97
+ }).strict().superRefine((batch, context) => {
98
+ if (batch.events.length + batch.observations.length === 0) {
99
+ context.addIssue({ code: "custom", message: "Telemetry batch cannot be empty." });
100
+ }
101
+ const keys = new Set();
102
+ for (const item of [...batch.events, ...batch.observations]) {
103
+ const id = item.schemaVersion === METRIC_OBSERVATION_SCHEMA_VERSION
104
+ ? item.observationId
105
+ : item.eventId;
106
+ const key = `${item.lineage.runId}:${item.sequence}:${id}`;
107
+ if (keys.has(key)) {
108
+ context.addIssue({ code: "custom", message: "Telemetry batch contains a duplicate idempotency key." });
109
+ }
110
+ keys.add(key);
111
+ }
112
+ });
@@ -0,0 +1,31 @@
1
+ import type { ImmutableArtifactRef } from "@openpond/harness";
2
+ import { type ArtifactManifest, type RewardComponentReceipt } from "./execution-contracts.js";
3
+ import type { RequiredOutputContract } from "./tasksets.js";
4
+ export type CollectedArtifact = {
5
+ path: string;
6
+ artifact: ImmutableArtifactRef | null;
7
+ detectedMediaType: string | null;
8
+ status: "collected" | "failed";
9
+ parseStatus?: "not_requested" | "passed" | "failed";
10
+ schemaStatus?: "not_requested" | "passed" | "failed";
11
+ errorCode?: string | null;
12
+ failureOwner?: "policy" | "collector" | "environment" | null;
13
+ evidenceRefs?: ImmutableArtifactRef[];
14
+ metadata?: Record<string, unknown>;
15
+ };
16
+ export declare function buildArtifactManifest(input: {
17
+ id: string;
18
+ attemptRef: {
19
+ id: string;
20
+ contentHash: string;
21
+ };
22
+ requiredOutputs: RequiredOutputContract[];
23
+ collectedArtifacts: CollectedArtifact[];
24
+ createdAt: string;
25
+ metadata?: Record<string, unknown>;
26
+ }): ArtifactManifest;
27
+ export declare function verifyRequiredOutputs(input: {
28
+ requiredOutputs: RequiredOutputContract[];
29
+ manifest: ArtifactManifest;
30
+ }): RewardComponentReceipt[];
31
+ //# sourceMappingURL=artifact-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-verification.d.ts","sourceRoot":"","sources":["../../../../src/artifact-verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAGL,KAAK,gBAAgB,EAGrB,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,WAAW,CAAC,EAAE,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpD,YAAY,CAAC,EAAE,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,gBAAgB,CAwEnB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,GAAG,sBAAsB,EAAE,CAqC3B"}
@@ -49,6 +49,20 @@ export declare const harnessRefinerBenchmarkRelease: {
49
49
  visibility: "policy" | "verifier" | "host_private";
50
50
  }[];
51
51
  tags: string[];
52
+ requiredOutputs?: {
53
+ path: string;
54
+ mediaType: string;
55
+ schemaRef: {
56
+ id: string;
57
+ path: string;
58
+ contentHash: string;
59
+ sizeBytes: number;
60
+ mediaType: string;
61
+ visibility: "policy" | "verifier" | "host_private";
62
+ } | null;
63
+ maxBytes: number | null;
64
+ metadata: Record<string, unknown>;
65
+ }[] | undefined;
52
66
  }[];
53
67
  graders: ({
54
68
  id: string;
@@ -114,6 +128,14 @@ export declare const harnessRefinerBenchmarkRelease: {
114
128
  })[];
115
129
  metadata: Record<string, unknown>;
116
130
  contentHash: string;
131
+ environmentRelease?: {
132
+ id: string;
133
+ contentHash: string;
134
+ } | undefined;
135
+ verifierSetRelease?: {
136
+ id: string;
137
+ contentHash: string;
138
+ } | undefined;
117
139
  };
118
140
  export declare const harnessRefinerBenchmarkAssets: Readonly<Record<string, string>>;
119
141
  //# sourceMappingURL=harness-refiner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"harness-refiner.d.ts","sourceRoot":"","sources":["../../../../../src/builtin-benchmarks/harness-refiner.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwuC1C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASzE,CAAC"}
1
+ {"version":3,"file":"harness-refiner.d.ts","sourceRoot":"","sources":["../../../../../src/builtin-benchmarks/harness-refiner.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqqD1C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASzE,CAAC"}
@@ -159,6 +159,20 @@ export declare const genericToolConformance: {
159
159
  visibility: "policy" | "verifier" | "host_private";
160
160
  }[];
161
161
  tags: string[];
162
+ requiredOutputs?: {
163
+ path: string;
164
+ mediaType: string;
165
+ schemaRef: {
166
+ id: string;
167
+ path: string;
168
+ contentHash: string;
169
+ sizeBytes: number;
170
+ mediaType: string;
171
+ visibility: "policy" | "verifier" | "host_private";
172
+ } | null;
173
+ maxBytes: number | null;
174
+ metadata: Record<string, unknown>;
175
+ }[] | undefined;
162
176
  }[];
163
177
  graders: ({
164
178
  id: string;
@@ -224,6 +238,14 @@ export declare const genericToolConformance: {
224
238
  })[];
225
239
  metadata: Record<string, unknown>;
226
240
  contentHash: string;
241
+ environmentRelease?: {
242
+ id: string;
243
+ contentHash: string;
244
+ } | undefined;
245
+ verifierSetRelease?: {
246
+ id: string;
247
+ contentHash: string;
248
+ } | undefined;
227
249
  };
228
250
  manifest: {
229
251
  schemaVersion: "openpond.runManifest.v1";
@@ -426,6 +448,20 @@ export declare const marketingPortfolioConformance: {
426
448
  visibility: "policy" | "verifier" | "host_private";
427
449
  }[];
428
450
  tags: string[];
451
+ requiredOutputs?: {
452
+ path: string;
453
+ mediaType: string;
454
+ schemaRef: {
455
+ id: string;
456
+ path: string;
457
+ contentHash: string;
458
+ sizeBytes: number;
459
+ mediaType: string;
460
+ visibility: "policy" | "verifier" | "host_private";
461
+ } | null;
462
+ maxBytes: number | null;
463
+ metadata: Record<string, unknown>;
464
+ }[] | undefined;
429
465
  }[];
430
466
  graders: ({
431
467
  id: string;
@@ -491,6 +527,14 @@ export declare const marketingPortfolioConformance: {
491
527
  })[];
492
528
  metadata: Record<string, unknown>;
493
529
  contentHash: string;
530
+ environmentRelease?: {
531
+ id: string;
532
+ contentHash: string;
533
+ } | undefined;
534
+ verifierSetRelease?: {
535
+ id: string;
536
+ contentHash: string;
537
+ } | undefined;
494
538
  };
495
539
  manifest: {
496
540
  schemaVersion: "openpond.runManifest.v1";
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../../../src/conformance.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEjC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGxC,CAAC"}
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../../../src/conformance.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEjC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGxC,CAAC"}
@@ -9,9 +9,9 @@ export declare const completeWorkProcessTraceFixture: {
9
9
  sequence: number;
10
10
  timestamp: string;
11
11
  layer: "agent" | "environment";
12
- kind: "approval" | "validation" | "artifact" | "tool" | "state_transition" | "question" | "cleanup";
12
+ kind: "validation" | "artifact" | "approval" | "tool" | "state_transition" | "question" | "cleanup";
13
13
  action: "turn_started" | "turn_completed" | "turn_failed" | "turn_cancelled" | "turn_timed_out" | "tool_invoked" | "tool_completed" | "tool_failed" | "validation_completed" | "validation_failed" | "approval_requested" | "approval_resolved" | "question_asked" | "question_answered" | "question_dismissed" | "artifact_created" | "workspace_changed" | "environment_created" | "environment_reset" | "environment_destroyed" | "cleanup_completed" | "cleanup_failed";
14
- status: "cancelled" | "failed" | "started" | "completed";
14
+ status: "failed" | "completed" | "cancelled" | "started";
15
15
  inputHash: string | null;
16
16
  outputHash: string | null;
17
17
  receiptHash: string | null;
@@ -25,14 +25,14 @@ export declare const completeWorkProcessTraceFixture: {
25
25
  attributes: {
26
26
  toolCategory: "agent" | "command" | "filesystem" | "source_control" | "browser" | "connected_app" | "sandbox" | "other" | null;
27
27
  validationKind: "test" | "structural" | "visual" | "user_review" | "other" | null;
28
- transitionState: "timeout" | "cancelled" | "failed" | "completed" | "running" | null;
28
+ transitionState: "failed" | "completed" | "cancelled" | "timeout" | "running" | null;
29
29
  interventionOutcome: "requested" | "approved" | "denied" | "answered" | "dismissed" | null;
30
30
  artifactCount: number;
31
31
  exitCode: number | null;
32
32
  durationMs: number | null;
33
33
  cpuTimeMs: number | null;
34
34
  memoryPeakBytes: number | null;
35
- errorClass: "unknown" | "timeout" | "cancelled" | "validation" | "policy" | "environment" | "infrastructure" | null;
35
+ errorClass: "validation" | "policy" | "unknown" | "environment" | "cancelled" | "timeout" | "infrastructure" | null;
36
36
  };
37
37
  }[];
38
38
  contentHash: string;
@@ -70,8 +70,8 @@ export declare const completeWorkEvidenceFixture: {
70
70
  };
71
71
  inputHash: string;
72
72
  terminal: {
73
- status: "timeout" | "cancelled" | "failed" | "completed";
74
- failureClass: "unknown" | "policy_failure" | "environment_failure" | "infrastructure_failure" | "timeout" | "cancelled" | "validation_failure" | "model_failure" | null;
73
+ status: "failed" | "completed" | "cancelled" | "timeout";
74
+ failureClass: "unknown" | "policy_failure" | "environment_failure" | "cancelled" | "infrastructure_failure" | "timeout" | "validation_failure" | "model_failure" | null;
75
75
  };
76
76
  trace: {
77
77
  sanitizedRef: {
@@ -186,9 +186,9 @@ export declare const incompleteWorkProcessTraceFixture: {
186
186
  sequence: number;
187
187
  timestamp: string;
188
188
  layer: "agent" | "environment";
189
- kind: "approval" | "validation" | "artifact" | "tool" | "state_transition" | "question" | "cleanup";
189
+ kind: "validation" | "artifact" | "approval" | "tool" | "state_transition" | "question" | "cleanup";
190
190
  action: "turn_started" | "turn_completed" | "turn_failed" | "turn_cancelled" | "turn_timed_out" | "tool_invoked" | "tool_completed" | "tool_failed" | "validation_completed" | "validation_failed" | "approval_requested" | "approval_resolved" | "question_asked" | "question_answered" | "question_dismissed" | "artifact_created" | "workspace_changed" | "environment_created" | "environment_reset" | "environment_destroyed" | "cleanup_completed" | "cleanup_failed";
191
- status: "cancelled" | "failed" | "started" | "completed";
191
+ status: "failed" | "completed" | "cancelled" | "started";
192
192
  inputHash: string | null;
193
193
  outputHash: string | null;
194
194
  receiptHash: string | null;
@@ -202,14 +202,14 @@ export declare const incompleteWorkProcessTraceFixture: {
202
202
  attributes: {
203
203
  toolCategory: "agent" | "command" | "filesystem" | "source_control" | "browser" | "connected_app" | "sandbox" | "other" | null;
204
204
  validationKind: "test" | "structural" | "visual" | "user_review" | "other" | null;
205
- transitionState: "timeout" | "cancelled" | "failed" | "completed" | "running" | null;
205
+ transitionState: "failed" | "completed" | "cancelled" | "timeout" | "running" | null;
206
206
  interventionOutcome: "requested" | "approved" | "denied" | "answered" | "dismissed" | null;
207
207
  artifactCount: number;
208
208
  exitCode: number | null;
209
209
  durationMs: number | null;
210
210
  cpuTimeMs: number | null;
211
211
  memoryPeakBytes: number | null;
212
- errorClass: "unknown" | "timeout" | "cancelled" | "validation" | "policy" | "environment" | "infrastructure" | null;
212
+ errorClass: "validation" | "policy" | "unknown" | "environment" | "cancelled" | "timeout" | "infrastructure" | null;
213
213
  };
214
214
  }[];
215
215
  contentHash: string;
@@ -308,8 +308,8 @@ export declare const invalidRawEvidenceFixture: {
308
308
  };
309
309
  inputHash: string;
310
310
  terminal: {
311
- status: "timeout" | "cancelled" | "failed" | "completed";
312
- failureClass: "unknown" | "policy_failure" | "environment_failure" | "infrastructure_failure" | "timeout" | "cancelled" | "validation_failure" | "model_failure" | null;
311
+ status: "failed" | "completed" | "cancelled" | "timeout";
312
+ failureClass: "unknown" | "policy_failure" | "environment_failure" | "cancelled" | "infrastructure_failure" | "timeout" | "validation_failure" | "model_failure" | null;
313
313
  };
314
314
  trace: {
315
315
  sanitizedRef: {
@@ -392,9 +392,9 @@ export declare const workEvidenceConformance: {
392
392
  sequence: number;
393
393
  timestamp: string;
394
394
  layer: "agent" | "environment";
395
- kind: "approval" | "validation" | "artifact" | "tool" | "state_transition" | "question" | "cleanup";
395
+ kind: "validation" | "artifact" | "approval" | "tool" | "state_transition" | "question" | "cleanup";
396
396
  action: "turn_started" | "turn_completed" | "turn_failed" | "turn_cancelled" | "turn_timed_out" | "tool_invoked" | "tool_completed" | "tool_failed" | "validation_completed" | "validation_failed" | "approval_requested" | "approval_resolved" | "question_asked" | "question_answered" | "question_dismissed" | "artifact_created" | "workspace_changed" | "environment_created" | "environment_reset" | "environment_destroyed" | "cleanup_completed" | "cleanup_failed";
397
- status: "cancelled" | "failed" | "started" | "completed";
397
+ status: "failed" | "completed" | "cancelled" | "started";
398
398
  inputHash: string | null;
399
399
  outputHash: string | null;
400
400
  receiptHash: string | null;
@@ -408,14 +408,14 @@ export declare const workEvidenceConformance: {
408
408
  attributes: {
409
409
  toolCategory: "agent" | "command" | "filesystem" | "source_control" | "browser" | "connected_app" | "sandbox" | "other" | null;
410
410
  validationKind: "test" | "structural" | "visual" | "user_review" | "other" | null;
411
- transitionState: "timeout" | "cancelled" | "failed" | "completed" | "running" | null;
411
+ transitionState: "failed" | "completed" | "cancelled" | "timeout" | "running" | null;
412
412
  interventionOutcome: "requested" | "approved" | "denied" | "answered" | "dismissed" | null;
413
413
  artifactCount: number;
414
414
  exitCode: number | null;
415
415
  durationMs: number | null;
416
416
  cpuTimeMs: number | null;
417
417
  memoryPeakBytes: number | null;
418
- errorClass: "unknown" | "timeout" | "cancelled" | "validation" | "policy" | "environment" | "infrastructure" | null;
418
+ errorClass: "validation" | "policy" | "unknown" | "environment" | "cancelled" | "timeout" | "infrastructure" | null;
419
419
  };
420
420
  }[];
421
421
  contentHash: string;
@@ -453,8 +453,8 @@ export declare const workEvidenceConformance: {
453
453
  };
454
454
  inputHash: string;
455
455
  terminal: {
456
- status: "timeout" | "cancelled" | "failed" | "completed";
457
- failureClass: "unknown" | "policy_failure" | "environment_failure" | "infrastructure_failure" | "timeout" | "cancelled" | "validation_failure" | "model_failure" | null;
456
+ status: "failed" | "completed" | "cancelled" | "timeout";
457
+ failureClass: "unknown" | "policy_failure" | "environment_failure" | "cancelled" | "infrastructure_failure" | "timeout" | "validation_failure" | "model_failure" | null;
458
458
  };
459
459
  trace: {
460
460
  sanitizedRef: {
@@ -625,9 +625,9 @@ export declare const workEvidenceConformance: {
625
625
  sequence: number;
626
626
  timestamp: string;
627
627
  layer: "agent" | "environment";
628
- kind: "approval" | "validation" | "artifact" | "tool" | "state_transition" | "question" | "cleanup";
628
+ kind: "validation" | "artifact" | "approval" | "tool" | "state_transition" | "question" | "cleanup";
629
629
  action: "turn_started" | "turn_completed" | "turn_failed" | "turn_cancelled" | "turn_timed_out" | "tool_invoked" | "tool_completed" | "tool_failed" | "validation_completed" | "validation_failed" | "approval_requested" | "approval_resolved" | "question_asked" | "question_answered" | "question_dismissed" | "artifact_created" | "workspace_changed" | "environment_created" | "environment_reset" | "environment_destroyed" | "cleanup_completed" | "cleanup_failed";
630
- status: "cancelled" | "failed" | "started" | "completed";
630
+ status: "failed" | "completed" | "cancelled" | "started";
631
631
  inputHash: string | null;
632
632
  outputHash: string | null;
633
633
  receiptHash: string | null;
@@ -641,14 +641,14 @@ export declare const workEvidenceConformance: {
641
641
  attributes: {
642
642
  toolCategory: "agent" | "command" | "filesystem" | "source_control" | "browser" | "connected_app" | "sandbox" | "other" | null;
643
643
  validationKind: "test" | "structural" | "visual" | "user_review" | "other" | null;
644
- transitionState: "timeout" | "cancelled" | "failed" | "completed" | "running" | null;
644
+ transitionState: "failed" | "completed" | "cancelled" | "timeout" | "running" | null;
645
645
  interventionOutcome: "requested" | "approved" | "denied" | "answered" | "dismissed" | null;
646
646
  artifactCount: number;
647
647
  exitCode: number | null;
648
648
  durationMs: number | null;
649
649
  cpuTimeMs: number | null;
650
650
  memoryPeakBytes: number | null;
651
- errorClass: "unknown" | "timeout" | "cancelled" | "validation" | "policy" | "environment" | "infrastructure" | null;
651
+ errorClass: "validation" | "policy" | "unknown" | "environment" | "cancelled" | "timeout" | "infrastructure" | null;
652
652
  };
653
653
  }[];
654
654
  contentHash: string;
@@ -691,8 +691,8 @@ export declare const workEvidenceConformance: {
691
691
  };
692
692
  inputHash: string;
693
693
  terminal: {
694
- status: "timeout" | "cancelled" | "failed" | "completed";
695
- failureClass: "unknown" | "policy_failure" | "environment_failure" | "infrastructure_failure" | "timeout" | "cancelled" | "validation_failure" | "model_failure" | null;
694
+ status: "failed" | "completed" | "cancelled" | "timeout";
695
+ failureClass: "unknown" | "policy_failure" | "environment_failure" | "cancelled" | "infrastructure_failure" | "timeout" | "validation_failure" | "model_failure" | null;
696
696
  };
697
697
  trace: {
698
698
  sanitizedRef: {