@tangle-network/agent-eval 0.144.11 → 0.144.13

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 (378) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/agent-profile-B9_GGsG8.d.ts +84 -0
  3. package/dist/agent-profile-B9_GGsG8.d.ts.map +1 -0
  4. package/dist/{agent-profile-cell-BOP-iA9Q.d.ts → agent-profile-cell-BkcRDikH.d.ts} +2 -2
  5. package/dist/{agent-profile-cell-BOP-iA9Q.d.ts.map → agent-profile-cell-BkcRDikH.d.ts.map} +1 -1
  6. package/dist/analyst/index.d.ts +134 -16
  7. package/dist/analyst/index.d.ts.map +1 -1
  8. package/dist/analyst/index.js +364 -10
  9. package/dist/analyst/index.js.map +1 -1
  10. package/dist/backend-integrity-CsVin_Wb.d.ts +280 -0
  11. package/dist/backend-integrity-CsVin_Wb.d.ts.map +1 -0
  12. package/dist/{baseline-C-GocmIW.js → baseline-BhPRQBVn.js} +3 -2
  13. package/dist/{baseline-C-GocmIW.js.map → baseline-BhPRQBVn.js.map} +1 -1
  14. package/dist/{benchmark-CWeqGl7x.js → benchmark-BhT16ep9.js} +2 -2
  15. package/dist/{benchmark-CWeqGl7x.js.map → benchmark-BhT16ep9.js.map} +1 -1
  16. package/dist/{agent-profile-DPi7IZg7.d.ts → benchmark-Ceoan7vk.d.ts} +4 -91
  17. package/dist/benchmark-Ceoan7vk.d.ts.map +1 -0
  18. package/dist/{benchmark-command-BteMFN62.js → benchmark-command-CY6cbhOB.js} +36 -79
  19. package/dist/benchmark-command-CY6cbhOB.js.map +1 -0
  20. package/dist/benchmarks/index.d.ts +244 -2
  21. package/dist/benchmarks/index.d.ts.map +1 -0
  22. package/dist/benchmarks/index.js +733 -1
  23. package/dist/benchmarks/index.js.map +1 -0
  24. package/dist/builder-eval/index.d.ts +23 -2
  25. package/dist/builder-eval/index.d.ts.map +1 -1
  26. package/dist/builder-eval/index.js +227 -3
  27. package/dist/builder-eval/index.js.map +1 -1
  28. package/dist/campaign/index.d.ts +10 -8
  29. package/dist/campaign/index.js +9 -6
  30. package/dist/{campaign-C2TTzQII.js → campaign-BYjBAypg.js} +21 -634
  31. package/dist/campaign-BYjBAypg.js.map +1 -0
  32. package/dist/{canonical-D011XM8r.js → canonical-D-XsTQ6_.js} +2 -2
  33. package/dist/{canonical-D011XM8r.js.map → canonical-D-XsTQ6_.js.map} +1 -1
  34. package/dist/{index-CQTZ-4XN.d.ts → capture-fetch-DDvpjVRU.d.ts} +3 -3
  35. package/dist/capture-fetch-DDvpjVRU.d.ts.map +1 -0
  36. package/dist/{default-registry-BmktKy8r.js → chat-client-Bp4Ebuuc.js} +1276 -1276
  37. package/dist/chat-client-Bp4Ebuuc.js.map +1 -0
  38. package/dist/cli.js +2 -2
  39. package/dist/{client-C9gzZE59.d.ts → client-KUbGulm_.d.ts} +4 -4
  40. package/dist/{client-C9gzZE59.d.ts.map → client-KUbGulm_.d.ts.map} +1 -1
  41. package/dist/contract/index.d.ts +13 -390
  42. package/dist/contract/index.d.ts.map +1 -1
  43. package/dist/contract/index.js +18 -542
  44. package/dist/contract/index.js.map +1 -1
  45. package/dist/{cost-ledger-DMFxsLKr.js → cost-ledger-BSe92yAV.js} +3 -3
  46. package/dist/{cost-ledger-DMFxsLKr.js.map → cost-ledger-BSe92yAV.js.map} +1 -1
  47. package/dist/{cost-ledger-Bv_e8XHY.d.ts → cost-ledger-DbQdN3nO.d.ts} +2 -2
  48. package/dist/{cost-ledger-Bv_e8XHY.d.ts.map → cost-ledger-DbQdN3nO.d.ts.map} +1 -1
  49. package/dist/{counterfactual-CxmxAONP.d.ts → counterfactual--bpysZF0.d.ts} +2 -14
  50. package/dist/{counterfactual-CxmxAONP.d.ts.map → counterfactual--bpysZF0.d.ts.map} +1 -1
  51. package/dist/{counterfactual-CWPTrMH7.js → counterfactual-lDfCx0Uz.js} +3 -31
  52. package/dist/{counterfactual-CWPTrMH7.js.map → counterfactual-lDfCx0Uz.js.map} +1 -1
  53. package/dist/{dataset-C8xaLXdY.d.ts → dataset-CJjKqQfA.d.ts} +2 -8
  54. package/dist/dataset-CJjKqQfA.d.ts.map +1 -0
  55. package/dist/{default-registry-Bf8Woqmq.d.ts → default-registry-Di6HP6pG.d.ts} +7 -12
  56. package/dist/default-registry-Di6HP6pG.d.ts.map +1 -0
  57. package/dist/{analyze-runs-C30yljDJ.js → define-agent-eval-iqjT--ZZ.js} +542 -130
  58. package/dist/define-agent-eval-iqjT--ZZ.js.map +1 -0
  59. package/dist/define-agent-eval-sH24zBfM.d.ts +388 -0
  60. package/dist/define-agent-eval-sH24zBfM.d.ts.map +1 -0
  61. package/dist/descriptive-B5MwKfbf.js +144 -0
  62. package/dist/descriptive-B5MwKfbf.js.map +1 -0
  63. package/dist/{dspy-rlm-engine-DbTk4JdR.js → dspy-rlm-engine-B_qhSc21.js} +4 -4
  64. package/dist/{dspy-rlm-engine-DbTk4JdR.js.map → dspy-rlm-engine-B_qhSc21.js.map} +1 -1
  65. package/dist/effect-sizes-DiH8MGOH.js +82 -0
  66. package/dist/effect-sizes-DiH8MGOH.js.map +1 -0
  67. package/dist/{engine-3hL-XqwJ.d.ts → engine-otFpE2gF.d.ts} +10 -38
  68. package/dist/engine-otFpE2gF.d.ts.map +1 -0
  69. package/dist/{errors-CKPfb2aH.d.ts → errors-DEE6u6ot.d.ts} +2 -14
  70. package/dist/{errors-CKPfb2aH.d.ts.map → errors-DEE6u6ot.d.ts.map} +1 -1
  71. package/dist/{errors-D-LKuDhb.js → errors-Dngq5h35.js} +2 -8
  72. package/dist/{errors-D-LKuDhb.js.map → errors-Dngq5h35.js.map} +1 -1
  73. package/dist/{eval-campaign-B_7wcnav.js → eval-campaign-UB-usSQ2.js} +6 -6
  74. package/dist/{eval-campaign-B_7wcnav.js.map → eval-campaign-UB-usSQ2.js.map} +1 -1
  75. package/dist/{exact-types-DSFFpLLI.d.ts → exact-types-BH1twmAJ.d.ts} +2 -2
  76. package/dist/{exact-types-DSFFpLLI.d.ts.map → exact-types-BH1twmAJ.d.ts.map} +1 -1
  77. package/dist/experiment/index.d.ts +9 -6
  78. package/dist/experiment/index.d.ts.map +1 -1
  79. package/dist/experiment/index.js +11 -7
  80. package/dist/experiment/index.js.map +1 -1
  81. package/dist/experiment-tracker-C29gXM4B.js +269 -0
  82. package/dist/experiment-tracker-C29gXM4B.js.map +1 -0
  83. package/dist/{experiment-tracker-IMntXr6J.d.ts → experiment-tracker-DWHZBAYL.d.ts} +77 -121
  84. package/dist/experiment-tracker-DWHZBAYL.d.ts.map +1 -0
  85. package/dist/{external-optimizer-contracts-CZuJNcT5.d.ts → external-optimizer-contracts-lixrOZdX.d.ts} +3 -3
  86. package/dist/{external-optimizer-contracts-CZuJNcT5.d.ts.map → external-optimizer-contracts-lixrOZdX.d.ts.map} +1 -1
  87. package/dist/external-optimizer-process-BTiNB-RH.js +301 -0
  88. package/dist/external-optimizer-process-BTiNB-RH.js.map +1 -0
  89. package/dist/{single-run-lock-DFWHEB09.js → external-optimizer-subprocess-DrJ9hR8u.js} +144 -438
  90. package/dist/external-optimizer-subprocess-DrJ9hR8u.js.map +1 -0
  91. package/dist/extract-usage-BrQ8mCLX.js +155 -0
  92. package/dist/extract-usage-BrQ8mCLX.js.map +1 -0
  93. package/dist/{failure-cluster-CqcvCcdR.d.ts → failure-cluster-BLURuWG4.d.ts} +2 -3
  94. package/dist/failure-cluster-BLURuWG4.d.ts.map +1 -0
  95. package/dist/{feedback-trajectory-CacHpxsp.d.ts → feedback-trajectory-juOozjAc.d.ts} +5 -36
  96. package/dist/feedback-trajectory-juOozjAc.d.ts.map +1 -0
  97. package/dist/fuzz.d.ts +2 -2
  98. package/dist/fuzz.js +2 -2
  99. package/dist/hosted/index.d.ts +3 -3
  100. package/dist/{index-CvSN3IG1.d.ts → index-B8Ui1mr1.d.ts} +2 -2
  101. package/dist/{index-CvSN3IG1.d.ts.map → index-B8Ui1mr1.d.ts.map} +1 -1
  102. package/dist/{skill-usage-CO9OLRBx.d.ts → index-BWDrSVfw.d.ts} +11 -136
  103. package/dist/index-BWDrSVfw.d.ts.map +1 -0
  104. package/dist/index-Ba3YrbAL.d.ts +1 -0
  105. package/dist/{index-BnEuDAK2.d.ts → index-COQYtuRF.d.ts} +3 -3
  106. package/dist/{index-BnEuDAK2.d.ts.map → index-COQYtuRF.d.ts.map} +1 -1
  107. package/dist/{index-C3ssXVLv.d.ts → index-CvjYbU0D.d.ts} +2 -2
  108. package/dist/{index-C3ssXVLv.d.ts.map → index-CvjYbU0D.d.ts.map} +1 -1
  109. package/dist/{index-DPPGNJ_R.d.ts → index-DSmEylT9.d.ts} +17 -115
  110. package/dist/index-DSmEylT9.d.ts.map +1 -0
  111. package/dist/index.d.ts +2397 -5308
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +5914 -10496
  114. package/dist/index.js.map +1 -1
  115. package/dist/{insight-report-CgX_s0Ez.d.ts → insight-report-CRi-Ufrj.d.ts} +4 -4
  116. package/dist/{insight-report-CgX_s0Ez.d.ts.map → insight-report-CRi-Ufrj.d.ts.map} +1 -1
  117. package/dist/{integrity-MLzHOfV9.js → integrity-Cy9WHAtb.js} +2 -2
  118. package/dist/{integrity-MLzHOfV9.js.map → integrity-Cy9WHAtb.js.map} +1 -1
  119. package/dist/{integrity-DY6tIbl0.js → integrity-DysDBWDu.js} +2 -2
  120. package/dist/{integrity-DY6tIbl0.js.map → integrity-DysDBWDu.js.map} +1 -1
  121. package/dist/{integrity-BuqEKu-x.d.ts → integrity-OrcI9Nau.d.ts} +3 -3
  122. package/dist/{integrity-BuqEKu-x.d.ts.map → integrity-OrcI9Nau.d.ts.map} +1 -1
  123. package/dist/internal-BDHPCnjk.js +230 -0
  124. package/dist/internal-BDHPCnjk.js.map +1 -0
  125. package/dist/judge-calibration-C5CbMYce.d.ts +117 -0
  126. package/dist/judge-calibration-C5CbMYce.d.ts.map +1 -0
  127. package/dist/judge-calibration-DZkWrm5H.js +317 -0
  128. package/dist/judge-calibration-DZkWrm5H.js.map +1 -0
  129. package/dist/{kind-factory-B8-r8-y8.js → kind-factory-CPmSd58s.js} +208 -208
  130. package/dist/{kind-factory-B8-r8-y8.js.map → kind-factory-CPmSd58s.js.map} +1 -1
  131. package/dist/ledger-core/index.d.ts +1 -1
  132. package/dist/ledger-core/index.js +2 -2
  133. package/dist/{ledger-core-DXZIqu17.js → ledger-core-BmZt19oQ.js} +110 -110
  134. package/dist/{ledger-core-DXZIqu17.js.map → ledger-core-BmZt19oQ.js.map} +1 -1
  135. package/dist/{llm-client-DzvMUsS_.js → llm-client-d0-2TT1g.js} +4 -64
  136. package/dist/{llm-client-DzvMUsS_.js.map → llm-client-d0-2TT1g.js.map} +1 -1
  137. package/dist/{skillopt-optimization-method-CQdVeM8k.js → llm-judge-dZ8P6nGI.js} +3349 -5401
  138. package/dist/llm-judge-dZ8P6nGI.js.map +1 -0
  139. package/dist/matrix/index.d.ts +2 -2
  140. package/dist/meta-eval/index.d.ts +3 -3
  141. package/dist/meta-eval/index.js +3 -3
  142. package/dist/{metrics-C9YY1OcL.js → metrics-Cl0L1KUy.js} +2 -108
  143. package/dist/{metrics-C9YY1OcL.js.map → metrics-Cl0L1KUy.js.map} +1 -1
  144. package/dist/{mint-B2O60ACG.js → mint-Dj9Ww_3I.js} +4 -4
  145. package/dist/{mint-B2O60ACG.js.map → mint-Dj9Ww_3I.js.map} +1 -1
  146. package/dist/{multi-layer-verifier-DnAqwl0h.d.ts → multi-layer-verifier-DIguZc8Z.d.ts} +3 -3
  147. package/dist/{multi-layer-verifier-DnAqwl0h.d.ts.map → multi-layer-verifier-DIguZc8Z.d.ts.map} +1 -1
  148. package/dist/multiplicity-DIWHvysC.d.ts +43 -0
  149. package/dist/multiplicity-DIWHvysC.d.ts.map +1 -0
  150. package/dist/multishot/index.d.ts +3 -3
  151. package/dist/multishot/index.js +1 -1
  152. package/dist/openapi.json +1 -1
  153. package/dist/{opencode-sqlite-8r6WUfHc.js → opencode-sqlite-DJWAXLms.js} +2 -2
  154. package/dist/{opencode-sqlite-8r6WUfHc.js.map → opencode-sqlite-DJWAXLms.js.map} +1 -1
  155. package/dist/package-version-D7lQHt_-.js +34 -0
  156. package/dist/package-version-D7lQHt_-.js.map +1 -0
  157. package/dist/paired-arms-D-XRF_fy.js +1045 -0
  158. package/dist/paired-arms-D-XRF_fy.js.map +1 -0
  159. package/dist/paired-promotion-decision-CGzg0cI_.d.ts +251 -0
  160. package/dist/paired-promotion-decision-CGzg0cI_.d.ts.map +1 -0
  161. package/dist/paired-tests-BHIhYVdu.js +213 -0
  162. package/dist/paired-tests-BHIhYVdu.js.map +1 -0
  163. package/dist/pareto-BqNW3LJR.d.ts +117 -0
  164. package/dist/pareto-BqNW3LJR.d.ts.map +1 -0
  165. package/dist/pipelines/index.d.ts +3 -64
  166. package/dist/pipelines/index.d.ts.map +1 -1
  167. package/dist/pipelines/index.js +4 -284
  168. package/dist/pipelines/index.js.map +1 -1
  169. package/dist/power-and-mde-CHIrXJll.js +195 -0
  170. package/dist/power-and-mde-CHIrXJll.js.map +1 -0
  171. package/dist/{promotion-policy-CrLrmys8.js → power-preflight-DEw-uC7q.js} +4 -184
  172. package/dist/power-preflight-DEw-uC7q.js.map +1 -0
  173. package/dist/pre-registration-CZwSFQS4.d.ts +577 -0
  174. package/dist/pre-registration-CZwSFQS4.d.ts.map +1 -0
  175. package/dist/{prime-protocol-BfSalTfR.js → prime-protocol-6tZTVsWm.js} +72 -21
  176. package/dist/prime-protocol-6tZTVsWm.js.map +1 -0
  177. package/dist/produced-state-DU79a81m.js +586 -0
  178. package/dist/produced-state-DU79a81m.js.map +1 -0
  179. package/dist/profile-cell.d.ts +1 -1
  180. package/dist/profile-cell.js +1 -1
  181. package/dist/promotion-policy-D0nPhkSy.d.ts +134 -0
  182. package/dist/promotion-policy-D0nPhkSy.d.ts.map +1 -0
  183. package/dist/promotion-policy-xzA40Evo.js +186 -0
  184. package/dist/promotion-policy-xzA40Evo.js.map +1 -0
  185. package/dist/{skillopt-optimization-method-USDKhxSA.d.ts → provenance-CCdxgLDT.d.ts} +57 -478
  186. package/dist/provenance-CCdxgLDT.d.ts.map +1 -0
  187. package/dist/registry-oJeeI4-a.d.ts +178 -0
  188. package/dist/registry-oJeeI4-a.d.ts.map +1 -0
  189. package/dist/{release-report-DA2BCu5a.d.ts → release-confidence-BFRE5WSp.d.ts} +180 -112
  190. package/dist/release-confidence-BFRE5WSp.d.ts.map +1 -0
  191. package/dist/{release-report-BUYmoKo2.js → release-confidence-CxDuiAev.js} +125 -217
  192. package/dist/release-confidence-CxDuiAev.js.map +1 -0
  193. package/dist/reporting.d.ts +6 -5
  194. package/dist/reporting.js +7 -5
  195. package/dist/{researcher-BchpD55R.d.ts → researcher-DaN4GST-.d.ts} +7 -40
  196. package/dist/{researcher-BchpD55R.d.ts.map → researcher-DaN4GST-.d.ts.map} +1 -1
  197. package/dist/{reward-hacking-BDToousL.js → reward-hacking-DNgjilrV.js} +3 -3
  198. package/dist/reward-hacking-DNgjilrV.js.map +1 -0
  199. package/dist/{reward-hacking-BI0OMAlo.d.ts → reward-hacking-DSSTuI9r.d.ts} +5 -5
  200. package/dist/{reward-hacking-BI0OMAlo.d.ts.map → reward-hacking-DSSTuI9r.d.ts.map} +1 -1
  201. package/dist/rl.d.ts +7 -7
  202. package/dist/rl.js +11 -10
  203. package/dist/rl.js.map +1 -1
  204. package/dist/rollout/index.d.ts +2 -2
  205. package/dist/rollout/index.js +4 -4
  206. package/dist/{rollout-DRrksrcV.js → rollout-BWtw0I_6.js} +3 -3
  207. package/dist/{rollout-DRrksrcV.js.map → rollout-BWtw0I_6.js.map} +1 -1
  208. package/dist/{rubric-predictive-validity-DvkjPYCe.d.ts → rubric-predictive-validity-BgxtKe4G.d.ts} +2 -2
  209. package/dist/{rubric-predictive-validity-DvkjPYCe.d.ts.map → rubric-predictive-validity-BgxtKe4G.d.ts.map} +1 -1
  210. package/dist/{rubric-predictive-validity-BRR632r1.js → rubric-predictive-validity-Cwwyd7ah.js} +2 -2
  211. package/dist/{rubric-predictive-validity-BRR632r1.js.map → rubric-predictive-validity-Cwwyd7ah.js.map} +1 -1
  212. package/dist/{run-record-BmSPWXJR.js → run-record-BvHPVS-i.js} +3 -3
  213. package/dist/{run-record-BmSPWXJR.js.map → run-record-BvHPVS-i.js.map} +1 -1
  214. package/dist/{run-record-CF4Dwpxr.d.ts → run-record-CKiihE6f.d.ts} +4 -4
  215. package/dist/{run-record-CF4Dwpxr.d.ts.map → run-record-CKiihE6f.d.ts.map} +1 -1
  216. package/dist/{proposal-findings-2GIUo1et.js → run-score-lDzV0X8j.js} +31 -31
  217. package/dist/run-score-lDzV0X8j.js.map +1 -0
  218. package/dist/sandbox-harness-BlSOu4LX.d.ts +70 -0
  219. package/dist/sandbox-harness-BlSOu4LX.d.ts.map +1 -0
  220. package/dist/{schema-Cef2cFmb2.d.ts → schema-Cef2cFmb.d.ts} +1 -1
  221. package/dist/schema-Cef2cFmb.d.ts.map +1 -0
  222. package/dist/semantic-concept-judge-BiJxScqe.js +406 -0
  223. package/dist/semantic-concept-judge-BiJxScqe.js.map +1 -0
  224. package/dist/{sequential-D-BLJBKU.js → sequential-C458DXNf.js} +4 -3
  225. package/dist/{sequential-D-BLJBKU.js.map → sequential-C458DXNf.js.map} +1 -1
  226. package/dist/sequential-eprocess-CbUt2htw.js +83 -0
  227. package/dist/sequential-eprocess-CbUt2htw.js.map +1 -0
  228. package/dist/series-convergence-D1cL1f-4.d.ts +129 -0
  229. package/dist/series-convergence-D1cL1f-4.d.ts.map +1 -0
  230. package/dist/{server-iu0ede49.js → server-ulsOdrTI.js} +5 -21
  231. package/dist/server-ulsOdrTI.js.map +1 -0
  232. package/dist/skillopt-optimization-method-C5cotF4E.d.ts +427 -0
  233. package/dist/skillopt-optimization-method-C5cotF4E.d.ts.map +1 -0
  234. package/dist/skillopt-optimization-method-jjdnc3YK.js +1999 -0
  235. package/dist/skillopt-optimization-method-jjdnc3YK.js.map +1 -0
  236. package/dist/{statistical-heldout-TQ-4CYiN.d.ts → statistical-heldout-DoFF5KJX.d.ts} +5 -278
  237. package/dist/statistical-heldout-DoFF5KJX.d.ts.map +1 -0
  238. package/dist/{store-otlp-Dw8PPIlL.js → store-otlp-CsptLYpN.js} +3 -3
  239. package/dist/{store-otlp-Dw8PPIlL.js.map → store-otlp-CsptLYpN.js.map} +1 -1
  240. package/dist/store-tool-spans-Cq9mFd-q.js +667 -0
  241. package/dist/store-tool-spans-Cq9mFd-q.js.map +1 -0
  242. package/dist/store-tool-spans-DbDLOBOb.d.ts +342 -0
  243. package/dist/store-tool-spans-DbDLOBOb.d.ts.map +1 -0
  244. package/dist/student-t-CvBq2mve.js +38 -0
  245. package/dist/student-t-CvBq2mve.js.map +1 -0
  246. package/dist/{summary-report-Lf-5I7xh.js → summary-report-Blysd6Z2.js} +6 -3
  247. package/dist/{summary-report-Lf-5I7xh.js.map → summary-report-Blysd6Z2.js.map} +1 -1
  248. package/dist/{summary-report-BNR7DWTj.d.ts → summary-report-CaL-Hnxt.d.ts} +5 -5
  249. package/dist/{summary-report-BNR7DWTj.d.ts.map → summary-report-CaL-Hnxt.d.ts.map} +1 -1
  250. package/dist/supervisor-run/index.d.ts +391 -3
  251. package/dist/supervisor-run/index.d.ts.map +1 -0
  252. package/dist/supervisor-run/index.js +1689 -2
  253. package/dist/{supervisor-run-D_sokXcO.js.map → supervisor-run/index.js.map} +1 -1
  254. package/dist/{extract-usage-CdZdoj1s.js → task-failure-attributes-CpQ4y5RD.js} +5 -157
  255. package/dist/task-failure-attributes-CpQ4y5RD.js.map +1 -0
  256. package/dist/{tool-groups-CZPGGlHf.d.ts → tool-groups-Cteb03Ps.d.ts} +3 -3
  257. package/dist/tool-groups-Cteb03Ps.d.ts.map +1 -0
  258. package/dist/tool-waste-BDdBZG1F.js +803 -0
  259. package/dist/tool-waste-BDdBZG1F.js.map +1 -0
  260. package/dist/tool-waste-DjRDEsuI.d.ts +128 -0
  261. package/dist/tool-waste-DjRDEsuI.d.ts.map +1 -0
  262. package/dist/trace-repair/index.d.ts +14 -5
  263. package/dist/trace-repair/index.d.ts.map +1 -1
  264. package/dist/trace-repair/index.js +35 -7
  265. package/dist/trace-repair/index.js.map +1 -1
  266. package/dist/traces.d.ts +406 -7
  267. package/dist/traces.d.ts.map +1 -0
  268. package/dist/traces.js +1011 -10
  269. package/dist/traces.js.map +1 -0
  270. package/dist/trajectory-replay/index.d.ts +16 -3
  271. package/dist/trajectory-replay/index.d.ts.map +1 -1
  272. package/dist/trajectory-replay/index.js +52 -5
  273. package/dist/trajectory-replay/index.js.map +1 -1
  274. package/dist/types-BEPZc6eo.d.ts +93 -0
  275. package/dist/types-BEPZc6eo.d.ts.map +1 -0
  276. package/dist/{usage-receipt-t7vAzCRQ.js → types-BI4fT3HN.js} +67 -67
  277. package/dist/types-BI4fT3HN.js.map +1 -0
  278. package/dist/{types-BnjdJ70P.d.ts → types-BZ59Ahr8.d.ts} +5 -5
  279. package/dist/{types-BnjdJ70P.d.ts.map → types-BZ59Ahr8.d.ts.map} +1 -1
  280. package/dist/{types-D216SgwM.d.ts → types-Cx3YUh2r.d.ts} +4 -241
  281. package/dist/types-Cx3YUh2r.d.ts.map +1 -0
  282. package/dist/{types-BvDKaULh.d.ts → types-DLQx4mKU.d.ts} +4 -4
  283. package/dist/{types-BvDKaULh.d.ts.map → types-DLQx4mKU.d.ts.map} +1 -1
  284. package/dist/{types-D4mog56g.d.ts → types-yLK8gXE9.d.ts} +2 -2
  285. package/dist/{types-D4mog56g.d.ts.map → types-yLK8gXE9.d.ts.map} +1 -1
  286. package/dist/verdict-BndeTAh_.js +61 -0
  287. package/dist/verdict-BndeTAh_.js.map +1 -0
  288. package/dist/verdict-E4eRNf7-.d.ts +392 -0
  289. package/dist/verdict-E4eRNf7-.d.ts.map +1 -0
  290. package/dist/{verdict-cache-BCcOh0kF.js → verdict-cache-mZf5FEiY.js} +3 -55
  291. package/dist/{verdict-cache-BCcOh0kF.js.map → verdict-cache-mZf5FEiY.js.map} +1 -1
  292. package/dist/wire/index.d.ts +3 -3
  293. package/dist/wire/index.d.ts.map +1 -1
  294. package/dist/wire/index.js +1 -1
  295. package/docs/charter.md +3 -3
  296. package/docs/control-runtime.md +3 -42
  297. package/docs/experiment.md +0 -1
  298. package/docs/feature-guide.md +2 -2
  299. package/docs/trace-repair-grader.md +1 -0
  300. package/docs/trajectory-replay.md +1 -0
  301. package/docs/verdicts.md +43 -0
  302. package/docs/verification-strategies.md +3 -2
  303. package/package.json +6 -11
  304. package/dist/agent-profile-DPi7IZg7.d.ts.map +0 -1
  305. package/dist/analyze-runs-C30yljDJ.js.map +0 -1
  306. package/dist/baseline-CavEbRyH.d.ts +0 -136
  307. package/dist/baseline-CavEbRyH.d.ts.map +0 -1
  308. package/dist/benchmark-command-BteMFN62.js.map +0 -1
  309. package/dist/benchmarks-Dzs8CKb1.js +0 -755
  310. package/dist/benchmarks-Dzs8CKb1.js.map +0 -1
  311. package/dist/campaign-C2TTzQII.js.map +0 -1
  312. package/dist/completion-verifier-DJA5BhPb.d.ts +0 -414
  313. package/dist/completion-verifier-DJA5BhPb.d.ts.map +0 -1
  314. package/dist/control.d.ts +0 -3
  315. package/dist/control.js +0 -2
  316. package/dist/dataset-C8xaLXdY.d.ts.map +0 -1
  317. package/dist/default-registry-Bf8Woqmq.d.ts.map +0 -1
  318. package/dist/default-registry-BmktKy8r.js.map +0 -1
  319. package/dist/engine-3hL-XqwJ.d.ts.map +0 -1
  320. package/dist/experiment-tracker-CnRICnMl.js +0 -500
  321. package/dist/experiment-tracker-CnRICnMl.js.map +0 -1
  322. package/dist/experiment-tracker-IMntXr6J.d.ts.map +0 -1
  323. package/dist/extract-usage-CdZdoj1s.js.map +0 -1
  324. package/dist/failure-cluster-CqcvCcdR.d.ts.map +0 -1
  325. package/dist/feedback-trajectory-CacHpxsp.d.ts.map +0 -1
  326. package/dist/index-BZ3-y4YL.d.ts +0 -391
  327. package/dist/index-BZ3-y4YL.d.ts.map +0 -1
  328. package/dist/index-CQTZ-4XN.d.ts.map +0 -1
  329. package/dist/index-DPPGNJ_R.d.ts.map +0 -1
  330. package/dist/index-YE4KdKbO2.d.ts +0 -335
  331. package/dist/index-YE4KdKbO2.d.ts.map +0 -1
  332. package/dist/paired-arms-iZ08VFMN.js +0 -260
  333. package/dist/paired-arms-iZ08VFMN.js.map +0 -1
  334. package/dist/paired-promotion-decision-B6zJ3gYM.d.ts +0 -114
  335. package/dist/paired-promotion-decision-B6zJ3gYM.d.ts.map +0 -1
  336. package/dist/prime-protocol-BfSalTfR.js.map +0 -1
  337. package/dist/promotion-policy-Ckjhzg_4.d.ts +0 -289
  338. package/dist/promotion-policy-Ckjhzg_4.d.ts.map +0 -1
  339. package/dist/promotion-policy-CrLrmys8.js.map +0 -1
  340. package/dist/proposal-findings-2GIUo1et.js.map +0 -1
  341. package/dist/propose-review-control-dSNPjFUH.js +0 -1458
  342. package/dist/propose-review-control-dSNPjFUH.js.map +0 -1
  343. package/dist/release-report-BUYmoKo2.js.map +0 -1
  344. package/dist/release-report-DA2BCu5a.d.ts.map +0 -1
  345. package/dist/replay-CohS93nE.js +0 -1859
  346. package/dist/replay-CohS93nE.js.map +0 -1
  347. package/dist/replay-DbhZ4Ked.d.ts +0 -834
  348. package/dist/replay-DbhZ4Ked.d.ts.map +0 -1
  349. package/dist/reward-hacking-BDToousL.js.map +0 -1
  350. package/dist/run-evidence-Dhi3C81V.d.ts +0 -225
  351. package/dist/run-evidence-Dhi3C81V.d.ts.map +0 -1
  352. package/dist/schema-Cef2cFmb2.d.ts.map +0 -1
  353. package/dist/semantic-concept-judge-D1z-KepS.js +0 -767
  354. package/dist/semantic-concept-judge-D1z-KepS.js.map +0 -1
  355. package/dist/series-convergence-ofsqPWhs.d.ts +0 -35
  356. package/dist/series-convergence-ofsqPWhs.d.ts.map +0 -1
  357. package/dist/server-iu0ede49.js.map +0 -1
  358. package/dist/single-run-lock-DFWHEB09.js.map +0 -1
  359. package/dist/skill-usage-CO9OLRBx.d.ts.map +0 -1
  360. package/dist/skillopt-optimization-method-CQdVeM8k.js.map +0 -1
  361. package/dist/skillopt-optimization-method-USDKhxSA.d.ts.map +0 -1
  362. package/dist/statistical-heldout-TQ-4CYiN.d.ts.map +0 -1
  363. package/dist/statistics-ByxzSiOM.js +0 -2212
  364. package/dist/statistics-ByxzSiOM.js.map +0 -1
  365. package/dist/statistics-D6Uebe_4.d.ts +0 -968
  366. package/dist/statistics-D6Uebe_4.d.ts.map +0 -1
  367. package/dist/supervisor-run-D_sokXcO.js +0 -1690
  368. package/dist/test-graded-scenario-D1TaI2va.d.ts +0 -141
  369. package/dist/test-graded-scenario-D1TaI2va.d.ts.map +0 -1
  370. package/dist/test-graded-scenario-JHcKQNpq.js +0 -318
  371. package/dist/test-graded-scenario-JHcKQNpq.js.map +0 -1
  372. package/dist/tool-groups-CZPGGlHf.d.ts.map +0 -1
  373. package/dist/tool-use-metrics-DEGMKycK.js +0 -370
  374. package/dist/tool-use-metrics-DEGMKycK.js.map +0 -1
  375. package/dist/types-D216SgwM.d.ts.map +0 -1
  376. package/dist/usage-receipt-t7vAzCRQ.js.map +0 -1
  377. package/dist/verdict-DExhxfgR.d.ts +0 -201
  378. package/dist/verdict-DExhxfgR.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
- import { r as CaptureIntegrityError } from "./errors-CKPfb2aH.js";
2
- import { Ft as RawProviderSink } from "./types-D216SgwM.js";
1
+ import { r as CaptureIntegrityError } from "./errors-DEE6u6ot.js";
2
+ import { it as RawProviderSink } from "./types-Cx3YUh2r.js";
3
3
  import { s as TraceStore } from "./store-CT9YIIve.js";
4
4
  //#region src/trace/integrity.d.ts
5
5
  interface RunIntegrityExpectations {
@@ -58,4 +58,4 @@ declare function assertRunCaptured(store: TraceStore, runId: string, expectation
58
58
  declare function throwIfRunIncomplete(report: RunIntegrityReport): void;
59
59
  //#endregion
60
60
  export { RunIntegrityReport as a, RunIntegrityIssueCode as i, RunIntegrityExpectations as n, assertRunCaptured as o, RunIntegrityIssue as r, throwIfRunIncomplete as s, RunIntegrityError as t };
61
- //# sourceMappingURL=integrity-BuqEKu-x.d.ts.map
61
+ //# sourceMappingURL=integrity-OrcI9Nau.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-BuqEKu-x.d.ts","names":[],"sources":["../src/trace/integrity.ts"],"mappings":";;;;UAyBiB;;EAEf;;EAEA;;EAEA;;;;;EAKA,UAAU;;EAEV;;;;;;EAMA;;EAEA;;KAGU;UAUK;EACf,MAAM;EACN;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;EAMA;IAAmB;IAAiB;;EACpC,QAAQ;;cAGG,0BAA0B;WACT,QAAQ;EAApC,YAA4B,QAAQ;;iBAOhB,kBACpB,OAAO,YACP,eACA,eAAc,2BACb,QAAQ;;iBA6GK,qBAAqB,QAAQ"}
1
+ {"version":3,"file":"integrity-OrcI9Nau.d.ts","names":[],"sources":["../src/trace/integrity.ts"],"mappings":";;;;UAyBiB;;EAEf;;EAEA;;EAEA;;;;;EAKA,UAAU;;EAEV;;;;;;EAMA;;EAEA;;KAGU;UAUK;EACf,MAAM;EACN;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;EAMA;IAAmB;IAAiB;;EACpC,QAAQ;;cAGG,0BAA0B;WACT,QAAQ;EAApC,YAA4B,QAAQ;;iBAOhB,kBACpB,OAAO,YACP,eACA,eAAc,2BACb,QAAQ;;iBA6GK,qBAAqB,QAAQ"}
@@ -0,0 +1,230 @@
1
+ import { s as ValidationError } from "./errors-Dngq5h35.js";
2
+ //#region src/math/special-functions.ts
3
+ /** Lanczos approximation to ln Gamma(z). */
4
+ function lnGamma(z) {
5
+ const g = 7;
6
+ const coefficients = [
7
+ .9999999999998099,
8
+ 676.5203681218851,
9
+ -1259.1392167224028,
10
+ 771.3234287776531,
11
+ -176.6150291621406,
12
+ 12.507343278686905,
13
+ -.13857109526572012,
14
+ 9984369578019572e-21,
15
+ 1.5056327351493116e-7
16
+ ];
17
+ if (z < .5) return Math.log(Math.PI / Math.sin(Math.PI * z)) - lnGamma(1 - z);
18
+ z -= 1;
19
+ let x = coefficients[0];
20
+ for (let i = 1; i < 9; i++) x += coefficients[i] / (z + i);
21
+ const t = z + g + .5;
22
+ return .5 * Math.log(2 * Math.PI) + (z + .5) * Math.log(t) - t + Math.log(x);
23
+ }
24
+ /**
25
+ * Regularized incomplete beta function I_x(a, b).
26
+ *
27
+ * The Lentz continued fraction converges only for `x < (a+1)/(a+b+2)`; outside
28
+ * that domain it must be reached through the symmetry `I_x(a,b) = 1 −
29
+ * I_{1−x}(b,a)`. `studentTCdf` drives `x → 1` as `|t| → 0`, so the mirrored
30
+ * branch is the one every near-null t-statistic takes.
31
+ */
32
+ function regularizedIncompleteBeta(x, a, b) {
33
+ if (x <= 0) return 0;
34
+ if (x >= 1) return 1;
35
+ const logBeta = lnGamma(a) + lnGamma(b) - lnGamma(a + b);
36
+ const front = Math.exp(Math.log(x) * a + Math.log(1 - x) * b - logBeta);
37
+ if (x < (a + 1) / (a + b + 2)) return front * betaContinuedFraction(x, a, b) / a;
38
+ return 1 - front * betaContinuedFraction(1 - x, b, a) / b;
39
+ }
40
+ /** Modified Lentz evaluation of the beta continued fraction at `x`. */
41
+ function betaContinuedFraction(x, a, b) {
42
+ const maxIterations = 300;
43
+ const epsilon = 3e-15;
44
+ let c = 1;
45
+ let d = 1 - (a + b) * x / (a + 1);
46
+ if (Math.abs(d) < 1e-30) d = 1e-30;
47
+ d = 1 / d;
48
+ let fraction = d;
49
+ for (let m = 1; m <= maxIterations; m++) {
50
+ const m2 = 2 * m;
51
+ let numerator = m * (b - m) * x / ((a + m2 - 1) * (a + m2));
52
+ d = 1 + numerator * d;
53
+ if (Math.abs(d) < 1e-30) d = 1e-30;
54
+ c = 1 + numerator / c;
55
+ if (Math.abs(c) < 1e-30) c = 1e-30;
56
+ d = 1 / d;
57
+ fraction *= d * c;
58
+ numerator = -((a + m) * (a + b + m) * x) / ((a + m2) * (a + m2 + 1));
59
+ d = 1 + numerator * d;
60
+ if (Math.abs(d) < 1e-30) d = 1e-30;
61
+ c = 1 + numerator / c;
62
+ if (Math.abs(c) < 1e-30) c = 1e-30;
63
+ d = 1 / d;
64
+ const delta = d * c;
65
+ fraction *= delta;
66
+ if (Math.abs(delta - 1) < epsilon) break;
67
+ }
68
+ return fraction;
69
+ }
70
+ //#endregion
71
+ //#region src/statistics/random.ts
72
+ /** Tiny seedable PRNG (mulberry32) — deterministic resampling/shuffling, not
73
+ * cryptographic. Exported so e-process shuffles and bootstrap resampling
74
+ * share ONE PRNG implementation. Every distinct 32-bit seed gives a distinct
75
+ * stream, including 0. */
76
+ function mulberry32(seed) {
77
+ if (!Number.isFinite(seed)) throw new ValidationError(`mulberry32: seed must be a finite number, got ${seed}`);
78
+ let s = seed | 0;
79
+ return () => {
80
+ s = s + 1831565813 | 0;
81
+ let t = s;
82
+ t = Math.imul(t ^ t >>> 15, t | 1);
83
+ t ^= t + Math.imul(t ^ t >>> 7, t | 61);
84
+ return ((t ^ t >>> 14) >>> 0) / 4294967296;
85
+ };
86
+ }
87
+ //#endregion
88
+ //#region src/statistics/internal.ts
89
+ /**
90
+ * Shared internals for the statistics modules. Nothing here is part of the
91
+ * public statistics surface — `./index` does not re-export this module.
92
+ */
93
+ /** Every rank test refuses non-finite input. Beyond the arithmetic being
94
+ * undefined, the tie-grouping scan compares values with `===`, and
95
+ * `NaN === NaN` is false, so a NaN would leave the group boundary unable to
96
+ * advance and spin the loop forever. */
97
+ function assertFiniteSample(fn, label, xs) {
98
+ for (let i = 0; i < xs.length; i++) if (!Number.isFinite(xs[i])) throw new ValidationError(`${fn}: ${label}[${i}] must be finite, got ${xs[i]}`);
99
+ }
100
+ /**
101
+ * Two-sided exact p-value for b successes out of (b + c) Bernoulli(0.5) trials —
102
+ * the exact-binomial core of {@link mcnemar}. `min(1, 2·P(X ≤ min(b,c)))`. No
103
+ * discordant pairs ⇒ no evidence ⇒ p = 1. Summed in log space (lnGamma) so it
104
+ * stays exact at large discordant counts without overflow.
105
+ */
106
+ function binomialSignTwoSided(b, c) {
107
+ const nd = b + c;
108
+ if (nd === 0) return 1;
109
+ return Math.min(1, 2 * binomialHalfLowerTail(Math.min(b, c), nd));
110
+ }
111
+ /** P(X >= successes) for X ~ Binomial(n, 0.5). */
112
+ function binomialHalfUpperTail(successes, n) {
113
+ if (successes <= 0) return 1;
114
+ if (successes > n) return 0;
115
+ if (successes <= n / 2) return Math.max(0, 1 - binomialHalfLowerTail(successes - 1, n));
116
+ return binomialHalfLowerTail(n - successes, n);
117
+ }
118
+ /** P(X <= maxSuccesses) for X ~ Binomial(n, 0.5), accumulated in log space. */
119
+ function binomialHalfLowerTail(maxSuccesses, n) {
120
+ if (maxSuccesses < 0) return 0;
121
+ if (maxSuccesses >= n) return 1;
122
+ if (maxSuccesses === 0) return 2 ** -n;
123
+ const logHalfN = n * Math.log(.5);
124
+ let logTail = Number.NEGATIVE_INFINITY;
125
+ for (let i = 0; i <= maxSuccesses; i++) {
126
+ const logChoose = lnGamma(n + 1) - lnGamma(i + 1) - lnGamma(n - i + 1);
127
+ logTail = logAddExp(logTail, logChoose + logHalfN);
128
+ }
129
+ return Math.min(1, Math.exp(logTail));
130
+ }
131
+ function logAddExp(a, b) {
132
+ if (a === Number.NEGATIVE_INFINITY) return b;
133
+ if (b === Number.NEGATIVE_INFINITY) return a;
134
+ const max = Math.max(a, b);
135
+ return max + Math.log1p(Math.exp(Math.min(a, b) - max));
136
+ }
137
+ /** Standard-normal inverse CDF (Acklam approximation). */
138
+ function zQuantile(p) {
139
+ if (p <= 0 || p >= 1) {
140
+ if (p === 0) return -Infinity;
141
+ if (p === 1) return Infinity;
142
+ return NaN;
143
+ }
144
+ const a = [
145
+ -39.69683028665376,
146
+ 220.9460984245205,
147
+ -275.9285104469687,
148
+ 138.357751867269,
149
+ -30.66479806614716,
150
+ 2.506628277459239
151
+ ];
152
+ const b = [
153
+ -54.47609879822406,
154
+ 161.5858368580409,
155
+ -155.6989798598866,
156
+ 66.80131188771972,
157
+ -13.28068155288572
158
+ ];
159
+ const c = [
160
+ -.007784894002430293,
161
+ -.3223964580411365,
162
+ -2.400758277161838,
163
+ -2.549732539343734,
164
+ 4.374664141464968,
165
+ 2.938163982698783
166
+ ];
167
+ const d = [
168
+ .007784695709041462,
169
+ .3224671290700398,
170
+ 2.445134137142996,
171
+ 3.754408661907416
172
+ ];
173
+ const pLow = .02425;
174
+ const pHigh = 1 - pLow;
175
+ let q;
176
+ let r;
177
+ if (p < pLow) {
178
+ q = Math.sqrt(-2 * Math.log(p));
179
+ return (((((c[0] * q + c[1]) * q + c[2]) * q + c[3]) * q + c[4]) * q + c[5]) / ((((d[0] * q + d[1]) * q + d[2]) * q + d[3]) * q + 1);
180
+ }
181
+ if (p <= pHigh) {
182
+ q = p - .5;
183
+ r = q * q;
184
+ return (((((a[0] * r + a[1]) * r + a[2]) * r + a[3]) * r + a[4]) * r + a[5]) * q / (((((b[0] * r + b[1]) * r + b[2]) * r + b[3]) * r + b[4]) * r + 1);
185
+ }
186
+ q = Math.sqrt(-2 * Math.log(1 - p));
187
+ return -(((((c[0] * q + c[1]) * q + c[2]) * q + c[3]) * q + c[4]) * q + c[5]) / ((((d[0] * q + d[1]) * q + d[2]) * q + d[3]) * q + 1);
188
+ }
189
+ function medianInPlace(xs) {
190
+ if (xs.length === 0) return 0;
191
+ xs.sort((a, b) => a - b);
192
+ const mid = Math.floor(xs.length / 2);
193
+ return xs.length % 2 === 0 ? (xs[mid - 1] + xs[mid]) / 2 : xs[mid];
194
+ }
195
+ /**
196
+ * PRNG for every resampling path in this module.
197
+ *
198
+ * With no caller seed the seed is DERIVED FROM THE DATA rather than taken from
199
+ * `Math.random`, so re-running the same input reproduces the same interval —
200
+ * a gate verdict that cannot be re-derived is not evidence. Distinct data
201
+ * still gets a distinct stream. Same pattern as `promotion-gate.ts`.
202
+ */
203
+ function makeRng(seed, ...series) {
204
+ return mulberry32(seed ?? seedFromData(series));
205
+ }
206
+ /** FNV-1a over the IEEE-754 bytes of every observation. */
207
+ function seedFromData(series) {
208
+ const view = /* @__PURE__ */ new DataView(/* @__PURE__ */ new ArrayBuffer(8));
209
+ let hash = 2166136261;
210
+ for (const xs of series) {
211
+ for (const x of xs) {
212
+ view.setFloat64(0, x);
213
+ for (let byte = 0; byte < 8; byte++) hash = Math.imul(hash ^ view.getUint8(byte), 16777619);
214
+ }
215
+ hash = Math.imul(hash ^ 255, 16777619);
216
+ }
217
+ return hash | 0;
218
+ }
219
+ /** Order-independent seed for a symmetric two-sample statistic. */
220
+ function symmetricTwoSampleSeed(a, b) {
221
+ const sortedA = [...a].sort((left, right) => left - right);
222
+ const sortedB = [...b].sort((left, right) => left - right);
223
+ const forward = seedFromData([sortedA, sortedB]) >>> 0;
224
+ const reversed = seedFromData([sortedB, sortedA]) >>> 0;
225
+ return Math.min(forward, reversed);
226
+ }
227
+ //#endregion
228
+ export { medianInPlace as a, mulberry32 as c, makeRng as i, lnGamma as l, binomialHalfUpperTail as n, symmetricTwoSampleSeed as o, binomialSignTwoSided as r, zQuantile as s, assertFiniteSample as t, regularizedIncompleteBeta as u };
229
+
230
+ //# sourceMappingURL=internal-BDHPCnjk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-BDHPCnjk.js","names":[],"sources":["../src/math/special-functions.ts","../src/statistics/random.ts","../src/statistics/internal.ts"],"sourcesContent":["/** Lanczos approximation to ln Gamma(z). */\nexport function lnGamma(z: number): number {\n const g = 7\n const coefficients = [\n 0.99999999999980993, 676.5203681218851, -1259.1392167224028, 771.32342877765313,\n -176.61502916214059, 12.507343278686905, -0.13857109526572012, 9.9843695780195716e-6,\n 1.5056327351493116e-7,\n ]\n if (z < 0.5) {\n return Math.log(Math.PI / Math.sin(Math.PI * z)) - lnGamma(1 - z)\n }\n z -= 1\n let x = coefficients[0]!\n for (let i = 1; i < g + 2; i++) x += coefficients[i]! / (z + i)\n const t = z + g + 0.5\n return 0.5 * Math.log(2 * Math.PI) + (z + 0.5) * Math.log(t) - t + Math.log(x)\n}\n\n/**\n * Regularized incomplete beta function I_x(a, b).\n *\n * The Lentz continued fraction converges only for `x < (a+1)/(a+b+2)`; outside\n * that domain it must be reached through the symmetry `I_x(a,b) = 1 −\n * I_{1−x}(b,a)`. `studentTCdf` drives `x → 1` as `|t| → 0`, so the mirrored\n * branch is the one every near-null t-statistic takes.\n */\nexport function regularizedIncompleteBeta(x: number, a: number, b: number): number {\n if (x <= 0) return 0\n if (x >= 1) return 1\n const logBeta = lnGamma(a) + lnGamma(b) - lnGamma(a + b)\n // x^a·(1−x)^b / B(a,b) — symmetric under (x,a,b) → (1−x,b,a), so the\n // mirrored branch reuses it unchanged.\n const front = Math.exp(Math.log(x) * a + Math.log(1 - x) * b - logBeta)\n if (x < (a + 1) / (a + b + 2)) {\n return (front * betaContinuedFraction(x, a, b)) / a\n }\n return 1 - (front * betaContinuedFraction(1 - x, b, a)) / b\n}\n\n/** Modified Lentz evaluation of the beta continued fraction at `x`. */\nfunction betaContinuedFraction(x: number, a: number, b: number): number {\n const maxIterations = 300\n const epsilon = 3e-15\n let c = 1\n let d = 1 - ((a + b) * x) / (a + 1)\n if (Math.abs(d) < 1e-30) d = 1e-30\n d = 1 / d\n let fraction = d\n for (let m = 1; m <= maxIterations; m++) {\n const m2 = 2 * m\n let numerator = (m * (b - m) * x) / ((a + m2 - 1) * (a + m2))\n d = 1 + numerator * d\n if (Math.abs(d) < 1e-30) d = 1e-30\n c = 1 + numerator / c\n if (Math.abs(c) < 1e-30) c = 1e-30\n d = 1 / d\n fraction *= d * c\n numerator = -((a + m) * (a + b + m) * x) / ((a + m2) * (a + m2 + 1))\n d = 1 + numerator * d\n if (Math.abs(d) < 1e-30) d = 1e-30\n c = 1 + numerator / c\n if (Math.abs(c) < 1e-30) c = 1e-30\n d = 1 / d\n const delta = d * c\n fraction *= delta\n if (Math.abs(delta - 1) < epsilon) break\n }\n return fraction\n}\n","import { ValidationError } from '../errors'\n\n/** Tiny seedable PRNG (mulberry32) — deterministic resampling/shuffling, not\n * cryptographic. Exported so e-process shuffles and bootstrap resampling\n * share ONE PRNG implementation. Every distinct 32-bit seed gives a distinct\n * stream, including 0. */\nexport function mulberry32(seed: number): () => number {\n if (!Number.isFinite(seed)) {\n throw new ValidationError(`mulberry32: seed must be a finite number, got ${seed}`)\n }\n let s = seed | 0\n return () => {\n s = (s + 0x6d2b79f5) | 0\n let t = s\n t = Math.imul(t ^ (t >>> 15), t | 1)\n t ^= t + Math.imul(t ^ (t >>> 7), t | 61)\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296\n }\n}\n","/**\n * Shared internals for the statistics modules. Nothing here is part of the\n * public statistics surface — `./index` does not re-export this module.\n */\n\nimport { ValidationError } from '../errors'\nimport { lnGamma } from '../math/special-functions'\nimport { mulberry32 } from './random'\n\n/** Every rank test refuses non-finite input. Beyond the arithmetic being\n * undefined, the tie-grouping scan compares values with `===`, and\n * `NaN === NaN` is false, so a NaN would leave the group boundary unable to\n * advance and spin the loop forever. */\nexport function assertFiniteSample(fn: string, label: string, xs: readonly number[]): void {\n for (let i = 0; i < xs.length; i++) {\n if (!Number.isFinite(xs[i])) {\n throw new ValidationError(`${fn}: ${label}[${i}] must be finite, got ${xs[i]}`)\n }\n }\n}\n\n/**\n * Two-sided exact p-value for b successes out of (b + c) Bernoulli(0.5) trials —\n * the exact-binomial core of {@link mcnemar}. `min(1, 2·P(X ≤ min(b,c)))`. No\n * discordant pairs ⇒ no evidence ⇒ p = 1. Summed in log space (lnGamma) so it\n * stays exact at large discordant counts without overflow.\n */\nexport function binomialSignTwoSided(b: number, c: number): number {\n const nd = b + c\n if (nd === 0) return 1\n return Math.min(1, 2 * binomialHalfLowerTail(Math.min(b, c), nd))\n}\n\n/** P(X >= successes) for X ~ Binomial(n, 0.5). */\nexport function binomialHalfUpperTail(successes: number, n: number): number {\n if (successes <= 0) return 1\n if (successes > n) return 0\n\n // Use the smaller side of the distribution. For lower thresholds the\n // complement sums at most half the mass; for upper thresholds symmetry\n // maps the upper tail to a lower tail without subtraction.\n if (successes <= n / 2) {\n return Math.max(0, 1 - binomialHalfLowerTail(successes - 1, n))\n }\n return binomialHalfLowerTail(n - successes, n)\n}\n\n/** P(X <= maxSuccesses) for X ~ Binomial(n, 0.5), accumulated in log space. */\nfunction binomialHalfLowerTail(maxSuccesses: number, n: number): number {\n if (maxSuccesses < 0) return 0\n if (maxSuccesses >= n) return 1\n if (maxSuccesses === 0) return 2 ** -n\n\n const logHalfN = n * Math.log(0.5)\n let logTail = Number.NEGATIVE_INFINITY\n for (let i = 0; i <= maxSuccesses; i++) {\n const logChoose = lnGamma(n + 1) - lnGamma(i + 1) - lnGamma(n - i + 1)\n logTail = logAddExp(logTail, logChoose + logHalfN)\n }\n return Math.min(1, Math.exp(logTail))\n}\n\nfunction logAddExp(a: number, b: number): number {\n if (a === Number.NEGATIVE_INFINITY) return b\n if (b === Number.NEGATIVE_INFINITY) return a\n const max = Math.max(a, b)\n const min = Math.min(a, b)\n return max + Math.log1p(Math.exp(min - max))\n}\n\n/** Standard-normal inverse CDF (Acklam approximation). */\nexport function zQuantile(p: number): number {\n if (p <= 0 || p >= 1) {\n if (p === 0) return -Infinity\n if (p === 1) return Infinity\n return NaN\n }\n const a = [\n -3.969683028665376e1, 2.209460984245205e2, -2.759285104469687e2, 1.38357751867269e2,\n -3.066479806614716e1, 2.506628277459239,\n ]\n const b = [\n -5.447609879822406e1, 1.615858368580409e2, -1.556989798598866e2, 6.680131188771972e1,\n -1.328068155288572e1,\n ]\n const c = [\n -7.784894002430293e-3, -3.223964580411365e-1, -2.400758277161838, -2.549732539343734,\n 4.374664141464968, 2.938163982698783,\n ]\n const d = [7.784695709041462e-3, 3.224671290700398e-1, 2.445134137142996, 3.754408661907416]\n const pLow = 0.02425\n const pHigh = 1 - pLow\n let q: number\n let r: number\n if (p < pLow) {\n q = Math.sqrt(-2 * Math.log(p))\n return (\n (((((c[0]! * q + c[1]!) * q + c[2]!) * q + c[3]!) * q + c[4]!) * q + c[5]!) /\n ((((d[0]! * q + d[1]!) * q + d[2]!) * q + d[3]!) * q + 1)\n )\n }\n if (p <= pHigh) {\n q = p - 0.5\n r = q * q\n return (\n ((((((a[0]! * r + a[1]!) * r + a[2]!) * r + a[3]!) * r + a[4]!) * r + a[5]!) * q) /\n (((((b[0]! * r + b[1]!) * r + b[2]!) * r + b[3]!) * r + b[4]!) * r + 1)\n )\n }\n q = Math.sqrt(-2 * Math.log(1 - p))\n return (\n -(((((c[0]! * q + c[1]!) * q + c[2]!) * q + c[3]!) * q + c[4]!) * q + c[5]!) /\n ((((d[0]! * q + d[1]!) * q + d[2]!) * q + d[3]!) * q + 1)\n )\n}\n\nexport function medianInPlace(xs: number[]): number {\n if (xs.length === 0) return 0\n xs.sort((a, b) => a - b)\n const mid = Math.floor(xs.length / 2)\n return xs.length % 2 === 0 ? (xs[mid - 1]! + xs[mid]!) / 2 : xs[mid]!\n}\n\n/**\n * PRNG for every resampling path in this module.\n *\n * With no caller seed the seed is DERIVED FROM THE DATA rather than taken from\n * `Math.random`, so re-running the same input reproduces the same interval —\n * a gate verdict that cannot be re-derived is not evidence. Distinct data\n * still gets a distinct stream. Same pattern as `promotion-gate.ts`.\n */\nexport function makeRng(\n seed: number | undefined,\n ...series: readonly (readonly number[])[]\n): () => number {\n return mulberry32(seed ?? seedFromData(series))\n}\n\n/** FNV-1a over the IEEE-754 bytes of every observation. */\nfunction seedFromData(series: readonly (readonly number[])[]): number {\n const view = new DataView(new ArrayBuffer(8))\n let hash = 0x811c9dc5\n for (const xs of series) {\n for (const x of xs) {\n view.setFloat64(0, x)\n for (let byte = 0; byte < 8; byte++) {\n hash = Math.imul(hash ^ view.getUint8(byte), 0x01000193)\n }\n }\n // Separator, so ([1],[2]) and ([1,2],[]) do not collide.\n hash = Math.imul(hash ^ 0xff, 0x01000193)\n }\n return hash | 0\n}\n\n/** Order-independent seed for a symmetric two-sample statistic. */\nexport function symmetricTwoSampleSeed(a: readonly number[], b: readonly number[]): number {\n const sortedA = [...a].sort((left, right) => left - right)\n const sortedB = [...b].sort((left, right) => left - right)\n const forward = seedFromData([sortedA, sortedB]) >>> 0\n const reversed = seedFromData([sortedB, sortedA]) >>> 0\n return Math.min(forward, reversed)\n}\n"],"mappings":";;;AACA,SAAgB,QAAQ,GAAmB;CACzC,MAAM,IAAI;CACV,MAAM,eAAe;EACnB;EAAqB;EAAmB;EAAqB;EAC7D;EAAqB;EAAoB;EAAsB;EAC/D;CACF;CACA,IAAI,IAAI,IACN,OAAO,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC;CAElE,KAAK;CACL,IAAI,IAAI,aAAa;CACrB,KAAK,IAAI,IAAI,GAAG,IAAI,GAAO,KAAK,KAAK,aAAa,MAAO,IAAI;CAC7D,MAAM,IAAI,IAAI,IAAI;CAClB,OAAO,KAAM,KAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,MAAO,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;AAC/E;;;;;;;;;AAUA,SAAgB,0BAA0B,GAAW,GAAW,GAAmB;CACjF,IAAI,KAAK,GAAG,OAAO;CACnB,IAAI,KAAK,GAAG,OAAO;CACnB,MAAM,UAAU,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;CAGvD,MAAM,QAAQ,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO;CACtE,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,IACzB,OAAQ,QAAQ,sBAAsB,GAAG,GAAG,CAAC,IAAK;CAEpD,OAAO,IAAK,QAAQ,sBAAsB,IAAI,GAAG,GAAG,CAAC,IAAK;AAC5D;;AAGA,SAAS,sBAAsB,GAAW,GAAW,GAAmB;CACtE,MAAM,gBAAgB;CACtB,MAAM,UAAU;CAChB,IAAI,IAAI;CACR,IAAI,IAAI,KAAM,IAAI,KAAK,KAAM,IAAI;CACjC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI;CAC7B,IAAI,IAAI;CACR,IAAI,WAAW;CACf,KAAK,IAAI,IAAI,GAAG,KAAK,eAAe,KAAK;EACvC,MAAM,KAAK,IAAI;EACf,IAAI,YAAa,KAAK,IAAI,KAAK,MAAO,IAAI,KAAK,MAAM,IAAI;EACzD,IAAI,IAAI,YAAY;EACpB,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI;EAC7B,IAAI,IAAI,YAAY;EACpB,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI;EAC7B,IAAI,IAAI;EACR,YAAY,IAAI;EAChB,YAAY,GAAG,IAAI,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,OAAO,IAAI,KAAK;EACjE,IAAI,IAAI,YAAY;EACpB,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI;EAC7B,IAAI,IAAI,YAAY;EACpB,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI;EAC7B,IAAI,IAAI;EACR,MAAM,QAAQ,IAAI;EAClB,YAAY;EACZ,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,SAAS;CACrC;CACA,OAAO;AACT;;;;;;;AC9DA,SAAgB,WAAW,MAA4B;CACrD,IAAI,CAAC,OAAO,SAAS,IAAI,GACvB,MAAM,IAAI,gBAAgB,iDAAiD,MAAM;CAEnF,IAAI,IAAI,OAAO;CACf,aAAa;EACX,IAAK,IAAI,aAAc;EACvB,IAAI,IAAI;EACR,IAAI,KAAK,KAAK,IAAK,MAAM,IAAK,IAAI,CAAC;EACnC,KAAK,IAAI,KAAK,KAAK,IAAK,MAAM,GAAI,IAAI,EAAE;EACxC,SAAS,IAAK,MAAM,QAAS,KAAK;CACpC;AACF;;;;;;;;;;;ACLA,SAAgB,mBAAmB,IAAY,OAAe,IAA6B;CACzF,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,QAAQ,KAC7B,IAAI,CAAC,OAAO,SAAS,GAAG,EAAE,GACxB,MAAM,IAAI,gBAAgB,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE,wBAAwB,GAAG,IAAI;AAGpF;;;;;;;AAQA,SAAgB,qBAAqB,GAAW,GAAmB;CACjE,MAAM,KAAK,IAAI;CACf,IAAI,OAAO,GAAG,OAAO;CACrB,OAAO,KAAK,IAAI,GAAG,IAAI,sBAAsB,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAClE;;AAGA,SAAgB,sBAAsB,WAAmB,GAAmB;CAC1E,IAAI,aAAa,GAAG,OAAO;CAC3B,IAAI,YAAY,GAAG,OAAO;CAK1B,IAAI,aAAa,IAAI,GACnB,OAAO,KAAK,IAAI,GAAG,IAAI,sBAAsB,YAAY,GAAG,CAAC,CAAC;CAEhE,OAAO,sBAAsB,IAAI,WAAW,CAAC;AAC/C;;AAGA,SAAS,sBAAsB,cAAsB,GAAmB;CACtE,IAAI,eAAe,GAAG,OAAO;CAC7B,IAAI,gBAAgB,GAAG,OAAO;CAC9B,IAAI,iBAAiB,GAAG,OAAO,KAAK,CAAC;CAErC,MAAM,WAAW,IAAI,KAAK,IAAI,EAAG;CACjC,IAAI,UAAU,OAAO;CACrB,KAAK,IAAI,IAAI,GAAG,KAAK,cAAc,KAAK;EACtC,MAAM,YAAY,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC;EACrE,UAAU,UAAU,SAAS,YAAY,QAAQ;CACnD;CACA,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC;AACtC;AAEA,SAAS,UAAU,GAAW,GAAmB;CAC/C,IAAI,MAAM,OAAO,mBAAmB,OAAO;CAC3C,IAAI,MAAM,OAAO,mBAAmB,OAAO;CAC3C,MAAM,MAAM,KAAK,IAAI,GAAG,CAAC;CAEzB,OAAO,MAAM,KAAK,MAAM,KAAK,IADjB,KAAK,IAAI,GAAG,CACW,IAAI,GAAG,CAAC;AAC7C;;AAGA,SAAgB,UAAU,GAAmB;CAC3C,IAAI,KAAK,KAAK,KAAK,GAAG;EACpB,IAAI,MAAM,GAAG,OAAO;EACpB,IAAI,MAAM,GAAG,OAAO;EACpB,OAAO;CACT;CACA,MAAM,IAAI;EACR;EAAsB;EAAqB;EAAsB;EACjE;EAAsB;CACxB;CACA,MAAM,IAAI;EACR;EAAsB;EAAqB;EAAsB;EACjE;CACF;CACA,MAAM,IAAI;EACR;EAAuB;EAAuB;EAAoB;EAClE;EAAmB;CACrB;CACA,MAAM,IAAI;EAAC;EAAsB;EAAsB;EAAmB;CAAiB;CAC3F,MAAM,OAAO;CACb,MAAM,QAAQ,IAAI;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI,IAAI,MAAM;EACZ,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC;EAC9B,YACO,EAAE,KAAM,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,UACnE,EAAE,KAAM,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI;CAE3D;CACA,IAAI,KAAK,OAAO;EACd,IAAI,IAAI;EACR,IAAI,IAAI;EACR,YACQ,EAAE,KAAM,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,SAC1E,EAAE,KAAM,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI;CAEzE;CACA,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC;CAClC,OACE,MAAM,EAAE,KAAM,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,UACpE,EAAE,KAAM,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI,EAAE,MAAO,IAAI;AAE3D;AAEA,SAAgB,cAAc,IAAsB;CAClD,IAAI,GAAG,WAAW,GAAG,OAAO;CAC5B,GAAG,MAAM,GAAG,MAAM,IAAI,CAAC;CACvB,MAAM,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpC,OAAO,GAAG,SAAS,MAAM,KAAK,GAAG,MAAM,KAAM,GAAG,QAAS,IAAI,GAAG;AAClE;;;;;;;;;AAUA,SAAgB,QACd,MACA,GAAG,QACW;CACd,OAAO,WAAW,QAAQ,aAAa,MAAM,CAAC;AAChD;;AAGA,SAAS,aAAa,QAAgD;CACpE,MAAM,uBAAO,IAAI,yBAAS,IAAI,YAAY,CAAC,CAAC;CAC5C,IAAI,OAAO;CACX,KAAK,MAAM,MAAM,QAAQ;EACvB,KAAK,MAAM,KAAK,IAAI;GAClB,KAAK,WAAW,GAAG,CAAC;GACpB,KAAK,IAAI,OAAO,GAAG,OAAO,GAAG,QAC3B,OAAO,KAAK,KAAK,OAAO,KAAK,SAAS,IAAI,GAAG,QAAU;EAE3D;EAEA,OAAO,KAAK,KAAK,OAAO,KAAM,QAAU;CAC1C;CACA,OAAO,OAAO;AAChB;;AAGA,SAAgB,uBAAuB,GAAsB,GAA8B;CACzF,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,UAAU,OAAO,KAAK;CACzD,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,UAAU,OAAO,KAAK;CACzD,MAAM,UAAU,aAAa,CAAC,SAAS,OAAO,CAAC,MAAM;CACrD,MAAM,WAAW,aAAa,CAAC,SAAS,OAAO,CAAC,MAAM;CACtD,OAAO,KAAK,IAAI,SAAS,QAAQ;AACnC"}
@@ -0,0 +1,117 @@
1
+ //#region src/judge-calibration.d.ts
2
+ /**
3
+ * Judge calibration — measure judge quality against human gold + bias.
4
+ *
5
+ * Workflow:
6
+ * 1. Build a golden set: {itemId, humanScore}[].
7
+ * 2. Run candidate judges; each produces {itemId, score}.
8
+ * 3. `calibrateJudge(golden, candidate)` reports κ + Pearson + MAE.
9
+ * 4. `calibrateJudgeContinuous(golden, candidate)` adds quadratic-weighted
10
+ * κ over the un-rounded [0,1] scores plus ICC(2,1), Pearson, Spearman,
11
+ * and bootstrap CIs — use this for fine-grained judges where rounding
12
+ * to int discards information (e.g. 0.78 vs 0.81 both round to 1 and
13
+ * look "perfectly agreed" to integer κ).
14
+ * 5. Run bias probes (positional, verbosity, self-preference) to
15
+ * detect systematic score inflation.
16
+ * 6. For N≥2 judges on the same items, `continuousAgreement(scores)`
17
+ * reports ICC(2,1) + κ_w + Pearson + Spearman with bootstrap CIs.
18
+ *
19
+ * Returns actionable diagnostics, not a single number. Consumers then
20
+ * decide whether to trust the judge, retrain it, or add a tie-breaker.
21
+ */
22
+ interface GoldenItem {
23
+ itemId: string;
24
+ humanScore: number;
25
+ /** Optional group used for per-group bias audits (e.g. model-of-output family). */
26
+ group?: string;
27
+ }
28
+ interface CandidateScore {
29
+ itemId: string;
30
+ score: number;
31
+ /** Optional — enables positional-bias analysis (did order matter?). */
32
+ positionOfAInput?: 'first' | 'second';
33
+ }
34
+ interface CalibrationResult {
35
+ n: number;
36
+ pearson: number;
37
+ /** Cohen's κ with quadratic weights over integer-rounded scores. */
38
+ kappa: number;
39
+ /** Mean absolute error vs human. */
40
+ mae: number;
41
+ /** Worst-5 miscalibrations (largest |judge - human|). */
42
+ worstItems: Array<{
43
+ itemId: string;
44
+ judge: number;
45
+ human: number;
46
+ delta: number;
47
+ }>;
48
+ }
49
+ /**
50
+ * Measure judge quality against human gold labels: computes Cohen's κ, Pearson correlation, and MAE over matched item ids.
51
+ */
52
+ declare function calibrateJudge(golden: GoldenItem[], candidate: CandidateScore[]): CalibrationResult;
53
+ interface VerbosityBiasResult {
54
+ /** Pearson correlation between output length and score. Strong positive = verbosity bias. */
55
+ pearson: number;
56
+ n: number;
57
+ }
58
+ declare function verbosityBias(samples: Array<{
59
+ outputLen: number;
60
+ score: number;
61
+ }>): VerbosityBiasResult;
62
+ interface ContinuousAgreement {
63
+ /** Cohen's κ_w with quadratic weights, computed on raw [0,1] scores. */
64
+ weightedKappa: number;
65
+ /** ICC(2,1): two-way random effects, absolute agreement, single rater. */
66
+ icc: number;
67
+ /** Pearson product-moment correlation (averaged over rater pairs if N>2). */
68
+ pearson: number;
69
+ /** Spearman rank correlation (averaged over rater pairs if N>2). */
70
+ spearman: number;
71
+ /** 95% bootstrap percentile CIs over items. */
72
+ ci: {
73
+ icc: [number, number];
74
+ weightedKappa: [number, number];
75
+ };
76
+ /** Number of complete items (no NaN across raters). */
77
+ n: number;
78
+ /** Number of raters. */
79
+ raters: number;
80
+ }
81
+ interface ContinuousAgreementOptions {
82
+ /** Bootstrap iterations. Default 1000. Set to 0 to skip CIs (CI = [NaN, NaN]). */
83
+ bootstrap?: number;
84
+ /** κ weighting scheme. Default 'quadratic'. */
85
+ weights?: 'linear' | 'quadratic';
86
+ /** PRNG seed for reproducible bootstrap. Default 0xC0FFEE. */
87
+ seed?: number;
88
+ /** Confidence level for percentile CI. Default 0.95. */
89
+ ciLevel?: number;
90
+ }
91
+ /**
92
+ * Inter-rater agreement on continuous (typically [0,1]) scores.
93
+ *
94
+ * `scores` has shape [n_items][n_raters]. Rows with any non-finite entry
95
+ * are dropped. Returns NaN metrics if fewer than 2 raters or 2 complete
96
+ * items remain.
97
+ */
98
+ declare function continuousAgreement(scores: number[][], opts?: ContinuousAgreementOptions): ContinuousAgreement;
99
+ interface ContinuousCalibrationResult extends CalibrationResult {
100
+ /** Cohen's κ_w computed on raw (un-rounded) scores. */
101
+ weightedKappaContinuous: number;
102
+ /** ICC(2,1) treating golden + candidate as two raters. */
103
+ icc: number;
104
+ spearman: number;
105
+ ci: {
106
+ icc: [number, number];
107
+ weightedKappa: [number, number];
108
+ };
109
+ }
110
+ /**
111
+ * Extends `calibrateJudge` with continuous-value agreement metrics while
112
+ * retaining its base calibration summary.
113
+ */
114
+ declare function calibrateJudgeContinuous(golden: GoldenItem[], candidate: CandidateScore[], opts?: ContinuousAgreementOptions): ContinuousCalibrationResult;
115
+ //#endregion
116
+ export { ContinuousCalibrationResult as a, calibrateJudge as c, verbosityBias as d, ContinuousAgreementOptions as i, calibrateJudgeContinuous as l, CandidateScore as n, GoldenItem as o, ContinuousAgreement as r, VerbosityBiasResult as s, CalibrationResult as t, continuousAgreement as u };
117
+ //# sourceMappingURL=judge-calibration-C5CbMYce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge-calibration-C5CbMYce.d.ts","names":[],"sources":["../src/judge-calibration.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;UAuBiB;EACf;EACA;;EAEA;;UAGe;EACf;EACA;;EAEA;;UAGe;EACf;EACA;;EAEA;;EAEA;;EAEA,YAAY;IAAQ;IAAgB;IAAe;IAAe;;;;;;iBAMpD,eACd,QAAQ,cACR,WAAW,mBACV;UAuDc;;EAEf;EACA;;iBAGc,cACd,SAAS;EAAQ;EAAmB;KACnC;UAyGc;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;IACE;IACA;;;EAGF;;EAEA;;UAGe;;EAEf;;EAEA;;EAEA;;EAEA;;;;;;;;;iBAUc,oBACd,oBACA,OAAM,6BACL;UAqEc,oCAAoC;;EAEnD;;EAEA;EACA;EACA;IACE;IACA;;;;;;;iBAQY,yBACd,QAAQ,cACR,WAAW,kBACX,OAAM,6BACL"}