oh-my-knowledge 0.23.0 → 0.25.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 (196) hide show
  1. package/README.md +146 -84
  2. package/README.zh.md +144 -83
  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/analysis/saturation.d.ts +2 -2
  12. package/dist/src/analysis/saturation.js +2 -2
  13. package/dist/src/authoring/evolver.d.ts +12 -4
  14. package/dist/src/authoring/evolver.d.ts.map +1 -1
  15. package/dist/src/authoring/evolver.js +35 -10
  16. package/dist/src/authoring/evolver.js.map +1 -1
  17. package/dist/src/cli/i18n-dict.d.ts +1 -1
  18. package/dist/src/cli/i18n-dict.d.ts.map +1 -1
  19. package/dist/src/cli/i18n-dict.js +241 -64
  20. package/dist/src/cli/i18n-dict.js.map +1 -1
  21. package/dist/src/cli/index.js +267 -152
  22. package/dist/src/cli/index.js.map +1 -1
  23. package/dist/src/cli/parse-run-config.d.ts +32 -9
  24. package/dist/src/cli/parse-run-config.d.ts.map +1 -1
  25. package/dist/src/cli/parse-run-config.js +80 -25
  26. package/dist/src/cli/parse-run-config.js.map +1 -1
  27. package/dist/src/cli/parse-strict.d.ts +20 -0
  28. package/dist/src/cli/parse-strict.d.ts.map +1 -0
  29. package/dist/src/cli/parse-strict.js +25 -0
  30. package/dist/src/cli/parse-strict.js.map +1 -0
  31. package/dist/src/cli/progress.d.ts +1 -0
  32. package/dist/src/cli/progress.d.ts.map +1 -1
  33. package/dist/src/cli/progress.js +8 -1
  34. package/dist/src/cli/progress.js.map +1 -1
  35. package/dist/src/doctor/index.d.ts +19 -0
  36. package/dist/src/doctor/index.d.ts.map +1 -0
  37. package/dist/src/doctor/index.js +182 -0
  38. package/dist/src/doctor/index.js.map +1 -0
  39. package/dist/src/doctor/preflight.d.ts +32 -0
  40. package/dist/src/doctor/preflight.d.ts.map +1 -0
  41. package/dist/src/doctor/preflight.js +32 -0
  42. package/dist/src/doctor/preflight.js.map +1 -0
  43. package/dist/src/doctor/renderer.d.ts +13 -0
  44. package/dist/src/doctor/renderer.d.ts.map +1 -0
  45. package/dist/src/doctor/renderer.js +69 -0
  46. package/dist/src/doctor/renderer.js.map +1 -0
  47. package/dist/src/doctor/rules.d.ts +30 -0
  48. package/dist/src/doctor/rules.d.ts.map +1 -0
  49. package/dist/src/doctor/rules.js +216 -0
  50. package/dist/src/doctor/rules.js.map +1 -0
  51. package/dist/src/eval-core/bootstrap.d.ts +1 -1
  52. package/dist/src/eval-core/bootstrap.js +1 -1
  53. package/dist/src/eval-core/cache.d.ts +7 -5
  54. package/dist/src/eval-core/cache.d.ts.map +1 -1
  55. package/dist/src/eval-core/cache.js +11 -7
  56. package/dist/src/eval-core/cache.js.map +1 -1
  57. package/dist/src/eval-core/comparability.d.ts +11 -0
  58. package/dist/src/eval-core/comparability.d.ts.map +1 -0
  59. package/dist/src/eval-core/comparability.js +296 -0
  60. package/dist/src/eval-core/comparability.js.map +1 -0
  61. package/dist/src/eval-core/dependency-checker.js +1 -1
  62. package/dist/src/eval-core/dependency-checker.js.map +1 -1
  63. package/dist/src/eval-core/evaluation-execution.d.ts +23 -7
  64. package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
  65. package/dist/src/eval-core/evaluation-execution.js +53 -21
  66. package/dist/src/eval-core/evaluation-execution.js.map +1 -1
  67. package/dist/src/eval-core/evaluation-job.d.ts +3 -5
  68. package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
  69. package/dist/src/eval-core/evaluation-job.js +2 -4
  70. package/dist/src/eval-core/evaluation-job.js.map +1 -1
  71. package/dist/src/eval-core/evaluation-reporting.d.ts +3 -1
  72. package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
  73. package/dist/src/eval-core/evaluation-reporting.js +67 -9
  74. package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
  75. package/dist/src/eval-core/execution-strategy.js +2 -2
  76. package/dist/src/eval-core/execution-strategy.js.map +1 -1
  77. package/dist/src/eval-core/schema.d.ts.map +1 -1
  78. package/dist/src/eval-core/schema.js +20 -2
  79. package/dist/src/eval-core/schema.js.map +1 -1
  80. package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +113 -0
  81. package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -0
  82. package/dist/src/eval-workflows/batch-evaluation-workflow.js +217 -0
  83. package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -0
  84. package/dist/src/eval-workflows/evaluation-pipeline.d.ts +6 -4
  85. package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
  86. package/dist/src/eval-workflows/evaluation-pipeline.js +44 -38
  87. package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
  88. package/dist/src/eval-workflows/evaluation-preparation.d.ts +4 -17
  89. package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
  90. package/dist/src/eval-workflows/evaluation-preparation.js +3 -18
  91. package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
  92. package/dist/src/eval-workflows/run-evaluation.d.ts +27 -23
  93. package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
  94. package/dist/src/eval-workflows/run-evaluation.js +137 -20
  95. package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
  96. package/dist/src/executors/claude-cli.d.ts.map +1 -1
  97. package/dist/src/executors/claude-cli.js +11 -6
  98. package/dist/src/executors/claude-cli.js.map +1 -1
  99. package/dist/src/executors/codex-cli-trace.d.ts +10 -0
  100. package/dist/src/executors/codex-cli-trace.d.ts.map +1 -0
  101. package/dist/src/executors/codex-cli-trace.js +123 -0
  102. package/dist/src/executors/codex-cli-trace.js.map +1 -0
  103. package/dist/src/executors/codex-cli.d.ts +18 -0
  104. package/dist/src/executors/codex-cli.d.ts.map +1 -0
  105. package/dist/src/executors/codex-cli.js +254 -0
  106. package/dist/src/executors/codex-cli.js.map +1 -0
  107. package/dist/src/executors/codex-sdk.d.ts +18 -0
  108. package/dist/src/executors/codex-sdk.d.ts.map +1 -0
  109. package/dist/src/executors/codex-sdk.js +214 -0
  110. package/dist/src/executors/codex-sdk.js.map +1 -0
  111. package/dist/src/executors/gemini.d.ts.map +1 -1
  112. package/dist/src/executors/gemini.js +28 -24
  113. package/dist/src/executors/gemini.js.map +1 -1
  114. package/dist/src/executors/index.d.ts.map +1 -1
  115. package/dist/src/executors/index.js +7 -2
  116. package/dist/src/executors/index.js.map +1 -1
  117. package/dist/src/executors/runtime-fingerprint.d.ts +7 -0
  118. package/dist/src/executors/runtime-fingerprint.d.ts.map +1 -0
  119. package/dist/src/executors/runtime-fingerprint.js +277 -0
  120. package/dist/src/executors/runtime-fingerprint.js.map +1 -0
  121. package/dist/src/executors/script.d.ts.map +1 -1
  122. package/dist/src/executors/script.js +47 -55
  123. package/dist/src/executors/script.js.map +1 -1
  124. package/dist/src/executors/shared.d.ts +78 -1
  125. package/dist/src/executors/shared.d.ts.map +1 -1
  126. package/dist/src/executors/shared.js +203 -1
  127. package/dist/src/executors/shared.js.map +1 -1
  128. package/dist/src/grading/assertions.d.ts.map +1 -1
  129. package/dist/src/grading/assertions.js +22 -7
  130. package/dist/src/grading/assertions.js.map +1 -1
  131. package/dist/src/grading/gold-cli.js +4 -4
  132. package/dist/src/grading/gold-cli.js.map +1 -1
  133. package/dist/src/grading/human-gold.d.ts +1 -1
  134. package/dist/src/grading/human-gold.js +1 -1
  135. package/dist/src/grading/index.d.ts +20 -15
  136. package/dist/src/grading/index.d.ts.map +1 -1
  137. package/dist/src/grading/index.js +40 -16
  138. package/dist/src/grading/index.js.map +1 -1
  139. package/dist/src/grading/judge.d.ts +1 -1
  140. package/dist/src/grading/judge.d.ts.map +1 -1
  141. package/dist/src/grading/judge.js +76 -7
  142. package/dist/src/grading/judge.js.map +1 -1
  143. package/dist/src/inputs/eval-config.js +65 -7
  144. package/dist/src/inputs/eval-config.js.map +1 -1
  145. package/dist/src/inputs/skill-loader.d.ts +1 -1
  146. package/dist/src/inputs/skill-loader.d.ts.map +1 -1
  147. package/dist/src/inputs/skill-loader.js +1 -1
  148. package/dist/src/inputs/skill-loader.js.map +1 -1
  149. package/dist/src/renderer/html-renderer.d.ts +5 -4
  150. package/dist/src/renderer/html-renderer.d.ts.map +1 -1
  151. package/dist/src/renderer/html-renderer.js +240 -96
  152. package/dist/src/renderer/html-renderer.js.map +1 -1
  153. package/dist/src/renderer/layout.d.ts +2 -1
  154. package/dist/src/renderer/layout.d.ts.map +1 -1
  155. package/dist/src/renderer/layout.js +30 -42
  156. package/dist/src/renderer/layout.js.map +1 -1
  157. package/dist/src/renderer/summary.d.ts +3 -3
  158. package/dist/src/renderer/summary.d.ts.map +1 -1
  159. package/dist/src/renderer/summary.js +233 -43
  160. package/dist/src/renderer/summary.js.map +1 -1
  161. package/dist/src/renderer/trends.d.ts.map +1 -1
  162. package/dist/src/renderer/trends.js +5 -3
  163. package/dist/src/renderer/trends.js.map +1 -1
  164. package/dist/src/server/report-server.js +4 -4
  165. package/dist/src/server/report-server.js.map +1 -1
  166. package/dist/src/server/report-store.d.ts +7 -5
  167. package/dist/src/server/report-store.d.ts.map +1 -1
  168. package/dist/src/server/report-store.js +39 -11
  169. package/dist/src/server/report-store.js.map +1 -1
  170. package/dist/src/types/doctor.d.ts +95 -0
  171. package/dist/src/types/doctor.d.ts.map +1 -0
  172. package/dist/src/types/doctor.js +2 -0
  173. package/dist/src/types/doctor.js.map +1 -0
  174. package/dist/src/types/eval.d.ts +40 -19
  175. package/dist/src/types/eval.d.ts.map +1 -1
  176. package/dist/src/types/executor.d.ts +38 -0
  177. package/dist/src/types/executor.d.ts.map +1 -1
  178. package/dist/src/types/index.d.ts +1 -0
  179. package/dist/src/types/index.d.ts.map +1 -1
  180. package/dist/src/types/index.js +1 -0
  181. package/dist/src/types/index.js.map +1 -1
  182. package/dist/src/types/judge.d.ts +21 -0
  183. package/dist/src/types/judge.d.ts.map +1 -1
  184. package/dist/src/types/report.d.ts +100 -35
  185. package/dist/src/types/report.d.ts.map +1 -1
  186. package/dist/src/types/storage.d.ts +7 -7
  187. package/dist/src/types/storage.d.ts.map +1 -1
  188. package/package.json +6 -5
  189. package/dist/src/eval-workflows/each-evaluation-workflow.d.ts +0 -153
  190. package/dist/src/eval-workflows/each-evaluation-workflow.d.ts.map +0 -1
  191. package/dist/src/eval-workflows/each-evaluation-workflow.js +0 -178
  192. package/dist/src/eval-workflows/each-evaluation-workflow.js.map +0 -1
  193. package/dist/src/executors/openai-cli.d.ts +0 -3
  194. package/dist/src/executors/openai-cli.d.ts.map +0 -1
  195. package/dist/src/executors/openai-cli.js +0 -60
  196. package/dist/src/executors/openai-cli.js.map +0 -1
@@ -1,14 +1,21 @@
1
1
  import { resolve } from 'node:path';
2
2
  import { DEFAULT_OUTPUT_DIR, persistReport } from '../eval-core/evaluation-reporting.js';
3
3
  import { createExecutor, DEFAULT_MODEL, JUDGE_MODEL } from '../executors/index.js';
4
- import { discoverEachSkills } from '../inputs/skill-loader.js';
4
+ import { discoverBatchSkills, resolveArtifacts } from '../inputs/skill-loader.js';
5
5
  import { confidenceInterval, tTest, effectSize } from '../eval-core/statistics.js';
6
- import { executeEachEvaluationRuns } from './each-evaluation-workflow.js';
7
- import { buildDryRunEachArtifacts, buildDryRunTaskReport, prepareEvaluationRun, } from './evaluation-preparation.js';
6
+ import { executeBatchEvaluationRuns } from './batch-evaluation-workflow.js';
7
+ import { buildDryRunTaskReport, prepareEvaluationRun, } from './evaluation-preparation.js';
8
8
  import { executeEvaluationPipeline } from './evaluation-pipeline.js';
9
9
  import { findSaturationPoint } from '../analysis/saturation.js';
10
10
  import { bootstrapMeanCI } from '../eval-core/bootstrap.js';
11
- export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [], artifacts, model = DEFAULT_MODEL, judgeModel = JUDGE_MODEL, outputDir = DEFAULT_OUTPUT_DIR, project, owner, tags, noJudge = false, dryRun = false, blind = false, concurrency = 1, timeoutMs, noCache = false, executorName = 'claude', judgeExecutorName, jobStore = null, persistJob = true, onProgress = null, skipPreflight = false, mcpConfig, verbose = false, retry = 0, resume, layeredStats = false, repeat, each, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, strictBaseline, variantAllowedSkills, }) {
11
+ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [], artifacts, model = DEFAULT_MODEL, outputDir = DEFAULT_OUTPUT_DIR, project, owner, tags, noJudge = false, dryRun = false, blind = false, concurrency = 1, timeoutMs, noCache = false, executorName = 'claude', jobStore = null, persistJob = true, onProgress = null, skipConnectivity = false, lang = 'zh', mcpConfig, verbose = false, retry = 0, resume, runId, layeredStats = false, repeat, batch, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, strictBaseline, variantAllowedSkills, }) {
12
+ // Unified judgeModels → derive single-judge fields for downstream pipeline / grading
13
+ // (which still operate on string `judgeModel` + `judgeExecutorName` fields per call).
14
+ const effectiveJudgeModels = judgeModels && judgeModels.length > 0
15
+ ? judgeModels
16
+ : [{ executor: executorName, model: JUDGE_MODEL }];
17
+ const judgeModel = effectiveJudgeModels[0].model;
18
+ const judgeExecutorName = effectiveJudgeModels[0].executor;
12
19
  const { samples, artifacts: resolvedArtifacts, tasks, variantNames, requires } = await prepareEvaluationRun({
13
20
  samplesPath,
14
21
  skillDir,
@@ -19,6 +26,44 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
19
26
  strictBaseline,
20
27
  variantAllowedSkills,
21
28
  });
29
+ // doctor 强制门禁: skill 静态结构 + 元数据 + 依赖 + 用例契约。
30
+ // 在 dryRun 分支之前跑, 让 dry-run 也得到 doctor 覆盖(保护 garbage-in 的 verdict)。
31
+ // doctor 不可 skip — 静态检查无成本理由跳过, 也无 escape hatch flag。
32
+ // LLM 连通性是另一回事, 由独立的 skipConnectivity 控制。
33
+ //
34
+ // 路径推断收口在 buildDoctorPreflightContext: doctor engine 不再自己猜 bench 的
35
+ // artifact 形态 / cwd 优先级, 任何 bench 路径语义边界变化只改 builder 一处。
36
+ {
37
+ const { buildDoctorPreflightContext } = await import('../doctor/preflight.js');
38
+ const doctorCtx = buildDoctorPreflightContext({
39
+ artifacts: resolvedArtifacts,
40
+ samples,
41
+ requires,
42
+ skillDir,
43
+ });
44
+ if (doctorCtx) {
45
+ const { runDoctor } = await import('../doctor/index.js');
46
+ const { renderDoctorReportText } = await import('../doctor/renderer.js');
47
+ const { tCli } = await import('../cli/i18n.js');
48
+ const doctorReport = await runDoctor({
49
+ artifacts: doctorCtx.doctorArtifacts,
50
+ cwd: doctorCtx.dependencyCwd,
51
+ dependencyCwd: doctorCtx.dependencyCwd,
52
+ samples: doctorCtx.samples,
53
+ requires: doctorCtx.requires,
54
+ executorName,
55
+ model,
56
+ timeoutMs: timeoutMs ?? 8000,
57
+ lang,
58
+ });
59
+ if (doctorReport.failed) {
60
+ renderDoctorReportText(doctorReport, lang);
61
+ throw new Error(`doctor failed: ${tCli('cli.doctor.gate_blocked', lang)}`);
62
+ }
63
+ }
64
+ }
65
+ // --resume 时自动跳过 LLM 连通性检测(原 run 已经验过, 重跑是浪费 LLM 调用)
66
+ const effectiveSkipConnectivity = resume ? true : skipConnectivity;
22
67
  if (dryRun) {
23
68
  // Emit power warnings during dry-run too — this is exactly when users
24
69
  // preview the run, the right moment to flag "you might be wasting it".
@@ -32,7 +77,7 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
32
77
  return {
33
78
  report: buildDryRunTaskReport({
34
79
  model,
35
- judgeModel,
80
+ judgeModels: effectiveJudgeModels,
36
81
  executorName,
37
82
  samplesPath,
38
83
  skillDir,
@@ -48,7 +93,7 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
48
93
  const { createFileStore } = await import('../server/report-store.js');
49
94
  const store = createFileStore(resolve(outputDir || DEFAULT_OUTPUT_DIR));
50
95
  const existing = await store.get(resume);
51
- if (existing) {
96
+ if (existing?.kind === 'evaluation') {
52
97
  existingResults = {};
53
98
  for (const entry of existing.results || []) {
54
99
  existingResults[entry.sample_id] = entry.variants;
@@ -72,6 +117,9 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
72
117
  + ` 新 entries 不隔离 → 与现有 entries 不可比。建议恢复默认 strict-baseline。\n`);
73
118
  }
74
119
  }
120
+ else if (existing?.kind === 'batch-evaluation') {
121
+ process.stderr.write(`\n⚠️ report ${resume} is a BatchEvaluationReport; resume needs a child EvaluationReport, starting from scratch\n`);
122
+ }
75
123
  else {
76
124
  process.stderr.write(`\n⚠️ report ${resume} not found, starting from scratch\n`);
77
125
  }
@@ -102,14 +150,14 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
102
150
  jobStore,
103
151
  persistJob,
104
152
  onProgress,
105
- skipPreflight,
153
+ skipConnectivity: effectiveSkipConnectivity,
106
154
  verbose,
107
155
  retry,
108
156
  existingResults,
109
157
  requires,
110
158
  layeredStats,
111
159
  repeat,
112
- each,
160
+ batch,
113
161
  judgeRepeat,
114
162
  judgeModels,
115
163
  bootstrap,
@@ -117,12 +165,13 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
117
165
  lengthDebias,
118
166
  budget,
119
167
  strictBaseline,
168
+ runId,
120
169
  });
121
170
  }
122
171
  // Top-level (composite) extractor: feeds the legacy flat-field variance on
123
172
  // VariantVariance / VarianceComparison. Composite lives here for backward
124
173
  // compatibility with historical reports; layer-independent stats are attached
125
- // via byLayer (see LAYER_EXTRACTORS) starting v0.16 work item B / PR-2.
174
+ // via byLayer (see LAYER_EXTRACTORS).
126
175
  const COMPOSITE_EXTRACTOR = (s) => s?.avgCompositeScore;
127
176
  // Non-quality metric extractors tracked in byMetric (cost + efficiency).
128
177
  const METRIC_EXTRACTORS = {
@@ -306,29 +355,95 @@ export function buildVarianceData(runs) {
306
355
  ...(saturation ? { saturation } : {}),
307
356
  };
308
357
  }
309
- export async function runEachEvaluation({ skillDir, model = DEFAULT_MODEL, judgeModel = JUDGE_MODEL, outputDir = DEFAULT_OUTPUT_DIR, project, owner, tags, noJudge = false, dryRun = false, concurrency = 1, timeoutMs, executorName = 'claude', judgeExecutorName, jobStore = null, persistJob = true, onProgress = null, onSkillProgress = null, skipPreflight = false, mcpConfig, verbose = false, repeat, judgeRepeat, judgeModels, lengthDebias, strictBaseline, variantAllowedSkills, }) {
310
- const skillEntries = discoverEachSkills(resolve(skillDir));
358
+ export async function runBatchEvaluation({ skillDir, model = DEFAULT_MODEL, outputDir = DEFAULT_OUTPUT_DIR, project, owner, tags, noJudge = false, dryRun = false, concurrency = 1, timeoutMs, executorName = 'claude', jobStore = null, persistJob = true, onProgress = null, onSkillProgress = null, skipConnectivity = false, lang = 'zh', mcpConfig, verbose = false, repeat, judgeRepeat, judgeModels, lengthDebias, noCache = false, strictBaseline, variantAllowedSkills, }) {
359
+ // Same unified judge derivation as runEvaluation (downstream pipeline / report build
360
+ // still uses single judgeModel + judgeExecutorName per call).
361
+ const effectiveJudgeModels = judgeModels && judgeModels.length > 0
362
+ ? judgeModels
363
+ : [{ executor: executorName, model: JUDGE_MODEL }];
364
+ const judgeModel = effectiveJudgeModels[0].model;
365
+ const judgeExecutorName = effectiveJudgeModels[0].executor;
366
+ const skillEntries = discoverBatchSkills(resolve(skillDir));
311
367
  if (skillEntries.length === 0) {
312
368
  throw new Error(`no skill with paired eval-samples found in: ${skillDir}`);
313
369
  }
314
370
  if (dryRun) {
315
- const { artifacts: dryArtifacts, totalTasks } = buildDryRunEachArtifacts(skillEntries);
371
+ // batch dry-run 走 per-entry runEvaluation(dryRun: true) — doctor 嵌入
372
+ // 自动复用 runEvaluation 内部的 builder + 单一逻辑,不再在 batch 这边
373
+ // 旁路一套 doctor / 路径推断。entry artifact 拼装方式与 batch real-run
374
+ // (executeBatchEvaluationRuns) 严格一致, 避免 dry-run / real-run 漂移。
375
+ const skillDirAbs = resolve(skillDir);
376
+ const dryArtifacts = [];
377
+ for (const entry of skillEntries) {
378
+ const skillArtifacts = resolveArtifacts(skillDirAbs, ['baseline', entry.skillPath], { strictBaseline, variantAllowedSkills }).map((artifact) => {
379
+ if (artifact.name === entry.skillPath) {
380
+ return { ...artifact, name: entry.name, experimentRole: 'treatment' };
381
+ }
382
+ return { ...artifact, experimentRole: 'control' };
383
+ });
384
+ let entryReport;
385
+ try {
386
+ const result = await runEvaluation({
387
+ samplesPath: entry.samplesPath,
388
+ skillDir,
389
+ artifacts: skillArtifacts,
390
+ model,
391
+ executorName,
392
+ dryRun: true,
393
+ noJudge,
394
+ timeoutMs,
395
+ lang,
396
+ mcpConfig,
397
+ strictBaseline,
398
+ variantAllowedSkills,
399
+ // 透传 user 显式输入的参数,让 dry-run power / isolation warning 与
400
+ // 真实 run 一致(否则 batch dry-run 永远按 repeat=1 报警,误导用户)。
401
+ repeat,
402
+ judgeRepeat,
403
+ judgeModels: effectiveJudgeModels,
404
+ lengthDebias,
405
+ noCache,
406
+ verbose,
407
+ concurrency,
408
+ skipConnectivity,
409
+ // batch dry-run 关闭真实 run only 路径
410
+ jobStore: null,
411
+ persistJob: false,
412
+ outputDir: null,
413
+ });
414
+ entryReport = result.report;
415
+ }
416
+ catch (err) {
417
+ // doctor abort 加 entry 名让 user / CI 定位是哪个 skill 卡住
418
+ if (err instanceof Error && err.message.startsWith('doctor failed:')) {
419
+ throw new Error(`${err.message} (skill=${entry.name})`);
420
+ }
421
+ throw err;
422
+ }
423
+ // batch 模式恒定 2 variants(baseline + treatment),sampleCount = totalTasks / variants.length
424
+ dryArtifacts.push({
425
+ name: entry.name,
426
+ samplesPath: entry.samplesPath,
427
+ sampleCount: entryReport.totalTasks / entryReport.variants.length,
428
+ taskCount: entryReport.totalTasks,
429
+ });
430
+ }
316
431
  return {
317
432
  report: {
318
433
  dryRun: true,
319
- each: true,
434
+ batch: true,
320
435
  model,
321
- judgeModel,
436
+ judgeModels: effectiveJudgeModels,
322
437
  executor: executorName,
323
438
  skillDir,
324
439
  totalArtifacts: dryArtifacts.length,
325
- totalTasks,
440
+ totalTasks: dryArtifacts.reduce((sum, a) => sum + a.taskCount, 0),
326
441
  artifacts: dryArtifacts,
327
442
  },
328
443
  filePath: null,
329
444
  };
330
445
  }
331
- return executeEachEvaluationRuns({
446
+ return executeBatchEvaluationRuns({
332
447
  skillDir,
333
448
  skillEntries,
334
449
  model,
@@ -346,22 +461,24 @@ export async function runEachEvaluation({ skillDir, model = DEFAULT_MODEL, judge
346
461
  persistJob,
347
462
  onProgress,
348
463
  onSkillProgress,
349
- skipPreflight,
464
+ skipConnectivity,
465
+ lang,
350
466
  mcpConfig,
351
467
  verbose,
352
468
  repeat,
353
469
  judgeRepeat,
354
470
  judgeModels,
355
471
  lengthDebias,
472
+ noCache,
356
473
  strictBaseline,
357
474
  variantAllowedSkills,
358
475
  runSingleEvaluation: async (options) => {
359
- // repeat > 1 时走 runMultiple 做 variance; each=true 标记让 meta.request 如实反映
476
+ // repeat > 1 时走 runMultiple 做 variance; batch=true 标记让 meta.request 如实反映
360
477
  if (repeat && repeat > 1) {
361
- const multi = await runMultiple({ ...options, repeat, each: true, judgeRepeat, judgeModels, lengthDebias });
478
+ const multi = await runMultiple({ ...options, repeat, batch: true, judgeRepeat, judgeModels, lengthDebias });
362
479
  return { report: multi.report, filePath: multi.filePath };
363
480
  }
364
- const result = await runEvaluation({ ...options, each: true, judgeRepeat, judgeModels, lengthDebias });
481
+ const result = await runEvaluation({ ...options, batch: true, judgeRepeat, judgeModels, lengthDebias });
365
482
  return { report: result.report, filePath: result.filePath };
366
483
  },
367
484
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-evaluation.js","sourceRoot":"","sources":["../../../src/eval-workflows/run-evaluation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-evaluation.js","sourceRoot":"","sources":["../../../src/eval-workflows/run-evaluation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../../src/executors/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA+CnE,wBAAsB,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAA8B,EAAE,aAAa,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA4FnK"}
1
+ {"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../../src/executors/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgDnE,wBAAsB,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAA8B,EAAE,aAAa,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAgGnK"}
@@ -1,5 +1,5 @@
1
1
  import { extractAgentTrace, isClaudeSdkResultMessage } from './claude-sdk-trace.js';
2
- import { asErrorLike, buildExecEnv, DEFAULT_TIMEOUT_MS, errorMessage, execFileAsync, MAX_BUFFER, timeoutExecResult, } from './shared.js';
2
+ import { buildExecEnv, DEFAULT_TIMEOUT_MS, errorMessage, interruptedExecResult, MAX_BUFFER, spawnWithSigintPropagation, timeoutExecResult, } from './shared.js';
3
3
  // claude CLI 用 `--disable-slash-commands` (文档:"Disable all skills") +
4
4
  // `--disallowedTools Skill` 实现与 SDK 等价的完全隔离。但 CLI 没有 partial whitelist
5
5
  // 的 flag,所以 [name1, ...] 必须 throw。
@@ -40,12 +40,15 @@ export async function claudeCliExecutor({ model, system, prompt, cwd, skillDir,
40
40
  const env = buildExecEnv(skillDir);
41
41
  const start = Date.now();
42
42
  try {
43
- const { stdout } = await execFileAsync('claude', args, {
43
+ const { child, done } = spawnWithSigintPropagation('claude', args, {
44
44
  maxBuffer: MAX_BUFFER,
45
- timeout: timeoutMs,
45
+ timeoutMs,
46
46
  env,
47
47
  ...(cwd && { cwd }),
48
48
  });
49
+ // claude binary 不读 stdin(prompt 走 -p flag),关掉避免 codex 那种 pipe 卡死风险
50
+ child.stdin?.end();
51
+ const { stdout } = await done;
49
52
  const durationMs = Date.now() - start;
50
53
  const messages = parseStreamJson(stdout);
51
54
  // 提取 result 消息
@@ -82,10 +85,12 @@ export async function claudeCliExecutor({ model, system, prompt, cwd, skillDir,
82
85
  }
83
86
  catch (err) {
84
87
  const durationMs = Date.now() - start;
85
- const details = asErrorLike(err);
86
- if (details.killed)
88
+ const details = err;
89
+ if (details.killedByTimeout)
87
90
  return timeoutExecResult(timeoutMs, durationMs);
88
- // 尝试从 stdout 解析 stream-json(即使进程退出码非 0 也可能有 result)
91
+ if (details.killedBySignal)
92
+ return interruptedExecResult(durationMs);
93
+ // 尝试从 stdout 解析 stream-json(即使进程退出码非 0 也可能有 result)
89
94
  const messages = parseStreamJson(details.stdout || '');
90
95
  const resultMsgs = messages.filter(isClaudeSdkResultMessage);
91
96
  if (resultMsgs.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli.js","sourceRoot":"","sources":["../../../src/executors/claude-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-cli.js","sourceRoot":"","sources":["../../../src/executors/claude-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ToolCallInfo, TurnInfo } from '../types/index.js';
2
+ import type { CodexEvent } from './shared.js';
3
+ export declare function isCodexResultEvent(event: CodexEvent): boolean;
4
+ export declare function extractCodexTrace(events: CodexEvent[]): {
5
+ turns: TurnInfo[];
6
+ toolCalls: ToolCallInfo[];
7
+ fullNumTurns: number;
8
+ numSubAgents: number;
9
+ };
10
+ //# sourceMappingURL=codex-cli-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-trace.d.ts","sourceRoot":"","sources":["../../../src/executors/codex-cli-trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoB9C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE7D;AAkBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAqFpJ"}
@@ -0,0 +1,123 @@
1
+ // Codex CLI(codex 0.125)`exec --json` 事件流 → omk trace 抽取器。
2
+ // 跟 claude-sdk-trace.ts 不同源:
3
+ // Claude SDK 是 message[block] 嵌套结构,有 tool_use / tool_result 配对;
4
+ // Codex 是事件流(turn.started → turn.completed,夹杂 item.* 事件),每个
5
+ // item.completed 事件直接生成完整 ToolCallInfo,**不需要 use/result 配对**。
6
+ //
7
+ // schema(基于 codex 0.125 实测,fixture 测试锁住假设;漂移时 fixture 先红):
8
+ // - {type:'thread.started' | 'turn.started'} 划 turn 边界
9
+ // - {type:'turn.completed', usage} / {type:'turn.failed', error} 收尾
10
+ // - {type:'item.started', item:{type, status:'in_progress', ...}} 是 in_progress 占位 → 跳过
11
+ // - {type:'item.completed', item:{type:'agent_message', text:'...'}} → assistant 文本
12
+ // - {type:'item.completed', item:{type:'command_execution', command, aggregated_output, exit_code, status}} → ToolCallInfo
13
+ // - 其他 item.type(file_read/file_write/web_search 等)best-effort 抽 input/output
14
+ // codex 无 sub-agent 概念,numSubAgents 恒 0。字段缺失静默 skip 不 throw。
15
+ const TOOL_INPUT_LIMIT = 500;
16
+ const TOOL_OUTPUT_LIMIT = 500;
17
+ export function isCodexResultEvent(event) {
18
+ return event.type === 'turn.completed' || event.type === 'turn.failed';
19
+ }
20
+ function extractToolInput(item, itemType) {
21
+ if (itemType === 'command_execution')
22
+ return (item.command || '').slice(0, TOOL_INPUT_LIMIT);
23
+ if (itemType === 'file_read' || itemType === 'file_write')
24
+ return item.path || null;
25
+ if (itemType === 'web_search')
26
+ return item.query || null;
27
+ return null;
28
+ }
29
+ function extractToolOutput(item, itemType) {
30
+ if (itemType === 'command_execution' && item.aggregated_output) {
31
+ return item.aggregated_output.slice(0, TOOL_OUTPUT_LIMIT);
32
+ }
33
+ if (itemType === 'file_read' && item.content)
34
+ return item.content.slice(0, TOOL_OUTPUT_LIMIT);
35
+ if (item.results)
36
+ return JSON.stringify(item.results).slice(0, TOOL_OUTPUT_LIMIT);
37
+ return '';
38
+ }
39
+ export function extractCodexTrace(events) {
40
+ const turns = [];
41
+ const toolCalls = [];
42
+ let fullNumTurns = 0;
43
+ // codex 没有 Agent 工具(像 Claude 的 sub-agent),恒 0
44
+ const numSubAgents = 0;
45
+ let currentTurnText = '';
46
+ let currentTurnTools = [];
47
+ let currentTurnHasContent = false;
48
+ let lastTurnTs;
49
+ const flushTurn = (closingEvent) => {
50
+ if (!currentTurnHasContent && currentTurnTools.length === 0)
51
+ return;
52
+ const dur = closingEvent?.ts && lastTurnTs ? closingEvent.ts - lastTurnTs : undefined;
53
+ const turn = {
54
+ role: 'assistant',
55
+ content: currentTurnText,
56
+ ...(currentTurnTools.length > 0 && { toolCalls: currentTurnTools }),
57
+ ...(dur != null && dur > 0 && { durationMs: dur }),
58
+ };
59
+ turns.push(turn);
60
+ if (currentTurnHasContent)
61
+ fullNumTurns++;
62
+ currentTurnText = '';
63
+ currentTurnTools = [];
64
+ currentTurnHasContent = false;
65
+ if (closingEvent?.ts)
66
+ lastTurnTs = closingEvent.ts;
67
+ };
68
+ for (const event of events) {
69
+ const t = event.type;
70
+ if (!t)
71
+ continue;
72
+ if (t === 'thread.started' || t === 'turn.started') {
73
+ if (currentTurnHasContent || currentTurnTools.length > 0)
74
+ flushTurn();
75
+ if (event.ts)
76
+ lastTurnTs = event.ts;
77
+ continue;
78
+ }
79
+ if (t === 'turn.completed') {
80
+ flushTurn(event);
81
+ continue;
82
+ }
83
+ if (t === 'turn.failed') {
84
+ if (currentTurnTools.length > 0) {
85
+ currentTurnTools[currentTurnTools.length - 1].success = false;
86
+ }
87
+ flushTurn(event);
88
+ continue;
89
+ }
90
+ // 只关心 item.completed —— item.started 是 in_progress 占位,后面会被 completed 覆盖
91
+ if (t !== 'item.completed')
92
+ continue;
93
+ const item = event.item;
94
+ if (!item || !item.type)
95
+ continue;
96
+ const itemType = item.type;
97
+ if (itemType === 'agent_message') {
98
+ const txt = item.text || '';
99
+ if (txt) {
100
+ if (currentTurnText)
101
+ currentTurnText += '\n';
102
+ currentTurnText += txt;
103
+ currentTurnHasContent = true;
104
+ }
105
+ continue;
106
+ }
107
+ // 其他 item type 当 tool call
108
+ const isError = !!event.error || (typeof item.exit_code === 'number' && item.exit_code !== 0);
109
+ const tc = {
110
+ tool: itemType,
111
+ input: extractToolInput(item, itemType),
112
+ output: extractToolOutput(item, itemType),
113
+ success: !isError,
114
+ };
115
+ currentTurnTools.push(tc);
116
+ toolCalls.push(tc);
117
+ currentTurnHasContent = true;
118
+ }
119
+ // 流末尾 flush(防止最后一个 turn 没 turn.completed 收尾)
120
+ flushTurn();
121
+ return { turns, toolCalls, fullNumTurns, numSubAgents };
122
+ }
123
+ //# sourceMappingURL=codex-cli-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-trace.js","sourceRoot":"","sources":["../../../src/executors/codex-cli-trace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ExecResult, ExecutorInput } from '../types/index.js';
2
+ import type { CodexEvent } from './shared.js';
3
+ export declare function isolateCodexCwd(allowedSkills: string[] | undefined, cwd: string | null | undefined, executorName?: string): void;
4
+ export declare function extractCodexUsage(events: CodexEvent[]): {
5
+ input: number;
6
+ cached: number;
7
+ output: number;
8
+ };
9
+ export declare function extractCodexFinalOutput(events: CodexEvent[]): string;
10
+ export declare function extractCodexStopReason(events: CodexEvent[]): string;
11
+ export declare function sumCodexElapsed(resultEvents: CodexEvent[], wallClock: number): number;
12
+ export declare function buildCodexArgs({ model, cwd, prompt }: {
13
+ model: string;
14
+ cwd?: string | null;
15
+ prompt: string;
16
+ }): string[];
17
+ export declare function codexCliExecutor({ model, system, prompt, cwd, skillDir, timeoutMs, allowedSkills, verbose }: ExecutorInput): Promise<ExecResult>;
18
+ //# sourceMappingURL=codex-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli.d.ts","sourceRoot":"","sources":["../../../src/executors/codex-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwB9C,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,SAAc,GAAG,IAAI,CAkBrI;AAoBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAWzG;AAGD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAcpE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAKnE;AAOD,wBAAgB,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrF;AAGD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAiBvH;AAeD,wBAAsB,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAA8B,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA+H3K"}