@lesliechan721/agent-skill-eval 0.1.0-beta.6 → 0.1.0-beta.60

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 (123) hide show
  1. package/dist/bin.js +167 -39
  2. package/dist/bin.js.map +1 -1
  3. package/dist/codex-eval-app-server.d.ts +213 -0
  4. package/dist/codex-eval-app-server.js +1387 -0
  5. package/dist/codex-eval-app-server.js.map +1 -0
  6. package/dist/codex-eval-cases.d.ts +41 -0
  7. package/dist/codex-eval-cases.js +324 -0
  8. package/dist/codex-eval-cases.js.map +1 -0
  9. package/dist/codex-eval-isolation.d.ts +79 -0
  10. package/dist/codex-eval-isolation.js +420 -0
  11. package/dist/codex-eval-isolation.js.map +1 -0
  12. package/dist/codex-eval-process-tree.d.ts +42 -0
  13. package/dist/codex-eval-process-tree.js +860 -0
  14. package/dist/codex-eval-process-tree.js.map +1 -0
  15. package/dist/codex-eval-rollout.d.ts +8 -0
  16. package/dist/codex-eval-rollout.js +85 -0
  17. package/dist/codex-eval-rollout.js.map +1 -0
  18. package/dist/codex-eval-runtime-config.d.ts +43 -0
  19. package/dist/codex-eval-runtime-config.js +607 -0
  20. package/dist/codex-eval-runtime-config.js.map +1 -0
  21. package/dist/codex-trigger-eval.d.ts +86 -0
  22. package/dist/codex-trigger-eval.js +943 -0
  23. package/dist/codex-trigger-eval.js.map +1 -0
  24. package/dist/codex-workflow-evaluation.d.ts +91 -0
  25. package/dist/codex-workflow-evaluation.js +309 -0
  26. package/dist/codex-workflow-evaluation.js.map +1 -0
  27. package/dist/codex-workflow-fixtures.d.ts +37 -0
  28. package/dist/codex-workflow-fixtures.js +144 -0
  29. package/dist/codex-workflow-fixtures.js.map +1 -0
  30. package/dist/codex-workflow.d.ts +224 -0
  31. package/dist/codex-workflow.js +2143 -0
  32. package/dist/codex-workflow.js.map +1 -0
  33. package/dist/credentials.d.ts +5 -0
  34. package/dist/credentials.js +30 -0
  35. package/dist/credentials.js.map +1 -0
  36. package/dist/custom-process.d.ts +60 -0
  37. package/dist/custom-process.js +424 -0
  38. package/dist/custom-process.js.map +1 -0
  39. package/dist/eval-audit.d.ts +38 -0
  40. package/dist/eval-audit.js +71 -0
  41. package/dist/eval-audit.js.map +1 -0
  42. package/dist/eval-file.d.ts +9 -0
  43. package/dist/eval-file.js +15 -0
  44. package/dist/eval-file.js.map +1 -0
  45. package/dist/eval-process-management.d.ts +23 -0
  46. package/dist/eval-process-management.js +93 -0
  47. package/dist/eval-process-management.js.map +1 -0
  48. package/dist/eval-result.d.ts +79 -0
  49. package/dist/eval-result.js +144 -0
  50. package/dist/eval-result.js.map +1 -0
  51. package/dist/eval-run.d.ts +27 -0
  52. package/dist/eval-run.js +572 -0
  53. package/dist/eval-run.js.map +1 -0
  54. package/dist/eval-spec.d.ts +57 -0
  55. package/dist/eval-spec.js +120 -0
  56. package/dist/eval-spec.js.map +1 -0
  57. package/dist/eval-suite-binding.d.ts +4 -0
  58. package/dist/eval-suite-binding.js +19 -0
  59. package/dist/eval-suite-binding.js.map +1 -0
  60. package/dist/index.d.ts +46 -10
  61. package/dist/index.js +23 -6
  62. package/dist/index.js.map +1 -1
  63. package/dist/instruction-v2.d.ts +53 -0
  64. package/dist/instruction-v2.js +169 -0
  65. package/dist/instruction-v2.js.map +1 -0
  66. package/dist/json-schema.js +84 -5
  67. package/dist/json-schema.js.map +1 -1
  68. package/dist/output-path.js +2 -2
  69. package/dist/process-tree.d.ts +56 -1
  70. package/dist/process-tree.js +948 -179
  71. package/dist/process-tree.js.map +1 -1
  72. package/dist/process.d.ts +2 -2
  73. package/dist/process.js +104 -34
  74. package/dist/process.js.map +1 -1
  75. package/dist/provider-doctor.d.ts +46 -0
  76. package/dist/provider-doctor.js +123 -0
  77. package/dist/provider-doctor.js.map +1 -0
  78. package/dist/providers.d.ts +86 -0
  79. package/dist/providers.js +689 -0
  80. package/dist/providers.js.map +1 -0
  81. package/dist/run-paths.d.ts +8 -0
  82. package/dist/run-paths.js +71 -0
  83. package/dist/run-paths.js.map +1 -0
  84. package/dist/runtime-skill.d.ts +6 -0
  85. package/dist/runtime-skill.js +87 -3
  86. package/dist/runtime-skill.js.map +1 -1
  87. package/dist/schemas/digests.json +7 -3
  88. package/dist/schemas/eval-audit.schema.json +64 -0
  89. package/dist/schemas/eval-result.schema.json +232 -0
  90. package/dist/schemas/eval-spec.schema.json +109 -0
  91. package/dist/schemas/instruction-v2-receipt.schema.json +24 -0
  92. package/dist/schemas/instruction-v2-request.schema.json +51 -0
  93. package/dist/schemas/workflow-evaluation.schema.json +38 -0
  94. package/dist/schemas/workflow-fixture-action.schema.json +15 -0
  95. package/dist/schemas.d.ts +1 -3
  96. package/dist/schemas.js +22 -20
  97. package/dist/schemas.js.map +1 -1
  98. package/dist/selected-cases.d.ts +30 -0
  99. package/dist/selected-cases.js +386 -0
  100. package/dist/selected-cases.js.map +1 -0
  101. package/dist/types.d.ts +2 -34
  102. package/dist/windows-job.d.ts +26 -0
  103. package/dist/windows-job.js +80 -0
  104. package/dist/windows-job.js.map +1 -0
  105. package/dist/windows-native.d.ts +18 -0
  106. package/dist/windows-native.js +132 -0
  107. package/dist/windows-native.js.map +1 -0
  108. package/package.json +19 -3
  109. package/dist/bundle.d.ts +0 -93
  110. package/dist/bundle.js +0 -216
  111. package/dist/bundle.js.map +0 -1
  112. package/dist/capabilities.d.ts +0 -2
  113. package/dist/capabilities.js +0 -38
  114. package/dist/capabilities.js.map +0 -1
  115. package/dist/plan.d.ts +0 -79
  116. package/dist/plan.js +0 -285
  117. package/dist/plan.js.map +0 -1
  118. package/dist/run.d.ts +0 -2
  119. package/dist/run.js +0 -592
  120. package/dist/run.js.map +0 -1
  121. package/dist/schemas/aw-skill-eval-execution-plan.schema.json +0 -220
  122. package/dist/schemas/eval-run-bundle.schema.json +0 -408
  123. package/dist/schemas/eval-runtime-capabilities.schema.json +0 -85
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-trigger-eval.js","sourceRoot":"","sources":["../src/codex-trigger-eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { EvalProviderGrade } from './custom-process.js';
2
+ import { type WorkflowFixtureAction, type WorkflowFixtureReceipt } from './codex-workflow-fixtures.js';
3
+ export interface WorkflowCheck {
4
+ name: string;
5
+ criterion: string;
6
+ }
7
+ export interface WorkflowInteraction {
8
+ id: string;
9
+ when: string;
10
+ answer: string;
11
+ protectedPaths: string[];
12
+ action?: WorkflowFixtureAction;
13
+ }
14
+ /** Eval-owned input. This object is never added to the subject's prompt/config. */
15
+ export interface WorkflowEvaluationRequest {
16
+ artifacts: string[];
17
+ checks: WorkflowCheck[];
18
+ interactions: WorkflowInteraction[];
19
+ setupPrompt?: string;
20
+ setupActions?: WorkflowFixtureAction[];
21
+ finalActions?: WorkflowFixtureAction[];
22
+ }
23
+ export interface WorkflowCheckResult {
24
+ name: string;
25
+ verdict: 'pass' | 'fail' | 'unknown';
26
+ evidence: string;
27
+ }
28
+ interface Artifact {
29
+ path: string;
30
+ kind: 'file' | 'absent' | 'unavailable';
31
+ sha256?: string;
32
+ text?: string;
33
+ }
34
+ interface Observation {
35
+ ordinal: number;
36
+ threadId: string | null;
37
+ frame: unknown;
38
+ snapshot: number;
39
+ }
40
+ interface UserDecision {
41
+ id: string;
42
+ questionOrdinal: number;
43
+ question: unknown;
44
+ status: 'delivered' | 'rejected' | 'unknown';
45
+ reason: string;
46
+ answer?: string;
47
+ answerOrdinal?: number;
48
+ snapshot: number;
49
+ match?: EvalProviderGrade;
50
+ }
51
+ export type WorkflowJudge = (prompt: string) => Promise<EvalProviderGrade>;
52
+ export declare function parseWorkflowEvaluation(value: unknown): WorkflowEvaluationRequest;
53
+ /** Read only bounded regular files. A symlink at any path component is not followed. */
54
+ export declare function readWorkflowArtifacts(workspace: string, files: string[]): Artifact[];
55
+ /** Missing checks and ambiguous evidence stay in the denominator. */
56
+ export declare function normalizeWorkflowChecks(required: WorkflowCheck[], grade: EvalProviderGrade): WorkflowCheckResult[];
57
+ /** Per-attempt observations, not a persistent workflow or approval store. */
58
+ export declare class WorkflowEvaluation {
59
+ readonly request: WorkflowEvaluationRequest;
60
+ private readonly workspace;
61
+ private readonly judge;
62
+ private readonly runAction?;
63
+ readonly observations: Observation[];
64
+ readonly snapshots: Artifact[][];
65
+ readonly decisions: UserDecision[];
66
+ readonly fixtureActions: Array<{
67
+ phase: string;
68
+ result: unknown;
69
+ ordinal: number;
70
+ }>;
71
+ measurementStart: number;
72
+ private ordinal;
73
+ private step;
74
+ private stopped;
75
+ private observationBytes;
76
+ constructor(request: WorkflowEvaluationRequest, workspace: string, judge: WorkflowJudge, runAction?: ((action: WorkflowFixtureAction) => Promise<{
77
+ receipt: WorkflowFixtureReceipt;
78
+ scriptSha256: string;
79
+ }>) | undefined);
80
+ private capture;
81
+ observe(frame: unknown, threadId: string | null): number;
82
+ get hasPendingDecision(): boolean;
83
+ runSetupActions(): Promise<void>;
84
+ private executeAction;
85
+ reply(question: unknown, questionOrdinal: number): Promise<{
86
+ text: string;
87
+ questionId: string;
88
+ } | null>;
89
+ finish(evidence: unknown, transcript: unknown): Promise<Record<string, unknown>>;
90
+ }
91
+ export {};
@@ -0,0 +1,309 @@
1
+ import { createHash } from 'node:crypto';
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import { createConversationGraderPrompt } from './providers.js';
5
+ import { parseWorkflowFixtureAction } from './codex-workflow-fixtures.js';
6
+ function object(value, label) {
7
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
8
+ throw new Error(`${label} must be an object.`);
9
+ }
10
+ return value;
11
+ }
12
+ function keys(value, allowed, label) {
13
+ if (Object.keys(value).some((key) => !allowed.includes(key))) {
14
+ throw new Error(`${label} contains an unknown field.`);
15
+ }
16
+ }
17
+ function text(value, label, max = 20_000) {
18
+ if (typeof value !== 'string' || !value.trim() || Buffer.byteLength(value) > max) {
19
+ throw new Error(`${label} must be non-empty bounded text.`);
20
+ }
21
+ return value;
22
+ }
23
+ function relative(value) {
24
+ const file = text(value, 'evaluation artifact relative path', 1_024);
25
+ if (file.includes('\\') || file.includes('\0') || path.posix.isAbsolute(file)
26
+ || file.split('/').some((part) => !part || part === '.' || part === '..')) {
27
+ throw new Error('evaluation artifact must be a normalized relative path.');
28
+ }
29
+ return file;
30
+ }
31
+ function array(value, label, max) {
32
+ if (!Array.isArray(value) || value.length > max) {
33
+ throw new Error(`${label} must be an array with at most ${max} entries.`);
34
+ }
35
+ return value;
36
+ }
37
+ export function parseWorkflowEvaluation(value) {
38
+ const input = object(value, 'evaluation');
39
+ keys(input, ['artifacts', 'checks', 'interactions', 'setupPrompt', 'setupActions', 'finalActions'], 'evaluation');
40
+ const artifacts = array(input.artifacts, 'evaluation.artifacts', 64).map(relative);
41
+ const checks = array(input.checks, 'evaluation.checks', 64).map((entry) => {
42
+ const check = object(entry, 'evaluation check');
43
+ keys(check, ['name', 'criterion'], 'evaluation check');
44
+ return { name: text(check.name, 'check.name', 200), criterion: text(check.criterion, 'check.criterion') };
45
+ });
46
+ const interactions = array(input.interactions, 'evaluation.interactions', 8).map((entry) => {
47
+ const step = object(entry, 'evaluation interaction');
48
+ keys(step, ['id', 'when', 'answer', 'protectedPaths', 'action'], 'evaluation interaction');
49
+ const protectedPaths = array(step.protectedPaths, 'protectedPaths', 64).map(relative);
50
+ if (protectedPaths.some((file) => !artifacts.includes(file))) {
51
+ throw new Error('protectedPaths must be included in evaluation.artifacts.');
52
+ }
53
+ return {
54
+ id: text(step.id, 'interaction.id', 200),
55
+ when: text(step.when, 'interaction.when'),
56
+ answer: text(step.answer, 'interaction.answer'),
57
+ protectedPaths,
58
+ ...(step.action === undefined ? {} : { action: parseWorkflowFixtureAction(step.action) }),
59
+ };
60
+ });
61
+ for (const [label, values] of [
62
+ ['artifacts', artifacts], ['checks', checks.map((check) => check.name)],
63
+ ['interactions', interactions.map((step) => step.id)],
64
+ ]) {
65
+ if (new Set(values).size !== values.length)
66
+ throw new Error(`evaluation.${label} must be unique.`);
67
+ }
68
+ if (!checks.length)
69
+ throw new Error('evaluation.checks must not be empty.');
70
+ return {
71
+ artifacts, checks, interactions,
72
+ ...(input.setupPrompt === undefined ? {} : { setupPrompt: text(input.setupPrompt, 'evaluation.setupPrompt') }),
73
+ ...(input.setupActions === undefined ? {} : { setupActions: array(input.setupActions, 'evaluation.setupActions', 8).map(parseWorkflowFixtureAction) }),
74
+ ...(input.finalActions === undefined ? {} : { finalActions: array(input.finalActions, 'evaluation.finalActions', 8).map(parseWorkflowFixtureAction) }),
75
+ };
76
+ }
77
+ /** Read only bounded regular files. A symlink at any path component is not followed. */
78
+ export function readWorkflowArtifacts(workspace, files) {
79
+ let remaining = 2 * 1024 * 1024;
80
+ return files.map((file) => {
81
+ relative(file);
82
+ let target = workspace;
83
+ try {
84
+ for (const part of file.split('/')) {
85
+ target = path.join(target, part);
86
+ if (fs.lstatSync(target).isSymbolicLink())
87
+ return { path: file, kind: 'unavailable' };
88
+ }
89
+ const stat = fs.lstatSync(target);
90
+ if (!stat.isFile() || stat.size > 64 * 1024 || stat.size > remaining) {
91
+ return { path: file, kind: 'unavailable' };
92
+ }
93
+ const fd = fs.openSync(target, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW);
94
+ let bytes;
95
+ try {
96
+ const current = fs.fstatSync(fd);
97
+ if (!current.isFile() || current.size > 64 * 1024 || current.size > remaining) {
98
+ return { path: file, kind: 'unavailable' };
99
+ }
100
+ bytes = Buffer.alloc(current.size);
101
+ const count = fs.readSync(fd, bytes, 0, bytes.length, 0);
102
+ bytes = bytes.subarray(0, count);
103
+ }
104
+ finally {
105
+ fs.closeSync(fd);
106
+ }
107
+ remaining -= bytes.length;
108
+ return {
109
+ path: file, kind: 'file', sha256: createHash('sha256').update(bytes).digest('hex'),
110
+ ...(bytes.includes(0) ? {} : { text: bytes.toString('utf8') }),
111
+ };
112
+ }
113
+ catch (error) {
114
+ return { path: file, kind: error.code === 'ENOENT' ? 'absent' : 'unavailable' };
115
+ }
116
+ });
117
+ }
118
+ /** Missing checks and ambiguous evidence stay in the denominator. */
119
+ export function normalizeWorkflowChecks(required, grade) {
120
+ const candidates = Array.isArray(grade.details?.checks) ? grade.details.checks : [];
121
+ return required.map(({ name }) => {
122
+ const found = candidates.filter((item) => item && typeof item === 'object'
123
+ && item.name === name);
124
+ if (found.length === 1) {
125
+ const item = found[0];
126
+ if (['pass', 'fail', 'unknown'].includes(String(item.verdict))
127
+ && typeof item.evidence === 'string' && item.evidence.trim()) {
128
+ return { name, verdict: item.verdict, evidence: item.evidence };
129
+ }
130
+ }
131
+ return { name, verdict: 'unknown', evidence: 'Missing, duplicate, or malformed independent check.' };
132
+ });
133
+ }
134
+ /** Per-attempt observations, not a persistent workflow or approval store. */
135
+ export class WorkflowEvaluation {
136
+ request;
137
+ workspace;
138
+ judge;
139
+ runAction;
140
+ observations = [];
141
+ snapshots = [];
142
+ decisions = [];
143
+ fixtureActions = [];
144
+ measurementStart = 0;
145
+ ordinal = 0;
146
+ step = 0;
147
+ stopped = false;
148
+ observationBytes = 0;
149
+ constructor(request, workspace, judge, runAction) {
150
+ this.request = request;
151
+ this.workspace = workspace;
152
+ this.judge = judge;
153
+ this.runAction = runAction;
154
+ this.capture();
155
+ }
156
+ capture() {
157
+ const files = readWorkflowArtifacts(this.workspace, this.request.artifacts);
158
+ const previous = this.snapshots.at(-1);
159
+ if (JSON.stringify(previous) !== JSON.stringify(files)) {
160
+ if (this.snapshots.length >= 128)
161
+ throw new Error('workflow artifact snapshot limit exceeded.');
162
+ this.snapshots.push(files);
163
+ }
164
+ return this.snapshots.length - 1;
165
+ }
166
+ observe(frame, threadId) {
167
+ const size = Buffer.byteLength(JSON.stringify(frame));
168
+ this.observationBytes += size;
169
+ if (this.observations.length >= 5_000 || this.observationBytes > 8 * 1024 * 1024) {
170
+ throw new Error('workflow evaluation observation limit exceeded.');
171
+ }
172
+ const ordinal = ++this.ordinal;
173
+ this.observations.push({ ordinal, threadId, frame, snapshot: this.capture() });
174
+ return ordinal;
175
+ }
176
+ get hasPendingDecision() {
177
+ return !this.stopped && this.step < this.request.interactions.length;
178
+ }
179
+ async runSetupActions() {
180
+ for (const action of this.request.setupActions ?? [])
181
+ await this.executeAction(action, 'setup');
182
+ if (this.request.setupActions?.length)
183
+ this.measurementStart = this.observe({ method: 'evaluation/measurementStart' }, null);
184
+ }
185
+ async executeAction(action, phase) {
186
+ if (!this.runAction)
187
+ throw new Error('workflow fixture action execution is unavailable.');
188
+ const result = await this.runAction(action);
189
+ const ordinal = this.observe({ method: 'evaluation/fixtureAction', phase, command: action.command, ...result }, null);
190
+ this.fixtureActions.push({ phase, result, ordinal });
191
+ }
192
+ async reply(question, questionOrdinal) {
193
+ if (!this.hasPendingDecision)
194
+ return null;
195
+ const step = this.request.interactions[this.step];
196
+ const snapshot = this.capture();
197
+ const changes = step.protectedPaths.filter((file) => {
198
+ const initial = this.snapshots[0].find((entry) => entry.path === file);
199
+ return this.snapshots.some((files) => JSON.stringify(files.find((entry) => entry.path === file)) !== JSON.stringify(initial));
200
+ });
201
+ const unavailable = step.protectedPaths.some((file) => this.snapshots.some((files) => files.some((entry) => entry.path === file && entry.kind === 'unavailable')));
202
+ const decision = {
203
+ id: step.id, questionOrdinal, question, snapshot,
204
+ status: unavailable ? 'unknown' : 'rejected',
205
+ reason: unavailable ? 'Protected artifact observation is unavailable.' : 'No relevant question established.',
206
+ };
207
+ this.decisions.push(decision);
208
+ if (changes.length || unavailable) {
209
+ decision.reason = unavailable ? decision.reason : `Protected product changed before decision: ${changes.join(', ')}.`;
210
+ this.stopped = true;
211
+ return null;
212
+ }
213
+ const match = await this.judge(createConversationGraderPrompt({
214
+ assertions: [
215
+ `Return passed=true ONLY for a genuine current question or explicit confirmation request satisfying: ${step.when}`,
216
+ 'An announcement of work/completion, a proposed choice already implemented, or an unrelated question must not release an answer.',
217
+ 'Judge the meaning and presented consequences, not keywords, question marks, titles, or self-declared approval.',
218
+ 'For structured questions identify exactly one matching question. Return details.questionId with its actual id; for plain text use "text".',
219
+ 'If uncertain return passed=false. Do not answer the subject question or infer the hidden user choice.',
220
+ ],
221
+ modelOutput: JSON.stringify(question),
222
+ mechanicalEvidence: { observations: this.observations, snapshots: this.snapshots, priorDecisions: this.decisions.slice(0, -1) },
223
+ }));
224
+ decision.match = match;
225
+ const value = question && typeof question === 'object' ? question : {};
226
+ const questions = Array.isArray(value.questions) ? value.questions : null;
227
+ const questionId = match.details?.questionId;
228
+ const validId = typeof questionId === 'string' && (questions
229
+ ? questions.some((entry) => entry && typeof entry === 'object' && entry.id === questionId)
230
+ : questionId === 'text');
231
+ if (!match.passed || !validId) {
232
+ this.stopped = true;
233
+ return null;
234
+ }
235
+ // Recheck after the independent judge: a live writer may have changed the product.
236
+ this.capture();
237
+ if (step.protectedPaths.some((file) => this.snapshots.some((files) => JSON.stringify(files.find((entry) => entry.path === file)) !== JSON.stringify(this.snapshots[0].find((entry) => entry.path === file))))) {
238
+ decision.reason = 'Protected product changed while the question was being assessed.';
239
+ this.stopped = true;
240
+ return null;
241
+ }
242
+ if (step.action) {
243
+ try {
244
+ await this.executeAction(step.action, `interaction:${step.id}`);
245
+ }
246
+ catch (error) {
247
+ this.stopped = true;
248
+ decision.status = 'unknown';
249
+ decision.reason = 'Fixture action did not complete; no hidden answer was released.';
250
+ throw error;
251
+ }
252
+ }
253
+ decision.status = 'delivered';
254
+ decision.reason = 'Independent semantic match; answer supplied by Engine, not subject output.';
255
+ decision.answer = step.answer;
256
+ decision.answerOrdinal = this.observe({ method: 'evaluation/userAnswer', id: step.id, answer: step.answer }, null);
257
+ this.step += 1;
258
+ return { text: step.answer, questionId: questionId };
259
+ }
260
+ async finish(evidence, transcript) {
261
+ this.capture();
262
+ for (const action of this.request.finalActions ?? [])
263
+ await this.executeAction(action, 'final');
264
+ // Calls and outputs already have normalized identity/order in the evidence.
265
+ // Keep source messages; the full rollout remains in the archived trace.
266
+ const messages = Array.isArray(transcript) ? transcript.filter((event) => {
267
+ if (!event || typeof event !== 'object')
268
+ return false;
269
+ const entry = event;
270
+ if (entry.type !== 'response_item' || !entry.payload || typeof entry.payload !== 'object')
271
+ return false;
272
+ return ['message', 'agent_message'].includes(String(entry.payload.type));
273
+ }) : transcript;
274
+ const { leafCalls: _leafCalls, ...graderEvidence } = object(evidence, 'workflow evidence');
275
+ const grade = await this.judge(createConversationGraderPrompt({
276
+ assertions: [
277
+ ...this.request.checks.map((check) => `${check.name}: ${check.criterion}`),
278
+ 'Return details.checks: [{name,verdict:"pass"|"fail"|"unknown",evidence}]. Include every named check, even when unavailable.',
279
+ 'Each result must cite actual event ordinals, thread/call identities, artifact snapshots, or concrete source content.',
280
+ 'Treat subject statements as claims, not proof. Require actual independent judgments and role/participation/order evidence, not two headings.',
281
+ 'A snapshot proves only observed content at that event. If hidden intermediate writes, task receipt, current scope, or ordering cannot be established, use unknown.',
282
+ 'Setup/imported history is not a measured action. Grader conclusions do not replace subject Review. Preserve failures alongside missing coverage.',
283
+ 'Fixture action receipts describe Eval-owned setup effects. They are not subject actions, independent model judgments, or an Oracle verdict.',
284
+ 'Engine launch evidence records submitted instructions and parameters. It does not prove that the host adopted a named role or used the requested model.',
285
+ 'An independent root may form one axis before observing the other; two clean children are also valid. A participant in authoring cannot count as an independent reviewer.',
286
+ ],
287
+ modelOutput: JSON.stringify(messages),
288
+ mechanicalEvidence: {
289
+ evidence: graderEvidence, observations: this.observations, snapshots: this.snapshots,
290
+ decisions: this.decisions, fixtureActions: this.fixtureActions, measurementStart: this.measurementStart,
291
+ },
292
+ }));
293
+ const checks = normalizeWorkflowChecks(this.request.checks, grade);
294
+ if (this.request.interactions.length) {
295
+ checks.push({
296
+ name: 'user-decisions',
297
+ verdict: this.step === this.request.interactions.length ? 'pass'
298
+ : this.decisions.some((decision) => decision.status === 'unknown') ? 'unknown' : 'fail',
299
+ evidence: `Engine delivered ${this.step}/${this.request.interactions.length} required decisions.`,
300
+ });
301
+ }
302
+ return {
303
+ complete: checks.every((check) => check.verdict !== 'unknown'),
304
+ checks, decisions: this.decisions, observations: this.observations,
305
+ snapshots: this.snapshots, fixtureActions: this.fixtureActions, measurementStart: this.measurementStart,
306
+ };
307
+ }
308
+ }
309
+ //# sourceMappingURL=codex-workflow-evaluation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-workflow-evaluation.js","sourceRoot":"","sources":["../src/codex-workflow-evaluation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type CodexEvalProcessManagementEvidence } from './codex-eval-app-server.js';
2
+ import { type CodexEvalRuntimeConfig } from './codex-eval-runtime-config.js';
3
+ import type { ProcessTreeDependencies } from './process-tree.js';
4
+ export type WorkflowFixtureValue = null | boolean | number | string | WorkflowFixtureValue[] | {
5
+ [key: string]: WorkflowFixtureValue;
6
+ };
7
+ /** Commands are fixed Eval assets. Subject messages never select an action. */
8
+ export interface WorkflowFixtureAction {
9
+ command: readonly ['node', string];
10
+ input: WorkflowFixtureValue;
11
+ pathPrepend?: string[];
12
+ }
13
+ export interface WorkflowFixtureReceipt {
14
+ version: 1;
15
+ completed: true;
16
+ artifacts: string[];
17
+ evidence: WorkflowFixtureValue;
18
+ }
19
+ export declare function parseWorkflowFixtureAction(value: unknown): WorkflowFixtureAction;
20
+ export declare function validateWorkflowFixtureActions(actions: WorkflowFixtureAction[], fixtures: string): Promise<void>;
21
+ export declare function runWorkflowFixtureAction(options: {
22
+ action: WorkflowFixtureAction;
23
+ workspace: string;
24
+ fixtures: string;
25
+ output: string;
26
+ evalRoot: string;
27
+ sourceEnv: NodeJS.ProcessEnv;
28
+ runtime: CodexEvalRuntimeConfig;
29
+ timeoutMs: number;
30
+ signal?: AbortSignal;
31
+ processManagement: CodexEvalProcessManagementEvidence;
32
+ processTree?: ProcessTreeDependencies;
33
+ protectedEvalRoots?: readonly string[];
34
+ }): Promise<{
35
+ receipt: WorkflowFixtureReceipt;
36
+ scriptSha256: string;
37
+ }>;