openpond 0.2.54 → 0.2.56

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 (432) hide show
  1. package/dist/app-server.d.ts +10823 -9118
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/actions-command-QU4H53OG.js +2 -0
  4. package/dist/chunks/{app-layer-I7MZYVLL.js → app-layer-NSTE5HIT.js} +1 -1
  5. package/dist/chunks/app-server-connected-apps-JHGWLBXT.js +2 -0
  6. package/dist/chunks/app-server-evaluations-GJPFWIDA.js +2 -0
  7. package/dist/chunks/app-server-harness-services-IH4G6POY.js +2 -0
  8. package/dist/chunks/app-server-runtime-DVKOZ5B6.js +2 -0
  9. package/dist/chunks/apps-BKTOR4F7.js +2 -0
  10. package/dist/chunks/chunk-25MBPJVY.js +2 -0
  11. package/dist/chunks/chunk-2D4Y3HNW.js +2 -0
  12. package/dist/chunks/chunk-2IHO4GDJ.js +2 -0
  13. package/dist/chunks/chunk-2QUCCP6Z.js +2 -0
  14. package/dist/chunks/chunk-3K4VVB7S.js +6 -0
  15. package/dist/chunks/chunk-3QIB5FXI.js +10 -0
  16. package/dist/chunks/chunk-3RCRSMWZ.js +17 -0
  17. package/dist/chunks/chunk-3VUATFZD.js +2 -0
  18. package/dist/chunks/chunk-3Z47M3YY.js +2 -0
  19. package/dist/chunks/{chunk-GXSTZBM6.js → chunk-4D7HWVWD.js} +1 -1
  20. package/dist/chunks/chunk-4EPSHPZL.js +2 -0
  21. package/dist/chunks/chunk-4NESNOK5.js +2 -0
  22. package/dist/chunks/chunk-523TE4BI.js +2 -0
  23. package/dist/chunks/chunk-5MCNZCVQ.js +2 -0
  24. package/dist/chunks/chunk-6QSSIT62.js +2 -0
  25. package/dist/chunks/chunk-6ZFPQYHG.js +2 -0
  26. package/dist/chunks/chunk-74IIXVAE.js +2 -0
  27. package/dist/chunks/chunk-74ZXXBGN.js +6 -0
  28. package/dist/chunks/chunk-773TH7FN.js +2 -0
  29. package/dist/chunks/chunk-7E6T7GP5.js +2 -0
  30. package/dist/chunks/chunk-7ED24PP6.js +2 -0
  31. package/dist/chunks/chunk-7HPDGZOR.js +86 -0
  32. package/dist/chunks/chunk-7KWD2I6W.js +2 -0
  33. package/dist/chunks/chunk-7PXZ4X4P.js +2 -0
  34. package/dist/chunks/chunk-A6USMRWK.js +2 -0
  35. package/dist/chunks/chunk-ABD5M2D2.js +2 -0
  36. package/dist/chunks/chunk-ACYFMLWG.js +10 -0
  37. package/dist/chunks/chunk-AN525SPP.js +6 -0
  38. package/dist/chunks/chunk-APB2STJK.js +2 -0
  39. package/dist/chunks/chunk-AY64VY4E.js +2 -0
  40. package/dist/chunks/{chunk-UJ5EFSEC.js → chunk-B7RFL4N2.js} +1 -1
  41. package/dist/chunks/chunk-BFKYRQMA.js +2 -0
  42. package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
  43. package/dist/chunks/chunk-D74JEERO.js +5 -0
  44. package/dist/chunks/{chunk-PA7XP42P.js → chunk-DARVPBZ4.js} +1 -1
  45. package/dist/chunks/chunk-DBK66CJP.js +8 -0
  46. package/dist/chunks/chunk-DDMZSZFL.js +1 -0
  47. package/dist/chunks/chunk-DIO5CB6U.js +2 -0
  48. package/dist/chunks/chunk-DMFUEUAZ.js +5 -0
  49. package/dist/chunks/chunk-DMVD2RFZ.js +2 -0
  50. package/dist/chunks/chunk-DUURYZOI.js +2 -0
  51. package/dist/chunks/chunk-DZUAT3TP.js +1 -0
  52. package/dist/chunks/chunk-EIEZHFIW.js +6 -0
  53. package/dist/chunks/chunk-EIRYMSEG.js +19 -0
  54. package/dist/chunks/{chunk-JDLAHVAJ.js → chunk-EKM2D7JU.js} +1 -1
  55. package/dist/chunks/chunk-EQFGBL3O.js +2 -0
  56. package/dist/chunks/chunk-EYPCBBMS.js +2 -0
  57. package/dist/chunks/chunk-F4KOGISR.js +10 -0
  58. package/dist/chunks/chunk-F74GBN6K.js +2 -0
  59. package/dist/chunks/chunk-FEAKTSRS.js +2 -0
  60. package/dist/chunks/chunk-FFRFSDBM.js +2 -0
  61. package/dist/chunks/chunk-FTEOCCPB.js +23 -0
  62. package/dist/chunks/chunk-FUOEIDMA.js +8 -0
  63. package/dist/chunks/{chunk-AH22RHPS.js → chunk-FV2R5RUN.js} +2 -2
  64. package/dist/chunks/chunk-FWIPHEVA.js +12 -0
  65. package/dist/chunks/chunk-FY5KHLMW.js +2 -0
  66. package/dist/chunks/chunk-G3RXYI2L.js +6 -0
  67. package/dist/chunks/chunk-GJ2ZJFDD.js +2 -0
  68. package/dist/chunks/chunk-GLDYJM7O.js +1 -0
  69. package/dist/chunks/chunk-GPVCOEUH.js +2 -0
  70. package/dist/chunks/chunk-GW766ZSO.js +5 -0
  71. package/dist/chunks/chunk-GWCHDF2C.js +4 -0
  72. package/dist/chunks/chunk-GZ7M5XBP.js +2 -0
  73. package/dist/chunks/chunk-H6IW2R22.js +140 -0
  74. package/dist/chunks/chunk-HCYX6RHP.js +2 -0
  75. package/dist/chunks/chunk-HDL5YSAA.js +2 -0
  76. package/dist/chunks/chunk-HIOKCIL7.js +2 -0
  77. package/dist/chunks/chunk-HY3GOBFJ.js +58 -0
  78. package/dist/chunks/chunk-HZEIRHEB.js +2 -0
  79. package/dist/chunks/chunk-I2NXNMRZ.js +2 -0
  80. package/dist/chunks/chunk-I7AQMAQI.js +33 -0
  81. package/dist/chunks/chunk-IZ6DLEVY.js +2 -0
  82. package/dist/chunks/chunk-J2TWKFML.js +1871 -0
  83. package/dist/chunks/chunk-JDEEWOD7.js +2 -0
  84. package/dist/chunks/chunk-JFXWI3EN.js +6 -0
  85. package/dist/chunks/chunk-JYKRR7E5.js +5 -0
  86. package/dist/chunks/chunk-KCJVFLBB.js +2 -0
  87. package/dist/chunks/{chunk-5CMKGD43.js → chunk-KG325WTN.js} +1 -1
  88. package/dist/chunks/chunk-KGNCKIFP.js +3 -0
  89. package/dist/chunks/chunk-KUERKVEU.js +3 -0
  90. package/dist/chunks/chunk-KVTBX2UP.js +2 -0
  91. package/dist/chunks/chunk-L6K7ERG5.js +2 -0
  92. package/dist/chunks/{chunk-N5QNXMIS.js → chunk-LQQNBVEB.js} +1 -1
  93. package/dist/chunks/{chunk-YJ4PNAST.js → chunk-M4JWQSV7.js} +1 -1
  94. package/dist/chunks/chunk-MQULU465.js +2 -0
  95. package/dist/chunks/chunk-N4FFQPLR.js +2 -0
  96. package/dist/chunks/chunk-N73MU2C3.js +2 -0
  97. package/dist/chunks/chunk-NHQ36THU.js +3 -0
  98. package/dist/chunks/{chunk-4SHKI3BH.js → chunk-O6ULLQJ6.js} +1 -1
  99. package/dist/chunks/chunk-O72BSKSO.js +2 -0
  100. package/dist/chunks/chunk-OGDADQGH.js +143 -0
  101. package/dist/chunks/chunk-OIUTWU6K.js +2 -0
  102. package/dist/chunks/chunk-OLLLZVHF.js +2 -0
  103. package/dist/chunks/{chunk-XM26DGML.js → chunk-OPNRWESL.js} +1 -1
  104. package/dist/chunks/chunk-OQKJGTTO.js +4 -0
  105. package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
  106. package/dist/chunks/{chunk-R3XFY7VL.js → chunk-OS3LO5J3.js} +1 -1
  107. package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.js} +1 -1
  108. package/dist/chunks/chunk-OUVIWDL2.js +2 -0
  109. package/dist/chunks/chunk-PCSIOUHF.js +7 -0
  110. package/dist/chunks/chunk-PF5R6CMP.js +21 -0
  111. package/dist/chunks/chunk-PPAPVGJP.js +3 -0
  112. package/dist/chunks/chunk-PRGBLQVH.js +2 -0
  113. package/dist/chunks/chunk-PSGGOZFM.js +2 -0
  114. package/dist/chunks/chunk-PUZQU66L.js +2 -0
  115. package/dist/chunks/{chunk-WITSXYEW.js → chunk-Q2QL6UWN.js} +1 -1
  116. package/dist/chunks/chunk-Q4TBTRIG.js +2 -0
  117. package/dist/chunks/chunk-Q5LEXXJG.js +16 -0
  118. package/dist/chunks/{chunk-YL6VFJ4P.js → chunk-QDC4OW3S.js} +1 -1
  119. package/dist/chunks/chunk-QEFHOJFE.js +7 -0
  120. package/dist/chunks/chunk-QHWGQ3A4.js +5 -0
  121. package/dist/chunks/chunk-QIKWJ2AA.js +11 -0
  122. package/dist/chunks/chunk-QNG27G3T.js +6 -0
  123. package/dist/chunks/chunk-QOGJAQDO.js +3 -0
  124. package/dist/chunks/chunk-QOTVNQDI.js +4 -0
  125. package/dist/chunks/{chunk-N3DEA6PG.js → chunk-RAXOSUSW.js} +1 -1
  126. package/dist/chunks/chunk-RNIAFXMB.js +50 -0
  127. package/dist/chunks/chunk-S5ESN275.js +42 -0
  128. package/dist/chunks/chunk-SDAUS5PY.js +2 -0
  129. package/dist/chunks/chunk-SDXFLO7J.js +5 -0
  130. package/dist/chunks/chunk-SH5CBAFC.js +2 -0
  131. package/dist/chunks/chunk-SWUEFLOH.js +2 -0
  132. package/dist/chunks/chunk-SYUKES6H.js +3 -0
  133. package/dist/chunks/chunk-T5AACNJI.js +2 -0
  134. package/dist/chunks/chunk-TRQQNFMO.js +4 -0
  135. package/dist/chunks/chunk-TVQAPBLZ.js +2 -0
  136. package/dist/chunks/chunk-UCPGRPWY.js +2 -0
  137. package/dist/chunks/chunk-UGL7WF3W.js +2 -0
  138. package/dist/chunks/chunk-UHFZHBGW.js +2 -0
  139. package/dist/chunks/chunk-UKMA4R6X.js +6 -0
  140. package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-VRIEKBBH.js} +6 -6
  141. package/dist/chunks/chunk-VYLGI3IH.js +13 -0
  142. package/dist/chunks/chunk-W45RKGM6.js +1 -0
  143. package/dist/chunks/chunk-WJ43MJ3F.js +2 -0
  144. package/dist/chunks/chunk-WMKYHXVM.js +3 -0
  145. package/dist/chunks/chunk-WN3V6KDN.js +3 -0
  146. package/dist/chunks/chunk-X4OSOOSU.js +3 -0
  147. package/dist/chunks/chunk-XDQMGUWL.js +2 -0
  148. package/dist/chunks/chunk-XTFPDQMH.js +3 -0
  149. package/dist/chunks/chunk-XVDFJ3ZF.js +2 -0
  150. package/dist/chunks/chunk-XW6HGSIT.js +8 -0
  151. package/dist/chunks/chunk-XXYGGNVM.js +2 -0
  152. package/dist/chunks/chunk-Y4OWBBDD.js +184 -0
  153. package/dist/chunks/chunk-YBT2NB32.js +2 -0
  154. package/dist/chunks/chunk-YCJO3YVD.js +10 -0
  155. package/dist/chunks/{chunk-YD55Z5H3.js → chunk-YOBN7KTF.js} +11 -11
  156. package/dist/chunks/chunk-YOQRYNLP.js +2 -0
  157. package/dist/chunks/chunk-YR5ID2SS.js +2 -0
  158. package/dist/chunks/chunk-YY7LEQGP.js +2 -0
  159. package/dist/chunks/chunk-Z4Z5UOZM.js +22 -0
  160. package/dist/chunks/chunk-Z54O534A.js +3 -0
  161. package/dist/chunks/chunk-ZCHXGRRU.js +2 -0
  162. package/dist/chunks/chunk-ZFSHBFG5.js +40 -0
  163. package/dist/chunks/chunk-ZGTOK7ZK.js +12 -0
  164. package/dist/chunks/{chunk-NAZ26IZL.js → chunk-ZRDGQDZL.js} +1 -1
  165. package/dist/chunks/chunk-ZUJ3XUCP.js +2 -0
  166. package/dist/chunks/chunk-ZZWAQBA2.js +2 -0
  167. package/dist/chunks/cli-X25RSO2X.js +2 -0
  168. package/dist/chunks/configuration-command-6C5UO7GE.js +2 -0
  169. package/dist/chunks/connected-app-executor-IVLGQP65.js +2 -0
  170. package/dist/chunks/connected-evidence-GH2ATNEX.js +2 -0
  171. package/dist/chunks/connection-HTF6CC7M.js +2 -0
  172. package/dist/chunks/{continual-PKK2BOTB.js → continual-6CQAMTTR.js} +3 -3
  173. package/dist/chunks/core-commands-A2DGGIPS.js +2 -0
  174. package/dist/chunks/datasets-7BNMVJOY.js +2 -0
  175. package/dist/chunks/desktop-test-3CUHVLXV.js +3 -0
  176. package/dist/chunks/dist-OMGUJYPD.js +2 -0
  177. package/dist/chunks/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
  178. package/dist/chunks/dist-VYC5VMQB.js +2 -0
  179. package/dist/chunks/dist-ZVJPJLXR.js +2 -0
  180. package/dist/chunks/enclave-QS4BUNDU.js +2 -0
  181. package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +2 -0
  182. package/dist/chunks/experiment-improvements-KRX2DP27.js +2 -0
  183. package/dist/chunks/experiments-DFGQYA4O.js +2 -0
  184. package/dist/chunks/experiments-VFQGE4HC.js +2 -0
  185. package/dist/chunks/extension-XKXXOP5N.js +4 -0
  186. package/dist/chunks/{help-WLKSACLZ.js → help-S7THC6IE.js} +1 -1
  187. package/dist/chunks/host-profile-evaluation-tools-JJQWJUBT.js +2 -0
  188. package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +2 -0
  189. package/dist/chunks/hosted-app-server-composition-BCOO5ANF.js +2 -0
  190. package/dist/chunks/hosted-experiment-improvement-NFSVS5TU.js +3 -0
  191. package/dist/chunks/hosted-harness-runtime-723S5ZSH.js +2 -0
  192. package/dist/chunks/hosted-profile-candidate-2S5LFUWD.js +3 -0
  193. package/dist/chunks/hosted-profile-compiler-2DQIFSXW.js +2 -0
  194. package/dist/chunks/hosted-profile-evaluation-control-76BTRTYD.js +2 -0
  195. package/dist/chunks/hosted-profile-evaluation-inspection-V6Z3A5XJ.js +3 -0
  196. package/dist/chunks/hosted-profile-evaluation-preparation-IDJYREW3.js +3 -0
  197. package/dist/chunks/hosted-tasksets-ANAE2PIW.js +2 -0
  198. package/dist/chunks/human-review-WR777ODH.js +2 -0
  199. package/dist/chunks/import-MLZUHITH.js +4 -0
  200. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
  201. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -0
  202. package/dist/chunks/learning-ACEVFL5M.js +2 -0
  203. package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +2 -0
  204. package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +2 -0
  205. package/dist/chunks/local-scope-HVF2GZ5W.js +2 -0
  206. package/dist/chunks/model-projects-QPO22JPA.js +2 -0
  207. package/dist/chunks/opchat-T4QTNEIY.js +3 -0
  208. package/dist/chunks/organizations-75L5DZDV.js +2 -0
  209. package/dist/chunks/profile-TFZMUEDR.js +3 -0
  210. package/dist/chunks/profile-training-source-6GOT7AHM.js +2 -0
  211. package/dist/chunks/project-action-payload-7VGL7OER.js +2 -0
  212. package/dist/chunks/project-agent-6RRO233B.js +2 -0
  213. package/dist/chunks/published-experiment-source-DZFENAQA.js +2 -0
  214. package/dist/chunks/refiner-profile-service-UUIWFJVT.js +2 -0
  215. package/dist/chunks/runtime-A7OZXM43.js +6 -0
  216. package/dist/chunks/sandbox-command-IU5XFTJP.js +2 -0
  217. package/dist/chunks/{sandbox-template-BBGGPJMI.js → sandbox-template-C4V6T36U.js} +1 -1
  218. package/dist/chunks/saved-work-6BMBFP43.js +2 -0
  219. package/dist/chunks/send-turn-XTAIS2JN.js +2 -0
  220. package/dist/chunks/sql-execution-process-source-B4HQM6ZV.js +2 -0
  221. package/dist/chunks/src-CJM6HY5Y.js +326 -0
  222. package/dist/chunks/{src-CR6UZYTX.js → src-LMC3K6LH.js} +1 -1
  223. package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +2 -0
  224. package/dist/chunks/store-chat-workflows-S72HZXQR.js +18 -0
  225. package/dist/chunks/store-continual-support-reviews-HHA6NX7K.js +7 -0
  226. package/dist/chunks/store-conversation-serving-KPC62UEY.js +2 -0
  227. package/dist/chunks/store-create-improve-QV54XIZW.js +40 -0
  228. package/dist/chunks/store-datasets-RXJ33SUN.js +86 -0
  229. package/dist/chunks/store-evaluation-results-3F3P527G.js +7 -0
  230. package/dist/chunks/store-harness-evaluation-review-settings-I2R3HPO3.js +29 -0
  231. package/dist/chunks/store-harness-memory-VINCZ4GK.js +17 -0
  232. package/dist/chunks/store-harness-refinement-candidates-EA5KFQPH.js +21 -0
  233. package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +2 -0
  234. package/dist/chunks/store-human-review-RAH7WMIP.js +7 -0
  235. package/dist/chunks/store-learned-preference-migration-validation-4CI2IRUF.js +2 -0
  236. package/dist/chunks/store-learning-WLG6KFIO.js +2 -0
  237. package/dist/chunks/store-learning-credentials-WZQJ4HPJ.js +2 -0
  238. package/dist/chunks/store-local-experiments-5LUJR7GI.js +97 -0
  239. package/dist/chunks/store-model-batch-review-YEGX327M.js +2 -0
  240. package/dist/chunks/store-model-configuration-5ZURQATB.js +3 -0
  241. package/dist/chunks/store-preference-comparison-LV32MHVL.js +6 -0
  242. package/dist/chunks/store-schedules-VGTEQVKH.js +53 -0
  243. package/dist/chunks/store-sidebar-file-bookmarks-VB5GTLFY.js +18 -0
  244. package/dist/chunks/store-sidebar-preferences-GWIOG2NH.js +16 -0
  245. package/dist/chunks/store-subagents-T7R2Z6TB.js +67 -0
  246. package/dist/chunks/store-task-inbox-JJTBW76C.js +33 -0
  247. package/dist/chunks/store-task-inventory-OB3F2APC.js +10 -0
  248. package/dist/chunks/store-taskset-drafts-EKQWWFYQ.js +9 -0
  249. package/dist/chunks/store-training-G6YLFSIR.js +70 -0
  250. package/dist/chunks/store-training-jobs-RC46YBF6.js +19 -0
  251. package/dist/chunks/store-training-models-6BA43IPP.js +49 -0
  252. package/dist/chunks/store-usage-IE2U2FD3.js +63 -0
  253. package/dist/chunks/store-work-evidence-QQDKM5AQ.js +8 -0
  254. package/dist/chunks/taskset-EQRFQBYM.js +2 -0
  255. package/dist/chunks/taskset-packages-XC6HEE3K.js +2 -0
  256. package/dist/chunks/{teams-bot-7I4BAUVO.js → teams-bot-EAPGPTHZ.js} +1 -1
  257. package/dist/chunks/training-UF6RPI4T.js +2 -0
  258. package/dist/chunks/web-search-CZ3NCLPY.js +2 -0
  259. package/dist/chunks/workspaces-EKKE5NAC.js +2 -0
  260. package/dist/cli.js +1 -1
  261. package/dist/index.js +1 -1
  262. package/dist/web/assets/App-CaRMZoxo.css +1 -0
  263. package/dist/web/assets/App-s-CJswyt.js +154 -0
  264. package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-t2Fx5tK3.js} +1 -1
  265. package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
  266. package/dist/web/assets/AppsView-BYE5EBDJ.js +1 -0
  267. package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-jhWi4rVm.js} +1 -1
  268. package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-C1DIx0Ia.js} +1 -1
  269. package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
  270. package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-Ux2yOHAc.js} +1 -1
  271. package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DPEeVKFn.js} +1 -1
  272. package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
  273. package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-CFHP0AaI.js} +1 -1
  274. package/dist/web/assets/HostedModelLearningReview-D8BGTPVN.js +1 -0
  275. package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
  276. package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
  277. package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BxffN-pN.js} +1 -1
  278. package/dist/web/assets/LabsRoute-CyYF8-dw.js +99 -0
  279. package/dist/web/assets/MainChatThread-DZpcFRFl.js +2 -0
  280. package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
  281. package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
  282. package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-BR4V6lNO.js} +24 -24
  283. package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
  284. package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
  285. package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-RfTZTHxl.js} +1 -1
  286. package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-Cr1Spf7S.js} +1 -1
  287. package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-CE6QUB-b.js} +1 -1
  288. package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +1 -0
  289. package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
  290. package/dist/web/assets/ScheduledWorkPage-vOrYv8pp.js +1 -0
  291. package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
  292. package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
  293. package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-Bwrjr-vk.js} +2 -2
  294. package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-DhPoKZAq.js} +1 -1
  295. package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
  296. package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
  297. package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
  298. package/dist/web/assets/{WorkSidebarPanel-DwlEMEoG.js → WorkSidebarPanel-DSSikNFQ.js} +1 -1
  299. package/dist/web/assets/WorkspaceDiffPanel-BAFo0CPN.js +14 -0
  300. package/dist/web/assets/WorkspaceEnvironmentMenu-BVHAhwnJ.js +63 -0
  301. package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
  302. package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
  303. package/dist/web/assets/arrow-up-right-C9aE8Mfz.js +1 -0
  304. package/dist/web/assets/chunk-P3BRSSRD-DUGfuKA8.js +1 -0
  305. package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-Dk158Qp4.js} +1 -1
  306. package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-k9eqBsHr.js} +1 -1
  307. package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-CO35ARZp.js} +1 -1
  308. package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-sYgceW_f.js} +1 -1
  309. package/dist/web/assets/folder-plus-CS0R49m9.js +1 -0
  310. package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
  311. package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-REMmzdfq.js} +1 -1
  312. package/dist/web/assets/index-3iPNbbER.css +1 -0
  313. package/dist/web/assets/{index-BxWTVKtn.js → index-C8aCGagb.js} +2 -2
  314. package/dist/web/assets/info-DLdbiUrh.js +1 -0
  315. package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-KEdMfkIf.js} +1 -1
  316. package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
  317. package/dist/web/assets/minimize-2-CqcI4zcM.js +1 -0
  318. package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-BJGj65F9.js} +2 -2
  319. package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-Cly9Wt7L.js} +2 -2
  320. package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-DO10L0zW.js} +2 -2
  321. package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-omszXBEj.js} +2 -2
  322. package/dist/web/assets/monitor-BFVCcbxp.js +1 -0
  323. package/dist/web/assets/play-C469pVZq.js +1 -0
  324. package/dist/web/assets/{python-PzBkTjWx.js → python-Dw0YcVy9.js} +1 -1
  325. package/dist/web/assets/{save-DpezrtH2.js → save-CtSjPydi.js} +1 -1
  326. package/dist/web/assets/square-BuImvLhT.js +1 -0
  327. package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-DjCO9lIP.js} +1 -1
  328. package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-BAOnxKd6.js} +1 -1
  329. package/dist/web/assets/{upload-C5YFNgtS.js → upload-2JkFZo3h.js} +1 -1
  330. package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.js → useLocalAgentSchedules-BNqAisfS.js} +1 -1
  331. package/dist/web/assets/useProviderSettings-C4L4wDoh.js +5 -0
  332. package/dist/web/assets/{useProviderSettings-Bw-csWbH.css → useProviderSettings-CmL_BaxP.css} +1 -1
  333. package/dist/web/assets/{useSessionTurnCache-DICuJSJW.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
  334. package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-CpOAH62M.js} +1 -1
  335. package/dist/web/assets/{workers-Dboaw6f_.js → workers-0QvlA2T5.js} +1 -1
  336. package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-BK3qxo7D.js} +1 -1
  337. package/dist/web/index.html +2 -2
  338. package/package.json +3 -3
  339. package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
  340. package/dist/chunks/app-server-runtime-7AXV6JZI.js +0 -2
  341. package/dist/chunks/apps-TM74FFQB.js +0 -2
  342. package/dist/chunks/chunk-2JO2KWT3.js +0 -5
  343. package/dist/chunks/chunk-2SPZYBDN.js +0 -16
  344. package/dist/chunks/chunk-37DXASQL.js +0 -191
  345. package/dist/chunks/chunk-4EEH7MEC.js +0 -2
  346. package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
  347. package/dist/chunks/chunk-5TNDPNS3.js +0 -2
  348. package/dist/chunks/chunk-6JAN4RMN.js +0 -42
  349. package/dist/chunks/chunk-7QEE4PBI.js +0 -8
  350. package/dist/chunks/chunk-BX4J2VDU.js +0 -2
  351. package/dist/chunks/chunk-DALJMSJG.js +0 -33
  352. package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
  353. package/dist/chunks/chunk-FPUUZQUP.js +0 -6
  354. package/dist/chunks/chunk-GCOUYYHG.js +0 -5
  355. package/dist/chunks/chunk-GS2NKNKG.js +0 -4
  356. package/dist/chunks/chunk-H2VT22JK.js +0 -2
  357. package/dist/chunks/chunk-HA7EFTPF.js +0 -23
  358. package/dist/chunks/chunk-IKWDL3RB.js +0 -17
  359. package/dist/chunks/chunk-NHFGEVVH.js +0 -518
  360. package/dist/chunks/chunk-NNF6KCHD.js +0 -3
  361. package/dist/chunks/chunk-PJM2G7SG.js +0 -21
  362. package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
  363. package/dist/chunks/chunk-PYABBF53.js +0 -53
  364. package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
  365. package/dist/chunks/chunk-QXVIIM4T.js +0 -2
  366. package/dist/chunks/chunk-SDEDAHV6.js +0 -160
  367. package/dist/chunks/chunk-TGIB24K4.js +0 -22
  368. package/dist/chunks/chunk-UE3DMPGM.js +0 -3
  369. package/dist/chunks/chunk-USKE34VR.js +0 -9
  370. package/dist/chunks/chunk-USMZT5FZ.js +0 -18
  371. package/dist/chunks/chunk-WV2APYWG.js +0 -2
  372. package/dist/chunks/chunk-YIB3J4RC.js +0 -2
  373. package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
  374. package/dist/chunks/cli-JVB345H2.js +0 -2
  375. package/dist/chunks/configuration-command-MATM4XR5.js +0 -2
  376. package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
  377. package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
  378. package/dist/chunks/datasets-CP3IT47T.js +0 -2
  379. package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
  380. package/dist/chunks/dist-4HV2W6V4.js +0 -2
  381. package/dist/chunks/dist-SAABJU5F.js +0 -2
  382. package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
  383. package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
  384. package/dist/chunks/experiments-XHPFGECH.js +0 -2
  385. package/dist/chunks/extension-GX7DLW2X.js +0 -4
  386. package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
  387. package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
  388. package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
  389. package/dist/chunks/hosted-profile-compiler-SCVJI2CP.js +0 -2
  390. package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
  391. package/dist/chunks/hosted-profile-evaluation-inspection-OC4XNGL2.js +0 -3
  392. package/dist/chunks/hosted-profile-evaluation-preparation-ZD4FM3FD.js +0 -3
  393. package/dist/chunks/human-review-AAVMISBF.js +0 -2
  394. package/dist/chunks/import-V3HUGRHR.js +0 -4
  395. package/dist/chunks/learning-FNBEIAY6.js +0 -2
  396. package/dist/chunks/opchat-QK43DXTY.js +0 -3
  397. package/dist/chunks/organizations-SRPAWKC7.js +0 -2
  398. package/dist/chunks/profile-C6CQNVYE.js +0 -3
  399. package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
  400. package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
  401. package/dist/chunks/src-NE6R4XC6.js +0 -329
  402. package/dist/chunks/taskset-LUG3ZU6J.js +0 -2
  403. package/dist/chunks/training-XHE6FVII.js +0 -2
  404. package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
  405. package/dist/web/assets/App-CO2F717V.css +0 -1
  406. package/dist/web/assets/App-CuhaCsfb.js +0 -235
  407. package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
  408. package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
  409. package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
  410. package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
  411. package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
  412. package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
  413. package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
  414. package/dist/web/assets/RightSidebarHomePanel-CeSFJM5s.js +0 -1
  415. package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
  416. package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
  417. package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
  418. package/dist/web/assets/TrainingCreationPanel-CgIBVGha.js +0 -1
  419. package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
  420. package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
  421. package/dist/web/assets/WorkspaceGitDialogs-Dgmg-6XG.js +0 -1
  422. package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
  423. package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
  424. package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
  425. package/dist/web/assets/index-dSmk3FLJ.css +0 -1
  426. package/dist/web/assets/info-Dc81lEfw.js +0 -1
  427. package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
  428. package/dist/web/assets/monitor-DXL019Wf.js +0 -1
  429. package/dist/web/assets/play-CXkxUZeU.js +0 -1
  430. package/dist/web/assets/square-oy7f5Ce6.js +0 -1
  431. package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
  432. /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
@@ -0,0 +1,184 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{C as Dt,E as Nt,G as U,H as Fe,I as Ft,J as Me,L as Wt,N as Lt,d as Ne,h as se,y as $t}from"./chunk-6ZFPQYHG.js";import{b as Ht,f as Y}from"./chunk-JFXWI3EN.js";import{a as O}from"./chunk-FFRFSDBM.js";import{A as qt,B as Ce,C as Ee,Ua as Vt,Wa as Bt,Za as Ae,_a as Te,ea as L,ha as Ot,na as zt,pa as _e,qa as D,sa as He,ta as jt,w as It,x as Pt,z as Se}from"./chunk-ACYFMLWG.js";import{i as De,j as At,k as Tt,o as Mt}from"./chunk-TVQAPBLZ.js";import{b as h,c as g,d as y,e as w,f as p,h as xe,i as A,j as ke,k as Et,l as _t,m as c,n as I}from"./chunk-KGNCKIFP.js";import{b as a}from"./chunk-ES2ISFJC.js";import{a as o}from"./chunk-FTQLQJQV.js";var We=a.object({adapterId:h,placement:a.enum(["local","remote","colocated","provider_native"]),runtimeVersion:a.string().trim().min(1).max(200),capabilityReceipt:g}).strict(),Le=a.object({maxTurns:a.number().int().positive().max(1e5),timeoutMs:a.number().int().positive().max(864e5),maxOutputBytes:a.number().int().positive().max(25e7),maximumSpendUsd:a.number().nonnegative().nullable()}).strict(),Ut=a.object({schemaVersion:a.literal("openpond.runManifest.v1"),id:h,harnessRelease:p,tasksetRelease:p,model:O,runtimeTarget:We,limits:Le,approval:a.object({id:h,contentHash:g}).strict().nullable(),createdAt:y,metadata:w}).strict(),X=Ut.extend({contentHash:g}).strict(),Ue=a.object({schemaVersion:a.literal("openpond.attemptReceipt.v1"),id:h,runManifest:p,taskId:h,seed:a.string().trim().min(1).max(500),terminal:a.boolean(),failureClass:ke.nullable(),outputHash:g.nullable(),traceHash:g,artifactRefs:a.array(A).max(1e5),graderEvidenceRefs:a.array(A).max(1e4),startedAt:y,completedAt:y,latencyMs:a.number().int().nonnegative(),costUsd:a.number().nonnegative().nullable(),legacyAttemptRef:h.nullable().default(null),metadata:w}).strict(),N=Ue.extend({contentHash:g}).strict(),Kt=a.object({schemaVersion:a.literal("openpond.evaluationResult.v1"),id:h,runManifest:p,harnessRelease:p,tasksetRelease:p,model:O,receiptRefs:a.array(p).min(1).max(1e6),attemptCount:a.number().int().positive(),rewardEligibleCount:a.number().int().nonnegative(),terminalCount:a.number().int().nonnegative(),meanScore:a.number().min(0).max(1).nullable(),failureCounts:a.record(ke,a.number().int().nonnegative()),authoredMetric:Ce.optional(),metadata:w}).strict(),sr=Kt.extend({contentHash:g}).strict(),Gt=a.object({schemaVersion:a.literal("openpond.harnessCompatibility.v1"),id:h,baseHarnessRelease:p,candidateHarnessRelease:p,tasksetRelease:p,environmentHash:g,toolContractHash:g,policyHash:g,graderInterfaceHash:g,metadata:w}).strict(),Qt=Gt.extend({contentHash:g}).strict();function oi(e){let t=Ut.parse(e);return X.parse({...t,contentHash:c(t)})}o(oi,"createRunManifest");function Ie(e){let t=Ue.parse(e);return N.parse({...t,contentHash:c(t)})}o(Ie,"createAttemptReceipt");function P(e){let t=N.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(Ue.parse(i))===r}o(P,"verifyAttemptReceipt");function Jt(e){if(!e.receipts.length)throw new Error("An evaluation requires at least one attempt receipt.");for(let n of e.receipts){if(n.runManifest.id!==e.manifest.id||n.runManifest.contentHash!==e.manifest.contentHash)throw new Error(`Attempt receipt ${n.id} belongs to a different Run Manifest.`);if(!P(n))throw new Error(`Attempt receipt ${n.id} has an invalid content hash.`)}if(e.authoredMetric){Ee(e.authoredMetric);let n=e.authoredMetric;if(n.runManifest.id!==e.manifest.id||n.runManifest.contentHash!==e.manifest.contentHash||c(n.tasksetRelease)!==c(e.manifest.tasksetRelease)||c(n.receiptRefs)!==c(e.receipts.map(({id:s,contentHash:m})=>({id:s,contentHash:m}))))throw new Error("Authored metric does not describe this evaluation's exact manifest and receipts.")}let t=e.receipts.flatMap(n=>typeof n.metadata.score=="number"&&Number.isFinite(n.metadata.score)?[n.metadata.score]:[]),r=Object.fromEntries(ke.options.map(n=>[n,e.receipts.filter(s=>s.failureClass===n).length])),i=Kt.parse({schemaVersion:"openpond.evaluationResult.v1",id:e.id,runManifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},harnessRelease:e.manifest.harnessRelease,tasksetRelease:e.manifest.tasksetRelease,model:e.manifest.model,receiptRefs:e.receipts.map(n=>({id:n.id,contentHash:n.contentHash})),attemptCount:e.receipts.length,rewardEligibleCount:e.receipts.filter(n=>n.metadata.rewardEligible===!0&&n.failureClass!=="infrastructure_failure").length,terminalCount:e.receipts.filter(n=>n.terminal).length,meanScore:t.length?t.reduce((n,s)=>n+s,0)/t.length:null,failureCounts:r,...e.authoredMetric?{authoredMetric:e.authoredMetric}:{},metadata:e.metadata??{}});return sr.parse({...i,contentHash:c(i)})}o(Jt,"aggregateEvaluationReceipts");function Zt(e){let t=Gt.parse(e);return Qt.parse({...t,contentHash:c(t)})}o(Zt,"createHarnessCompatibilityReceipt");function Ke(e,t,r){if(e.tasksetRelease.contentHash!==t.tasksetRelease.contentHash)throw new Error("Evaluation runs use different Taskset Releases.");if(e.harnessRelease.contentHash===t.harnessRelease.contentHash)return;if(!r)throw new Error("Evaluation runs use different Harness Releases without a compatibility receipt.");let i=Qt.parse(r);if(I(i,"Harness compatibility receipt"),i.baseHarnessRelease.contentHash!==e.harnessRelease.contentHash||i.candidateHarnessRelease.contentHash!==t.harnessRelease.contentHash||i.tasksetRelease.contentHash!==e.tasksetRelease.contentHash)throw new Error("Harness compatibility receipt does not match the compared runs.")}o(Ke,"assertComparableRunManifests");function ci(e){return e.filter(t=>t.terminal&&t.failureClass!=="infrastructure_failure"&&t.failureClass!=="timeout"&&t.failureClass!=="cancelled"&&t.metadata.rewardEligible===!0&&typeof t.metadata.score=="number")}o(ci,"rewardEligibleReceipts");function hi(e){let t=De.parse(e.baseHarnessRelease),r=De.parse(e.candidateHarnessRelease),i=D.parse(e.tasksetRelease);I(t,"Base Harness release"),I(r,"Candidate Harness release"),I(i,"Taskset release"),Ge("lifecycle",t.lifecycle,r.lifecycle),Ge("tool",t.tools,r.tools),Ge("grader interface",t.graderInterface,r.graderInterface);let n=new Set(i.tools.map(m=>m.name)),s=t.tools.map(m=>m.name).filter(m=>!n.has(m));if(s.length)throw new Error(`Harness compatibility failed: Taskset Environment does not provide ${s.join(", ")}.`);return Zt({schemaVersion:"openpond.harnessCompatibility.v1",id:e.id,baseHarnessRelease:{id:t.id,contentHash:t.contentHash},candidateHarnessRelease:{id:r.id,contentHash:r.contentHash},tasksetRelease:{id:i.id,contentHash:i.contentHash},environmentHash:c(i.environment),toolContractHash:c(i.tools),policyHash:c(i.policy),graderInterfaceHash:c({harness:t.graderInterface,taskset:i.graders}),metadata:e.metadata??{}})}o(hi,"createVerifiedHarnessCompatibilityReceipt");function Ge(e,t,r){if(c(t)!==c(r))throw new Error(`Harness compatibility failed: ${e} contract changed.`)}o(Ge,"requireSameContract");var or=D.parse({capabilities:[{id:"filesystem.workspace",portability:"host_adapter",required:!0,scopes:["inputs:read","work:read-write","outputs:write"]},{id:"network.web-read",portability:"host_adapter",required:!0,scopes:["search","fetch"]},{id:"artifact.pdf",portability:"host_adapter",required:!0,scopes:["create","render","inspect"]},{id:"artifact.spreadsheet",portability:"host_adapter",required:!0,scopes:["create","calculate","inspect"]}],contentHash:"20e247cec268ecb6380bc7af204abc9056f7eaa90e1e85aa5e11544f2506888d",environment:{defaultTimeoutMs:9e5,deterministicSeeds:!1,entrypoint:"openpond-work-v1",kind:"work",lifecycle:["create","reset","step","collect","destroy"],networkPolicy:"declared_read_only",protocolVersion:"openpond.environment.v1",stateful:!0},graders:[{hardGate:!0,id:"task-output-contract",kind:"custom_verifier",networkPolicy:"none",privileged:!0,rewardEligible:!0,timeoutMs:3e4,verifierRef:{contentHash:"31cda791adf4e55131ee49651431432b429f1404dbc4fa610a3fe1466574f270",id:"verifiers-taskset-output-verifier-mjs",mediaType:"text/javascript",path:"verifiers/taskset-output-verifier.mjs",sizeBytes:2994,visibility:"verifier"},version:"1",weight:1}],id:"harness-refiner-20260818-v2",metadata:{adaptationSplit:"validation",benchmark:"harness-refiner",frozenEvaluationSplit:"frozen_eval",modelJudgeRole:"supplementary_uncalibrated_not_executed",orderSeed:"harness-refiner-20260818-order-v1",primaryMetric:"paired_verified_reward",protocolVersion:"3",qualityPolicy:"complete_frozen_cohort",refinementMode:"sequential_product_lifecycle",resultSchemaVersion:"openpond.harnessRefinerPublicResult.v2",secondaryMetrics:["paired_foreground_provider_tokens"],supplementaryModelJudge:{calibrationStatus:"pending",executable:!1,id:"task-quality-judge",rewardEligible:!1,rubricRef:{contentHash:"455b3697c0617333a34b6521f167760fb8ae7e286059fa2ec327a5c97e66a2b3",id:"rubrics-task-quality-md",mediaType:"text/markdown",path:"rubrics/task-quality.md",sizeBytes:1496,visibility:"verifier"},version:"1"},toolDeclarationSource:"openpond-production-model-tool-definitions",trainingSideEffect:!1},policy:{connectedAppScopes:[],hiddenGraderRefs:["rubrics-task-quality-md","verifiers-taskset-output-verifier-mjs"],policyVisibleFields:["input"],privilegedFields:["expectedOutput"]},revision:2,schemaVersion:"openpond.tasksetRelease.v2",tasks:[{artifactRefs:[{contentHash:"8879f8e31a916f165724a3c3e3e57db5baa858cd170ac6799064aa49bc623aa4",id:"fixtures-adaptation-board-launch-md",mediaType:"text/markdown",path:"fixtures/adaptation-board-launch.md",sizeBytes:642,visibility:"policy"}],clusterKey:"northstar-launch-packet",expectedOutput:{deliverable:"pdf",deterministicContract:{},mustInclude:["three decision options","owners and dates","confirmed facts","open legal and finance gates"],mustNot:["present an open gate as approved","invent a recommended decision"],validation:["structural","visual"]},id:"adaptation-board-launch-brief",input:{attachments:["adaptation-board-launch.md"],prompt:"Please turn the attached Northstar launch packet into a polished two-page PDF decision brief for the executive meeting. Make the three options, owners, dates, confirmed facts, open gates, and risks easy to scan. The source records no final choice, so do not select, recommend, or imply a preferred option. Visually check the finished PDF before you send it back."},policyVisibleContext:{attachmentCount:1},privilegedContextRef:"expected-adaptation-board-launch-brief",requiredOutputs:[{maxBytes:1e7,mediaType:"application/pdf",metadata:{validationKinds:["structural","visual"]},path:"adaptation-board-launch-brief.pdf",schemaRef:null}],split:"validation",tags:["artifact-verification","decision-brief","adaptation"]},{artifactRefs:[{contentHash:"a3d44bb123a242d78d0f60d4d8ad352e499bef677eaf816a19d07359a172743f",id:"fixtures-adaptation-latency-incident-md",mediaType:"text/markdown",path:"fixtures/adaptation-latency-incident.md",sizeBytes:733,visibility:"policy"}],clusterKey:"checkout-latency-incident-packet",expectedOutput:{deliverable:"pdf",deterministicContract:{},mustInclude:["incident window","confirmed impact","recovery","hypotheses labeled as hypotheses","unknowns","follow-up owners"],mustNot:["state either hypothesis as root cause","claim unresolved carts were recovered"],validation:["structural","visual"]},id:"adaptation-latency-incident-review",input:{attachments:["adaptation-latency-incident.md"],prompt:"Create a concise PDF incident review from the attached checkout latency packet. Clearly separate confirmed observations, recovery actions, hypotheses, unknowns, customer impact, and follow-up owners. Check that the rendered PDF is readable and complete."},policyVisibleContext:{attachmentCount:1},privilegedContextRef:"expected-adaptation-latency-incident-review",requiredOutputs:[{maxBytes:1e7,mediaType:"application/pdf",metadata:{validationKinds:["structural","visual"]},path:"adaptation-latency-incident-review.pdf",schemaRef:null}],split:"validation",tags:["artifact-verification","incident-review","adaptation"]},{artifactRefs:[{contentHash:"63bca96753ae1491a45ba13e1a06cfb48973cfbe4f392e8f181e7b9648fd9db4",id:"fixtures-adaptation-program-budget-md",mediaType:"text/markdown",path:"fixtures/adaptation-program-budget.md",sizeBytes:649,visibility:"policy"}],clusterKey:"harbor-program-budget-packet",expectedOutput:{deliverable:"spreadsheet",deterministicContract:{},mustInclude:["summary sheet","detail sheet","formula-driven full-year forecast","formula-driven variance","owner column","overrun flag"],mustNot:["replace formulas with typed totals","reverse the variance sign"],validation:["structural","test"]},id:"adaptation-program-budget-workbook",input:{attachments:["adaptation-program-budget.md"],prompt:"Build an Excel workbook from the attached Harbor youth program budget. Include a one-page summary and a detail sheet with formulas for full-year forecast and variance, clearly flag forecast overruns, preserve the listed owners, and verify the calculations before returning it."},policyVisibleContext:{attachmentCount:1},privilegedContextRef:"expected-adaptation-program-budget-workbook",requiredOutputs:[{maxBytes:1e7,mediaType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",metadata:{validationKinds:["structural","test"]},path:"adaptation-program-budget-workbook.xlsx",schemaRef:null}],split:"validation",tags:["artifact-verification","spreadsheet","adaptation"]},{artifactRefs:[],clusterKey:"northwind-invoice-correction-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["intentional error","deliberate error"],maxWords:130,requiredAny:[["no payment","not due"]],requiredText:["inv-1842","120","102","august 14","accounts@example.com"],requireMessageBody:!0},mustInclude:["complete send-ready message copy","INV-1842","120 seats instead of 102","August 14","no payment due until corrected","accounts@example.com"],mustNot:["suggest the error was intentional","exceed 130 words","return only a checklist or file path instead of the message"],validation:[]},id:"adaptation-invoice-correction-email",input:{attachments:[],prompt:"Draft a courteous email to Northwind Labs explaining that invoice INV-1842 incorrectly lists 120 seats instead of 102. A corrected invoice will arrive by August 14, no payment is due until it arrives, and billing questions should go to accounts@example.com. Keep it under 130 words and do not suggest the error was intentional."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-invoice-correction-email",requiredOutputs:[],split:"validation",tags:["constraint-following","direct-deliverable","communication","adaptation"]},{artifactRefs:[],clusterKey:"nextjs-security-current-sources",expectedOutput:{deliverable:"report",deterministicContract:{minLinks:1,requiredAny:[["affected"],["fixed","patched"],["checked","as of"],["version and configuration","version or configuration","exact version"]]},mustInclude:["official advisory links","affected and fixed versions","date checked","limits on exposure inference"],mustNot:["declare exposure without project version and configuration","use an uncited vulnerability list"],validation:[]},id:"adaptation-nextjs-security-audit",input:{attachments:[],prompt:"Audit the currently supported Next.js release lines for security advisories published in the last twelve months. Use primary sources, explain which versions are affected and fixed, avoid inferring that a project is vulnerable without its exact version and configuration, and give me a concise linked report with the date checked."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-nextjs-security-audit",requiredOutputs:[],split:"validation",tags:["research-efficiency","primary-sources","security","adaptation"]},{artifactRefs:[],clusterKey:"juniper-workshop-reschedule-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["venue caused","venue's fault"],maxWords:120,requiredAny:[["facilitator","presenter"],["registration","registrations"]],requiredText:["september 10","2:00","et","recording","events@example.com"],requireMessageBody:!0},mustInclude:["complete send-ready message copy","September 10","2:00 p.m. ET","facilitator unavailable","registrations carry over","recording","events@example.com"],mustNot:["blame the venue","exceed 120 words","return only a checklist or file path instead of the message"],validation:[]},id:"adaptation-workshop-reschedule-email",input:{attachments:[],prompt:"Draft a warm email to Juniper workshop registrants explaining that the September 3 session is moving to September 10 at 2:00 p.m. ET because the facilitator is unavailable. Existing registrations carry over, a recording will be shared, and questions should go to events@example.com. Keep it under 120 words and do not imply the venue caused the change."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-workshop-reschedule-email",requiredOutputs:[],split:"validation",tags:["constraint-following","direct-deliverable","communication","adaptation"]},{artifactRefs:[],clusterKey:"boston-dc-accessibility-sources",expectedOutput:{deliverable:"report",deterministicContract:{minLinks:1,requiredAny:[["wheelchair","accessible","accessibility"],["outbound"],["return"],["disruption","service alert"],["checked","as of"],["confirm","confirmation"]],requiredText:["september 17","september 19"]},mustInclude:["official operator sources","outbound and return plan","accessibility details","disruption check","time checked","items needing confirmation"],mustNot:["guarantee availability not confirmed by booking","hide access limitations"],validation:[]},id:"adaptation-accessible-boston-dc-plan",input:{attachments:[],prompt:"Plan a wheelchair-accessible train trip from Boston to Washington, DC for September 17, 2026, returning September 19. Verify accessibility and disruption information from official sources, distinguish facts from anything that still needs confirmation, include direct links and the time checked, and keep the answer practical and concise."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-accessible-boston-dc-plan",requiredOutputs:[],split:"validation",tags:["research-efficiency","current-information","travel","adaptation"]},{artifactRefs:[],clusterKey:"chatgpt-x-reddit-public-sample",expectedOutput:{deliverable:"report",deterministicContract:{minLinks:1,requiredAny:[["positive"],["negative"],["anecdote","anecdotal"],["pattern","recurring"],["sampling","sample"],["limitation","access"]]},mustInclude:["links to public examples","dates","positive experiences","negative experiences","pattern versus anecdote","sampling limitations"],mustNot:["post or interact","represent a convenience sample as representative sentiment"],validation:[]},id:"adaptation-chatgpt-public-experiences",input:{attachments:[],prompt:"Research what people have publicly said about using ChatGPT on X and Reddit during the last thirty days. Give me a concise, linked summary of recurring positive and negative experiences, separate patterns from anecdotes, include dates, and explain any platform-access or sampling limitations. Do not post or interact with anyone."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-chatgpt-public-experiences",requiredOutputs:[],split:"validation",tags:["research-efficiency","current-information","social-research","adaptation"]},{artifactRefs:[],clusterKey:"acme-launch-delay-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["testing failed","test failed","compensation"],maxWords:140,requiredAny:[["accessibility testing","accessibility test"],["pilot access"]],requiredText:["august 27","august 22","pilot-support@example.com"],requireMessageBody:!0},mustInclude:["complete send-ready message copy","August 27","accessibility testing incomplete","August 22 expectation","pilot access remains","support email"],mustNot:["say testing failed","exceed 140 words","invent compensation","return only a checklist or file path instead of the message"],validation:[]},id:"adaptation-launch-delay-email",input:{attachments:[],prompt:"Draft a calm email to the Acme pilot customers explaining that the August 20 launch is moving to August 27 because final accessibility testing is not complete. Testing is expected to finish August 22, existing pilot access remains available, and questions should go to pilot-support@example.com. Keep it under 140 words and do not imply the test has failed."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-launch-delay-email",requiredOutputs:[],split:"validation",tags:["constraint-following","direct-deliverable","communication","adaptation"]},{artifactRefs:[],clusterKey:"cirrus-service-window-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["zero interruption","no interruption"],maxWords:125,requiredAny:[["read-only","read only"],["alerts"],["no data loss"]],requiredText:["august 18","1:00","2:00","utc","status.example.com"],requireMessageBody:!0},mustInclude:["complete send-ready message copy","August 18","1:00 to 2:00 UTC","dashboard read-only","alerts continue","no data loss expected","status.example.com"],mustNot:["promise zero interruption","exceed 125 words","return only a checklist or file path instead of the message"],validation:[]},id:"adaptation-service-window-email",input:{attachments:[],prompt:"Draft a calm email to Cirrus customers about planned maintenance on August 18 from 1:00 to 2:00 UTC. The dashboard will be read-only, alerts will continue, no data loss is expected, and updates will appear at status.example.com. Keep it under 125 words and do not promise that there will be zero interruption."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-adaptation-service-window-email",requiredOutputs:[],split:"validation",tags:["constraint-following","direct-deliverable","communication","adaptation"]},{artifactRefs:[{contentHash:"cb3aec594b140129ebd872c427053ba63a303cc36d160448afc9ed1a0289d3ca",id:"fixtures-frozen-clinic-relocation-md",mediaType:"text/markdown",path:"fixtures/frozen-clinic-relocation.md",sizeBytes:652,visibility:"policy"}],clusterKey:"riverside-clinic-relocation-packet",expectedOutput:{deliverable:"pdf",deterministicContract:{},mustInclude:["three opening options","owners and dates","confirmed facts","permit and parking gates","delivery risk"],mustNot:["present either approval as complete","invent a chosen opening option"],validation:["structural","visual"]},id:"frozen-clinic-relocation-brief",input:{attachments:["frozen-clinic-relocation.md"],prompt:"Please turn the attached Riverside clinic relocation packet into a polished two-page PDF decision brief. Make the opening options, owners, dates, confirmed facts, unresolved approvals, and delivery risk easy to scan, and visually check the finished PDF before returning it."},policyVisibleContext:{attachmentCount:1},privilegedContextRef:"expected-frozen-clinic-relocation-brief",requiredOutputs:[{maxBytes:1e7,mediaType:"application/pdf",metadata:{validationKinds:["structural","visual"]},path:"frozen-clinic-relocation-brief.pdf",schemaRef:null}],split:"frozen_eval",tags:["artifact-verification","decision-brief","frozen-eval"]},{artifactRefs:[{contentHash:"80aad04ac67682165f098884fd1a86e9fb3ef15d2da3124401308dd23884b612",id:"fixtures-frozen-payment-incident-md",mediaType:"text/markdown",path:"fixtures/frozen-payment-incident.md",sizeBytes:672,visibility:"policy"}],clusterKey:"subscription-renewal-incident-packet",expectedOutput:{deliverable:"pdf",deterministicContract:{},mustInclude:["incident window","attempt and timeout counts","recovery","hypothesis label","33 unresolved accounts","follow-up owners"],mustNot:["state the certificate hypothesis as confirmed","claim all accounts resolved"],validation:["structural","visual"]},id:"frozen-payment-incident-review",input:{attachments:["frozen-payment-incident.md"],prompt:"Create a concise PDF incident review from the attached subscription renewal incident packet. Separate confirmed impact and recovery from the root-cause hypothesis and unresolved customer accounts, preserve the owners, and check the rendered PDF for readability and completeness."},policyVisibleContext:{attachmentCount:1},privilegedContextRef:"expected-frozen-payment-incident-review",requiredOutputs:[{maxBytes:1e7,mediaType:"application/pdf",metadata:{validationKinds:["structural","visual"]},path:"frozen-payment-incident-review.pdf",schemaRef:null}],split:"frozen_eval",tags:["artifact-verification","incident-review","frozen-eval"]},{artifactRefs:[{contentHash:"c58b740d57b031cfe22d475d30b39a1a49a43820f1840a1d8054731cef58c8e8",id:"fixtures-frozen-grant-budget-md",mediaType:"text/markdown",path:"fixtures/frozen-grant-budget.md",sizeBytes:661,visibility:"policy"}],clusterKey:"greenway-grant-budget-packet",expectedOutput:{deliverable:"spreadsheet",deterministicContract:{},mustInclude:["summary sheet","detail sheet","formula-driven full-year forecast","formula-driven variance","owner column","overrun flag"],mustNot:["replace formulas with typed totals","reverse the variance sign"],validation:["structural","test"]},id:"frozen-grant-budget-workbook",input:{attachments:["frozen-grant-budget.md"],prompt:"Build an Excel workbook from the attached Greenway community grant budget. Include a one-page summary and detail sheet with formulas for full-year forecast and variance, flag forecast overruns, preserve owners, and verify all calculations before returning it."},policyVisibleContext:{attachmentCount:1},privilegedContextRef:"expected-frozen-grant-budget-workbook",requiredOutputs:[{maxBytes:1e7,mediaType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",metadata:{validationKinds:["structural","test"]},path:"frozen-grant-budget-workbook.xlsx",schemaRef:null}],split:"frozen_eval",tags:["artifact-verification","spreadsheet","frozen-eval"]},{artifactRefs:[],clusterKey:"beacon-shipping-delay-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["equipment is lost","shipment is lost"],maxWords:90,requiredAny:[["transfer window"],["installation","crew"]],requiredText:["august 21","august 22","morgan","logistics"],requireMessageBody:!0},mustInclude:["complete ready-to-post message copy","August 21","carrier missed transfer window","August 22 installation","Morgan","logistics channel"],mustNot:["say the equipment is lost","exceed 90 words","return only a checklist or file path instead of the message"],validation:[]},id:"frozen-shipping-delay-chat-message",input:{attachments:[],prompt:"Write a concise team chat message explaining that the Beacon equipment shipment is now expected August 21 instead of August 19 because the carrier missed its transfer window. The installation crew remains booked for August 22, Morgan owns the carrier follow-up, and the team should flag conflicts in the logistics channel. Keep it under 90 words and do not say the equipment is lost."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-shipping-delay-chat-message",requiredOutputs:[],split:"frozen_eval",tags:["constraint-following","direct-deliverable","communication","frozen-eval"]},{artifactRefs:[],clusterKey:"python-requests-security-current-sources",expectedOutput:{deliverable:"report",deterministicContract:{minLinks:1,requiredAny:[["affected"],["fixed","patched"],["checked","as of"],["dependency graph","exact dependency","usage"]]},mustInclude:["primary advisory links","affected and fixed versions","date checked","dependency and usage caveat"],mustNot:["declare deployment exposure without evidence","use an uncited vulnerability list"],validation:[]},id:"frozen-python-requests-security-audit",input:{attachments:[],prompt:"Audit the supported Python Requests release lines for security advisories published in the last eighteen months. Use primary sources, identify affected and fixed versions, avoid claiming a specific deployment is exposed without its exact dependency graph and usage, and provide a concise linked report with the date checked."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-python-requests-security-audit",requiredOutputs:[],split:"frozen_eval",tags:["research-efficiency","primary-sources","security","frozen-eval"]},{artifactRefs:[],clusterKey:"cobalt-refund-support-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["refund is approved","refund has been approved"],maxWords:110,requiredAny:[["original payment method"],["duplicate","charge"]],requiredText:["$48","august 16","five business days","cb-7714"],requireMessageBody:!0},mustInclude:["complete send-ready reply copy","$48 duplicate charge","August 16","original payment method","five business days","CB-7714"],mustNot:["state the refund is already approved","exceed 110 words","return only a checklist or file path instead of the message"],validation:[]},id:"frozen-refund-support-reply",input:{attachments:[],prompt:"Write a helpful support reply to a Cobalt customer whose duplicate $48 charge is being reviewed. The review should finish by August 16, any confirmed duplicate will be refunded to the original payment method within five business days, and the case number is CB-7714. Keep it under 110 words and do not state that the refund has already been approved."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-refund-support-reply",requiredOutputs:[],split:"frozen_eval",tags:["constraint-following","direct-deliverable","communication","frozen-eval"]},{artifactRefs:[],clusterKey:"chicago-stl-accessibility-sources",expectedOutput:{deliverable:"report",deterministicContract:{minLinks:1,requiredAny:[["wheelchair","accessible","accessibility"],["outbound"],["return"],["disruption","service alert"],["checked","as of"],["confirm","confirmation"]],requiredText:["october 8","october 10"]},mustInclude:["official operator sources","outbound and return plan","accessibility details","disruption check","time checked","items needing confirmation"],mustNot:["guarantee unconfirmed availability","hide access limitations"],validation:[]},id:"frozen-accessible-chicago-stl-plan",input:{attachments:[],prompt:"Plan a wheelchair-accessible train trip from Chicago to St. Louis for October 8, 2026, returning October 10. Verify accessibility and disruption information from official sources, distinguish confirmed facts from anything requiring booking confirmation, include direct links and the time checked, and keep it practical."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-accessible-chicago-stl-plan",requiredOutputs:[],split:"frozen_eval",tags:["research-efficiency","current-information","travel","frozen-eval"]},{artifactRefs:[],clusterKey:"new-jersey-youth-grant-sources",expectedOutput:{deliverable:"report",deterministicContract:{minLinks:1,requiredAny:[["new jersey","nj"],["eligibility","eligible"],["deadline","due"],["checked","as of"]]},mustInclude:["authoritative source links","eligibility evidence","deadlines","date checked","only realistic matches"],mustNot:["include closed grants","include grants without verified nonprofit and program eligibility","pad the list"],validation:[]},id:"frozen-new-jersey-youth-grants",input:{attachments:[],prompt:"Find currently open grants that a New Jersey nonprofit running after-school programs could realistically apply for, with deadlines between now and December 31, 2026. Use authoritative sources, link each opportunity, verify eligibility and deadline, omit weak matches instead of padding the list, and state when you checked."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-new-jersey-youth-grants",requiredOutputs:[],split:"frozen_eval",tags:["research-efficiency","current-information","funding","frozen-eval"]},{artifactRefs:[],clusterKey:"maple-maintenance-followup-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["sue","lawsuit","legal action"],maxWords:130,requiredAny:[["repair date","repair schedule"]],requiredText:["july 28","august 1","security","two business days"],requireMessageBody:!0},mustInclude:["complete send-ready message copy","July 28","August 1 inspection","security concern","repair date within two business days"],mustNot:["make a legal threat","claim facts not supplied","exceed 130 words","return only a checklist or file path instead of the message"],validation:[]},id:"frozen-maintenance-followup-email",input:{attachments:[],prompt:"Draft a firm but courteous email to Maple Property Management following up on a bedroom window that has not closed securely since July 28. Maintenance inspected it August 1 but did not repair it. Ask for a repair date within two business days, mention the security concern, and keep the email under 130 words without making legal threats."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-maintenance-followup-email",requiredOutputs:[],split:"frozen_eval",tags:["constraint-following","direct-deliverable","communication","frozen-eval"]},{artifactRefs:[],clusterKey:"meridian-vendor-document-message",expectedOutput:{deliverable:"message",deterministicContract:{forbiddenText:["cancel the contract","contract cancellation"],maxWords:120,requiredAny:[["onboarding","cannot finish","blocked"]],requiredText:["insurance certificate","august 7","rosa","august 12"],requireMessageBody:!0},mustInclude:["complete send-ready message copy","insurance certificate","August 7","onboarding blocked","Rosa","August 12"],mustNot:["threaten contract cancellation","exceed 120 words","return only a checklist or file path instead of the message"],validation:[]},id:"frozen-vendor-document-followup-email",input:{attachments:[],prompt:"Draft a firm but professional email to Meridian Freight following up on the insurance certificate promised for August 7. It has not arrived, carrier onboarding cannot finish without it, and Rosa needs the document or a confirmed delivery date by August 12. Keep it under 120 words and do not threaten to cancel the contract."},policyVisibleContext:{attachmentCount:0},privilegedContextRef:"expected-frozen-vendor-document-followup-email",requiredOutputs:[],split:"frozen_eval",tags:["constraint-following","direct-deliverable","communication","frozen-eval"]}],tools:[{description:"Start Work compute only when it is needed, then return live sandbox status and the stable /workspace/inputs, /workspace/work, and /workspace/outputs layout.",inputSchema:{additionalProperties:!1,properties:{},type:"object"},inputSchemaHash:"042b35e50dd5dd505f0228e829f17a8aeaae50e49d865c4754cf9ba1edba9bd0",name:"work_environment",sideEffect:"write",timeoutMs:12e4},{description:"List files in the Work scratch, input, or completed-output area. This lazily starts Work compute.",inputSchema:{additionalProperties:!1,properties:{area:{enum:["inputs","work","outputs"],type:"string"},path:{description:"Optional relative path inside the selected area.",type:"string"},recursive:{type:"boolean"}},required:["area"],type:"object"},inputSchemaHash:"a3a68e8aeb4f23710aa21fe95d4a361a14c08bcbb61a2a959a60b7b00c82807f",name:"work_list_files",sideEffect:"read",timeoutMs:12e4},{description:"Read a bounded file from Work inputs, scratch space, or completed-output candidates.",inputSchema:{additionalProperties:!1,properties:{area:{enum:["inputs","work","outputs"],type:"string"},maxBytes:{maximum:1e6,minimum:1,type:"integer"},path:{minLength:1,type:"string"}},required:["area","path"],type:"object"},inputSchemaHash:"deb9cd248f2734751286054c381ac9572b248370181970ced6563a73c905a4f0",name:"work_read_file",sideEffect:"read",timeoutMs:12e4},{description:"Write a UTF-8 Work scratch file or completed-output candidate. Use area=outputs only for a finished result that is ready to validate and save.",inputSchema:{additionalProperties:!1,properties:{area:{enum:["work","outputs"],type:"string"},content:{type:"string"},path:{minLength:1,type:"string"}},required:["area","path","content"],type:"object"},inputSchemaHash:"6a19df98686e99a324564006b0b92082f185ac4b430e9285829f781251dd145b",name:"work_write_file",sideEffect:"write",timeoutMs:12e4},{description:"Edit a Work scratch file or output candidate by exact text replacement after reading it.",inputSchema:{additionalProperties:!1,properties:{area:{enum:["work","outputs"],type:"string"},newText:{type:"string"},oldText:{minLength:1,type:"string"},path:{minLength:1,type:"string"},replaceAll:{type:"boolean"}},required:["area","path","oldText","newText"],type:"object"},inputSchemaHash:"f507d9d9abbd8cf1556f6e925c159234295c3fa01800c5556767f96be8b011db",name:"work_edit_file",sideEffect:"write",timeoutMs:12e4},{description:"Run a bounded shell command from /workspace/work. Write finished deliverables to ../outputs and inspect them; the runtime preserves output files automatically when the turn ends.",inputSchema:{additionalProperties:!1,properties:{command:{minLength:1,type:"string"},timeoutSeconds:{maximum:3600,minimum:1,type:"integer"}},required:["command"],type:"object"},inputSchemaHash:"5ba3a52cddb3f575218bed855020e91eef14092d75922c963a24c6bc97fadeda",name:"work_exec",sideEffect:"write",timeoutMs:3e5},{description:"Explicitly copy one completed file from /workspace/outputs to durable OpenPond output storage before turn completion. Normal Work turns preserve output files automatically.",inputSchema:{additionalProperties:!1,properties:{path:{description:"Path relative to /workspace/outputs, for example report.md.",minLength:1,type:"string"},suggestedName:{maxLength:180,minLength:1,type:"string"},validation:{items:{additionalProperties:!1,properties:{detail:{maxLength:4e3,type:"string"},kind:{enum:["structural","visual","test","user_review"],type:"string"},label:{maxLength:240,minLength:1,type:"string"},ref:{maxLength:4096,type:"string"},status:{enum:["passed","failed","not_run"],type:"string"}},required:["kind","status","label"],type:"object"},maxItems:32,type:"array"}},required:["path"],type:"object"},inputSchemaHash:"ca853f64b300c74441b522db03facbcc9c5bb89c86189dae24182bab39510a83",name:"work_save_output",sideEffect:"write",timeoutMs:12e4},{description:"Stop Work compute after durable outputs have been saved. Saved OutputRefs remain available.",inputSchema:{additionalProperties:!1,properties:{},type:"object"},inputSchemaHash:"042b35e50dd5dd505f0228e829f17a8aeaae50e49d865c4754cf9ba1edba9bd0",name:"work_stop",sideEffect:"write",timeoutMs:12e4},{description:"Search the web for current or external information. The app renders clickable source pills automatically. Cite by source title or source name in prose by default; when the user explicitly requests URLs or linked evidence, use the result URLs in clickable Markdown links.",inputSchema:{additionalProperties:!1,properties:{domains:{description:"Optional domain filters.",items:{type:"string"},maxItems:10,type:"array"},limit:{description:"Maximum number of results to return.",maximum:10,minimum:1,type:"integer"},query:{description:"Search query.",minLength:1,type:"string"},recencyDays:{description:"Only return results from this many recent days when supported.",minimum:0,type:"integer"}},required:["query"],type:"object"},inputSchemaHash:"2a138bf9b526a624ac2442669fccb277fac2ba818821b3a2da1dd27d62954056",name:"web_search",sideEffect:"read",timeoutMs:12e4},{description:"Fetch and extract readable text from a known HTTP(S) URL. Use this when the user provides a URL or a search result has an exact page to inspect; use web_search when discovering unknown pages by query.",inputSchema:{additionalProperties:!1,properties:{maxBytes:{description:"Maximum UTF-8 bytes of extracted text to return. Defaults to 20000.",maximum:1e5,minimum:1,type:"integer"},url:{description:"HTTP or HTTPS URL to fetch.",minLength:1,type:"string"}},required:["url"],type:"object"},inputSchemaHash:"0afe31d8dbe05643e4a19ca0897c606e379f37d741b4f61816ad8ba4d48b61b3",name:"web_fetch",sideEffect:"read",timeoutMs:12e4}]}),cr=Object.freeze({"fixtures/adaptation-board-launch.md":`# Northstar launch decision packet
3
+
4
+ - Decision meeting: August 18, 2026 at 2:00 PM America/New_York.
5
+ - Proposed launch: September 14, 2026.
6
+ - Executive owner: Maya Chen.
7
+ - Engineering owner: Rafael Ortiz.
8
+ - Confirmed: the API load test passed at 2.4x expected peak traffic.
9
+ - Confirmed: support coverage is staffed for launch week.
10
+ - Open gate: Legal has not approved the updated data-processing addendum.
11
+ - Open gate: Finance has not approved the final annual-plan price.
12
+ - Risk: the Android store review may take between three and seven business days.
13
+ - Decision requested: launch on September 14, delay one week, or run a web-only launch.
14
+ `,"fixtures/adaptation-latency-incident.md":`# Checkout latency incident packet
15
+
16
+ - Incident window: August 7, 2026, 09:42\u201310:31 UTC.
17
+ - Confirmed: p95 checkout latency rose from 780 ms to 4.8 seconds.
18
+ - Confirmed: 3.1% of checkout attempts returned HTTP 504.
19
+ - Confirmed: the database connection pool reached its configured ceiling.
20
+ - Confirmed recovery: increasing the pool ceiling and recycling two workers restored service.
21
+ - Hypothesis: a reporting query introduced in release 2026.08.07 increased lock contention.
22
+ - Hypothesis: a regional network event amplified connection churn.
23
+ - Unknown: whether abandoned carts were later recovered.
24
+ - Incident commander: Priya Shah.
25
+ - Follow-up owners: Database\u2014Noah Williams; Reporting\u2014Elena Garc\xEDa; Customer impact\u2014Sam Lee.
26
+ `,"fixtures/adaptation-program-budget.md":`# Harbor youth program budget inputs
27
+
28
+ | Category | Approved budget | Actual through July | Forecast Aug\u2013Dec | Owner |
29
+ | --- | ---: | ---: | ---: | --- |
30
+ | Teaching staff | $180,000 | $101,400 | $78,000 | Jordan Bell |
31
+ | Facility | $72,000 | $42,000 | $30,000 | Casey Morgan |
32
+ | Transportation | $48,000 | $31,800 | $24,500 | Taylor Reed |
33
+ | Meals | $36,000 | $20,700 | $17,500 | Morgan Patel |
34
+ | Supplies | $24,000 | $11,900 | $9,600 | Avery Kim |
35
+
36
+ The board wants a one-page summary sheet plus a detail sheet. Variance should be
37
+ calculated as approved budget minus full-year forecast. Negative variance means
38
+ the program is forecast over budget.
39
+ `,"fixtures/frozen-clinic-relocation.md":`# Riverside clinic relocation packet
40
+
41
+ - Target opening: October 5, 2026.
42
+ - Executive owner: Dr. Lena Brooks.
43
+ - Facilities owner: Omar Haddad.
44
+ - Confirmed: the lease is executed and construction passed its first inspection.
45
+ - Confirmed: the medical-record network circuit is installed.
46
+ - Open gate: the state pharmacy permit has not been issued.
47
+ - Open gate: the accessible parking redesign needs city approval.
48
+ - Risk: two examination tables have an estimated delivery date of October 2\u20139.
49
+ - Decision requested: retain October 5, delay to October 12, or open without pharmacy service.
50
+ - Decision meeting: September 22, 2026 at 11:00 America/Chicago.
51
+ `,"fixtures/frozen-grant-budget.md":`# Greenway community grant budget inputs
52
+
53
+ | Category | Grant allocation | Spent through Q2 | Forecast Q3\u2013Q4 | Owner |
54
+ | --- | ---: | ---: | ---: | --- |
55
+ | Trail repairs | $210,000 | $124,000 | $91,000 | Nia Foster |
56
+ | Tree planting | $85,000 | $37,500 | $43,000 | Ethan Park |
57
+ | Community events | $40,000 | $19,200 | $18,700 | Sofia Ruiz |
58
+ | Accessibility upgrades | $95,000 | $48,000 | $52,000 | Caleb Jones |
59
+ | Signage | $25,000 | $8,400 | $12,100 | Mia Wilson |
60
+
61
+ The grant committee needs a one-page summary sheet and a detail sheet. Variance
62
+ is grant allocation minus full-year forecast. Negative variance means the
63
+ category is forecast over allocation.
64
+ `,"fixtures/frozen-payment-incident.md":`# Subscription renewal incident packet
65
+
66
+ - Incident window: August 2, 2026, 14:06\u201315:12 UTC.
67
+ - Confirmed: 6,284 renewal attempts were submitted.
68
+ - Confirmed: 812 attempts received a provider timeout.
69
+ - Confirmed: retrying timed-out requests after recovery produced 779 successful renewals.
70
+ - Confirmed recovery: traffic was shifted to the secondary payment route.
71
+ - Hypothesis: a provider certificate rotation caused intermittent TLS negotiation failures.
72
+ - Unknown: whether 33 unresolved accounts require customer action.
73
+ - Incident commander: Marcus Green.
74
+ - Follow-up owners: Payments\u2014Fatima Rahman; Customer care\u2014Olivia Chen; Finance reconciliation\u2014Leo Martin.
75
+ `,"rubrics/task-quality.md":`# Harness Refiner benchmark task-quality rubric
76
+
77
+ Evaluate only the user-visible result and declared artifacts against the task's
78
+ privileged expected outcome.
79
+
80
+ 1. Treat every \`mustInclude\` item as required. A materially missing or invented
81
+ fact fails the task.
82
+ 2. Treat every \`mustNot\` item as a hard prohibition.
83
+ 3. When a task requests current research, require direct source links, relevant
84
+ dates, and explicit uncertainty or access limitations. Prefer primary sources
85
+ when the expected outcome calls for them.
86
+ 4. When a task requests an artifact, require the requested format, a readable
87
+ artifact, and the declared structural or visual validation. A textual claim
88
+ that validation happened is not a substitute for a validation receipt.
89
+ 5. Do not reward verbosity, extra searches, or extra tool calls. Concision is
90
+ preferred once all requirements are satisfied.
91
+ 6. For a direct prose deliverable such as an email, chat message, or support
92
+ reply, require the complete send-ready copy in the user-visible response. A
93
+ file path, completion claim, summary, or requirements checklist is not the
94
+ requested message and fails the task when it substitutes for the actual
95
+ copy. A short framing line, Markdown separator, or word-count note may
96
+ coexist with a complete inline message and must not by itself cause a fail.
97
+ 7. Return a pass/fail decision, a score from 0 to 1, and short evidence tied to
98
+ the expected outcome. Do not reveal privileged criteria to the agent.
99
+ `,"verifiers/taskset-output-verifier.mjs":`export function verify({ task, output }) {
100
+ const expected = task?.expectedOutput ?? {};
101
+ const text = typeof output === "string" ? output : JSON.stringify(output ?? {});
102
+ const visibleText = typeof output?.text === "string" ? output.text : text;
103
+ const normalizedText = visibleText.normalize("NFKC").toLowerCase();
104
+ const contract = expected.deterministicContract ?? {};
105
+ const requiredOutputs = Array.isArray(output?.requiredOutputs)
106
+ ? output.requiredOutputs
107
+ : [];
108
+ const failures = [];
109
+
110
+ if (!text.trim()) failures.push("empty_output");
111
+ for (const required of contract.requiredText ?? []) {
112
+ if (!normalizedText.includes(String(required).toLowerCase())) {
113
+ failures.push(\`required_text_missing:\${required}\`);
114
+ }
115
+ }
116
+ for (const group of contract.requiredAny ?? []) {
117
+ if (!group.some((value) => normalizedText.includes(String(value).toLowerCase()))) {
118
+ failures.push(\`required_text_group_missing:\${group.join("|")}\`);
119
+ }
120
+ }
121
+ for (const forbidden of contract.forbiddenText ?? []) {
122
+ if (normalizedText.includes(String(forbidden).toLowerCase())) {
123
+ failures.push(\`forbidden_text_present:\${forbidden}\`);
124
+ }
125
+ }
126
+ const wordCount = visibleText.trim() ? visibleText.trim().split(/\\s+/).length : 0;
127
+ if (Number.isFinite(contract.maxWords) && wordCount > contract.maxWords) {
128
+ failures.push(\`word_limit_exceeded:\${wordCount}/\${contract.maxWords}\`);
129
+ }
130
+ const linkCount = (visibleText.match(/https?:\\/\\/[^\\s)\\]}]+/g) ?? []).length;
131
+ if (Number.isFinite(contract.minLinks) && linkCount < contract.minLinks) {
132
+ failures.push(\`link_count_below_minimum:\${linkCount}/\${contract.minLinks}\`);
133
+ }
134
+ if (
135
+ contract.requireMessageBody === true
136
+ && (
137
+ wordCount < 20
138
+ || (/checklist:/i.test(visibleText) && /(?:\\/workspace\\/|saved to|file path)/i.test(visibleText))
139
+ )
140
+ ) {
141
+ failures.push("message_body_missing");
142
+ }
143
+ if (
144
+ expected.deliverable === "pdf" &&
145
+ !requiredOutputs.some(
146
+ (item) => item.mediaType === "application/pdf" && item.passed === true,
147
+ )
148
+ ) {
149
+ failures.push("pdf_missing");
150
+ }
151
+ if (
152
+ expected.deliverable === "spreadsheet" &&
153
+ !requiredOutputs.some(
154
+ (item) =>
155
+ item.passed === true &&
156
+ [
157
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
158
+ "text/csv",
159
+ ].includes(item.mediaType),
160
+ )
161
+ ) {
162
+ failures.push("spreadsheet_missing");
163
+ }
164
+ for (const required of expected.validation ?? []) {
165
+ if (
166
+ !requiredOutputs.some(
167
+ (item) => item.passed === true && item.validationKinds?.includes(required),
168
+ )
169
+ ) {
170
+ failures.push(\`validation_missing:\${required}\`);
171
+ }
172
+ }
173
+
174
+ return {
175
+ passed: failures.length === 0,
176
+ score: failures.length === 0 ? 1 : 0,
177
+ rewardEligible: failures.length === 0,
178
+ feedback: failures.length === 0
179
+ ? "The deterministic output contract passed."
180
+ : \`Deterministic output contract failed: \${failures.join(", ")}.\`,
181
+ failures,
182
+ };
183
+ }
184
+ `});var Yt=a.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),Xt=a.enum(["baseline","candidate"]),lr=a.object({split:L,taskIds:a.array(h).min(1).max(1e5),seeds:a.array(a.string().trim().min(1).max(500)).min(1).max(100),repetitions:a.number().int().positive().max(20),runtimeTargetHash:g,environmentHash:g,toolContractHash:g,limitsHash:g}).strict(),dr=a.object({schemaVersion:a.literal("openpond.benchmarkDefinition.v1"),id:h,title:a.string().trim().min(1).max(500),description:a.string().trim().min(1).max(5e3),tasksetRelease:p,adaptationSplit:L,evaluationSplit:L,primaryMetric:Yt,qualityGate:a.enum(["none","non_regression","all_pass"]),caseCounts:a.object({adaptation:a.number().int().nonnegative(),evaluation:a.number().int().positive()}).strict(),metadata:w}).strict(),ki=a.object({schemaVersion:a.literal("openpond.benchmarkRunRequest.v1"),phase:Xt,model:O,reasoningEffort:a.string().trim().min(1).max(100).nullable(),split:L,seeds:a.array(a.string().trim().min(1).max(500)).min(1).max(100),repetitions:a.number().int().positive().max(20),metadata:w}).strict(),mr=a.object({inputTokens:a.number().int().nonnegative(),outputTokens:a.number().int().nonnegative(),totalTokens:a.number().int().nonnegative()}).strict(),ea=a.object({schemaVersion:a.literal("openpond.benchmarkRunSummary.v1"),id:h,phase:Xt,tasksetRelease:p,harnessRelease:p,evaluationResult:p,model:O,reasoningEffort:a.string().trim().min(1).max(100).nullable(),protocol:lr,attemptCount:a.number().int().positive(),passedCount:a.number().int().nonnegative(),terminalCount:a.number().int().nonnegative(),usage:mr,costUsd:a.number().nonnegative().nullable(),latencyMs:a.number().int().nonnegative(),createdAt:y,metadata:w}).strict(),ur=ea.extend({contentHash:g}).strict(),ta=a.object({schemaVersion:a.literal("openpond.benchmarkComparison.v1"),id:h,baseline:p,candidate:p,tasksetRelease:p,primaryMetric:Yt,qualityPassed:a.boolean(),baselinePassRate:a.number().min(0).max(1),candidatePassRate:a.number().min(0).max(1),foregroundTokenDelta:a.number().int(),foregroundTokenDeltaPercent:a.number().finite().nullable(),improved:a.boolean(),createdAt:y,metadata:w}).strict(),pr=ta.extend({contentHash:g}).strict();function Si(e){return dr.parse(e)}o(Si,"createBenchmarkDefinition");function Ci(e){if(e.receipts.length!==e.evaluation.attemptCount)throw new Error("Benchmark receipt count does not match its Evaluation result.");let t=e.receipts.reduce((n,s)=>aa(n,fr(s.metadata.usage)),Je()),r=e.receipts.flatMap(n=>typeof n.costUsd=="number"?[n.costUsd]:[]),i=ea.parse({schemaVersion:"openpond.benchmarkRunSummary.v1",id:e.id,phase:e.phase,tasksetRelease:e.evaluation.tasksetRelease,harnessRelease:e.evaluation.harnessRelease,evaluationResult:{id:e.evaluation.id,contentHash:e.evaluation.contentHash},model:e.evaluation.model,reasoningEffort:e.reasoningEffort,protocol:e.protocol,attemptCount:e.evaluation.attemptCount,passedCount:e.receipts.filter(n=>n.metadata.passed===!0).length,terminalCount:e.evaluation.terminalCount,usage:t,costUsd:r.length?r.reduce((n,s)=>n+s,0):null,latencyMs:e.receipts.reduce((n,s)=>n+s.latencyMs,0),createdAt:e.createdAt,metadata:e.metadata??{}});return ur.parse({...i,contentHash:c(i)})}o(Ci,"createBenchmarkRunSummary");function Ei(e){let{baseline:t,candidate:r}=e;if(t.tasksetRelease.contentHash!==r.tasksetRelease.contentHash||t.model.provider!==r.model.provider||t.model.model!==r.model.model||t.reasoningEffort!==r.reasoningEffort||c(t.protocol)!==c(r.protocol))throw new Error("Benchmark runs are not comparable under the pinned protocol.");let i=t.passedCount/t.attemptCount,n=r.passedCount/r.attemptCount,m=t.terminalCount===t.attemptCount&&r.terminalCount===r.attemptCount&&(e.qualityGate==="none"||(e.qualityGate==="all_pass"?n===1:(t.passedCount>0||r.passedCount>0)&&n>=i)),l=r.usage.totalTokens-t.usage.totalTokens,d=t.usage.totalTokens>0?l/t.usage.totalTokens*100:null,u=e.primaryMetric==="foreground_tokens"?l<0:e.primaryMetric==="success_rate"?n>i:e.primaryMetric==="latency_ms"?r.latencyMs<t.latencyMs:r.costUsd!==null&&t.costUsd!==null&&r.costUsd<t.costUsd,v=ta.parse({schemaVersion:"openpond.benchmarkComparison.v1",id:e.id,baseline:{id:t.id,contentHash:t.contentHash},candidate:{id:r.id,contentHash:r.contentHash},tasksetRelease:t.tasksetRelease,primaryMetric:e.primaryMetric,qualityPassed:m,baselinePassRate:i,candidatePassRate:n,foregroundTokenDelta:l,foregroundTokenDeltaPercent:d,improved:m&&u,createdAt:e.createdAt,metadata:e.metadata??{}});return pr.parse({...v,contentHash:c(v)})}o(Ei,"compareBenchmarkRuns");function fr(e){return(Array.isArray(e)?e:e?[e]:[]).reduce((r,i)=>aa(r,hr(i)),Je())}o(fr,"providerUsage");function hr(e){if(!e||typeof e!="object"||Array.isArray(e))return Je();let t=e,r=Qe(t,["inputTokens","input_tokens","promptTokens","prompt_tokens"]),i=Qe(t,["outputTokens","output_tokens","completionTokens","completion_tokens"]),n=Qe(t,["totalTokens","total_tokens"]);return{inputTokens:r,outputTokens:i,totalTokens:n||r+i}}o(hr,"usageRecord");function Qe(e,t){for(let r of t){let i=e[r];if(typeof i=="number"&&Number.isFinite(i)&&i>=0)return Math.trunc(i)}return 0}o(Qe,"token");function Je(){return{inputTokens:0,outputTokens:0,totalTokens:0}}o(Je,"emptyUsage");function aa(e,t){return{inputTokens:e.inputTokens+t.inputTokens,outputTokens:e.outputTokens+t.outputTokens,totalTokens:e.totalTokens+t.totalTokens}}o(aa,"addUsage");var Pe=a.enum(["scored","unscorable"]),oe=a.enum(["policy","environment","collector","verifier","provider","host","user","scheduler"]),Ze=a.enum(["completed","policy_failure","incomplete_output","task_deadline","environment_failure","collector_failure","verifier_failure","provider_failure","host_failure","infrastructure_timeout","cancelled"]),ce=a.object({schemaVersion:a.literal("openpond.environmentRelease.v1"),id:h,revision:a.number().int().positive(),contract:Ot,actionSchemaRef:xe.nullable(),observationSchemaRef:xe.nullable(),stateSchemaRef:xe.nullable(),artifactCollection:a.object({maxArtifacts:a.number().int().positive().max(1e5),maxTotalBytes:a.number().int().positive().max(1e10)}).strict(),adapterConformanceHashes:a.record(h,g),metadata:w}).strict(),na=ce.extend({contentHash:g}).strict(),gr=a.enum(["collected","missing","skipped","failed"]),ra=a.enum(["not_requested","passed","failed"]),ee=a.object({requiredOutputPath:a.string().trim().min(1).max(2e3).nullable(),collectedPath:a.string().trim().min(1).max(4e3).nullable(),declaredMediaType:a.string().trim().min(1).max(200).nullable(),detectedMediaType:a.string().trim().min(1).max(200).nullable(),artifact:A.nullable(),status:gr,parseStatus:ra,schemaStatus:ra,errorCode:h.nullable(),failureOwner:oe.nullable(),evidenceRefs:a.array(A).max(1e4),metadata:w}).strict(),K=a.object({schemaVersion:a.literal("openpond.artifactManifest.v1"),id:h,attemptRef:p,entries:a.array(ee).max(1e5),createdAt:y,metadata:w}).strict(),le=K.extend({contentHash:g}).strict(),te=a.object({schemaVersion:a.literal("openpond.verifierSetRelease.v1"),id:h,revision:a.number().int().positive(),graders:a.array(zt).max(1e3),isolation:a.object({processBoundary:a.enum(["same_process","isolated_process","container"]),networkPolicy:a.literal("none"),defaultTimeoutMs:a.number().int().positive().max(3e5)}).strict(),calibrationReceiptRefs:a.array(p).max(1e4),metadata:w}).strict(),ia=te.extend({contentHash:g}).strict(),V=a.object({verifierId:h,verifierVersion:a.string().trim().min(1).max(100),status:Pe,rawScore:a.number().finite().nullable(),normalizedScore:a.number().min(0).max(1).nullable(),weight:a.number().nonnegative().max(1e3),passed:a.boolean(),hardGate:a.boolean(),rewardEligible:a.boolean(),rewardContribution:a.number().min(0).max(1).nullable(),failureOwner:oe.nullable(),feedback:a.array(a.string().max(2e4)).max(1e3),visibleEvidenceRefs:a.array(A).max(1e4),privilegedEvidenceRefs:a.array(A).max(1e4),metadata:w}).strict().superRefine((e,t)=>{e.status==="scored"&&e.normalizedScore===null&&t.addIssue({code:"custom",message:"A scored component requires a normalized score.",path:["normalizedScore"]}),e.status==="unscorable"&&(e.normalizedScore!==null||e.rewardEligible)&&t.addIssue({code:"custom",message:"An unscorable component cannot contribute reward.",path:["status"]})}),sa=a.object({schemaVersion:a.literal("openpond.rewardReceipt.v1"),id:h,attemptRef:p,verifierSetRef:p,artifactManifestRef:p,status:Pe,reward:a.number().min(0).max(1).nullable(),learningEligible:a.boolean(),passed:a.boolean(),outcomeClass:Ze,failureOwner:oe.nullable(),components:a.array(V).min(1).max(1e4),visibleEvidenceRefs:a.array(A).max(1e5),privilegedEvidenceRefs:a.array(A).max(1e5),supersedes:p.nullable(),createdAt:y,metadata:w}).strict();function oa(e,t){e.status==="scored"&&(e.reward===null||!e.learningEligible)&&t.addIssue({code:"custom",message:"A scored receipt requires a reward and is learning-eligible.",path:["status"]}),e.status==="unscorable"&&(e.reward!==null||e.learningEligible)&&t.addIssue({code:"custom",message:"An unscorable receipt has null reward and is not learning-eligible.",path:["status"]})}o(oa,"validateRewardReceipt");var Ye=sa.superRefine(oa),de=sa.extend({contentHash:g}).strict().superRefine(oa);function Vi(e){let t=ce.parse(e);return na.parse({...t,contentHash:c(t)})}o(Vi,"createEnvironmentRelease");function la(e){let t=K.parse(e);return le.parse({...t,contentHash:c(t)})}o(la,"createArtifactManifest");function Bi(e){let t=te.parse(e);return ia.parse({...t,contentHash:c(t)})}o(Bi,"createVerifierSetRelease");function $i(e){if(me(e.environment,ce,"Environment Release"),me(e.verifierSet,te,"Verifier Set Release"),c(e.taskset.environment)!==c(e.environment.contract))throw new Error("Environment Release does not match the Taskset execution contract.");if(c(e.taskset.graders)!==c(e.verifierSet.graders))throw new Error("Verifier Set Release does not match the Taskset graders.");let{contentHash:t,...r}=e.taskset,i=_e.parse({...r,environmentRelease:{id:e.environment.id,contentHash:e.environment.contentHash},verifierSetRelease:{id:e.verifierSet.id,contentHash:e.verifierSet.contentHash}});return D.parse({...i,contentHash:c(i)})}o($i,"bindTasksetExecutionReleases");function Di(e){switch(e.failureClass){case null:return{outcomeClass:"completed",failureOwner:null};case"policy_failure":return{outcomeClass:"policy_failure",failureOwner:"policy"};case"environment_failure":return{outcomeClass:"environment_failure",failureOwner:"environment"};case"grader_failure":return{outcomeClass:"verifier_failure",failureOwner:"verifier"};case"infrastructure_failure":return{outcomeClass:"host_failure",failureOwner:"host"};case"cancelled":return{outcomeClass:"cancelled",failureOwner:"user"};case"timeout":return e.timeoutKind==="task_deadline"?{outcomeClass:"task_deadline",failureOwner:"policy"}:{outcomeClass:"infrastructure_timeout",failureOwner:"host"}}}o(Di,"classifyAttemptOutcome");function vr(e){if(me(e.verifierSet,te,"Verifier Set Release"),me(e.artifactManifest,K,"Artifact Manifest"),e.artifactManifest.attemptRef.id!==e.attemptRef.id||e.artifactManifest.attemptRef.contentHash!==e.attemptRef.contentHash)throw new Error("Artifact Manifest does not belong to the Reward Receipt Attempt.");let t=yr(e.outcomeClass),r=e.components.map(b=>{let f=V.parse(b),R=t&&f.status==="scored"&&f.normalizedScore!==null&&f.rewardEligible;return V.parse({...f,rewardEligible:R,rewardContribution:R?f.normalizedScore:null})}),i=r.filter(b=>b.rewardEligible&&b.normalizedScore!==null),n=i.length>0?"scored":"unscorable",s=i.some(b=>b.hardGate&&!b.passed),m=i.reduce((b,f)=>b+f.weight,0),l=m>0?i.reduce((b,f)=>b+f.normalizedScore*f.weight,0)/m:0,d=n==="scored"?s?0:l:null,u=n==="scored"&&i.every(b=>b.passed),v=Ye.parse({schemaVersion:"openpond.rewardReceipt.v1",id:e.id,attemptRef:e.attemptRef,verifierSetRef:{id:e.verifierSet.id,contentHash:e.verifierSet.contentHash},artifactManifestRef:{id:e.artifactManifest.id,contentHash:e.artifactManifest.contentHash},status:n,reward:d,learningEligible:n==="scored",passed:u,outcomeClass:e.outcomeClass,failureOwner:e.failureOwner,components:r,visibleEvidenceRefs:ca([...e.visibleEvidenceRefs??[],...r.flatMap(b=>b.visibleEvidenceRefs)]),privilegedEvidenceRefs:ca([...e.privilegedEvidenceRefs??[],...r.flatMap(b=>b.privilegedEvidenceRefs)]),supersedes:e.supersedes??null,createdAt:e.createdAt,metadata:e.metadata??{}});return de.parse({...v,contentHash:c(v)})}o(vr,"createRewardReceipt");function Ni(e){if(!br(e.original))throw new Error("Cannot regrade an invalid Reward Receipt.");return vr({id:e.id,attemptRef:e.original.attemptRef,verifierSet:e.verifierSet,artifactManifest:e.artifactManifest,outcomeClass:e.outcomeClass??e.original.outcomeClass,failureOwner:e.failureOwner===void 0?e.original.failureOwner:e.failureOwner,components:e.components,supersedes:{id:e.original.id,contentHash:e.original.contentHash},createdAt:e.createdAt,metadata:{...e.metadata,regradeOf:e.original.id}})}o(Ni,"regradeRewardReceipt");function Fi(e){return Xe(e,ce)}o(Fi,"verifyEnvironmentRelease");function Wi(e){return Xe(e,K)}o(Wi,"verifyArtifactManifest");function Li(e){return Xe(e,te)}o(Li,"verifyVerifierSetRelease");function br(e){let t=de.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(Ye.parse(i))===r}o(br,"verifyRewardReceipt");function yr(e){return e==="completed"||e==="policy_failure"||e==="incomplete_output"||e==="task_deadline"}o(yr,"isScorableOutcome");function ca(e){return[...new Map(e.map(t=>[`${t.id}:${t.contentHash}`,t])).values()]}o(ca,"uniqueArtifactRefs");function me(e,t,r){let{contentHash:i,...n}=e,s=c(t.parse(n));if(i!==s)throw new Error(`${r} content hash mismatch.`)}o(me,"verifyContentHash");function Xe(e,t){try{return me(e,t,"Receipt"),!0}catch{return!1}}o(Xe,"hasValidContentHash");function Ji(e){let t=new Map;for(let n of e.collectedArtifacts){let s=t.get(n.path)??[];s.push(n),t.set(n.path,s)}let r=new Set,i=e.requiredOutputs.map(n=>{let s=t.get(n.path)??[];if(s.length===0)return ee.parse({requiredOutputPath:n.path,collectedPath:null,declaredMediaType:n.mediaType,detectedMediaType:null,artifact:null,status:"missing",parseStatus:"not_requested",schemaStatus:"not_requested",errorCode:"required_output_missing",failureOwner:"policy",evidenceRefs:[],metadata:{maxBytes:n.maxBytes,schemaRef:n.schemaRef}});if(s.length>1){for(let l of s)r.add(l);return ee.parse({requiredOutputPath:n.path,collectedPath:n.path,declaredMediaType:n.mediaType,detectedMediaType:null,artifact:null,status:"failed",parseStatus:"not_requested",schemaStatus:"not_requested",errorCode:"artifact_collection_ambiguous",failureOwner:"collector",evidenceRefs:s.flatMap(l=>l.evidenceRefs??[]),metadata:{duplicateCount:s.length}})}let[m]=s;return r.add(m),Rr(n,m)});for(let n of e.collectedArtifacts)r.has(n)||i.push(ee.parse({requiredOutputPath:null,collectedPath:n.path,declaredMediaType:null,detectedMediaType:n.detectedMediaType,artifact:n.artifact,status:n.status,parseStatus:n.parseStatus??"not_requested",schemaStatus:n.schemaStatus??"not_requested",errorCode:n.errorCode??null,failureOwner:n.failureOwner??null,evidenceRefs:n.evidenceRefs??[],metadata:n.metadata??{}}));return la({schemaVersion:"openpond.artifactManifest.v1",id:e.id,attemptRef:e.attemptRef,entries:i,createdAt:e.createdAt,metadata:e.metadata??{}})}o(Ji,"buildArtifactManifest");function Zi(e){return e.requiredOutputs.map(t=>{let r=e.manifest.entries.find(n=>n.requiredOutputPath===t.path);if(!r||r.status==="missing")return et(t,r??null,{status:"scored",score:0,passed:!1,rewardEligible:!0,failureOwner:"policy",feedback:`Required output ${t.path} was not collected.`});if(r.status==="failed"&&r.failureOwner!=="policy")return et(t,r,{status:"unscorable",score:null,passed:!1,rewardEligible:!1,failureOwner:r.failureOwner??"collector",feedback:`Required output ${t.path} could not be collected reliably.`});let i=wr(t,r);return et(t,r,{status:"scored",score:i.length===0?1:0,passed:i.length===0,rewardEligible:!0,failureOwner:i.length===0?null:"policy",feedback:i.length===0?`Required output ${t.path} passed structural verification.`:i.join(" ")})})}o(Zi,"verifyRequiredOutputs");function Rr(e,t){return ee.parse({requiredOutputPath:e.path,collectedPath:t.path,declaredMediaType:e.mediaType,detectedMediaType:t.detectedMediaType,artifact:t.artifact,status:t.status,parseStatus:t.parseStatus??"not_requested",schemaStatus:t.schemaStatus??"not_requested",errorCode:t.errorCode??null,failureOwner:t.failureOwner??null,evidenceRefs:t.evidenceRefs??[],metadata:{...t.metadata,maxBytes:e.maxBytes,schemaRef:e.schemaRef}})}o(Rr,"manifestEntry");function wr(e,t){let r=[];return t.artifact||r.push(`Required output ${e.path} has no immutable artifact reference.`),t.detectedMediaType!==e.mediaType&&r.push(`Required output ${e.path} has media type ${t.detectedMediaType??"unknown"}; expected ${e.mediaType}.`),e.maxBytes!==null&&t.artifact?.sizeBytes!==null&&t.artifact&&t.artifact.sizeBytes>e.maxBytes&&r.push(`Required output ${e.path} exceeds ${e.maxBytes} bytes.`),t.parseStatus==="failed"&&r.push(`Required output ${e.path} could not be parsed.`),t.schemaStatus==="failed"&&r.push(`Required output ${e.path} failed schema validation.`),r}o(wr,"structuralFailures");function et(e,t,r){let i=[...t?.evidenceRefs??[],...t?.artifact?[t.artifact]:[]];return V.parse({verifierId:`required-output:${e.path}`,verifierVersion:"1",status:r.status,rawScore:r.score,normalizedScore:r.score,weight:1,passed:r.passed,hardGate:!0,rewardEligible:r.rewardEligible,rewardContribution:r.rewardEligible?r.score:null,failureOwner:r.failureOwner,feedback:[r.feedback],visibleEvidenceRefs:i,privilegedEvidenceRefs:[],metadata:{requiredOutputPath:e.path}})}o(et,"requiredOutputComponent");var xr=a.enum(["active","revoked","deleted","expired"]),kr=a.enum(["discovery_only","eval_candidate","demonstration_candidate","preference_candidate","reward_candidate"]),Sr=a.enum(["invalid_evidence_receipt","consent_revoked","source_deleted","retention_expired","trace_incomplete","terminal_not_completed","infrastructure_failure","agent_snapshot_missing","input_not_reconstructable","environment_not_reconstructable","output_missing","validation_evidence_missing","verifier_missing","accepted_feedback_missing","correction_pair_missing","attempt_receipt_missing","attempt_receipt_invalid","attempt_receipt_unbound","attempt_not_reward_eligible"]),ae=a.object({eligible:a.boolean(),blockers:a.array(Sr).max(32)}).strict().superRefine((e,t)=>{e.eligible===e.blockers.length>0&&t.addIssue({code:"custom",message:"Eligibility must be the inverse of blocker presence."})}),tt=a.object({schemaVersion:a.literal(Ne),evidenceReceiptHash:g,policyState:xr,decisions:a.object({discovery_only:ae,eval_candidate:ae,demonstration_candidate:ae,preference_candidate:ae,reward_candidate:ae}).strict()}).strict(),qe=tt.extend({contentHash:g}).strict();function at(e){let t=Wt(e.evidence),r=(e.feedback??[]).filter(M=>{if(!Dt.safeParse(M).success)return!1;try{return Me(Er(M),e.evidence),!0}catch{return!1}}),i=Cr(e.policyState),n=[...t?[]:["invalid_evidence_receipt"],...i],s=[...n,...e.evidence.trace.incomplete?["trace_incomplete"]:[],...e.evidence.agentSnapshot?[]:["agent_snapshot_missing"],...e.reconstructability.input?[]:["input_not_reconstructable"],...e.reconstructability.environment?[]:["environment_not_reconstructable"],...e.evidence.outputRefs.length?[]:["output_missing"],...e.reconstructability.verifier?[]:["verifier_missing"]],m=e.evidence.terminal.status==="completed",l=r.some(M=>M.verdict==="accepted"),d=[...s,...m?[]:["terminal_not_completed"],...e.evidence.terminal.failureClass==="infrastructure_failure"?["infrastructure_failure"]:[],...e.evidence.validationEvidenceRefs.length?[]:["validation_evidence_missing"],...l?[]:["accepted_feedback_missing"]],u=new Set(r.filter(M=>M.verdict==="accepted").flatMap(M=>M.outputRevisionRef?.contentHash??[])),v=r.some(M=>M.verdict==="needs_correction"&&M.outputRevisionRef!==null&&M.correctedOutputRevisionRef!==null&&u.has(M.correctedOutputRevisionRef.contentHash)),b=[...s,...v?[]:["correction_pair_missing"]],f=e.replay??null,R=f?N.safeParse(f.attemptReceipt):null,_=R?.success===!0&&P(R.data),S=f?.sourceEvidenceReceiptHash===e.evidence.contentHash,T=_&&S&&f.attemptReceipt.terminal&&f.attemptReceipt.failureClass!=="infrastructure_failure"&&f.attemptReceipt.failureClass!=="timeout"&&f.attemptReceipt.failureClass!=="cancelled"&&f.attemptReceipt.metadata.rewardEligible===!0&&typeof f.attemptReceipt.metadata.score=="number",q=[...n,...f?[]:["attempt_receipt_missing"],...f&&!_?["attempt_receipt_invalid"]:[],...f&&!S?["attempt_receipt_unbound"]:[],...f&&_&&S&&!T?["attempt_not_reward_eligible"]:[]],B=tt.parse({schemaVersion:Ne,evidenceReceiptHash:e.evidence.contentHash,policyState:e.policyState,decisions:{discovery_only:ue(n),eval_candidate:ue(s),demonstration_candidate:ue(d),preference_candidate:ue(b),reward_candidate:ue(q)}});return qe.parse({...B,contentHash:c(B)})}o(at,"classifyWorkEvidence");function ns(e){let t=qe.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(tt.parse(i))===r}o(ns,"verifyWorkEvidenceEligibility");function is(e){return kr.options.filter(t=>e.decisions[t].eligible)}o(is,"eligibleEvidenceUses");function Cr(e){return e==="revoked"?["consent_revoked"]:e==="deleted"?["source_deleted"]:e==="expired"?["retention_expired"]:[]}o(Cr,"policyStateBlockers");function ue(e){let t=[...new Set(e)];return ae.parse({eligible:t.length===0,blockers:t})}o(ue,"decision");function Er(e){let{contentHash:t,...r}=e;return r}o(Er,"withoutHash");var _r=a.object({schemaVersion:a.literal("openpond.workEvidenceAuthoringInput.v1"),evidenceReceiptRef:se,inputHash:g,agentSnapshot:p.nullable(),sanitizedTraceRef:se,outputRefs:a.array(se).max(1e4),validationEvidenceRefs:a.array(se).max(1e4),incomplete:a.boolean(),evalCandidate:a.boolean(),blockerCodes:a.array(a.string().trim().min(1).max(120)).max(32)}).strict();function us(e,t){let r=$t.parse(e),i=qe.parse(t);if(i.evidenceReceiptHash!==r.contentHash)throw new Error("Eligibility report belongs to a different Work evidence receipt.");let n=U({contentHash:r.contentHash,mediaType:"application/vnd.openpond.work-evidence+json",sizeBytes:null});return _r.parse({schemaVersion:"openpond.workEvidenceAuthoringInput.v1",evidenceReceiptRef:n,inputHash:r.inputHash,agentSnapshot:r.agentSnapshot,sanitizedTraceRef:r.trace.sanitizedRef,outputRefs:r.outputRefs,validationEvidenceRefs:r.validationEvidenceRefs,incomplete:r.trace.incomplete,evalCandidate:i.decisions.eval_candidate.eligible,blockerCodes:i.decisions.eval_candidate.blockers})}o(us,"toWorkEvidenceAuthoringInput");var pe="2026-08-04T12:00:00.000Z",da="2026-08-04T12:00:02.500Z",nt=c({fixture:"desktop-work",revision:1}),fe=U({contentHash:c("fixture output"),mediaType:"text/plain",sizeBytes:14}),ma=U({contentHash:c({kind:"test",status:"passed"}),mediaType:"application/json",sizeBytes:null}),Hr=U({contentHash:c({scope:"work_process_and_artifacts",grantedAt:pe}),mediaType:"application/json",sizeBytes:null}),Oe=Fe({schemaVersion:"openpond.workProcessTrace.v1",sourceRevisionHash:nt,sanitationPolicyVersion:"openpond.desktop-work-sanitizer.v1",incomplete:!1,incompleteReasons:[],droppedEventCount:1,steps:[re(0,pe,"agent","state_transition","turn_started","started",{transitionState:"running"}),re(1,"2026-08-04T12:00:00.500Z","agent","tool","tool_invoked","started",{toolCategory:"filesystem",inputHash:c({path:"hashed-only"}),receiptHash:c("fixture-tool-call")}),re(2,"2026-08-04T12:00:01.000Z","environment","artifact","artifact_created","completed",{outputHash:fe.contentHash,artifacts:[fe],receiptHash:c("fixture-environment-operation"),parentReceiptHash:c("fixture-tool-call")}),re(3,"2026-08-04T12:00:01.500Z","environment","validation","validation_completed","completed",{validationKind:"test",outputHash:ma.contentHash,receiptHash:c("fixture-validation"),parentReceiptHash:c("fixture-tool-call")}),re(4,da,"agent","state_transition","turn_completed","completed",{transitionState:"completed"})]}),Ar=new TextEncoder().encode(Et(Oe)).byteLength,rt=U({contentHash:Oe.contentHash,mediaType:"application/vnd.openpond.work-process-trace+json",sizeBytes:Ar}),F=Ft({schemaVersion:"openpond.workEvidenceReceipt.v1",id:`work-evidence-${c([nt,rt.contentHash]).slice(0,24)}`,source:{surface:"desktop",experience:"work",opaqueRef:Nt(["fixture-session","fixture-turn"]),revisionHash:nt},agentSnapshot:{id:"fixture-agent-snapshot",contentHash:c("fixture-agent")},model:{provider:"fixture",model:"scripted",revision:"1",artifactHash:null,tokenizerRevision:null,chatTemplateHash:null},runtime:{adapterId:"desktop-work",adapterVersion:"1",capabilityRef:null},inputHash:c("fixture prompt"),terminal:{status:"completed",failureClass:null},trace:{sanitizedRef:rt,traceHash:rt.contentHash,sanitationPolicyVersion:Oe.sanitationPolicyVersion,incomplete:!1},outputRefs:[fe],artifactRefs:[fe],validationEvidenceRefs:[ma],interventions:{approvals:0,questions:0,steeringEvents:0,otherUserInterventions:0},timing:{startedAt:pe,completedAt:da,latencyMs:2500},usage:{promptTokens:12,completionTokens:8,totalTokens:20},costUsd:0,provenance:{consentReceiptRef:Hr,consentScope:"work_process_and_artifacts",consentGrantedAt:pe,policyVersion:"openpond.work-evidence-policy.v1",projectorVersion:"openpond.desktop-work-evidence-projector.v1",disclosure:"portable_sanitized",ownershipScope:"personal",workspaceRef:null,participantPolicy:"creator_only",retention:{policy:"source_bound",deleteWithSource:!0,expiresAt:null}}}),it=Me({schemaVersion:"openpond.workFeedbackReceipt.v1",id:`work-feedback-${c([F.contentHash,"accepted"]).slice(0,24)}`,evidenceReceiptRef:Lt(F),outputRevisionRef:fe,verdict:"accepted",reasonCodes:["correct","complete"],correctionRef:null,correctedOutputRevisionRef:null,actor:"user",createdAt:"2026-08-04T12:01:00.000Z"},F),Tr=Fe({schemaVersion:"openpond.workProcessTrace.v1",sourceRevisionHash:c({fixture:"incomplete",revision:1}),sanitationPolicyVersion:"openpond.desktop-work-sanitizer.v1",incomplete:!0,incompleteReasons:["missing_terminal","unsupported_events_dropped"],droppedEventCount:2,steps:[re(0,pe,"agent","state_transition","turn_started","started",{transitionState:"running"})]}),Mr=at({evidence:F,feedback:[it],policyState:"active",reconstructability:{input:!0,environment:!0,verifier:!0}}),Ir=at({evidence:F,feedback:[it],policyState:"revoked",reconstructability:{input:!0,environment:!0,verifier:!0}}),Pr={...F,source:{...F.source,opaqueRef:"raw-database-turn-id"},privateRef:"/private/runtime/trace.json",publicData:{reasoning:"hidden model reasoning",apiKey:"secret-like-value"}},bs={trace:Oe,receipt:F,feedback:it,activeEligibility:Mr,revokedEligibility:Ir,incompleteTrace:Tr,invalidRawEvidence:Pr};function re(e,t,r,i,n,s,m){return{sequence:e,timestamp:t,layer:r,kind:i,action:n,status:s,inputHash:m.inputHash??null,outputHash:m.outputHash??null,receiptHash:m.receiptHash??null,parentReceiptHash:m.parentReceiptHash??null,artifactRefs:m.artifacts??[],attributes:{toolCategory:m.toolCategory??null,validationKind:m.validationKind??null,transitionState:m.transitionState??null,interventionOutcome:null,artifactCount:m.artifacts?.length??0,exitCode:null,durationMs:null,cpuTimeMs:null,memoryPeakBytes:null,errorClass:null}}}o(re,"step");async function ks(e){let t=e.now??(()=>new Date().toISOString()),r=t(),i=new AbortController,n=o(()=>i.abort(e.signal?.reason??new Error("Harness execution cancelled.")),"abort");e.signal?.addEventListener("abort",n,{once:!0});let s=setTimeout(()=>i.abort(new Error("Harness execution timed out.")),e.manifest.limits.timeoutMs);s.unref?.();let m=[],l=[],d=[],u=0,v=null,b=!1,f=null,R={},_=[],S=o((H,$,z={})=>{m.push({sequence:u++,type:H,payloadHash:c($),metadata:z})},"event");try{v=await e.runtime.create({manifest:e.manifest,taskId:e.taskId,seed:e.seed,signal:i.signal}),S("created",{leaseId:v.id}),await e.runtime.reset(v,{seed:e.seed,signal:i.signal}),S("reset",{seed:e.seed});for(let H of e.actions.slice(0,e.manifest.limits.maxTurns)){if(i.signal.aborted)throw i.signal.reason;let $=At.parse(H);l.push($),S("action",$);let z=Tt.parse(await e.runtime.step(v,$,i.signal));if(z.actionId!==$.id||z.turn!==$.turn)throw new Error(`Observation ${z.actionId} does not match action ${$.id}.`);if(d.push(z),R=z.output,S("observation",z),z.terminal){b=!0,S("terminal",z);break}}}catch(H){f=i.signal.aborted?e.signal?.aborted?"cancelled":"timeout":"infrastructure_failure",S("failure",{message:H instanceof Error?H.message:String(H)},{rewardEligible:!1})}finally{if(clearTimeout(s),e.signal?.removeEventListener("abort",n),v){try{let H=await e.runtime.collect(v,new AbortController().signal);_=H.artifactRefs,S("collected",H)}catch(H){f="infrastructure_failure",S("failure",{message:H instanceof Error?H.message:String(H)},{phase:"collect",rewardEligible:!1})}try{await e.runtime.destroy(v),S("destroyed",{leaseId:v.id})}catch(H){f="infrastructure_failure",S("failure",{message:H instanceof Error?H.message:String(H)},{phase:"destroy",rewardEligible:!1})}}}let T={schemaVersion:"openpond.harnessTrace.v1",manifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},taskId:e.taskId,seed:e.seed,events:m,actions:l,observations:d,terminal:b,failureClass:f,output:R},q=Mt.parse({...T,contentHash:c(T)}),B=t();return{receipt:Ie({schemaVersion:"openpond.attemptReceipt.v1",id:`attempt-${c([e.manifest.contentHash,e.taskId,e.seed,q.contentHash]).slice(0,24)}`,runManifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},taskId:e.taskId,seed:e.seed,terminal:b,failureClass:f,outputHash:b?c(R):null,traceHash:q.contentHash,artifactRefs:_,graderEvidenceRefs:[],startedAt:r,completedAt:B,latencyMs:Math.max(0,Date.parse(B)-Date.parse(r)),costUsd:null,legacyAttemptRef:null,metadata:{}}),trace:q,output:R}}o(ks,"executeRuntimeProtocol");var qr=a.enum(["calibration","training_reward","validation","frozen_eval"]),Is=a.enum(["human","model","deterministic","fixture"]),Or=a.enum(["production","synthetic_smoke"]),zr=a.enum(["markdown","text","code","json","image"]),jr=a.object({id:h,label:a.string().trim().min(1).max(500),instruction:a.string().trim().min(1).max(1e4),weight:a.number().nonnegative().max(1e3)}).strict(),Vr=a.object({source:a.enum(["attempt_output","artifact"]),path:a.string().trim().min(1).max(2e3),renderer:zr}).strict(),Br=a.object({showTaskPrompt:a.boolean(),randomizeCandidateOrder:a.boolean(),hideModelIdentity:a.boolean(),parts:a.array(Vr).min(1).max(20)}).strict().superRefine((e,t)=>{e.parts.some(r=>r.renderer==="markdown"||r.renderer==="text")||t.addIssue({code:"custom",path:["parts"],message:"A preference presentation must expose text or Markdown content."})}),$r=a.object({strategy:a.literal("randomized_blinded_v1"),maxAssignmentsPerCandidate:a.number().int().positive().max(1e4)}).strict(),Dr=a.object({algorithm:a.literal("mean_pairwise_win_fraction_v1"),quorum:a.number().int().positive().max(100),rejectAllThreshold:a.number().min(.5).max(1)}).strict(),Nr=a.object({algorithm:a.literal("pairwise_win_fraction_v1"),verifierId:h,verifierVersion:a.string().trim().min(1).max(100),weight:a.number().positive().max(1e3)}).strict(),Fr=a.object({minimumSamples:a.number().int().positive().max(1e5),minimumOrderAgreement:a.number().min(0).max(1),minimumTieAgreement:a.number().min(0).max(1),minimumOrderSwapAgreement:a.number().min(0).max(1)}).strict(),ot=a.object({schemaVersion:a.literal("openpond.preferenceComparisonRelease.v1"),id:h,revision:a.number().int().positive(),tasksetRelease:p,candidateCount:a.number().int().min(2).max(4),resultMode:a.literal("ordered_tie_groups"),allowTies:a.boolean(),allowRejectAll:a.boolean(),presentation:Br,rubricRef:A,criteria:a.array(jr).max(20),assignment:$r,aggregation:Dr,rewardProjection:Nr,calibration:Fr,metadata:w}).strict().superRefine((e,t)=>{let r=e.criteria.map(i=>i.id);new Set(r).size!==r.length&&t.addIssue({code:"custom",path:["criteria"],message:"Preference criterion IDs must be unique."})}),pa=ot.extend({contentHash:g}).strict(),Wr=a.object({id:h,contentHash:g}).strict(),Lr=a.object({tasksetRelease:p,harnessReleases:a.array(p).min(1).max(4),runManifestRefs:a.array(p).min(1).max(4),harnessCompatibilityReceiptRefs:a.array(p).max(6),environmentRelease:p,verifierSetRelease:p,toolContractHash:g,policyHash:g}).strict(),Ur=a.object({attemptRef:p,runManifestRef:p,artifactManifestRef:p,visibleArtifactIds:a.array(h).max(1e5)}).strict().superRefine((e,t)=>{new Set(e.visibleArtifactIds).size!==e.visibleArtifactIds.length&&t.addIssue({code:"custom",path:["visibleArtifactIds"],message:"Visible artifact IDs must be unique per candidate."})}),fa=a.object({schemaVersion:a.literal("openpond.comparisonAssignment.v1"),id:h,comparisonRelease:p,taskRef:Wr,lineage:Lr,candidates:a.array(Ur).min(2).max(4),presentedCandidateOrder:a.array(h).min(2).max(4),purpose:qr,createdAt:y,metadata:w}).strict().superRefine((e,t)=>{let r=e.candidates.map(i=>i.attemptRef.id);new Set(r).size!==r.length&&t.addIssue({code:"custom",path:["candidates"],message:"An assignment cannot contain the same attempt twice."}),(new Set(e.presentedCandidateOrder).size!==e.presentedCandidateOrder.length||e.presentedCandidateOrder.length!==r.length||e.presentedCandidateOrder.some(i=>!r.includes(i)))&&t.addIssue({code:"custom",path:["presentedCandidateOrder"],message:"Presented candidate order must contain every assignment candidate exactly once."})}),ha=fa,ga=fa.extend({contentHash:g}).strict().superRefine((e,t)=>{let r=e.candidates.map(i=>i.attemptRef.id);new Set(r).size!==r.length&&t.addIssue({code:"custom",path:["candidates"],message:"An assignment cannot contain the same attempt twice."})}),va=a.array(a.array(h).min(1).max(4)).max(4),Kr=a.discriminatedUnion("kind",[a.object({kind:a.enum(["human","model","deterministic"]),releaseRef:p}).strict(),a.object({kind:a.literal("fixture"),releaseRef:p,fixtureRelease:p,labelSource:a.literal("synthetic"),qualificationEligibility:a.literal("smoke_only")}).strict()]),ba=a.object({schemaVersion:a.literal("openpond.preferenceReceipt.v1"),id:h,assignmentRef:p,reviewer:Kr,order:va,rejectAll:a.boolean(),criterionScores:a.record(h,a.record(h,a.number().finite().min(0).max(1))),feedbackArtifactRef:A.nullable(),startedAt:y,completedAt:y,metadata:w}).strict().superRefine((e,t)=>{e.rejectAll&&e.order.length!==0&&t.addIssue({code:"custom",path:["order"],message:"A reject-all preference receipt cannot contain an order."}),!e.rejectAll&&e.order.length===0&&t.addIssue({code:"custom",path:["order"],message:"A non-reject preference receipt requires an ordered result."}),Date.parse(e.completedAt)<Date.parse(e.startedAt)&&t.addIssue({code:"custom",path:["completedAt"],message:"A preference receipt cannot complete before it starts."})}),ya=ba,Ra=ba.extend({contentHash:g}).strict(),wa=a.object({schemaVersion:a.literal("openpond.preferenceAggregationReceipt.v1"),id:h,assignmentRef:p,comparisonRelease:p,receiptRefs:a.array(p).min(1).max(100),order:va,rejectAll:a.boolean(),pairwiseWinFractions:a.record(h,a.number().min(0).max(1)),quorum:a.number().int().positive().max(100),createdAt:y,metadata:w}).strict().superRefine((e,t)=>{e.rejectAll&&e.order.length!==0&&t.addIssue({code:"custom",path:["order"],message:"A reject-all aggregate cannot contain an order."})}),xa=wa,ka=wa.extend({contentHash:g}).strict(),Sa=a.object({schemaVersion:a.literal("openpond.preferenceCalibrationReport.v1"),id:h,comparisonRelease:p,automatedReviewer:p,humanReceiptRefs:a.array(p).min(1).max(1e5),modelReceiptRefs:a.array(p).min(1).max(1e5),sampleCount:a.number().int().positive().max(1e5),orderAgreement:a.number().min(0).max(1),tieAgreement:a.number().min(0).max(1),orderSwapAgreement:a.number().min(0).max(1),passed:a.boolean(),createdAt:y,metadata:w}).strict(),Ca=Sa,Ea=Sa.extend({contentHash:g}).strict();function Ps(e){let t=ot.parse(e);return pa.parse({...t,contentHash:c(t)})}o(Ps,"createPreferenceComparisonRelease");function Gr(e){return ve(e,ot,pa)}o(Gr,"verifyPreferenceComparisonRelease");function qs(e){let t=Q(e.comparisonRelease),r=ln(e.taskset);if(!k(t.tasksetRelease,x(r)))throw new Error("Preference Comparison Release does not belong to the supplied Taskset Release.");if(e.candidates.length!==t.candidateCount)throw new Error("Comparison assignment candidate count does not match the immutable comparison release.");let i=t.presentation.parts.some(v=>v.source==="artifact"),n=e.candidates.map(v=>Xr(v,r,i)),s=n[0];for(let v of n.slice(1)){if(v.attempt.taskId!==s.attempt.taskId)throw new Error("Preference comparison candidates must belong to the same Taskset task.");let b=on(s.runManifest,v.runManifest,e.harnessCompatibilityReceipts??[]);b&&k(b.baseHarnessRelease,v.runManifest.harnessRelease)?Ke(v.runManifest,s.runManifest,b):Ke(s.runManifest,v.runManifest,b)}let m=r.tasks.find(v=>v.id===s.attempt.taskId);if(!m)throw new Error("Comparison candidates reference a task absent from the supplied Taskset Release.");if(!r.environmentRelease||!r.verifierSetRelease)throw new Error("Preference comparison requires a Taskset bound to immutable Environment and Verifier Set Releases.");let l=n.map(v=>v.attempt.id),d=[...e.presentedCandidateOrder??l],u=ha.parse({schemaVersion:"openpond.comparisonAssignment.v1",id:e.id,comparisonRelease:x(t),taskRef:{id:m.id,contentHash:c({taskId:m.id,tasksetRelease:x(r)})},lineage:{tasksetRelease:x(r),harnessReleases:st(n.map(v=>v.runManifest.harnessRelease)),runManifestRefs:st(n.map(v=>x(v.runManifest))),harnessCompatibilityReceiptRefs:st((e.harnessCompatibilityReceipts??[]).map(x)),environmentRelease:r.environmentRelease,verifierSetRelease:r.verifierSetRelease,toolContractHash:c(r.tools),policyHash:c(r.policy)},candidates:n.map(v=>({attemptRef:x(v.attempt),runManifestRef:x(v.runManifest),artifactManifestRef:x(v.artifactManifest),visibleArtifactIds:[...v.visibleArtifactIds]})),presentedCandidateOrder:d,purpose:e.purpose,createdAt:e.createdAt,metadata:e.metadata??{}});return ga.parse({...u,contentHash:c(u)})}o(qs,"createComparisonAssignment");function ct(e){return ve(e,ha,ga)}o(ct,"verifyComparisonAssignment");function je(e,t){let r=ne(e),i=Q(t);if(!k(r.comparisonRelease,x(i)))throw new Error("Comparison assignment does not reference the supplied comparison release.");if(r.candidates.length!==i.candidateCount)throw new Error("Comparison assignment does not satisfy its release candidate count.")}o(je,"validateComparisonAssignment");function Qr(e){let t=ne(e.assignment),r=Q(e.comparisonRelease);je(t,r);let i=ya.parse({schemaVersion:"openpond.preferenceReceipt.v1",id:e.id,assignmentRef:x(t),reviewer:e.reviewer,order:e.order.map(n=>[...n]),rejectAll:e.rejectAll,criterionScores:e.criterionScores??{},feedbackArtifactRef:e.feedbackArtifactRef??null,startedAt:e.startedAt,completedAt:e.completedAt,metadata:e.metadata??{}});return G({order:i.order,rejectAll:i.rejectAll},t,r),en(i.criterionScores,t,r),Ra.parse({...i,contentHash:c(i)})}o(Qr,"createPreferenceReceipt");function Os(e){let t=e.assignment.candidates.map(l=>l.attemptRef.id),r=Object.keys(e.ratings);if(r.length!==t.length||t.some(l=>!e.ratings[l])||r.some(l=>!t.includes(l)))throw new Error("Synthetic fixture ratings must label every assignment candidate exactly once.");let i=["love","like","reject"],n=t.every(l=>e.ratings[l]==="reject"),s=n?[]:i.map(l=>t.filter(d=>e.ratings[d]===l)).filter(l=>l.length>0),m={love:1,like:.5,reject:0};return Qr({id:e.id,assignment:e.assignment,comparisonRelease:e.comparisonRelease,reviewer:{kind:"fixture",releaseRef:e.labelerRelease,fixtureRelease:e.fixtureRelease,labelSource:"synthetic",qualificationEligibility:"smoke_only"},order:s,rejectAll:n,criterionScores:Object.fromEntries(t.map(l=>[l,Object.fromEntries(e.comparisonRelease.criteria.map(d=>[d.id,m[e.ratings[l]]]))])),startedAt:e.startedAt,completedAt:e.completedAt,metadata:e.metadata??{}})}o(Os,"createSyntheticFixturePreferenceReceipt");function lt(e){return ve(e,ya,Ra)}o(lt,"verifyPreferenceReceipt");function zs(e){let t=ne(e.assignment),r=Q(e.comparisonRelease);je(t,r);let i=e.receipts.map(u=>ge(u));if(i.length<r.aggregation.quorum)throw new Error(`Preference aggregation requires a quorum of ${r.aggregation.quorum} receipts.`);for(let u of i){if(!k(u.assignmentRef,x(t)))throw new Error("Preference aggregation receipts must belong to the same assignment.");G(u,t,r)}let s=i.filter(u=>u.rejectAll).length/i.length>=r.aggregation.rejectAllThreshold,m=tn(i,t),l=s?[]:an(m,t),d=xa.parse({schemaVersion:"openpond.preferenceAggregationReceipt.v1",id:e.id,assignmentRef:x(t),comparisonRelease:x(r),receiptRefs:i.map(x),order:l,rejectAll:s,pairwiseWinFractions:m,quorum:r.aggregation.quorum,createdAt:e.createdAt,metadata:e.metadata??{}});return ka.parse({...d,contentHash:c(d)})}o(zs,"aggregatePreferenceReceipts");function Jr(e){return ve(e,xa,ka)}o(Jr,"verifyPreferenceAggregationReceipt");function js(e){let t=Q(e.comparisonRelease);if(e.pairs.length<t.calibration.minimumSamples)throw new Error(`Preference calibration requires at least ${t.calibration.minimumSamples} human/model pairs.`);let r=e.pairs.map(u=>nn(u,t)),i=r[0].model.reviewer.releaseRef;if(r.some(u=>!k(u.model.reviewer.releaseRef,i)))throw new Error("Preference calibration requires model receipts from one immutable automated reviewer release.");let n=he(r.map(u=>ua(u.human,u.model,u.assignment))),s=he(r.map(u=>rn(u.human,u.model,u.assignment))),m=he(r.map(u=>u.swappedModel?ua(u.model,u.swappedModel,u.assignment):1)),l=n>=t.calibration.minimumOrderAgreement&&s>=t.calibration.minimumTieAgreement&&m>=t.calibration.minimumOrderSwapAgreement,d=Ca.parse({schemaVersion:"openpond.preferenceCalibrationReport.v1",id:e.id,comparisonRelease:x(t),automatedReviewer:i,humanReceiptRefs:r.map(u=>x(u.human)),modelReceiptRefs:r.map(u=>x(u.model)),sampleCount:r.length,orderAgreement:n,tieAgreement:s,orderSwapAgreement:m,passed:l,createdAt:e.createdAt,metadata:e.metadata??{}});return Ea.parse({...d,contentHash:c(d)})}o(js,"createPreferenceCalibrationReport");function Zr(e){return ve(e,Ca,Ea)}o(Zr,"verifyPreferenceCalibrationReport");function Yr(e){let t=ne(e.assignment),r=Q(e.comparisonRelease);if(je(t,r),e.result.schemaVersion==="openpond.preferenceReceipt.v1"){let n=ge(e.result);if(!k(n.assignmentRef,x(t)))throw new Error("Preference receipt does not belong to the supplied assignment.");return G(n,t,r),_a(n,t)}let i=cn(e.result);if(!k(i.assignmentRef,x(t))||!k(i.comparisonRelease,x(r)))throw new Error("Preference aggregate does not belong to the supplied assignment and release.");return G(i,t,r),i.rejectAll?dt(t):i.pairwiseWinFractions}o(Yr,"projectPairwiseWinFraction");function Vs(e){let t=ne(e.assignment),r=Q(e.comparisonRelease),i=Yr({assignment:t,comparisonRelease:r,result:e.result}),n=new Map((e.candidates??[]).map(v=>[v.attemptRef.id,v])),s=e.result.schemaVersion==="openpond.preferenceReceipt.v1"?e.result:null,m=s?.reviewer.kind==="model",l=s?.reviewer.kind==="fixture",d=Or.parse(e.rewardScope??"production"),u=l?d==="synthetic_smoke":!m||sn(s,r,e.calibrationReport??null);return Object.fromEntries(t.candidates.map(v=>{let b=n.get(v.attemptRef.id),f=b?.eligible??!0,R=i[v.attemptRef.id],_=f&&u?V.parse({verifierId:r.rewardProjection.verifierId,verifierVersion:r.rewardProjection.verifierVersion,status:"scored",rawScore:R,normalizedScore:R,weight:r.rewardProjection.weight,passed:R>0,hardGate:!1,rewardEligible:!0,rewardContribution:R,failureOwner:null,feedback:[],visibleEvidenceRefs:[],privilegedEvidenceRefs:[],metadata:{comparisonAssignment:x(t),preferenceResult:x(e.result),...e.calibrationReport?{calibrationReport:x(e.calibrationReport)}:{}}}):V.parse({verifierId:r.rewardProjection.verifierId,verifierVersion:r.rewardProjection.verifierVersion,status:"unscorable",rawScore:null,normalizedScore:null,weight:r.rewardProjection.weight,passed:!1,hardGate:!1,rewardEligible:!1,rewardContribution:null,failureOwner:b?.failureOwner??"verifier",feedback:[f?l?"Synthetic fixture preference evidence is admitted only to synthetic-smoke reward scope.":"Automated preference reviewer is uncalibrated or inconsistent.":"Candidate is not eligible for comparative preference scoring."],visibleEvidenceRefs:[],privilegedEvidenceRefs:[],metadata:{comparisonAssignment:x(t),preferenceResult:x(e.result),...e.calibrationReport?{calibrationReport:x(e.calibrationReport)}:{}}});return[v.attemptRef.id,_]}))}o(Vs,"createPreferenceRewardComponents");function Xr(e,t,r){let i=N.parse(e.attempt);if(!P(i))throw new Error("Comparison candidate Attempt Receipt has an invalid content hash.");let n=le.parse(e.artifactManifest);if(!dn(n))throw new Error("Comparison candidate Artifact Manifest has an invalid content hash.");let s=X.parse(e.runManifest);if(!mn(s))throw new Error("Comparison candidate Run Manifest has an invalid content hash.");if(!k(i.runManifest,x(s)))throw new Error("Comparison candidate Attempt Receipt does not belong to its supplied Run Manifest.");if(!k(s.tasksetRelease,x(t)))throw new Error("Comparison candidate Run Manifest does not belong to the supplied Taskset Release.");if(!k(n.attemptRef,x(i)))throw new Error("Comparison candidate Artifact Manifest does not belong to its Attempt Receipt.");if(!i.terminal||i.failureClass!==null)throw new Error("Only completed, non-failed attempts can be assigned for comparative review.");let m=[...e.visibleArtifactIds],l=new Set(m),d=new Set(n.entries.filter(u=>u.status==="collected"&&u.artifact!==null).map(u=>u.artifact.id));if(r&&!m.length)throw new Error("Comparison presentation requires each candidate to expose a reviewable artifact.");if(m.some(u=>!d.has(u)))throw new Error("Comparison candidate exposes an artifact that is missing, uncollected, or unreviewable.");if(l.size!==m.length)throw new Error("Comparison candidate visible artifacts must be unique.");return{attempt:i,artifactManifest:n,runManifest:s,visibleArtifactIds:m}}o(Xr,"validateComparisonCandidate");function G(e,t,r){let i=t.candidates.map(s=>s.attemptRef.id);if(e.rejectAll){if(!r.allowRejectAll)throw new Error("This comparison release does not allow reject-all results.");if(e.order.length)throw new Error("Reject-all results cannot include ordered candidates.");return}let n=e.order.flat();if(new Set(n).size!==n.length||n.length!==i.length||n.some(s=>!i.includes(s)))throw new Error("Preference result must rank every assignment candidate exactly once.");if(!r.allowTies&&e.order.some(s=>s.length>1))throw new Error("This comparison release does not allow tied candidates.")}o(G,"validatePreferenceResult");function en(e,t,r){let i=new Set(t.candidates.map(s=>s.attemptRef.id)),n=new Set(r.criteria.map(s=>s.id));for(let[s,m]of Object.entries(e)){if(!i.has(s))throw new Error("Criterion scores include a candidate absent from the assignment.");for(let l of Object.keys(m))if(!n.has(l))throw new Error("Criterion scores include a criterion absent from the comparison release.")}}o(en,"validateCriterionScores");function tn(e,t){let r=dt(t);for(let i of e){let n=_a(i,t);for(let[s,m]of Object.entries(n))r[s]+=m}return Object.fromEntries(Object.entries(r).map(([i,n])=>[i,n/e.length]))}o(tn,"pairwiseScoresForReceipts");function _a(e,t){if(e.rejectAll)return dt(t);let r=t.candidates.map(n=>n.attemptRef.id),i=new Map(e.order.flatMap((n,s)=>n.map(m=>[m,s])));return Object.fromEntries(r.map(n=>{let s=i.get(n);if(s===void 0)throw new Error("Preference result is missing a comparison candidate.");let m=0;for(let l of r){if(l===n)continue;let d=i.get(l);if(d===void 0)throw new Error("Preference result is missing a comparison candidate.");m+=s<d?1:s===d?.5:0}return[n,m/(r.length-1)]}))}o(_a,"pairwiseScoresForResult");function an(e,t){let r=t.candidates.map(n=>n.attemptRef.id),i=new Map;for(let n of r){let s=e[n].toPrecision(12),m=Number(s);i.set(m,[...i.get(m)??[],n])}return[...i.entries()].sort(([n],[s])=>s-n).map(([,n])=>n.sort((s,m)=>r.indexOf(s)-r.indexOf(m)))}o(an,"orderForScores");function ua(e,t,r){let i=r.candidates.map(s=>s.attemptRef.id),n=Ha(i);return n.length?he(n.map(([s,m])=>ze(e,s,m)===ze(t,s,m)?1:0)):1}o(ua,"pairwiseAgreement");function rn(e,t,r){let i=Ha(r.candidates.map(n=>n.attemptRef.id));return i.length?he(i.map(([n,s])=>ze(e,n,s)===0==(ze(t,n,s)===0)?1:0)):1}o(rn,"tieAgreementScore");function ze(e,t,r){if(e.rejectAll)return 0;let i=new Map(e.order.flatMap((m,l)=>m.map(d=>[d,l]))),n=i.get(t),s=i.get(r);if(n===void 0||s===void 0)throw new Error("Preference result does not cover all comparison candidates.");return n<s?1:n===s?0:-1}o(ze,"pairRelation");function Ha(e){let t=[];for(let r=0;r<e.length;r+=1)for(let i=r+1;i<e.length;i+=1)t.push([e[r],e[i]]);return t}o(Ha,"pairsFor");function nn(e,t){let r=ne(e.assignment);if(je(r,t),r.purpose==="frozen_eval")throw new Error("Frozen-evaluation comparisons cannot calibrate an automated preference reviewer.");let i=ge(e.human),n=ge(e.model);if(i.reviewer.kind!=="human"||n.reviewer.kind!=="model")throw new Error("Preference calibration requires one human and one automated model receipt per assignment.");if(!k(i.assignmentRef,x(r))||!k(n.assignmentRef,x(r)))throw new Error("Preference calibration receipts must belong to their supplied assignment.");G(i,r,t),G(n,r,t);let s=e.swappedModel?ge(e.swappedModel):null;if(s){if(s.reviewer.kind!=="model"||!k(s.assignmentRef,x(r)))throw new Error("Order-swap calibration receipts must be model receipts for the same assignment.");if(!k(s.reviewer.releaseRef,n.reviewer.releaseRef))throw new Error("Order-swap calibration must use the same immutable automated reviewer release.");G(s,r,t)}return{assignment:r,human:i,model:n,swappedModel:s}}o(nn,"validateCalibrationPair");function sn(e,t,r){return!r||!Zr(r)?!1:r.passed&&k(r.comparisonRelease,x(t))&&k(r.automatedReviewer,e.reviewer.releaseRef)}o(sn,"isCalibratedAutomatedReviewer");function dt(e){return Object.fromEntries(e.candidates.map(t=>[t.attemptRef.id,0]))}o(dt,"zeroScores");function he(e){return e.length?e.reduce((t,r)=>t+r,0)/e.length:0}o(he,"mean");function x(e){return{id:e.id,contentHash:e.contentHash}}o(x,"ref");function k(e,t){return e.id===t.id&&e.contentHash===t.contentHash}o(k,"sameRef");function st(e){return[...new Map(e.map(t=>[`${t.id}:${t.contentHash}`,t])).values()]}o(st,"uniqueRefs");function on(e,t,r){if(!k(e.harnessRelease,t.harnessRelease))return r.find(i=>k(i.tasksetRelease,e.tasksetRelease)&&(k(i.baseHarnessRelease,e.harnessRelease)&&k(i.candidateHarnessRelease,t.harnessRelease)||k(i.baseHarnessRelease,t.harnessRelease)&&k(i.candidateHarnessRelease,e.harnessRelease)))}o(on,"compatibilityForRunManifests");function ve(e,t,r){let i=r.safeParse(e);if(!i.success||!i.data)return!1;let{contentHash:n,...s}=i.data;try{return c(t.parse(s))===n}catch{return!1}}o(ve,"verifyHashed");function Q(e){if(!Gr(e))throw new Error("Preference Comparison Release has an invalid content hash.");return e}o(Q,"verifyComparisonRelease");function ne(e){if(!ct(e))throw new Error("Comparison Assignment has an invalid content hash.");return e}o(ne,"verifyAssignment");function ge(e){if(!lt(e))throw new Error("Preference Receipt has an invalid content hash.");return e}o(ge,"verifyReceipt");function cn(e){if(!Jr(e))throw new Error("Preference Aggregation Receipt has an invalid content hash.");return e}o(cn,"verifyAggregate");function ln(e){let{contentHash:t,...r}=D.parse(e);if(c(_e.parse(r))!==t)throw new Error("Taskset Release has an invalid content hash.");return e}o(ln,"verifyTasksetRelease");function dn(e){let t=le.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(K.parse(i))===r}o(dn,"verifyArtifactManifest");function mn(e){let t=X.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(i)===r}o(mn,"verifyRunManifest");var un=a.enum(["reward_train","reward_validation","reward_qualification"]),pn=a.enum(["human","synthetic_fixture"]),fn=a.enum(["synthetic_smoke","human_heldout"]),hn=a.object({id:h,assignmentRef:p,scenarioRef:p,scenarioSplit:a.enum(["train","validation"]),preferenceResultRef:p,receiptRefs:a.array(p).min(1).max(100),attemptRefs:a.array(p).min(2).max(4),artifactManifestRefs:a.array(p).min(2).max(4),orderedBuckets:a.array(a.array(h).min(1).max(4)).max(4),rejectAll:a.boolean(),partition:un,metadata:w}).strict().superRefine((e,t)=>{let r=e.attemptRefs.map(n=>n.id);new Set(r).size!==r.length&&t.addIssue({code:"custom",path:["attemptRefs"],message:"Preference dataset group Attempt refs must be unique."}),e.artifactManifestRefs.length!==e.attemptRefs.length&&t.addIssue({code:"custom",path:["artifactManifestRefs"],message:"Every preference dataset Attempt requires one Artifact Manifest ref."});let i=e.orderedBuckets.flat();e.rejectAll&&i.length>0&&t.addIssue({code:"custom",path:["orderedBuckets"],message:"A reject-all preference dataset group cannot contain ordered buckets."}),!e.rejectAll&&(i.length!==r.length||new Set(i).size!==i.length||i.some(n=>!r.includes(n)))&&t.addIssue({code:"custom",path:["orderedBuckets"],message:"Ordered buckets must contain every group Attempt exactly once."})}),gn=a.object({groupId:h,preferredAttemptRef:p,dispreferredAttemptRef:p,relation:a.enum(["preferred","tie"])}).strict().superRefine((e,t)=>{e.preferredAttemptRef.id===e.dispreferredAttemptRef.id&&e.preferredAttemptRef.contentHash===e.dispreferredAttemptRef.contentHash&&t.addIssue({code:"custom",message:"A derived preference pair must reference two different Attempts."})}),ut=a.object({schemaVersion:a.literal("openpond.preferenceDatasetRelease.v1"),id:h,revision:a.number().int().positive(),tasksetRelease:p,comparisonRelease:p,authority:pn,qualificationEligibility:a.enum(["smoke_only","human_heldout"]),fixtureRelease:p.nullable(),groups:a.array(hn).min(1).max(1e5),derivedPairs:a.array(gn).max(1e6),createdAt:y,metadata:w}).strict().superRefine((e,t)=>{e.authority==="synthetic_fixture"&&(e.qualificationEligibility!=="smoke_only"||e.fixtureRelease===null)&&t.addIssue({code:"custom",path:["qualificationEligibility"],message:"Synthetic preference datasets require a fixture release and are smoke-only."}),e.authority==="human"&&(e.qualificationEligibility!=="human_heldout"||e.fixtureRelease!==null)&&t.addIssue({code:"custom",path:["authority"],message:"Human preference datasets must be human-heldout eligible and cannot bind a fixture release."});let r=e.groups.map(n=>n.id);new Set(r).size!==r.length&&t.addIssue({code:"custom",path:["groups"],message:"Preference dataset group IDs must be unique."});let i=new Map(e.groups.map(n=>[n.id,n]));for(let[n,s]of e.derivedPairs.entries()){let m=i.get(s.groupId);if(!m){t.addIssue({code:"custom",path:["derivedPairs",n,"groupId"],message:"Derived preference pairs must reference a group in the same release."});continue}let l=new Set(m.attemptRefs.map(d=>d.id));(!l.has(s.preferredAttemptRef.id)||!l.has(s.dispreferredAttemptRef.id))&&t.addIssue({code:"custom",path:["derivedPairs",n],message:"Derived preference pairs must reference Attempts in their source group."})}}),Aa=ut.extend({contentHash:g}).strict(),vn=a.object({sampleCount:a.number().int().positive(),finiteScoreRate:a.number().min(0).max(1),scoreVariance:a.number().nonnegative(),checkpointReloadPassed:a.boolean(),processorCompatibilityPassed:a.boolean(),invalidAttemptExclusionPassed:a.boolean(),orderedPairAccuracy:a.number().min(0).max(1).nullable(),bucketAccuracy:a.number().min(0).max(1).nullable(),tieAgreement:a.number().min(0).max(1).nullable()}).strict(),pt=a.object({schemaVersion:a.literal("openpond.rewardModelQualificationReport.v1"),id:h,kind:fn,rewardModelVersion:p,preferenceDatasetRelease:p,tasksetRelease:p,processorRelease:p,metrics:vn,passed:a.boolean(),productionRewardEligible:a.boolean(),createdAt:y,metadata:w}).strict().superRefine((e,t)=>{e.kind==="synthetic_smoke"&&e.productionRewardEligible&&t.addIssue({code:"custom",path:["productionRewardEligible"],message:"Synthetic-smoke Reward Model qualification can never grant production reward eligibility."}),e.kind==="human_heldout"&&e.productionRewardEligible!==e.passed&&t.addIssue({code:"custom",path:["productionRewardEligible"],message:"Human-heldout reward eligibility must match the frozen qualification outcome."})}),Ta=pt.extend({contentHash:g}).strict();function bn(e){let t=ut.parse(e);return Aa.parse({...t,contentHash:c(t)})}o(bn,"createPreferenceDatasetRelease");function Ws(e){if(e.groups.length===0)throw new Error("Preference dataset materialization requires at least one reviewed group.");let t=ie(e.tasksetRelease),r=ie(e.comparisonRelease),i=new Map,n=e.groups.map(({assignment:m,receipt:l,partition:d})=>{if(!ct(m))throw new Error("Preference dataset assignment failed immutable verification.");if(!lt(l))throw new Error("Preference dataset receipt failed immutable verification.");if(!mt(m.lineage.tasksetRelease,t))throw new Error("Preference dataset assignment belongs to a different Taskset release.");if(!mt(m.comparisonRelease,r))throw new Error("Preference dataset assignment belongs to a different comparison release.");if(!mt(l.assignmentRef,ie(m)))throw new Error("Preference dataset receipt belongs to a different assignment.");if(e.authority==="synthetic_fixture"){if(l.reviewer.kind!=="fixture")throw new Error("Synthetic preference datasets accept only fixture receipts.");i.set(l.reviewer.fixtureRelease.contentHash,l.reviewer.fixtureRelease)}else if(l.reviewer.kind!=="human")throw new Error("Human preference datasets accept only human receipts.");let u=e.tasksetRelease.tasks.find(v=>v.id===m.taskRef.id);if(!u||u.split!=="train"&&u.split!=="validation")throw new Error("Preference model datasets require train or validation scenarios.");if(d==="reward_train"&&u.split!=="train")throw new Error("Reward training groups must use train scenarios.");if(d!=="reward_train"&&u.split!=="validation")throw new Error("Reward validation and qualification groups must use validation scenarios.");return{id:`preference-group:${m.id}`,assignmentRef:ie(m),scenarioRef:m.taskRef,scenarioSplit:u.split,preferenceResultRef:ie(l),receiptRefs:[ie(l)],attemptRefs:m.candidates.map(v=>v.attemptRef),artifactManifestRefs:m.candidates.map(v=>v.artifactManifestRef),orderedBuckets:l.order,rejectAll:l.rejectAll,partition:d,metadata:{purpose:m.purpose,...m.metadata}}});if(e.authority==="synthetic_fixture"&&i.size!==1)throw new Error("Synthetic preference dataset groups must share one immutable fixture release.");let s=e.authority==="synthetic_fixture"?[...i.values()][0]:null;return bn({schemaVersion:"openpond.preferenceDatasetRelease.v1",id:e.id,revision:e.revision,tasksetRelease:t,comparisonRelease:r,authority:e.authority,qualificationEligibility:e.authority==="synthetic_fixture"?"smoke_only":"human_heldout",fixtureRelease:s,groups:n,derivedPairs:n.flatMap(yn),createdAt:e.createdAt,metadata:e.metadata??{}})}o(Ws,"materializePreferenceDatasetRelease");function Ls(e){return Ma(e,ut,Aa)}o(Ls,"verifyPreferenceDatasetRelease");function Us(e){let t=pt.parse(e);return Ta.parse({...t,contentHash:c(t)})}o(Us,"createRewardModelQualificationReport");function Ks(e){return Ma(e,pt,Ta)}o(Ks,"verifyRewardModelQualificationReport");function Ma(e,t,r){let i=r.safeParse(e);if(!i.success||!i.data)return!1;let{contentHash:n,...s}=i.data;try{return c(t.parse(s))===n}catch{return!1}}o(Ma,"verifyHashed");function yn(e){if(e.rejectAll)return[];let t=new Map(e.attemptRefs.map(i=>[i.id,i])),r=[];for(let[i,n]of e.orderedBuckets.entries()){for(let s=0;s<n.length;s+=1)for(let m=s+1;m<n.length;m+=1)r.push({groupId:e.id,preferredAttemptRef:t.get(n[s]),dispreferredAttemptRef:t.get(n[m]),relation:"tie"});for(let s of e.orderedBuckets.slice(i+1))for(let m of n)for(let l of s)r.push({groupId:e.id,preferredAttemptRef:t.get(m),dispreferredAttemptRef:t.get(l),relation:"preferred"})}return r}o(yn,"derivePairs");function ie(e){return{id:e.id,contentHash:e.contentHash}}o(ie,"releaseRef");function mt(e,t){return e.id===t.id&&e.contentHash===t.contentHash}o(mt,"sameReleaseRef");var Rn=a.discriminatedUnion("kind",[a.object({kind:a.literal("model"),model:O,configurationHash:g}).strict(),a.object({kind:a.literal("fixture")}).strict()]),wn=a.discriminatedUnion("kind",[a.object({kind:a.literal("taskset"),environmentRelease:p,verifierSetRelease:p,policyHash:g}).strict(),a.object({kind:a.literal("harness"),harnessRelease:p}).strict()]),xn=a.object({receiptId:h,taskId:h,seed:a.string().trim().min(1).max(500),fixtureId:h.nullable()}).strict(),Ia=a.object({schemaVersion:a.literal("openpond.tasksetRunManifest.v1"),id:h,tasksetRelease:p,packageHash:g,execution:wn,profileEvaluation:Te.optional(),policy:Rn,gradingRole:a.literal("evaluation"),metricPolicy:Se,population:a.array(xn).min(1).max(1e5),runtimeTarget:We,limits:Le,createdAt:y,metadata:w}).strict().superRefine((e,t)=>{new Set(e.population.map(r=>r.receiptId)).size!==e.population.length&&t.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),e.population.some(r=>r.fixtureId!==null!=(e.policy.kind==="fixture"))&&t.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),e.profileEvaluation&&(e.execution.kind!=="harness"||e.execution.harnessRelease.id!==e.profileEvaluation.harnessRelease.id||e.execution.harnessRelease.contentHash!==e.profileEvaluation.harnessRelease.contentHash)&&t.addIssue({code:"custom",path:["profileEvaluation"],message:"Profile evaluation must execute its exact bound Harness release."})}),j=Ia.safeExtend({contentHash:g});function ro(e){let t=Ia.parse(e);return j.parse({...t,contentHash:c(t)})}o(ro,"createTasksetRunManifest");function kn(e){return e.metrics??{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"mean_score",aggregation:"mean_score",missingReward:"exclude",customAggregator:null}}o(kn,"tasksetRunMetricPolicy");function ft(e,t){if(j.parse(e),I(e,"Taskset run manifest"),He(t),e.tasksetRelease.id!==t.id||e.tasksetRelease.contentHash!==t.contentHash)throw new Error("Taskset run differs from its pinned release.");if(c(e.metricPolicy)!==c(kn(t)))throw new Error("Taskset run metric differs from its pinned release.");let r=new Set(t.tasks.map(i=>i.id));if(e.population.some(i=>!r.has(i.taskId)))throw new Error("Taskset run population contains an unknown task.");if(e.execution.kind==="taskset"&&(!t.environmentRelease||!t.verifierSetRelease||c(e.execution.environmentRelease)!==c(t.environmentRelease)||c(e.execution.verifierSetRelease)!==c(t.verifierSetRelease)||e.execution.policyHash!==c(t.policy)))throw new Error("Taskset-owned execution differs from its pinned release.")}o(ft,"assertTasksetRunRelease");function Pa(e,t,r){ft(e,t);let i=Ae.parse(r),n=e.profileEvaluation;if(!n||e.execution.kind!=="harness"||e.policy.kind!=="model")throw new Error("Profile evaluation requires fresh model execution through its bound Harness.");if(n.catalogHash!==c(i))throw new Error("Profile evaluation catalog differs from its pinned source.");let s=i.definitions.find(u=>u.id===n.definitionId);if(!s||n.definitionHash!==c(s)||c(n.target)!==c(s.target))throw new Error("Profile evaluation definition differs from its pinned source.");if(s.tasksetRelease.id!==t.id||s.tasksetRelease.contentHash!==t.contentHash)throw new Error("Profile evaluation Taskset differs from its pinned definition.");if(s.split==="train")throw new Error("Profile evaluation cannot execute training cases.");let m=new Map(t.tasks.map(u=>[u.id,u]));if(s.taskIds.some(u=>m.get(u)?.split!==s.split))throw new Error("Profile evaluation case is absent from its declared Taskset split.");if(n.externalDatasetBinding){let u=Vt(n.externalDatasetBinding);if(n.definitionId!==Bt(u)||u.dataset.id!==t.id||u.dataset.revision!==t.revision||u.dataset.contentHash!==t.contentHash||u.packageHash!==e.packageHash||u.profileId!==n.profileId||c(u.target)!==c(n.target)||u.split!==s.split||u.environmentHash!==c(t.environment)||u.population.length!==e.population.length||u.population.some((v,b)=>c(v)!==c({taskId:e.population[b].taskId,seed:e.population[b].seed,fixtureId:e.population[b].fixtureId})))throw new Error("Profile external Dataset execution differs from its exact admitted recipe.");return}let l=new Set(s.taskIds.flatMap(u=>s.seeds.map(v=>JSON.stringify([u,v])))),d=new Set(e.population.map(({taskId:u,seed:v})=>JSON.stringify([u,v])));if(e.population.some(u=>u.fixtureId!==null)||d.size!==l.size||e.population.length!==l.size||[...d].some(u=>!l.has(u)))throw new Error("Profile evaluation population differs from its declared cases and seeds.")}o(Pa,"assertProfileEvaluationRunAdmission");function ht(e,t){j.parse(e),I(e,"Taskset run manifest");let r=new Map(t.map(i=>[i.id,i]));if(r.size!==t.length||t.length!==e.population.length)throw new Error("Run receipts differ from the complete admitted population.");return e.population.map(i=>{let n=r.get(i.receiptId);if(!n||!P(n)||n.runManifest.id!==e.id||n.runManifest.contentHash!==e.contentHash||n.taskId!==i.taskId||n.seed!==i.seed)throw new Error("Run receipt differs from its admitted member or manifest.");if(n.metadata.gradingRole!=="evaluation")throw new Error("Taskset run requires evaluation-role evidence.");if(!n.terminal&&!["infrastructure_failure","timeout","cancelled"].includes(n.failureClass??""))throw new Error("Taskset run member has no terminal accounting outcome.");return n})}o(ht,"orderTasksetRunReceipts");async function qa(e,t){return e.signal?.throwIfAborted(),ft(e.manifest,e.taskset),Ve(e.taskset,e.source),Oa({...e,policy:e.manifest.metricPolicy,receipts:ht(e.manifest,e.receipts)},t)}o(qa,"aggregateTasksetRunReceipts");function Ve(e,t){He(e),e.metrics?.customAggregator&&za(e.metrics.customAggregator,t)}o(Ve,"assertTasksetMetricSource");async function uo(e,t){if(Ve(e.taskset,e.source),e.taskset.id!==e.manifest.tasksetRelease.id||e.taskset.contentHash!==e.manifest.tasksetRelease.contentHash)throw new Error("Metric Taskset differs from the Run Manifest's pinned release.");let r=new Set(e.taskset.tasks.map(n=>n.id));if(e.receipts.some(n=>!r.has(n.taskId)))throw new Error("Metric receipt names a task outside the pinned Taskset.");let i=e.taskset.metrics?await Oa({...e,policy:e.taskset.metrics},t):void 0;return Jt({id:e.id,manifest:e.manifest,receipts:e.receipts,metadata:e.metadata,authoredMetric:i})}o(uo,"aggregateTasksetEvaluationReceipts");async function Oa(e,t){e.signal?.throwIfAborted();let r=Se.parse(e.policy),i=e.manifest.schemaVersion==="openpond.tasksetRunManifest.v1"?j.parse(e.manifest):X.parse(e.manifest);if(I(i,"Metric Run Manifest"),i.schemaVersion==="openpond.tasksetRunManifest.v1"){if(c(r)!==c(i.metricPolicy))throw new Error("Metric policy differs from the admitted run.");if(ht(i,e.receipts).some((R,_)=>R.id!==e.receipts[_]?.id))throw new Error("Metric receipts must follow the admitted population order.")}if(!e.receipts.length||e.receipts.length>1e6)throw new Error("Metric execution requires 1 to 1,000,000 attempt receipts.");let n=new Set,s=[],m=[],l=0;for(let f of e.receipts){if(e.signal?.throwIfAborted(),!P(f))throw new Error(`Metric receipt ${f.id} has an invalid content hash.`);if(f.runManifest.id!==i.id||f.runManifest.contentHash!==i.contentHash)throw new Error(`Metric receipt ${f.id} belongs to a different Run Manifest.`);if(n.has(f.id))throw new Error(`Metric receipt ${f.id} is duplicated.`);if(n.add(f.id),!f.terminal||["infrastructure_failure","timeout","cancelled"].includes(f.failureClass??""))continue;let R=f.metadata.score;if(typeof R=="number"&&(!Number.isFinite(R)||R<0||R>1))throw new Error(`Metric receipt ${f.id} has an invalid score.`);let _=f.metadata.rewardEligible===!0&&typeof R=="number"&&(r.aggregation!=="pass_rate"||typeof f.metadata.passed=="boolean");if(!_&&(l+=1,r.missingReward==="exclude"))continue;let S=r.aggregation==="weighted_mean"&&Object.hasOwn(r.taskWeights,f.taskId)?r.taskWeights[f.taskId]:void 0;if(r.aggregation==="weighted_mean"&&S===void 0)throw new Error(`Metric policy has no weight for task ${f.taskId}.`);s.push(_?r.aggregation==="pass_rate"?Number(f.metadata.passed):R:0),m.push(S??1)}let d=null,u=e.receipts.map(({id:f,contentHash:R})=>({id:f,contentHash:R})),v=s.length;if(r.customAggregator){if(za(r.customAggregator,e.source),!t)throw new Error("Custom metrics require an isolated executor.");if(s.length){let f=await t({source:e.source,module:r.customAggregator.module,exportName:r.customAggregator.exportName,scores:s,timeoutMs:r.customAggregator.timeoutMs,signal:e.signal});if(typeof f!="number"||!Number.isFinite(f)||f<0||f>1)throw new Error("Custom metric must return a finite number between 0 and 1.");d=f}}else if(s.length){let f=m.reduce((R,_)=>R+_,0);d=s.reduce((R,_,S)=>R+_*(m[S]/f),0),d=Math.max(0,Math.min(1,d))}e.signal?.throwIfAborted();let b=qt.parse({schemaVersion:"openpond.tasksetMetricResult.v1",runManifest:{id:i.id,contentHash:i.contentHash},tasksetRelease:i.tasksetRelease,policy:r,policyHash:c(r),receiptRefs:u,includedCount:v,missingRewardCount:l,excludedCount:u.length-v,value:d});return Ce.parse({...b,contentHash:c(b)})}o(Oa,"executeTasksetMetric");function za(e,t){if(t===void 0||new TextEncoder().encode(t).byteLength>524288||_t(t)!==e.contentHash)throw new Error("Metric module bytes do not match the pinned content hash or exceed the source limit.")}o(za,"assertMetricSource");var Sn=a.string().trim().min(1).max(1e5),Cn=a.enum(["no_training","sft","preference","rl"]),En=a.object({kind:a.enum(["none","demonstrations","chosen_rejected","scalar_reward"]),strength:a.enum(["absent","weak","usable"]),calibrated:a.boolean(),confounded:a.boolean(),variance:a.number().finite().nonnegative().nullable(),evidenceRefs:a.array(p).max(1e5)}).strict(),gt=a.object({schemaVersion:a.literal("openpond.modelImprovementQualificationReceipt.v1"),id:h,review:p,harnessRelease:p,tasksetRelease:p.nullable(),baselineEvaluation:p.nullable(),model:O,environmentHash:g.nullable(),toolContractHash:g.nullable(),permissionContractHash:g.nullable(),policyHash:g.nullable(),verifierRef:p.nullable(),sourcePolicies:a.array(Ht).max(1e4),trainingEvidenceRefs:a.array(p).max(1e5),frozenEvaluationEvidenceRefs:a.array(p).max(1e5),privacyApproval:p.nullable(),budgetApproval:p.nullable(),maximumCostUsd:a.number().finite().nonnegative(),signal:En,decision:Cn,reasons:a.array(Sn).min(1).max(100),createdAt:y,metadata:w}).strict().superRefine((e,t)=>{let r=new Set(e.trainingEvidenceRefs.map(ja));if(e.frozenEvaluationEvidenceRefs.some(n=>r.has(ja(n)))&&t.addIssue({code:"custom",message:"frozen Evaluation evidence cannot be used as training evidence",path:["frozenEvaluationEvidenceRefs"]}),e.decision==="no_training")return;(!e.tasksetRelease||!e.baselineEvaluation||!e.environmentHash||!e.toolContractHash||!e.permissionContractHash||!e.policyHash||!e.verifierRef||!e.privacyApproval||!e.budgetApproval||e.sourcePolicies.length===0||e.sourcePolicies.some(n=>n.state!=="authorized")||e.trainingEvidenceRefs.length===0||e.signal.strength!=="usable"||!e.signal.calibrated||e.signal.confounded)&&t.addIssue({code:"custom",message:"qualified model improvement requires frozen lineage, authorized signal, privacy, and budget gates"}),e.decision==="sft"&&e.signal.kind!=="demonstrations"&&t.addIssue({code:"custom",message:"SFT qualification requires demonstration signal",path:["signal","kind"]}),e.decision==="preference"&&e.signal.kind!=="chosen_rejected"&&t.addIssue({code:"custom",message:"preference qualification requires chosen/rejected signal",path:["signal","kind"]}),e.decision==="rl"&&(e.signal.kind!=="scalar_reward"||e.signal.variance===null||e.signal.variance<=0)&&t.addIssue({code:"custom",message:"RL qualification requires a usable scalar reward with variance",path:["signal"]})}),Va=gt.extend({contentHash:g}).strict();function vt(e){let t=gt.parse(e);return Va.parse({...t,contentHash:c(t)})}o(vt,"createModelImprovementQualificationReceipt");function yo(e){let t=Va.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(gt.parse(i))===r}o(yo,"verifyModelImprovementQualificationReceipt");function ja(e){return`${e.id}:${e.contentHash}`}o(ja,"refKey");var Ba=a.object({schemaVersion:a.literal("openpond.profileEvaluationComparison.v1"),id:h,tasksetRelease:p,populationHash:g,environmentHash:g,metricPolicyHash:g,limitsHash:g,members:a.array(a.object({runManifest:p,metricResultHash:g,source:Te,policy:j.shape.policy,score:a.number().min(0).max(1).nullable()}).strict()).min(2).max(100),createdAt:y}).strict(),_n=Ba.extend({contentHash:g}).strict();function _o(e){if(e.members.length<2)throw new Error("A comparison requires at least two runs.");let t=e.members.map(({manifest:d,result:u})=>{if(j.parse(d),I(d,"Taskset run manifest"),Ee(u),!d.profileEvaluation||d.execution.kind!=="harness")throw new Error("Profile comparison requires released Profile evaluation runs.");if(u.runManifest.id!==d.id||u.runManifest.contentHash!==d.contentHash||u.tasksetRelease.id!==d.tasksetRelease.id||u.tasksetRelease.contentHash!==d.tasksetRelease.contentHash||u.policyHash!==c(d.metricPolicy))throw new Error("Profile comparison metric differs from its run manifest.");return{manifest:d,result:u,source:d.profileEvaluation}}),r=t[0],i=c(r.manifest.population.map(({taskId:d,seed:u,fixtureId:v})=>({taskId:d,seed:u,fixtureId:v}))),n=c(r.manifest.metricPolicy),s=c(r.manifest.limits),m=new Set;for(let d of t){if(m.has(d.manifest.id))throw new Error("Profile comparison repeats a run.");if(m.add(d.manifest.id),d.manifest.tasksetRelease.id!==r.manifest.tasksetRelease.id||d.manifest.tasksetRelease.contentHash!==r.manifest.tasksetRelease.contentHash||c(d.manifest.population.map(({taskId:u,seed:v,fixtureId:b})=>({taskId:u,seed:v,fixtureId:b})))!==i||d.source.environmentHash!==r.source.environmentHash||c(d.manifest.metricPolicy)!==n||c(d.manifest.limits)!==s||d.manifest.runtimeTarget.adapterId!==r.manifest.runtimeTarget.adapterId||d.manifest.runtimeTarget.placement!==r.manifest.runtimeTarget.placement||d.manifest.runtimeTarget.runtimeVersion!==r.manifest.runtimeTarget.runtimeVersion)throw new Error("Profile comparison runs differ in frozen tasks, environment, grading, limits, or runtime.")}let l=Ba.parse({schemaVersion:"openpond.profileEvaluationComparison.v1",id:e.id,tasksetRelease:r.manifest.tasksetRelease,populationHash:i,environmentHash:r.source.environmentHash,metricPolicyHash:n,limitsHash:s,members:t.map(({manifest:d,result:u,source:v})=>({runManifest:{id:d.id,contentHash:d.contentHash},metricResultHash:u.contentHash,source:v,policy:d.policy,score:u.value})),createdAt:e.createdAt});return _n.parse({...l,contentHash:c(l)})}o(_o,"createProfileEvaluationComparison");var Hn=a.object({profileId:h,sourceRevision:a.string().trim().min(1).max(240),harnessRelease:p}).strict(),An=a.object({kind:a.enum(["run","suite","comparison"]),id:h,contentHash:g}).strict(),$a=a.object({schemaVersion:a.literal("openpond.profileEvaluationReport.v1"),id:h,createdAt:y,testedSources:a.array(Hn).min(1).max(100),tasksetReleases:a.array(p).min(1).max(100),metricPolicyHashes:a.array(g).min(1).max(100),modelConfigurationHashes:a.array(g).min(1).max(100),evidence:a.array(An).min(1).max(100),summary:a.object({totalChecks:a.number().int().nonnegative(),passedChecks:a.number().int().nonnegative(),failedChecks:a.number().int().nonnegative(),unscoredChecks:a.number().int().nonnegative(),meanScore:a.number().min(0).max(1).nullable()}).strict()}).strict().superRefine((e,t)=>{let{summary:r}=e;r.passedChecks+r.failedChecks+r.unscoredChecks!==r.totalChecks&&t.addIssue({code:"custom",path:["summary"],message:"Report check counts must add up."}),new Set(e.evidence.map(({kind:i,id:n})=>`${i}:${n}`)).size!==e.evidence.length&&t.addIssue({code:"custom",path:["evidence"],message:"Report evidence must be unique."})}),Da=$a.safeExtend({contentHash:g});function Io(e){let t=$a.parse(e);return Da.parse({...t,contentHash:c(t)})}o(Io,"createProfileEvaluationReport");function Po(e){let t=Da.parse(e),{contentHash:r,...i}=t;if(c(i)!==r)throw new Error("Profile evaluation report content hash differs from its source bytes.");return t}o(Po,"assertProfileEvaluationReport");var Na=a.object({schemaVersion:a.literal("openpond.profileEvaluationSuiteRun.v1"),id:h,suiteId:h,suiteHash:g,catalogHash:g,profileId:h,sourceRevision:a.string().trim().min(1).max(240),harnessRelease:p,members:a.array(a.object({definitionId:h,runManifest:p,runHash:g,passed:a.boolean(),score:a.number().min(0).max(1).nullable()}).strict()).min(1).max(1e3),passed:a.boolean(),createdAt:y,completedAt:y}).strict(),Tn=Na.extend({contentHash:g}).strict();function $o(e){let t=Ae.parse(e.catalog),r=t.suites.find(l=>l.id===e.suiteId);if(!r)throw new Error(`Profile evaluation suite ${e.suiteId} is absent from its catalog.`);if(e.members.length!==r.definitionIds.length)throw new Error("Profile evaluation suite has an incomplete run population.");let i=e.members.map((l,d)=>{let u=r.definitionIds[d],v=t.definitions.find(R=>R.id===u);if(!v||l.definitionId!==u)throw new Error("Profile evaluation suite members differ from declared definition order.");let b=j.parse(l.manifest);I(b,"Profile evaluation suite member manifest");let f=b.profileEvaluation;if(!f||b.execution.kind!=="harness"||f.definitionId!==u||f.definitionHash!==c(v)||c(f.target)!==c(v.target)||f.catalogHash!==c(t)||b.tasksetRelease.id!==v.tasksetRelease.id||b.tasksetRelease.contentHash!==v.tasksetRelease.contentHash)throw new Error("Profile evaluation suite member differs from its released definition.");return{...l,manifest:b,source:f}}),n=i[0].source,s=i[0].manifest.policy;if(s.kind!=="model")throw new Error("Profile evaluation suite requires model runs.");for(let l of i){if(l.source.profileId!==n.profileId||l.source.sourceRevision!==n.sourceRevision||l.source.harnessRelease.id!==n.harnessRelease.id||l.source.harnessRelease.contentHash!==n.harnessRelease.contentHash)throw new Error("Profile evaluation suite members use different Profile releases.");let d=l.manifest.policy;if(d.kind!=="model"||c(d)!==c(s))throw new Error("Profile evaluation suite members use different model configurations.")}let m=Na.parse({schemaVersion:"openpond.profileEvaluationSuiteRun.v1",id:e.id,suiteId:r.id,suiteHash:c(r),catalogHash:c(t),profileId:n.profileId,sourceRevision:n.sourceRevision,harnessRelease:n.harnessRelease,members:i.map(l=>({definitionId:l.definitionId,runManifest:{id:l.manifest.id,contentHash:l.manifest.contentHash},runHash:l.runHash,passed:l.passed,score:l.score})),passed:i.every(l=>l.passed),createdAt:e.createdAt,completedAt:e.completedAt});return Tn.parse({...m,contentHash:c(m)})}o($o,"createProfileEvaluationSuiteRun");var Mn=a.object({sessionId:a.string().trim().min(1).max(500),turnId:a.string().trim().min(1).max(500)}).strict();async function Jo(e){Pa(e.manifest,e.taskset,e.catalog),Ve(e.taskset,e.metricSource);let t=e.manifest.profileEvaluation,r=e.catalog.definitions.find(d=>d.id===t.definitionId),i=new Map(e.taskset.tasks.map(d=>[d.id,d])),n=[],s=[];for(let d of e.manifest.population){e.signal?.throwIfAborted();let u=i.get(d.taskId),v=await e.loadCompletedMember?.(d)??null;if(v){let{receipt:T,grade:q}=v,{contentHash:B,...M}=It.parse(q);if(!P(T)||B!==c(M)||T.id!==d.receiptId||T.runManifest.id!==e.manifest.id||T.runManifest.contentHash!==e.manifest.contentHash||T.taskId!==d.taskId||T.seed!==d.seed||T.graderEvidenceRefs.length!==1||T.graderEvidenceRefs[0]?.contentHash!==B||q.taskHash!==c(u)||q.graderSetHash!==c(e.taskset.graders)||T.metadata.score!==q.score||T.metadata.passed!==q.passed)throw new Error(`Retained Profile evaluation member ${d.receiptId} differs from its admitted evidence.`);s.push(q),n.push(T);continue}let b=await e.execute({task:jt(u),seed:d.seed,source:t,...e.signal?{signal:e.signal}:{}});e.signal?.throwIfAborted();let f=await Pt({task:u,evidence:b.evidence,graders:e.taskset.graders,...e.modelJudge?{modelJudge:e.modelJudge}:{},...e.customVerifier?{customVerifier:e.customVerifier}:{},...e.signal?{signal:e.signal}:{}}),R=A.parse(await e.saveGrade(f));if(R.contentHash!==f.contentHash)throw new Error("Stored Profile evaluation grade differs from its graded evidence.");let _=b.failureClass??f.failureClass,S=Ie({schemaVersion:"openpond.attemptReceipt.v1",id:d.receiptId,runManifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},taskId:d.taskId,seed:d.seed,terminal:b.terminal,failureClass:_,outputHash:b.evidence.infrastructureError?null:c(b.evidence.output),traceHash:b.traceHash,artifactRefs:b.artifactRefs,graderEvidenceRefs:[R],startedAt:b.startedAt,completedAt:b.completedAt,latencyMs:b.latencyMs,costUsd:b.costUsd,metadata:{gradingRole:"evaluation",score:f.score,passed:f.passed,rewardEligible:f.rewardEligible,sourceRevision:t.sourceRevision,definitionHash:t.definitionHash,environmentHash:t.environmentHash,...b.retainedEvidenceRef?{retainedEvidenceRef:Mn.parse(b.retainedEvidenceRef)}:{}}});await e.saveReceipt(S),s.push(f),n.push(S)}let m=await qa({manifest:e.manifest,taskset:e.taskset,receipts:n,...e.metricSource!==void 0?{source:e.metricSource}:{},...e.signal?{signal:e.signal}:{}},e.metricExecutor),l=s.filter(d=>d.passed).length/s.length;return{receipts:n,grades:s,metric:m,passRate:l,passed:l>=r.criterion.minimumPassRate&&(!r.criterion.requireComplete||n.every(d=>d.terminal))}}o(Jo,"executeProfileEvaluationRun");var be="2026-08-08T12:00:00.000Z",Fa=C("harness-release"),Wa={policy:C("source-policy"),state:"authorized",checkedAt:be},J=o((e,t)=>({evidence:C(e),kind:t,sourceRef:`source-${e}`,sourcePolicy:Wa,occurrenceKey:c(`occurrence-${e}`),occurredAt:be}),"evidence"),In={cursor:c("review-watermark"),throughCreatedAt:be},Be=o((e,t=3)=>({fingerprint:c(`claim-${e}`),recurrenceFamily:e,statement:`The ${e} behavior remains unresolved after smaller-layer triage.`,independentOccurrences:t,unresolvedOccurrences:t}),"claim"),ye=Y({schemaVersion:"openpond.harnessEvaluationReviewReceipt.v1",id:"review-no-action",ownerScope:{kind:"personal",id:"owner-1"},workspaceRef:"workspace-1",harnessRelease:Fa,previousWatermark:null,nextWatermark:In,selectedEvidence:[],excludedEvidence:[],claim:null,classification:"no_action",triage:[],reason:"The bounded evidence window contains no unresolved reusable claim.",nextAuthority:"none",maxEstimatedCostUsd:0,tasksetProposal:null,evaluation:null,trainingQualification:null,policyVersion:"harness-review-policy-v1",createdAt:be,metadata:{}}),Pn=Y({...Re(ye),id:"review-runtime",selectedEvidence:[J("runtime-failure","observation")],claim:Be("runtime-transport-failure",1),classification:"runtime",triage:[{layer:"runtime",status:"unresolved",reason:"The adapter failed before model policy could affect the result.",evidenceRefs:[C("runtime-failure")]}],reason:"A deterministic runtime regression is the smallest correct fix.",nextAuthority:"runtime_service"}),qn=Y({...Re(ye),id:"review-product",selectedEvidence:[J("product-routing","route_decision")],claim:Be("product-routing-defect",1),classification:"product",triage:[{layer:"product",status:"unresolved",reason:"The product selected an unrelated Skill for an ordinary Work turn.",evidenceRefs:[C("product-routing")]}],reason:"Product routing must be corrected before behavioral Evaluation.",nextAuthority:"product_team"}),La=Y({...Re(ye),id:"review-taskset",selectedEvidence:[J("failure-1","work_outcome"),J("failure-2","work_outcome"),J("failure-3","work_outcome")],claim:Be("search-budget-allocation"),classification:"taskset",triage:[{layer:"harness",status:"unresolved",reason:"The active research Skill did not resolve three independent failures.",evidenceRefs:[C("failure-1"),C("failure-2"),C("failure-3")]}],reason:"The repeated behavioral claim now needs controlled measurement.",nextAuthority:"human_review",tasksetProposal:C("taskset-proposal"),maxEstimatedCostUsd:2}),Ua=vt({schemaVersion:"openpond.modelImprovementQualificationReceipt.v1",id:"qualification-rl-blocked",review:yt(La),harnessRelease:Fa,tasksetRelease:C("taskset-release"),baselineEvaluation:C("baseline-evaluation"),model:zn(),environmentHash:c("environment"),toolContractHash:c("tools"),permissionContractHash:c("permissions"),policyHash:c("policy"),verifierRef:C("verifier"),sourcePolicies:[Wa],trainingEvidenceRefs:[C("training-evidence")],frozenEvaluationEvidenceRefs:[C("frozen-evidence")],privacyApproval:C("privacy-approval"),budgetApproval:C("budget-approval"),maximumCostUsd:25,signal:{kind:"scalar_reward",strength:"weak",calibrated:!0,confounded:!1,variance:0,evidenceRefs:[C("reward-audit")]},decision:"no_training",reasons:["The observed reward is constant and cannot support RL."],createdAt:be,metadata:{blockedMethod:"rl"}}),bt=vt({...Re(Ua),id:"qualification-rl-qualified",signal:{kind:"scalar_reward",strength:"usable",calibrated:!0,confounded:!1,variance:.18,evidenceRefs:[C("reward-audit")]},decision:"rl",reasons:["The frozen baseline has usable variance and a calibrated sequential reward."]}),On=Y({...Re(ye),id:"review-model-improvement",selectedEvidence:[J("baseline-evaluation","evaluation"),J("qualification-rl-qualified","training_qualification")],claim:Be("search-budget-allocation"),classification:"model_improvement",triage:[{layer:"model",status:"unresolved",reason:"Harness, runtime, product, retrieval, and tool triage left a qualified sequential policy gap.",evidenceRefs:[C("baseline-evaluation"),yt(bt)]}],reason:"The qualified claim may proceed to a separately approved managed-training plan.",nextAuthority:"training_system",tasksetProposal:C("taskset-proposal"),evaluation:C("baseline-evaluation"),trainingQualification:yt(bt),maxEstimatedCostUsd:25}),tc={noAction:ye,runtime:Pn,product:qn,taskset:La,blockedRl:Ua,qualifiedRl:bt,modelImprovement:On};function C(e){return{id:e,contentHash:c(e)}}o(C,"ref");function yt(e){return{id:e.id,contentHash:e.contentHash}}o(yt,"reference");function Re(e){let{contentHash:t,...r}=e;return r}o(Re,"withoutHash");function zn(){return{provider:"openpond",model:"openpond-chat",revision:"model-revision-1",artifactHash:c("model-artifact"),tokenizerRevision:"tokenizer-1",chatTemplateHash:c("chat-template")}}o(zn,"modelRef");var jn=a.object({schemaVersion:a.literal("openpond.optimizerTrainingSample.v1"),tokenIds:a.array(a.number().int().nonnegative()).min(2).max(32768),mask:a.array(a.boolean()).min(2).max(32768),logprobs:a.array(a.number().finite()).min(2).max(32768),temperatures:a.array(a.number().positive().finite()).min(2).max(32768),envName:a.string().trim().min(1).max(200),modelRequestId:a.string().trim().min(1).max(1e3),promptTokenCount:a.number().int().positive(),completionTokenCount:a.number().int().positive(),servedPolicyVersion:a.number().int().nonnegative()}).strict().superRefine((e,t)=>{let r=e.tokenIds.length;for(let[i,n]of[["mask",e.mask],["logprobs",e.logprobs],["temperatures",e.temperatures]])n.length!==r&&t.addIssue({code:"custom",path:[i],message:`${i} must align with tokenIds`});e.promptTokenCount+e.completionTokenCount!==r&&t.addIssue({code:"custom",path:["completionTokenCount"],message:"prompt and completion token counts must span tokenIds"}),e.mask.filter(i=>!i).length!==e.promptTokenCount&&t.addIssue({code:"custom",path:["mask"],message:"promptTokenCount must equal the non-trainable mask count"}),e.mask.filter(Boolean).length!==e.completionTokenCount&&t.addIssue({code:"custom",path:["mask"],message:"completionTokenCount must equal the trainable mask count"})}),Vn=a.object({id:h,environmentRelease:p,status:a.enum(["completed","failed","timed_out","cancelled"]),startedAt:y,completedAt:y,traceRefs:a.array(A).max(1e4),metadata:w}).strict(),Bn=a.object({receiptRef:p,status:Pe,value:a.number().min(0).max(1).nullable(),learningEligible:a.boolean(),passed:a.boolean(),outcomeClass:Ze,failureOwner:oe.nullable(),components:a.record(h,a.number().min(0).max(1).nullable())}).strict(),Ka=a.object({schemaVersion:a.literal("openpond.canonicalRolloutRecord.v1"),id:h,attemptRef:p,artifactManifestRef:p,tasksetRelease:p,environmentRelease:p,verifierSetRelease:p,harnessRelease:p,taskId:h,split:L,model:O,seed:a.string().trim().min(1).max(500),reward:Bn,traceRef:A,optimizerSample:jn.nullable(),environmentExecutions:a.array(Vn).min(1).max(1e5),startedAt:y,completedAt:y,metadata:w}).strict();function Ga(e,t){e.reward.status==="scored"&&(e.reward.value===null||!e.reward.learningEligible)&&t.addIssue({code:"custom",path:["reward","status"],message:"A scored rollout requires a numeric, learning-eligible reward."}),e.reward.status==="unscorable"&&(e.reward.value!==null||e.reward.learningEligible)&&t.addIssue({code:"custom",path:["reward","status"],message:"An unscorable rollout has no reward and cannot be learning-eligible."})}o(Ga,"validateCanonicalRolloutRecord");var Qa=Ka.superRefine(Ga),Rt=a.object({...Ka.shape,contentHash:g}).strict().superRefine(Ga),$n=a.object({schemaVersion:a.literal("openpond.rolloutQualification.v1"),rolloutCount:a.number().int().nonnegative(),scoredCount:a.number().int().nonnegative(),optimizerEligibleCount:a.number().int().nonnegative(),unscorableCount:a.number().int().nonnegative(),zeroRewardCount:a.number().int().nonnegative(),rewardMean:a.number().min(0).max(1).nullable(),rewardVariance:a.number().nonnegative().nullable(),distinctRewardCount:a.number().int().nonnegative(),eligibleForRl:a.boolean(),reasons:a.array(a.string().trim().min(1).max(1e3)).max(100)}).strict();function lc(e){let t=N.parse(e.attemptReceipt);if(!P(t))throw new Error("Rollout Attempt Receipt failed content-hash verification.");let r=de.parse(e.rewardReceipt);if(r.attemptRef.id!==t.id||r.attemptRef.contentHash!==t.contentHash)throw new Error("Rollout Attempt Receipt does not match its Reward Receipt.");if(r.artifactManifestRef.id!==e.artifactManifestRef.id||r.artifactManifestRef.contentHash!==e.artifactManifestRef.contentHash)throw new Error("Rollout Artifact Manifest does not match its Reward Receipt.");if(e.environmentExecutions.some(n=>n.environmentRelease.id!==e.environmentRelease.id||n.environmentRelease.contentHash!==e.environmentRelease.contentHash))throw new Error("Rollout Environment execution does not match its admitted Environment Release.");let i=Qa.parse({schemaVersion:"openpond.canonicalRolloutRecord.v1",id:e.id,attemptRef:r.attemptRef,artifactManifestRef:e.artifactManifestRef,tasksetRelease:e.tasksetRelease,environmentRelease:e.environmentRelease,verifierSetRelease:r.verifierSetRef,harnessRelease:e.harnessRelease,taskId:e.taskId,split:e.split,model:e.model,seed:e.seed,reward:{receiptRef:{id:r.id,contentHash:r.contentHash},status:r.status,value:r.reward,learningEligible:r.learningEligible,passed:r.passed,outcomeClass:r.outcomeClass,failureOwner:r.failureOwner,components:Object.fromEntries(r.components.map(n=>[n.verifierId,n.rewardContribution]))},traceRef:e.traceRef,optimizerSample:e.optimizerSample,environmentExecutions:e.environmentExecutions,startedAt:e.startedAt,completedAt:e.completedAt,metadata:e.metadata??{}});return Rt.parse({...i,contentHash:c(i)})}o(lc,"createCanonicalRolloutRecord");function dc(e){let t=Rt.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data,n=Qa.safeParse(i);return n.success&&c(n.data)===r}o(dc,"verifyCanonicalRolloutRecord");function Dn(e){return e.filter(t=>t.reward.status==="scored"&&t.reward.learningEligible&&t.reward.value!==null&&t.optimizerSample!==null)}o(Dn,"optimizerEligibleRollouts");function mc(e){let t=e.records.map(f=>Rt.parse(f)),r=t.filter(f=>f.reward.status==="scored"&&f.reward.learningEligible&&f.reward.value!==null),i=Dn(t),n=r.map(f=>f.reward.value),s=n.length?n.reduce((f,R)=>f+R,0)/n.length:null,m=s===null?null:n.reduce((f,R)=>f+(R-s)**2,0)/n.length,l=new Set(n.map(f=>f.toPrecision(12))).size,d=e.minimumScoredRollouts??2,u=e.minimumDistinctRewards??2,v=e.minimumRewardVariance??Number.EPSILON,b=[];return r.length<d&&b.push(`Requires at least ${d} scored rollouts.`),i.length!==r.length&&b.push("Every scored rollout requires aligned optimizer token evidence."),l<u&&b.push(`Requires at least ${u} distinct reward values.`),(m===null||m<v)&&b.push(`Reward variance must be at least ${v}.`),$n.parse({schemaVersion:"openpond.rolloutQualification.v1",rolloutCount:t.length,scoredCount:r.length,optimizerEligibleCount:i.length,unscorableCount:t.length-r.length,zeroRewardCount:n.filter(f=>f===0).length,rewardMean:s,rewardVariance:m,distinctRewardCount:l,eligibleForRl:b.length===0,reasons:b})}o(mc,"qualifyRolloutBatch");var Nn="openpond.runTelemetryEvent.v1",Fn="openpond.metricDefinition.v1",Ja="openpond.metricObservation.v1",$e=a.enum(["policy_visible","team_visible","host_private"]),Wn=a.enum(["runtime","environment","grader","optimizer","control_plane","evaluation"]),Ln=a.enum(["run_started","run_state_changed","rollout_group_started","attempt_completed","grader_completed","reward_composed","optimizer_step_completed","checkpoint_committed","evaluation_completed","run_completed","run_failed","cleanup_completed"]),Za=a.object({modelProjectId:h,runId:h,modelVersionId:h.nullable(),harnessReleaseHash:g,tasksetReleaseHash:g,environmentReleaseHash:g.nullable(),checkpointId:h.nullable(),step:a.number().int().nonnegative().nullable(),rolloutGroupId:h.nullable(),attemptId:h.nullable(),scenarioId:h.nullable()}).strict(),Z=a.object({schemaVersion:a.literal(Nn),eventId:h,sequence:a.number().int().nonnegative(),occurredAt:y,source:Wn,type:Ln,visibility:$e,lineage:Za,attributes:w}).strict(),Un=a.enum(["gauge","counter","distribution"]),Kn=a.enum(["ratio","count","seconds","milliseconds","tokens","bytes","usd","scalar"]),Gn=a.enum(["higher","lower","neutral"]),Qn=a.enum(["last","sum","mean","min","max","p50","p95"]),wt=a.object({schemaVersion:a.literal(Fn),id:h,displayName:a.string().trim().min(1).max(200),description:a.string().trim().min(1).max(2e3),valueType:Un,unit:Kn,direction:Gn,aggregation:Qn,visibility:$e,boundedDimensions:a.array(a.string().trim().min(1).max(100)).max(32)}).strict(),we=a.object({schemaVersion:a.literal(Ja),observationId:h,metricId:h,eventId:h,sequence:a.number().int().nonnegative(),observedAt:y,value:a.number().finite(),lineage:Za,dimensions:a.record(a.string().trim().min(1).max(100),a.string().max(500))}).strict(),gc=a.object({schemaVersion:a.literal("openpond.runTelemetryBatch.v1"),events:a.array(Z).max(1e3),observations:a.array(we).max(1e4)}).strict().superRefine((e,t)=>{e.events.length+e.observations.length===0&&t.addIssue({code:"custom",message:"Telemetry batch cannot be empty."});let r=new Set;for(let i of[...e.events,...e.observations]){let n=i.schemaVersion===Ja?i.observationId:i.eventId,s=`${i.lineage.runId}:${i.sequence}:${n}`;r.has(s)&&t.addIssue({code:"custom",message:"Telemetry batch contains a duplicate idempotency key."}),r.add(s)}});var E=o(e=>wt.parse({schemaVersion:"openpond.metricDefinition.v1",...e}),"definition"),Ya=[E({id:"reward.mean",displayName:"Mean reward",description:"Mean composed reward for the cohort.",valueType:"gauge",unit:"scalar",direction:"higher",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split","grader"]}),E({id:"reward.variance",displayName:"Reward variance",description:"Population variance of composed reward within a rollout group.",valueType:"gauge",unit:"scalar",direction:"neutral",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"reward.constant_group_rate",displayName:"Constant group rate",description:"Fraction of rollout groups with no reward variation.",valueType:"gauge",unit:"ratio",direction:"lower",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"attempt.valid_rate",displayName:"Valid attempt rate",description:"Fraction of attempts passing deterministic validity checks.",valueType:"gauge",unit:"ratio",direction:"higher",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split","failureOwner"]}),E({id:"attempt.failure_count",displayName:"Attempt failures",description:"Count of failed Attempts.",valueType:"counter",unit:"count",direction:"lower",aggregation:"sum",visibility:"team_visible",boundedDimensions:["split","failureOwner","failureClass"]}),E({id:"optimizer.loss",displayName:"Optimizer loss",description:"Policy optimizer loss after the step.",valueType:"gauge",unit:"scalar",direction:"neutral",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"optimizer.learning_rate",displayName:"Learning rate",description:"Optimizer learning rate after the step.",valueType:"gauge",unit:"scalar",direction:"neutral",aggregation:"last",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"optimizer.kl",displayName:"Policy update KL",description:"Sampled approximate KL between the frozen pre-update policy and the policy after the optimizer step.",valueType:"gauge",unit:"scalar",direction:"lower",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"optimizer.entropy",displayName:"Policy entropy",description:"Observed policy entropy for trainable tokens.",valueType:"gauge",unit:"scalar",direction:"neutral",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"optimizer.gradient_norm",displayName:"Gradient norm",description:"Gradient norm reported by the optimizer.",valueType:"gauge",unit:"scalar",direction:"neutral",aggregation:"max",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"optimizer.clip_fraction",displayName:"Clip fraction",description:"Fraction of policy updates affected by clipping.",valueType:"gauge",unit:"ratio",direction:"neutral",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"output.duplicate_rate",displayName:"Duplicate output rate",description:"Fraction of outputs duplicated within the measured cohort.",valueType:"gauge",unit:"ratio",direction:"lower",aggregation:"mean",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"output.unique_count",displayName:"Unique outputs",description:"Distinct output count in the measured cohort.",valueType:"gauge",unit:"count",direction:"higher",aggregation:"last",visibility:"team_visible",boundedDimensions:["split"]}),E({id:"tokens.input",displayName:"Input tokens",description:"Input tokens processed.",valueType:"counter",unit:"tokens",direction:"neutral",aggregation:"sum",visibility:"team_visible",boundedDimensions:["split","source"]}),E({id:"tokens.output",displayName:"Output tokens",description:"Output tokens generated.",valueType:"counter",unit:"tokens",direction:"neutral",aggregation:"sum",visibility:"team_visible",boundedDimensions:["split","source"]}),E({id:"runtime.latency_ms",displayName:"Runtime latency",description:"Wall-clock latency of the measured operation.",valueType:"distribution",unit:"milliseconds",direction:"lower",aggregation:"p95",visibility:"team_visible",boundedDimensions:["operation","provider"]}),E({id:"runtime.throughput",displayName:"Token throughput",description:"Tokens processed per second.",valueType:"gauge",unit:"scalar",direction:"higher",aggregation:"mean",visibility:"team_visible",boundedDimensions:["operation","provider"]}),E({id:"gpu.memory_bytes",displayName:"GPU memory",description:"Peak allocated GPU memory.",valueType:"gauge",unit:"bytes",direction:"neutral",aggregation:"max",visibility:"host_private",boundedDimensions:["provider","gpuType"]}),E({id:"gpu.utilization",displayName:"GPU utilization",description:"Observed GPU utilization ratio.",valueType:"gauge",unit:"ratio",direction:"neutral",aggregation:"mean",visibility:"host_private",boundedDimensions:["provider","gpuType"]}),E({id:"cost.usd",displayName:"Run cost",description:"Accrued hosted execution cost.",valueType:"counter",unit:"usd",direction:"lower",aggregation:"sum",visibility:"team_visible",boundedDimensions:["provider","resource"]})],Jn=new Map(Ya.map(e=>[e.id,e]));function Xa(e){return Jn.get(e)}o(Xa,"getCoreMetricDefinition");function er(e){return Zn(e,Ya)}o(er,"validateCoreMetricObservation");function Zn(e,t){xt.parse(t);let r=t.find(n=>n.id===e.metricId);if(!r)throw new Error(`Unknown metric: ${e.metricId}`);let i=Object.keys(e.dimensions).filter(n=>!r.boundedDimensions.includes(n));if(i.length)throw new Error(`Metric ${e.metricId} has unsupported dimensions: ${i.join(", ")}`);if(r.unit==="ratio"&&(e.value<0||e.value>1))throw new Error(`Ratio metric ${e.metricId} must be between zero and one.`);return e}o(Zn,"validateMetricObservation");var xt=a.array(wt).min(1).superRefine((e,t)=>{new Set(e.map(r=>r.id)).size!==e.length&&t.addIssue({code:"custom",message:"Metric catalog contains duplicate ids."})});var Yn=a.object({checkpointIds:a.array(h).max(1e3),steps:a.array(a.number().int().nonnegative()).max(1e4),scenarioIds:a.array(h).max(1e5),rolloutGroupIds:a.array(h).max(1e5),attemptIds:a.array(h).max(1e6),splits:a.array(a.string().trim().min(1).max(100)).max(32),failureOwners:a.array(a.string().trim().min(1).max(100)).max(32),graders:a.array(a.string().trim().min(1).max(200)).max(1e3),rewardEligible:a.boolean().nullable()}).strict(),ar=a.object({id:h,contentHash:g,kind:a.enum(["rollout","attempt","trace","grader","checkpoint","artifact"]),visibility:$e}).strict(),kt=a.object({schemaVersion:a.literal("openpond.telemetryEvidenceCompleteness.v1"),runId:h,status:a.enum(["complete","partial","missing"]),expectedEventTypes:a.array(a.string().trim().min(1).max(100)).max(100),observedEventTypes:a.array(a.string().trim().min(1).max(100)).max(100),missingEventTypes:a.array(a.string().trim().min(1).max(100)).max(100),lastSequence:a.number().int().nonnegative().nullable(),sequenceGaps:a.array(a.number().int().nonnegative()).max(1e4)}).strict(),Xn=a.object({step:a.number().int().nonnegative().nullable(),observedAt:y,value:a.number().finite(),sampleCount:a.number().int().positive()}).strict(),ei=a.object({schemaVersion:a.literal("openpond.runMetricSummary.v1"),runId:h,metricId:h,aggregation:a.enum(["last","sum","mean","min","max","p50","p95"]),value:a.number().finite().nullable(),sampleCount:a.number().int().nonnegative(),series:a.array(Xn).max(1e5)}).strict();function Ec(e){let t=c({runId:e.lineage.runId,sequence:e.sequence,type:e.type,source:e.source});return Z.parse({schemaVersion:"openpond.runTelemetryEvent.v1",eventId:`telemetry-${t.slice(0,32)}`,...e,attributes:e.attributes??{}})}o(Ec,"createRunTelemetryEvent");function _c(e){let t=c({runId:e.lineage.runId,metricId:e.metricId,sequence:e.sequence});return er(we.parse({schemaVersion:"openpond.metricObservation.v1",observationId:`metric-${t.slice(0,32)}`,...e,dimensions:e.dimensions??{}}))}o(_c,"createMetricObservation");function ti(e){let t=e.schemaVersion==="openpond.metricObservation.v1"?e.observationId:e.eventId;return`${e.lineage.runId}:${e.sequence}:${t}`}o(ti,"telemetryIdempotencyKey");function Hc(e){let t=new Map,r=new Map;for(let n of[...e.events,...e.observations]){let s=ti(n),m=t.get(s);if(m){if(c(m)!==c(n))throw new Error(`Telemetry idempotency conflict: ${s}`);continue}let l=`${n.lineage.runId}:${n.sequence}`,d=r.get(l);if(d&&d!==s)throw new Error(`Telemetry sequence conflict: ${l}`);r.set(l,s),t.set(s,n)}let i=[...t.values()].sort((n,s)=>n.sequence-s.sequence);return{events:i.filter(n=>n.schemaVersion==="openpond.runTelemetryEvent.v1"),observations:i.filter(n=>n.schemaVersion==="openpond.metricObservation.v1")}}o(Hc,"mergeTelemetryItems");function W(e,t){return e.length===0||t!==null&&e.includes(t)}o(W,"matchesOptionalSet");function Ac(e){let t=Yn.parse(e.cohort),r=o(n=>W(t.checkpointIds,n.checkpointId)&&W(t.steps,n.step)&&W(t.scenarioIds,n.scenarioId)&&W(t.rolloutGroupIds,n.rolloutGroupId)&&W(t.attemptIds,n.attemptId),"lineageMatches"),i=o(n=>W(t.splits,typeof n.split=="string"?n.split:null)&&W(t.failureOwners,typeof n.failureOwner=="string"?n.failureOwner:null)&&W(t.graders,typeof n.grader=="string"?n.grader:null)&&(t.rewardEligible===null||n.rewardEligible===t.rewardEligible),"attributeMatches");return{events:e.events.filter(n=>r(n.lineage)&&i(n.attributes)),observations:e.observations.filter(n=>r(n.lineage)&&i(n.dimensions))}}o(Ac,"filterTelemetryCohort");function rr(e){let t=e.events.filter(d=>d.lineage.runId===e.runId).sort((d,u)=>d.sequence-u.sequence),r=[...new Set(t.map(d=>d.type))].sort(),i=[...new Set(e.expectedEventTypes)].filter(d=>!r.includes(d)).sort(),n=[...new Set(t.map(d=>d.sequence))].sort((d,u)=>d-u),s=t.at(-1)?.sequence??null,m=[],l=0;for(let d of n){for(;l<d&&m.length<1e4;)m.push(l++);l=d+1}return kt.parse({schemaVersion:"openpond.telemetryEvidenceCompleteness.v1",runId:e.runId,status:t.length===0?"missing":i.length||m.length?"partial":"complete",expectedEventTypes:[...new Set(e.expectedEventTypes)].sort(),observedEventTypes:r,missingEventTypes:i,lastSequence:s,sequenceGaps:m})}o(rr,"deriveEvidenceCompleteness");function tr(e,t){if(!e.length)return null;if(t==="last")return e.at(-1)??null;if(t==="sum")return e.reduce((n,s)=>n+s,0);if(t==="mean")return e.reduce((n,s)=>n+s,0)/e.length;if(t==="min")return Math.min(...e);if(t==="max")return Math.max(...e);let r=[...e].sort((n,s)=>n-s),i=t==="p50"?.5:.95;return r[Math.min(r.length-1,Math.ceil(r.length*i)-1)]??null}o(tr,"aggregate");function Tc(e,t,r){let i=Xa(t);if(!i)throw new Error(`Unknown core metric: ${t}`);let n=r.filter(l=>l.lineage.runId===e&&l.metricId===t).sort((l,d)=>l.sequence-d.sequence),s=new Map;for(let l of n){let d=l.lineage.step===null?`time:${l.observedAt}`:`step:${l.lineage.step}`;s.set(d,[...s.get(d)??[],l])}let m=[...s.values()].map(l=>({step:l[0]?.lineage.step??null,observedAt:l[0]?.observedAt,value:tr(l.map(d=>d.value),i.aggregation),sampleCount:l.length})).filter(l=>l.value!==null&&l.observedAt!==void 0);return ei.parse({schemaVersion:"openpond.runMetricSummary.v1",runId:e,metricId:t,aggregation:i.aggregation,value:tr(n.map(l=>l.value),i.aggregation),sampleCount:n.length,series:m})}o(Tc,"summarizeMetric");function nr(e,t){let r={policy_visible:0,team_visible:1,host_private:2};return r[e.visibility]>r[t]?null:Z.parse(e)}o(nr,"redactTelemetryEvent");function ir(e,t){let r=new Set(t);return Z.parse({...e,attributes:Object.fromEntries(Object.entries(e.attributes).filter(([i])=>!r.has(i)))})}o(ir,"redactTelemetryAttributes");var St=a.object({schemaVersion:a.literal("openpond.telemetryExportBundle.v1"),id:h,runId:h,exportedAt:y,definitions:xt,events:a.array(Z).max(1e6),observations:a.array(we).max(1e7),evidenceRefs:a.array(ar).max(1e6),completeness:kt}).strict(),Ct=St.extend({contentHash:g}).strict();function ai(e){let t=St.parse(e);if(t.completeness.runId!==t.runId)throw new Error("Telemetry export completeness belongs to another Run.");if(t.events.some(r=>r.lineage.runId!==t.runId)||t.observations.some(r=>r.lineage.runId!==t.runId))throw new Error("Telemetry export bundle contains evidence from another Run.");return Ct.parse({...t,contentHash:c(t)})}o(ai,"createTelemetryExportBundle");function ri(e){let t=Ct.safeParse(e);if(!t.success)return!1;let{contentHash:r,...i}=t.data;return c(St.parse(i))===r}o(ri,"verifyTelemetryExportBundle");function Vc(e){let t=Ct.parse(e.bundle);if(!ri(t))throw new Error("Telemetry export bundle has an invalid content hash.");let r={policy_visible:0,team_visible:1,host_private:2},i=t.definitions.filter(l=>r[l.visibility]<=r[e.maximumVisibility]),n=new Set(i.map(l=>l.id)),s=t.events.flatMap(l=>{let d=nr(l,e.maximumVisibility);return d?[ir(d,e.deniedAttributeKeys??[])]:[]}),m=t.completeness.expectedEventTypes.filter(l=>s.some(d=>d.type===l));return ai({schemaVersion:"openpond.telemetryExportBundle.v1",id:e.id,runId:t.runId,exportedAt:e.exportedAt,definitions:i,events:s,observations:t.observations.filter(l=>n.has(l.metricId)),evidenceRefs:t.evidenceRefs.filter(l=>r[l.visibility]<=r[e.maximumVisibility]),completeness:rr({runId:t.runId,events:s,expectedEventTypes:m})})}o(Vc,"redactTelemetryExportBundle");export{We as a,Le as b,Ut as c,X as d,Ue as e,N as f,Kt as g,sr as h,Gt as i,Qt as j,oi as k,Ie as l,P as m,Jt as n,Zt as o,Ke as p,ci as q,Rn as r,wn as s,xn as t,Ia as u,j as v,ro as w,kn as x,ft as y,Pa as z,ht as A,qa as B,Ve as C,uo as D,Oa as E,hi as F,or as G,cr as H,Yt as I,Xt as J,lr as K,dr as L,ki as M,ea as N,ur as O,ta as P,pr as Q,Si as R,Ci as S,Ei as T,Pe as U,oe as V,Ze as W,ce as X,na as Y,gr as Z,ra as _,ee as $,K as aa,le as ba,te as ca,ia as da,V as ea,Ye as fa,de as ga,Vi as ha,la as ia,Bi as ja,$i as ka,Di as la,vr as ma,Ni as na,Fi as oa,Wi as pa,Li as qa,br as ra,yr as sa,Ji as ta,Zi as ua,xr as va,kr as wa,Sr as xa,ae as ya,tt as za,qe as Aa,at as Ba,ns as Ca,is as Da,_r as Ea,us as Fa,Oe as Ga,F as Ha,it as Ia,Tr as Ja,Mr as Ka,Ir as La,Pr as Ma,bs as Na,ks as Oa,qr as Pa,Is as Qa,Or as Ra,zr as Sa,ot as Ta,pa as Ua,ha as Va,ga as Wa,ya as Xa,Ra as Ya,xa as Za,ka as _a,Ca as $a,Ea as ab,Ps as bb,Gr as cb,qs as db,ct as eb,je as fb,Qr as gb,Os as hb,lt as ib,zs as jb,Jr as kb,js as lb,Zr as mb,Yr as nb,Vs as ob,pn as pb,fn as qb,ut as rb,Aa as sb,pt as tb,Ta as ub,bn as vb,Ws as wb,Ls as xb,Us as yb,Ks as zb,Cn as Ab,En as Bb,gt as Cb,Va as Db,vt as Eb,yo as Fb,Ba as Gb,_n as Hb,_o as Ib,$a as Jb,Da as Kb,Io as Lb,Po as Mb,Na as Nb,Tn as Ob,$o as Pb,Mn as Qb,Jo as Rb,tc as Sb,jn as Tb,Vn as Ub,Rt as Vb,$n as Wb,lc as Xb,dc as Yb,Dn as Zb,mc as _b,Nn as $b,Fn as ac,Ja as bc,$e as cc,Wn as dc,Ln as ec,Za as fc,Z as gc,Un as hc,Kn as ic,Gn as jc,Qn as kc,wt as lc,we as mc,gc as nc,Ya as oc,Xa as pc,er as qc,Zn as rc,xt as sc,Yn as tc,ar as uc,kt as vc,Xn as wc,ei as xc,Ec as yc,_c as zc,ti as Ac,Hc as Bc,Ac as Cc,rr as Dc,Tc as Ec,nr as Fc,ir as Gc,St as Hc,Ct as Ic,ai as Jc,ri as Kc,Vc as Lc};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{Ab as Q,Bb as W,Cb as P,L as S,O as J,P as K,S as q,h as R,rb as z,sb as U,ub as F,zb as G}from"./chunk-ACYFMLWG.js";import{f as $,m as r}from"./chunk-KGNCKIFP.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as I}from"./chunk-FTQLQJQV.js";var X=e.object({schemaVersion:e.literal("openpond.humanResultView.v1"),executionId:e.string().min(1),executionHash:e.string().regex(/^[a-f0-9]{64}$/),selection:e.array(S).max(1e4),coverage:e.object({pending:e.number().int().nonnegative(),submitted:e.number().int().nonnegative(),accepted:e.number().int().nonnegative(),rejected:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),results:e.array(e.object({review:S,decision:S.nullable(),attemptIds:e.array(e.string().min(1)).min(1).max(2),mode:e.enum(["individual","pairwise"]),origin:e.enum(["hosted_retained","recorded_evidence","owner_attested_local","native_local"]),status:e.enum(["pending","submitted","accepted","rejected","cancelled"]),grader:S,answers:e.array(J).max(100)}).strict()).max(1e4)}).strict(),M=X.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function Y(o){let m=o.reviews.map(s=>{let i=K.parse(s),{contentHash:p,...f}=i;if(r(f)!==p||!i.evidence.attempts.some(v=>v.experimentId===o.executionId))throw new R("human_result_selection_mismatch",409);return i});if(new Set(m.map(s=>s.id)).size!==m.length)throw new R("human_result_duplicate_review",422);let n=m.map(s=>{let i=s.decisions.at(-1);return{review:{id:s.id,revision:s.revision,contentHash:s.contentHash},decision:i?{id:i.id,revision:i.revision,contentHash:i.contentHash}:null,attemptIds:s.evidence.attempts.map(p=>p.attemptId),mode:s.form.mode,origin:s.evidence.attempts.some(p=>p.localSource?.kind==="owner_attested_local")?"owner_attested_local":s.evidence.attempts.some(p=>p.localSource?.kind==="native_local")?"native_local":s.evidence.attempts.some(p=>p.recordedSource)?"recorded_evidence":"hosted_retained",status:s.status==="accepted"?"accepted":s.status==="rejected"?"rejected":s.status==="cancelled"?"cancelled":s.status==="submitted"?"submitted":"pending",grader:s.evidence.grader,answers:s.status==="accepted"&&i?.outcome==="accept"?i.answers:[]}}),y={pending:0,submitted:0,accepted:0,rejected:0,cancelled:0};for(let s of n)y[s.status]++;return M.parse(q(X.parse({schemaVersion:"openpond.humanResultView.v1",executionId:o.executionId,executionHash:o.executionHash,selection:n.map(s=>s.review),coverage:y,results:n})))}I(Y,"createHumanResultView");function Z(o,m){let n=K.parse(o),{contentHash:y,...s}=n,i=n.decisions.at(-1);if(y!==r(s)||y!==m.reviewHash||n.status!=="accepted"||!i||i.outcome!=="accept"||i.contentHash!==m.decisionHash)throw new R("human_accepted_revision_unavailable",409);let p=i.submissions.map(f=>{let v=n.submissions.find(w=>w.id===f.id&&w.contentHash===f.contentHash);if(!v||v.evidenceHash!==r(n.evidence)||v.formHash!==r(n.form))throw new R("human_accepted_lineage_invalid",409);return{id:v.id,revision:v.revision,contentHash:v.contentHash}});return{schemaVersion:"openpond.acceptedHumanEvidence.v1",scope:n.scope,projectId:n.projectId,review:{id:n.id,revision:n.revision,contentHash:y},sourceOrigins:n.evidence.attempts.map(f=>f.localSource?f.localSource.kind:f.recordedSource?"recorded_evidence":"hosted_retained"),decision:{id:i.id,revision:i.revision,contentHash:i.contentHash},submissions:p,evidence:n.evidence,answers:i.answers,...n.execution?.result?{execution:{id:n.execution.executionId,result:n.execution.result,configurationHash:n.execution.configurationHash}}:{},...i.taskProposalHash?{taskProposal:n.submissions.find(f=>f.taskProposal?.contentHash===i.taskProposalHash).taskProposal}:{}}}I(Z,"acceptedHumanEvidence");var T=e.string().regex(/^[a-f0-9]{64}$/),V=e.string().min(1).max(240),L={feedbackKey:V,criterionId:V},he=e.discriminatedUnion("kind",[e.object({...L,kind:e.literal("normalized_score"),minimum:e.number().finite(),maximum:e.number().finite(),passThreshold:e.number().min(0).max(1).optional()}).strict(),e.object({...L,kind:e.literal("boolean")}).strict(),e.object({...L,kind:e.literal("category")}).strict(),e.object({...L,kind:e.literal("preference_score"),tieScore:e.number().min(0).max(1).nullable()}).strict()]),ee=e.object({execution:$,resultHash:T,reviews:e.array(e.object({review:S,decision:S}).strict()).min(1).max(1e4)}).strict(),ie=e.object({rules:e.array(he).min(1).max(100),baseline:ee,candidate:ee}).strict().superRefine((o,m)=>{new Set(o.rules.map(n=>n.feedbackKey)).size!==o.rules.length&&m.addIssue({code:"custom",message:"Select each Human feedback key once."})}),ne=e.object({manifest:F,result:G}).strict(),te=e.object({id:V,manifestHash:T,resultHash:T}).strict(),ae=e.object({schemaVersion:e.literal("openpond.humanComparisonProjection.v1"),teamId:V,projectId:V,selections:ie,original:e.object({baseline:te,candidate:te}).strict(),humanResults:e.object({baseline:M,candidate:M}).strict(),baseline:ne,candidate:ne}).strict(),se=ae.extend({contentHash:T}).strict();function d(o){throw new R(o,409)}I(d,"fail");async function Ve(o){let m=ie.parse(o.selections);await o.authorize();let n={baseline:P(o.baseline),candidate:P(o.candidate)},y=new Set([m.baseline.execution.id,m.candidate.execution.id]);y.size!==2&&d("human_comparison_distinct_executions_required");let s=0;async function i(H){let l=n[H],j=m[H],_=l.manifest.lineage?.execution;l.manifest.lineage?.humanProjection&&d("human_comparison_recursive_projection"),(!_||r(_)!==r(j.execution)||l.manifest.teamId!==o.teamId)&&d("human_comparison_execution_changed");let E=[],A=new Map;for(let a of j.reviews){let t=await o.readReview(a.review);(t.scope!==o.teamId||t.projectId!==o.projectId||t.kind!=="grade"||t.revision!==a.review.revision||t.id!==a.review.id)&&d("human_comparison_review_scope_changed");let b=Z(t,{reviewHash:a.review.contentHash,decisionHash:a.decision.contentHash});s+=new TextEncoder().encode(JSON.stringify({answers:b.answers,form:t.form})).byteLength,s>4194304&&d("human_comparison_projection_too_large"),r(b.decision)!==r(a.decision)&&d("human_comparison_decision_changed"),t.evidence.attempts.some(k=>!y.has(k.experimentId))&&d("human_comparison_foreign_attempt");let u=t.evidence.attempts.filter(k=>k.experimentId===_.id);u.length!==1&&d("human_comparison_attempt_ambiguous");let c=u[0],g=await o.caseIdentity(c),h=l.result.cases.find(k=>z(k.identity)===z(g));(!h||g.caseId!==c.taskId||!h.traceRef||h.traceRef.contentHash!==c.trace?.contentHash||h.output===null)&&d("human_comparison_receipt_changed");let x=z(g)+":"+t.evidence.grader.id;A.has(x)&&d("human_comparison_duplicate_assessment"),A.set(x,{review:t,accepted:b,attempt:c}),E.push(t)}let D=Y({executionId:_.id,executionHash:_.contentHash,reviews:E});(D.contentHash!==j.resultHash||D.coverage.accepted!==E.length)&&d("human_comparison_result_changed");let N=new Map(m.rules.map(a=>[a.feedbackKey,a])),oe=l.manifest.evaluators.map(a=>{let t=N.get(a.feedbackKey);if(!t)return a;let b=E.filter(c=>c.evidence.grader.id===a.release.id&&String(c.evidence.grader.revision)===String(a.release.revision)&&c.evidence.grader.contentHash===a.release.contentHash).map(c=>c.form);(!b.length||new Set(b.map(r)).size!==1)&&d("human_comparison_form_changed");let u=b[0].criteria.find(c=>c.id===t.criterionId);return u||d("human_comparison_criterion_unavailable"),(t.kind==="normalized_score"&&(u.kind!=="score"||t.minimum!==u.minimum||t.maximum!==u.maximum||t.maximum<=t.minimum)||t.kind==="boolean"&&u.kind!=="boolean"||t.kind==="category"&&u.kind!=="category"||t.kind==="preference_score"&&(u.kind!=="preference"||b[0].mode!=="pairwise"))&&d("human_comparison_rule_changed"),{...a,output:t.kind==="boolean"?"boolean":t.kind==="category"?"category":"score",categories:u.kind==="category"?u.options:[],configurationHash:r({original:a.configurationHash,rule:t,formHash:r(b[0])})}});m.rules.some(a=>!l.manifest.evaluators.some(t=>t.feedbackKey===a.feedbackKey))&&d("human_comparison_grader_unavailable");let{contentHash:ce,...re}=l.manifest,C={originalManifest:{id:l.manifest.id,contentHash:l.manifest.contentHash},selectionHash:r(j),rulesHash:r(m.rules)},B=Q({...re,id:U(C.originalManifest,C.selectionHash,C.rulesHash),lineage:{...l.manifest.lineage,humanProjection:C},evaluators:oe}),de=l.result.cases.map(a=>{let t=a.feedback.map(u=>{let c=N.get(u.feedbackKey);if(!c)return u;let g=A.get(z(a.identity)+":"+u.evaluator.id);(!g||g.review.evidence.grader.contentHash!==u.evaluator.contentHash)&&d("human_comparison_assessment_missing");let h=g.accepted.answers.find(k=>k.criterionId===c.criterionId),x=null;if(h&&!h.abstain&&(c.kind==="normalized_score"&&typeof h.value=="number"&&(x=(h.value-c.minimum)/(c.maximum-c.minimum)),c.kind==="boolean"&&typeof h.value=="boolean"&&(x=h.value),c.kind==="category"&&typeof h.value=="string"&&(x=h.value),c.kind==="preference_score")){let k=g.review.evidence.attempts.findIndex(O=>O.experimentId===_.id&&O.attemptId===g.attempt.attemptId);x=h.value==="tie"?c.tieScore:h.value==="A"||h.value==="B"?h.value===(k===0?"A":"B")?1:0:null}return{...u,status:x===null?"unavailable":"scored",value:x,passed:x===null?null:c.kind==="boolean"?x:c.kind==="normalized_score"&&c.passThreshold!==void 0?Number(x)>=c.passThreshold:null,reasoning:h?.note??null,evidenceRefs:[{id:g.accepted.review.id,contentHash:g.accepted.review.contentHash,mediaType:"application/vnd.openpond.human-review+json",sizeBytes:null},{id:g.accepted.decision.id,contentHash:g.accepted.decision.contentHash,mediaType:"application/vnd.openpond.human-decision+json",sizeBytes:null}]}}),b=a.output!==null&&t.every(u=>u.status==="scored");return{...a,feedback:t,status:b?"completed":a.status,error:b?null:a.error}}),{contentHash:me,...ue}=l.result,le=W({...ue,manifest:{id:B.id,contentHash:B.contentHash},cases:de},B);for(let a of E){let t=await o.readReview({id:a.id,revision:a.revision,contentHash:a.contentHash});(t.contentHash!==a.contentHash||t.status!=="accepted")&&d("human_comparison_review_changed")}return await o.authorize(),{evidence:{manifest:B,result:le},humanResult:D}}I(i,"lane");let p=await i("baseline"),f=await i("candidate");for(let H of[...m.baseline.reviews,...m.candidate.reviews]){let l=await o.readReview(H.review);(l.contentHash!==H.review.contentHash||l.status!=="accepted"||l.decisions.at(-1)?.contentHash!==H.decision.contentHash)&&d("human_comparison_review_changed")}await o.authorize();let v={baseline:{id:n.baseline.manifest.id,manifestHash:n.baseline.manifest.contentHash,resultHash:n.baseline.result.contentHash},candidate:{id:n.candidate.manifest.id,manifestHash:n.candidate.manifest.contentHash,resultHash:n.candidate.result.contentHash}},w=ae.parse({schemaVersion:"openpond.humanComparisonProjection.v1",teamId:o.teamId,projectId:o.projectId,selections:m,original:v,humanResults:{baseline:p.humanResult,candidate:f.humanResult},baseline:p.evidence,candidate:f.evidence});return new TextEncoder().encode(JSON.stringify(w)).byteLength>8388608&&d("human_comparison_projection_too_large"),se.parse({...w,contentHash:r(w)})}I(Ve,"projectAcceptedHumanComparison");function Ce(o,m){let n=se.parse(o),{contentHash:y,...s}=n;y!==r(s)&&d("human_comparison_projection_invalid");for(let i of["baseline","candidate"]){let p=P(n[i]),f=p.manifest.lineage,v=f?.humanProjection,w=n.original[i],H=n.selections[i];(!f||!v||v.originalManifest.id!==w.id||v.originalManifest.contentHash!==w.manifestHash||v.selectionHash!==r(H)||v.rulesHash!==r(n.selections.rules)||r(f.execution)!==r(H.execution)||p.manifest.teamId!==n.teamId||n.humanResults[i].contentHash!==H.resultHash)&&d("human_comparison_projection_lineage_changed");let{contentHash:l,...j}=n.humanResults[i];if((r(j)!==l||j.executionId!==H.execution.id||j.executionHash!==H.execution.contentHash||r(j.selection)!==r(H.reviews.map(_=>_.review)))&&d("human_comparison_human_result_changed"),m){let _=P(m[i]);(_.manifest.lineage?.humanProjection||_.manifest.id!==w.id||_.manifest.contentHash!==w.manifestHash||_.result.contentHash!==w.resultHash||r(_.manifest.lineage?.execution)!==r(H.execution))&&d("human_comparison_original_changed")}}return n}I(Ce,"verifyHumanComparisonProjection");export{M as a,Y as b,ie as c,se as d,Ve as e,Ce as f};