@iris-eval/mcp-server 0.8.1 → 0.9.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.
- package/README.md +9 -2
- package/dist/capabilities.d.ts +64 -0
- package/dist/capabilities.js +65 -0
- package/dist/config/defaults.js +2 -0
- package/dist/custom-rule-store.d.ts +4 -0
- package/dist/custom-rule-store.js +8 -3
- package/dist/dashboard/assets/{index-BfMShR3p.js → index-Cz8_oOqG.js} +1 -1
- package/dist/dashboard/index.html +1 -1
- package/dist/dashboard/routes/capabilities.d.ts +3 -0
- package/dist/dashboard/routes/capabilities.js +11 -0
- package/dist/dashboard/routes/health.d.ts +5 -1
- package/dist/dashboard/routes/health.js +15 -3
- package/dist/dashboard/routes/rules.js +4 -1
- package/dist/dashboard/routes/traces.d.ts +3 -0
- package/dist/dashboard/routes/traces.js +9 -28
- package/dist/dashboard/server.d.ts +2 -0
- package/dist/dashboard/server.js +6 -2
- package/dist/eval/accuracy.d.ts +41 -0
- package/dist/eval/accuracy.js +97 -0
- package/dist/eval/criticality.d.ts +8 -1
- package/dist/eval/criticality.js +6 -0
- package/dist/eval/dormant.d.ts +4 -0
- package/dist/eval/dormant.js +22 -0
- package/dist/eval/engine.d.ts +1 -0
- package/dist/eval/engine.js +49 -3
- package/dist/eval/failure-classes.d.ts +8 -0
- package/dist/eval/failure-classes.js +18 -0
- package/dist/eval/llm-judge/evaluator.d.ts +10 -0
- package/dist/eval/llm-judge/evaluator.js +16 -1
- package/dist/eval/published-accuracy.d.ts +230 -0
- package/dist/eval/published-accuracy.js +86 -0
- package/dist/eval/questions.d.ts +12 -0
- package/dist/eval/questions.js +14 -0
- package/dist/eval/response-schema.d.ts +652 -0
- package/dist/eval/response-schema.js +130 -0
- package/dist/eval/response.d.ts +12 -0
- package/dist/eval/response.js +30 -0
- package/dist/eval/rules/completeness.js +31 -0
- package/dist/eval/rules/cost.d.ts +1 -1
- package/dist/eval/rules/cost.js +44 -0
- package/dist/eval/rules/custom.d.ts +0 -12
- package/dist/eval/rules/custom.js +21 -0
- package/dist/eval/rules/relevance.js +16 -0
- package/dist/eval/rules/safety.js +178 -1
- package/dist/eval/stamp.d.ts +14 -0
- package/dist/eval/stamp.js +88 -0
- package/dist/eval/stats.d.ts +33 -0
- package/dist/eval/stats.js +109 -0
- package/dist/eval/verdict.d.ts +34 -0
- package/dist/eval/verdict.js +131 -0
- package/dist/index.js +5 -28
- package/dist/instructions.d.ts +17 -0
- package/dist/instructions.js +53 -0
- package/dist/judge-enablement.d.ts +34 -0
- package/dist/judge-enablement.js +78 -0
- package/dist/judge-enablement.json +10 -0
- package/dist/preferences.d.ts +1 -1
- package/dist/prompts.d.ts +3 -0
- package/dist/prompts.js +29 -0
- package/dist/resources/index.d.ts +5 -2
- package/dist/resources/index.js +65 -5
- package/dist/resources/uris.d.ts +12 -0
- package/dist/resources/uris.js +24 -0
- package/dist/retention.d.ts +20 -0
- package/dist/retention.js +44 -0
- package/dist/self-test.d.ts +1 -0
- package/dist/self-test.js +14 -0
- package/dist/server.d.ts +10 -1
- package/dist/server.js +34 -7
- package/dist/storage/index.js +1 -1
- package/dist/storage/migrations/007-eval-provenance.d.ts +3 -0
- package/dist/storage/migrations/007-eval-provenance.js +30 -0
- package/dist/storage/migrations/index.js +24 -4
- package/dist/storage/sqlite-adapter.d.ts +26 -1
- package/dist/storage/sqlite-adapter.js +135 -15
- package/dist/tools/delete-rule.d.ts +8 -0
- package/dist/tools/delete-rule.js +30 -38
- package/dist/tools/delete-trace.d.ts +5 -0
- package/dist/tools/delete-trace.js +24 -27
- package/dist/tools/deploy-rule.d.ts +13 -1
- package/dist/tools/deploy-rule.js +37 -34
- package/dist/tools/describe.d.ts +20 -0
- package/dist/tools/describe.js +36 -0
- package/dist/tools/errors.d.ts +36 -0
- package/dist/tools/errors.js +134 -0
- package/dist/tools/evaluate-output.d.ts +8 -1
- package/dist/tools/evaluate-output.js +37 -58
- package/dist/tools/evaluate-with-llm-judge.d.ts +31 -0
- package/dist/tools/evaluate-with-llm-judge.js +96 -69
- package/dist/tools/get-traces.d.ts +9 -0
- package/dist/tools/get-traces.js +30 -29
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.js +22 -1
- package/dist/tools/list-rules.d.ts +13 -0
- package/dist/tools/list-rules.js +43 -46
- package/dist/tools/log-trace.d.ts +4 -0
- package/dist/tools/log-trace.js +31 -29
- package/dist/tools/respond.d.ts +42 -0
- package/dist/tools/respond.js +90 -0
- package/dist/tools/strict-input.js +1 -1
- package/dist/tools/trace-link.d.ts +2 -0
- package/dist/tools/trace-link.js +13 -2
- package/dist/tools/verify-citations.d.ts +17 -2
- package/dist/tools/verify-citations.js +98 -93
- package/dist/types/config.d.ts +9 -0
- package/dist/types/eval.d.ts +258 -0
- package/dist/types/eval.js +2 -1
- package/dist/types/query.d.ts +2 -0
- package/package.json +1 -1
- package/server.json +72 -2
- package/dist/resources/dashboard-summary.d.ts +0 -3
- package/dist/resources/dashboard-summary.js +0 -16
- package/dist/resources/trace-detail.d.ts +0 -3
- package/dist/resources/trace-detail.js +0 -30
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
export declare const PUBLISHED_ACCURACY_CORPUS_VERSION = "1251d242916c";
|
|
2
|
+
export declare const PUBLISHED_ACCURACY_RELEASE = "0.9.0";
|
|
3
|
+
export declare const PUBLISHED_ACCURACY_LABELLING: "same-model";
|
|
4
|
+
export declare const PUBLISHED_ACCURACY: {
|
|
5
|
+
readonly min_output_length: {
|
|
6
|
+
readonly n: 29;
|
|
7
|
+
readonly tp: 13;
|
|
8
|
+
readonly fp: 0;
|
|
9
|
+
readonly fn: 0;
|
|
10
|
+
readonly tn: 16;
|
|
11
|
+
readonly precision: 1;
|
|
12
|
+
readonly recall: 1;
|
|
13
|
+
readonly f1: 1;
|
|
14
|
+
readonly ci95: {
|
|
15
|
+
readonly precision: readonly [0.7719, 1];
|
|
16
|
+
readonly recall: readonly [0.7719, 1];
|
|
17
|
+
readonly f1: readonly [1, 1];
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
readonly non_empty_output: {
|
|
21
|
+
readonly n: 29;
|
|
22
|
+
readonly tp: 10;
|
|
23
|
+
readonly fp: 0;
|
|
24
|
+
readonly fn: 2;
|
|
25
|
+
readonly tn: 17;
|
|
26
|
+
readonly precision: 1;
|
|
27
|
+
readonly recall: 0.8333;
|
|
28
|
+
readonly f1: 0.9091;
|
|
29
|
+
readonly ci95: {
|
|
30
|
+
readonly precision: readonly [0.7225, 1];
|
|
31
|
+
readonly recall: readonly [0.552, 0.953];
|
|
32
|
+
readonly f1: readonly [0.7368, 1];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
readonly sentence_count: {
|
|
36
|
+
readonly n: 30;
|
|
37
|
+
readonly tp: 8;
|
|
38
|
+
readonly fp: 0;
|
|
39
|
+
readonly fn: 6;
|
|
40
|
+
readonly tn: 16;
|
|
41
|
+
readonly precision: 1;
|
|
42
|
+
readonly recall: 0.5714;
|
|
43
|
+
readonly f1: 0.7273;
|
|
44
|
+
readonly ci95: {
|
|
45
|
+
readonly precision: readonly [0.6756, 1];
|
|
46
|
+
readonly recall: readonly [0.3259, 0.7862];
|
|
47
|
+
readonly f1: readonly [0.4706, 0.9091];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
readonly expected_coverage: {
|
|
51
|
+
readonly n: 29;
|
|
52
|
+
readonly tp: 14;
|
|
53
|
+
readonly fp: 0;
|
|
54
|
+
readonly fn: 0;
|
|
55
|
+
readonly tn: 15;
|
|
56
|
+
readonly precision: 1;
|
|
57
|
+
readonly recall: 1;
|
|
58
|
+
readonly f1: 1;
|
|
59
|
+
readonly ci95: {
|
|
60
|
+
readonly precision: readonly [0.7847, 1];
|
|
61
|
+
readonly recall: readonly [0.7847, 1];
|
|
62
|
+
readonly f1: readonly [1, 1];
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
readonly keyword_overlap: {
|
|
66
|
+
readonly n: 30;
|
|
67
|
+
readonly tp: 10;
|
|
68
|
+
readonly fp: 0;
|
|
69
|
+
readonly fn: 0;
|
|
70
|
+
readonly tn: 20;
|
|
71
|
+
readonly precision: 1;
|
|
72
|
+
readonly recall: 1;
|
|
73
|
+
readonly f1: 1;
|
|
74
|
+
readonly ci95: {
|
|
75
|
+
readonly precision: readonly [0.7225, 1];
|
|
76
|
+
readonly recall: readonly [0.7225, 1];
|
|
77
|
+
readonly f1: readonly [1, 1];
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
readonly topic_consistency: {
|
|
81
|
+
readonly n: 31;
|
|
82
|
+
readonly tp: 11;
|
|
83
|
+
readonly fp: 0;
|
|
84
|
+
readonly fn: 1;
|
|
85
|
+
readonly tn: 19;
|
|
86
|
+
readonly precision: 1;
|
|
87
|
+
readonly recall: 0.9167;
|
|
88
|
+
readonly f1: 0.9565;
|
|
89
|
+
readonly ci95: {
|
|
90
|
+
readonly precision: readonly [0.7412, 1];
|
|
91
|
+
readonly recall: readonly [0.6461, 0.9851];
|
|
92
|
+
readonly f1: readonly [0.8333, 1];
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
readonly no_pii: {
|
|
96
|
+
readonly n: 90;
|
|
97
|
+
readonly tp: 34;
|
|
98
|
+
readonly fp: 5;
|
|
99
|
+
readonly fn: 11;
|
|
100
|
+
readonly tn: 40;
|
|
101
|
+
readonly precision: 0.8718;
|
|
102
|
+
readonly recall: 0.7556;
|
|
103
|
+
readonly f1: 0.8095;
|
|
104
|
+
readonly ci95: {
|
|
105
|
+
readonly precision: readonly [0.7329, 0.944];
|
|
106
|
+
readonly recall: readonly [0.6133, 0.8576];
|
|
107
|
+
readonly f1: readonly [0.7105, 0.8936];
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
readonly no_blocklist_words: {
|
|
111
|
+
readonly n: 32;
|
|
112
|
+
readonly tp: 11;
|
|
113
|
+
readonly fp: 1;
|
|
114
|
+
readonly fn: 4;
|
|
115
|
+
readonly tn: 16;
|
|
116
|
+
readonly precision: 0.9167;
|
|
117
|
+
readonly recall: 0.7333;
|
|
118
|
+
readonly f1: 0.8148;
|
|
119
|
+
readonly ci95: {
|
|
120
|
+
readonly precision: readonly [0.6461, 0.9851];
|
|
121
|
+
readonly recall: readonly [0.4805, 0.891];
|
|
122
|
+
readonly f1: readonly [0.6087, 0.9524];
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
readonly no_injection_patterns: {
|
|
126
|
+
readonly n: 90;
|
|
127
|
+
readonly tp: 41;
|
|
128
|
+
readonly fp: 0;
|
|
129
|
+
readonly fn: 1;
|
|
130
|
+
readonly tn: 48;
|
|
131
|
+
readonly precision: 1;
|
|
132
|
+
readonly recall: 0.9762;
|
|
133
|
+
readonly f1: 0.988;
|
|
134
|
+
readonly ci95: {
|
|
135
|
+
readonly precision: readonly [0.9143, 1];
|
|
136
|
+
readonly recall: readonly [0.8768, 0.9958];
|
|
137
|
+
readonly f1: readonly [0.96, 1];
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
readonly no_stub_output: {
|
|
141
|
+
readonly n: 89;
|
|
142
|
+
readonly tp: 30;
|
|
143
|
+
readonly fp: 5;
|
|
144
|
+
readonly fn: 12;
|
|
145
|
+
readonly tn: 42;
|
|
146
|
+
readonly precision: 0.8571;
|
|
147
|
+
readonly recall: 0.7143;
|
|
148
|
+
readonly f1: 0.7792;
|
|
149
|
+
readonly ci95: {
|
|
150
|
+
readonly precision: readonly [0.7062, 0.9374];
|
|
151
|
+
readonly recall: readonly [0.5643, 0.8283];
|
|
152
|
+
readonly f1: readonly [0.6667, 0.8736];
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
readonly no_hallucination_markers: {
|
|
156
|
+
readonly n: 90;
|
|
157
|
+
readonly tp: 34;
|
|
158
|
+
readonly fp: 0;
|
|
159
|
+
readonly fn: 12;
|
|
160
|
+
readonly tn: 44;
|
|
161
|
+
readonly precision: 1;
|
|
162
|
+
readonly recall: 0.7391;
|
|
163
|
+
readonly f1: 0.85;
|
|
164
|
+
readonly ci95: {
|
|
165
|
+
readonly precision: readonly [0.8985, 1];
|
|
166
|
+
readonly recall: readonly [0.5974, 0.844];
|
|
167
|
+
readonly f1: readonly [0.7576, 0.9213];
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
readonly no_silent_tool_failure: {
|
|
171
|
+
readonly n: 30;
|
|
172
|
+
readonly tp: 13;
|
|
173
|
+
readonly fp: 0;
|
|
174
|
+
readonly fn: 1;
|
|
175
|
+
readonly tn: 16;
|
|
176
|
+
readonly precision: 1;
|
|
177
|
+
readonly recall: 0.9286;
|
|
178
|
+
readonly f1: 0.963;
|
|
179
|
+
readonly ci95: {
|
|
180
|
+
readonly precision: readonly [0.7719, 1];
|
|
181
|
+
readonly recall: readonly [0.6853, 0.9873];
|
|
182
|
+
readonly f1: readonly [0.8667, 1];
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
readonly cost_under_threshold: {
|
|
186
|
+
readonly n: 26;
|
|
187
|
+
readonly tp: 10;
|
|
188
|
+
readonly fp: 0;
|
|
189
|
+
readonly fn: 0;
|
|
190
|
+
readonly tn: 16;
|
|
191
|
+
readonly precision: 1;
|
|
192
|
+
readonly recall: 1;
|
|
193
|
+
readonly f1: 1;
|
|
194
|
+
readonly ci95: {
|
|
195
|
+
readonly precision: readonly [0.7225, 1];
|
|
196
|
+
readonly recall: readonly [0.7225, 1];
|
|
197
|
+
readonly f1: readonly [1, 1];
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
readonly token_efficiency: {
|
|
201
|
+
readonly n: 25;
|
|
202
|
+
readonly tp: 9;
|
|
203
|
+
readonly fp: 0;
|
|
204
|
+
readonly fn: 0;
|
|
205
|
+
readonly tn: 16;
|
|
206
|
+
readonly precision: 1;
|
|
207
|
+
readonly recall: 1;
|
|
208
|
+
readonly f1: 1;
|
|
209
|
+
readonly ci95: {
|
|
210
|
+
readonly precision: readonly [0.7009, 1];
|
|
211
|
+
readonly recall: readonly [0.7009, 1];
|
|
212
|
+
readonly f1: readonly [1, 1];
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
readonly no_tool_loop: {
|
|
216
|
+
readonly n: 28;
|
|
217
|
+
readonly tp: 12;
|
|
218
|
+
readonly fp: 0;
|
|
219
|
+
readonly fn: 0;
|
|
220
|
+
readonly tn: 16;
|
|
221
|
+
readonly precision: 1;
|
|
222
|
+
readonly recall: 1;
|
|
223
|
+
readonly f1: 1;
|
|
224
|
+
readonly ci95: {
|
|
225
|
+
readonly precision: readonly [0.7575, 1];
|
|
226
|
+
readonly recall: readonly [0.7575, 1];
|
|
227
|
+
readonly f1: readonly [1, 1];
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* GENERATED by `npm run proof` from proof/results.json — do not edit by hand.
|
|
3
|
+
* `npm run proof -- --check` fails CI when this file differs from what the
|
|
4
|
+
* runner produces. Read by src/eval/accuracy.ts; the numbers a verdict carries
|
|
5
|
+
* are the numbers on https://iris-eval.com/proof, for the release named below.
|
|
6
|
+
*/
|
|
7
|
+
export const PUBLISHED_ACCURACY_CORPUS_VERSION = '1251d242916c';
|
|
8
|
+
export const PUBLISHED_ACCURACY_RELEASE = '0.9.0';
|
|
9
|
+
export const PUBLISHED_ACCURACY_LABELLING = 'same-model';
|
|
10
|
+
export const PUBLISHED_ACCURACY = {
|
|
11
|
+
min_output_length: {
|
|
12
|
+
n: 29, tp: 13, fp: 0, fn: 0, tn: 16,
|
|
13
|
+
precision: 1, recall: 1, f1: 1,
|
|
14
|
+
ci95: { precision: [0.7719, 1], recall: [0.7719, 1], f1: [1, 1] },
|
|
15
|
+
},
|
|
16
|
+
non_empty_output: {
|
|
17
|
+
n: 29, tp: 10, fp: 0, fn: 2, tn: 17,
|
|
18
|
+
precision: 1, recall: 0.8333, f1: 0.9091,
|
|
19
|
+
ci95: { precision: [0.7225, 1], recall: [0.552, 0.953], f1: [0.7368, 1] },
|
|
20
|
+
},
|
|
21
|
+
sentence_count: {
|
|
22
|
+
n: 30, tp: 8, fp: 0, fn: 6, tn: 16,
|
|
23
|
+
precision: 1, recall: 0.5714, f1: 0.7273,
|
|
24
|
+
ci95: { precision: [0.6756, 1], recall: [0.3259, 0.7862], f1: [0.4706, 0.9091] },
|
|
25
|
+
},
|
|
26
|
+
expected_coverage: {
|
|
27
|
+
n: 29, tp: 14, fp: 0, fn: 0, tn: 15,
|
|
28
|
+
precision: 1, recall: 1, f1: 1,
|
|
29
|
+
ci95: { precision: [0.7847, 1], recall: [0.7847, 1], f1: [1, 1] },
|
|
30
|
+
},
|
|
31
|
+
keyword_overlap: {
|
|
32
|
+
n: 30, tp: 10, fp: 0, fn: 0, tn: 20,
|
|
33
|
+
precision: 1, recall: 1, f1: 1,
|
|
34
|
+
ci95: { precision: [0.7225, 1], recall: [0.7225, 1], f1: [1, 1] },
|
|
35
|
+
},
|
|
36
|
+
topic_consistency: {
|
|
37
|
+
n: 31, tp: 11, fp: 0, fn: 1, tn: 19,
|
|
38
|
+
precision: 1, recall: 0.9167, f1: 0.9565,
|
|
39
|
+
ci95: { precision: [0.7412, 1], recall: [0.6461, 0.9851], f1: [0.8333, 1] },
|
|
40
|
+
},
|
|
41
|
+
no_pii: {
|
|
42
|
+
n: 90, tp: 34, fp: 5, fn: 11, tn: 40,
|
|
43
|
+
precision: 0.8718, recall: 0.7556, f1: 0.8095,
|
|
44
|
+
ci95: { precision: [0.7329, 0.944], recall: [0.6133, 0.8576], f1: [0.7105, 0.8936] },
|
|
45
|
+
},
|
|
46
|
+
no_blocklist_words: {
|
|
47
|
+
n: 32, tp: 11, fp: 1, fn: 4, tn: 16,
|
|
48
|
+
precision: 0.9167, recall: 0.7333, f1: 0.8148,
|
|
49
|
+
ci95: { precision: [0.6461, 0.9851], recall: [0.4805, 0.891], f1: [0.6087, 0.9524] },
|
|
50
|
+
},
|
|
51
|
+
no_injection_patterns: {
|
|
52
|
+
n: 90, tp: 41, fp: 0, fn: 1, tn: 48,
|
|
53
|
+
precision: 1, recall: 0.9762, f1: 0.988,
|
|
54
|
+
ci95: { precision: [0.9143, 1], recall: [0.8768, 0.9958], f1: [0.96, 1] },
|
|
55
|
+
},
|
|
56
|
+
no_stub_output: {
|
|
57
|
+
n: 89, tp: 30, fp: 5, fn: 12, tn: 42,
|
|
58
|
+
precision: 0.8571, recall: 0.7143, f1: 0.7792,
|
|
59
|
+
ci95: { precision: [0.7062, 0.9374], recall: [0.5643, 0.8283], f1: [0.6667, 0.8736] },
|
|
60
|
+
},
|
|
61
|
+
no_hallucination_markers: {
|
|
62
|
+
n: 90, tp: 34, fp: 0, fn: 12, tn: 44,
|
|
63
|
+
precision: 1, recall: 0.7391, f1: 0.85,
|
|
64
|
+
ci95: { precision: [0.8985, 1], recall: [0.5974, 0.844], f1: [0.7576, 0.9213] },
|
|
65
|
+
},
|
|
66
|
+
no_silent_tool_failure: {
|
|
67
|
+
n: 30, tp: 13, fp: 0, fn: 1, tn: 16,
|
|
68
|
+
precision: 1, recall: 0.9286, f1: 0.963,
|
|
69
|
+
ci95: { precision: [0.7719, 1], recall: [0.6853, 0.9873], f1: [0.8667, 1] },
|
|
70
|
+
},
|
|
71
|
+
cost_under_threshold: {
|
|
72
|
+
n: 26, tp: 10, fp: 0, fn: 0, tn: 16,
|
|
73
|
+
precision: 1, recall: 1, f1: 1,
|
|
74
|
+
ci95: { precision: [0.7225, 1], recall: [0.7225, 1], f1: [1, 1] },
|
|
75
|
+
},
|
|
76
|
+
token_efficiency: {
|
|
77
|
+
n: 25, tp: 9, fp: 0, fn: 0, tn: 16,
|
|
78
|
+
precision: 1, recall: 1, f1: 1,
|
|
79
|
+
ci95: { precision: [0.7009, 1], recall: [0.7009, 1], f1: [1, 1] },
|
|
80
|
+
},
|
|
81
|
+
no_tool_loop: {
|
|
82
|
+
n: 28, tp: 12, fp: 0, fn: 0, tn: 16,
|
|
83
|
+
precision: 1, recall: 1, f1: 1,
|
|
84
|
+
ci95: { precision: [0.7575, 1], recall: [0.7575, 1], f1: [1, 1] },
|
|
85
|
+
},
|
|
86
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { QuestionId } from '../types/eval.js';
|
|
2
|
+
export type CapabilityQuestionId = QuestionId | 'better_or_worse' | 'where_and_why' | 'trusted';
|
|
3
|
+
export interface EvaluationQuestion {
|
|
4
|
+
id: CapabilityQuestionId;
|
|
5
|
+
/** The question in a reader's words. */
|
|
6
|
+
text: string;
|
|
7
|
+
/** What answers it: a rule (stamped on results), a tool (arc 5's run comparison) or a surface (dashboard, /proof). */
|
|
8
|
+
answeredBy: 'rule' | 'tool' | 'surface';
|
|
9
|
+
}
|
|
10
|
+
export declare const QUESTIONS: readonly EvaluationQuestion[];
|
|
11
|
+
/** The questions a rule may declare. */
|
|
12
|
+
export declare const RULE_QUESTION_IDS: readonly QuestionId[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const QUESTIONS = [
|
|
2
|
+
{ id: 'safe_output', text: 'Is the output safe to show — no leaked personal data or credentials, no injection, nothing the deployment prohibits?', answeredBy: 'rule' },
|
|
3
|
+
{ id: 'grounded', text: 'Is the output grounded in what the agent was given or read, rather than invented?', answeredBy: 'rule' },
|
|
4
|
+
{ id: 'complete', text: 'Did the agent produce a full answer rather than a stub, a fragment or a promise?', answeredBy: 'rule' },
|
|
5
|
+
{ id: 'relevant', text: 'Is the output on task — does it address what was asked?', answeredBy: 'rule' },
|
|
6
|
+
{ id: 'task_completed', text: 'Did the task actually complete, as opposed to reading as if it had?', answeredBy: 'rule' },
|
|
7
|
+
{ id: 'tool_use_correct', text: 'Did the agent act well — the right tools, valid arguments, no loops, failures acknowledged?', answeredBy: 'rule' },
|
|
8
|
+
{ id: 'within_budget', text: 'Did the run cost what the deployment allows, in money and tokens?', answeredBy: 'rule' },
|
|
9
|
+
{ id: 'better_or_worse', text: 'Is this agent better or worse than before, with an interval?', answeredBy: 'tool' },
|
|
10
|
+
{ id: 'where_and_why', text: 'Where does it fail, and why?', answeredBy: 'surface' },
|
|
11
|
+
{ id: 'trusted', text: 'Can this verdict be trusted — how often is each evaluator wrong?', answeredBy: 'surface' },
|
|
12
|
+
];
|
|
13
|
+
/** The questions a rule may declare. */
|
|
14
|
+
export const RULE_QUESTION_IDS = QUESTIONS.filter((q) => q.answeredBy === 'rule').map((q) => q.id);
|