@plumloom/cli 0.1.3 → 0.1.5

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.
@@ -0,0 +1,259 @@
1
+ const MAX_STATISTICS = 500;
2
+ function asObject(input) {
3
+ return input !== null && typeof input === 'object' && !Array.isArray(input)
4
+ ? input
5
+ : undefined;
6
+ }
7
+ function asArray(input) {
8
+ return Array.isArray(input) ? input : [];
9
+ }
10
+ function finiteNumber(input) {
11
+ return typeof input === 'number' && Number.isFinite(input) ? input : undefined;
12
+ }
13
+ function nonNegativeInteger(input) {
14
+ const value = finiteNumber(input);
15
+ return value !== undefined && Number.isInteger(value) && value >= 0 ? value : undefined;
16
+ }
17
+ function nonEmptyText(input) {
18
+ return typeof input === 'string' && input.trim() !== '' ? input.trim() : undefined;
19
+ }
20
+ function parsedObject(input) {
21
+ const direct = asObject(input);
22
+ if (direct)
23
+ return direct;
24
+ const text = nonEmptyText(input);
25
+ if (!text)
26
+ return undefined;
27
+ try {
28
+ return asObject(JSON.parse(text));
29
+ }
30
+ catch {
31
+ return undefined;
32
+ }
33
+ }
34
+ function hasOwn(source, key) {
35
+ return Object.prototype.hasOwnProperty.call(source, key);
36
+ }
37
+ function qualityStandardSource(configuredRun, exactConfiguration) {
38
+ const configuration = asObject(exactConfiguration) ?? {};
39
+ const direct = asObject(configuration.quality_standard);
40
+ if (direct)
41
+ return { source: direct, status: 'applied' };
42
+ const exactInstructions = parsedObject(configuration.evaluator_instructions);
43
+ if (exactInstructions &&
44
+ (nonEmptyText(exactInstructions.quality_standard_id) !== undefined ||
45
+ nonEmptyText(exactInstructions.quality_standard_name) !== undefined ||
46
+ nonEmptyText(exactInstructions.name) !== undefined ||
47
+ asArray(exactInstructions.anchors).length > 0 ||
48
+ exactInstructions.type === 'qs_v1')) {
49
+ return { source: exactInstructions, status: 'applied' };
50
+ }
51
+ const submittedInstructions = parsedObject(configuredRun.methodology.evaluatorInstructions);
52
+ if (submittedInstructions &&
53
+ (nonEmptyText(submittedInstructions.quality_standard_id) !== undefined ||
54
+ nonEmptyText(submittedInstructions.quality_standard_name) !== undefined ||
55
+ nonEmptyText(submittedInstructions.name) !== undefined ||
56
+ asArray(submittedInstructions.anchors).length > 0 ||
57
+ submittedInstructions.type === 'qs_v1')) {
58
+ return { source: submittedInstructions, status: 'applied' };
59
+ }
60
+ const explicitAssignmentFields = hasOwn(configuration, 'quality_standard') || hasOwn(configuration, 'quality_standard_id');
61
+ if (explicitAssignmentFields &&
62
+ (configuration.quality_standard === null || configuration.quality_standard_id === null)) {
63
+ return { status: 'not_configured' };
64
+ }
65
+ if (nonEmptyText(configuration.quality_standard_id) !== undefined) {
66
+ return { source: configuration, status: 'applied' };
67
+ }
68
+ if (nonEmptyText(configuration.quality_standard_name) !== undefined) {
69
+ return { source: configuration, status: 'applied' };
70
+ }
71
+ return { status: 'not_available' };
72
+ }
73
+ /**
74
+ * Extract only public-safe standard metadata from the exact configuration used
75
+ * by the run. Rubric prose and anchor contents are deliberately never retained.
76
+ */
77
+ export function extractRunStandardEvidence(configuredRun, exactConfiguration) {
78
+ const qualityStandard = qualityStandardSource(configuredRun, exactConfiguration);
79
+ const source = qualityStandard.source;
80
+ const anchors = asArray(source?.anchors);
81
+ const version = nonEmptyText(source?.version) ??
82
+ nonEmptyText(source?.version_number) ??
83
+ nonEmptyText(source?.quality_standard_version) ??
84
+ (finiteNumber(source?.versionNumber) === undefined
85
+ ? undefined
86
+ : String(finiteNumber(source?.versionNumber)));
87
+ const name = nonEmptyText(source?.quality_standard_name) ??
88
+ nonEmptyText(source?.name) ??
89
+ nonEmptyText(source?.qs_name);
90
+ return {
91
+ rubricApplied: configuredRun.methodology.evaluatorInstructions.trim() !== '',
92
+ judgeModel: configuredRun.methodology.judgeModel,
93
+ judgeModelPinned: configuredRun.methodology.judgeModelId.trim() !== '',
94
+ qualityStandardStatus: qualityStandard.status,
95
+ ...(name === undefined ? {} : { qualityStandardName: name }),
96
+ ...(version === undefined ? {} : { qualityStandardVersion: version }),
97
+ ...(qualityStandard.status === 'applied' && anchors.length > 0
98
+ ? { anchorCount: anchors.length }
99
+ : {}),
100
+ };
101
+ }
102
+ function judgmentFromPayload(payload, scope) {
103
+ const agreement = asObject(asObject(payload)?.judge_agreement);
104
+ if (!agreement)
105
+ return undefined;
106
+ const assessmentCount = nonNegativeInteger(agreement.total);
107
+ const passVotes = nonNegativeInteger(agreement.pass);
108
+ const agreedAssessments = nonNegativeInteger(agreement.agreed);
109
+ if (assessmentCount === undefined && passVotes === undefined && agreedAssessments === undefined) {
110
+ return undefined;
111
+ }
112
+ return {
113
+ scope,
114
+ ...(assessmentCount === undefined ? {} : { assessmentCount }),
115
+ ...(passVotes === undefined ? {} : { passVotes }),
116
+ ...(agreedAssessments === undefined ? {} : { agreedAssessments }),
117
+ };
118
+ }
119
+ function scenarioJudgeCount(statusRaw) {
120
+ const status = asObject(statusRaw);
121
+ const nestedStatus = asObject(status?.status);
122
+ for (const root of [status, nestedStatus]) {
123
+ if (!root)
124
+ continue;
125
+ const metrics = asObject(root.evaluationMetrics) ?? asObject(root.evaluation_metrics);
126
+ const count = nonNegativeInteger(metrics?.judgesPerOutput) ??
127
+ nonNegativeInteger(metrics?.judges_per_output) ??
128
+ nonNegativeInteger(metrics?.judge_count);
129
+ if (count !== undefined)
130
+ return count;
131
+ }
132
+ return undefined;
133
+ }
134
+ export function extractJudgmentEvidence(contextType, results, statusRaw) {
135
+ if (contextType === 'scenario') {
136
+ const assessmentCount = scenarioJudgeCount(statusRaw);
137
+ return assessmentCount === undefined ? [] : [{ scope: 'Each system output', assessmentCount }];
138
+ }
139
+ if (contextType === 'conversation' && results?.contextType === 'conversation') {
140
+ const evidence = judgmentFromPayload(results.conversation, 'Frozen conversation');
141
+ return evidence ? [evidence] : [];
142
+ }
143
+ if (contextType === 'agent_trace' && results?.contextType === 'agent_trace') {
144
+ return [
145
+ judgmentFromPayload(results.agentTrace, 'Agent session'),
146
+ judgmentFromPayload(results.trajectory, 'Trajectory'),
147
+ ].filter((entry) => entry !== undefined);
148
+ }
149
+ return [];
150
+ }
151
+ function statistic(scope, cellInput) {
152
+ const cell = asObject(cellInput);
153
+ if (!cell)
154
+ return undefined;
155
+ const mean = finiteNumber(cell.mean);
156
+ const standardDeviation = finiteNumber(cell.std_dev) ?? finiteNumber(cell.standard_deviation);
157
+ const ci95Lower = finiteNumber(cell.ci95_lower);
158
+ const ci95Upper = finiteNumber(cell.ci95_upper);
159
+ const ci95HalfWidth = finiteNumber(cell.ci95);
160
+ const sampleSize = nonNegativeInteger(cell.sample_size);
161
+ const hasData = typeof cell.has_data === 'boolean' ? cell.has_data : undefined;
162
+ const insufficientEvidence = typeof cell.insufficient_samples === 'boolean' ? cell.insufficient_samples : undefined;
163
+ if (mean === undefined &&
164
+ standardDeviation === undefined &&
165
+ ci95Lower === undefined &&
166
+ ci95Upper === undefined &&
167
+ ci95HalfWidth === undefined &&
168
+ sampleSize === undefined &&
169
+ hasData === undefined &&
170
+ insufficientEvidence === undefined) {
171
+ return undefined;
172
+ }
173
+ return {
174
+ scope,
175
+ ...(mean === undefined ? {} : { mean }),
176
+ ...(standardDeviation === undefined ? {} : { standardDeviation }),
177
+ ...(ci95Lower === undefined ? {} : { ci95Lower }),
178
+ ...(ci95Upper === undefined ? {} : { ci95Upper }),
179
+ ...(ci95HalfWidth === undefined ? {} : { ci95HalfWidth }),
180
+ ...(sampleSize === undefined ? {} : { sampleSize }),
181
+ ...(hasData === undefined ? {} : { hasData }),
182
+ ...(insufficientEvidence === undefined ? {} : { insufficientEvidence }),
183
+ };
184
+ }
185
+ function trialCounts(statusRaw) {
186
+ const status = asObject(statusRaw);
187
+ const nestedStatus = asObject(status?.status);
188
+ for (const root of [status, nestedStatus]) {
189
+ if (!root)
190
+ continue;
191
+ const metrics = asObject(root.evaluationMetrics) ?? asObject(root.evaluation_metrics);
192
+ const progress = asObject(root.progress);
193
+ const completedTrials = nonNegativeInteger(metrics?.runsCompleted) ??
194
+ nonNegativeInteger(metrics?.runs_completed) ??
195
+ nonNegativeInteger(progress?.runsCompleted) ??
196
+ nonNegativeInteger(progress?.runs_completed);
197
+ const plannedTrials = nonNegativeInteger(metrics?.runsPlanned) ??
198
+ nonNegativeInteger(metrics?.runs_planned) ??
199
+ nonNegativeInteger(metrics?.maxRuns) ??
200
+ nonNegativeInteger(progress?.totalRuns) ??
201
+ nonNegativeInteger(progress?.total_runs);
202
+ if (completedTrials !== undefined || plannedTrials !== undefined) {
203
+ return {
204
+ ...(completedTrials === undefined ? {} : { completedTrials }),
205
+ ...(plannedTrials === undefined ? {} : { plannedTrials }),
206
+ };
207
+ }
208
+ }
209
+ return {};
210
+ }
211
+ /** Report backend statistics at their native model/metric and scenario/model grain. */
212
+ export function extractScenarioRepeatabilityEvidence(results, statusRaw) {
213
+ const counts = trialCounts(statusRaw);
214
+ if (results?.contextType !== 'scenario')
215
+ return { ...counts, statistics: [] };
216
+ const statistics = [];
217
+ for (const modelInput of asArray(results.modelPerformance.models)) {
218
+ if (statistics.length >= MAX_STATISTICS)
219
+ break;
220
+ const model = asObject(modelInput);
221
+ if (!model)
222
+ continue;
223
+ const modelLabel = nonEmptyText(model.display_name) ?? nonEmptyText(model.model_key) ?? 'Model';
224
+ const scores = asObject(model.scores);
225
+ if (!scores)
226
+ continue;
227
+ for (const [metric, cell] of Object.entries(scores)) {
228
+ const entry = statistic(`${modelLabel} / ${metric}`, cell);
229
+ if (entry)
230
+ statistics.push(entry);
231
+ if (statistics.length >= MAX_STATISTICS)
232
+ break;
233
+ }
234
+ }
235
+ for (const scenarioInput of asArray(results.scenarioComparison.scenarios)) {
236
+ if (statistics.length >= MAX_STATISTICS)
237
+ break;
238
+ const scenario = asObject(scenarioInput);
239
+ if (!scenario)
240
+ continue;
241
+ const scenarioLabel = nonEmptyText(scenario.scenario_name) ??
242
+ (finiteNumber(scenario.scenario_index) === undefined
243
+ ? 'Scenario'
244
+ : `Scenario ${finiteNumber(scenario.scenario_index)}`);
245
+ for (const scoreInput of asArray(scenario.model_scores)) {
246
+ const score = asObject(scoreInput);
247
+ if (!score)
248
+ continue;
249
+ const modelLabel = nonEmptyText(score.display_name) ?? nonEmptyText(score.model_key) ?? 'Model';
250
+ const entry = statistic(`${scenarioLabel} / ${modelLabel}`, score.score);
251
+ if (entry)
252
+ statistics.push(entry);
253
+ if (statistics.length >= MAX_STATISTICS)
254
+ break;
255
+ }
256
+ }
257
+ return { ...counts, statistics };
258
+ }
259
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/reliability/evidence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumloom/cli",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Deterministic, file-driven terminal client and MCP server for Plumloom Autoeval",
6
6
  "keywords": [