oh-my-knowledge 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +63 -64
  2. package/README.zh.md +64 -63
  3. package/dist/src/analysis/report-diagnostics.d.ts +3 -2
  4. package/dist/src/analysis/report-diagnostics.d.ts.map +1 -1
  5. package/dist/src/analysis/report-diagnostics.js +107 -80
  6. package/dist/src/analysis/report-diagnostics.js.map +1 -1
  7. package/dist/src/analysis/sample-diagnostics.d.ts +4 -1
  8. package/dist/src/analysis/sample-diagnostics.d.ts.map +1 -1
  9. package/dist/src/analysis/sample-diagnostics.js +123 -29
  10. package/dist/src/analysis/sample-diagnostics.js.map +1 -1
  11. package/dist/src/authoring/evolver.d.ts +5 -0
  12. package/dist/src/authoring/evolver.d.ts.map +1 -1
  13. package/dist/src/authoring/evolver.js +20 -3
  14. package/dist/src/authoring/evolver.js.map +1 -1
  15. package/dist/src/cli/i18n-dict.d.ts +1 -1
  16. package/dist/src/cli/i18n-dict.d.ts.map +1 -1
  17. package/dist/src/cli/i18n-dict.js +28 -24
  18. package/dist/src/cli/i18n-dict.js.map +1 -1
  19. package/dist/src/cli/index.js +80 -66
  20. package/dist/src/cli/index.js.map +1 -1
  21. package/dist/src/cli/parse-run-config.d.ts.map +1 -1
  22. package/dist/src/cli/parse-run-config.js +4 -4
  23. package/dist/src/cli/parse-run-config.js.map +1 -1
  24. package/dist/src/cli/progress.d.ts +1 -0
  25. package/dist/src/cli/progress.d.ts.map +1 -1
  26. package/dist/src/cli/progress.js +8 -1
  27. package/dist/src/cli/progress.js.map +1 -1
  28. package/dist/src/eval-core/cache.d.ts +7 -5
  29. package/dist/src/eval-core/cache.d.ts.map +1 -1
  30. package/dist/src/eval-core/cache.js +11 -7
  31. package/dist/src/eval-core/cache.js.map +1 -1
  32. package/dist/src/eval-core/comparability.d.ts +11 -0
  33. package/dist/src/eval-core/comparability.d.ts.map +1 -0
  34. package/dist/src/eval-core/comparability.js +271 -0
  35. package/dist/src/eval-core/comparability.js.map +1 -0
  36. package/dist/src/eval-core/evaluation-execution.d.ts +4 -1
  37. package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
  38. package/dist/src/eval-core/evaluation-execution.js +25 -17
  39. package/dist/src/eval-core/evaluation-execution.js.map +1 -1
  40. package/dist/src/eval-core/evaluation-job.d.ts +2 -2
  41. package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
  42. package/dist/src/eval-core/evaluation-job.js +2 -2
  43. package/dist/src/eval-core/evaluation-job.js.map +1 -1
  44. package/dist/src/eval-core/evaluation-reporting.d.ts +3 -1
  45. package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
  46. package/dist/src/eval-core/evaluation-reporting.js +64 -4
  47. package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
  48. package/dist/src/eval-core/execution-strategy.js +2 -2
  49. package/dist/src/eval-core/execution-strategy.js.map +1 -1
  50. package/dist/src/eval-core/schema.d.ts.map +1 -1
  51. package/dist/src/eval-core/schema.js +13 -0
  52. package/dist/src/eval-core/schema.js.map +1 -1
  53. package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +111 -0
  54. package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -0
  55. package/dist/src/eval-workflows/batch-evaluation-workflow.js +215 -0
  56. package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -0
  57. package/dist/src/eval-workflows/evaluation-pipeline.d.ts +5 -3
  58. package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
  59. package/dist/src/eval-workflows/evaluation-pipeline.js +6 -5
  60. package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
  61. package/dist/src/eval-workflows/evaluation-preparation.d.ts +8 -6
  62. package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
  63. package/dist/src/eval-workflows/evaluation-preparation.js +8 -4
  64. package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
  65. package/dist/src/eval-workflows/run-evaluation.d.ts +20 -17
  66. package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
  67. package/dist/src/eval-workflows/run-evaluation.js +25 -15
  68. package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
  69. package/dist/src/executors/claude-cli.d.ts.map +1 -1
  70. package/dist/src/executors/claude-cli.js +11 -6
  71. package/dist/src/executors/claude-cli.js.map +1 -1
  72. package/dist/src/executors/codex-cli-trace.d.ts +10 -0
  73. package/dist/src/executors/codex-cli-trace.d.ts.map +1 -0
  74. package/dist/src/executors/codex-cli-trace.js +123 -0
  75. package/dist/src/executors/codex-cli-trace.js.map +1 -0
  76. package/dist/src/executors/codex-cli.d.ts +18 -0
  77. package/dist/src/executors/codex-cli.d.ts.map +1 -0
  78. package/dist/src/executors/codex-cli.js +254 -0
  79. package/dist/src/executors/codex-cli.js.map +1 -0
  80. package/dist/src/executors/codex-sdk.d.ts +18 -0
  81. package/dist/src/executors/codex-sdk.d.ts.map +1 -0
  82. package/dist/src/executors/codex-sdk.js +214 -0
  83. package/dist/src/executors/codex-sdk.js.map +1 -0
  84. package/dist/src/executors/gemini.d.ts.map +1 -1
  85. package/dist/src/executors/gemini.js +28 -24
  86. package/dist/src/executors/gemini.js.map +1 -1
  87. package/dist/src/executors/index.d.ts.map +1 -1
  88. package/dist/src/executors/index.js +7 -2
  89. package/dist/src/executors/index.js.map +1 -1
  90. package/dist/src/executors/runtime-fingerprint.d.ts +7 -0
  91. package/dist/src/executors/runtime-fingerprint.d.ts.map +1 -0
  92. package/dist/src/executors/runtime-fingerprint.js +277 -0
  93. package/dist/src/executors/runtime-fingerprint.js.map +1 -0
  94. package/dist/src/executors/script.d.ts.map +1 -1
  95. package/dist/src/executors/script.js +47 -55
  96. package/dist/src/executors/script.js.map +1 -1
  97. package/dist/src/executors/shared.d.ts +78 -1
  98. package/dist/src/executors/shared.d.ts.map +1 -1
  99. package/dist/src/executors/shared.js +203 -1
  100. package/dist/src/executors/shared.js.map +1 -1
  101. package/dist/src/grading/assertions.d.ts.map +1 -1
  102. package/dist/src/grading/assertions.js +18 -3
  103. package/dist/src/grading/assertions.js.map +1 -1
  104. package/dist/src/grading/index.d.ts.map +1 -1
  105. package/dist/src/grading/index.js +11 -0
  106. package/dist/src/grading/index.js.map +1 -1
  107. package/dist/src/grading/judge.d.ts.map +1 -1
  108. package/dist/src/grading/judge.js +75 -6
  109. package/dist/src/grading/judge.js.map +1 -1
  110. package/dist/src/inputs/skill-loader.d.ts +1 -1
  111. package/dist/src/inputs/skill-loader.d.ts.map +1 -1
  112. package/dist/src/inputs/skill-loader.js +1 -1
  113. package/dist/src/inputs/skill-loader.js.map +1 -1
  114. package/dist/src/renderer/html-renderer.d.ts +5 -4
  115. package/dist/src/renderer/html-renderer.d.ts.map +1 -1
  116. package/dist/src/renderer/html-renderer.js +217 -93
  117. package/dist/src/renderer/html-renderer.js.map +1 -1
  118. package/dist/src/renderer/layout.d.ts +2 -1
  119. package/dist/src/renderer/layout.d.ts.map +1 -1
  120. package/dist/src/renderer/layout.js +30 -42
  121. package/dist/src/renderer/layout.js.map +1 -1
  122. package/dist/src/renderer/summary.d.ts +3 -3
  123. package/dist/src/renderer/summary.d.ts.map +1 -1
  124. package/dist/src/renderer/summary.js +232 -42
  125. package/dist/src/renderer/summary.js.map +1 -1
  126. package/dist/src/renderer/trends.d.ts.map +1 -1
  127. package/dist/src/renderer/trends.js +5 -3
  128. package/dist/src/renderer/trends.js.map +1 -1
  129. package/dist/src/server/report-server.js +4 -4
  130. package/dist/src/server/report-server.js.map +1 -1
  131. package/dist/src/server/report-store.d.ts +7 -5
  132. package/dist/src/server/report-store.d.ts.map +1 -1
  133. package/dist/src/server/report-store.js +39 -11
  134. package/dist/src/server/report-store.js.map +1 -1
  135. package/dist/src/types/eval.d.ts +4 -2
  136. package/dist/src/types/eval.d.ts.map +1 -1
  137. package/dist/src/types/executor.d.ts +5 -0
  138. package/dist/src/types/executor.d.ts.map +1 -1
  139. package/dist/src/types/judge.d.ts +10 -0
  140. package/dist/src/types/judge.d.ts.map +1 -1
  141. package/dist/src/types/report.d.ts +120 -24
  142. package/dist/src/types/report.d.ts.map +1 -1
  143. package/dist/src/types/storage.d.ts +7 -7
  144. package/dist/src/types/storage.d.ts.map +1 -1
  145. package/package.json +2 -1
  146. package/dist/src/eval-workflows/each-evaluation-workflow.d.ts +0 -153
  147. package/dist/src/eval-workflows/each-evaluation-workflow.d.ts.map +0 -1
  148. package/dist/src/eval-workflows/each-evaluation-workflow.js +0 -178
  149. package/dist/src/eval-workflows/each-evaluation-workflow.js.map +0 -1
  150. package/dist/src/executors/openai-cli.d.ts +0 -3
  151. package/dist/src/executors/openai-cli.d.ts.map +0 -1
  152. package/dist/src/executors/openai-cli.js +0 -60
  153. package/dist/src/executors/openai-cli.js.map +0 -1
@@ -3,11 +3,10 @@
3
3
  */
4
4
  import { normalizeCapability } from './sample-diagnostics.js';
5
5
  /**
6
- * Analyze an evaluation report and produce insights + suggestions.
6
+ * Analyze an evaluation report and produce structured insights.
7
7
  */
8
8
  export function analyzeResults(report, opts = {}) {
9
9
  const insights = [];
10
- const suggestions = [];
11
10
  const variants = report.meta?.variants || [];
12
11
  const results = report.results || [];
13
12
  // sampleQuality aggregate is built from sample metadata only,
@@ -17,30 +16,32 @@ export function analyzeResults(report, opts = {}) {
17
16
  ? buildSampleQualityAggregate(opts.samples)
18
17
  : undefined;
19
18
  if (results.length === 0 || variants.length < 2) {
20
- return { insights, suggestions, ...(sampleQuality && { sampleQuality }) };
19
+ return { insights, ...(sampleQuality && { sampleQuality }) };
21
20
  }
22
21
  // 1. Low-discrimination assertions
23
- detectLowDiscrimination(results, variants, insights, suggestions);
22
+ detectLowDiscrimination(results, variants, insights);
24
23
  // 2. Uniform scores across variants
25
- detectUniformScores(results, variants, insights, suggestions);
24
+ detectUniformScores(results, variants, insights);
26
25
  // 3. All-pass / all-fail assertions
27
- detectAllPassFail(results, variants, insights, suggestions);
26
+ detectAllPassFail(results, variants, insights);
28
27
  // 4. High-cost samples
29
28
  detectHighCost(results, variants, insights);
30
29
  // 5. Efficiency gap (turns & cost)
31
- detectEfficiencyGap(report, variants, insights, suggestions);
30
+ detectEfficiencyGap(report, variants, insights);
32
31
  // 6. Agent tool usage patterns
33
- detectToolPatterns(report, variants, insights, suggestions);
32
+ detectToolPatterns(report, variants, insights);
34
33
  // 7. Tooling / permission issues
35
- detectToolPermissionIssues(results, variants, insights, suggestions);
34
+ detectToolPermissionIssues(results, variants, insights);
36
35
  // 8. Trace integrity
37
- detectTraceIntegrity(report, variants, insights, suggestions);
36
+ detectTraceIntegrity(report, variants, insights);
38
37
  // 9. Agent assertion discrimination
39
- detectAgentAssertionDiscrimination(results, variants, insights, suggestions);
38
+ detectAgentAssertionDiscrimination(results, variants, insights);
40
39
  // 10. Suggest --repeat when score variance is high and no repeat data
41
- detectNeedRepeat(report, results, variants, insights, suggestions);
42
- const summary = generateSummary(report, variants);
43
- return { summary, insights, suggestions, ...(sampleQuality && { sampleQuality }) };
40
+ detectNeedRepeat(report, results, variants, insights);
41
+ return {
42
+ insights,
43
+ ...(sampleQuality && { sampleQuality }),
44
+ };
44
45
  }
45
46
  /**
46
47
  * Build sample design science aggregate from sample metadata.
@@ -128,7 +129,8 @@ export function buildSampleQualityAggregate(samples) {
128
129
  sampleCountWithProvenance: withProvenance,
129
130
  };
130
131
  }
131
- function generateSummary(report, variants) {
132
+ export function generateAnalysisSummary(report, lang = 'zh') {
133
+ const variants = report.meta?.variants || [];
132
134
  if (variants.length < 2)
133
135
  return undefined;
134
136
  const stats = report.summary || {};
@@ -162,15 +164,25 @@ function generateSummary(report, variants) {
162
164
  if (scoreDiff != null && tScore != null && cScore != null) {
163
165
  const absDiff = Math.abs(scoreDiff);
164
166
  if (absDiff < 0.1) {
165
- lines.push(`【结论】${test} 与 ${control} 综合得分持平(${tScore.toFixed(2)} vs ${cScore.toFixed(2)}),质量无显著差异。`);
167
+ lines.push(lang === 'zh'
168
+ ? `【结论】${test} 与 ${control} 综合得分持平(${tScore.toFixed(2)} vs ${cScore.toFixed(2)}),质量无显著差异。`
169
+ : `【Conclusion】${test} and ${control} are effectively tied on composite score (${tScore.toFixed(2)} vs ${cScore.toFixed(2)}); no clear quality difference.`);
166
170
  }
167
171
  else if (scoreDiff > 0) {
168
- const tag = absDiff > 0.3 ? '明显领先' : '略优';
169
- lines.push(`【结论】${test} 综合得分 ${tag}(${tScore.toFixed(2)} vs ${cScore.toFixed(2)},+${scoreDiff.toFixed(2)})。`);
172
+ const tag = lang === 'zh'
173
+ ? (absDiff > 0.3 ? '明显领先' : '略优')
174
+ : (absDiff > 0.3 ? 'clearly ahead' : 'slightly ahead');
175
+ lines.push(lang === 'zh'
176
+ ? `【结论】${test} 综合得分 ${tag}(${tScore.toFixed(2)} vs ${cScore.toFixed(2)},+${scoreDiff.toFixed(2)})。`
177
+ : `【Conclusion】${test} is ${tag} on composite score (${tScore.toFixed(2)} vs ${cScore.toFixed(2)}, +${scoreDiff.toFixed(2)}).`);
170
178
  }
171
179
  else {
172
- const tag = absDiff > 0.3 ? '明显落后' : '略低';
173
- lines.push(`【结论】${test} 综合得分 ${tag}(${tScore.toFixed(2)} vs ${cScore.toFixed(2)},${scoreDiff.toFixed(2)})。`);
180
+ const tag = lang === 'zh'
181
+ ? (absDiff > 0.3 ? '明显落后' : '略低')
182
+ : (absDiff > 0.3 ? 'clearly behind' : 'slightly lower');
183
+ lines.push(lang === 'zh'
184
+ ? `【结论】${test} 综合得分 ${tag}(${tScore.toFixed(2)} vs ${cScore.toFixed(2)},${scoreDiff.toFixed(2)})。`
185
+ : `【Conclusion】${test} is ${tag} on composite score (${tScore.toFixed(2)} vs ${cScore.toFixed(2)}, ${scoreDiff.toFixed(2)}).`);
174
186
  }
175
187
  }
176
188
  // ── Section 2: Key differentiators with concrete numbers ──
@@ -183,23 +195,31 @@ function generateSummary(report, variants) {
183
195
  // Both same — don't mention (e.g. both 5/5 is not interesting)
184
196
  }
185
197
  else if (tFact > cFact) {
186
- diffs.push(`事实性 ${tFact.toFixed(1)} vs ${cFact.toFixed(1)}(↑${(tFact - cFact).toFixed(1)})`);
198
+ diffs.push(lang === 'zh'
199
+ ? `事实性 ${tFact.toFixed(1)} vs ${cFact.toFixed(1)}(↑${(tFact - cFact).toFixed(1)})`
200
+ : `Fact score ${tFact.toFixed(1)} vs ${cFact.toFixed(1)} (up ${(tFact - cFact).toFixed(1)})`);
187
201
  }
188
202
  else {
189
- diffs.push(`事实性 ${tFact.toFixed(1)} vs ${cFact.toFixed(1)}(↓${(cFact - tFact).toFixed(1)})`);
203
+ diffs.push(lang === 'zh'
204
+ ? `事实性 ${tFact.toFixed(1)} vs ${cFact.toFixed(1)}(↓${(cFact - tFact).toFixed(1)})`
205
+ : `Fact score ${tFact.toFixed(1)} vs ${cFact.toFixed(1)} (down ${(cFact - tFact).toFixed(1)})`);
190
206
  }
191
207
  }
192
208
  const tBehavior = ts.avgBehaviorScore;
193
209
  const cBehavior = cs.avgBehaviorScore;
194
210
  if (tBehavior != null && cBehavior != null && Math.abs(tBehavior - cBehavior) > 0.3) {
195
211
  const dir = tBehavior > cBehavior ? '↑' : '↓';
196
- diffs.push(`行为合规 ${tBehavior.toFixed(1)} vs ${cBehavior.toFixed(1)}(${dir}${Math.abs(tBehavior - cBehavior).toFixed(1)})`);
212
+ diffs.push(lang === 'zh'
213
+ ? `行为合规 ${tBehavior.toFixed(1)} vs ${cBehavior.toFixed(1)}(${dir}${Math.abs(tBehavior - cBehavior).toFixed(1)})`
214
+ : `Behavior score ${tBehavior.toFixed(1)} vs ${cBehavior.toFixed(1)} (${dir === '↑' ? 'up' : 'down'} ${Math.abs(tBehavior - cBehavior).toFixed(1)})`);
197
215
  }
198
216
  const tJudge = ts.avgJudgeScore;
199
217
  const cJudge = cs.avgJudgeScore;
200
218
  if (tJudge != null && cJudge != null && Math.abs(tJudge - cJudge) >= 0.5) {
201
219
  const dir = tJudge > cJudge ? '↑' : '↓';
202
- diffs.push(`LLM 评价 ${tJudge.toFixed(1)} vs ${cJudge.toFixed(1)}(${dir}${Math.abs(tJudge - cJudge).toFixed(1)})`);
220
+ diffs.push(lang === 'zh'
221
+ ? `LLM 评价 ${tJudge.toFixed(1)} vs ${cJudge.toFixed(1)}(${dir}${Math.abs(tJudge - cJudge).toFixed(1)})`
222
+ : `LLM judge ${tJudge.toFixed(1)} vs ${cJudge.toFixed(1)} (${dir === '↑' ? 'up' : 'down'} ${Math.abs(tJudge - cJudge).toFixed(1)})`);
203
223
  }
204
224
  // Efficiency — with percentages
205
225
  const cTurns = cs.avgNumTurns;
@@ -207,10 +227,14 @@ function generateSummary(report, variants) {
207
227
  if (cTurns > 0 && tTurns > 0 && cTurns !== tTurns) {
208
228
  const pct = Math.abs(((tTurns - cTurns) / cTurns) * 100).toFixed(0);
209
229
  if (tTurns < cTurns) {
210
- diffs.push(`轮次 ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)}(↓${pct}%,路径更高效)`);
230
+ diffs.push(lang === 'zh'
231
+ ? `轮次 ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)}(↓${pct}%,路径更高效)`
232
+ : `Turns ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)} (down ${pct}%, more efficient path)`);
211
233
  }
212
234
  else {
213
- diffs.push(`轮次 ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)}(↑${pct}%)`);
235
+ diffs.push(lang === 'zh'
236
+ ? `轮次 ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)}(↑${pct}%)`
237
+ : `Turns ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)} (up ${pct}%)`);
214
238
  }
215
239
  }
216
240
  // Cost — with percentages
@@ -219,10 +243,14 @@ function generateSummary(report, variants) {
219
243
  if (cCost > 0 && tCost > 0 && Math.abs(tCost - cCost) / cCost > 0.05) {
220
244
  const pct = Math.abs(((tCost - cCost) / cCost) * 100).toFixed(0);
221
245
  if (tCost < cCost) {
222
- diffs.push(`单用例成本 $${tCost.toFixed(4)} vs $${cCost.toFixed(4)}(↓${pct}%)`);
246
+ diffs.push(lang === 'zh'
247
+ ? `单用例成本 $${tCost.toFixed(4)} vs $${cCost.toFixed(4)}(↓${pct}%)`
248
+ : `Cost per sample $${tCost.toFixed(4)} vs $${cCost.toFixed(4)} (down ${pct}%)`);
223
249
  }
224
250
  else {
225
- diffs.push(`单用例成本 $${tCost.toFixed(4)} vs $${cCost.toFixed(4)}(↑${pct}%)`);
251
+ diffs.push(lang === 'zh'
252
+ ? `单用例成本 $${tCost.toFixed(4)} vs $${cCost.toFixed(4)}(↑${pct}%)`
253
+ : `Cost per sample $${tCost.toFixed(4)} vs $${cCost.toFixed(4)} (up ${pct}%)`);
226
254
  }
227
255
  }
228
256
  // Duration — with percentages
@@ -233,20 +261,28 @@ function generateSummary(report, variants) {
233
261
  const tSec = (tDur / 1000).toFixed(1);
234
262
  const cSec = (cDur / 1000).toFixed(1);
235
263
  if (tDur < cDur) {
236
- diffs.push(`耗时 ${tSec}s vs ${cSec}s(↓${pct}%)`);
264
+ diffs.push(lang === 'zh'
265
+ ? `耗时 ${tSec}s vs ${cSec}s(↓${pct}%)`
266
+ : `Duration ${tSec}s vs ${cSec}s (down ${pct}%)`);
237
267
  }
238
268
  else {
239
- diffs.push(`耗时 ${tSec}s vs ${cSec}s(↑${pct}%)`);
269
+ diffs.push(lang === 'zh'
270
+ ? `耗时 ${tSec}s vs ${cSec}s(↑${pct}%)`
271
+ : `Duration ${tSec}s vs ${cSec}s (up ${pct}%)`);
240
272
  }
241
273
  }
242
274
  // Tool usage difference
243
275
  const tTools = ts.avgToolCalls;
244
276
  const cTools = cs.avgToolCalls;
245
277
  if (tTools != null && cTools != null && Math.abs(tTools - cTools) > 0.5) {
246
- diffs.push(`工具调用 ${tTools.toFixed(1)} vs ${cTools.toFixed(1)} 次`);
278
+ diffs.push(lang === 'zh'
279
+ ? `工具调用 ${tTools.toFixed(1)} vs ${cTools.toFixed(1)} 次`
280
+ : `Tool calls ${tTools.toFixed(1)} vs ${cTools.toFixed(1)}`);
247
281
  }
248
282
  if (diffs.length > 0) {
249
- lines.push(`【关键差异】${diffs.join(';')}。`);
283
+ lines.push(lang === 'zh'
284
+ ? `【关键差异】${diffs.join(';')}。`
285
+ : `【Key differences】${diffs.join('; ')}.`);
250
286
  }
251
287
  // ── Section 3: Synthesis — connect the dots ──
252
288
  const synthesis = [];
@@ -254,22 +290,32 @@ function generateSummary(report, variants) {
254
290
  if (scoreDiff != null && cCost > 0 && tCost > 0) {
255
291
  const costRatio = (tCost - cCost) / cCost;
256
292
  if (Math.abs(scoreDiff) < 0.1 && costRatio < -0.15) {
257
- synthesis.push(`质量相当但成本显著降低,${test} 是更经济的选择`);
293
+ synthesis.push(lang === 'zh'
294
+ ? `质量相当但成本显著降低,${test} 是更经济的选择`
295
+ : `similar quality with materially lower cost; ${test} is the more economical choice`);
258
296
  }
259
297
  else if (scoreDiff > 0.1 && costRatio > 0.15) {
260
- synthesis.push(`质量提升伴随成本上涨,需权衡投入产出比`);
298
+ synthesis.push(lang === 'zh'
299
+ ? '质量提升伴随成本上涨,需权衡投入产出比'
300
+ : 'quality improved, but cost also increased; weigh the return on investment');
261
301
  }
262
302
  else if (scoreDiff > 0.1 && costRatio <= 0) {
263
- synthesis.push(`质量与成本双优,${test} 全面领先`);
303
+ synthesis.push(lang === 'zh'
304
+ ? `质量与成本双优,${test} 全面领先`
305
+ : `${test} leads on both quality and cost`);
264
306
  }
265
307
  else if (scoreDiff < -0.1 && costRatio < -0.15) {
266
- synthesis.push(`成本虽降但质量下滑,需评估质量底线是否可接受`);
308
+ synthesis.push(lang === 'zh'
309
+ ? '成本虽降但质量下滑,需评估质量底线是否可接受'
310
+ : 'cost decreased, but quality dropped; check whether the quality floor is still acceptable');
267
311
  }
268
312
  }
269
313
  // Tool success rate concern
270
314
  const tToolSuccess = ts.toolSuccessRate;
271
315
  if (tToolSuccess != null && tToolSuccess < 1 && tToolSuccess >= 0.5) {
272
- synthesis.push(`${test} 存在工具调用失败(成功率 ${(tToolSuccess * 100).toFixed(0)}%),可能拉低了得分`);
316
+ synthesis.push(lang === 'zh'
317
+ ? `${test} 存在工具调用失败(成功率 ${(tToolSuccess * 100).toFixed(0)}%),可能拉低了得分`
318
+ : `${test} had tool-call failures (${(tToolSuccess * 100).toFixed(0)}% success), which may have pulled the score down`);
273
319
  }
274
320
  // Variance / significance from --repeat
275
321
  if (report.variance) {
@@ -282,23 +328,33 @@ function generateSummary(report, variants) {
282
328
  const primaryVal = es.primary === 'g' ? es.hedgesG : es.cohensD;
283
329
  const secondaryLabel = es.primary === 'g' ? 'd' : 'g';
284
330
  const secondaryVal = es.primary === 'g' ? es.cohensD : es.hedgesG;
285
- esText = `,效应量 ${es.primary}=${primaryVal.toFixed(2)}(${es.magnitude},${secondaryLabel}=${secondaryVal.toFixed(2)})`;
331
+ esText = lang === 'zh'
332
+ ? `,效应量 ${es.primary}=${primaryVal.toFixed(2)}(${es.magnitude},${secondaryLabel}=${secondaryVal.toFixed(2)})`
333
+ : `, effect size ${es.primary}=${primaryVal.toFixed(2)} (${es.magnitude}, ${secondaryLabel}=${secondaryVal.toFixed(2)})`;
286
334
  }
287
335
  if (comp.significant) {
288
- synthesis.push(`${v.runs} 轮重复评测显示差异具有统计显著性(t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}, p<0.05${esText})`);
336
+ synthesis.push(lang === 'zh'
337
+ ? `${v.runs} 轮重复评测显示差异具有统计显著性(t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}, p<0.05${esText})`
338
+ : `${v.runs} repeated runs show a statistically significant difference (t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}, p<0.05${esText})`);
289
339
  }
290
340
  else {
291
- synthesis.push(`${v.runs} 轮重复评测未达到统计显著性(t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}${esText}),差异可能源于随机波动`);
341
+ synthesis.push(lang === 'zh'
342
+ ? `${v.runs} 轮重复评测未达到统计显著性(t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}${esText}),差异可能源于随机波动`
343
+ : `${v.runs} repeated runs did not reach statistical significance (t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}${esText}); the gap may be random variation`);
292
344
  }
293
345
  }
294
346
  }
295
347
  const testVd = v.perVariant[test];
296
348
  if (testVd) {
297
- synthesis.push(`${test} 跨轮 95% 置信区间 [${testVd.lower.toFixed(2)}, ${testVd.upper.toFixed(2)}]`);
349
+ synthesis.push(lang === 'zh'
350
+ ? `${test} 跨轮 95% 置信区间 [${testVd.lower.toFixed(2)}, ${testVd.upper.toFixed(2)}]`
351
+ : `${test} cross-run 95% confidence interval [${testVd.lower.toFixed(2)}, ${testVd.upper.toFixed(2)}]`);
298
352
  }
299
353
  }
300
354
  if (synthesis.length > 0) {
301
- lines.push(`【综合洞察】${synthesis.join(';')}。`);
355
+ lines.push(lang === 'zh'
356
+ ? `【综合洞察】${synthesis.join(';')}。`
357
+ : `【Synthesis】${synthesis.join('; ')}.`);
302
358
  }
303
359
  // Caveats and recommendations are handled by the issues table below,
304
360
  // so the summary focuses only on verdict + differentiators + synthesis.
@@ -336,7 +392,7 @@ function collectAgentAssertionTypes(results, variants) {
336
392
  }
337
393
  return types;
338
394
  }
339
- function detectLowDiscrimination(results, variants, insights, suggestions) {
395
+ function detectLowDiscrimination(results, variants, insights) {
340
396
  // For each sample, check if all variants have the same assertion pass/fail pattern
341
397
  const allPassedPatterns = [];
342
398
  const allFailedPatterns = [];
@@ -375,22 +431,18 @@ function detectLowDiscrimination(results, variants, insights, suggestions) {
375
431
  insights.push({
376
432
  type: 'low_discrimination_all_passed',
377
433
  severity: 'info',
378
- message: `${allPassedPatterns.length} 个断言所有变体均通过,baseline 也能答对,区分度低`,
379
434
  details: allPassedPatterns,
380
435
  });
381
- suggestions.push('对于所有变体均通过的断言,考虑替换为检测 skill 文档中独有细节的断言(如特定参数名、配置值)');
382
436
  }
383
437
  if (allFailedPatterns.length > 0) {
384
438
  insights.push({
385
439
  type: 'low_discrimination_all_failed',
386
440
  severity: 'warning',
387
- message: `${allFailedPatterns.length} 个断言所有变体均失败,断言可能过于严格或存在配置错误`,
388
441
  details: allFailedPatterns,
389
442
  });
390
- suggestions.push('对于所有变体均失败的断言,检查断言条件是否正确,或降低匹配要求');
391
443
  }
392
444
  }
393
- function detectUniformScores(results, variants, insights, suggestions) {
445
+ function detectUniformScores(results, variants, insights) {
394
446
  let uniformCount = 0;
395
447
  const uniformSamples = [];
396
448
  for (const r of results) {
@@ -410,15 +462,11 @@ function detectUniformScores(results, variants, insights, suggestions) {
410
462
  insights.push({
411
463
  type: 'uniform_scores',
412
464
  severity: uniformCount === results.length ? 'warning' : 'info',
413
- message: `${uniformCount}/${results.length} 个用例在各变体间分差 < 0.5,区分度较低`,
414
465
  details: uniformSamples,
415
466
  });
416
- if (uniformCount === results.length) {
417
- suggestions.push('所有用例分数差异都很小,建议增加更有挑战性的测试用例或更严格的评分标准');
418
- }
419
467
  }
420
468
  }
421
- function detectAllPassFail(results, variants, insights, suggestions) {
469
+ function detectAllPassFail(results, variants, insights) {
422
470
  let allPassCount = 0;
423
471
  let allFailCount = 0;
424
472
  for (const r of results) {
@@ -437,22 +485,18 @@ function detectAllPassFail(results, variants, insights, suggestions) {
437
485
  insights.push({
438
486
  type: 'all_pass',
439
487
  severity: 'warning',
440
- message: '所有断言在所有变体上全部通过,断言可能过于宽松',
441
488
  details: { allPassCount },
442
489
  });
443
- suggestions.push('所有断言都通过了,考虑增加更严格的断言来更好地区分变体质量');
444
490
  }
445
491
  if (allFailCount === totalEntries && totalEntries > 0) {
446
492
  insights.push({
447
493
  type: 'all_fail',
448
494
  severity: 'error',
449
- message: '所有断言在所有变体上全部失败,请检查断言配置是否正确',
450
495
  details: { allFailCount },
451
496
  });
452
- suggestions.push('所有断言都失败了,请检查评测配置是否有误');
453
497
  }
454
498
  }
455
- function detectNeedRepeat(report, results, variants, insights, suggestions) {
499
+ function detectNeedRepeat(report, results, variants, insights) {
456
500
  // Skip if already has variance data (i.e. --repeat was used)
457
501
  if (report.variance)
458
502
  return;
@@ -466,15 +510,13 @@ function detectNeedRepeat(report, results, variants, insights, suggestions) {
466
510
  insights.push({
467
511
  type: 'suggest_repeat',
468
512
  severity: 'info',
469
- message: `${v} 的分数跨度较大(${s.minCompositeScore}~${s.maxCompositeScore}),建议使用 --repeat 3 多轮评测以获取方差分析和统计显著性检验`,
470
513
  details: { variant: v, min: s.minCompositeScore, max: s.maxCompositeScore, spread },
471
514
  });
472
- suggestions.push(`运行 omk bench run --repeat 3 获取置信区间和 t 检验结果,量化变体间差异的统计显著性`);
473
515
  return; // Only suggest once
474
516
  }
475
517
  }
476
518
  }
477
- function detectEfficiencyGap(report, variants, insights, suggestions) {
519
+ function detectEfficiencyGap(report, variants, insights) {
478
520
  if (variants.length < 2)
479
521
  return;
480
522
  const summary = report.summary || {};
@@ -515,14 +557,12 @@ function detectEfficiencyGap(report, variants, insights, suggestions) {
515
557
  insights.push({
516
558
  type: 'efficiency_gap',
517
559
  severity: 'info',
518
- message: details.join(';'),
519
560
  details: { baseline: variants[0], variant: variants[i], baseTurns, otherTurns, baseCost, otherCost },
520
561
  });
521
- suggestions.push(`${variants[i]} 在效率维度与 ${variants[0]} 存在显著差异,这对导航型 Skill 是重要的价值体现`);
522
562
  }
523
563
  }
524
564
  }
525
- function detectToolPatterns(report, variants, insights, suggestions) {
565
+ function detectToolPatterns(report, variants, insights) {
526
566
  const summary = report.summary || {};
527
567
  const hasTools = variants.some((v) => summary[v]?.avgToolCalls != null && summary[v].avgToolCalls > 0);
528
568
  if (!hasTools)
@@ -537,10 +577,8 @@ function detectToolPatterns(report, variants, insights, suggestions) {
537
577
  insights.push({
538
578
  type: 'low_tool_success_rate',
539
579
  severity: 'warning',
540
- message: `${v} 的工具调用成功率仅 ${(s.toolSuccessRate * 100).toFixed(0)}%,可能存在工具选择或参数问题`,
541
580
  details: { variant: v, toolSuccessRate: s.toolSuccessRate, avgToolCalls: s.avgToolCalls },
542
581
  });
543
- suggestions.push(`检查 ${v} 的工具调用失败模式,考虑在 skill 中增加工具使用指导`);
544
582
  }
545
583
  }
546
584
  // Compare tool counts between variants
@@ -555,16 +593,13 @@ function detectToolPatterns(report, variants, insights, suggestions) {
555
593
  insights.push({
556
594
  type: 'tool_count_gap',
557
595
  severity: 'info',
558
- message: diff > 0
559
- ? `${variants[i]} 平均多调用 ${diff.toFixed(1)} 次工具(${other.avgToolCalls} vs ${base.avgToolCalls})`
560
- : `${variants[i]} 平均少调用 ${Math.abs(diff).toFixed(1)} 次工具(${other.avgToolCalls} vs ${base.avgToolCalls})`,
561
596
  details: { baseline: variants[0], variant: variants[i], baseTools: base.avgToolCalls, otherTools: other.avgToolCalls },
562
597
  });
563
598
  }
564
599
  }
565
600
  }
566
601
  }
567
- function detectToolPermissionIssues(results, variants, insights, suggestions) {
602
+ function detectToolPermissionIssues(results, variants, insights) {
568
603
  const permissionErrors = [];
569
604
  for (const result of results) {
570
605
  for (const variant of variants) {
@@ -589,12 +624,10 @@ function detectToolPermissionIssues(results, variants, insights, suggestions) {
589
624
  insights.push({
590
625
  type: 'tool_permission_error',
591
626
  severity: 'warning',
592
- message: `检测到 ${permissionErrors.length} 次工具权限错误,实验结论可能被环境问题污染`,
593
627
  details: permissionErrors.slice(0, 10),
594
628
  });
595
- suggestions.push('先处理工具权限错误,再解读 agent 分数差异;若是 Glob/rg 权限问题,优先避免在控制实验中依赖该工具');
596
629
  }
597
- function detectTraceIntegrity(report, variants, insights, suggestions) {
630
+ function detectTraceIntegrity(report, variants, insights) {
598
631
  const summary = report.summary || {};
599
632
  const agentAssertionTypes = collectAgentAssertionTypes(report.results || [], variants);
600
633
  const needsTraceHeavyCoverage = [...agentAssertionTypes].some((type) => TRACE_HEAVY_AGENT_ASSERTION_TYPES.has(type));
@@ -617,13 +650,11 @@ function detectTraceIntegrity(report, variants, insights, suggestions) {
617
650
  insights.push({
618
651
  type: 'trace_integrity_gap',
619
652
  severity: 'warning',
620
- message: `${weakCoverage.length} 个 variant 的 trace 覆盖率低于 75%,报告可能不足以解释 agent 行为差异`,
621
653
  details: weakCoverage,
622
654
  });
623
- suggestions.push('优先补齐 turns、toolCalls、timing、full output 的采集与落盘,确保报告能解释工具路径和错误恢复过程');
624
655
  }
625
656
  }
626
- function detectAgentAssertionDiscrimination(results, variants, insights, suggestions) {
657
+ function detectAgentAssertionDiscrimination(results, variants, insights) {
627
658
  const assertionTypes = collectAgentAssertionTypes(results, variants);
628
659
  const hasTraceHeavyAssertions = [...assertionTypes].some((type) => TRACE_HEAVY_AGENT_ASSERTION_TYPES.has(type));
629
660
  if (!hasTraceHeavyAssertions)
@@ -672,7 +703,6 @@ function detectAgentAssertionDiscrimination(results, variants, insights, suggest
672
703
  insights.push({
673
704
  type: 'agent_assertion_discrimination_low',
674
705
  severity: 'warning',
675
- message: `agent 断言区分度偏低,只有 ${(discriminationRate * 100).toFixed(0)}% 的断言真正拉开了变体差异`,
676
706
  details: {
677
707
  total: evaluated.length,
678
708
  discriminative,
@@ -681,13 +711,11 @@ function detectAgentAssertionDiscrimination(results, variants, insights, suggest
681
711
  examples: evaluated.slice(0, 10),
682
712
  },
683
713
  });
684
- suggestions.push('重写 agent 断言时,优先约束工具路径、关键文件读取和 turns 上限,避免大量“全过”或“全挂”的弱断言');
685
714
  }
686
715
  else {
687
716
  insights.push({
688
717
  type: 'agent_assertion_discrimination_ok',
689
718
  severity: 'info',
690
- message: `agent 断言区分度达标,${(discriminationRate * 100).toFixed(0)}% 的断言能区分变体差异`,
691
719
  details: {
692
720
  total: evaluated.length,
693
721
  discriminative,
@@ -716,7 +744,6 @@ function detectHighCost(results, variants, insights) {
716
744
  insights.push({
717
745
  type: 'high_cost_sample',
718
746
  severity: 'info',
719
- message: `${expensive.length} 个用例成本显著高于平均值 (>${(avg * 2).toFixed(4)} USD)`,
720
747
  details: expensive,
721
748
  });
722
749
  }
@@ -1 +1 @@
1
- {"version":3,"file":"report-diagnostics.js","sourceRoot":"","sources":["../../../src/analysis/report-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-diagnostics.js","sourceRoot":"","sources":["../../../src/analysis/report-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,6 @@ export interface SampleIssue {
29
29
  sample_id: string;
30
30
  severity: 'error' | 'warning' | 'info';
31
31
  kind: SampleIssueKind;
32
- message: string;
33
32
  /** Minimal evidence to make the issue actionable. */
34
33
  evidence: Record<string, unknown>;
35
34
  }
@@ -73,10 +72,14 @@ export declare function diagnoseSamples(report: Report, options?: DiagnoseOption
73
72
  * `api-selection`, `apiSelection`, `API_Selection` 都归到 `apiselection`。
74
73
  * 让 capability_thin / capabilityCoverage 不受拼写风格差异影响。 */
75
74
  export declare function normalizeCapability(raw: string): string;
75
+ type DiagnosticLang = 'zh' | 'en';
76
+ export declare function formatSampleIssue(issue: SampleIssue, lang?: DiagnosticLang): string;
76
77
  /**
77
78
  * Plain-text formatter for `omk bench diagnose <reportId>`.
78
79
  */
79
80
  export declare function formatSampleDiagnostics(diag: SampleDiagnosticReport, options?: {
80
81
  topN?: number;
82
+ lang?: DiagnosticLang;
81
83
  }): string;
84
+ export {};
82
85
  //# sourceMappingURL=sample-diagnostics.d.ts.map