@openpond/evals 0.11.11 → 0.11.13
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/CONTRACT.md +24 -0
- package/dist/experiments.js +89 -15
- package/dist/profile-evaluation-execution.js +10 -0
- package/dist/types/experiments.d.ts +225 -9
- package/dist/types/experiments.d.ts.map +1 -1
- package/dist/types/learning/repository.d.ts +1 -1
- package/dist/types/learning/transport.d.ts +2 -2
- package/dist/types/profile-evaluation-execution.d.ts +8 -0
- package/dist/types/profile-evaluation-execution.d.ts.map +1 -1
- package/package.json +1 -1
package/CONTRACT.md
CHANGED
|
@@ -162,3 +162,27 @@ Node subprocess for hosts without Node worker APIs. It strips authored TypeScrip
|
|
|
162
162
|
inside its deadline, evaluates the verified source in the same deterministic
|
|
163
163
|
isolate, and exits before success, failure or cancellation settles. Importing
|
|
164
164
|
the metrics entrypoint does not require Node's type-stripping API on the host.
|
|
165
|
+
|
|
166
|
+
## Portable Experiment comparison
|
|
167
|
+
|
|
168
|
+
`verifyExperimentEvidence` verifies the manifest hash, result hash, complete
|
|
169
|
+
case population and exact evaluator bindings. Historical runs without a whole
|
|
170
|
+
execution ceiling report `maximumCostUsd: null`. Dataset-authored graders retain
|
|
171
|
+
their actual version string and implementation hash; reusable Rewards retain
|
|
172
|
+
their numeric release revision. Authored fixture checks use a fixture target.
|
|
173
|
+
|
|
174
|
+
Hosts can pin package, runtime and metric-policy hashes in `execution`. Shared
|
|
175
|
+
comparison requires equal dataset version, population, evaluators and execution
|
|
176
|
+
contract. Harness comparison also requires the same component, evaluation
|
|
177
|
+
definition and environment; candidate source/Harness revisions can differ.
|
|
178
|
+
|
|
179
|
+
`compareExperiments` aligns cases and reports per-feedback eligibility, exclusion
|
|
180
|
+
reasons and paired means/deltas. Only matching completed cases with scored
|
|
181
|
+
numeric or Boolean feedback contribute. Failed, cancelled, absent or ungraded
|
|
182
|
+
cases never become zero-valued measurements. Categorical feedback remains
|
|
183
|
+
inspectable without a numeric delta. This operation reads retained evidence and
|
|
184
|
+
has no execution, grading or billing authority.
|
|
185
|
+
|
|
186
|
+
## Retained Profile case evidence
|
|
187
|
+
|
|
188
|
+
Profile execution may return an installation-owned `retainedEvidenceRef` with its exact session and turn identities. The runner validates it and binds it into immutable receipt metadata. A reference grants no access: the installation resolves it through its owner-scoped store and checks the source, member, output and trace hashes before inspection. Full outputs and bounded trace pages stay separate from private grading inputs. Missing historic references remain unavailable rather than reconstructed from a newer source.
|
package/dist/experiments.js
CHANGED
|
@@ -13,10 +13,15 @@ export const ExperimentTargetSchema = z.discriminatedUnion("kind", [
|
|
|
13
13
|
kind: z.literal("harness"),
|
|
14
14
|
source: ProfileEvaluationRunSourceSchema,
|
|
15
15
|
}).strict(),
|
|
16
|
+
z.object({ kind: z.literal("fixture"), configurationHash: ReleaseHashSchema }).strict(),
|
|
16
17
|
]);
|
|
17
18
|
export const ExperimentEvaluatorSchema = z.object({
|
|
18
|
-
|
|
19
|
+
// A reusable Reward has a numeric revision; a dataset-authored GraderSpec
|
|
20
|
+
// has its exact version string and implementation hash. Neither is invented.
|
|
21
|
+
release: ImmutableReleaseRefSchema.extend({ revision: z.union([z.number().int().positive(), z.string().trim().min(1).max(200)]) }).strict(),
|
|
19
22
|
feedbackKey: FeedbackKeySchema,
|
|
23
|
+
/** Binds field mappings and admitted scorer settings without changing the Reward's release hash. */
|
|
24
|
+
configurationHash: ReleaseHashSchema.optional(),
|
|
20
25
|
output: z.enum(["boolean", "score", "category"]),
|
|
21
26
|
/** Category labels are meaningful only for category output. */
|
|
22
27
|
categories: z.array(z.string().trim().min(1).max(120)).max(50),
|
|
@@ -41,13 +46,22 @@ export const ExperimentManifestContentSchema = z.object({
|
|
|
41
46
|
name: z.string().trim().min(1).max(500),
|
|
42
47
|
teamId: ReleaseIdSchema,
|
|
43
48
|
operationId: ReleaseIdSchema,
|
|
44
|
-
|
|
49
|
+
/** Historical imported runs may have no admitted whole-run ceiling. */
|
|
50
|
+
maximumCostUsd: MoneySchema.nullable(),
|
|
45
51
|
dataset: ImmutableReleaseRefSchema.extend({ revision: z.number().int().positive() }).strict(),
|
|
46
52
|
target: ExperimentTargetSchema,
|
|
53
|
+
execution: z.object({ packageHash: ReleaseHashSchema, runtimeTargetHash: ReleaseHashSchema, metricPolicyHash: ReleaseHashSchema }).strict().optional(),
|
|
54
|
+
lineage: z.object({
|
|
55
|
+
definition: ImmutableReleaseRefSchema.extend({ revision: z.number().int().positive() }).strict().nullable(),
|
|
56
|
+
execution: ImmutableReleaseRefSchema,
|
|
57
|
+
scoringPassId: ReleaseIdSchema.nullable(),
|
|
58
|
+
}).strict().optional(),
|
|
47
59
|
evaluators: z.array(ExperimentEvaluatorSchema).max(100),
|
|
48
60
|
population: z.array(ExperimentCaseIdentitySchema).min(1).max(10_000),
|
|
49
61
|
createdAt: ReleaseTimestampSchema,
|
|
50
62
|
}).strict().superRefine((value, context) => {
|
|
63
|
+
if (value.lineage && value.id !== (value.lineage.scoringPassId ?? value.lineage.execution.id))
|
|
64
|
+
context.addIssue({ code: "custom", path: ["lineage"], message: "Experiment identity must match its execution or independent scoring pass." });
|
|
51
65
|
if (new Set(value.population.map(experimentCaseKey)).size !== value.population.length)
|
|
52
66
|
context.addIssue({ code: "custom", path: ["population"], message: "Experiment cases must be unique." });
|
|
53
67
|
if (new Set(value.evaluators.map((item) => item.feedbackKey)).size !== value.evaluators.length)
|
|
@@ -59,6 +73,7 @@ export const ExperimentFeedbackSchema = z.object({
|
|
|
59
73
|
evaluator: ExperimentEvaluatorSchema.shape.release,
|
|
60
74
|
status: z.enum(["scored", "unavailable", "failed", "pending"]),
|
|
61
75
|
value: z.union([z.boolean(), z.number().finite(), z.string().max(120)]).nullable(),
|
|
76
|
+
passed: z.boolean().nullable().optional(),
|
|
62
77
|
reasoning: z.string().max(20_000).nullable(),
|
|
63
78
|
evidenceRefs: z.array(ImmutableArtifactRefSchema).max(1_000),
|
|
64
79
|
}).strict();
|
|
@@ -125,21 +140,27 @@ export function createExperimentResult(input, manifest) {
|
|
|
125
140
|
|| (evaluator.output === "score" && (feedback.value < 0 || feedback.value > 1)))
|
|
126
141
|
throw new Error("Experiment feedback value violates its output contract.");
|
|
127
142
|
}
|
|
128
|
-
else if (feedback.value !== null)
|
|
129
|
-
throw new Error("Unscored experiment feedback cannot claim a value.");
|
|
143
|
+
else if (feedback.value !== null || feedback.passed !== null && feedback.passed !== undefined)
|
|
144
|
+
throw new Error("Unscored experiment feedback cannot claim a value or pass decision.");
|
|
130
145
|
}
|
|
131
146
|
}
|
|
132
147
|
if (seen.size !== expected.size)
|
|
133
148
|
throw new Error("Experiment result omits admitted cases.");
|
|
134
149
|
return ExperimentResultSchema.parse({ ...value, contentHash: contentHash(value) });
|
|
135
150
|
}
|
|
151
|
+
export function verifyExperimentEvidence(input) {
|
|
152
|
+
const manifest = ExperimentManifestSchema.parse(input.manifest);
|
|
153
|
+
const result = ExperimentResultSchema.parse(input.result);
|
|
154
|
+
const { contentHash: hash, ...content } = result;
|
|
155
|
+
if (contentHash(content) !== hash)
|
|
156
|
+
throw new Error("Experiment result integrity failed.");
|
|
157
|
+
createExperimentResult(content, manifest);
|
|
158
|
+
return { manifest, result };
|
|
159
|
+
}
|
|
136
160
|
/** A comparison reads retained results; it never executes or regrades a case. */
|
|
137
161
|
export function compareExperiments(baseline, candidate) {
|
|
138
162
|
for (const pair of [baseline, candidate]) {
|
|
139
|
-
|
|
140
|
-
if (contentHash(value) !== hash)
|
|
141
|
-
throw new Error("Experiment result integrity failed.");
|
|
142
|
-
createExperimentResult(value, pair.manifest);
|
|
163
|
+
verifyExperimentEvidence(pair);
|
|
143
164
|
}
|
|
144
165
|
const reasons = [];
|
|
145
166
|
if (baseline.manifest.teamId !== candidate.manifest.teamId)
|
|
@@ -150,20 +171,73 @@ export function compareExperiments(baseline, candidate) {
|
|
|
150
171
|
reasons.push("different_dataset_version");
|
|
151
172
|
if (baseline.manifest.target.kind !== candidate.manifest.target.kind)
|
|
152
173
|
reasons.push("different_target_kind");
|
|
153
|
-
if (contentHash(baseline.manifest.
|
|
174
|
+
if (contentHash(baseline.manifest.execution ?? null) !== contentHash(candidate.manifest.execution ?? null))
|
|
175
|
+
reasons.push("different_execution_contract");
|
|
176
|
+
if (baseline.manifest.target.kind === "harness" && candidate.manifest.target.kind === "harness") {
|
|
177
|
+
const a = baseline.manifest.target.source;
|
|
178
|
+
const b = candidate.manifest.target.source;
|
|
179
|
+
if (a.profileId !== b.profileId || contentHash(a.target) !== contentHash(b.target))
|
|
180
|
+
reasons.push("different_component");
|
|
181
|
+
if (a.environmentHash !== b.environmentHash)
|
|
182
|
+
reasons.push("different_environment");
|
|
183
|
+
if (a.definitionId !== b.definitionId || a.definitionHash !== b.definitionHash)
|
|
184
|
+
reasons.push("different_evaluation_definition");
|
|
185
|
+
}
|
|
186
|
+
const orderedEvaluators = (manifest) => [...manifest.evaluators].sort((a, b) => a.feedbackKey.localeCompare(b.feedbackKey));
|
|
187
|
+
if (contentHash(orderedEvaluators(baseline.manifest)) !== contentHash(orderedEvaluators(candidate.manifest)))
|
|
154
188
|
reasons.push("different_evaluators");
|
|
155
189
|
const left = new Map(baseline.result.cases.map((item) => [experimentCaseKey(item.identity), item]));
|
|
156
190
|
const right = new Map(candidate.result.cases.map((item) => [experimentCaseKey(item.identity), item]));
|
|
157
191
|
const keys = [...new Set([...left.keys(), ...right.keys()])].sort();
|
|
158
192
|
if (left.size !== right.size || keys.some((key) => !left.has(key) || !right.has(key)))
|
|
159
193
|
reasons.push("different_population");
|
|
194
|
+
const comparable = reasons.length === 0;
|
|
195
|
+
const cases = keys.map((key) => {
|
|
196
|
+
const baselineCase = left.get(key) ?? null;
|
|
197
|
+
const candidateCase = right.get(key) ?? null;
|
|
198
|
+
const baselineFeedback = new Map(baselineCase?.feedback.map(item => [item.feedbackKey, item]) ?? []);
|
|
199
|
+
const candidateFeedback = new Map(candidateCase?.feedback.map(item => [item.feedbackKey, item]) ?? []);
|
|
200
|
+
return {
|
|
201
|
+
identity: (baselineCase ?? candidateCase).identity,
|
|
202
|
+
baseline: baselineCase,
|
|
203
|
+
candidate: candidateCase,
|
|
204
|
+
feedback: baseline.manifest.evaluators.map(evaluator => {
|
|
205
|
+
const a = baselineFeedback.get(evaluator.feedbackKey);
|
|
206
|
+
const b = candidateFeedback.get(evaluator.feedbackKey);
|
|
207
|
+
const reason = !comparable ? "incompatible_experiments"
|
|
208
|
+
: !baselineCase || !candidateCase ? "missing_case"
|
|
209
|
+
: baselineCase.status !== "completed" || candidateCase.status !== "completed" || baselineCase.error || candidateCase.error ? "case_not_completed"
|
|
210
|
+
: !a || !b || a.status !== "scored" || b.status !== "scored" ? "feedback_unavailable"
|
|
211
|
+
: evaluator.output === "category" ? "categorical_feedback" : null;
|
|
212
|
+
const numeric = (item) => typeof item?.value === "boolean" ? Number(item.value)
|
|
213
|
+
: typeof item?.value === "number" ? item.value : null;
|
|
214
|
+
const av = reason ? null : numeric(a);
|
|
215
|
+
const bv = reason ? null : numeric(b);
|
|
216
|
+
const pass = (item) => reason ? null : typeof item?.value === "boolean" ? item.value : item?.passed ?? null;
|
|
217
|
+
return { feedbackKey: evaluator.feedbackKey, eligible: reason === null, reason,
|
|
218
|
+
baseline: av, candidate: bv, delta: av === null || bv === null ? null : bv - av,
|
|
219
|
+
baselinePassed: pass(a), candidatePassed: pass(b) };
|
|
220
|
+
}),
|
|
221
|
+
};
|
|
222
|
+
});
|
|
223
|
+
const metrics = baseline.manifest.evaluators.map((evaluator, index) => {
|
|
224
|
+
const eligible = cases.map(item => item.feedback[index]).filter(value => value.eligible);
|
|
225
|
+
const mean = (field) => eligible.length
|
|
226
|
+
? eligible.reduce((sum, value) => sum + value[field], 0) / eligible.length : null;
|
|
227
|
+
const a = mean("baseline");
|
|
228
|
+
const b = mean("candidate");
|
|
229
|
+
const passRate = (field) => eligible.length && eligible.every(value => value[field] !== null)
|
|
230
|
+
? eligible.reduce((sum, value) => sum + Number(value[field]), 0) / eligible.length : null;
|
|
231
|
+
const ap = passRate("baselinePassed");
|
|
232
|
+
const bp = passRate("candidatePassed");
|
|
233
|
+
return { feedbackKey: evaluator.feedbackKey, eligibleCount: eligible.length, excludedCount: cases.length - eligible.length,
|
|
234
|
+
baseline: a, candidate: b, delta: a === null || b === null ? null : b - a,
|
|
235
|
+
baselinePassRate: ap, candidatePassRate: bp, passRateDelta: ap === null || bp === null ? null : bp - ap };
|
|
236
|
+
});
|
|
160
237
|
return {
|
|
161
|
-
comparable
|
|
238
|
+
comparable,
|
|
162
239
|
reasons,
|
|
163
|
-
cases
|
|
164
|
-
|
|
165
|
-
baseline: left.get(key) ?? null,
|
|
166
|
-
candidate: right.get(key) ?? null,
|
|
167
|
-
})),
|
|
240
|
+
cases,
|
|
241
|
+
metrics,
|
|
168
242
|
};
|
|
169
243
|
}
|
|
@@ -4,6 +4,13 @@ import { aggregateTasksetRunReceipts, assertTasksetMetricSource } from "./metric
|
|
|
4
4
|
import { createAttemptReceipt, verifyAttemptReceipt } from "./runs.js";
|
|
5
5
|
import { assertProfileEvaluationRunAdmission } from "./taskset-run-contract.js";
|
|
6
6
|
import { policyTaskView } from "./tasksets.js";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/** An installation-owned policy trace. Access remains with that installation;
|
|
9
|
+
* the immutable receipt binds the reference without copying private graders. */
|
|
10
|
+
export const ProfileEvaluationEvidenceRefSchema = z.object({
|
|
11
|
+
sessionId: z.string().trim().min(1).max(500),
|
|
12
|
+
turnId: z.string().trim().min(1).max(500),
|
|
13
|
+
}).strict();
|
|
7
14
|
/** The installation owns execution, tools, approvals and storage. This runner
|
|
8
15
|
* owns frozen population dispatch and private grading for both Desktop and web. */
|
|
9
16
|
export async function executeProfileEvaluationRun(input) {
|
|
@@ -78,6 +85,9 @@ export async function executeProfileEvaluationRun(input) {
|
|
|
78
85
|
sourceRevision: source.sourceRevision,
|
|
79
86
|
definitionHash: source.definitionHash,
|
|
80
87
|
environmentHash: source.environmentHash,
|
|
88
|
+
...(execution.retainedEvidenceRef ? {
|
|
89
|
+
retainedEvidenceRef: ProfileEvaluationEvidenceRefSchema.parse(execution.retainedEvidenceRef),
|
|
90
|
+
} : {}),
|
|
81
91
|
},
|
|
82
92
|
});
|
|
83
93
|
await input.saveReceipt(receipt);
|
|
@@ -29,14 +29,18 @@ export declare const ExperimentTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
29
29
|
}, z.core.$strict>], "kind">;
|
|
30
30
|
environmentHash: z.ZodString;
|
|
31
31
|
}, z.core.$strict>;
|
|
32
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
33
|
+
kind: z.ZodLiteral<"fixture">;
|
|
34
|
+
configurationHash: z.ZodString;
|
|
32
35
|
}, z.core.$strict>], "kind">;
|
|
33
36
|
export declare const ExperimentEvaluatorSchema: z.ZodObject<{
|
|
34
37
|
release: z.ZodObject<{
|
|
35
38
|
id: z.ZodString;
|
|
36
39
|
contentHash: z.ZodString;
|
|
37
|
-
revision: z.ZodNumber
|
|
40
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
38
41
|
}, z.core.$strict>;
|
|
39
42
|
feedbackKey: z.ZodString;
|
|
43
|
+
configurationHash: z.ZodOptional<z.ZodString>;
|
|
40
44
|
output: z.ZodEnum<{
|
|
41
45
|
boolean: "boolean";
|
|
42
46
|
score: "score";
|
|
@@ -57,7 +61,7 @@ export declare const ExperimentManifestContentSchema: z.ZodObject<{
|
|
|
57
61
|
name: z.ZodString;
|
|
58
62
|
teamId: z.ZodString;
|
|
59
63
|
operationId: z.ZodString;
|
|
60
|
-
maximumCostUsd: z.ZodNumber
|
|
64
|
+
maximumCostUsd: z.ZodNullable<z.ZodNumber>;
|
|
61
65
|
dataset: z.ZodObject<{
|
|
62
66
|
id: z.ZodString;
|
|
63
67
|
contentHash: z.ZodString;
|
|
@@ -93,14 +97,35 @@ export declare const ExperimentManifestContentSchema: z.ZodObject<{
|
|
|
93
97
|
}, z.core.$strict>], "kind">;
|
|
94
98
|
environmentHash: z.ZodString;
|
|
95
99
|
}, z.core.$strict>;
|
|
100
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
101
|
+
kind: z.ZodLiteral<"fixture">;
|
|
102
|
+
configurationHash: z.ZodString;
|
|
96
103
|
}, z.core.$strict>], "kind">;
|
|
104
|
+
execution: z.ZodOptional<z.ZodObject<{
|
|
105
|
+
packageHash: z.ZodString;
|
|
106
|
+
runtimeTargetHash: z.ZodString;
|
|
107
|
+
metricPolicyHash: z.ZodString;
|
|
108
|
+
}, z.core.$strict>>;
|
|
109
|
+
lineage: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
definition: z.ZodNullable<z.ZodObject<{
|
|
111
|
+
id: z.ZodString;
|
|
112
|
+
contentHash: z.ZodString;
|
|
113
|
+
revision: z.ZodNumber;
|
|
114
|
+
}, z.core.$strict>>;
|
|
115
|
+
execution: z.ZodObject<{
|
|
116
|
+
id: z.ZodString;
|
|
117
|
+
contentHash: z.ZodString;
|
|
118
|
+
}, z.core.$strict>;
|
|
119
|
+
scoringPassId: z.ZodNullable<z.ZodString>;
|
|
120
|
+
}, z.core.$strict>>;
|
|
97
121
|
evaluators: z.ZodArray<z.ZodObject<{
|
|
98
122
|
release: z.ZodObject<{
|
|
99
123
|
id: z.ZodString;
|
|
100
124
|
contentHash: z.ZodString;
|
|
101
|
-
revision: z.ZodNumber
|
|
125
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
102
126
|
}, z.core.$strict>;
|
|
103
127
|
feedbackKey: z.ZodString;
|
|
128
|
+
configurationHash: z.ZodOptional<z.ZodString>;
|
|
104
129
|
output: z.ZodEnum<{
|
|
105
130
|
boolean: "boolean";
|
|
106
131
|
score: "score";
|
|
@@ -121,7 +146,7 @@ export declare const ExperimentManifestSchema: z.ZodObject<{
|
|
|
121
146
|
name: z.ZodString;
|
|
122
147
|
teamId: z.ZodString;
|
|
123
148
|
operationId: z.ZodString;
|
|
124
|
-
maximumCostUsd: z.ZodNumber
|
|
149
|
+
maximumCostUsd: z.ZodNullable<z.ZodNumber>;
|
|
125
150
|
dataset: z.ZodObject<{
|
|
126
151
|
id: z.ZodString;
|
|
127
152
|
contentHash: z.ZodString;
|
|
@@ -157,14 +182,35 @@ export declare const ExperimentManifestSchema: z.ZodObject<{
|
|
|
157
182
|
}, z.core.$strict>], "kind">;
|
|
158
183
|
environmentHash: z.ZodString;
|
|
159
184
|
}, z.core.$strict>;
|
|
185
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
186
|
+
kind: z.ZodLiteral<"fixture">;
|
|
187
|
+
configurationHash: z.ZodString;
|
|
160
188
|
}, z.core.$strict>], "kind">;
|
|
189
|
+
execution: z.ZodOptional<z.ZodObject<{
|
|
190
|
+
packageHash: z.ZodString;
|
|
191
|
+
runtimeTargetHash: z.ZodString;
|
|
192
|
+
metricPolicyHash: z.ZodString;
|
|
193
|
+
}, z.core.$strict>>;
|
|
194
|
+
lineage: z.ZodOptional<z.ZodObject<{
|
|
195
|
+
definition: z.ZodNullable<z.ZodObject<{
|
|
196
|
+
id: z.ZodString;
|
|
197
|
+
contentHash: z.ZodString;
|
|
198
|
+
revision: z.ZodNumber;
|
|
199
|
+
}, z.core.$strict>>;
|
|
200
|
+
execution: z.ZodObject<{
|
|
201
|
+
id: z.ZodString;
|
|
202
|
+
contentHash: z.ZodString;
|
|
203
|
+
}, z.core.$strict>;
|
|
204
|
+
scoringPassId: z.ZodNullable<z.ZodString>;
|
|
205
|
+
}, z.core.$strict>>;
|
|
161
206
|
evaluators: z.ZodArray<z.ZodObject<{
|
|
162
207
|
release: z.ZodObject<{
|
|
163
208
|
id: z.ZodString;
|
|
164
209
|
contentHash: z.ZodString;
|
|
165
|
-
revision: z.ZodNumber
|
|
210
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
166
211
|
}, z.core.$strict>;
|
|
167
212
|
feedbackKey: z.ZodString;
|
|
213
|
+
configurationHash: z.ZodOptional<z.ZodString>;
|
|
168
214
|
output: z.ZodEnum<{
|
|
169
215
|
boolean: "boolean";
|
|
170
216
|
score: "score";
|
|
@@ -186,7 +232,7 @@ export declare const ExperimentFeedbackSchema: z.ZodObject<{
|
|
|
186
232
|
evaluator: z.ZodObject<{
|
|
187
233
|
id: z.ZodString;
|
|
188
234
|
contentHash: z.ZodString;
|
|
189
|
-
revision: z.ZodNumber
|
|
235
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
190
236
|
}, z.core.$strict>;
|
|
191
237
|
status: z.ZodEnum<{
|
|
192
238
|
pending: "pending";
|
|
@@ -195,6 +241,7 @@ export declare const ExperimentFeedbackSchema: z.ZodObject<{
|
|
|
195
241
|
unavailable: "unavailable";
|
|
196
242
|
}>;
|
|
197
243
|
value: z.ZodNullable<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
|
|
244
|
+
passed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
198
245
|
reasoning: z.ZodNullable<z.ZodString>;
|
|
199
246
|
evidenceRefs: z.ZodArray<z.ZodObject<{
|
|
200
247
|
id: z.ZodString;
|
|
@@ -232,7 +279,7 @@ export declare const ExperimentCaseResultSchema: z.ZodObject<{
|
|
|
232
279
|
evaluator: z.ZodObject<{
|
|
233
280
|
id: z.ZodString;
|
|
234
281
|
contentHash: z.ZodString;
|
|
235
|
-
revision: z.ZodNumber
|
|
282
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
236
283
|
}, z.core.$strict>;
|
|
237
284
|
status: z.ZodEnum<{
|
|
238
285
|
pending: "pending";
|
|
@@ -241,6 +288,7 @@ export declare const ExperimentCaseResultSchema: z.ZodObject<{
|
|
|
241
288
|
unavailable: "unavailable";
|
|
242
289
|
}>;
|
|
243
290
|
value: z.ZodNullable<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
|
|
291
|
+
passed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
244
292
|
reasoning: z.ZodNullable<z.ZodString>;
|
|
245
293
|
evidenceRefs: z.ZodArray<z.ZodObject<{
|
|
246
294
|
id: z.ZodString;
|
|
@@ -298,7 +346,7 @@ export declare const ExperimentResultContentSchema: z.ZodObject<{
|
|
|
298
346
|
evaluator: z.ZodObject<{
|
|
299
347
|
id: z.ZodString;
|
|
300
348
|
contentHash: z.ZodString;
|
|
301
|
-
revision: z.ZodNumber
|
|
349
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
302
350
|
}, z.core.$strict>;
|
|
303
351
|
status: z.ZodEnum<{
|
|
304
352
|
pending: "pending";
|
|
@@ -307,6 +355,7 @@ export declare const ExperimentResultContentSchema: z.ZodObject<{
|
|
|
307
355
|
unavailable: "unavailable";
|
|
308
356
|
}>;
|
|
309
357
|
value: z.ZodNullable<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
|
|
358
|
+
passed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
310
359
|
reasoning: z.ZodNullable<z.ZodString>;
|
|
311
360
|
evidenceRefs: z.ZodArray<z.ZodObject<{
|
|
312
361
|
id: z.ZodString;
|
|
@@ -366,7 +415,7 @@ export declare const ExperimentResultSchema: z.ZodObject<{
|
|
|
366
415
|
evaluator: z.ZodObject<{
|
|
367
416
|
id: z.ZodString;
|
|
368
417
|
contentHash: z.ZodString;
|
|
369
|
-
revision: z.ZodNumber
|
|
418
|
+
revision: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
370
419
|
}, z.core.$strict>;
|
|
371
420
|
status: z.ZodEnum<{
|
|
372
421
|
pending: "pending";
|
|
@@ -375,6 +424,7 @@ export declare const ExperimentResultSchema: z.ZodObject<{
|
|
|
375
424
|
unavailable: "unavailable";
|
|
376
425
|
}>;
|
|
377
426
|
value: z.ZodNullable<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
|
|
427
|
+
passed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
378
428
|
reasoning: z.ZodNullable<z.ZodString>;
|
|
379
429
|
evidenceRefs: z.ZodArray<z.ZodObject<{
|
|
380
430
|
id: z.ZodString;
|
|
@@ -412,9 +462,175 @@ export type ExperimentComparison = {
|
|
|
412
462
|
identity: ExperimentCaseIdentity;
|
|
413
463
|
baseline: ExperimentCaseResult | null;
|
|
414
464
|
candidate: ExperimentCaseResult | null;
|
|
465
|
+
feedback: ExperimentFeedbackComparison[];
|
|
415
466
|
}>;
|
|
467
|
+
metrics: ExperimentComparisonMetric[];
|
|
416
468
|
};
|
|
417
469
|
export type ExperimentCaseResult = z.infer<typeof ExperimentCaseResultSchema>;
|
|
470
|
+
export type ExperimentFeedbackComparison = {
|
|
471
|
+
feedbackKey: string;
|
|
472
|
+
eligible: boolean;
|
|
473
|
+
reason: "incompatible_experiments" | "missing_case" | "case_not_completed" | "feedback_unavailable" | "categorical_feedback" | null;
|
|
474
|
+
baseline: number | null;
|
|
475
|
+
candidate: number | null;
|
|
476
|
+
delta: number | null;
|
|
477
|
+
baselinePassed: boolean | null;
|
|
478
|
+
candidatePassed: boolean | null;
|
|
479
|
+
};
|
|
480
|
+
export type ExperimentComparisonMetric = {
|
|
481
|
+
feedbackKey: string;
|
|
482
|
+
eligibleCount: number;
|
|
483
|
+
excludedCount: number;
|
|
484
|
+
baseline: number | null;
|
|
485
|
+
candidate: number | null;
|
|
486
|
+
delta: number | null;
|
|
487
|
+
baselinePassRate: number | null;
|
|
488
|
+
candidatePassRate: number | null;
|
|
489
|
+
passRateDelta: number | null;
|
|
490
|
+
};
|
|
491
|
+
export declare function verifyExperimentEvidence(input: {
|
|
492
|
+
manifest: unknown;
|
|
493
|
+
result: unknown;
|
|
494
|
+
}): {
|
|
495
|
+
manifest: {
|
|
496
|
+
schemaVersion: "openpond.experimentManifest.v1";
|
|
497
|
+
id: string;
|
|
498
|
+
name: string;
|
|
499
|
+
teamId: string;
|
|
500
|
+
operationId: string;
|
|
501
|
+
maximumCostUsd: number | null;
|
|
502
|
+
dataset: {
|
|
503
|
+
id: string;
|
|
504
|
+
contentHash: string;
|
|
505
|
+
revision: number;
|
|
506
|
+
};
|
|
507
|
+
target: {
|
|
508
|
+
kind: "model";
|
|
509
|
+
modelId: string;
|
|
510
|
+
configurationHash: string;
|
|
511
|
+
} | {
|
|
512
|
+
kind: "harness";
|
|
513
|
+
source: {
|
|
514
|
+
profileId: string;
|
|
515
|
+
sourceRevision: string;
|
|
516
|
+
harnessRelease: {
|
|
517
|
+
id: string;
|
|
518
|
+
contentHash: string;
|
|
519
|
+
};
|
|
520
|
+
catalogHash: string;
|
|
521
|
+
definitionId: string;
|
|
522
|
+
definitionHash: string;
|
|
523
|
+
target: {
|
|
524
|
+
kind: "profile";
|
|
525
|
+
} | {
|
|
526
|
+
kind: "workflow";
|
|
527
|
+
workflowId: string;
|
|
528
|
+
} | {
|
|
529
|
+
kind: "skill";
|
|
530
|
+
skillPath: string;
|
|
531
|
+
} | {
|
|
532
|
+
kind: "agent_action";
|
|
533
|
+
actionId: string;
|
|
534
|
+
};
|
|
535
|
+
environmentHash: string;
|
|
536
|
+
};
|
|
537
|
+
} | {
|
|
538
|
+
kind: "fixture";
|
|
539
|
+
configurationHash: string;
|
|
540
|
+
};
|
|
541
|
+
evaluators: {
|
|
542
|
+
release: {
|
|
543
|
+
id: string;
|
|
544
|
+
contentHash: string;
|
|
545
|
+
revision: string | number;
|
|
546
|
+
};
|
|
547
|
+
feedbackKey: string;
|
|
548
|
+
output: "boolean" | "score" | "category";
|
|
549
|
+
categories: string[];
|
|
550
|
+
configurationHash?: string | undefined;
|
|
551
|
+
}[];
|
|
552
|
+
population: {
|
|
553
|
+
caseId: string;
|
|
554
|
+
seed: string;
|
|
555
|
+
fixtureId: string | null;
|
|
556
|
+
}[];
|
|
557
|
+
createdAt: string;
|
|
558
|
+
contentHash: string;
|
|
559
|
+
execution?: {
|
|
560
|
+
packageHash: string;
|
|
561
|
+
runtimeTargetHash: string;
|
|
562
|
+
metricPolicyHash: string;
|
|
563
|
+
} | undefined;
|
|
564
|
+
lineage?: {
|
|
565
|
+
definition: {
|
|
566
|
+
id: string;
|
|
567
|
+
contentHash: string;
|
|
568
|
+
revision: number;
|
|
569
|
+
} | null;
|
|
570
|
+
execution: {
|
|
571
|
+
id: string;
|
|
572
|
+
contentHash: string;
|
|
573
|
+
};
|
|
574
|
+
scoringPassId: string | null;
|
|
575
|
+
} | undefined;
|
|
576
|
+
};
|
|
577
|
+
result: {
|
|
578
|
+
schemaVersion: "openpond.experimentResult.v1";
|
|
579
|
+
manifest: {
|
|
580
|
+
id: string;
|
|
581
|
+
contentHash: string;
|
|
582
|
+
};
|
|
583
|
+
status: "failed" | "completed" | "cancelled";
|
|
584
|
+
cases: {
|
|
585
|
+
identity: {
|
|
586
|
+
caseId: string;
|
|
587
|
+
seed: string;
|
|
588
|
+
fixtureId: string | null;
|
|
589
|
+
};
|
|
590
|
+
status: "failed" | "completed" | "cancelled" | "unavailable";
|
|
591
|
+
output: unknown;
|
|
592
|
+
error: {
|
|
593
|
+
code: string;
|
|
594
|
+
message: string;
|
|
595
|
+
} | null;
|
|
596
|
+
feedback: {
|
|
597
|
+
feedbackKey: string;
|
|
598
|
+
evaluator: {
|
|
599
|
+
id: string;
|
|
600
|
+
contentHash: string;
|
|
601
|
+
revision: string | number;
|
|
602
|
+
};
|
|
603
|
+
status: "pending" | "failed" | "scored" | "unavailable";
|
|
604
|
+
value: string | number | boolean | null;
|
|
605
|
+
reasoning: string | null;
|
|
606
|
+
evidenceRefs: {
|
|
607
|
+
id: string;
|
|
608
|
+
contentHash: string;
|
|
609
|
+
mediaType: string | null;
|
|
610
|
+
sizeBytes: number | null;
|
|
611
|
+
}[];
|
|
612
|
+
passed?: boolean | null | undefined;
|
|
613
|
+
}[];
|
|
614
|
+
usage: {
|
|
615
|
+
inputTokens: number | null;
|
|
616
|
+
outputTokens: number | null;
|
|
617
|
+
totalTokens: number | null;
|
|
618
|
+
costUsd: number | null;
|
|
619
|
+
latencyMs: number | null;
|
|
620
|
+
};
|
|
621
|
+
traceRef: {
|
|
622
|
+
id: string;
|
|
623
|
+
contentHash: string;
|
|
624
|
+
mediaType: string | null;
|
|
625
|
+
sizeBytes: number | null;
|
|
626
|
+
} | null;
|
|
627
|
+
startedAt: string | null;
|
|
628
|
+
completedAt: string | null;
|
|
629
|
+
}[];
|
|
630
|
+
completedAt: string;
|
|
631
|
+
contentHash: string;
|
|
632
|
+
};
|
|
633
|
+
};
|
|
418
634
|
/** A comparison reads retained results; it never executes or regrades a case. */
|
|
419
635
|
export declare function compareExperiments(baseline: {
|
|
420
636
|
manifest: ExperimentManifest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../../../src/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../../../src/experiments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1890,12 +1890,12 @@ export declare const LearningResourceKindSchema: z.ZodEnum<{
|
|
|
1890
1890
|
source: "source";
|
|
1891
1891
|
asset: "asset";
|
|
1892
1892
|
binding: "binding";
|
|
1893
|
+
definition: "definition";
|
|
1893
1894
|
decision: "decision";
|
|
1894
1895
|
grade: "grade";
|
|
1895
1896
|
dispatch: "dispatch";
|
|
1896
1897
|
batch: "batch";
|
|
1897
1898
|
schedule: "schedule";
|
|
1898
|
-
definition: "definition";
|
|
1899
1899
|
draft: "draft";
|
|
1900
1900
|
iteration: "iteration";
|
|
1901
1901
|
reward_check: "reward_check";
|
|
@@ -1594,12 +1594,12 @@ export declare const LearningReadRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1594
1594
|
source: "source";
|
|
1595
1595
|
asset: "asset";
|
|
1596
1596
|
binding: "binding";
|
|
1597
|
+
definition: "definition";
|
|
1597
1598
|
decision: "decision";
|
|
1598
1599
|
grade: "grade";
|
|
1599
1600
|
dispatch: "dispatch";
|
|
1600
1601
|
batch: "batch";
|
|
1601
1602
|
schedule: "schedule";
|
|
1602
|
-
definition: "definition";
|
|
1603
1603
|
draft: "draft";
|
|
1604
1604
|
iteration: "iteration";
|
|
1605
1605
|
reward_check: "reward_check";
|
|
@@ -1622,12 +1622,12 @@ export declare const LearningReadRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1622
1622
|
source: "source";
|
|
1623
1623
|
asset: "asset";
|
|
1624
1624
|
binding: "binding";
|
|
1625
|
+
definition: "definition";
|
|
1625
1626
|
decision: "decision";
|
|
1626
1627
|
grade: "grade";
|
|
1627
1628
|
dispatch: "dispatch";
|
|
1628
1629
|
batch: "batch";
|
|
1629
1630
|
schedule: "schedule";
|
|
1630
|
-
definition: "definition";
|
|
1631
1631
|
draft: "draft";
|
|
1632
1632
|
iteration: "iteration";
|
|
1633
1633
|
reward_check: "reward_check";
|
|
@@ -5,6 +5,13 @@ import { type AttemptReceipt } from "./runs.js";
|
|
|
5
5
|
import { type TasksetRunManifest } from "./taskset-run-contract.js";
|
|
6
6
|
import { policyTaskView, type TasksetRelease } from "./tasksets.js";
|
|
7
7
|
import type { ProfileEvaluationCatalog, ProfileEvaluationRunSource } from "./profile-evaluations.js";
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
/** An installation-owned policy trace. Access remains with that installation;
|
|
10
|
+
* the immutable receipt binds the reference without copying private graders. */
|
|
11
|
+
export declare const ProfileEvaluationEvidenceRefSchema: z.ZodObject<{
|
|
12
|
+
sessionId: z.ZodString;
|
|
13
|
+
turnId: z.ZodString;
|
|
14
|
+
}, z.core.$strict>;
|
|
8
15
|
type PolicyTask = ReturnType<typeof policyTaskView>;
|
|
9
16
|
/** The installation owns execution, tools, approvals and storage. This runner
|
|
10
17
|
* owns frozen population dispatch and private grading for both Desktop and web. */
|
|
@@ -20,6 +27,7 @@ export declare function executeProfileEvaluationRun(input: {
|
|
|
20
27
|
}) => Promise<{
|
|
21
28
|
evidence: AttemptEvidence;
|
|
22
29
|
traceHash: string;
|
|
30
|
+
retainedEvidenceRef?: z.infer<typeof ProfileEvaluationEvidenceRefSchema>;
|
|
23
31
|
artifactRefs: ImmutableArtifactRef[];
|
|
24
32
|
startedAt: string;
|
|
25
33
|
completedAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-evaluation-execution.d.ts","sourceRoot":"","sources":["../../../../src/profile-evaluation-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEvG,OAAO,EAAsC,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1J,OAAO,EAA0D,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5I,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAuC,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-evaluation-execution.d.ts","sourceRoot":"","sources":["../../../../src/profile-evaluation-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEvG,OAAO,EAAsC,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1J,OAAO,EAA0D,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5I,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAuC,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;gFACgF;AAChF,eAAO,MAAM,kCAAkC;;;kBAGpC,CAAC;AAEZ,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpD;mFACmF;AACnF,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,wBAAwB,CAAC;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,0BAA0B,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC;QACZ,QAAQ,EAAE,eAAe,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;QACzE,YAAY,EAAE,oBAAoB,EAAE,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC,CAAC;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/D,WAAW,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD;mFAC+E;IAC/E,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAC7F,OAAO,EAAE,cAAc,CAAC;QACxB,KAAK,EAAE,SAAS,CAAC;KAClB,GAAG,IAAI,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CA2FD"}
|
package/package.json
CHANGED