@tangle-network/agent-eval 0.200.1 → 0.202.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 (241) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/adapters/http.d.ts +8 -9
  3. package/dist/adapters/http.d.ts.map +1 -1
  4. package/dist/adapters/http.js +2 -2
  5. package/dist/adapters/http.js.map +1 -1
  6. package/dist/agent-profile-DDfIjdyS.d.ts.map +1 -1
  7. package/dist/analyst/index.d.ts +76 -76
  8. package/dist/analyst/index.d.ts.map +1 -1
  9. package/dist/analyst/index.js +6 -6
  10. package/dist/{analyze-runs-DFbp2gB8.js → analyze-runs-BrIibNd0.js} +47 -42
  11. package/dist/{analyze-runs-DFbp2gB8.js.map → analyze-runs-BrIibNd0.js.map} +1 -1
  12. package/dist/{ast-CP9ae9B0.js → ast-DJ6Bc7ab.js} +5 -4
  13. package/dist/{ast-CP9ae9B0.js.map → ast-DJ6Bc7ab.js.map} +1 -1
  14. package/dist/authenticity/index.d.ts +14 -15
  15. package/dist/authenticity/index.d.ts.map +1 -1
  16. package/dist/{baseline-BC-eBZ7U.js → baseline-CVKsfWTg.js} +2 -2
  17. package/dist/{baseline-BC-eBZ7U.js.map → baseline-CVKsfWTg.js.map} +1 -1
  18. package/dist/{benchmark-BeQJyrRC.js → benchmark-BywPeAUo.js} +4 -3
  19. package/dist/{benchmark-BeQJyrRC.js.map → benchmark-BywPeAUo.js.map} +1 -1
  20. package/dist/{benchmark-command-EBmuMUBo.js → benchmark-command-DFs_i62N.js} +24 -23
  21. package/dist/{benchmark-command-EBmuMUBo.js.map → benchmark-command-DFs_i62N.js.map} +1 -1
  22. package/dist/benchmarks/index.d.ts +13 -13
  23. package/dist/benchmarks/index.d.ts.map +1 -1
  24. package/dist/benchmarks/index.js +3 -3
  25. package/dist/{bounded-process-BBZob7vl.js → bounded-process-Cj9YjXbE.js} +3 -3
  26. package/dist/{bounded-process-BBZob7vl.js.map → bounded-process-Cj9YjXbE.js.map} +1 -1
  27. package/dist/builder-eval/index.d.ts +16 -17
  28. package/dist/builder-eval/index.d.ts.map +1 -1
  29. package/dist/builder-eval/index.js +12 -10
  30. package/dist/builder-eval/index.js.map +1 -1
  31. package/dist/campaign/index.d.ts +2 -2
  32. package/dist/campaign/index.js +12 -12
  33. package/dist/{campaign-L391bmir.js → campaign-XXmOU0R0.js} +265 -27
  34. package/dist/campaign-XXmOU0R0.js.map +1 -0
  35. package/dist/{campaign-evidence-jL_U7Ikv.js → campaign-evidence-Dt_rWPk2.js} +4 -4
  36. package/dist/{campaign-evidence-jL_U7Ikv.js.map → campaign-evidence-Dt_rWPk2.js.map} +1 -1
  37. package/dist/{chat-client-CJORSG_J.js → chat-client-DUhWNQQS.js} +5 -4
  38. package/dist/{chat-client-CJORSG_J.js.map → chat-client-DUhWNQQS.js.map} +1 -1
  39. package/dist/{chat-json-call-DnlDjpco.js → chat-json-call-Dx_sHzqm.js} +2 -2
  40. package/dist/{chat-json-call-DnlDjpco.js.map → chat-json-call-Dx_sHzqm.js.map} +1 -1
  41. package/dist/{claim-V9Zqbq0J.js → claim-BXcZw-jo.js} +2 -2
  42. package/dist/{claim-V9Zqbq0J.js.map → claim-BXcZw-jo.js.map} +1 -1
  43. package/dist/cli.js +12 -11
  44. package/dist/cli.js.map +1 -1
  45. package/dist/contract/index.d.ts +3 -3
  46. package/dist/contract/index.js +22 -19
  47. package/dist/contract/index.js.map +1 -1
  48. package/dist/{default-registry-xMLX160E.js → default-registry-D4qXx2aG.js} +2 -2
  49. package/dist/{default-registry-xMLX160E.js.map → default-registry-D4qXx2aG.js.map} +1 -1
  50. package/dist/{define-agent-eval-7q_UwsTt.js → define-agent-eval-CJN9dTQw.js} +10 -9
  51. package/dist/{define-agent-eval-7q_UwsTt.js.map → define-agent-eval-CJN9dTQw.js.map} +1 -1
  52. package/dist/{define-agent-eval-1YuvJpOs.d.ts → define-agent-eval-DQXLPqWc.d.ts} +2 -2
  53. package/dist/define-agent-eval-DQXLPqWc.d.ts.map +1 -0
  54. package/dist/{descriptive-1V17A-qa.js → descriptive-D9LUFk1-.js} +2 -2
  55. package/dist/{descriptive-1V17A-qa.js.map → descriptive-D9LUFk1-.js.map} +1 -1
  56. package/dist/diagnosis/index.d.ts +7 -7
  57. package/dist/diagnosis/index.d.ts.map +1 -1
  58. package/dist/diagnosis/index.js +2 -2
  59. package/dist/diagnosis/index.js.map +1 -1
  60. package/dist/{dspy-rlm-engine-B5T43BkZ.js → dspy-rlm-engine-US8YsYGq.js} +5 -5
  61. package/dist/{dspy-rlm-engine-B5T43BkZ.js.map → dspy-rlm-engine-US8YsYGq.js.map} +1 -1
  62. package/dist/{eval-campaign-GapmPHIA.js → eval-campaign-ha_aWtk7.js} +14 -12
  63. package/dist/{eval-campaign-GapmPHIA.js.map → eval-campaign-ha_aWtk7.js.map} +1 -1
  64. package/dist/evaluation.d.ts +9 -10
  65. package/dist/evaluation.d.ts.map +1 -1
  66. package/dist/experiment/index.d.ts +29 -29
  67. package/dist/experiment/index.d.ts.map +1 -1
  68. package/dist/experiment/index.js +13 -12
  69. package/dist/experiment/index.js.map +1 -1
  70. package/dist/{exporters-DEcXbvgO.js → exporters-Coiv-qO2.js} +2 -2
  71. package/dist/{exporters-DEcXbvgO.js.map → exporters-Coiv-qO2.js.map} +1 -1
  72. package/dist/{external-optimizer-process-CEXcCKqd.js → external-optimizer-process-KLcw0Vnc.js} +2 -2
  73. package/dist/{external-optimizer-process-CEXcCKqd.js.map → external-optimizer-process-KLcw0Vnc.js.map} +1 -1
  74. package/dist/{external-optimizer-subprocess-laM1-UDV.js → external-optimizer-subprocess-CkyUUV7h.js} +4 -4
  75. package/dist/{external-optimizer-subprocess-laM1-UDV.js.map → external-optimizer-subprocess-CkyUUV7h.js.map} +1 -1
  76. package/dist/fuzz.d.ts +15 -15
  77. package/dist/fuzz.d.ts.map +1 -1
  78. package/dist/{hf-dataset-CRqtSjnR.js → hf-dataset-kjIfIK_e.js} +3 -3
  79. package/dist/{hf-dataset-CRqtSjnR.js.map → hf-dataset-kjIfIK_e.js.map} +1 -1
  80. package/dist/hosted/index.d.ts +8 -8
  81. package/dist/hosted/index.d.ts.map +1 -1
  82. package/dist/hosted/index.js +1 -1
  83. package/dist/{index-EkRNsLr4.d.ts → index-D1ZX28rV.d.ts} +3 -3
  84. package/dist/{index-EkRNsLr4.d.ts.map → index-D1ZX28rV.d.ts.map} +1 -1
  85. package/dist/{index-D4pC7Tvd2.d.ts → index-D4pC7Tvd.d.ts} +1 -1
  86. package/dist/index-D4pC7Tvd.d.ts.map +1 -0
  87. package/dist/{index-DNgf5gyG2.d.ts → index-DNgf5gyG.d.ts} +1 -1
  88. package/dist/index-DNgf5gyG.d.ts.map +1 -0
  89. package/dist/{index-DKmrHA02.d.ts → index-giYkbitB.d.ts} +47 -2
  90. package/dist/index-giYkbitB.d.ts.map +1 -0
  91. package/dist/index.d.ts +126 -126
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +52 -42
  94. package/dist/index.js.map +1 -1
  95. package/dist/{integrity-BFP4kjGj.js → integrity-BvnVARVl.js} +30 -29
  96. package/dist/{integrity-BFP4kjGj.js.map → integrity-BvnVARVl.js.map} +1 -1
  97. package/dist/{integrity-BvHANvnp.js → integrity-uwK7XC-8.js} +2 -2
  98. package/dist/{integrity-BvHANvnp.js.map → integrity-uwK7XC-8.js.map} +1 -1
  99. package/dist/{internal-BMFSR8Ns.js → internal-BOe3zmjQ.js} +2 -2
  100. package/dist/{internal-BMFSR8Ns.js.map → internal-BOe3zmjQ.js.map} +1 -1
  101. package/dist/{jev-review-Cu9xtIu4.js → jev-review-DZEjDzlF.js} +7 -5
  102. package/dist/{jev-review-Cu9xtIu4.js.map → jev-review-DZEjDzlF.js.map} +1 -1
  103. package/dist/jev.d.ts +10 -10
  104. package/dist/jev.d.ts.map +1 -1
  105. package/dist/jev.js +2 -2
  106. package/dist/{judge-calibration-DYmaBtJr.js → judge-calibration-C5zgtiJT.js} +2 -2
  107. package/dist/{judge-calibration-DYmaBtJr.js.map → judge-calibration-C5zgtiJT.js.map} +1 -1
  108. package/dist/kind-factory-CdPPHtGZ.js.map +1 -1
  109. package/dist/{llm-client-c_bKHTXz.js → llm-client-Bhqoglar.js} +6 -4
  110. package/dist/{llm-client-c_bKHTXz.js.map → llm-client-Bhqoglar.js.map} +1 -1
  111. package/dist/{llm-judge-CL6f3utD.js → llm-judge-C-0P1WiT.js} +26 -21
  112. package/dist/{llm-judge-CL6f3utD.js.map → llm-judge-C-0P1WiT.js.map} +1 -1
  113. package/dist/matrix/index.d.ts +1 -1
  114. package/dist/matrix/index.js +1 -1
  115. package/dist/{matrix-_NLSWsKM.d.ts → matrix--IZKROxD.d.ts} +2 -2
  116. package/dist/{matrix-_NLSWsKM.d.ts.map → matrix--IZKROxD.d.ts.map} +1 -1
  117. package/dist/{matrix-pWinRMPl.js → matrix-DnlHn5x1.js} +8 -6
  118. package/dist/{matrix-pWinRMPl.js.map → matrix-DnlHn5x1.js.map} +1 -1
  119. package/dist/meta-eval/index.d.ts +102 -59
  120. package/dist/meta-eval/index.d.ts.map +1 -1
  121. package/dist/meta-eval/index.js +89 -25
  122. package/dist/meta-eval/index.js.map +1 -1
  123. package/dist/{mint-iCD-W43s.js → mint-vlRckJEX.js} +2 -2
  124. package/dist/{mint-iCD-W43s.js.map → mint-vlRckJEX.js.map} +1 -1
  125. package/dist/multishot/golden/index.d.ts +23 -23
  126. package/dist/multishot/golden/index.d.ts.map +1 -1
  127. package/dist/multishot/golden/index.js +1 -1
  128. package/dist/multishot/index.d.ts +9 -9
  129. package/dist/multishot/index.d.ts.map +1 -1
  130. package/dist/multishot/index.js +1 -1
  131. package/dist/openapi.json +1 -1
  132. package/dist/{otel-spans-CQmSxtcS.js → otel-spans-C8YIJWy1.js} +9 -4
  133. package/dist/{otel-spans-CQmSxtcS.js.map → otel-spans-C8YIJWy1.js.map} +1 -1
  134. package/dist/{outcome-store-BXlkwMPR.js → outcome-store-DUcMj-3D.js} +2 -2
  135. package/dist/{outcome-store-BXlkwMPR.js.map → outcome-store-DUcMj-3D.js.map} +1 -1
  136. package/dist/package-version-D7lQHt_-.js.map +1 -1
  137. package/dist/{paired-arms-DKZFVPt8.js → paired-arms-DpS_h8ON.js} +8 -5
  138. package/dist/{paired-arms-DKZFVPt8.js.map → paired-arms-DpS_h8ON.js.map} +1 -1
  139. package/dist/{paired-binary-fzkwENI4.js → paired-binary-OMBVRtc-.js} +2 -2
  140. package/dist/{paired-binary-fzkwENI4.js.map → paired-binary-OMBVRtc-.js.map} +1 -1
  141. package/dist/{paired-promotion-decision-D5B1Cxc2.js → paired-promotion-decision-DhrmjdV8.js} +5 -4
  142. package/dist/{paired-promotion-decision-D5B1Cxc2.js.map → paired-promotion-decision-DhrmjdV8.js.map} +1 -1
  143. package/dist/{paired-tests-C8iCsioC.js → paired-tests-Ccr16gcW.js} +3 -3
  144. package/dist/{paired-tests-C8iCsioC.js.map → paired-tests-Ccr16gcW.js.map} +1 -1
  145. package/dist/pipelines/index.d.ts +19 -19
  146. package/dist/pipelines/index.d.ts.map +1 -1
  147. package/dist/pipelines/index.js +5 -4
  148. package/dist/pipelines/index.js.map +1 -1
  149. package/dist/{power-and-mde-K_CmO3dc.js → power-and-mde-bie6i965.js} +9 -6
  150. package/dist/{power-and-mde-K_CmO3dc.js.map → power-and-mde-bie6i965.js.map} +1 -1
  151. package/dist/{produced-state-DZMW8cuF.js → produced-state-CR2tAPLf.js} +8 -5
  152. package/dist/{produced-state-DZMW8cuF.js.map → produced-state-CR2tAPLf.js.map} +1 -1
  153. package/dist/{promotion-policy-C6FAJvmZ.js → promotion-policy-BI1RxzwD.js} +4 -4
  154. package/dist/{promotion-policy-C6FAJvmZ.js.map → promotion-policy-BI1RxzwD.js.map} +1 -1
  155. package/dist/{raw-provider-sink-CXuOhLvT.js → raw-provider-sink-rB2DYxr6.js} +2 -2
  156. package/dist/{raw-provider-sink-CXuOhLvT.js.map → raw-provider-sink-rB2DYxr6.js.map} +1 -1
  157. package/dist/{release-confidence-XQm_xjhR.js → release-confidence-CiFg1EPq.js} +3 -2
  158. package/dist/{release-confidence-XQm_xjhR.js.map → release-confidence-CiFg1EPq.js.map} +1 -1
  159. package/dist/{report-command-DKJ_yAIj.js → report-command-DzPpFgjB.js} +20 -18
  160. package/dist/{report-command-DKJ_yAIj.js.map → report-command-DzPpFgjB.js.map} +1 -1
  161. package/dist/reporting.js +5 -5
  162. package/dist/{reward-hacking-D0XwhVWE.js → reward-hacking-C-a__ShZ.js} +5 -3
  163. package/dist/{reward-hacking-D0XwhVWE.js.map → reward-hacking-C-a__ShZ.js.map} +1 -1
  164. package/dist/rl.d.ts +186 -186
  165. package/dist/rl.d.ts.map +1 -1
  166. package/dist/rl.js +21 -17
  167. package/dist/rl.js.map +1 -1
  168. package/dist/rollout/index.d.ts +1 -1
  169. package/dist/rollout/index.js +5 -5
  170. package/dist/{rollout-B-XBReTC.js → rollout-BUQixCoc.js} +5 -5
  171. package/dist/{rollout-B-XBReTC.js.map → rollout-BUQixCoc.js.map} +1 -1
  172. package/dist/{rubric-predictive-validity-CCK-1B7w.js → rubric-predictive-validity-B0Pg-3I5.js} +3 -3
  173. package/dist/{rubric-predictive-validity-CCK-1B7w.js.map → rubric-predictive-validity-B0Pg-3I5.js.map} +1 -1
  174. package/dist/{run-record-tNnlQIrD.js → run-record-BB290Y9A.js} +5 -3
  175. package/dist/{run-record-tNnlQIrD.js.map → run-record-BB290Y9A.js.map} +1 -1
  176. package/dist/{schema-C1aaAxTf.js → schema-DAMp77zB.js} +24 -20
  177. package/dist/{schema-C1aaAxTf.js.map → schema-DAMp77zB.js.map} +1 -1
  178. package/dist/search/index.d.ts +34 -34
  179. package/dist/search/index.d.ts.map +1 -1
  180. package/dist/search/index.js +2 -2
  181. package/dist/{search-kernel-AVgIjXaI.js → search-kernel-Dpniloks.js} +33 -26
  182. package/dist/{search-kernel-AVgIjXaI.js.map → search-kernel-Dpniloks.js.map} +1 -1
  183. package/dist/{search-ledger-CL0-mXQ8.js → search-ledger-CXQPwdWz.js} +4 -3
  184. package/dist/{search-ledger-CL0-mXQ8.js.map → search-ledger-CXQPwdWz.js.map} +1 -1
  185. package/dist/{search-shipper-Cs6K4km9.js → search-shipper-DhhofkDX.js} +3 -6
  186. package/dist/{search-shipper-Cs6K4km9.js.map → search-shipper-DhhofkDX.js.map} +1 -1
  187. package/dist/{search-summary-DvWk0hb3.js → search-summary-C1nAHgkB.js} +4 -4
  188. package/dist/{search-summary-DvWk0hb3.js.map → search-summary-C1nAHgkB.js.map} +1 -1
  189. package/dist/{semantic-concept-judge-2SE_kXGF.js → semantic-concept-judge-BcjYg37z.js} +4 -4
  190. package/dist/{semantic-concept-judge-2SE_kXGF.js.map → semantic-concept-judge-BcjYg37z.js.map} +1 -1
  191. package/dist/{sequential-Yz3OSskl.js → sequential-DWn_np6P.js} +2 -3
  192. package/dist/{sequential-Yz3OSskl.js.map → sequential-DWn_np6P.js.map} +1 -1
  193. package/dist/{server-D56r1lhp.js → server-B4jMhqQn.js} +2 -2
  194. package/dist/{server-D56r1lhp.js.map → server-B4jMhqQn.js.map} +1 -1
  195. package/dist/{skillopt-optimization-method-B2syNik0.js → skillopt-optimization-method-Bls9t-G_.js} +9 -9
  196. package/dist/{skillopt-optimization-method-B2syNik0.js.map → skillopt-optimization-method-Bls9t-G_.js.map} +1 -1
  197. package/dist/{statistical-heldout-BAFDCo07.js → statistical-heldout-CNLOvRq_.js} +3 -3
  198. package/dist/{statistical-heldout-BAFDCo07.js.map → statistical-heldout-CNLOvRq_.js.map} +1 -1
  199. package/dist/statistical-heldout-HswMvzbP.d.ts.map +1 -1
  200. package/dist/{store-DNe_Uv1Q.js → store-BhNuLdJw.js} +3 -5
  201. package/dist/{store-DNe_Uv1Q.js.map → store-BhNuLdJw.js.map} +1 -1
  202. package/dist/store-C4avFjIi.d.ts.map +1 -1
  203. package/dist/{store-otlp-BPowgPm6.js → store-otlp-yd9lDziN.js} +2 -2
  204. package/dist/{store-otlp-BPowgPm6.js.map → store-otlp-yd9lDziN.js.map} +1 -1
  205. package/dist/{store-tool-spans-BaGakFc2.js → store-tool-spans-Biio4_Nw.js} +4 -4
  206. package/dist/{store-tool-spans-BaGakFc2.js.map → store-tool-spans-Biio4_Nw.js.map} +1 -1
  207. package/dist/storyboard/index.d.ts +20 -21
  208. package/dist/storyboard/index.d.ts.map +1 -1
  209. package/dist/{student-t-BA-Uy51p.js → student-t-BBZYka0E.js} +4 -3
  210. package/dist/{student-t-BA-Uy51p.js.map → student-t-BBZYka0E.js.map} +1 -1
  211. package/dist/{summary-report-BeYnvddy.js → summary-report-DLzptLSA.js} +8 -7
  212. package/dist/{summary-report-BeYnvddy.js.map → summary-report-DLzptLSA.js.map} +1 -1
  213. package/dist/supervisor-run/index.d.ts +25 -25
  214. package/dist/supervisor-run/index.d.ts.map +1 -1
  215. package/dist/supervisor-run/index.js +2 -2
  216. package/dist/{tool-waste-CJDfxH45.js → tool-waste-B-u3rzCz.js} +11 -6
  217. package/dist/{tool-waste-CJDfxH45.js.map → tool-waste-B-u3rzCz.js.map} +1 -1
  218. package/dist/trace-repair/index.d.ts +96 -96
  219. package/dist/trace-repair/index.d.ts.map +1 -1
  220. package/dist/trace-repair/index.js +1 -1
  221. package/dist/trace-repair/index.js.map +1 -1
  222. package/dist/traces.d.ts +29 -29
  223. package/dist/traces.d.ts.map +1 -1
  224. package/dist/traces.js +9 -7
  225. package/dist/traces.js.map +1 -1
  226. package/dist/trajectory-replay/index.d.ts +35 -35
  227. package/dist/trajectory-replay/index.d.ts.map +1 -1
  228. package/dist/trajectory-replay/index.js +5 -5
  229. package/dist/trajectory-replay/index.js.map +1 -1
  230. package/dist/{tree-Ki_gW7z8.js → tree-D48IJUK0.js} +39 -31
  231. package/dist/{tree-Ki_gW7z8.js.map → tree-D48IJUK0.js.map} +1 -1
  232. package/dist/wire/index.d.ts +48 -48
  233. package/dist/wire/index.d.ts.map +1 -1
  234. package/dist/wire/index.js +1 -1
  235. package/docs/evaluator-construction.md +71 -0
  236. package/package.json +18 -36
  237. package/dist/campaign-L391bmir.js.map +0 -1
  238. package/dist/define-agent-eval-1YuvJpOs.d.ts.map +0 -1
  239. package/dist/index-D4pC7Tvd2.d.ts.map +0 -1
  240. package/dist/index-DKmrHA02.d.ts.map +0 -1
  241. package/dist/index-DNgf5gyG2.d.ts.map +0 -1
@@ -8,17 +8,17 @@ import { a as ComputedInterval } from "../ast-hI-vjW6J.js";
8
8
  import { a as RubricPredictiveValidityReport, c as CorrelationInterval, i as RubricPredictiveValidityInput, l as OutcomeReduction, n as RubricOutcomeExclusion, o as RubricRanking, r as RubricOutcomePair, s as rubricPredictiveValidity, t as OutcomeMetricSpec } from "../rubric-predictive-validity-DIUwJJ9Y.js";
9
9
  import { z } from "zod";
10
10
  //#region src/meta-eval/correlation-study.d.ts
11
- interface EvalMetricSpec {
11
+ export interface EvalMetricSpec {
12
12
  id: string;
13
13
  /** Extract a scalar from a run. Omit it and `id` must name one of
14
14
  * `RUN_METRICS`; any other `id` is refused. */
15
15
  extract?: (run: Run, store: TraceStore) => Promise<number | null>;
16
16
  }
17
- interface OutcomePair {
17
+ export interface OutcomePair {
18
18
  evalMetric: string;
19
19
  outcomeMetric: string;
20
20
  }
21
- interface CorrelationResult {
21
+ export interface CorrelationResult {
22
22
  evalMetric: string;
23
23
  outcomeMetric: string;
24
24
  n: number;
@@ -37,7 +37,7 @@ interface CorrelationResult {
37
37
  /** Rough verdict: 'strong' ≥ 0.7, 'moderate' ≥ 0.4, else 'weak'. */
38
38
  verdict: 'strong' | 'moderate' | 'weak';
39
39
  }
40
- interface CorrelationStudyResult {
40
+ export interface CorrelationStudyResult {
41
41
  pairs: CorrelationResult[];
42
42
  /** Declared pairs without an estimable correlation, including their usable sample count. */
43
43
  excludedPairs: Array<OutcomePair & {
@@ -47,7 +47,7 @@ interface CorrelationStudyResult {
47
47
  joinedSamples: number;
48
48
  skippedRuns: number;
49
49
  }
50
- interface CorrelationStudyOptions {
50
+ export interface CorrelationStudyOptions {
51
51
  /** Only join outcomes captured within this window after run.startedAt. */
52
52
  maxCaptureLagMs?: number;
53
53
  /** Restrict to a subset of outcomes (cohort, region, source). */
@@ -60,10 +60,10 @@ interface CorrelationStudyOptions {
60
60
  * paired observations, so the same study reproduces the same interval. */
61
61
  seed?: number;
62
62
  }
63
- declare function correlationStudy(traceStore: TraceStore, outcomeStore: OutcomeStore, evalMetrics: EvalMetricSpec[], outcomeMetricNames: string[], options?: CorrelationStudyOptions): Promise<CorrelationStudyResult>;
63
+ export declare function correlationStudy(traceStore: TraceStore, outcomeStore: OutcomeStore, evalMetrics: EvalMetricSpec[], outcomeMetricNames: string[], options?: CorrelationStudyOptions): Promise<CorrelationStudyResult>;
64
64
  //#endregion
65
65
  //#region src/meta-eval/calibration.d.ts
66
- interface CalibrationBin {
66
+ export interface CalibrationBin {
67
67
  lower: number;
68
68
  upper: number;
69
69
  n: number;
@@ -72,7 +72,7 @@ interface CalibrationBin {
72
72
  /** |outcomeMean − evalMean|; contributes to ECE weighted by n/total. */
73
73
  gap: number;
74
74
  }
75
- interface CalibrationReport {
75
+ export interface CalibrationReport {
76
76
  evalMetric: string;
77
77
  outcomeMetric: string;
78
78
  n: number;
@@ -82,7 +82,7 @@ interface CalibrationReport {
82
82
  /** Largest observed difference between a bin's mean score and mean outcome. */
83
83
  maxGap: number;
84
84
  }
85
- interface CalibrationOptions {
85
+ export interface CalibrationOptions {
86
86
  /** Positive integer; empty bins are omitted. Default 10. */
87
87
  bins?: number;
88
88
  /** Equal-width (fixed bin edges) or equal-frequency (quantile bins). */
@@ -93,23 +93,23 @@ interface CalibrationOptions {
93
93
  hi: number;
94
94
  };
95
95
  }
96
- interface CalibrationPair {
96
+ export interface CalibrationPair {
97
97
  evalScore: number;
98
98
  outcome: number;
99
99
  }
100
- declare function calibrationCurve(traceStore: TraceStore, outcomeStore: OutcomeStore, evalMetric: EvalMetricSpec, outcomeMetric: string, options?: CalibrationOptions): Promise<CalibrationReport | null>;
100
+ export declare function calibrationCurve(traceStore: TraceStore, outcomeStore: OutcomeStore, evalMetric: EvalMetricSpec, outcomeMetric: string, options?: CalibrationOptions): Promise<CalibrationReport | null>;
101
101
  /** Measure already joined observations without constructing trace and outcome stores. */
102
- declare function calibrationFromPairs(inputPairs: readonly CalibrationPair[], evalMetric: string, outcomeMetric: string, options?: CalibrationOptions): CalibrationReport | null;
102
+ export declare function calibrationFromPairs(inputPairs: readonly CalibrationPair[], evalMetric: string, outcomeMetric: string, options?: CalibrationOptions): CalibrationReport | null;
103
103
  //#endregion
104
104
  //#region src/meta-eval/evaluator-admission.d.ts
105
- declare const policySchema: z.ZodObject<{
105
+ export declare const evaluatorAdmissionPolicySchema: z.ZodObject<{
106
106
  confidence: z.ZodNumber;
107
107
  maxFalseAcceptanceRate: z.ZodNumber;
108
108
  maxFalseRejectionRate: z.ZodNumber;
109
109
  }, z.core.$strict>;
110
110
  /** Register both error limits before inspecting audit judgments. */
111
- type EvaluatorAdmissionPolicy = z.infer<typeof policySchema>;
112
- declare const observationSchema: z.ZodObject<{
111
+ type EvaluatorAdmissionPolicy = z.infer<typeof evaluatorAdmissionPolicySchema>;
112
+ export declare const evaluatorAuditObservationSchema: z.ZodObject<{
113
113
  id: z.ZodString;
114
114
  independentUnitId: z.ZodString;
115
115
  evidenceRef: z.ZodString;
@@ -128,7 +128,7 @@ declare const observationSchema: z.ZodObject<{
128
128
  }>;
129
129
  }, z.core.$strict>;
130
130
  /** Actual control judgments. Variants from one source retain one independent identity. */
131
- type EvaluatorAuditObservation = z.infer<typeof observationSchema>;
131
+ type EvaluatorAuditObservation = z.infer<typeof evaluatorAuditObservationSchema>;
132
132
  declare const inputSchema: z.ZodObject<{
133
133
  evaluatorDigest: z.ZodString;
134
134
  population: z.ZodString;
@@ -210,12 +210,55 @@ interface EvaluatorAdmissionReport {
210
210
  falseAcceptance: EvaluatorErrorRate;
211
211
  falseRejection: EvaluatorErrorRate;
212
212
  }
213
+ declare const capacitySchema: z.ZodObject<{
214
+ policy: z.ZodObject<{
215
+ confidence: z.ZodNumber;
216
+ maxFalseAcceptanceRate: z.ZodNumber;
217
+ maxFalseRejectionRate: z.ZodNumber;
218
+ }, z.core.$strict>;
219
+ controls: z.ZodDefault<z.ZodArray<z.ZodObject<{
220
+ id: z.ZodString;
221
+ independentUnitId: z.ZodString;
222
+ expected: z.ZodEnum<{
223
+ accept: "accept";
224
+ reject: "reject";
225
+ }>;
226
+ exposure: z.ZodEnum<{
227
+ development: "development";
228
+ fresh: "fresh";
229
+ }>;
230
+ }, z.core.$strict>>>;
231
+ }, z.core.$strict>;
232
+ type EvaluatorAuditPlanInput = z.input<typeof capacitySchema>;
233
+ /**
234
+ * Can the fixed control roster meet the policy even with zero errors?
235
+ * Planning uses the admission rule's exact bounds and source-unit exclusions.
236
+ * It accepts no judgments or authority and returns no admission report.
237
+ */
238
+ export declare function planEvaluatorAudit(input: EvaluatorAuditPlanInput): {
239
+ sufficient: boolean;
240
+ falseAcceptance: {
241
+ independentUnits: number;
242
+ bestPossibleUpperBound: number | null;
243
+ limit: number;
244
+ minimumIndependentUnits: number | null;
245
+ additionalIndependentUnits: number | null;
246
+ };
247
+ falseRejection: {
248
+ independentUnits: number;
249
+ bestPossibleUpperBound: number | null;
250
+ limit: number;
251
+ minimumIndependentUnits: number | null;
252
+ additionalIndependentUnits: number | null;
253
+ };
254
+ };
255
+ type EvaluatorAuditPlan = ReturnType<typeof planEvaluatorAudit>;
213
256
  /**
214
257
  * Audit frozen judgments using independent source units and exact binomial bounds.
215
258
  * A unit fails a class when any control in that class is misjudged.
216
259
  * The execution owner enforces auditor separation, fresh sampling, and evidence authenticity.
217
260
  */
218
- declare function auditEvaluator(input: EvaluatorAuditInput): EvaluatorAdmissionReport;
261
+ export declare function auditEvaluator(input: EvaluatorAuditInput): EvaluatorAdmissionReport;
219
262
  declare const probabilityAuditSchema: z.ZodObject<{
220
263
  evaluatorDigest: z.ZodString;
221
264
  population: z.ZodString;
@@ -267,7 +310,7 @@ interface ProbabilityPolicyAuditReport extends EvaluatorAdmissionReport {
267
310
  * No threshold search, model calls, promotion, or assumption of calibrated probabilities.
268
311
  * Null scores and the open interval between thresholds remain unknown, never correct by default.
269
312
  */
270
- declare function auditProbabilityPolicy(input: ProbabilityPolicyAuditInput): ProbabilityPolicyAuditReport;
313
+ export declare function auditProbabilityPolicy(input: ProbabilityPolicyAuditInput): ProbabilityPolicyAuditReport;
271
314
  //#endregion
272
315
  //#region src/meta-eval/plants.d.ts
273
316
  /**
@@ -275,7 +318,7 @@ declare function auditProbabilityPolicy(input: ProbabilityPolicyAuditInput): Pro
275
318
  * {@link CatchRateReport.byKind} because a grader is routinely sharp on one
276
319
  * and blind to another.
277
320
  */
278
- type PlantKind =
321
+ export type PlantKind =
279
322
  /** A load-bearing value is altered: a number off by one, a comparison flipped. */
280
323
  'wrong-value' |
281
324
  /** The item carries its own check, and that check passes without testing the claim. */
@@ -285,8 +328,8 @@ type PlantKind =
285
328
  /** A copy of an item already in the set, which is owed a duplicate flag rather than a second grade. */
286
329
  'duplicate';
287
330
  /** What a working grader owes a seeded item. */
288
- type PlantExpectation = 'reject' | 'accept';
289
- interface Plant {
331
+ export type PlantExpectation = 'reject' | 'accept';
332
+ export interface Plant {
290
333
  /** Name of the plant record. Reported in `missedIds` and `missingIds`. */
291
334
  id: string;
292
335
  kind: PlantKind;
@@ -307,7 +350,7 @@ interface Plant {
307
350
  * cannot change what the manifest sealed, and `group` is dropped when it is
308
351
  * absent so the record always has a canonical JSON form.
309
352
  */
310
- declare function definePlant(input: {
353
+ export declare function definePlant(input: {
311
354
  id: string;
312
355
  kind: PlantKind;
313
356
  item: GoldenItem;
@@ -317,17 +360,17 @@ declare function definePlant(input: {
317
360
  * A claim's executable evidence: the command a grader runs and the output it
318
361
  * must produce.
319
362
  */
320
- interface PlantEvidence {
363
+ export interface PlantEvidence {
321
364
  /** The command a grader runs to test the claim. */
322
365
  check?: string;
323
366
  /** The output that command must produce for the claim to stand. */
324
367
  expect?: string;
325
368
  }
326
369
  /** Which evidence field {@link perturbEvidence} altered. */
327
- type PerturbedField = 'check' | 'expect';
370
+ export type PerturbedField = 'check' | 'expect';
328
371
  /** How {@link perturbEvidence} altered it. */
329
- type PerturbationKind = 'number-off-by-one' | 'comparison-flipped';
330
- interface EvidencePerturbation {
372
+ export type PerturbationKind = 'number-off-by-one' | 'comparison-flipped';
373
+ export interface EvidencePerturbation {
331
374
  /** The evidence with exactly one value altered. */
332
375
  evidence: PlantEvidence;
333
376
  /** Which field changed. */
@@ -370,8 +413,8 @@ interface EvidencePerturbation {
370
413
  * rounds back to itself, and the plant is then a correct claim the grader is
371
414
  * right to verify.
372
415
  */
373
- declare function perturbEvidence(evidence: PlantEvidence): EvidencePerturbation | null;
374
- interface PerturbedPlant {
416
+ export declare function perturbEvidence(evidence: PlantEvidence): EvidencePerturbation | null;
417
+ export interface PerturbedPlant {
375
418
  plant: Plant;
376
419
  /** The perturbed evidence to write into the item the grader is handed. */
377
420
  evidence: PlantEvidence;
@@ -400,7 +443,7 @@ interface PerturbedPlant {
400
443
  * and in `missedIds`, the other in the join with the results — and a miss
401
444
  * nobody can look up is not a measurement.
402
445
  */
403
- declare function plantByPerturbation(input: {
446
+ export declare function plantByPerturbation(input: {
404
447
  id: string;
405
448
  itemId: string;
406
449
  evidence: PlantEvidence;
@@ -408,7 +451,7 @@ declare function plantByPerturbation(input: {
408
451
  humanScore?: number;
409
452
  group?: string;
410
453
  }): PerturbedPlant | null;
411
- interface PlantManifest {
454
+ export interface PlantManifest {
412
455
  /**
413
456
  * Digest over the seeded order, the plants, and the threshold. Publish it
414
457
  * before the grading run: a manifest edited afterwards to match the results
@@ -424,7 +467,7 @@ interface PlantManifest {
424
467
  /** The seeded plants. This is the answer key; keep it out of the graded workspace. */
425
468
  plants: Plant[];
426
469
  }
427
- interface SeededGradingSet {
470
+ export interface SeededGradingSet {
428
471
  /**
429
472
  * The mixed set in seeded order. Operator-side: it still carries every
430
473
  * item's `humanScore`, so hand the graded policy the payload each `itemId`
@@ -433,7 +476,7 @@ interface SeededGradingSet {
433
476
  items: GoldenItem[];
434
477
  manifest: PlantManifest;
435
478
  }
436
- interface SeedPlantsOptions {
479
+ export interface SeedPlantsOptions {
437
480
  /**
438
481
  * Fixes the mix order. The same dataset, plants, threshold, and seed always
439
482
  * produce the same seeded order and the same seal.
@@ -455,13 +498,13 @@ interface SeedPlantsOptions {
455
498
  * dataset item with no usable label, and a plant whose expectation the run's
456
499
  * `acceptThreshold` contradicts.
457
500
  */
458
- declare function seedPlants(dataset: readonly GoldenItem[], plants: readonly Plant[], options?: SeedPlantsOptions): SeededGradingSet;
501
+ export declare function seedPlants(dataset: readonly GoldenItem[], plants: readonly Plant[], options?: SeedPlantsOptions): SeededGradingSet;
459
502
  /**
460
503
  * One grader outcome for one item. `score: null` says the grader ran and
461
504
  * declined to decide — the check never tested the item's defect. Any
462
505
  * `CandidateScore` from a judge run is already a valid outcome.
463
506
  */
464
- interface PlantOutcome {
507
+ export interface PlantOutcome {
465
508
  itemId: string;
466
509
  score: number | null;
467
510
  }
@@ -469,8 +512,8 @@ interface PlantOutcome {
469
512
  * `evaluated` — a rate stands. `incomplete` — a seeded id had no result.
470
513
  * `not_evaluated` — nothing was seeded, or nothing seeded was decided.
471
514
  */
472
- type CatchRateStatus = 'evaluated' | 'incomplete' | 'not_evaluated';
473
- interface PlantKindCounts {
515
+ export type CatchRateStatus = 'evaluated' | 'incomplete' | 'not_evaluated';
516
+ export interface PlantKindCounts {
474
517
  seeded: number;
475
518
  caught: number;
476
519
  missed: number;
@@ -484,14 +527,14 @@ interface PlantKindCounts {
484
527
  * on reject-plants, and a `rejectionRate` of 1.0 here is what separates that
485
528
  * reflex from discrimination.
486
529
  */
487
- interface UnseededRejection {
530
+ export interface UnseededRejection {
488
531
  n: number;
489
532
  decided: number;
490
533
  rejected: number;
491
534
  /** rejected / decided, or null when nothing unseeded was decided. */
492
535
  rejectionRate: number | null;
493
536
  }
494
- interface CatchRateReport {
537
+ export interface CatchRateReport {
495
538
  status: CatchRateStatus;
496
539
  /** Why the status is not `evaluated`. Absent when it is. */
497
540
  reason?: string;
@@ -521,12 +564,12 @@ interface CatchRateReport {
521
564
  * the results and the manifest describe different runs, and a rate computed
522
565
  * across two runs is a fabrication.
523
566
  */
524
- declare function catchRate(results: readonly PlantOutcome[], manifest: PlantManifest): CatchRateReport;
567
+ export declare function catchRate(results: readonly PlantOutcome[], manifest: PlantManifest): CatchRateReport;
525
568
  //#endregion
526
569
  //#region src/meta-eval/sentinel.d.ts
527
570
  declare const SENTINEL_METRIC_NAMES: readonly ['irr', 'calibrationKappa', 'sentinelPassRate'];
528
- type SentinelMetricName = (typeof SENTINEL_METRIC_NAMES)[number];
529
- interface SentinelMetrics {
571
+ export type SentinelMetricName = (typeof SENTINEL_METRIC_NAMES)[number];
572
+ export interface SentinelMetrics {
530
573
  /** Inter-rater reliability — ICC(2,1) from agreement instruments. */
531
574
  irr?: number;
532
575
  /** Weighted κ vs the human golden set (`calibrateJudge*`). */
@@ -534,7 +577,7 @@ interface SentinelMetrics {
534
577
  /** Fraction of a fixed sentinel golden set the judge still scores within tolerance. */
535
578
  sentinelPassRate?: number;
536
579
  }
537
- interface SentinelSnapshot {
580
+ export interface SentinelSnapshot {
538
581
  /** Caller-supplied ISO-8601 timestamp — the module never reads a clock. */
539
582
  at: string;
540
583
  judgeId: string;
@@ -549,19 +592,19 @@ interface SentinelSnapshot {
549
592
  metrics: SentinelMetrics;
550
593
  }
551
594
  /** Identity + timestamp the caller supplies alongside an instrument output. */
552
- interface SnapshotMeta {
595
+ export interface SnapshotMeta {
553
596
  at: string;
554
597
  judgeId: string;
555
598
  judgeModel: string;
556
599
  }
557
600
  /** Shape guard for snapshots crossing a boundary (store append, JSONL load, report input). */
558
- declare function validateSentinelSnapshot(snapshot: SentinelSnapshot, source?: string): void;
601
+ export declare function validateSentinelSnapshot(snapshot: SentinelSnapshot, source?: string): void;
559
602
  /**
560
603
  * From `calibrateJudge` / `calibrateJudgeContinuous` output. Prefers the
561
604
  * un-rounded continuous κ_w when the report carries one (integer κ
562
605
  * discards information for [0,1] judges).
563
606
  */
564
- declare function snapshotFromCalibration(report: CalibrationResult | ContinuousCalibrationResult, meta: SnapshotMeta): SentinelSnapshot;
607
+ export declare function snapshotFromCalibration(report: CalibrationResult | ContinuousCalibrationResult, meta: SnapshotMeta): SentinelSnapshot;
565
608
  /**
566
609
  * From `corpusInterRaterAgreement` (statistics.ts) or `continuousAgreement`
567
610
  * (judge-calibration.ts) output. IRR = ICC(2,1) — the reliability
@@ -569,8 +612,8 @@ declare function snapshotFromCalibration(report: CalibrationResult | ContinuousC
569
612
  * `meta.judgeId` names the ensemble and `meta.judgeModel` pins its
570
613
  * composition (e.g. a joined list of member model strings).
571
614
  */
572
- declare function snapshotFromAgreement(report: CorpusAgreementReport | ContinuousAgreement, meta: SnapshotMeta): SentinelSnapshot;
573
- interface SentinelSetOptions {
615
+ export declare function snapshotFromAgreement(report: CorpusAgreementReport | ContinuousAgreement, meta: SnapshotMeta): SentinelSnapshot;
616
+ export interface SentinelSetOptions {
574
617
  /** Max |judge − human| for an item to count as passed. Default 0.1 (tuned for [0,1] scores). */
575
618
  tolerance?: number;
576
619
  }
@@ -581,21 +624,21 @@ interface SentinelSetOptions {
581
624
  * human score. Items the judge didn't score are excluded from the
582
625
  * denominator; zero joined items is an error, not a 0% pass rate.
583
626
  */
584
- declare function snapshotFromSentinelSet(scores: CandidateScore[], golden: GoldenItem[], meta: SnapshotMeta, options?: SentinelSetOptions): SentinelSnapshot;
585
- interface SentinelStore {
627
+ export declare function snapshotFromSentinelSet(scores: CandidateScore[], golden: GoldenItem[], meta: SnapshotMeta, options?: SentinelSetOptions): SentinelSnapshot;
628
+ export interface SentinelStore {
586
629
  append(snapshot: SentinelSnapshot): Promise<void>;
587
630
  /** All snapshots (optionally for one judge), in append order. */
588
631
  history(judgeId?: string): Promise<SentinelSnapshot[]>;
589
632
  }
590
- declare function inMemorySentinelStore(initial?: SentinelSnapshot[]): SentinelStore;
633
+ export declare function inMemorySentinelStore(initial?: SentinelSnapshot[]): SentinelStore;
591
634
  /**
592
635
  * JSONL store — one snapshot per line, appended atomically per call.
593
636
  * A corrupt or shape-invalid line is a loud error naming the file and
594
637
  * line number: a sentinel history that silently drops records would
595
638
  * defeat the drift detection it exists to provide.
596
639
  */
597
- declare function fileSentinelStore(path: string): SentinelStore;
598
- interface SentinelThresholds {
640
+ export declare function fileSentinelStore(path: string): SentinelStore;
641
+ export interface SentinelThresholds {
599
642
  /** Floor for irr — below it the judge ensemble is unreliable regardless of trend. Default 0.6. */
600
643
  minIrr?: number;
601
644
  /** Max tolerated calibrationKappa drop vs the series baseline. Default 0.15. */
@@ -605,14 +648,14 @@ interface SentinelThresholds {
605
648
  /** Newest snapshot older than this (days, vs asOf) = the sentinel itself went blind. Default 30. */
606
649
  staleAfterDays?: number;
607
650
  }
608
- interface JudgeSentinelOptions {
651
+ export interface JudgeSentinelOptions {
609
652
  /** Caller-supplied ISO timestamp staleness is measured against. */
610
653
  asOf: string;
611
654
  thresholds?: SentinelThresholds;
612
655
  /** Forwarded to `analyzeSeries` (window, stableCv, driftRun). */
613
656
  convergence?: SeriesConvergenceOptions;
614
657
  }
615
- interface SentinelTrend {
658
+ export interface SentinelTrend {
616
659
  judgeId: string;
617
660
  metric: SentinelMetricName;
618
661
  /** Verbatim `analyzeSeries` state for this judge×metric history. */
@@ -626,7 +669,7 @@ interface SentinelTrend {
626
669
  alarmed: boolean;
627
670
  reason?: string;
628
671
  }
629
- interface SentinelReport {
672
+ export interface SentinelReport {
630
673
  perJudge: SentinelTrend[];
631
674
  alarms: string[];
632
675
  healthy: boolean;
@@ -638,8 +681,8 @@ interface SentinelReport {
638
681
  */
639
682
  insufficientHistory: string[];
640
683
  }
641
- declare function judgeSentinelReport(history: SentinelSnapshot[], opts: JudgeSentinelOptions): SentinelReport;
642
- interface EvalHealthStamp {
684
+ export declare function judgeSentinelReport(history: SentinelSnapshot[], opts: JudgeSentinelOptions): SentinelReport;
685
+ export interface EvalHealthStamp {
643
686
  healthy: boolean;
644
687
  alarms: string[];
645
688
  }
@@ -651,7 +694,7 @@ interface EvalHealthStamp {
651
694
  * unresolved drift / decay / silent-upgrade / staleness alarm — treat the
652
695
  * verdicts as carrying an integrity warning until recalibration clears it.
653
696
  */
654
- declare function evalHealthStamp(report: SentinelReport): EvalHealthStamp;
697
+ export declare function evalHealthStamp(report: SentinelReport): EvalHealthStamp;
655
698
  //#endregion
656
- export { CalibrationBin, CalibrationOptions, CalibrationPair, CalibrationReport, type CalibrationResult, type CandidateScore, CatchRateReport, CatchRateStatus, type ContinuousAgreement, type ContinuousAgreementOptions, type ContinuousCalibrationResult, type CorrelationInterval, CorrelationResult, CorrelationStudyOptions, CorrelationStudyResult, DeploymentOutcome, EvalHealthStamp, EvalMetricSpec, type EvaluatorAdmissionPolicy, type EvaluatorAdmissionReport, type EvaluatorAuditInput, type EvaluatorAuditObservation, type EvaluatorErrorRate, EvidencePerturbation, FileSystemOutcomeStore, FileSystemOutcomeStoreOptions, type GoldenItem, InMemoryOutcomeStore, JudgeSentinelOptions, OutcomeFilter, OutcomeMetricSpec, OutcomePair, type OutcomeReduction, OutcomeStore, OutcomeStoreError, PerturbationKind, PerturbedField, PerturbedPlant, Plant, PlantEvidence, PlantExpectation, PlantKind, PlantKindCounts, PlantManifest, PlantOutcome, type PositionalBiasResult, type ProbabilityPolicyAuditInput, type ProbabilityPolicyAuditReport, RubricOutcomeExclusion, RubricOutcomePair, RubricPredictiveValidityInput, RubricPredictiveValidityReport, RubricRanking, SeedPlantsOptions, SeededGradingSet, type SelfPreferenceResult, SentinelMetricName, SentinelMetrics, SentinelReport, SentinelSetOptions, SentinelSnapshot, SentinelStore, SentinelThresholds, SentinelTrend, SnapshotMeta, UnseededRejection, type VerbosityBiasResult, auditEvaluator, auditProbabilityPolicy, calibrateJudge, calibrateJudgeContinuous, calibrationCurve, calibrationFromPairs, catchRate, continuousAgreement, correlationStudy, definePlant, evalHealthStamp, fileSentinelStore, inMemorySentinelStore, judgeSentinelReport, perturbEvidence, plantByPerturbation, positionalBias, rubricPredictiveValidity, seedPlants, selfPreference, snapshotFromAgreement, snapshotFromCalibration, snapshotFromSentinelSet, validateSentinelSnapshot, verbosityBias };
699
+ export { type CalibrationResult, type CandidateScore, type ContinuousAgreement, type ContinuousAgreementOptions, type ContinuousCalibrationResult, type CorrelationInterval, DeploymentOutcome, type EvaluatorAdmissionPolicy, type EvaluatorAdmissionReport, type EvaluatorAuditInput, type EvaluatorAuditObservation, type EvaluatorAuditPlan, type EvaluatorAuditPlanInput, type EvaluatorErrorRate, FileSystemOutcomeStore, FileSystemOutcomeStoreOptions, type GoldenItem, InMemoryOutcomeStore, OutcomeFilter, OutcomeMetricSpec, type OutcomeReduction, OutcomeStore, OutcomeStoreError, type PositionalBiasResult, type ProbabilityPolicyAuditInput, type ProbabilityPolicyAuditReport, RubricOutcomeExclusion, RubricOutcomePair, RubricPredictiveValidityInput, RubricPredictiveValidityReport, RubricRanking, type SelfPreferenceResult, type VerbosityBiasResult, calibrateJudge, calibrateJudgeContinuous, continuousAgreement, positionalBias, rubricPredictiveValidity, selfPreference, verbosityBias };
657
700
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/meta-eval/correlation-study.ts","../../src/meta-eval/calibration.ts","../../src/meta-eval/evaluator-admission.ts","../../src/meta-eval/plants.ts","../../src/meta-eval/sentinel.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/meta-eval/correlation-study.ts","../../src/meta-eval/calibration.ts","../../src/meta-eval/evaluator-admission.ts","../../src/meta-eval/plants.ts","../../src/meta-eval/sentinel.ts"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { n as CaptureIntegrityError, s as ValidationError } from "../errors-Dngq5h35.js";
2
2
  import { a as hashCanonical, i as compareCodeUnits } from "../canonical-BsZVgBhW.js";
3
3
  import { t as mulberry32 } from "../random-Dn5fPWkt.js";
4
- import { a as selfPreference, i as positionalBias, n as calibrateJudgeContinuous, o as verbosityBias, r as continuousAgreement, t as calibrateJudge } from "../judge-calibration-DYmaBtJr.js";
4
+ import { a as selfPreference, i as positionalBias, n as calibrateJudgeContinuous, o as verbosityBias, r as continuousAgreement, t as calibrateJudge } from "../judge-calibration-C5zgtiJT.js";
5
5
  import { u as runMetricExtractor } from "../query-DlV0pdx4.js";
6
- import { r as computeInterval } from "../ast-CP9ae9B0.js";
6
+ import { r as computeInterval } from "../ast-DJ6Bc7ab.js";
7
7
  import { t as analyzeSeries } from "../series-convergence-CjO2QdRW.js";
8
- import { a as reduceOutcomeMetric, i as hasVariation, n as assertUniqueObservationIds, o as validateObservationOptions, r as correlationSummary, t as rubricPredictiveValidity } from "../rubric-predictive-validity-CCK-1B7w.js";
9
- import { n as InMemoryOutcomeStore, r as OutcomeStoreError, t as FileSystemOutcomeStore } from "../outcome-store-BXlkwMPR.js";
8
+ import { a as reduceOutcomeMetric, i as hasVariation, n as assertUniqueObservationIds, o as validateObservationOptions, r as correlationSummary, t as rubricPredictiveValidity } from "../rubric-predictive-validity-B0Pg-3I5.js";
9
+ import { n as InMemoryOutcomeStore, r as OutcomeStoreError, t as FileSystemOutcomeStore } from "../outcome-store-DUcMj-3D.js";
10
10
  import { z } from "zod";
11
11
  //#region src/meta-eval/calibration.ts
12
12
  /**
@@ -231,12 +231,12 @@ async function correlationStudy(traceStore, outcomeStore, evalMetrics, outcomeMe
231
231
  //#endregion
232
232
  //#region src/meta-eval/evaluator-admission.ts
233
233
  const identity = z.string().min(1).refine((value) => value.trim() === value);
234
- const policySchema = z.object({
234
+ const evaluatorAdmissionPolicySchema = z.object({
235
235
  confidence: z.number().finite().gt(0).lt(1),
236
236
  maxFalseAcceptanceRate: z.number().finite().min(0).lt(1),
237
237
  maxFalseRejectionRate: z.number().finite().min(0).lt(1)
238
238
  }).strict();
239
- const observationSchema = z.object({
239
+ const evaluatorAuditObservationSchema = z.object({
240
240
  id: identity,
241
241
  independentUnitId: identity,
242
242
  evidenceRef: identity,
@@ -257,8 +257,8 @@ const inputSchema = z.object({
257
257
  auditorId: identity,
258
258
  independenceEvidenceRef: identity
259
259
  }).strict(),
260
- policy: policySchema,
261
- observations: z.array(observationSchema)
260
+ policy: evaluatorAdmissionPolicySchema,
261
+ observations: z.array(evaluatorAuditObservationSchema)
262
262
  }).strict();
263
263
  function errorRate(rows, expected, limit, level) {
264
264
  const cases = rows.filter((row) => row.expected === expected);
@@ -308,6 +308,83 @@ function errorRate(rows, expected, limit, level) {
308
308
  verdict
309
309
  };
310
310
  }
311
+ function eligibleControls(observations) {
312
+ const ids = /* @__PURE__ */ new Set();
313
+ for (const row of observations) {
314
+ if (ids.has(row.id)) throw new ValidationError(`duplicate evaluator audit observation '${row.id}'`);
315
+ ids.add(row.id);
316
+ }
317
+ observations.sort((a, b) => compareCodeUnits(a.id, b.id));
318
+ const developmentUnits = new Set(observations.filter((row) => row.exposure === "development").map((row) => row.independentUnitId));
319
+ return {
320
+ eligible: observations.filter((row) => !developmentUnits.has(row.independentUnitId)),
321
+ exclusions: observations.filter((row) => developmentUnits.has(row.independentUnitId)).map((row) => ({
322
+ id: row.id,
323
+ independentUnitId: row.independentUnitId,
324
+ reason: "development-exposure"
325
+ }))
326
+ };
327
+ }
328
+ function simultaneousIntervalConfidence(confidence) {
329
+ const level = 1 - (1 - confidence) / 2;
330
+ if (level >= 1) throw new ValidationError("evaluator audit confidence is too close to one for simultaneous intervals");
331
+ return level;
332
+ }
333
+ const capacitySchema = z.object({
334
+ policy: evaluatorAdmissionPolicySchema,
335
+ controls: z.array(evaluatorAuditObservationSchema.omit({
336
+ observed: true,
337
+ evidenceRef: true
338
+ })).default([])
339
+ }).strict();
340
+ /** The zero-error eligibility floor, not a statistical power calculation. */
341
+ function zeroErrorUpperBound(trials, level) {
342
+ return -Math.expm1(Math.log((1 - level) / 2) / trials);
343
+ }
344
+ function minimumAuditUnits(limit, level) {
345
+ if (limit === 0) return null;
346
+ const estimate = Math.ceil(Math.log((1 - level) / 2) / Math.log1p(-limit));
347
+ if (!Number.isFinite(estimate) || estimate > Number.MAX_SAFE_INTEGER) return null;
348
+ const clears = (trials) => zeroErrorUpperBound(trials, level) <= limit;
349
+ let minimum = Math.max(1, estimate);
350
+ while (minimum > 1 && clears(minimum - 1)) minimum -= 1;
351
+ while (!clears(minimum)) {
352
+ if (minimum === Number.MAX_SAFE_INTEGER) return null;
353
+ minimum += 1;
354
+ }
355
+ return minimum;
356
+ }
357
+ /**
358
+ * Can the fixed control roster meet the policy even with zero errors?
359
+ * Planning uses the admission rule's exact bounds and source-unit exclusions.
360
+ * It accepts no judgments or authority and returns no admission report.
361
+ */
362
+ function planEvaluatorAudit(input) {
363
+ const parsed = capacitySchema.safeParse(input);
364
+ if (!parsed.success) throw new ValidationError(`invalid evaluator audit plan: ${parsed.error.message}`);
365
+ const { policy, controls } = parsed.data;
366
+ const { eligible } = eligibleControls(controls);
367
+ const level = simultaneousIntervalConfidence(policy.confidence);
368
+ const capacity = (expected, limit) => {
369
+ const independentUnits = new Set(eligible.filter((row) => row.expected === expected).map((row) => row.independentUnitId)).size;
370
+ const bestPossibleUpperBound = independentUnits === 0 ? null : zeroErrorUpperBound(independentUnits, level);
371
+ const minimumIndependentUnits = minimumAuditUnits(limit, level);
372
+ return {
373
+ independentUnits,
374
+ bestPossibleUpperBound,
375
+ limit,
376
+ minimumIndependentUnits,
377
+ additionalIndependentUnits: minimumIndependentUnits === null ? null : Math.max(0, minimumIndependentUnits - independentUnits)
378
+ };
379
+ };
380
+ const falseAcceptance = capacity("reject", policy.maxFalseAcceptanceRate);
381
+ const falseRejection = capacity("accept", policy.maxFalseRejectionRate);
382
+ return {
383
+ sufficient: [falseAcceptance, falseRejection].every((rate) => rate.bestPossibleUpperBound !== null && rate.bestPossibleUpperBound <= rate.limit),
384
+ falseAcceptance,
385
+ falseRejection
386
+ };
387
+ }
311
388
  /**
312
389
  * Audit frozen judgments using independent source units and exact binomial bounds.
313
390
  * A unit fails a class when any control in that class is misjudged.
@@ -318,21 +395,8 @@ function auditEvaluator(input) {
318
395
  if (!parsed.success) throw new ValidationError(`invalid evaluator audit: ${parsed.error.message}`);
319
396
  const audit = parsed.data;
320
397
  if (audit.authority.evaluatorAuthorId === audit.authority.auditorId) throw new ValidationError("evaluator admission requires a separate declared audit authority");
321
- const ids = /* @__PURE__ */ new Set();
322
- for (const row of audit.observations) {
323
- if (ids.has(row.id)) throw new ValidationError(`duplicate evaluator audit observation '${row.id}'`);
324
- ids.add(row.id);
325
- }
326
- audit.observations.sort((a, b) => compareCodeUnits(a.id, b.id));
327
- const developmentUnits = new Set(audit.observations.filter((row) => row.exposure === "development").map((row) => row.independentUnitId));
328
- const eligible = audit.observations.filter((row) => !developmentUnits.has(row.independentUnitId));
329
- const exclusions = audit.observations.filter((row) => developmentUnits.has(row.independentUnitId)).map((row) => ({
330
- id: row.id,
331
- independentUnitId: row.independentUnitId,
332
- reason: "development-exposure"
333
- }));
334
- const intervalConfidence = 1 - (1 - audit.policy.confidence) / 2;
335
- if (intervalConfidence >= 1) throw new ValidationError("evaluator audit confidence is too close to one for simultaneous intervals");
398
+ const { eligible, exclusions } = eligibleControls(audit.observations);
399
+ const intervalConfidence = simultaneousIntervalConfidence(audit.policy.confidence);
336
400
  const falseAcceptance = errorRate(eligible, "reject", audit.policy.maxFalseAcceptanceRate, intervalConfidence);
337
401
  const falseRejection = errorRate(eligible, "accept", audit.policy.maxFalseRejectionRate, intervalConfidence);
338
402
  const rates = [falseAcceptance, falseRejection];
@@ -379,7 +443,7 @@ const probabilityThresholdsSchema = z.object({
379
443
  rejectAtOrBelow: z.number().finite().min(0).max(1),
380
444
  acceptAtOrAbove: z.number().finite().min(0).max(1)
381
445
  }).strict().refine((value) => value.rejectAtOrBelow < value.acceptAtOrAbove, { message: "rejection and acceptance thresholds must not overlap" });
382
- const probabilityObservationSchema = observationSchema.omit({ observed: true }).extend({ acceptProbability: z.number().finite().min(0).max(1).nullable() }).strict();
446
+ const probabilityObservationSchema = evaluatorAuditObservationSchema.omit({ observed: true }).extend({ acceptProbability: z.number().finite().min(0).max(1).nullable() }).strict();
383
447
  const probabilityAuditSchema = inputSchema.extend({
384
448
  thresholds: probabilityThresholdsSchema,
385
449
  observations: z.array(probabilityObservationSchema)
@@ -1179,6 +1243,6 @@ function evalHealthStamp(report) {
1179
1243
  };
1180
1244
  }
1181
1245
  //#endregion
1182
- export { FileSystemOutcomeStore, InMemoryOutcomeStore, OutcomeStoreError, auditEvaluator, auditProbabilityPolicy, calibrateJudge, calibrateJudgeContinuous, calibrationCurve, calibrationFromPairs, catchRate, continuousAgreement, correlationStudy, definePlant, evalHealthStamp, fileSentinelStore, inMemorySentinelStore, judgeSentinelReport, perturbEvidence, plantByPerturbation, positionalBias, rubricPredictiveValidity, seedPlants, selfPreference, snapshotFromAgreement, snapshotFromCalibration, snapshotFromSentinelSet, validateSentinelSnapshot, verbosityBias };
1246
+ export { FileSystemOutcomeStore, InMemoryOutcomeStore, OutcomeStoreError, auditEvaluator, auditProbabilityPolicy, calibrateJudge, calibrateJudgeContinuous, calibrationCurve, calibrationFromPairs, catchRate, continuousAgreement, correlationStudy, definePlant, evalHealthStamp, evaluatorAdmissionPolicySchema, evaluatorAuditObservationSchema, fileSentinelStore, inMemorySentinelStore, judgeSentinelReport, perturbEvidence, planEvaluatorAudit, plantByPerturbation, positionalBias, rubricPredictiveValidity, seedPlants, selfPreference, snapshotFromAgreement, snapshotFromCalibration, snapshotFromSentinelSet, validateSentinelSnapshot, verbosityBias };
1183
1247
 
1184
1248
  //# sourceMappingURL=index.js.map