oh-my-knowledge 0.33.0 → 0.35.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 (739) hide show
  1. package/README.md +21 -5
  2. package/README.zh.md +25 -9
  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 +0 -1
  16. package/dist/analysis/saturation.js +0 -1
  17. package/dist/assets/agent-skills/omk/SKILL.md +197 -0
  18. package/dist/assets/agent-skills/omk/references/commands.md +556 -0
  19. package/dist/authoring/evolver.d.ts +130 -6
  20. package/dist/authoring/evolver.js +233 -35
  21. package/dist/authoring/generator.d.ts +0 -1
  22. package/dist/authoring/generator.js +0 -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 +0 -1
  26. package/dist/cli/commands/doctor.js +2 -3
  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 +3 -1
  36. package/dist/cli/commands/eval/index.js +56 -11
  37. package/dist/cli/commands/evolve.d.ts +6 -1
  38. package/dist/cli/commands/evolve.js +77 -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 +24 -0
  42. package/dist/cli/commands/install.js +436 -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 +0 -1
  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 +1 -2
  52. package/dist/cli/commands/sample.js +27 -15
  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 +7 -1
  60. package/dist/cli/lib/cmd-flags.js +0 -1
  61. package/dist/cli/lib/i18n-dict/common.d.ts +0 -1
  62. package/dist/cli/lib/i18n-dict/common.js +0 -1
  63. package/dist/cli/lib/i18n-dict/evolve.d.ts +1 -2
  64. package/dist/cli/lib/i18n-dict/evolve.js +16 -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 +110 -0
  73. package/dist/cli/lib/i18n-dict/run.d.ts +1 -2
  74. package/dist/cli/lib/i18n-dict/run.js +8 -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 +0 -1
  86. package/dist/cli/lib/parse-run-config/variant-resolution.js +41 -8
  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 +0 -1
  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 +0 -1
  98. package/dist/cli/lib/update-check.js +0 -1
  99. package/dist/cli/lib/update-fetch-worker.d.ts +0 -1
  100. package/dist/cli/lib/update-fetch-worker.js +0 -1
  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 +0 -1
  132. package/dist/doctor/health/load-custom-dimensions.js +0 -1
  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 +6 -7
  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 +0 -1
  150. package/dist/eval-core/bootstrap.js +0 -1
  151. package/dist/eval-core/cache.d.ts +11 -4
  152. package/dist/eval-core/cache.js +13 -6
  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 +5 -3
  157. package/dist/eval-core/evaluation-execution.d.ts +0 -1
  158. package/dist/eval-core/evaluation-execution.js +4 -2
  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 +18 -8
  163. package/dist/eval-core/execution-strategy.d.ts +0 -1
  164. package/dist/eval-core/execution-strategy.js +8 -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 +2 -2
  177. package/dist/eval-core/verdict.d.ts +0 -1
  178. package/dist/eval-core/verdict.js +0 -1
  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 +22 -44
  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 +3 -8
  196. package/dist/eval-workflows/run-evaluation.js +9 -19
  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/content-hash.d.ts +28 -0
  242. package/dist/inputs/content-hash.js +106 -0
  243. package/dist/inputs/eval-config.d.ts +0 -1
  244. package/dist/inputs/eval-config.js +44 -11
  245. package/dist/inputs/load-samples.d.ts +0 -1
  246. package/dist/inputs/load-samples.js +0 -1
  247. package/dist/inputs/materialize-copy.d.ts +37 -0
  248. package/dist/inputs/materialize-copy.js +193 -0
  249. package/dist/inputs/mcp-resolver.d.ts +0 -1
  250. package/dist/inputs/mcp-resolver.js +0 -1
  251. package/dist/inputs/skill-loader.d.ts +145 -12
  252. package/dist/inputs/skill-loader.js +476 -60
  253. package/dist/inputs/source-resolver.d.ts +35 -0
  254. package/dist/inputs/source-resolver.js +105 -0
  255. package/dist/inputs/url-fetcher.d.ts +0 -1
  256. package/dist/inputs/url-fetcher.js +0 -1
  257. package/dist/managed/evidence.d.ts +22 -0
  258. package/dist/managed/evidence.js +143 -0
  259. package/dist/managed/index.d.ts +6 -0
  260. package/dist/managed/index.js +6 -0
  261. package/dist/managed/store.d.ts +72 -0
  262. package/dist/managed/store.js +224 -0
  263. package/dist/observability/experience-frontmatter.d.ts +0 -1
  264. package/dist/observability/experience-frontmatter.js +0 -1
  265. package/dist/observability/experience.d.ts +1 -2
  266. package/dist/observability/experience.js +1 -2
  267. package/dist/observability/feedback-matchers.d.ts +0 -1
  268. package/dist/observability/feedback-matchers.js +0 -1
  269. package/dist/observability/feedback-projection.d.ts +0 -1
  270. package/dist/observability/feedback-projection.js +0 -1
  271. package/dist/observability/inbox-view-model.d.ts +0 -1
  272. package/dist/observability/inbox-view-model.js +0 -1
  273. package/dist/observability/inbox.d.ts +0 -1
  274. package/dist/observability/inbox.js +2 -3
  275. package/dist/observability/problem-patterns.d.ts +0 -1
  276. package/dist/observability/problem-patterns.js +0 -1
  277. package/dist/observability/resolved-review.d.ts +0 -1
  278. package/dist/observability/resolved-review.js +4 -5
  279. package/dist/observability/review-state.d.ts +0 -1
  280. package/dist/observability/review-state.js +3 -4
  281. package/dist/observability/skill-chain-advisories.d.ts +0 -1
  282. package/dist/observability/skill-chain-advisories.js +0 -1
  283. package/dist/observability/skill-chain.d.ts +0 -1
  284. package/dist/observability/skill-chain.js +5 -6
  285. package/dist/observability/skill-health-analyzer.d.ts +0 -1
  286. package/dist/observability/skill-health-analyzer.js +0 -1
  287. package/dist/observability/soft-standards/constants.d.ts +0 -1
  288. package/dist/observability/soft-standards/constants.js +0 -1
  289. package/dist/observability/soft-standards/index.d.ts +0 -1
  290. package/dist/observability/soft-standards/index.js +0 -1
  291. package/dist/observability/soft-standards/llm-extractor.d.ts +0 -1
  292. package/dist/observability/soft-standards/llm-extractor.js +7 -8
  293. package/dist/observability/soft-standards/runtime-evaluator.d.ts +0 -1
  294. package/dist/observability/soft-standards/runtime-evaluator.js +2 -3
  295. package/dist/observability/soft-standards/skill-standards-store.d.ts +0 -1
  296. package/dist/observability/soft-standards/skill-standards-store.js +5 -6
  297. package/dist/observability/soft-standards/types.d.ts +10 -11
  298. package/dist/observability/soft-standards/types.js +0 -1
  299. package/dist/observability/text-signals.d.ts +0 -1
  300. package/dist/observability/text-signals.js +0 -1
  301. package/dist/observability/trace-adapter.d.ts +0 -1
  302. package/dist/observability/trace-adapter.js +0 -1
  303. package/dist/observability/trace-attribution.d.ts +0 -1
  304. package/dist/observability/trace-attribution.js +0 -1
  305. package/dist/observability/trace-segmenter.d.ts +0 -1
  306. package/dist/observability/trace-segmenter.js +0 -1
  307. package/dist/observability/trace-source.d.ts +0 -1
  308. package/dist/observability/trace-source.js +0 -1
  309. package/dist/renderer/html-renderer.d.ts +0 -1
  310. package/dist/renderer/html-renderer.js +4 -5
  311. package/dist/renderer/layout.d.ts +0 -1
  312. package/dist/renderer/layout.js +2 -3
  313. package/dist/renderer/observation-inbox/helpers.d.ts +0 -1
  314. package/dist/renderer/observation-inbox/helpers.js +0 -1
  315. package/dist/renderer/observation-inbox/styles.d.ts +0 -1
  316. package/dist/renderer/observation-inbox/styles.js +0 -1
  317. package/dist/renderer/observation-inbox-renderer.d.ts +0 -1
  318. package/dist/renderer/observation-inbox-renderer.js +13 -14
  319. package/dist/renderer/skill-detail-renderer.d.ts +0 -1
  320. package/dist/renderer/skill-detail-renderer.js +3 -4
  321. package/dist/renderer/skill-health-renderer.d.ts +0 -1
  322. package/dist/renderer/skill-health-renderer.js +0 -1
  323. package/dist/renderer/skill-list-renderer.d.ts +0 -1
  324. package/dist/renderer/skill-list-renderer.js +0 -1
  325. package/dist/renderer/summary.d.ts +0 -1
  326. package/dist/renderer/summary.js +1 -2
  327. package/dist/renderer/table.d.ts +0 -1
  328. package/dist/renderer/table.js +0 -1
  329. package/dist/renderer/test-view.d.ts +0 -1
  330. package/dist/renderer/test-view.js +0 -1
  331. package/dist/renderer/trends.d.ts +0 -1
  332. package/dist/renderer/trends.js +0 -1
  333. package/dist/server/job-store.d.ts +0 -1
  334. package/dist/server/job-store.js +0 -1
  335. package/dist/server/report-server.d.ts +0 -1
  336. package/dist/server/report-server.js +1 -2
  337. package/dist/server/report-store.d.ts +1 -2
  338. package/dist/server/report-store.js +6 -7
  339. package/dist/server/skill-index.d.ts +0 -1
  340. package/dist/server/skill-index.js +4 -5
  341. package/dist/server/skill-insights.d.ts +0 -1
  342. package/dist/server/skill-insights.js +8 -9
  343. package/dist/shared/hard-rules.d.ts +0 -1
  344. package/dist/shared/hard-rules.js +0 -1
  345. package/dist/shared/llm-prompts/index.d.ts +0 -1
  346. package/dist/shared/llm-prompts/index.js +0 -1
  347. package/dist/shared/llm-prompts/skill-health.d.ts +0 -1
  348. package/dist/shared/llm-prompts/skill-health.js +0 -1
  349. package/dist/shared/time.d.ts +0 -1
  350. package/dist/shared/time.js +0 -1
  351. package/dist/shared/tool-search.d.ts +0 -1
  352. package/dist/shared/tool-search.js +0 -1
  353. package/dist/types/dependencies.d.ts +0 -1
  354. package/dist/types/dependencies.js +0 -1
  355. package/dist/types/diagnosis.d.ts +0 -1
  356. package/dist/types/diagnosis.js +0 -1
  357. package/dist/types/doctor.d.ts +4 -5
  358. package/dist/types/doctor.js +2 -3
  359. package/dist/types/eval.d.ts +13 -2
  360. package/dist/types/eval.js +0 -1
  361. package/dist/types/executor.d.ts +1 -2
  362. package/dist/types/executor.js +0 -1
  363. package/dist/types/index.d.ts +1 -1
  364. package/dist/types/index.js +1 -1
  365. package/dist/types/judge.d.ts +0 -1
  366. package/dist/types/judge.js +0 -1
  367. package/dist/types/managed.d.ts +110 -0
  368. package/dist/types/managed.js +1 -0
  369. package/dist/types/observability.d.ts +5 -6
  370. package/dist/types/observability.js +0 -1
  371. package/dist/types/report.d.ts +19 -6
  372. package/dist/types/report.js +0 -1
  373. package/dist/types/shared.d.ts +0 -1
  374. package/dist/types/shared.js +0 -1
  375. package/dist/types/skill-index.d.ts +0 -1
  376. package/dist/types/skill-index.js +0 -1
  377. package/dist/types/storage.d.ts +0 -1
  378. package/dist/types/storage.js +0 -1
  379. package/dist/util/safe-slice.d.ts +0 -1
  380. package/dist/util/safe-slice.js +0 -1
  381. package/package.json +9 -4
  382. package/dist/analysis/coverage-analyzer.d.ts.map +0 -1
  383. package/dist/analysis/coverage-analyzer.js.map +0 -1
  384. package/dist/analysis/failure-clusterer.d.ts.map +0 -1
  385. package/dist/analysis/failure-clusterer.js.map +0 -1
  386. package/dist/analysis/gap-analyzer.d.ts.map +0 -1
  387. package/dist/analysis/gap-analyzer.js.map +0 -1
  388. package/dist/analysis/hedging-classifier.d.ts.map +0 -1
  389. package/dist/analysis/hedging-classifier.js.map +0 -1
  390. package/dist/analysis/report-diagnostics.d.ts.map +0 -1
  391. package/dist/analysis/report-diagnostics.js.map +0 -1
  392. package/dist/analysis/sample-diagnostics.d.ts.map +0 -1
  393. package/dist/analysis/sample-diagnostics.js.map +0 -1
  394. package/dist/analysis/saturation.d.ts.map +0 -1
  395. package/dist/analysis/saturation.js.map +0 -1
  396. package/dist/authoring/evolver.d.ts.map +0 -1
  397. package/dist/authoring/evolver.js.map +0 -1
  398. package/dist/authoring/generator.d.ts.map +0 -1
  399. package/dist/authoring/generator.js.map +0 -1
  400. package/dist/authoring/sample-fixer.d.ts.map +0 -1
  401. package/dist/authoring/sample-fixer.js.map +0 -1
  402. package/dist/cli/commands/doctor.d.ts.map +0 -1
  403. package/dist/cli/commands/doctor.js.map +0 -1
  404. package/dist/cli/commands/eval/gold/compare.d.ts.map +0 -1
  405. package/dist/cli/commands/eval/gold/compare.js.map +0 -1
  406. package/dist/cli/commands/eval/gold/index.d.ts.map +0 -1
  407. package/dist/cli/commands/eval/gold/index.js.map +0 -1
  408. package/dist/cli/commands/eval/gold/init.d.ts.map +0 -1
  409. package/dist/cli/commands/eval/gold/init.js.map +0 -1
  410. package/dist/cli/commands/eval/gold/validate.d.ts.map +0 -1
  411. package/dist/cli/commands/eval/gold/validate.js.map +0 -1
  412. package/dist/cli/commands/eval/index.d.ts.map +0 -1
  413. package/dist/cli/commands/eval/index.js.map +0 -1
  414. package/dist/cli/commands/evolve.d.ts.map +0 -1
  415. package/dist/cli/commands/evolve.js.map +0 -1
  416. package/dist/cli/commands/init.d.ts.map +0 -1
  417. package/dist/cli/commands/init.js.map +0 -1
  418. package/dist/cli/commands/observe/inbox.d.ts.map +0 -1
  419. package/dist/cli/commands/observe/inbox.js.map +0 -1
  420. package/dist/cli/commands/observe/index.d.ts.map +0 -1
  421. package/dist/cli/commands/observe/index.js.map +0 -1
  422. package/dist/cli/commands/observe/ingest.d.ts.map +0 -1
  423. package/dist/cli/commands/observe/ingest.js.map +0 -1
  424. package/dist/cli/commands/observe/show.d.ts.map +0 -1
  425. package/dist/cli/commands/observe/show.js.map +0 -1
  426. package/dist/cli/commands/sample.d.ts.map +0 -1
  427. package/dist/cli/commands/sample.js.map +0 -1
  428. package/dist/cli/commands/studio.d.ts.map +0 -1
  429. package/dist/cli/commands/studio.js.map +0 -1
  430. package/dist/cli/index.d.ts.map +0 -1
  431. package/dist/cli/index.js.map +0 -1
  432. package/dist/cli/lib/cli-exit.d.ts.map +0 -1
  433. package/dist/cli/lib/cli-exit.js.map +0 -1
  434. package/dist/cli/lib/cmd-flags.d.ts.map +0 -1
  435. package/dist/cli/lib/cmd-flags.js.map +0 -1
  436. package/dist/cli/lib/i18n-dict/common.d.ts.map +0 -1
  437. package/dist/cli/lib/i18n-dict/common.js.map +0 -1
  438. package/dist/cli/lib/i18n-dict/evolve.d.ts.map +0 -1
  439. package/dist/cli/lib/i18n-dict/evolve.js.map +0 -1
  440. package/dist/cli/lib/i18n-dict/gen.d.ts.map +0 -1
  441. package/dist/cli/lib/i18n-dict/gen.js.map +0 -1
  442. package/dist/cli/lib/i18n-dict/help.d.ts.map +0 -1
  443. package/dist/cli/lib/i18n-dict/help.js.map +0 -1
  444. package/dist/cli/lib/i18n-dict/init.d.ts.map +0 -1
  445. package/dist/cli/lib/i18n-dict/init.js.map +0 -1
  446. package/dist/cli/lib/i18n-dict/run.d.ts.map +0 -1
  447. package/dist/cli/lib/i18n-dict/run.js.map +0 -1
  448. package/dist/cli/lib/i18n-dict/types.d.ts.map +0 -1
  449. package/dist/cli/lib/i18n-dict/types.js.map +0 -1
  450. package/dist/cli/lib/i18n-dict.d.ts.map +0 -1
  451. package/dist/cli/lib/i18n-dict.js.map +0 -1
  452. package/dist/cli/lib/i18n.d.ts.map +0 -1
  453. package/dist/cli/lib/i18n.js.map +0 -1
  454. package/dist/cli/lib/parse-run-config/judge-models.d.ts.map +0 -1
  455. package/dist/cli/lib/parse-run-config/judge-models.js.map +0 -1
  456. package/dist/cli/lib/parse-run-config/samples-discovery.d.ts.map +0 -1
  457. package/dist/cli/lib/parse-run-config/samples-discovery.js.map +0 -1
  458. package/dist/cli/lib/parse-run-config/variant-resolution.d.ts.map +0 -1
  459. package/dist/cli/lib/parse-run-config/variant-resolution.js.map +0 -1
  460. package/dist/cli/lib/parse-run-config.d.ts.map +0 -1
  461. package/dist/cli/lib/parse-run-config.js.map +0 -1
  462. package/dist/cli/lib/progress.d.ts.map +0 -1
  463. package/dist/cli/lib/progress.js.map +0 -1
  464. package/dist/cli/lib/resolve-skill-input.d.ts.map +0 -1
  465. package/dist/cli/lib/resolve-skill-input.js.map +0 -1
  466. package/dist/cli/lib/run-tally.d.ts.map +0 -1
  467. package/dist/cli/lib/run-tally.js.map +0 -1
  468. package/dist/cli/lib/shared.d.ts.map +0 -1
  469. package/dist/cli/lib/shared.js.map +0 -1
  470. package/dist/cli/lib/update-check.d.ts.map +0 -1
  471. package/dist/cli/lib/update-check.js.map +0 -1
  472. package/dist/cli/lib/update-fetch-worker.d.ts.map +0 -1
  473. package/dist/cli/lib/update-fetch-worker.js.map +0 -1
  474. package/dist/cli/oclif/base-command.d.ts.map +0 -1
  475. package/dist/cli/oclif/base-command.js.map +0 -1
  476. package/dist/cli/oclif/help.d.ts.map +0 -1
  477. package/dist/cli/oclif/help.js.map +0 -1
  478. package/dist/cli/oclif/i18n.d.ts.map +0 -1
  479. package/dist/cli/oclif/i18n.js.map +0 -1
  480. package/dist/cli/oclif/parsers.d.ts.map +0 -1
  481. package/dist/cli/oclif/parsers.js.map +0 -1
  482. package/dist/cli/oclif/projection.d.ts.map +0 -1
  483. package/dist/cli/oclif/projection.js.map +0 -1
  484. package/dist/cli/oclif/run.d.ts.map +0 -1
  485. package/dist/cli/oclif/run.js.map +0 -1
  486. package/dist/diagnosis/observe-mapper.d.ts.map +0 -1
  487. package/dist/diagnosis/observe-mapper.js.map +0 -1
  488. package/dist/diagnosis/observe-producer.d.ts.map +0 -1
  489. package/dist/diagnosis/observe-producer.js.map +0 -1
  490. package/dist/diagnosis/studio-projection.d.ts.map +0 -1
  491. package/dist/diagnosis/studio-projection.js.map +0 -1
  492. package/dist/diagnosis/types.d.ts.map +0 -1
  493. package/dist/diagnosis/types.js.map +0 -1
  494. package/dist/doctor/fixer.d.ts.map +0 -1
  495. package/dist/doctor/fixer.js.map +0 -1
  496. package/dist/doctor/health/builtin-dimensions.d.ts.map +0 -1
  497. package/dist/doctor/health/builtin-dimensions.js.map +0 -1
  498. package/dist/doctor/health/composer.d.ts.map +0 -1
  499. package/dist/doctor/health/composer.js.map +0 -1
  500. package/dist/doctor/health/dimension-registry.d.ts.map +0 -1
  501. package/dist/doctor/health/dimension-registry.js.map +0 -1
  502. package/dist/doctor/health/dimension-spec.d.ts.map +0 -1
  503. package/dist/doctor/health/dimension-spec.js.map +0 -1
  504. package/dist/doctor/health/load-custom-dimensions.d.ts.map +0 -1
  505. package/dist/doctor/health/load-custom-dimensions.js.map +0 -1
  506. package/dist/doctor/health/parser.d.ts.map +0 -1
  507. package/dist/doctor/health/parser.js.map +0 -1
  508. package/dist/doctor/health/prompt-builder.d.ts.map +0 -1
  509. package/dist/doctor/health/prompt-builder.js.map +0 -1
  510. package/dist/doctor/health/register.d.ts.map +0 -1
  511. package/dist/doctor/health/register.js.map +0 -1
  512. package/dist/doctor/index.d.ts.map +0 -1
  513. package/dist/doctor/index.js.map +0 -1
  514. package/dist/doctor/messages.d.ts.map +0 -1
  515. package/dist/doctor/messages.js.map +0 -1
  516. package/dist/doctor/preflight.d.ts.map +0 -1
  517. package/dist/doctor/preflight.js.map +0 -1
  518. package/dist/doctor/renderer.d.ts.map +0 -1
  519. package/dist/doctor/renderer.js.map +0 -1
  520. package/dist/doctor/rules.d.ts.map +0 -1
  521. package/dist/doctor/rules.js.map +0 -1
  522. package/dist/eval-core/bootstrap.d.ts.map +0 -1
  523. package/dist/eval-core/bootstrap.js.map +0 -1
  524. package/dist/eval-core/cache.d.ts.map +0 -1
  525. package/dist/eval-core/cache.js.map +0 -1
  526. package/dist/eval-core/comparability.d.ts.map +0 -1
  527. package/dist/eval-core/comparability.js.map +0 -1
  528. package/dist/eval-core/dependency-checker.d.ts.map +0 -1
  529. package/dist/eval-core/dependency-checker.js.map +0 -1
  530. package/dist/eval-core/evaluation-execution.d.ts.map +0 -1
  531. package/dist/eval-core/evaluation-execution.js.map +0 -1
  532. package/dist/eval-core/evaluation-job.d.ts.map +0 -1
  533. package/dist/eval-core/evaluation-job.js.map +0 -1
  534. package/dist/eval-core/evaluation-reporting.d.ts.map +0 -1
  535. package/dist/eval-core/evaluation-reporting.js.map +0 -1
  536. package/dist/eval-core/execution-strategy.d.ts.map +0 -1
  537. package/dist/eval-core/execution-strategy.js.map +0 -1
  538. package/dist/eval-core/fact-checker.d.ts.map +0 -1
  539. package/dist/eval-core/fact-checker.js.map +0 -1
  540. package/dist/eval-core/layer-gates.d.ts.map +0 -1
  541. package/dist/eval-core/layer-gates.js.map +0 -1
  542. package/dist/eval-core/mocks-runtime.d.ts.map +0 -1
  543. package/dist/eval-core/mocks-runtime.js.map +0 -1
  544. package/dist/eval-core/schema.d.ts.map +0 -1
  545. package/dist/eval-core/schema.js.map +0 -1
  546. package/dist/eval-core/statistics.d.ts.map +0 -1
  547. package/dist/eval-core/statistics.js.map +0 -1
  548. package/dist/eval-core/task-planner.d.ts.map +0 -1
  549. package/dist/eval-core/task-planner.js.map +0 -1
  550. package/dist/eval-core/verdict.d.ts.map +0 -1
  551. package/dist/eval-core/verdict.js.map +0 -1
  552. package/dist/eval-workflows/batch-evaluation-workflow.d.ts.map +0 -1
  553. package/dist/eval-workflows/batch-evaluation-workflow.js.map +0 -1
  554. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.d.ts.map +0 -1
  555. package/dist/eval-workflows/evaluation-pipeline/preflight-warnings.js.map +0 -1
  556. package/dist/eval-workflows/evaluation-pipeline/report-finalize.d.ts.map +0 -1
  557. package/dist/eval-workflows/evaluation-pipeline/report-finalize.js.map +0 -1
  558. package/dist/eval-workflows/evaluation-pipeline/run-state.d.ts.map +0 -1
  559. package/dist/eval-workflows/evaluation-pipeline/run-state.js.map +0 -1
  560. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.d.ts.map +0 -1
  561. package/dist/eval-workflows/evaluation-pipeline/test-set-hash.js.map +0 -1
  562. package/dist/eval-workflows/evaluation-pipeline.d.ts.map +0 -1
  563. package/dist/eval-workflows/evaluation-pipeline.js.map +0 -1
  564. package/dist/eval-workflows/evaluation-preparation.d.ts.map +0 -1
  565. package/dist/eval-workflows/evaluation-preparation.js.map +0 -1
  566. package/dist/eval-workflows/messages.d.ts.map +0 -1
  567. package/dist/eval-workflows/messages.js.map +0 -1
  568. package/dist/eval-workflows/run-evaluation.d.ts.map +0 -1
  569. package/dist/eval-workflows/run-evaluation.js.map +0 -1
  570. package/dist/executors/anthropic-api.d.ts.map +0 -1
  571. package/dist/executors/anthropic-api.js.map +0 -1
  572. package/dist/executors/claude-cli.d.ts.map +0 -1
  573. package/dist/executors/claude-cli.js.map +0 -1
  574. package/dist/executors/claude-sdk-trace.d.ts.map +0 -1
  575. package/dist/executors/claude-sdk-trace.js.map +0 -1
  576. package/dist/executors/claude-sdk.d.ts.map +0 -1
  577. package/dist/executors/claude-sdk.js.map +0 -1
  578. package/dist/executors/codex-cli-trace.d.ts.map +0 -1
  579. package/dist/executors/codex-cli-trace.js.map +0 -1
  580. package/dist/executors/codex-cli.d.ts.map +0 -1
  581. package/dist/executors/codex-cli.js.map +0 -1
  582. package/dist/executors/codex-sdk.d.ts.map +0 -1
  583. package/dist/executors/codex-sdk.js.map +0 -1
  584. package/dist/executors/gemini.d.ts.map +0 -1
  585. package/dist/executors/gemini.js.map +0 -1
  586. package/dist/executors/index.d.ts.map +0 -1
  587. package/dist/executors/index.js.map +0 -1
  588. package/dist/executors/openai-api.d.ts.map +0 -1
  589. package/dist/executors/openai-api.js.map +0 -1
  590. package/dist/executors/runtime-fingerprint.d.ts.map +0 -1
  591. package/dist/executors/runtime-fingerprint.js.map +0 -1
  592. package/dist/executors/script.d.ts.map +0 -1
  593. package/dist/executors/script.js.map +0 -1
  594. package/dist/executors/shared.d.ts.map +0 -1
  595. package/dist/executors/shared.js.map +0 -1
  596. package/dist/grading/assertions.d.ts.map +0 -1
  597. package/dist/grading/assertions.js.map +0 -1
  598. package/dist/grading/debias-validate.d.ts.map +0 -1
  599. package/dist/grading/debias-validate.js.map +0 -1
  600. package/dist/grading/diagnostic.d.ts.map +0 -1
  601. package/dist/grading/diagnostic.js.map +0 -1
  602. package/dist/grading/gold-cli.d.ts.map +0 -1
  603. package/dist/grading/gold-cli.js.map +0 -1
  604. package/dist/grading/gold-dataset.d.ts.map +0 -1
  605. package/dist/grading/gold-dataset.js.map +0 -1
  606. package/dist/grading/human-gold.d.ts.map +0 -1
  607. package/dist/grading/human-gold.js.map +0 -1
  608. package/dist/grading/index.d.ts.map +0 -1
  609. package/dist/grading/index.js.map +0 -1
  610. package/dist/grading/judge.d.ts.map +0 -1
  611. package/dist/grading/judge.js.map +0 -1
  612. package/dist/grading/layered-scores.d.ts.map +0 -1
  613. package/dist/grading/layered-scores.js.map +0 -1
  614. package/dist/inputs/eval-config.d.ts.map +0 -1
  615. package/dist/inputs/eval-config.js.map +0 -1
  616. package/dist/inputs/load-samples.d.ts.map +0 -1
  617. package/dist/inputs/load-samples.js.map +0 -1
  618. package/dist/inputs/mcp-resolver.d.ts.map +0 -1
  619. package/dist/inputs/mcp-resolver.js.map +0 -1
  620. package/dist/inputs/skill-loader.d.ts.map +0 -1
  621. package/dist/inputs/skill-loader.js.map +0 -1
  622. package/dist/inputs/url-fetcher.d.ts.map +0 -1
  623. package/dist/inputs/url-fetcher.js.map +0 -1
  624. package/dist/observability/experience-frontmatter.d.ts.map +0 -1
  625. package/dist/observability/experience-frontmatter.js.map +0 -1
  626. package/dist/observability/experience.d.ts.map +0 -1
  627. package/dist/observability/experience.js.map +0 -1
  628. package/dist/observability/feedback-matchers.d.ts.map +0 -1
  629. package/dist/observability/feedback-matchers.js.map +0 -1
  630. package/dist/observability/feedback-projection.d.ts.map +0 -1
  631. package/dist/observability/feedback-projection.js.map +0 -1
  632. package/dist/observability/inbox-view-model.d.ts.map +0 -1
  633. package/dist/observability/inbox-view-model.js.map +0 -1
  634. package/dist/observability/inbox.d.ts.map +0 -1
  635. package/dist/observability/inbox.js.map +0 -1
  636. package/dist/observability/problem-patterns.d.ts.map +0 -1
  637. package/dist/observability/problem-patterns.js.map +0 -1
  638. package/dist/observability/resolved-review.d.ts.map +0 -1
  639. package/dist/observability/resolved-review.js.map +0 -1
  640. package/dist/observability/review-state.d.ts.map +0 -1
  641. package/dist/observability/review-state.js.map +0 -1
  642. package/dist/observability/skill-chain-advisories.d.ts.map +0 -1
  643. package/dist/observability/skill-chain-advisories.js.map +0 -1
  644. package/dist/observability/skill-chain.d.ts.map +0 -1
  645. package/dist/observability/skill-chain.js.map +0 -1
  646. package/dist/observability/skill-health-analyzer.d.ts.map +0 -1
  647. package/dist/observability/skill-health-analyzer.js.map +0 -1
  648. package/dist/observability/soft-standards/constants.d.ts.map +0 -1
  649. package/dist/observability/soft-standards/constants.js.map +0 -1
  650. package/dist/observability/soft-standards/index.d.ts.map +0 -1
  651. package/dist/observability/soft-standards/index.js.map +0 -1
  652. package/dist/observability/soft-standards/llm-extractor.d.ts.map +0 -1
  653. package/dist/observability/soft-standards/llm-extractor.js.map +0 -1
  654. package/dist/observability/soft-standards/runtime-evaluator.d.ts.map +0 -1
  655. package/dist/observability/soft-standards/runtime-evaluator.js.map +0 -1
  656. package/dist/observability/soft-standards/skill-standards-store.d.ts.map +0 -1
  657. package/dist/observability/soft-standards/skill-standards-store.js.map +0 -1
  658. package/dist/observability/soft-standards/types.d.ts.map +0 -1
  659. package/dist/observability/soft-standards/types.js.map +0 -1
  660. package/dist/observability/text-signals.d.ts.map +0 -1
  661. package/dist/observability/text-signals.js.map +0 -1
  662. package/dist/observability/trace-adapter.d.ts.map +0 -1
  663. package/dist/observability/trace-adapter.js.map +0 -1
  664. package/dist/observability/trace-attribution.d.ts.map +0 -1
  665. package/dist/observability/trace-attribution.js.map +0 -1
  666. package/dist/observability/trace-segmenter.d.ts.map +0 -1
  667. package/dist/observability/trace-segmenter.js.map +0 -1
  668. package/dist/observability/trace-source.d.ts.map +0 -1
  669. package/dist/observability/trace-source.js.map +0 -1
  670. package/dist/renderer/html-renderer.d.ts.map +0 -1
  671. package/dist/renderer/html-renderer.js.map +0 -1
  672. package/dist/renderer/layout.d.ts.map +0 -1
  673. package/dist/renderer/layout.js.map +0 -1
  674. package/dist/renderer/observation-inbox/helpers.d.ts.map +0 -1
  675. package/dist/renderer/observation-inbox/helpers.js.map +0 -1
  676. package/dist/renderer/observation-inbox/styles.d.ts.map +0 -1
  677. package/dist/renderer/observation-inbox/styles.js.map +0 -1
  678. package/dist/renderer/observation-inbox-renderer.d.ts.map +0 -1
  679. package/dist/renderer/observation-inbox-renderer.js.map +0 -1
  680. package/dist/renderer/skill-detail-renderer.d.ts.map +0 -1
  681. package/dist/renderer/skill-detail-renderer.js.map +0 -1
  682. package/dist/renderer/skill-health-renderer.d.ts.map +0 -1
  683. package/dist/renderer/skill-health-renderer.js.map +0 -1
  684. package/dist/renderer/skill-list-renderer.d.ts.map +0 -1
  685. package/dist/renderer/skill-list-renderer.js.map +0 -1
  686. package/dist/renderer/summary.d.ts.map +0 -1
  687. package/dist/renderer/summary.js.map +0 -1
  688. package/dist/renderer/table.d.ts.map +0 -1
  689. package/dist/renderer/table.js.map +0 -1
  690. package/dist/renderer/test-view.d.ts.map +0 -1
  691. package/dist/renderer/test-view.js.map +0 -1
  692. package/dist/renderer/trends.d.ts.map +0 -1
  693. package/dist/renderer/trends.js.map +0 -1
  694. package/dist/server/job-store.d.ts.map +0 -1
  695. package/dist/server/job-store.js.map +0 -1
  696. package/dist/server/report-server.d.ts.map +0 -1
  697. package/dist/server/report-server.js.map +0 -1
  698. package/dist/server/report-store.d.ts.map +0 -1
  699. package/dist/server/report-store.js.map +0 -1
  700. package/dist/server/skill-index.d.ts.map +0 -1
  701. package/dist/server/skill-index.js.map +0 -1
  702. package/dist/server/skill-insights.d.ts.map +0 -1
  703. package/dist/server/skill-insights.js.map +0 -1
  704. package/dist/shared/hard-rules.d.ts.map +0 -1
  705. package/dist/shared/hard-rules.js.map +0 -1
  706. package/dist/shared/llm-prompts/index.d.ts.map +0 -1
  707. package/dist/shared/llm-prompts/index.js.map +0 -1
  708. package/dist/shared/llm-prompts/skill-health.d.ts.map +0 -1
  709. package/dist/shared/llm-prompts/skill-health.js.map +0 -1
  710. package/dist/shared/time.d.ts.map +0 -1
  711. package/dist/shared/time.js.map +0 -1
  712. package/dist/shared/tool-search.d.ts.map +0 -1
  713. package/dist/shared/tool-search.js.map +0 -1
  714. package/dist/types/dependencies.d.ts.map +0 -1
  715. package/dist/types/dependencies.js.map +0 -1
  716. package/dist/types/diagnosis.d.ts.map +0 -1
  717. package/dist/types/diagnosis.js.map +0 -1
  718. package/dist/types/doctor.d.ts.map +0 -1
  719. package/dist/types/doctor.js.map +0 -1
  720. package/dist/types/eval.d.ts.map +0 -1
  721. package/dist/types/eval.js.map +0 -1
  722. package/dist/types/executor.d.ts.map +0 -1
  723. package/dist/types/executor.js.map +0 -1
  724. package/dist/types/index.d.ts.map +0 -1
  725. package/dist/types/index.js.map +0 -1
  726. package/dist/types/judge.d.ts.map +0 -1
  727. package/dist/types/judge.js.map +0 -1
  728. package/dist/types/observability.d.ts.map +0 -1
  729. package/dist/types/observability.js.map +0 -1
  730. package/dist/types/report.d.ts.map +0 -1
  731. package/dist/types/report.js.map +0 -1
  732. package/dist/types/shared.d.ts.map +0 -1
  733. package/dist/types/shared.js.map +0 -1
  734. package/dist/types/skill-index.d.ts.map +0 -1
  735. package/dist/types/skill-index.js.map +0 -1
  736. package/dist/types/storage.d.ts.map +0 -1
  737. package/dist/types/storage.js.map +0 -1
  738. package/dist/util/safe-slice.d.ts.map +0 -1
  739. package/dist/util/safe-slice.js.map +0 -1
@@ -53,7 +53,7 @@ export function buildVariantConfig(artifact) {
53
53
  // 因此缺失时直接 throw,强迫调用者修配置,不走默认值掩盖。
54
54
  if (!artifact.experimentRole) {
55
55
  throw new Error(`artifact "${artifact.name}" 缺少 experimentRole:应该由 CLI --control/--treatment、`
56
- + `--config eval.yaml 或 batch workflow 显式注入。参见 docs/specs/terminology-spec.md 三-4。`);
56
+ + `--config eval.yaml 或 batch workflow 显式注入。参见 docs/zh/specs/terminology-spec.md 三-4。`);
57
57
  }
58
58
  return {
59
59
  variant: artifact.name,
@@ -72,7 +72,13 @@ export function buildVariantConfig(artifact) {
72
72
  };
73
73
  }
74
74
  function extractSkillDir(artifact) {
75
- if (!artifact.locator)
75
+ // dir-skill(任意源)优先用隔离副本执行根 execRoot:agent cwd 锚副本、skillDir 也指副本。副本经
76
+ // distributable filter 物化、不含 node_modules → buildExecEnv 的 .bin 检查恒不命中 → PATH 不被污染。
77
+ if (artifact.execRoot)
78
+ return artifact.execRoot;
79
+ // git 文件-skill 无 execRoot 且 locator 是 git spec(`review` / `skills/review`)非磁盘目录,取 dirname
80
+ // 会得伪 skillDir 污染 PATH/runtime fingerprint → 与 baseline 一样返回 null。本地文件-skill 取 .md 所在目录。
81
+ if (!artifact.locator || artifact.source === 'git')
76
82
  return null;
77
83
  return dirname(artifact.locator);
78
84
  }
@@ -162,4 +168,3 @@ export function resolveExecutionStrategy(task, model, timeoutMs, verbose, effort
162
168
  };
163
169
  }
164
170
  }
165
- //# sourceMappingURL=execution-strategy.js.map
@@ -22,4 +22,3 @@ export declare function extractPathClaims(output: string): string[];
22
22
  * Check facts in agent output by verifying file paths exist in cwd.
23
23
  */
24
24
  export declare function checkFacts(output: string, cwd: string): FactCheckResult;
25
- //# sourceMappingURL=fact-checker.d.ts.map
@@ -63,4 +63,3 @@ export function checkFacts(output, cwd) {
63
63
  const verifiedRate = totalCount > 0 ? Number((verifiedCount / totalCount).toFixed(2)) : 1;
64
64
  return { claims, verifiedCount, totalCount, verifiedRate };
65
65
  }
66
- //# sourceMappingURL=fact-checker.js.map
@@ -14,4 +14,3 @@ export interface LayerGateResult {
14
14
  * 抽为纯函数便于单测;commands/eval-runner.ts 负责 IO(读 config、打印、退出码)。
15
15
  */
16
16
  export declare function evaluateLayerGates(summary: Record<string, VariantSummary>, threshold: number): LayerGateResult;
17
- //# sourceMappingURL=layer-gates.d.ts.map
@@ -39,4 +39,3 @@ export function evaluateLayerGates(summary, threshold) {
39
39
  }
40
40
  return { allPass, lines };
41
41
  }
42
- //# sourceMappingURL=layer-gates.js.map
@@ -97,4 +97,3 @@ declare function readMockHookTemplate(): string;
97
97
  export declare const _readMockHookTemplateForTest: typeof readMockHookTemplate;
98
98
  export declare function _testMakeTempConfigDir(): string;
99
99
  export {};
100
- //# sourceMappingURL=mocks-runtime.d.ts.map
@@ -556,4 +556,3 @@ export function _testMakeTempConfigDir() {
556
556
  mkdirSync(dir, { recursive: true });
557
557
  return dir;
558
558
  }
559
- //# sourceMappingURL=mocks-runtime.js.map
@@ -27,4 +27,3 @@ export declare function buildVariantResult(execResult: ExecResult, gradeResult:
27
27
  */
28
28
  export declare function buildVariantSummary(entries: VariantResult[]): VariantSummary;
29
29
  export {};
30
- //# sourceMappingURL=schema.d.ts.map
@@ -306,4 +306,3 @@ function buildEnsembleAggregate(ok) {
306
306
  judgeAgreement: { ...agreement, sampleCount: alignedMatrix[0].length },
307
307
  };
308
308
  }
309
- //# sourceMappingURL=schema.js.map
@@ -83,4 +83,3 @@ export declare function tTest(a: number[], b: number[]): {
83
83
  df: number;
84
84
  significant: boolean;
85
85
  };
86
- //# sourceMappingURL=statistics.d.ts.map
@@ -207,4 +207,3 @@ export function tTest(a, b) {
207
207
  significant,
208
208
  };
209
209
  }
210
- //# sourceMappingURL=statistics.js.map
@@ -9,4 +9,3 @@ import type { Artifact, Sample, SampleEnvironment, Task } from '../types/index.j
9
9
  export declare function renderEnvironmentSection(env: SampleEnvironment | undefined): string | null;
10
10
  export declare function buildTasks(samples: Sample[], variants: string[], skills: Record<string, string | null>): Task[];
11
11
  export declare function buildTasksFromArtifacts(samples: Sample[], artifacts: Artifact[]): Task[];
12
- //# sourceMappingURL=task-planner.d.ts.map
@@ -62,11 +62,11 @@ export function buildTasksFromArtifacts(samples, artifacts) {
62
62
  assertions: sample.assertions || null,
63
63
  dimensions: sample.dimensions || null,
64
64
  artifactContent: artifact.content,
65
- cwd: artifact.cwd || artifact.skillRoot || sample.cwd || null,
65
+ // 用户显式 cwd > execRoot(隔离副本,dir-skill 执行根) > skillRoot(真源,兜底) > sample.cwd
66
+ cwd: artifact.cwd || artifact.execRoot || artifact.skillRoot || sample.cwd || null,
66
67
  _sample: sample,
67
68
  });
68
69
  }
69
70
  }
70
71
  return tasks;
71
72
  }
72
- //# sourceMappingURL=task-planner.js.map
@@ -92,4 +92,3 @@ export declare function computeVerdict(report: Report, options?: VerdictOptions)
92
92
  export declare function formatVerdictText(result: VerdictResult, options?: {
93
93
  verbose?: boolean;
94
94
  }): string;
95
- //# sourceMappingURL=verdict.d.ts.map
@@ -369,4 +369,3 @@ export function formatVerdictText(result, options = {}) {
369
369
  }
370
370
  return lines.join('\n');
371
371
  }
372
- //# 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,50 +5,29 @@ 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
- // 不把 variantAllowedSkills 透进 resolveArtifacts:那里按解析出的 artifact 名查,
13
- // 与 eval.yaml 的自定义 variant 名不一致时会漏绑。allowedSkills 统一在下面按 spec 绑定。
14
- // resolveArtifacts 只保留 strictBaseline 默认(baseline → [])。
15
- const resolvedArtifacts = artifacts || resolveArtifacts(resolve(skillDir), variantExpressions, { strictBaseline });
16
- // Attach experimentRole to each artifact.
17
- // - 当 artifacts 由本函数从 variantSpecs.map(spec => spec.expr) 解析时,两者顺序一一对应,
18
- // 按 index 绑定 role,并把 spec.name 同步成消歧后的最终唯一名。不能按 spec.name 匹配
19
- // artifact.name:同 basename 的 variant 被 ensureUniqueVariantNames 消歧后(v1/greeter /
20
- // v2/greeter)就和 spec 的派生短名(greeter)对不上,会丢 role。
21
- // - 当 artifacts 由外部传入(如 batch workflow,role 已预置)时,index 无法对齐,
22
- // 退回按 name 匹配,且 if-already-set 守卫会保留预置 role。
23
- if (!artifacts && variantSpecs.length === resolvedArtifacts.length) {
24
- variantSpecs.forEach((spec, i) => {
25
- const artifact = resolvedArtifacts[i];
26
- if (!artifact.experimentRole)
27
- artifact.experimentRole = spec.role;
28
- // allowedSkills 按 spec 身份绑定(eval 主路径的唯一隔离绑定点,显式声明优先于
29
- // strictBaseline 默认)。首选 spec.allowedSkills(eval.yaml 经 configVariantsToSpecs 带上);
30
- // 旧的按变量名 map 仅作 legacy fallback,兜住「CLI roles 覆盖 config 时 spec 不带
31
- // allowedSkills」等边角,行为与重构前一致。
32
- // TODO: 待所有路径都按 spec 携带 allowedSkills 后,移除 variantAllowedSkills 这条 fallback,
33
- // 与 resolveArtifacts 里的按名绑定一并收成单一来源。
34
- const explicit = spec.allowedSkills ?? variantAllowedSkills?.[spec.name];
35
- if (explicit !== undefined)
36
- artifact.allowedSkills = explicit;
37
- spec.name = artifact.name; // 同步唯一名,让 spec 与 report / variantNames 一致(放最后,前面还要用旧名查)
38
- });
39
- }
40
- else {
41
- const roleByName = {};
42
- for (const spec of variantSpecs)
43
- roleByName[spec.name] = spec.role;
44
- for (const artifact of resolvedArtifacts) {
45
- if (artifact.experimentRole)
46
- continue; // preserve if already set (e.g. batch workflow)
47
- const role = roleByName[artifact.name];
48
- if (role)
49
- artifact.experimentRole = role;
50
- }
51
- }
10
+ // 结构化传入 {expr, cwd}(与 variantSpecs 顺序一一对应),cwd 不再编码进 expr 字符串。
11
+ // resolveArtifacts 只保留 strictBaseline 默认(baseline → []);per-variant 隔离声明走
12
+ // spec.allowedSkills,在下面按 spec 身份绑定。
13
+ const variantInputs = variantSpecs.map((spec) => spec.git
14
+ ? { git: spec.git, cwd: spec.cwd, name: spec.name }
15
+ : { expr: spec.expr, cwd: spec.cwd });
16
+ const resolvedArtifacts = resolveArtifacts(resolve(skillDir), variantInputs, { strictBaseline });
17
+ // experimentRole / allowedSkills 按 spec 身份绑定。variantSpecs 与 resolvedArtifacts 顺序
18
+ // 一一对应(resolveArtifacts 每个 input 产出一个 artifact),按 index 绑定,并把 spec.name
19
+ // 同步成消歧后的最终唯一名。不能按 spec.name 匹配 artifact.name:同 basename 的 variant 被
20
+ // ensureUniqueVariantNames 消歧后(v1/greeter / v2/greeter)就和 spec 的派生短名(greeter)
21
+ // 对不上,会丢 role。
22
+ variantSpecs.forEach((spec, i) => {
23
+ const artifact = resolvedArtifacts[i];
24
+ artifact.experimentRole = spec.role;
25
+ // spec.allowedSkills 是隔离声明的单一来源(eval.yaml 经 configVariantsToSpecs、batch 经
26
+ // buildBatchVariantSpecs 都挂到 spec 上),显式声明优先于 strictBaseline 默认。
27
+ if (spec.allowedSkills !== undefined)
28
+ artifact.allowedSkills = spec.allowedSkills;
29
+ spec.name = artifact.name; // 同步唯一名,让 spec 与 report / variantNames 一致(放最后,前面还要用旧名查)
30
+ });
52
31
  if (!dryRun) {
53
32
  const mcpServers = loadMcpConfig(mcpConfig);
54
33
  const mcpResolved = mcpServers ? await resolveMcpUrls(samples, mcpServers) : new Set();
@@ -102,4 +81,3 @@ export function buildDryRunTaskReport({ model, judgeModels, executorName, sample
102
81
  }),
103
82
  };
104
83
  }
105
- //# 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
  }>;
@@ -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
10
  import { bootstrapMeanCI, DEFAULT_BOOTSTRAP_ALPHA, DEFAULT_BOOTSTRAP_SAMPLES } 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, }) {
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 {
@@ -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,
@@ -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