oh-my-knowledge 0.32.0 → 0.34.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 (729) hide show
  1. package/README.md +29 -14
  2. package/README.zh.md +32 -17
  3. package/dist/analysis/coverage-analyzer.d.ts +0 -1
  4. package/dist/analysis/coverage-analyzer.js +0 -1
  5. package/dist/analysis/failure-clusterer.d.ts +0 -1
  6. package/dist/analysis/failure-clusterer.js +0 -1
  7. package/dist/analysis/gap-analyzer.d.ts +0 -1
  8. package/dist/analysis/gap-analyzer.js +0 -1
  9. package/dist/analysis/hedging-classifier.d.ts +0 -1
  10. package/dist/analysis/hedging-classifier.js +1 -2
  11. package/dist/analysis/report-diagnostics.d.ts +0 -1
  12. package/dist/analysis/report-diagnostics.js +0 -1
  13. package/dist/analysis/sample-diagnostics.d.ts +1 -2
  14. package/dist/analysis/sample-diagnostics.js +18 -19
  15. package/dist/analysis/saturation.d.ts +8 -1
  16. package/dist/analysis/saturation.js +12 -5
  17. package/dist/assets/agent-skills/omk/SKILL.md +197 -0
  18. package/dist/assets/agent-skills/omk/references/commands.md +547 -0
  19. package/dist/authoring/evolver.d.ts +169 -4
  20. package/dist/authoring/evolver.js +287 -15
  21. package/dist/authoring/generator.d.ts +29 -2
  22. package/dist/authoring/generator.js +113 -1
  23. package/dist/authoring/sample-fixer.d.ts +0 -1
  24. package/dist/authoring/sample-fixer.js +0 -1
  25. package/dist/cli/commands/doctor.d.ts +2 -1
  26. package/dist/cli/commands/doctor.js +24 -6
  27. package/dist/cli/commands/eval/gold/compare.d.ts +0 -1
  28. package/dist/cli/commands/eval/gold/compare.js +0 -1
  29. package/dist/cli/commands/eval/gold/index.d.ts +0 -1
  30. package/dist/cli/commands/eval/gold/index.js +0 -1
  31. package/dist/cli/commands/eval/gold/init.d.ts +0 -1
  32. package/dist/cli/commands/eval/gold/init.js +0 -1
  33. package/dist/cli/commands/eval/gold/validate.d.ts +0 -1
  34. package/dist/cli/commands/eval/gold/validate.js +0 -1
  35. package/dist/cli/commands/eval/index.d.ts +2 -1
  36. package/dist/cli/commands/eval/index.js +23 -11
  37. package/dist/cli/commands/evolve.d.ts +7 -1
  38. package/dist/cli/commands/evolve.js +93 -6
  39. package/dist/cli/commands/init.d.ts +0 -1
  40. package/dist/cli/commands/init.js +0 -1
  41. package/dist/cli/commands/install.d.ts +22 -0
  42. package/dist/cli/commands/install.js +411 -0
  43. package/dist/cli/commands/observe/inbox.d.ts +0 -1
  44. package/dist/cli/commands/observe/inbox.js +0 -1
  45. package/dist/cli/commands/observe/index.d.ts +0 -1
  46. package/dist/cli/commands/observe/index.js +6 -3
  47. package/dist/cli/commands/observe/ingest.d.ts +0 -1
  48. package/dist/cli/commands/observe/ingest.js +0 -1
  49. package/dist/cli/commands/observe/show.d.ts +0 -1
  50. package/dist/cli/commands/observe/show.js +0 -1
  51. package/dist/cli/commands/sample.d.ts +2 -1
  52. package/dist/cli/commands/sample.js +100 -9
  53. package/dist/cli/commands/studio.d.ts +0 -1
  54. package/dist/cli/commands/studio.js +0 -1
  55. package/dist/cli/index.d.ts +0 -1
  56. package/dist/cli/index.js +1 -2
  57. package/dist/cli/lib/cli-exit.d.ts +0 -1
  58. package/dist/cli/lib/cli-exit.js +0 -1
  59. package/dist/cli/lib/cmd-flags.d.ts +11 -1
  60. package/dist/cli/lib/cmd-flags.js +0 -1
  61. package/dist/cli/lib/i18n-dict/common.d.ts +1 -2
  62. package/dist/cli/lib/i18n-dict/common.js +18 -3
  63. package/dist/cli/lib/i18n-dict/evolve.d.ts +1 -2
  64. package/dist/cli/lib/i18n-dict/evolve.js +24 -1
  65. package/dist/cli/lib/i18n-dict/gen.d.ts +0 -1
  66. package/dist/cli/lib/i18n-dict/gen.js +0 -1
  67. package/dist/cli/lib/i18n-dict/help.d.ts +0 -1
  68. package/dist/cli/lib/i18n-dict/help.js +0 -1
  69. package/dist/cli/lib/i18n-dict/init.d.ts +0 -1
  70. package/dist/cli/lib/i18n-dict/init.js +0 -1
  71. package/dist/cli/lib/i18n-dict/install.d.ts +3 -0
  72. package/dist/cli/lib/i18n-dict/install.js +90 -0
  73. package/dist/cli/lib/i18n-dict/run.d.ts +0 -1
  74. package/dist/cli/lib/i18n-dict/run.js +0 -1
  75. package/dist/cli/lib/i18n-dict/types.d.ts +0 -1
  76. package/dist/cli/lib/i18n-dict/types.js +0 -1
  77. package/dist/cli/lib/i18n-dict.d.ts +2 -2
  78. package/dist/cli/lib/i18n-dict.js +2 -1
  79. package/dist/cli/lib/i18n.d.ts +0 -1
  80. package/dist/cli/lib/i18n.js +0 -1
  81. package/dist/cli/lib/parse-run-config/judge-models.d.ts +0 -1
  82. package/dist/cli/lib/parse-run-config/judge-models.js +0 -1
  83. package/dist/cli/lib/parse-run-config/samples-discovery.d.ts +0 -1
  84. package/dist/cli/lib/parse-run-config/samples-discovery.js +1 -4
  85. package/dist/cli/lib/parse-run-config/variant-resolution.d.ts +8 -4
  86. package/dist/cli/lib/parse-run-config/variant-resolution.js +46 -14
  87. package/dist/cli/lib/parse-run-config.d.ts +0 -1
  88. package/dist/cli/lib/parse-run-config.js +1 -2
  89. package/dist/cli/lib/progress.d.ts +0 -1
  90. package/dist/cli/lib/progress.js +0 -1
  91. package/dist/cli/lib/resolve-skill-input.d.ts +0 -1
  92. package/dist/cli/lib/resolve-skill-input.js +7 -6
  93. package/dist/cli/lib/run-tally.d.ts +0 -1
  94. package/dist/cli/lib/run-tally.js +1 -2
  95. package/dist/cli/lib/shared.d.ts +0 -1
  96. package/dist/cli/lib/shared.js +1 -2
  97. package/dist/cli/lib/update-check.d.ts +65 -1
  98. package/dist/cli/lib/update-check.js +220 -32
  99. package/dist/cli/lib/update-fetch-worker.d.ts +1 -0
  100. package/dist/cli/lib/update-fetch-worker.js +34 -0
  101. package/dist/cli/oclif/base-command.d.ts +0 -1
  102. package/dist/cli/oclif/base-command.js +0 -1
  103. package/dist/cli/oclif/help.d.ts +0 -1
  104. package/dist/cli/oclif/help.js +0 -1
  105. package/dist/cli/oclif/i18n.d.ts +0 -1
  106. package/dist/cli/oclif/i18n.js +0 -1
  107. package/dist/cli/oclif/parsers.d.ts +0 -1
  108. package/dist/cli/oclif/parsers.js +0 -1
  109. package/dist/cli/oclif/projection.d.ts +0 -1
  110. package/dist/cli/oclif/projection.js +0 -1
  111. package/dist/cli/oclif/run.d.ts +0 -1
  112. package/dist/cli/oclif/run.js +0 -1
  113. package/dist/diagnosis/observe-mapper.d.ts +2 -3
  114. package/dist/diagnosis/observe-mapper.js +6 -7
  115. package/dist/diagnosis/observe-producer.d.ts +0 -1
  116. package/dist/diagnosis/observe-producer.js +3 -4
  117. package/dist/diagnosis/studio-projection.d.ts +0 -1
  118. package/dist/diagnosis/studio-projection.js +0 -1
  119. package/dist/diagnosis/types.d.ts +0 -1
  120. package/dist/diagnosis/types.js +0 -1
  121. package/dist/doctor/fixer.d.ts +0 -1
  122. package/dist/doctor/fixer.js +0 -1
  123. package/dist/doctor/health/builtin-dimensions.d.ts +0 -1
  124. package/dist/doctor/health/builtin-dimensions.js +0 -1
  125. package/dist/doctor/health/composer.d.ts +0 -1
  126. package/dist/doctor/health/composer.js +1 -2
  127. package/dist/doctor/health/dimension-registry.d.ts +0 -1
  128. package/dist/doctor/health/dimension-registry.js +0 -1
  129. package/dist/doctor/health/dimension-spec.d.ts +0 -1
  130. package/dist/doctor/health/dimension-spec.js +0 -1
  131. package/dist/doctor/health/load-custom-dimensions.d.ts +1 -0
  132. package/dist/doctor/health/load-custom-dimensions.js +30 -0
  133. package/dist/doctor/health/parser.d.ts +0 -1
  134. package/dist/doctor/health/parser.js +0 -1
  135. package/dist/doctor/health/prompt-builder.d.ts +0 -1
  136. package/dist/doctor/health/prompt-builder.js +0 -1
  137. package/dist/doctor/health/register.d.ts +0 -1
  138. package/dist/doctor/health/register.js +0 -1
  139. package/dist/doctor/index.d.ts +0 -1
  140. package/dist/doctor/index.js +1 -2
  141. package/dist/doctor/messages.d.ts +0 -1
  142. package/dist/doctor/messages.js +1 -2
  143. package/dist/doctor/preflight.d.ts +0 -1
  144. package/dist/doctor/preflight.js +0 -1
  145. package/dist/doctor/renderer.d.ts +0 -1
  146. package/dist/doctor/renderer.js +0 -1
  147. package/dist/doctor/rules.d.ts +0 -1
  148. package/dist/doctor/rules.js +0 -1
  149. package/dist/eval-core/bootstrap.d.ts +8 -1
  150. package/dist/eval-core/bootstrap.js +11 -4
  151. package/dist/eval-core/cache.d.ts +0 -1
  152. package/dist/eval-core/cache.js +0 -1
  153. package/dist/eval-core/comparability.d.ts +0 -1
  154. package/dist/eval-core/comparability.js +3 -4
  155. package/dist/eval-core/dependency-checker.d.ts +0 -1
  156. package/dist/eval-core/dependency-checker.js +2 -2
  157. package/dist/eval-core/evaluation-execution.d.ts +0 -1
  158. package/dist/eval-core/evaluation-execution.js +0 -1
  159. package/dist/eval-core/evaluation-job.d.ts +0 -1
  160. package/dist/eval-core/evaluation-job.js +0 -1
  161. package/dist/eval-core/evaluation-reporting.d.ts +0 -1
  162. package/dist/eval-core/evaluation-reporting.js +9 -8
  163. package/dist/eval-core/execution-strategy.d.ts +0 -1
  164. package/dist/eval-core/execution-strategy.js +6 -3
  165. package/dist/eval-core/fact-checker.d.ts +0 -1
  166. package/dist/eval-core/fact-checker.js +0 -1
  167. package/dist/eval-core/layer-gates.d.ts +0 -1
  168. package/dist/eval-core/layer-gates.js +0 -1
  169. package/dist/eval-core/mocks-runtime.d.ts +0 -1
  170. package/dist/eval-core/mocks-runtime.js +0 -1
  171. package/dist/eval-core/schema.d.ts +0 -1
  172. package/dist/eval-core/schema.js +0 -1
  173. package/dist/eval-core/statistics.d.ts +0 -1
  174. package/dist/eval-core/statistics.js +0 -1
  175. package/dist/eval-core/task-planner.d.ts +0 -1
  176. package/dist/eval-core/task-planner.js +0 -1
  177. package/dist/eval-core/verdict.d.ts +21 -4
  178. package/dist/eval-core/verdict.js +54 -5
  179. package/dist/eval-workflows/batch-evaluation-workflow.d.ts +18 -3
  180. package/dist/eval-workflows/batch-evaluation-workflow.js +31 -15
  181. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.d.ts +0 -1
  182. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.js +0 -1
  183. package/dist/eval-workflows/evaluation-pipeline/report-finalize.d.ts +0 -1
  184. package/dist/eval-workflows/evaluation-pipeline/report-finalize.js +0 -1
  185. package/dist/eval-workflows/evaluation-pipeline/run-state.d.ts +0 -1
  186. package/dist/eval-workflows/evaluation-pipeline/run-state.js +0 -1
  187. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.d.ts +0 -1
  188. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.js +0 -1
  189. package/dist/eval-workflows/evaluation-pipeline.d.ts +0 -1
  190. package/dist/eval-workflows/evaluation-pipeline.js +0 -1
  191. package/dist/eval-workflows/evaluation-preparation.d.ts +1 -5
  192. package/dist/eval-workflows/evaluation-preparation.js +20 -16
  193. package/dist/eval-workflows/messages.d.ts +0 -1
  194. package/dist/eval-workflows/messages.js +0 -1
  195. package/dist/eval-workflows/run-evaluation.d.ts +4 -9
  196. package/dist/eval-workflows/run-evaluation.js +16 -26
  197. package/dist/executors/anthropic-api.d.ts +0 -1
  198. package/dist/executors/anthropic-api.js +1 -2
  199. package/dist/executors/claude-cli.d.ts +0 -1
  200. package/dist/executors/claude-cli.js +0 -1
  201. package/dist/executors/claude-sdk-trace.d.ts +0 -1
  202. package/dist/executors/claude-sdk-trace.js +0 -1
  203. package/dist/executors/claude-sdk.d.ts +0 -1
  204. package/dist/executors/claude-sdk.js +0 -1
  205. package/dist/executors/codex-cli-trace.d.ts +0 -1
  206. package/dist/executors/codex-cli-trace.js +0 -1
  207. package/dist/executors/codex-cli.d.ts +0 -1
  208. package/dist/executors/codex-cli.js +0 -1
  209. package/dist/executors/codex-sdk.d.ts +0 -1
  210. package/dist/executors/codex-sdk.js +0 -1
  211. package/dist/executors/gemini.d.ts +0 -1
  212. package/dist/executors/gemini.js +0 -1
  213. package/dist/executors/index.d.ts +0 -1
  214. package/dist/executors/index.js +0 -1
  215. package/dist/executors/openai-api.d.ts +0 -1
  216. package/dist/executors/openai-api.js +0 -1
  217. package/dist/executors/runtime-fingerprint.d.ts +0 -1
  218. package/dist/executors/runtime-fingerprint.js +2 -3
  219. package/dist/executors/script.d.ts +0 -1
  220. package/dist/executors/script.js +0 -1
  221. package/dist/executors/shared.d.ts +0 -2
  222. package/dist/executors/shared.js +0 -1
  223. package/dist/grading/assertions.d.ts +0 -1
  224. package/dist/grading/assertions.js +0 -1
  225. package/dist/grading/debias-validate.d.ts +0 -1
  226. package/dist/grading/debias-validate.js +0 -1
  227. package/dist/grading/diagnostic.d.ts +0 -1
  228. package/dist/grading/diagnostic.js +0 -1
  229. package/dist/grading/gold-cli.d.ts +0 -1
  230. package/dist/grading/gold-cli.js +0 -1
  231. package/dist/grading/gold-dataset.d.ts +0 -1
  232. package/dist/grading/gold-dataset.js +0 -1
  233. package/dist/grading/human-gold.d.ts +0 -1
  234. package/dist/grading/human-gold.js +0 -1
  235. package/dist/grading/index.d.ts +0 -1
  236. package/dist/grading/index.js +0 -1
  237. package/dist/grading/judge.d.ts +0 -1
  238. package/dist/grading/judge.js +0 -1
  239. package/dist/grading/layered-scores.d.ts +0 -1
  240. package/dist/grading/layered-scores.js +0 -1
  241. package/dist/inputs/eval-config.d.ts +0 -1
  242. package/dist/inputs/eval-config.js +3 -2
  243. package/dist/inputs/load-samples.d.ts +0 -1
  244. package/dist/inputs/load-samples.js +0 -1
  245. package/dist/inputs/mcp-resolver.d.ts +0 -1
  246. package/dist/inputs/mcp-resolver.js +0 -1
  247. package/dist/inputs/skill-loader.d.ts +99 -7
  248. package/dist/inputs/skill-loader.js +325 -45
  249. package/dist/inputs/source-resolver.d.ts +28 -0
  250. package/dist/inputs/source-resolver.js +125 -0
  251. package/dist/inputs/url-fetcher.d.ts +0 -1
  252. package/dist/inputs/url-fetcher.js +0 -1
  253. package/dist/managed/index.d.ts +5 -0
  254. package/dist/managed/index.js +5 -0
  255. package/dist/managed/store.d.ts +76 -0
  256. package/dist/managed/store.js +260 -0
  257. package/dist/observability/experience-frontmatter.d.ts +0 -1
  258. package/dist/observability/experience-frontmatter.js +0 -1
  259. package/dist/observability/experience.d.ts +1 -2
  260. package/dist/observability/experience.js +1 -2
  261. package/dist/observability/feedback-matchers.d.ts +0 -1
  262. package/dist/observability/feedback-matchers.js +0 -1
  263. package/dist/observability/feedback-projection.d.ts +0 -1
  264. package/dist/observability/feedback-projection.js +0 -1
  265. package/dist/observability/inbox-view-model.d.ts +0 -1
  266. package/dist/observability/inbox-view-model.js +0 -1
  267. package/dist/observability/inbox.d.ts +0 -1
  268. package/dist/observability/inbox.js +2 -3
  269. package/dist/observability/problem-patterns.d.ts +0 -1
  270. package/dist/observability/problem-patterns.js +0 -1
  271. package/dist/observability/resolved-review.d.ts +0 -1
  272. package/dist/observability/resolved-review.js +4 -5
  273. package/dist/observability/review-state.d.ts +0 -1
  274. package/dist/observability/review-state.js +3 -4
  275. package/dist/observability/skill-chain-advisories.d.ts +0 -1
  276. package/dist/observability/skill-chain-advisories.js +0 -1
  277. package/dist/observability/skill-chain.d.ts +0 -1
  278. package/dist/observability/skill-chain.js +5 -6
  279. package/dist/observability/skill-health-analyzer.d.ts +13 -1
  280. package/dist/observability/skill-health-analyzer.js +17 -3
  281. package/dist/observability/soft-standards/constants.d.ts +0 -1
  282. package/dist/observability/soft-standards/constants.js +0 -1
  283. package/dist/observability/soft-standards/index.d.ts +0 -1
  284. package/dist/observability/soft-standards/index.js +0 -1
  285. package/dist/observability/soft-standards/llm-extractor.d.ts +0 -1
  286. package/dist/observability/soft-standards/llm-extractor.js +7 -8
  287. package/dist/observability/soft-standards/runtime-evaluator.d.ts +0 -1
  288. package/dist/observability/soft-standards/runtime-evaluator.js +2 -3
  289. package/dist/observability/soft-standards/skill-standards-store.d.ts +0 -1
  290. package/dist/observability/soft-standards/skill-standards-store.js +5 -6
  291. package/dist/observability/soft-standards/types.d.ts +10 -11
  292. package/dist/observability/soft-standards/types.js +0 -1
  293. package/dist/observability/text-signals.d.ts +0 -1
  294. package/dist/observability/text-signals.js +0 -1
  295. package/dist/observability/trace-adapter.d.ts +0 -1
  296. package/dist/observability/trace-adapter.js +0 -1
  297. package/dist/observability/trace-attribution.d.ts +0 -1
  298. package/dist/observability/trace-attribution.js +0 -1
  299. package/dist/observability/trace-segmenter.d.ts +0 -1
  300. package/dist/observability/trace-segmenter.js +0 -1
  301. package/dist/observability/trace-source.d.ts +0 -1
  302. package/dist/observability/trace-source.js +0 -1
  303. package/dist/renderer/html-renderer.d.ts +0 -1
  304. package/dist/renderer/html-renderer.js +4 -5
  305. package/dist/renderer/layout.d.ts +0 -1
  306. package/dist/renderer/layout.js +2 -1
  307. package/dist/renderer/observation-inbox/helpers.d.ts +0 -1
  308. package/dist/renderer/observation-inbox/helpers.js +0 -1
  309. package/dist/renderer/observation-inbox/styles.d.ts +0 -1
  310. package/dist/renderer/observation-inbox/styles.js +0 -1
  311. package/dist/renderer/observation-inbox-renderer.d.ts +0 -1
  312. package/dist/renderer/observation-inbox-renderer.js +13 -14
  313. package/dist/renderer/skill-detail-renderer.d.ts +0 -1
  314. package/dist/renderer/skill-detail-renderer.js +101 -23
  315. package/dist/renderer/skill-health-renderer.d.ts +0 -1
  316. package/dist/renderer/skill-health-renderer.js +33 -5
  317. package/dist/renderer/skill-list-renderer.d.ts +0 -1
  318. package/dist/renderer/skill-list-renderer.js +18 -7
  319. package/dist/renderer/summary.d.ts +0 -1
  320. package/dist/renderer/summary.js +21 -10
  321. package/dist/renderer/table.d.ts +0 -1
  322. package/dist/renderer/table.js +0 -1
  323. package/dist/renderer/test-view.d.ts +0 -1
  324. package/dist/renderer/test-view.js +0 -1
  325. package/dist/renderer/trends.d.ts +0 -1
  326. package/dist/renderer/trends.js +0 -1
  327. package/dist/server/job-store.d.ts +0 -1
  328. package/dist/server/job-store.js +0 -1
  329. package/dist/server/report-server.d.ts +0 -1
  330. package/dist/server/report-server.js +10 -4
  331. package/dist/server/report-store.d.ts +1 -2
  332. package/dist/server/report-store.js +6 -7
  333. package/dist/server/skill-index.d.ts +0 -1
  334. package/dist/server/skill-index.js +7 -5
  335. package/dist/server/skill-insights.d.ts +0 -1
  336. package/dist/server/skill-insights.js +41 -14
  337. package/dist/shared/hard-rules.d.ts +0 -1
  338. package/dist/shared/hard-rules.js +0 -1
  339. package/dist/shared/llm-prompts/index.d.ts +0 -1
  340. package/dist/shared/llm-prompts/index.js +0 -1
  341. package/dist/shared/llm-prompts/skill-health.d.ts +0 -1
  342. package/dist/shared/llm-prompts/skill-health.js +0 -1
  343. package/dist/shared/time.d.ts +0 -1
  344. package/dist/shared/time.js +0 -1
  345. package/dist/shared/tool-search.d.ts +0 -1
  346. package/dist/shared/tool-search.js +0 -1
  347. package/dist/types/dependencies.d.ts +0 -1
  348. package/dist/types/dependencies.js +0 -1
  349. package/dist/types/diagnosis.d.ts +0 -1
  350. package/dist/types/diagnosis.js +0 -1
  351. package/dist/types/doctor.d.ts +4 -5
  352. package/dist/types/doctor.js +2 -3
  353. package/dist/types/eval.d.ts +2 -1
  354. package/dist/types/eval.js +0 -1
  355. package/dist/types/executor.d.ts +1 -2
  356. package/dist/types/executor.js +0 -1
  357. package/dist/types/index.d.ts +1 -1
  358. package/dist/types/index.js +1 -1
  359. package/dist/types/judge.d.ts +0 -1
  360. package/dist/types/judge.js +0 -1
  361. package/dist/types/managed.d.ts +85 -0
  362. package/dist/types/managed.js +1 -0
  363. package/dist/types/observability.d.ts +5 -6
  364. package/dist/types/observability.js +0 -1
  365. package/dist/types/report.d.ts +2 -3
  366. package/dist/types/report.js +0 -1
  367. package/dist/types/shared.d.ts +0 -1
  368. package/dist/types/shared.js +0 -1
  369. package/dist/types/skill-index.d.ts +3 -1
  370. package/dist/types/skill-index.js +0 -1
  371. package/dist/types/storage.d.ts +0 -1
  372. package/dist/types/storage.js +0 -1
  373. package/dist/util/safe-slice.d.ts +0 -1
  374. package/dist/util/safe-slice.js +0 -1
  375. package/package.json +10 -5
  376. package/dist/analysis/coverage-analyzer.d.ts.map +0 -1
  377. package/dist/analysis/coverage-analyzer.js.map +0 -1
  378. package/dist/analysis/failure-clusterer.d.ts.map +0 -1
  379. package/dist/analysis/failure-clusterer.js.map +0 -1
  380. package/dist/analysis/gap-analyzer.d.ts.map +0 -1
  381. package/dist/analysis/gap-analyzer.js.map +0 -1
  382. package/dist/analysis/hedging-classifier.d.ts.map +0 -1
  383. package/dist/analysis/hedging-classifier.js.map +0 -1
  384. package/dist/analysis/report-diagnostics.d.ts.map +0 -1
  385. package/dist/analysis/report-diagnostics.js.map +0 -1
  386. package/dist/analysis/sample-diagnostics.d.ts.map +0 -1
  387. package/dist/analysis/sample-diagnostics.js.map +0 -1
  388. package/dist/analysis/saturation.d.ts.map +0 -1
  389. package/dist/analysis/saturation.js.map +0 -1
  390. package/dist/authoring/evolver.d.ts.map +0 -1
  391. package/dist/authoring/evolver.js.map +0 -1
  392. package/dist/authoring/generator.d.ts.map +0 -1
  393. package/dist/authoring/generator.js.map +0 -1
  394. package/dist/authoring/sample-fixer.d.ts.map +0 -1
  395. package/dist/authoring/sample-fixer.js.map +0 -1
  396. package/dist/cli/commands/doctor.d.ts.map +0 -1
  397. package/dist/cli/commands/doctor.js.map +0 -1
  398. package/dist/cli/commands/eval/gold/compare.d.ts.map +0 -1
  399. package/dist/cli/commands/eval/gold/compare.js.map +0 -1
  400. package/dist/cli/commands/eval/gold/index.d.ts.map +0 -1
  401. package/dist/cli/commands/eval/gold/index.js.map +0 -1
  402. package/dist/cli/commands/eval/gold/init.d.ts.map +0 -1
  403. package/dist/cli/commands/eval/gold/init.js.map +0 -1
  404. package/dist/cli/commands/eval/gold/validate.d.ts.map +0 -1
  405. package/dist/cli/commands/eval/gold/validate.js.map +0 -1
  406. package/dist/cli/commands/eval/index.d.ts.map +0 -1
  407. package/dist/cli/commands/eval/index.js.map +0 -1
  408. package/dist/cli/commands/evolve.d.ts.map +0 -1
  409. package/dist/cli/commands/evolve.js.map +0 -1
  410. package/dist/cli/commands/init.d.ts.map +0 -1
  411. package/dist/cli/commands/init.js.map +0 -1
  412. package/dist/cli/commands/observe/inbox.d.ts.map +0 -1
  413. package/dist/cli/commands/observe/inbox.js.map +0 -1
  414. package/dist/cli/commands/observe/index.d.ts.map +0 -1
  415. package/dist/cli/commands/observe/index.js.map +0 -1
  416. package/dist/cli/commands/observe/ingest.d.ts.map +0 -1
  417. package/dist/cli/commands/observe/ingest.js.map +0 -1
  418. package/dist/cli/commands/observe/show.d.ts.map +0 -1
  419. package/dist/cli/commands/observe/show.js.map +0 -1
  420. package/dist/cli/commands/sample.d.ts.map +0 -1
  421. package/dist/cli/commands/sample.js.map +0 -1
  422. package/dist/cli/commands/studio.d.ts.map +0 -1
  423. package/dist/cli/commands/studio.js.map +0 -1
  424. package/dist/cli/index.d.ts.map +0 -1
  425. package/dist/cli/index.js.map +0 -1
  426. package/dist/cli/lib/cli-exit.d.ts.map +0 -1
  427. package/dist/cli/lib/cli-exit.js.map +0 -1
  428. package/dist/cli/lib/cmd-flags.d.ts.map +0 -1
  429. package/dist/cli/lib/cmd-flags.js.map +0 -1
  430. package/dist/cli/lib/i18n-dict/common.d.ts.map +0 -1
  431. package/dist/cli/lib/i18n-dict/common.js.map +0 -1
  432. package/dist/cli/lib/i18n-dict/evolve.d.ts.map +0 -1
  433. package/dist/cli/lib/i18n-dict/evolve.js.map +0 -1
  434. package/dist/cli/lib/i18n-dict/gen.d.ts.map +0 -1
  435. package/dist/cli/lib/i18n-dict/gen.js.map +0 -1
  436. package/dist/cli/lib/i18n-dict/help.d.ts.map +0 -1
  437. package/dist/cli/lib/i18n-dict/help.js.map +0 -1
  438. package/dist/cli/lib/i18n-dict/init.d.ts.map +0 -1
  439. package/dist/cli/lib/i18n-dict/init.js.map +0 -1
  440. package/dist/cli/lib/i18n-dict/run.d.ts.map +0 -1
  441. package/dist/cli/lib/i18n-dict/run.js.map +0 -1
  442. package/dist/cli/lib/i18n-dict/types.d.ts.map +0 -1
  443. package/dist/cli/lib/i18n-dict/types.js.map +0 -1
  444. package/dist/cli/lib/i18n-dict.d.ts.map +0 -1
  445. package/dist/cli/lib/i18n-dict.js.map +0 -1
  446. package/dist/cli/lib/i18n.d.ts.map +0 -1
  447. package/dist/cli/lib/i18n.js.map +0 -1
  448. package/dist/cli/lib/parse-run-config/judge-models.d.ts.map +0 -1
  449. package/dist/cli/lib/parse-run-config/judge-models.js.map +0 -1
  450. package/dist/cli/lib/parse-run-config/samples-discovery.d.ts.map +0 -1
  451. package/dist/cli/lib/parse-run-config/samples-discovery.js.map +0 -1
  452. package/dist/cli/lib/parse-run-config/variant-resolution.d.ts.map +0 -1
  453. package/dist/cli/lib/parse-run-config/variant-resolution.js.map +0 -1
  454. package/dist/cli/lib/parse-run-config.d.ts.map +0 -1
  455. package/dist/cli/lib/parse-run-config.js.map +0 -1
  456. package/dist/cli/lib/progress.d.ts.map +0 -1
  457. package/dist/cli/lib/progress.js.map +0 -1
  458. package/dist/cli/lib/resolve-skill-input.d.ts.map +0 -1
  459. package/dist/cli/lib/resolve-skill-input.js.map +0 -1
  460. package/dist/cli/lib/run-tally.d.ts.map +0 -1
  461. package/dist/cli/lib/run-tally.js.map +0 -1
  462. package/dist/cli/lib/shared.d.ts.map +0 -1
  463. package/dist/cli/lib/shared.js.map +0 -1
  464. package/dist/cli/lib/update-check.d.ts.map +0 -1
  465. package/dist/cli/lib/update-check.js.map +0 -1
  466. package/dist/cli/oclif/base-command.d.ts.map +0 -1
  467. package/dist/cli/oclif/base-command.js.map +0 -1
  468. package/dist/cli/oclif/help.d.ts.map +0 -1
  469. package/dist/cli/oclif/help.js.map +0 -1
  470. package/dist/cli/oclif/i18n.d.ts.map +0 -1
  471. package/dist/cli/oclif/i18n.js.map +0 -1
  472. package/dist/cli/oclif/parsers.d.ts.map +0 -1
  473. package/dist/cli/oclif/parsers.js.map +0 -1
  474. package/dist/cli/oclif/projection.d.ts.map +0 -1
  475. package/dist/cli/oclif/projection.js.map +0 -1
  476. package/dist/cli/oclif/run.d.ts.map +0 -1
  477. package/dist/cli/oclif/run.js.map +0 -1
  478. package/dist/diagnosis/observe-mapper.d.ts.map +0 -1
  479. package/dist/diagnosis/observe-mapper.js.map +0 -1
  480. package/dist/diagnosis/observe-producer.d.ts.map +0 -1
  481. package/dist/diagnosis/observe-producer.js.map +0 -1
  482. package/dist/diagnosis/studio-projection.d.ts.map +0 -1
  483. package/dist/diagnosis/studio-projection.js.map +0 -1
  484. package/dist/diagnosis/types.d.ts.map +0 -1
  485. package/dist/diagnosis/types.js.map +0 -1
  486. package/dist/doctor/fixer.d.ts.map +0 -1
  487. package/dist/doctor/fixer.js.map +0 -1
  488. package/dist/doctor/health/builtin-dimensions.d.ts.map +0 -1
  489. package/dist/doctor/health/builtin-dimensions.js.map +0 -1
  490. package/dist/doctor/health/composer.d.ts.map +0 -1
  491. package/dist/doctor/health/composer.js.map +0 -1
  492. package/dist/doctor/health/dimension-registry.d.ts.map +0 -1
  493. package/dist/doctor/health/dimension-registry.js.map +0 -1
  494. package/dist/doctor/health/dimension-spec.d.ts.map +0 -1
  495. package/dist/doctor/health/dimension-spec.js.map +0 -1
  496. package/dist/doctor/health/parser.d.ts.map +0 -1
  497. package/dist/doctor/health/parser.js.map +0 -1
  498. package/dist/doctor/health/prompt-builder.d.ts.map +0 -1
  499. package/dist/doctor/health/prompt-builder.js.map +0 -1
  500. package/dist/doctor/health/register.d.ts.map +0 -1
  501. package/dist/doctor/health/register.js.map +0 -1
  502. package/dist/doctor/index.d.ts.map +0 -1
  503. package/dist/doctor/index.js.map +0 -1
  504. package/dist/doctor/messages.d.ts.map +0 -1
  505. package/dist/doctor/messages.js.map +0 -1
  506. package/dist/doctor/preflight.d.ts.map +0 -1
  507. package/dist/doctor/preflight.js.map +0 -1
  508. package/dist/doctor/renderer.d.ts.map +0 -1
  509. package/dist/doctor/renderer.js.map +0 -1
  510. package/dist/doctor/rules.d.ts.map +0 -1
  511. package/dist/doctor/rules.js.map +0 -1
  512. package/dist/eval-core/bootstrap.d.ts.map +0 -1
  513. package/dist/eval-core/bootstrap.js.map +0 -1
  514. package/dist/eval-core/cache.d.ts.map +0 -1
  515. package/dist/eval-core/cache.js.map +0 -1
  516. package/dist/eval-core/comparability.d.ts.map +0 -1
  517. package/dist/eval-core/comparability.js.map +0 -1
  518. package/dist/eval-core/dependency-checker.d.ts.map +0 -1
  519. package/dist/eval-core/dependency-checker.js.map +0 -1
  520. package/dist/eval-core/evaluation-execution.d.ts.map +0 -1
  521. package/dist/eval-core/evaluation-execution.js.map +0 -1
  522. package/dist/eval-core/evaluation-job.d.ts.map +0 -1
  523. package/dist/eval-core/evaluation-job.js.map +0 -1
  524. package/dist/eval-core/evaluation-reporting.d.ts.map +0 -1
  525. package/dist/eval-core/evaluation-reporting.js.map +0 -1
  526. package/dist/eval-core/execution-strategy.d.ts.map +0 -1
  527. package/dist/eval-core/execution-strategy.js.map +0 -1
  528. package/dist/eval-core/fact-checker.d.ts.map +0 -1
  529. package/dist/eval-core/fact-checker.js.map +0 -1
  530. package/dist/eval-core/layer-gates.d.ts.map +0 -1
  531. package/dist/eval-core/layer-gates.js.map +0 -1
  532. package/dist/eval-core/mocks-runtime.d.ts.map +0 -1
  533. package/dist/eval-core/mocks-runtime.js.map +0 -1
  534. package/dist/eval-core/schema.d.ts.map +0 -1
  535. package/dist/eval-core/schema.js.map +0 -1
  536. package/dist/eval-core/statistics.d.ts.map +0 -1
  537. package/dist/eval-core/statistics.js.map +0 -1
  538. package/dist/eval-core/task-planner.d.ts.map +0 -1
  539. package/dist/eval-core/task-planner.js.map +0 -1
  540. package/dist/eval-core/verdict.d.ts.map +0 -1
  541. package/dist/eval-core/verdict.js.map +0 -1
  542. package/dist/eval-workflows/batch-evaluation-workflow.d.ts.map +0 -1
  543. package/dist/eval-workflows/batch-evaluation-workflow.js.map +0 -1
  544. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.d.ts.map +0 -1
  545. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.js.map +0 -1
  546. package/dist/eval-workflows/evaluation-pipeline/report-finalize.d.ts.map +0 -1
  547. package/dist/eval-workflows/evaluation-pipeline/report-finalize.js.map +0 -1
  548. package/dist/eval-workflows/evaluation-pipeline/run-state.d.ts.map +0 -1
  549. package/dist/eval-workflows/evaluation-pipeline/run-state.js.map +0 -1
  550. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.d.ts.map +0 -1
  551. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.js.map +0 -1
  552. package/dist/eval-workflows/evaluation-pipeline.d.ts.map +0 -1
  553. package/dist/eval-workflows/evaluation-pipeline.js.map +0 -1
  554. package/dist/eval-workflows/evaluation-preparation.d.ts.map +0 -1
  555. package/dist/eval-workflows/evaluation-preparation.js.map +0 -1
  556. package/dist/eval-workflows/messages.d.ts.map +0 -1
  557. package/dist/eval-workflows/messages.js.map +0 -1
  558. package/dist/eval-workflows/run-evaluation.d.ts.map +0 -1
  559. package/dist/eval-workflows/run-evaluation.js.map +0 -1
  560. package/dist/executors/anthropic-api.d.ts.map +0 -1
  561. package/dist/executors/anthropic-api.js.map +0 -1
  562. package/dist/executors/claude-cli.d.ts.map +0 -1
  563. package/dist/executors/claude-cli.js.map +0 -1
  564. package/dist/executors/claude-sdk-trace.d.ts.map +0 -1
  565. package/dist/executors/claude-sdk-trace.js.map +0 -1
  566. package/dist/executors/claude-sdk.d.ts.map +0 -1
  567. package/dist/executors/claude-sdk.js.map +0 -1
  568. package/dist/executors/codex-cli-trace.d.ts.map +0 -1
  569. package/dist/executors/codex-cli-trace.js.map +0 -1
  570. package/dist/executors/codex-cli.d.ts.map +0 -1
  571. package/dist/executors/codex-cli.js.map +0 -1
  572. package/dist/executors/codex-sdk.d.ts.map +0 -1
  573. package/dist/executors/codex-sdk.js.map +0 -1
  574. package/dist/executors/gemini.d.ts.map +0 -1
  575. package/dist/executors/gemini.js.map +0 -1
  576. package/dist/executors/index.d.ts.map +0 -1
  577. package/dist/executors/index.js.map +0 -1
  578. package/dist/executors/openai-api.d.ts.map +0 -1
  579. package/dist/executors/openai-api.js.map +0 -1
  580. package/dist/executors/runtime-fingerprint.d.ts.map +0 -1
  581. package/dist/executors/runtime-fingerprint.js.map +0 -1
  582. package/dist/executors/script.d.ts.map +0 -1
  583. package/dist/executors/script.js.map +0 -1
  584. package/dist/executors/shared.d.ts.map +0 -1
  585. package/dist/executors/shared.js.map +0 -1
  586. package/dist/grading/assertions.d.ts.map +0 -1
  587. package/dist/grading/assertions.js.map +0 -1
  588. package/dist/grading/debias-validate.d.ts.map +0 -1
  589. package/dist/grading/debias-validate.js.map +0 -1
  590. package/dist/grading/diagnostic.d.ts.map +0 -1
  591. package/dist/grading/diagnostic.js.map +0 -1
  592. package/dist/grading/gold-cli.d.ts.map +0 -1
  593. package/dist/grading/gold-cli.js.map +0 -1
  594. package/dist/grading/gold-dataset.d.ts.map +0 -1
  595. package/dist/grading/gold-dataset.js.map +0 -1
  596. package/dist/grading/human-gold.d.ts.map +0 -1
  597. package/dist/grading/human-gold.js.map +0 -1
  598. package/dist/grading/index.d.ts.map +0 -1
  599. package/dist/grading/index.js.map +0 -1
  600. package/dist/grading/judge.d.ts.map +0 -1
  601. package/dist/grading/judge.js.map +0 -1
  602. package/dist/grading/layered-scores.d.ts.map +0 -1
  603. package/dist/grading/layered-scores.js.map +0 -1
  604. package/dist/inputs/eval-config.d.ts.map +0 -1
  605. package/dist/inputs/eval-config.js.map +0 -1
  606. package/dist/inputs/load-samples.d.ts.map +0 -1
  607. package/dist/inputs/load-samples.js.map +0 -1
  608. package/dist/inputs/mcp-resolver.d.ts.map +0 -1
  609. package/dist/inputs/mcp-resolver.js.map +0 -1
  610. package/dist/inputs/skill-loader.d.ts.map +0 -1
  611. package/dist/inputs/skill-loader.js.map +0 -1
  612. package/dist/inputs/url-fetcher.d.ts.map +0 -1
  613. package/dist/inputs/url-fetcher.js.map +0 -1
  614. package/dist/observability/experience-frontmatter.d.ts.map +0 -1
  615. package/dist/observability/experience-frontmatter.js.map +0 -1
  616. package/dist/observability/experience.d.ts.map +0 -1
  617. package/dist/observability/experience.js.map +0 -1
  618. package/dist/observability/feedback-matchers.d.ts.map +0 -1
  619. package/dist/observability/feedback-matchers.js.map +0 -1
  620. package/dist/observability/feedback-projection.d.ts.map +0 -1
  621. package/dist/observability/feedback-projection.js.map +0 -1
  622. package/dist/observability/inbox-view-model.d.ts.map +0 -1
  623. package/dist/observability/inbox-view-model.js.map +0 -1
  624. package/dist/observability/inbox.d.ts.map +0 -1
  625. package/dist/observability/inbox.js.map +0 -1
  626. package/dist/observability/problem-patterns.d.ts.map +0 -1
  627. package/dist/observability/problem-patterns.js.map +0 -1
  628. package/dist/observability/resolved-review.d.ts.map +0 -1
  629. package/dist/observability/resolved-review.js.map +0 -1
  630. package/dist/observability/review-state.d.ts.map +0 -1
  631. package/dist/observability/review-state.js.map +0 -1
  632. package/dist/observability/skill-chain-advisories.d.ts.map +0 -1
  633. package/dist/observability/skill-chain-advisories.js.map +0 -1
  634. package/dist/observability/skill-chain.d.ts.map +0 -1
  635. package/dist/observability/skill-chain.js.map +0 -1
  636. package/dist/observability/skill-health-analyzer.d.ts.map +0 -1
  637. package/dist/observability/skill-health-analyzer.js.map +0 -1
  638. package/dist/observability/soft-standards/constants.d.ts.map +0 -1
  639. package/dist/observability/soft-standards/constants.js.map +0 -1
  640. package/dist/observability/soft-standards/index.d.ts.map +0 -1
  641. package/dist/observability/soft-standards/index.js.map +0 -1
  642. package/dist/observability/soft-standards/llm-extractor.d.ts.map +0 -1
  643. package/dist/observability/soft-standards/llm-extractor.js.map +0 -1
  644. package/dist/observability/soft-standards/runtime-evaluator.d.ts.map +0 -1
  645. package/dist/observability/soft-standards/runtime-evaluator.js.map +0 -1
  646. package/dist/observability/soft-standards/skill-standards-store.d.ts.map +0 -1
  647. package/dist/observability/soft-standards/skill-standards-store.js.map +0 -1
  648. package/dist/observability/soft-standards/types.d.ts.map +0 -1
  649. package/dist/observability/soft-standards/types.js.map +0 -1
  650. package/dist/observability/text-signals.d.ts.map +0 -1
  651. package/dist/observability/text-signals.js.map +0 -1
  652. package/dist/observability/trace-adapter.d.ts.map +0 -1
  653. package/dist/observability/trace-adapter.js.map +0 -1
  654. package/dist/observability/trace-attribution.d.ts.map +0 -1
  655. package/dist/observability/trace-attribution.js.map +0 -1
  656. package/dist/observability/trace-segmenter.d.ts.map +0 -1
  657. package/dist/observability/trace-segmenter.js.map +0 -1
  658. package/dist/observability/trace-source.d.ts.map +0 -1
  659. package/dist/observability/trace-source.js.map +0 -1
  660. package/dist/renderer/html-renderer.d.ts.map +0 -1
  661. package/dist/renderer/html-renderer.js.map +0 -1
  662. package/dist/renderer/layout.d.ts.map +0 -1
  663. package/dist/renderer/layout.js.map +0 -1
  664. package/dist/renderer/observation-inbox/helpers.d.ts.map +0 -1
  665. package/dist/renderer/observation-inbox/helpers.js.map +0 -1
  666. package/dist/renderer/observation-inbox/styles.d.ts.map +0 -1
  667. package/dist/renderer/observation-inbox/styles.js.map +0 -1
  668. package/dist/renderer/observation-inbox-renderer.d.ts.map +0 -1
  669. package/dist/renderer/observation-inbox-renderer.js.map +0 -1
  670. package/dist/renderer/skill-detail-renderer.d.ts.map +0 -1
  671. package/dist/renderer/skill-detail-renderer.js.map +0 -1
  672. package/dist/renderer/skill-health-renderer.d.ts.map +0 -1
  673. package/dist/renderer/skill-health-renderer.js.map +0 -1
  674. package/dist/renderer/skill-list-renderer.d.ts.map +0 -1
  675. package/dist/renderer/skill-list-renderer.js.map +0 -1
  676. package/dist/renderer/summary.d.ts.map +0 -1
  677. package/dist/renderer/summary.js.map +0 -1
  678. package/dist/renderer/table.d.ts.map +0 -1
  679. package/dist/renderer/table.js.map +0 -1
  680. package/dist/renderer/test-view.d.ts.map +0 -1
  681. package/dist/renderer/test-view.js.map +0 -1
  682. package/dist/renderer/trends.d.ts.map +0 -1
  683. package/dist/renderer/trends.js.map +0 -1
  684. package/dist/server/job-store.d.ts.map +0 -1
  685. package/dist/server/job-store.js.map +0 -1
  686. package/dist/server/report-server.d.ts.map +0 -1
  687. package/dist/server/report-server.js.map +0 -1
  688. package/dist/server/report-store.d.ts.map +0 -1
  689. package/dist/server/report-store.js.map +0 -1
  690. package/dist/server/skill-index.d.ts.map +0 -1
  691. package/dist/server/skill-index.js.map +0 -1
  692. package/dist/server/skill-insights.d.ts.map +0 -1
  693. package/dist/server/skill-insights.js.map +0 -1
  694. package/dist/shared/hard-rules.d.ts.map +0 -1
  695. package/dist/shared/hard-rules.js.map +0 -1
  696. package/dist/shared/llm-prompts/index.d.ts.map +0 -1
  697. package/dist/shared/llm-prompts/index.js.map +0 -1
  698. package/dist/shared/llm-prompts/skill-health.d.ts.map +0 -1
  699. package/dist/shared/llm-prompts/skill-health.js.map +0 -1
  700. package/dist/shared/time.d.ts.map +0 -1
  701. package/dist/shared/time.js.map +0 -1
  702. package/dist/shared/tool-search.d.ts.map +0 -1
  703. package/dist/shared/tool-search.js.map +0 -1
  704. package/dist/types/dependencies.d.ts.map +0 -1
  705. package/dist/types/dependencies.js.map +0 -1
  706. package/dist/types/diagnosis.d.ts.map +0 -1
  707. package/dist/types/diagnosis.js.map +0 -1
  708. package/dist/types/doctor.d.ts.map +0 -1
  709. package/dist/types/doctor.js.map +0 -1
  710. package/dist/types/eval.d.ts.map +0 -1
  711. package/dist/types/eval.js.map +0 -1
  712. package/dist/types/executor.d.ts.map +0 -1
  713. package/dist/types/executor.js.map +0 -1
  714. package/dist/types/index.d.ts.map +0 -1
  715. package/dist/types/index.js.map +0 -1
  716. package/dist/types/judge.d.ts.map +0 -1
  717. package/dist/types/judge.js.map +0 -1
  718. package/dist/types/observability.d.ts.map +0 -1
  719. package/dist/types/observability.js.map +0 -1
  720. package/dist/types/report.d.ts.map +0 -1
  721. package/dist/types/report.js.map +0 -1
  722. package/dist/types/shared.d.ts.map +0 -1
  723. package/dist/types/shared.js.map +0 -1
  724. package/dist/types/skill-index.d.ts.map +0 -1
  725. package/dist/types/skill-index.js.map +0 -1
  726. package/dist/types/storage.d.ts.map +0 -1
  727. package/dist/types/storage.js.map +0 -1
  728. package/dist/util/safe-slice.d.ts.map +0 -1
  729. package/dist/util/safe-slice.js.map +0 -1
@@ -6,9 +6,10 @@
6
6
  * v0.21 makes the data trustworthy. closes the last mile: senior
7
7
  * engineers' #1 complaint is "the report has all the right numbers but I
8
8
  * still need 30 minutes to read it before I can decide". This module
9
- * aggregates the four data sources omk already produces — Bootstrap CI on
10
- * the pairwise diff, three-layer CI gate, saturation curve, and (when
11
- * available) Krippendorff α against gold — and emits one of four verdicts:
9
+ * aggregates the data sources omk already produces — Bootstrap CI on the
10
+ * pairwise diff, three-layer CI gate, saturation curve, inter-judge ensemble
11
+ * agreement, and (when available) Krippendorff α against gold — and emits one
12
+ * of six verdicts:
12
13
  *
13
14
  * - **PROGRESS** diff CI shows real positive shift, no layer regressed
14
15
  * - **CAUTIOUS** positive shift but at least one layer broke its gate,
@@ -27,6 +28,23 @@
27
28
  * empirical) is documented inline so users can audit and override.
28
29
  */
29
30
  import { evaluateLayerGates } from './layer-gates.js';
31
+ /**
32
+ * Below this sample count a non-significant diff is read as UNDERPOWERED
33
+ * (only large effects are detectable) rather than NOISE. Matches the
34
+ * pre-flight power band documented in `docs/specs/sample-design-spec.md`;
35
+ * guarded by `test/scripts/doc-constants-drift.test.ts`.
36
+ */
37
+ export const UNDERPOWERED_MIN_SAMPLES = 20;
38
+ /**
39
+ * Inter-judge Pearson bands, shared with the report's ensemble-agreement audit
40
+ * badge (`src/renderer/summary.ts`) so the verdict gate and the UI read one scale.
41
+ * - `>= ENSEMBLE_STRONG_PEARSON` (0.7): judges agree on rank order (badge green).
42
+ * - `< ENSEMBLE_DISSENT_PEARSON` (0.4): strong disagreement (badge red). A
43
+ * would-be PROGRESS is downgraded to CAUTIOUS — the judge-layer signal driving
44
+ * the win is unreliable when the ensemble can't agree.
45
+ */
46
+ export const ENSEMBLE_STRONG_PEARSON = 0.7;
47
+ export const ENSEMBLE_DISSENT_PEARSON = 0.4;
30
48
  /**
31
49
  * Compute a verdict for a finished report. Pure function — no I/O.
32
50
  */
@@ -133,7 +151,7 @@ function verdictForPair(pair, summary, sampleCount, report, gateThreshold, trivi
133
151
  // Diff CI contains 0. Distinguish "underpowered (saturation says: more samples needed)"
134
152
  // from "noise (saturation says: we're saturated, the effect just isn't there)".
135
153
  const satVerdict = report.variance?.saturation?.verdicts?.[treatment];
136
- const underpowered = sampleCount < 20 ||
154
+ const underpowered = sampleCount < UNDERPOWERED_MIN_SAMPLES ||
137
155
  (satVerdict && !satVerdict.saturated && satVerdict.confidence !== 'high');
138
156
  if (underpowered) {
139
157
  return {
@@ -167,6 +185,19 @@ function verdictForPair(pair, summary, sampleCount, report, gateThreshold, trivi
167
185
  headline: `${headlineCore} · significant but practically tiny`,
168
186
  };
169
187
  }
188
+ // Ensemble dissent gate: a real, gate-passing gain is only PROGRESS if the
189
+ // judges that produced it actually agree. When inter-judge Pearson sits in the
190
+ // badge's red band (< ENSEMBLE_DISSENT_PEARSON) for either compared variant,
191
+ // the judge-layer signal behind the win is unreliable → downgrade to CAUTIOUS.
192
+ const dissent = ensembleDissent(pair, summary);
193
+ if (dissent) {
194
+ return {
195
+ control,
196
+ treatment,
197
+ level: 'CAUTIOUS',
198
+ headline: `${headlineCore} · gain real, but judges disagree on ${dissent.variant} (Pearson ${dissent.pearson} < ${ENSEMBLE_DISSENT_PEARSON})`,
199
+ };
200
+ }
170
201
  // Did control break a gate? Then treatment winning isn't surprising — flag.
171
202
  if (!cGate.allPass) {
172
203
  return {
@@ -178,6 +209,25 @@ function verdictForPair(pair, summary, sampleCount, report, gateThreshold, trivi
178
209
  }
179
210
  return { control, treatment, level: 'PROGRESS', headline: `${headlineCore} · clean win` };
180
211
  }
212
+ /**
213
+ * Strong inter-judge disagreement on the compared pair, if any. Reuses the
214
+ * persisted per-variant ensemble Pearson (`summary[v].judgeAgreement.pearson`).
215
+ * Returns the worst offender below the dissent threshold, or null when every
216
+ * variant agrees / has no ensemble signal (single- or constant-score judge ⇒
217
+ * pearson undefined, nothing to act on — its disagreement, if any, still shows
218
+ * in the report's MAD column).
219
+ */
220
+ function ensembleDissent(pair, summary) {
221
+ let worst = null;
222
+ for (const variant of [pair.treatment, pair.control]) {
223
+ const pearson = summary[variant]?.judgeAgreement?.pearson;
224
+ if (pearson != null && pearson < ENSEMBLE_DISSENT_PEARSON) {
225
+ if (!worst || pearson < worst.pearson)
226
+ worst = { variant, pearson };
227
+ }
228
+ }
229
+ return worst;
230
+ }
181
231
  function avgComposite(s) {
182
232
  if (!s)
183
233
  return 0;
@@ -319,4 +369,3 @@ export function formatVerdictText(result, options = {}) {
319
369
  }
320
370
  return lines.join('\n');
321
371
  }
322
- //# sourceMappingURL=verdict.js.map
@@ -1,8 +1,12 @@
1
- import type { Artifact, BatchEvaluationReport, EvaluationReport, JobStore, ProgressCallback } from '../types/index.js';
1
+ import type { BatchEvaluationReport, EvaluationReport, JobStore, ProgressCallback, VariantSpec } from '../types/index.js';
2
2
  interface RunSingleEvaluationOptions {
3
3
  samplesPath: string;
4
4
  skillDir: string;
5
- artifacts: Artifact[];
5
+ /** 每个 batch entry 的实验结构(baseline control vs 当前 skill treatment),由
6
+ * runEvaluation 的 spec-based 解析统一绑定 role / 隔离。 */
7
+ variantSpecs: VariantSpec[];
8
+ /** strict-baseline default,透传给 per-skill runEvaluation(baseline → allowedSkills=[])。 */
9
+ strictBaseline?: boolean;
6
10
  model: string;
7
11
  judgeModel: string;
8
12
  outputDir: string | null;
@@ -42,6 +46,18 @@ interface CompletedBatchSkillRun {
42
46
  report: EvaluationReport;
43
47
  filePath: string | null;
44
48
  }
49
+ /** Batch 每个 entry 的实验结构固定:baseline control vs 当前 skill treatment。
50
+ * 构造 VariantSpec 交给 runEvaluation 的 spec-based 解析按身份绑定 role / 隔离——与单跑
51
+ * 路径同一处绑定逻辑,batch 不再自管 artifact 拼装(此前两处手抄 resolveArtifacts().map()
52
+ * 导致 #183 角色误绑各存一份)。
53
+ * 两个 variant 的 allowedSkills 都从 eval.yaml variants[].allowedSkills 取:treatment 按 skill
54
+ * 名 entry.name 查、baseline 按保留名 `baseline` 查,挂到对应 spec 上由 prepareEvaluationRun
55
+ * 统一绑定。baseline 的显式声明(白名单或 `[]`)必须保留——eval.yaml variant.allowedSkills
56
+ * 优先于 strictBaseline 默认,漏挂会让 `--batch --config` 的 baseline 隔离配置静默失效。 */
57
+ export declare function buildBatchVariantSpecs(entry: {
58
+ name: string;
59
+ skillPath: string;
60
+ }, variantAllowedSkills?: Record<string, string[]>): VariantSpec[];
45
61
  export declare function buildBatchEvaluationReport({ batchRunId, skillDir, skillEntries, skillResults, model, judgeModel, noJudge, executorName, judgeExecutorName, project, owner, tags, concurrency, timeoutMs, totalCostUSD, repeat, judgeModels, noCache, bootstrap, bootstrapSamples, lengthDebias, budget, }: {
46
62
  batchRunId: string;
47
63
  skillDir: string;
@@ -127,4 +143,3 @@ export declare function executeBatchEvaluationRuns({ skillDir, skillEntries, mod
127
143
  filePath: string | null;
128
144
  }>;
129
145
  export {};
130
- //# sourceMappingURL=batch-evaluation-workflow.d.ts.map
@@ -1,9 +1,34 @@
1
- import { dirname, resolve } from 'node:path';
1
+ import { dirname } from 'node:path';
2
2
  import { DEFAULT_OUTPUT_DIR, generateRunId, getCliVersion, getGitInfo, persistReport } from '../eval-core/evaluation-reporting.js';
3
3
  import { buildEvaluationRequest, createEvaluationRun, createSucceededJob, finalizeEvaluationRun } from '../eval-core/evaluation-job.js';
4
4
  import { getExecutorRuntimeFingerprint } from '../executors/runtime-fingerprint.js';
5
5
  import { createFileJobStore, DEFAULT_JOBS_DIR } from '../server/job-store.js';
6
- import { resolveArtifacts } from '../inputs/skill-loader.js';
6
+ /** Batch 每个 entry 的实验结构固定:baseline control vs 当前 skill treatment。
7
+ * 构造 VariantSpec 交给 runEvaluation 的 spec-based 解析按身份绑定 role / 隔离——与单跑
8
+ * 路径同一处绑定逻辑,batch 不再自管 artifact 拼装(此前两处手抄 resolveArtifacts().map()
9
+ * 导致 #183 角色误绑各存一份)。
10
+ * 两个 variant 的 allowedSkills 都从 eval.yaml variants[].allowedSkills 取:treatment 按 skill
11
+ * 名 entry.name 查、baseline 按保留名 `baseline` 查,挂到对应 spec 上由 prepareEvaluationRun
12
+ * 统一绑定。baseline 的显式声明(白名单或 `[]`)必须保留——eval.yaml variant.allowedSkills
13
+ * 优先于 strictBaseline 默认,漏挂会让 `--batch --config` 的 baseline 隔离配置静默失效。 */
14
+ export function buildBatchVariantSpecs(entry, variantAllowedSkills) {
15
+ const baselineAllowed = variantAllowedSkills?.baseline;
16
+ const treatmentAllowed = variantAllowedSkills?.[entry.name];
17
+ return [
18
+ {
19
+ name: 'baseline',
20
+ role: 'control',
21
+ expr: 'baseline',
22
+ ...(baselineAllowed !== undefined && { allowedSkills: baselineAllowed }),
23
+ },
24
+ {
25
+ name: entry.name,
26
+ role: 'treatment',
27
+ expr: entry.skillPath,
28
+ ...(treatmentAllowed !== undefined && { allowedSkills: treatmentAllowed }),
29
+ },
30
+ ];
31
+ }
7
32
  function commonRuntime(runtimes) {
8
33
  const values = Object.values(runtimes);
9
34
  if (values.length === 0)
@@ -110,7 +135,7 @@ export function buildBatchEvaluationReport({ batchRunId, skillDir, skillEntries,
110
135
  ...(noJudge ? {} : { runtime: getExecutorRuntimeFingerprint(jc.executor, jc.model, { skillDir }) }),
111
136
  }));
112
137
  const report = {
113
- kind: 'batch-evaluation',
138
+ reportKind: 'batch-evaluation',
114
139
  id: batchRunId,
115
140
  mode: 'skill',
116
141
  meta: {
@@ -146,21 +171,13 @@ export async function executeBatchEvaluationRuns({ skillDir, skillEntries, model
146
171
  for (let i = 0; i < skillEntries.length; i++) {
147
172
  const entry = skillEntries[i];
148
173
  onSkillProgress?.({ phase: 'start', skill: entry.name, current: i + 1, total: skillEntries.length });
149
- // Batch mode 的实验结构固定为 baseline control vs 当前 skill treatment。
150
- const perSkillAllowedSkills = variantAllowedSkills?.[entry.name] !== undefined
151
- ? { ...variantAllowedSkills, [entry.skillPath]: variantAllowedSkills[entry.name] }
152
- : variantAllowedSkills;
153
- const skillArtifacts = resolveArtifacts(resolve(skillDir), ['baseline', entry.skillPath], { strictBaseline, variantAllowedSkills: perSkillAllowedSkills }).map((artifact) => {
154
- if (artifact.name === entry.skillPath) {
155
- return { ...artifact, name: entry.name, experimentRole: 'treatment' };
156
- }
157
- return { ...artifact, experimentRole: 'control' };
158
- });
174
+ const variantSpecs = buildBatchVariantSpecs(entry, variantAllowedSkills);
159
175
  const childRunId = `${batchRunId}-${String(i + 1).padStart(2, '0')}-${safeRunIdPart(entry.name)}`;
160
176
  const { report, filePath } = await runSingleEvaluation({
161
177
  samplesPath: entry.samplesPath,
162
178
  skillDir,
163
- artifacts: skillArtifacts,
179
+ variantSpecs,
180
+ strictBaseline,
164
181
  model,
165
182
  judgeModel,
166
183
  outputDir,
@@ -226,4 +243,3 @@ export async function executeBatchEvaluationRuns({ skillDir, skillEntries, model
226
243
  await resolvedJobStore.save(job.jobId, job);
227
244
  return { report: batchReport, filePath };
228
245
  }
229
- //# sourceMappingURL=batch-evaluation-workflow.js.map
@@ -19,4 +19,3 @@ export declare function buildPowerWarnings(sampleCount: number, repeat: number,
19
19
  export declare function emitPowerWarnings(sampleCount: number, repeat: number, lang: Lang): void;
20
20
  export declare function buildIsolationWarnings(artifacts: Artifact[], strictBaseline: boolean | undefined): string[];
21
21
  export declare function emitIsolationWarnings(artifacts: Artifact[], strictBaseline: boolean | undefined): void;
22
- //# sourceMappingURL=preflight-warnings.d.ts.map
@@ -64,4 +64,3 @@ export function emitIsolationWarnings(artifacts, strictBaseline) {
64
64
  process.stderr.write(`${w}\n`);
65
65
  }
66
66
  }
67
- //# sourceMappingURL=preflight-warnings.js.map
@@ -29,4 +29,3 @@ export declare function finalizeEvaluationReport({ report, results, artifacts, v
29
29
  samples: Sample[];
30
30
  }): Report;
31
31
  export {};
32
- //# sourceMappingURL=report-finalize.d.ts.map
@@ -54,4 +54,3 @@ export function finalizeEvaluationReport({ report, results, artifacts, variantNa
54
54
  }
55
55
  return report;
56
56
  }
57
- //# sourceMappingURL=report-finalize.js.map
@@ -57,4 +57,3 @@ export declare function finalizeSuccessfulRun(state: EvaluationRunState): {
57
57
  };
58
58
  export declare function persistSuccessfulJob(state: EvaluationRunState, job: EvaluationJob): Promise<void>;
59
59
  export declare function persistFailedJob(state: EvaluationRunState, err: unknown): Promise<void>;
60
- //# sourceMappingURL=run-state.d.ts.map
@@ -85,4 +85,3 @@ export async function persistFailedJob(state, err) {
85
85
  await state.resolvedJobStore.save(state.jobId, failedJob);
86
86
  }
87
87
  }
88
- //# sourceMappingURL=run-state.js.map
@@ -18,4 +18,3 @@
18
18
  */
19
19
  export declare function computeTestSetHash(samplesPath: string, sourceFiles?: string[]): string | null;
20
20
  export declare function _computeTestSetHashForTest(samplesPath: string, sourceFiles?: string[]): string | null;
21
- //# sourceMappingURL=test-set-hash.d.ts.map
@@ -43,4 +43,3 @@ export function computeTestSetHash(samplesPath, sourceFiles) {
43
43
  export function _computeTestSetHashForTest(samplesPath, sourceFiles) {
44
44
  return computeTestSetHash(samplesPath, sourceFiles);
45
45
  }
46
- //# sourceMappingURL=test-set-hash.js.map
@@ -94,4 +94,3 @@ export declare function executeEvaluationPipeline({ samplesPath, samplesBaseDir,
94
94
  report: Report;
95
95
  filePath: string | null;
96
96
  }>;
97
- //# sourceMappingURL=evaluation-pipeline.d.ts.map
@@ -176,4 +176,3 @@ requires: _requires, layeredStats = false, repeat, batch, judgeRepeat, judgeMode
176
176
  await stopAllServers();
177
177
  }
178
178
  }
179
- //# sourceMappingURL=evaluation-pipeline.js.map
@@ -12,17 +12,14 @@ export interface PreparedEvaluationRun {
12
12
  /** Sample bundle 内参与合并的所有源文件绝对路径(已排序)。test set hash 用它遍历。 */
13
13
  samplesSourceFiles: string[];
14
14
  }
15
- export declare function prepareEvaluationRun({ samplesPath, skillDir, variantSpecs, artifacts, dryRun, mcpConfig, strictBaseline, variantAllowedSkills, }: {
15
+ export declare function prepareEvaluationRun({ samplesPath, skillDir, variantSpecs, dryRun, mcpConfig, strictBaseline, }: {
16
16
  samplesPath: string;
17
17
  skillDir: string;
18
18
  variantSpecs: VariantSpec[];
19
- artifacts?: Artifact[];
20
19
  dryRun: boolean;
21
20
  mcpConfig?: string;
22
21
  /** — default true, baseline-kind 自动 allowedSkills=[]。 */
23
22
  strictBaseline?: boolean;
24
- /** — eval.yaml 显式 allowedSkills per variant (overrides strictBaseline default). */
25
- variantAllowedSkills?: Record<string, string[]>;
26
23
  }): Promise<PreparedEvaluationRun>;
27
24
  export declare function buildDryRunTaskReport({ model, judgeModels, executorName, samplesPath, skillDir, tasks, variantNames, }: {
28
25
  model: string;
@@ -57,4 +54,3 @@ export declare function buildDryRunTaskReport({ model, judgeModels, executorName
57
54
  hasSystem: boolean;
58
55
  }[];
59
56
  };
60
- //# sourceMappingURL=evaluation-preparation.d.ts.map
@@ -5,22 +5,27 @@ import { resolveArtifacts } from '../inputs/skill-loader.js';
5
5
  import { buildVariantConfig } from '../eval-core/execution-strategy.js';
6
6
  import { loadMcpConfig, resolveMcpUrls } from '../inputs/mcp-resolver.js';
7
7
  import { resolveUrls } from '../inputs/url-fetcher.js';
8
- export async function prepareEvaluationRun({ samplesPath, skillDir, variantSpecs, artifacts, dryRun, mcpConfig, strictBaseline, variantAllowedSkills, }) {
8
+ export async function prepareEvaluationRun({ samplesPath, skillDir, variantSpecs, dryRun, mcpConfig, strictBaseline, }) {
9
9
  const { samples, requires, baseDir: samplesBaseDir, sourceFiles: samplesSourceFiles } = loadSamples(samplesPath);
10
- // Build expressions from specs (preserving order) and resolve to artifacts.
11
- const variantExpressions = variantSpecs.map((spec) => spec.expr);
12
- const resolvedArtifacts = artifacts || resolveArtifacts(resolve(skillDir), variantExpressions, { strictBaseline, variantAllowedSkills });
13
- // Attach experimentRole to each artifact by matching spec.name to artifact.name.
14
- const roleByName = {};
15
- for (const spec of variantSpecs)
16
- roleByName[spec.name] = spec.role;
17
- for (const artifact of resolvedArtifacts) {
18
- if (artifact.experimentRole)
19
- continue; // preserve if already set (e.g. batch workflow)
20
- const role = roleByName[artifact.name];
21
- if (role)
22
- artifact.experimentRole = role;
23
- }
10
+ // 结构化传入 {expr, cwd}(与 variantSpecs 顺序一一对应),cwd 不再编码进 expr 字符串。
11
+ // resolveArtifacts 只保留 strictBaseline 默认(baseline → []);per-variant 隔离声明走
12
+ // spec.allowedSkills,在下面按 spec 身份绑定。
13
+ const variantInputs = variantSpecs.map((spec) => ({ expr: spec.expr, cwd: spec.cwd }));
14
+ const resolvedArtifacts = resolveArtifacts(resolve(skillDir), variantInputs, { strictBaseline });
15
+ // experimentRole / allowedSkills 按 spec 身份绑定。variantSpecs 与 resolvedArtifacts 顺序
16
+ // 一一对应(resolveArtifacts 每个 input 产出一个 artifact),按 index 绑定,并把 spec.name
17
+ // 同步成消歧后的最终唯一名。不能按 spec.name 匹配 artifact.name:同 basename 的 variant 被
18
+ // ensureUniqueVariantNames 消歧后(v1/greeter / v2/greeter)就和 spec 的派生短名(greeter)
19
+ // 对不上,会丢 role。
20
+ variantSpecs.forEach((spec, i) => {
21
+ const artifact = resolvedArtifacts[i];
22
+ artifact.experimentRole = spec.role;
23
+ // spec.allowedSkills 是隔离声明的单一来源(eval.yaml 经 configVariantsToSpecs、batch 经
24
+ // buildBatchVariantSpecs 都挂到 spec 上),显式声明优先于 strictBaseline 默认。
25
+ if (spec.allowedSkills !== undefined)
26
+ artifact.allowedSkills = spec.allowedSkills;
27
+ spec.name = artifact.name; // 同步唯一名,让 spec 与 report / variantNames 一致(放最后,前面还要用旧名查)
28
+ });
24
29
  if (!dryRun) {
25
30
  const mcpServers = loadMcpConfig(mcpConfig);
26
31
  const mcpResolved = mcpServers ? await resolveMcpUrls(samples, mcpServers) : new Set();
@@ -74,4 +79,3 @@ export function buildDryRunTaskReport({ model, judgeModels, executorName, sample
74
79
  }),
75
80
  };
76
81
  }
77
- //# sourceMappingURL=evaluation-preparation.js.map
@@ -1,4 +1,3 @@
1
1
  import type { Lang } from '../types/shared.js';
2
2
  export type EvalWorkflowMessageCode = 'power_warning_tiny_n' | 'power_warning_small_n' | 'power_warning_repeat_one' | 'doctor_gate_blocked';
3
3
  export declare function tEvalWorkflowMessage(code: EvalWorkflowMessageCode, lang?: Lang, params?: Record<string, string | number>): string;
4
- //# sourceMappingURL=messages.d.ts.map
@@ -27,4 +27,3 @@ export function tEvalWorkflowMessage(code, lang = DEFAULT_LANG, params) {
27
27
  }
28
28
  return text;
29
29
  }
30
- //# sourceMappingURL=messages.js.map
@@ -63,7 +63,6 @@ export interface RunEvaluationOptions extends CommonEvaluationOptions {
63
63
  samplesPath: string;
64
64
  skillDir: string;
65
65
  variantSpecs?: VariantSpec[];
66
- artifacts?: Artifact[];
67
66
  dryRun?: boolean;
68
67
  blind?: boolean;
69
68
  retry?: number;
@@ -71,12 +70,9 @@ export interface RunEvaluationOptions extends CommonEvaluationOptions {
71
70
  /** Explicit persisted run id. Used by batch workflows that need stable child ids. */
72
71
  runId?: string;
73
72
  /** strict-baseline default (CLI `--strict-baseline` default true).
74
- * When undefined, treated as true. baseline-kind variants get allowedSkills=[]
75
- * unless eval.yaml explicitly overrides per-variant. */
73
+ * When undefined, treated as true. baseline-kind variants get allowedSkills=[].
74
+ * per-variant 显式隔离声明走 variantSpecs[].allowedSkills(eval.yaml 经 configVariantsToSpecs)。 */
76
75
  strictBaseline?: boolean;
77
- /** per-variant explicit allowedSkills override map (from eval.yaml).
78
- * Keyed by variant name. Always wins over strictBaseline default. */
79
- variantAllowedSkills?: Record<string, string[]>;
80
76
  }
81
77
  export interface RunBatchEvaluationOptions extends CommonEvaluationOptions {
82
78
  skillDir: string;
@@ -122,7 +118,7 @@ export interface DryRunReport extends DryRunBase {
122
118
  samplesPath: string;
123
119
  tasks: DryRunTask[];
124
120
  }
125
- export declare function runEvaluation({ samplesPath, skillDir, variantSpecs, artifacts, model, outputDir, project, owner, tags, noJudge, dryRun, blind, concurrency, timeoutMs, noCache, executorName, jobStore, persistJob, onProgress, skipConnectivity, skipDoctor, lang, mcpConfig, verbose, retry, resume, runId, layeredStats, repeat, batch, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, strictBaseline, variantAllowedSkills, effort, noDiagnostic, }: RunEvaluationOptions): Promise<{
121
+ export declare function runEvaluation({ samplesPath, skillDir, variantSpecs, model, outputDir, project, owner, tags, noJudge, dryRun, blind, concurrency, timeoutMs, noCache, executorName, jobStore, persistJob, onProgress, skipConnectivity, skipDoctor, lang, mcpConfig, verbose, retry, resume, runId, layeredStats, repeat, batch, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, strictBaseline, effort, noDiagnostic, }: RunEvaluationOptions): Promise<{
126
122
  report: Report | DryRunReport;
127
123
  filePath: string | null;
128
124
  }>;
@@ -137,7 +133,7 @@ export interface DryRunBatchReport extends DryRunBase {
137
133
  totalArtifacts: number;
138
134
  artifacts: DryRunBatchSkill[];
139
135
  }
140
- export declare function buildVarianceData(runs: Report[]): VarianceData | null;
136
+ export declare function buildVarianceData(runs: Report[], bootstrapSamples?: number, seed?: number): VarianceData | null;
141
137
  export declare function runBatchEvaluation({ skillDir, model, outputDir, project, owner, tags, noJudge, dryRun, concurrency, timeoutMs, executorName, jobStore, persistJob, onProgress, onSkillProgress, skipConnectivity, skipDoctor, lang, mcpConfig, verbose, repeat, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, noCache, strictBaseline, variantAllowedSkills, }: RunBatchEvaluationOptions): Promise<{
142
138
  report: BatchEvaluationReport | DryRunBatchReport;
143
139
  filePath: string | null;
@@ -148,4 +144,3 @@ export declare function runMultiple({ repeat, onRepeatProgress, ...config }: Run
148
144
  filePath: string | null;
149
145
  }>;
150
146
  export {};
151
- //# sourceMappingURL=run-evaluation.d.ts.map
@@ -1,14 +1,14 @@
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 { discoverBatchSkills, resolveArtifacts } from '../inputs/skill-loader.js';
4
+ import { discoverBatchSkills } from '../inputs/skill-loader.js';
5
5
  import { confidenceInterval, tTest, effectSize } from '../eval-core/statistics.js';
6
- import { executeBatchEvaluationRuns } from './batch-evaluation-workflow.js';
6
+ import { executeBatchEvaluationRuns, buildBatchVariantSpecs } from './batch-evaluation-workflow.js';
7
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
- import { bootstrapMeanCI } from '../eval-core/bootstrap.js';
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, skipDoctor = false, lang = 'zh', mcpConfig, verbose = false, retry = 0, resume, runId, layeredStats = false, repeat, batch, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, strictBaseline, variantAllowedSkills, effort, noDiagnostic, }) {
10
+ import { bootstrapMeanCI, DEFAULT_BOOTSTRAP_ALPHA, DEFAULT_BOOTSTRAP_SAMPLES } from '../eval-core/bootstrap.js';
11
+ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [], 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, skipDoctor = false, lang = 'zh', mcpConfig, verbose = false, retry = 0, resume, runId, layeredStats = false, repeat, batch, judgeRepeat, judgeModels, bootstrap, bootstrapSamples, lengthDebias, budget, strictBaseline, effort, noDiagnostic, }) {
12
12
  // Unified judgeModels → derive single-judge fields for downstream pipeline / grading
13
13
  // (which still operate on string `judgeModel` + `judgeExecutorName` fields per call).
14
14
  const effectiveJudgeModels = judgeModels && judgeModels.length > 0
@@ -20,11 +20,9 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
20
20
  samplesPath,
21
21
  skillDir,
22
22
  variantSpecs,
23
- artifacts,
24
23
  dryRun,
25
24
  mcpConfig,
26
25
  strictBaseline,
27
- variantAllowedSkills,
28
26
  });
29
27
  // doctor 强制门禁: skill 静态结构 + 元数据 + 依赖 + 用例契约。
30
28
  // 在 dryRun 分支之前跑, 让 dry-run 也得到 doctor 覆盖(保护 garbage-in 的 verdict)。
@@ -99,7 +97,7 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
99
97
  const { createFileStore } = await import('../server/report-store.js');
100
98
  const store = createFileStore(resolve(outputDir || DEFAULT_OUTPUT_DIR));
101
99
  const existing = await store.get(resume);
102
- if (existing?.kind === 'evaluation') {
100
+ if (existing?.reportKind === 'evaluation') {
103
101
  existingResults = {};
104
102
  for (const entry of existing.results || []) {
105
103
  existingResults[entry.sample_id] = entry.variants;
@@ -123,7 +121,7 @@ export async function runEvaluation({ samplesPath, skillDir, variantSpecs = [],
123
121
  + ` 新 entries 不隔离 → 与现有 entries 不可比。建议恢复默认 strict-baseline。\n`);
124
122
  }
125
123
  }
126
- else if (existing?.kind === 'batch-evaluation') {
124
+ else if (existing?.reportKind === 'batch-evaluation') {
127
125
  process.stderr.write(`\n⚠️ report ${resume} is a BatchEvaluationReport; resume needs a child EvaluationReport, starting from scratch\n`);
128
126
  }
129
127
  else {
@@ -228,7 +226,7 @@ function buildComparisonMetric(scoresA, scoresB, meanA, meanB) {
228
226
  * verdict is computed — the user still sees the curve, just without the auto
229
227
  * "saturated at N=X" claim.
230
228
  */
231
- function buildSaturationData(runs) {
229
+ function buildSaturationData(runs, bootstrapSamples = DEFAULT_BOOTSTRAP_SAMPLES, seed) {
232
230
  if (runs.length < 2)
233
231
  return undefined;
234
232
  const variants = runs[0].meta.variants ?? [];
@@ -259,7 +257,7 @@ function buildSaturationData(runs) {
259
257
  cumulativeByVariant[variant] = [];
260
258
  cumulativeByVariant[variant].push([...acc[variant]]);
261
259
  // Per-checkpoint trace: bootstrap CI on cumulative scores.
262
- const ci = bootstrapMeanCI(acc[variant], 0.05, 1000);
260
+ const ci = bootstrapMeanCI(acc[variant], DEFAULT_BOOTSTRAP_ALPHA, bootstrapSamples, seed);
263
261
  if (!tracesByVariant[variant])
264
262
  tracesByVariant[variant] = [];
265
263
  tracesByVariant[variant].push({
@@ -276,7 +274,7 @@ function buildSaturationData(runs) {
276
274
  const cumulative = cumulativeByVariant[variant];
277
275
  if (!cumulative)
278
276
  continue;
279
- const r = findSaturationPoint(cumulative, 'bootstrap-ci-width');
277
+ const r = findSaturationPoint(cumulative, 'bootstrap-ci-width', undefined, undefined, bootstrapSamples, seed);
280
278
  verdicts[variant] = {
281
279
  saturated: r.saturated,
282
280
  atN: r.atN,
@@ -293,7 +291,7 @@ function buildSaturationData(runs) {
293
291
  ...(Object.keys(verdicts).length > 0 ? { verdicts } : {}),
294
292
  };
295
293
  }
296
- export function buildVarianceData(runs) {
294
+ export function buildVarianceData(runs, bootstrapSamples = DEFAULT_BOOTSTRAP_SAMPLES, seed) {
297
295
  if (runs.length <= 1) {
298
296
  return null;
299
297
  }
@@ -358,7 +356,7 @@ export function buildVarianceData(runs) {
358
356
  });
359
357
  }
360
358
  }
361
- const saturation = buildSaturationData(runs);
359
+ const saturation = buildSaturationData(runs, bootstrapSamples, seed);
362
360
  return {
363
361
  runs: runs.length,
364
362
  perVariant,
@@ -381,23 +379,17 @@ export async function runBatchEvaluation({ skillDir, model = DEFAULT_MODEL, outp
381
379
  if (dryRun) {
382
380
  // batch dry-run 走 per-entry runEvaluation(dryRun: true) — doctor 嵌入
383
381
  // 自动复用 runEvaluation 内部的 builder + 单一逻辑,不再在 batch 这边
384
- // 旁路一套 doctor / 路径推断。entry artifact 拼装方式与 batch real-run
385
- // (executeBatchEvaluationRuns) 严格一致, 避免 dry-run / real-run 漂移。
386
- const skillDirAbs = resolve(skillDir);
382
+ // 旁路一套 doctor / 路径推断。entry 的 spec 构造(buildBatchVariantSpecs)与 batch
383
+ // real-run(executeBatchEvaluationRuns)同一处,避免 dry-run / real-run 漂移。
387
384
  const dryArtifacts = [];
388
385
  for (const entry of skillEntries) {
389
- const skillArtifacts = resolveArtifacts(skillDirAbs, ['baseline', entry.skillPath], { strictBaseline, variantAllowedSkills }).map((artifact) => {
390
- if (artifact.name === entry.skillPath) {
391
- return { ...artifact, name: entry.name, experimentRole: 'treatment' };
392
- }
393
- return { ...artifact, experimentRole: 'control' };
394
- });
386
+ const variantSpecs = buildBatchVariantSpecs(entry, variantAllowedSkills);
395
387
  let entryReport;
396
388
  try {
397
389
  const result = await runEvaluation({
398
390
  samplesPath: entry.samplesPath,
399
391
  skillDir,
400
- artifacts: skillArtifacts,
392
+ variantSpecs,
401
393
  model,
402
394
  executorName,
403
395
  dryRun: true,
@@ -406,7 +398,6 @@ export async function runBatchEvaluation({ skillDir, model = DEFAULT_MODEL, outp
406
398
  lang,
407
399
  mcpConfig,
408
400
  strictBaseline,
409
- variantAllowedSkills,
410
401
  // 透传 user 显式输入的参数,让 dry-run power / isolation warning 与
411
402
  // 真实 run 一致(否则 batch dry-run 永远按 repeat=1 报警,误导用户)。
412
403
  repeat,
@@ -516,7 +507,7 @@ export async function runMultiple({ repeat = 1, onRepeatProgress, ...config }) {
516
507
  runs.push(report);
517
508
  }
518
509
  const report = runs[runs.length - 1];
519
- const aggregated = buildVarianceData(runs);
510
+ const aggregated = buildVarianceData(runs, config.bootstrapSamples ?? DEFAULT_BOOTSTRAP_SAMPLES);
520
511
  let filePath = null;
521
512
  if (aggregated) {
522
513
  report.variance = aggregated;
@@ -525,4 +516,3 @@ export async function runMultiple({ repeat = 1, onRepeatProgress, ...config }) {
525
516
  }
526
517
  return { report, aggregated, filePath };
527
518
  }
528
- //# sourceMappingURL=run-evaluation.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ExecResult, ExecutorInput } from '../types/index.js';
2
2
  export declare function anthropicApiExecutor({ model, system, prompt, timeoutMs }: ExecutorInput): Promise<ExecResult>;
3
- //# sourceMappingURL=anthropic-api.d.ts.map
@@ -5,7 +5,7 @@ export async function anthropicApiExecutor({ model, system, prompt, timeoutMs =
5
5
  throw new Error('ANTHROPIC_API_KEY environment variable is not set');
6
6
  const baseUrl = process.env.ANTHROPIC_BASE_URL || 'https://api.anthropic.com';
7
7
  const reqBody = {
8
- model: model || 'claude-sonnet-4-5-20250514',
8
+ model: model || 'claude-sonnet-4-5',
9
9
  max_tokens: 8192,
10
10
  messages: [{ role: 'user', content: prompt }],
11
11
  };
@@ -40,4 +40,3 @@ export async function anthropicApiExecutor({ model, system, prompt, timeoutMs =
40
40
  return { ok: false, error, durationMs, durationApiMs: 0, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0, costUSD: 0, output: null, stopReason, numTurns: 0 };
41
41
  }
42
42
  }
43
- //# sourceMappingURL=anthropic-api.js.map
@@ -1,3 +1,2 @@
1
1
  import type { ExecResult, ExecutorInput } from '../types/index.js';
2
2
  export declare function claudeCliExecutor({ model, system, prompt, cwd, skillDir, timeoutMs, allowedSkills, mocks, mocksBaseDir, mocksStrict, lean, effort }: ExecutorInput): Promise<ExecResult>;
3
- //# sourceMappingURL=claude-cli.d.ts.map
@@ -178,4 +178,3 @@ export async function claudeCliExecutor({ model, system, prompt, cwd, skillDir,
178
178
  mockHandle?.cleanup();
179
179
  }
180
180
  }
181
- //# sourceMappingURL=claude-cli.js.map
@@ -7,4 +7,3 @@ export declare function extractAgentTrace(messages: ClaudeSdkBaseMessage[], time
7
7
  fullNumTurns: number;
8
8
  numSubAgents: number;
9
9
  };
10
- //# sourceMappingURL=claude-sdk-trace.d.ts.map
@@ -103,4 +103,3 @@ export function extractAgentTrace(messages, timestamps) {
103
103
  }
104
104
  return { turns, toolCalls, fullNumTurns, numSubAgents };
105
105
  }
106
- //# sourceMappingURL=claude-sdk-trace.js.map
@@ -13,4 +13,3 @@ export declare function buildSdkIsolationOptions(allowedSkills: string[] | undef
13
13
  disallowedTools?: string[];
14
14
  };
15
15
  export declare function claudeSdkExecutor({ model, system, prompt, cwd, skillDir, timeoutMs, verbose, allowedSkills, mocks, mocksBaseDir, mocksStrict, lean, effort }: ExecutorInput): Promise<ExecResult>;
16
- //# sourceMappingURL=claude-sdk.d.ts.map
@@ -198,4 +198,3 @@ export async function claudeSdkExecutor({ model, system, prompt, cwd, skillDir,
198
198
  };
199
199
  }
200
200
  }
201
- //# sourceMappingURL=claude-sdk.js.map
@@ -7,4 +7,3 @@ export declare function extractCodexTrace(events: CodexEvent[]): {
7
7
  fullNumTurns: number;
8
8
  numSubAgents: number;
9
9
  };
10
- //# sourceMappingURL=codex-cli-trace.d.ts.map
@@ -120,4 +120,3 @@ export function extractCodexTrace(events) {
120
120
  flushTurn();
121
121
  return { turns, toolCalls, fullNumTurns, numSubAgents };
122
122
  }
123
- //# sourceMappingURL=codex-cli-trace.js.map
@@ -15,4 +15,3 @@ export declare function buildCodexArgs({ model, cwd, prompt }: {
15
15
  prompt: string;
16
16
  }): string[];
17
17
  export declare function codexCliExecutor({ model, system, prompt, cwd, skillDir, timeoutMs, allowedSkills, verbose }: ExecutorInput): Promise<ExecResult>;
18
- //# sourceMappingURL=codex-cli.d.ts.map
@@ -251,4 +251,3 @@ export async function codexCliExecutor({ model, system, prompt, cwd, skillDir, t
251
251
  };
252
252
  }
253
253
  }
254
- //# sourceMappingURL=codex-cli.js.map