@iowarp/clio-coder 0.4.6 → 0.4.8

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 (1142) hide show
  1. package/.claude-plugin/marketplace.json +283 -0
  2. package/CHANGELOG.md +79 -0
  3. package/CONTRIBUTING.md +178 -96
  4. package/NOTICE +8 -0
  5. package/README.md +100 -47
  6. package/dist/acp-JWPQZM2D.js +130 -0
  7. package/dist/agents-4GCDIRVX.js +149 -0
  8. package/dist/assets/codewiki.json +1 -1
  9. package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
  10. package/dist/assets/tui-notices/marked-LICENSE +44 -0
  11. package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
  12. package/dist/assets/web-notices/@hono__node-server-LICENSE +21 -0
  13. package/dist/assets/web-notices/hono-LICENSE +21 -0
  14. package/dist/auth-SYAKTDQE.js +551 -0
  15. package/dist/background-OW67WMYR.js +37 -0
  16. package/dist/builtins-TKS63VNV.js +22 -0
  17. package/dist/chunk-2JSCCEKO.js +85 -0
  18. package/dist/chunk-2SXGG2IV.js +391 -0
  19. package/dist/chunk-2U2U5POA.js +59 -0
  20. package/dist/chunk-2ZWLMA3T.js +658 -0
  21. package/dist/chunk-36XSBPXL.js +579 -0
  22. package/dist/chunk-3IQOZRQ6.js +396 -0
  23. package/dist/chunk-3XE4NRLF.js +324 -0
  24. package/dist/chunk-44U2OUSM.js +243 -0
  25. package/dist/chunk-4P6M2TTE.js +119 -0
  26. package/dist/chunk-526ABLHD.js +1219 -0
  27. package/dist/chunk-5C2OQHLR.js +674 -0
  28. package/dist/chunk-5D2FNBMG.js +185 -0
  29. package/dist/chunk-5EQO5NWP.js +243 -0
  30. package/dist/chunk-5HULHKT2.js +32 -0
  31. package/dist/chunk-5UG6EZI3.js +66 -0
  32. package/dist/chunk-5W4FRA5Q.js +22283 -0
  33. package/dist/chunk-6R5MBXBJ.js +386 -0
  34. package/dist/chunk-6TKOFFGE.js +1058 -0
  35. package/dist/chunk-6UJ7RDI7.js +1143 -0
  36. package/dist/chunk-6X7VOCDY.js +44 -0
  37. package/dist/chunk-7QQRPB2E.js +915 -0
  38. package/dist/chunk-ARRUMZ7X.js +1377 -0
  39. package/dist/chunk-ATB3Q7YO.js +663 -0
  40. package/dist/chunk-AUHVBIDW.js +19 -0
  41. package/dist/chunk-BE4I3UJ2.js +668 -0
  42. package/dist/chunk-BFPHMSK7.js +169 -0
  43. package/dist/chunk-BHJMMCXS.js +466 -0
  44. package/dist/chunk-BIY22UUK.js +1322 -0
  45. package/dist/chunk-D55WO5J7.js +110 -0
  46. package/dist/chunk-DVJL77SO.js +162 -0
  47. package/dist/chunk-E2NSPYLC.js +814 -0
  48. package/dist/chunk-EFXMQYI6.js +4484 -0
  49. package/dist/chunk-EPYATQMG.js +2718 -0
  50. package/dist/chunk-EXKUF426.js +1801 -0
  51. package/dist/chunk-F7Y6QTPL.js +689 -0
  52. package/dist/chunk-FB3KTE2J.js +1710 -0
  53. package/dist/chunk-FNVPQQYT.js +117 -0
  54. package/dist/chunk-GEVQNST4.js +101 -0
  55. package/dist/chunk-GEYX2NZ5.js +697 -0
  56. package/dist/chunk-GJBJHJNY.js +2120 -0
  57. package/dist/chunk-GM4TY6VN.js +1233 -0
  58. package/dist/chunk-GVU4CXPJ.js +5191 -0
  59. package/dist/chunk-H5DPSUBB.js +637 -0
  60. package/dist/chunk-H77XBUBM.js +688 -0
  61. package/dist/chunk-HMGAKB7E.js +380 -0
  62. package/dist/chunk-HP7KJ5O2.js +797 -0
  63. package/dist/chunk-HVCAY2FH.js +67 -0
  64. package/dist/chunk-ICYIUNO4.js +35 -0
  65. package/dist/chunk-IILXVWJY.js +223 -0
  66. package/dist/chunk-JCVIL6TY.js +595 -0
  67. package/dist/chunk-JIMWEYWO.js +63 -0
  68. package/dist/chunk-JLBVCROW.js +562 -0
  69. package/dist/chunk-JOBN2YQQ.js +176 -0
  70. package/dist/chunk-JOL2QRLE.js +152 -0
  71. package/dist/chunk-JRA6OBHY.js +974 -0
  72. package/dist/chunk-JV25I7ID.js +1865 -0
  73. package/dist/chunk-JYKUMHCQ.js +705 -0
  74. package/dist/chunk-K3W6BF5C.js +283 -0
  75. package/dist/chunk-K45LHSCI.js +194 -0
  76. package/dist/chunk-K53E2PTW.js +1289 -0
  77. package/dist/chunk-K5UJD6MM.js +39 -0
  78. package/dist/chunk-KGP3UQGJ.js +200 -0
  79. package/dist/chunk-KKRXONXG.js +43 -0
  80. package/dist/chunk-KWJXCL2X.js +103 -0
  81. package/dist/chunk-L75H5B3B.js +446 -0
  82. package/dist/chunk-LLCGGVSW.js +108 -0
  83. package/dist/chunk-LZCCBLRC.js +57 -0
  84. package/dist/chunk-LZDLYSUN.js +197 -0
  85. package/dist/chunk-MATCRH3M.js +667 -0
  86. package/dist/chunk-MEHBW2SP.js +132 -0
  87. package/dist/chunk-MUXNDNMZ.js +659 -0
  88. package/dist/chunk-MWMW53WW.js +7346 -0
  89. package/dist/chunk-MZDPF35R.js +45 -0
  90. package/dist/chunk-MZKYVIWW.js +188 -0
  91. package/dist/chunk-O2QJDRWP.js +362 -0
  92. package/dist/chunk-O3HSB2YL.js +693 -0
  93. package/dist/chunk-OEMFEL26.js +891 -0
  94. package/dist/chunk-OH3YYA3B.js +15 -0
  95. package/dist/chunk-OPC4DQD6.js +634 -0
  96. package/dist/chunk-ORRNGQDV.js +207 -0
  97. package/dist/chunk-P4JS3MH5.js +165 -0
  98. package/dist/chunk-P7GTE4FX.js +308 -0
  99. package/dist/chunk-PAQVETLA.js +962 -0
  100. package/dist/chunk-PFZJMXIY.js +146 -0
  101. package/dist/chunk-PGEFOTJB.js +1974 -0
  102. package/dist/chunk-PJ5H5B7A.js +3151 -0
  103. package/dist/chunk-PMUUAABD.js +604 -0
  104. package/dist/chunk-Q32C6AWI.js +236 -0
  105. package/dist/chunk-QGIC5SX5.js +139 -0
  106. package/dist/chunk-QLAGXTTV.js +482 -0
  107. package/dist/chunk-QLKCCC2J.js +573 -0
  108. package/dist/chunk-QWUSS2QP.js +3630 -0
  109. package/dist/chunk-QYSAZMSH.js +47 -0
  110. package/dist/chunk-R5NRX5N4.js +123 -0
  111. package/dist/chunk-RAUOKUZV.js +1572 -0
  112. package/dist/chunk-RBES4TCZ.js +302 -0
  113. package/dist/chunk-RFCKPS2V.js +26 -0
  114. package/dist/chunk-RFULVPBX.js +318 -0
  115. package/dist/chunk-RKFNU5UA.js +404 -0
  116. package/dist/chunk-RM3XJX7P.js +1148 -0
  117. package/dist/chunk-RNLAPBJL.js +386 -0
  118. package/dist/chunk-RPMNIFRY.js +65 -0
  119. package/dist/chunk-RRZFRIJP.js +42 -0
  120. package/dist/chunk-RXI7K4J5.js +4493 -0
  121. package/dist/chunk-SER7RRAE.js +4271 -0
  122. package/dist/chunk-STC6CWUZ.js +402 -0
  123. package/dist/chunk-TEHVMHOK.js +97 -0
  124. package/dist/chunk-TOPICHGR.js +33 -0
  125. package/dist/chunk-U3TPUXOQ.js +2653 -0
  126. package/dist/chunk-UB33F3YW.js +709 -0
  127. package/dist/chunk-UDAK6GR2.js +175 -0
  128. package/dist/chunk-USBBEKHW.js +177 -0
  129. package/dist/chunk-V4ZKOKRB.js +13433 -0
  130. package/dist/chunk-W5RM7YAH.js +78 -0
  131. package/dist/chunk-W7KNI3F5.js +215 -0
  132. package/dist/chunk-WFTSK7N3.js +637 -0
  133. package/dist/chunk-WJWNZXRM.js +395 -0
  134. package/dist/chunk-WLHX3MM5.js +63 -0
  135. package/dist/chunk-WS4FOGLY.js +686 -0
  136. package/dist/chunk-WTZVSMQZ.js +52 -0
  137. package/dist/chunk-WWRV5RJI.js +165 -0
  138. package/dist/chunk-X6FLVUM5.js +141 -0
  139. package/dist/chunk-XC5POIL4.js +68 -0
  140. package/dist/chunk-XTLJDC2X.js +1013 -0
  141. package/dist/chunk-XW2UZICE.js +372 -0
  142. package/dist/chunk-Y3JU5RPK.js +8 -0
  143. package/dist/chunk-YGIV24MF.js +1018 -0
  144. package/dist/chunk-YJCCMYYT.js +125 -0
  145. package/dist/chunk-YKIIWURD.js +36 -0
  146. package/dist/chunk-YQ3GFEUY.js +341 -0
  147. package/dist/chunk-YXANQGCX.js +179 -0
  148. package/dist/chunk-YXFKLMX2.js +222 -0
  149. package/dist/chunk-ZST3FRCV.js +132 -0
  150. package/dist/cli/index.js +40 -40
  151. package/dist/clio-BPBAPZGA.js +26 -0
  152. package/dist/code-nav-KBQ3RIFK.js +686 -0
  153. package/dist/components-6DKAXWFN.js +674 -0
  154. package/dist/config-FWL5JK2H.js +270 -0
  155. package/dist/config-graph-ACDB26L2.js +156 -0
  156. package/dist/configure-ZIZ4YV62.js +85 -0
  157. package/dist/context-EZZPT2ZV.js +1074 -0
  158. package/dist/context-VIL5MFRH.js +282 -0
  159. package/dist/context-Z3GOBHDK.js +344 -0
  160. package/dist/context-clear-ZPB3L7MN.js +188 -0
  161. package/dist/context-index-W6A4V7OC.js +120 -0
  162. package/dist/context-map-DKL3QT6D.js +555 -0
  163. package/dist/context-working-set-2GLBVF7L.js +1559 -0
  164. package/dist/detail-VSBWYSGZ.js +119 -0
  165. package/dist/dispatch-runner-EEEHGKX4.js +2442 -0
  166. package/dist/docs-VMMWFVHL.js +101 -0
  167. package/dist/doctor-V5L4IQGP.js +812 -0
  168. package/dist/eval-VJYJ2BV3.js +5050 -0
  169. package/dist/eval-inventory-CX24K2JT.js +260 -0
  170. package/dist/evals-J2H5V6DD.js +104 -0
  171. package/dist/evidence-POWAEBEW.js +229 -0
  172. package/dist/evidence-XCCCLS36.js +242 -0
  173. package/dist/evidence-Y35YSXH6.js +388 -0
  174. package/dist/evolve-GPG72VB6.js +613 -0
  175. package/dist/extensions-YIZ7W3DA.js +308 -0
  176. package/dist/fleet-2MDCQ2VK.js +264 -0
  177. package/dist/fleet-W2AF3TOJ.js +919 -0
  178. package/dist/fleet-commands-WS56G26H.js +75 -0
  179. package/dist/fleet-decisions-MYGZ3JW7.js +52 -0
  180. package/dist/fleet-graph-ELTBXBAV.js +136 -0
  181. package/dist/fleet-inspect-45IK73L4.js +308 -0
  182. package/dist/fleet-preflight-T5NCZKHE.js +22 -0
  183. package/dist/fleet-validate-VG4JBLA4.js +91 -0
  184. package/dist/fleet-verify-VTSABAYO.js +206 -0
  185. package/dist/fleet-view-XC7WMKSS.js +123 -0
  186. package/dist/init-VTJNNTIP.js +329 -0
  187. package/dist/install-6PIF6F6W.js +19 -0
  188. package/dist/interop-IU6BNA7C.js +246 -0
  189. package/dist/inventory-QPQUTUUZ.js +123 -0
  190. package/dist/library-HUTAS57T.js +492 -0
  191. package/dist/library-LF7DLU6S.js +306 -0
  192. package/dist/library-Q3NWL5CM.js +75 -0
  193. package/dist/library-import-PPW4YUC5.js +183 -0
  194. package/dist/library-inventory-DIRVFRZU.js +56 -0
  195. package/dist/library-validation-XHUZ3INE.js +42 -0
  196. package/dist/memory-Z2LSKNV6.js +516 -0
  197. package/dist/models-3FTREYPY.js +302 -0
  198. package/dist/monitor-HF2MQRB3.js +781 -0
  199. package/dist/orchestrator-UYPA6W4S.js +41502 -0
  200. package/dist/panes-736XB73K.js +74 -0
  201. package/dist/panes-C4P3PIWT.js +103 -0
  202. package/dist/paths-JQ4QYIYB.js +67 -0
  203. package/dist/preload-XSLRYH3Y.js +120 -0
  204. package/dist/reset-V7QSPZYE.js +345 -0
  205. package/dist/resources-OJGDFHYT.js +181 -0
  206. package/dist/run-T354SMDW.js +892 -0
  207. package/dist/settings-MWZXO6RV.js +72 -0
  208. package/dist/share-Y5ZKJPND.js +293 -0
  209. package/dist/skills-4GLZC4LN.js +100 -0
  210. package/dist/skills-eval-L5T7GODM.js +1074 -0
  211. package/dist/skills-inventory-LASKXEZI.js +138 -0
  212. package/dist/slash-commands-OIMRU36D.js +95 -0
  213. package/dist/steer-KMAM2Y2C.js +77 -0
  214. package/dist/support-AWC3XKPX.js +38 -0
  215. package/dist/system-CD75NYBU.js +116 -0
  216. package/dist/targets-VSZX2J2S.js +1116 -0
  217. package/dist/tasks-AN567LYH.js +36 -0
  218. package/dist/terminal-lease-6KTWNHVY.js +418 -0
  219. package/dist/tools-AGRK3V5J.js +28 -0
  220. package/dist/trace-P4MQZD33.js +524 -0
  221. package/dist/tui-primitives-A6MUW32V.js +18 -0
  222. package/dist/uninstall-BRUTEPIC.js +432 -0
  223. package/dist/upgrade-SBCGHQGJ.js +307 -0
  224. package/dist/usage-BIDVTO6V.js +1061 -0
  225. package/dist/verifiers-LTGCAMXS.js +630 -0
  226. package/dist/verify-OZU4LLNP.js +30 -0
  227. package/dist/web/client/THIRD_PARTY_LICENSES.md +1809 -0
  228. package/dist/web/client/assets/abnfDiagram-VCTEODGH-C5wfoHm3.js +1 -0
  229. package/dist/web/client/assets/arc-oH91sfLl.js +1 -0
  230. package/dist/web/client/assets/architecture-7GRP2DOG-EGozsYEO.js +1 -0
  231. package/dist/web/client/assets/architectureDiagram-5GKGNRK7-z9FokbJl.js +36 -0
  232. package/dist/web/client/assets/array-BifhSqXX.js +1 -0
  233. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
  234. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
  235. package/dist/web/client/assets/blockDiagram-I7D4REHJ-wi0_CYHL.js +129 -0
  236. package/dist/web/client/assets/c4Diagram-7LVT6UL2-DV7NYc2W.js +38 -0
  237. package/dist/web/client/assets/channel-CiUWbHN9.js +1 -0
  238. package/dist/web/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  239. package/dist/web/client/assets/chunk-4HAMMTFA-Bhsegh3F.js +62 -0
  240. package/dist/web/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  241. package/dist/web/client/assets/chunk-75Z2AOVW-RQCckcQG.js +2 -0
  242. package/dist/web/client/assets/chunk-DU6HZSFF-C5USiOAy.js +125 -0
  243. package/dist/web/client/assets/chunk-F27PBJKO-BcNqv2x1.js +1 -0
  244. package/dist/web/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
  245. package/dist/web/client/assets/chunk-GMAD6QVW-Bq8JWiZT.js +72 -0
  246. package/dist/web/client/assets/chunk-GVQU2GXP-DbchrAeJ.js +1 -0
  247. package/dist/web/client/assets/chunk-IMKFNOWR-DrpvjocK.js +231 -0
  248. package/dist/web/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  249. package/dist/web/client/assets/chunk-L3NEJ4N5-DHLmTnCe.js +1 -0
  250. package/dist/web/client/assets/chunk-OSK3NFVY-CsRbtN9n.js +10 -0
  251. package/dist/web/client/assets/chunk-P2QGCYS3-aqPbxoMh.js +1 -0
  252. package/dist/web/client/assets/chunk-POPQ4Y6H-Dl5vw0h0.js +1 -0
  253. package/dist/web/client/assets/chunk-PWAF6VOD-D7OBRSdO.js +1 -0
  254. package/dist/web/client/assets/chunk-SHT3W25Y-CdKCIwuB.js +168 -0
  255. package/dist/web/client/assets/chunk-SVP7TREG-B94Nu_1-.js +88 -0
  256. package/dist/web/client/assets/chunk-TICWLB2K-jjRQI_hk.js +206 -0
  257. package/dist/web/client/assets/chunk-XXDRQBXY-azkbKE37.js +1 -0
  258. package/dist/web/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  259. package/dist/web/client/assets/classDiagram-ZZMXUADV-CMODalmo.js +1 -0
  260. package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-CMODalmo.js +1 -0
  261. package/dist/web/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
  262. package/dist/web/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
  263. package/dist/web/client/assets/cose-bilkent-JH36ORCC-RbQL23qS.js +1 -0
  264. package/dist/web/client/assets/cynefin-OW5HDTMX--i9RDU5f.js +1 -0
  265. package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-cRcvyBdp.js +62 -0
  266. package/dist/web/client/assets/cytoscape.esm-c2aL46s-.js +321 -0
  267. package/dist/web/client/assets/dagre-C-rnJpZF.js +1 -0
  268. package/dist/web/client/assets/dagre-GXQ25YYZ-C9mZmAPe.js +4 -0
  269. package/dist/web/client/assets/defaultLocale-BFoDCU3G.js +1 -0
  270. package/dist/web/client/assets/diagram-S7CK7UJ4-Oj_zlLDY.js +30 -0
  271. package/dist/web/client/assets/diagram-UQ7AKVKN-BWKbbfcR.js +41 -0
  272. package/dist/web/client/assets/diagram-VSXAHHWV-C3N3f7DO.js +3 -0
  273. package/dist/web/client/assets/diagram-VX7I27RA-CtDKDAWe.js +24 -0
  274. package/dist/web/client/assets/diagram-Z3DM3KII-B8bkBRCz.js +24 -0
  275. package/dist/web/client/assets/dist-D0_q-A2b.js +1 -0
  276. package/dist/web/client/assets/ebnfDiagram-PWID7BFC-CskW-Whx.js +1 -0
  277. package/dist/web/client/assets/erDiagram-RLTQ6QDP-C-83cgCW.js +99 -0
  278. package/dist/web/client/assets/eventmodeling-NTZA5JFV-DjVq8wKU.js +1 -0
  279. package/dist/web/client/assets/flowDiagram-HODETNUW-BUiCBGXt.js +1 -0
  280. package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-B2lb8lvF.js +292 -0
  281. package/dist/web/client/assets/gitGraph-4MIJSDKK-B40cQtBE.js +1 -0
  282. package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CH-7P7Di.js +106 -0
  283. package/dist/web/client/assets/graphlib-DS17s2tU.js +1 -0
  284. package/dist/web/client/assets/index-Dsi52apB.css +1 -0
  285. package/dist/web/client/assets/index-FSIC94pi.js +83 -0
  286. package/dist/web/client/assets/info-A6RAGUB7-eCCE9D_Q.js +1 -0
  287. package/dist/web/client/assets/infoDiagram-27XIBGKW-DRnvqMjM.js +2 -0
  288. package/dist/web/client/assets/init-C-OQMol4.js +1 -0
  289. package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-DBA_55wp.js +70 -0
  290. package/dist/web/client/assets/journeyDiagram-3NMN7TZE-C-ewpNl7.js +139 -0
  291. package/dist/web/client/assets/kanban-definition-UXKFOSKX-B1taGsu0.js +89 -0
  292. package/dist/web/client/assets/katex-ZlcWpGUi.js +257 -0
  293. package/dist/web/client/assets/line-lZ0kyxDI.js +1 -0
  294. package/dist/web/client/assets/linear-DIc8FgZj.js +1 -0
  295. package/dist/web/client/assets/mermaid-parser.core-SXolxpXw.js +7 -0
  296. package/dist/web/client/assets/mermaid.core-DXgQtkNg.js +44 -0
  297. package/dist/web/client/assets/mindmap-definition-YA3MSWOX-DXJas9K7.js +96 -0
  298. package/dist/web/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
  299. package/dist/web/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
  300. package/dist/web/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
  301. package/dist/web/client/assets/ordinal-BDEzSJ7C.js +1 -0
  302. package/dist/web/client/assets/packet-AYTQ26CC-OqVl_07o.js +1 -0
  303. package/dist/web/client/assets/path-fybaL0A-.js +1 -0
  304. package/dist/web/client/assets/pegDiagram-XKGWAZYB-CPE_zdfN.js +1 -0
  305. package/dist/web/client/assets/pie-WAS4IAKB-DAxnMBLe.js +1 -0
  306. package/dist/web/client/assets/pieDiagram-E7YTZNPT-Uwjpufxv.js +39 -0
  307. package/dist/web/client/assets/prism-bash-D6zCJ74D.js +1 -0
  308. package/dist/web/client/assets/prism-c-04YixN25.js +1 -0
  309. package/dist/web/client/assets/prism-clike-DapgWyxx.js +1 -0
  310. package/dist/web/client/assets/prism-core-BngLtbUd.js +1 -0
  311. package/dist/web/client/assets/prism-cpp-C-lJbC-6.js +1 -0
  312. package/dist/web/client/assets/prism-css-CPgOzxXp.js +1 -0
  313. package/dist/web/client/assets/prism-diff-BF8m0_mq.js +3 -0
  314. package/dist/web/client/assets/prism-docker-DkT6yOFj.js +1 -0
  315. package/dist/web/client/assets/prism-fortran-Be5x3y1V.js +1 -0
  316. package/dist/web/client/assets/prism-go-C_8qAH5n.js +1 -0
  317. package/dist/web/client/assets/prism-ini-BESK3y0r.js +1 -0
  318. package/dist/web/client/assets/prism-javascript-BnO-swvr.js +1 -0
  319. package/dist/web/client/assets/prism-json-Dp_-W-Hv.js +1 -0
  320. package/dist/web/client/assets/prism-jsx-D-D0NWtC.js +1 -0
  321. package/dist/web/client/assets/prism-julia-DIjOgiAV.js +1 -0
  322. package/dist/web/client/assets/prism-latex-DNMbqcH_.js +1 -0
  323. package/dist/web/client/assets/prism-makefile-CRKWLQ8l.js +1 -0
  324. package/dist/web/client/assets/prism-markdown-C0FPJ1Iz.js +1 -0
  325. package/dist/web/client/assets/prism-markup-Cp04rIa1.js +1 -0
  326. package/dist/web/client/assets/prism-matlab-D-nk08al.js +1 -0
  327. package/dist/web/client/assets/prism-python-CfiSVtM6.js +1 -0
  328. package/dist/web/client/assets/prism-r-QmNGR8LX.js +1 -0
  329. package/dist/web/client/assets/prism-rust-Bu9N8X3N.js +1 -0
  330. package/dist/web/client/assets/prism-shell-session-Be4UuYoM.js +1 -0
  331. package/dist/web/client/assets/prism-sql-CYhVDMEE.js +1 -0
  332. package/dist/web/client/assets/prism-toml-DKb54GAT.js +1 -0
  333. package/dist/web/client/assets/prism-tsx-p6J2Kc_4.js +1 -0
  334. package/dist/web/client/assets/prism-typescript-BMqONzxf.js +1 -0
  335. package/dist/web/client/assets/prism-yaml-C0JHu8gr.js +1 -0
  336. package/dist/web/client/assets/purify.es-ChwZkWde.js +3 -0
  337. package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-Bjs4yjgs.js +7 -0
  338. package/dist/web/client/assets/radar-RG4KPBEZ-CuCKjHM3.js +1 -0
  339. package/dist/web/client/assets/railroad-74A4TZTK-CnQK-Cc1.js +1 -0
  340. package/dist/web/client/assets/railroad-abnf-HS5TGJTU-BcW01NZG.js +1 -0
  341. package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-B7YCEDDd.js +1 -0
  342. package/dist/web/client/assets/railroad-peg-WCYAUIDC-DjNZbSTZ.js +1 -0
  343. package/dist/web/client/assets/railroadDiagram-O6MQD6OU-BDDIPNLL.js +1 -0
  344. package/dist/web/client/assets/requirementDiagram-BXWQKSXE-B5Ydyxc1.js +84 -0
  345. package/dist/web/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
  346. package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-Bw2Qym75.js +40 -0
  347. package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-BZf36nO0.js +162 -0
  348. package/dist/web/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  349. package/dist/web/client/assets/src-yeptRXpt.js +1 -0
  350. package/dist/web/client/assets/stateDiagram-D77RDMKH-DnH6JRkp.js +1 -0
  351. package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-C7QtHeK4.js +1 -0
  352. package/dist/web/client/assets/swimlanes-42K2YHIH-D9PZmtZg.js +1 -0
  353. package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-CBZlPFky.js +8 -0
  354. package/dist/web/client/assets/timeline-definition-24CTP7MA-CrkZZBo7.js +120 -0
  355. package/dist/web/client/assets/treeView-Q6P3EWNA-C9zDShoC.js +1 -0
  356. package/dist/web/client/assets/treemap-WGGIJYW6-B-plj9yK.js +1 -0
  357. package/dist/web/client/assets/vennDiagram-4TSXK5OY-VeOdaphN.js +34 -0
  358. package/dist/web/client/assets/wardley-WFR3VGLG-Wl1P_m6L.js +1 -0
  359. package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-B85-R9t2.js +78 -0
  360. package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BrD8OW8m.js +7 -0
  361. package/dist/web/client/clio-coder-logo.webp +0 -0
  362. package/dist/web/client/icon-192.png +0 -0
  363. package/dist/web/client/icon-512.png +0 -0
  364. package/dist/web/client/index.html +4 -0
  365. package/dist/web/client/manifest.webmanifest +15 -0
  366. package/dist/web/client/offline.css +55 -0
  367. package/dist/web/client/offline.html +5 -0
  368. package/dist/web/client/offline.js +27 -0
  369. package/dist/web/client/sw.js +34 -0
  370. package/dist/web/ops-worker.js +37 -0
  371. package/dist/web/reads-worker.js +1726 -0
  372. package/dist/web/server.js +8499 -0
  373. package/dist/web-EU6ATJWA.js +13 -0
  374. package/dist/web-fetch-U22Q7HV4.js +788 -0
  375. package/dist/wiki-generate-LZRLFG6I.js +623 -0
  376. package/dist/with-panes-X5CZOGML.js +628 -0
  377. package/dist/worker/entry.js +300 -93
  378. package/docs/README.md +58 -14
  379. package/docs/architecture/acp.md +5 -9
  380. package/docs/architecture/alcf-provider.md +0 -3
  381. package/docs/architecture/architecture.md +8 -10
  382. package/docs/architecture/artifact-placement.md +0 -3
  383. package/docs/architecture/artifact-versions.md +3 -6
  384. package/docs/architecture/capacity-and-scheduling.md +0 -3
  385. package/docs/architecture/context-engine.md +35 -4
  386. package/docs/architecture/context-working-set.md +0 -3
  387. package/docs/architecture/dispatch-architecture-rationale.md +0 -3
  388. package/docs/architecture/dispatch-typed-intent.md +0 -3
  389. package/docs/architecture/evidence-and-memory.md +0 -3
  390. package/docs/architecture/library.md +30 -0
  391. package/docs/architecture/middleware-and-components.md +1 -4
  392. package/docs/architecture/model-catalog.md +21 -4
  393. package/docs/architecture/observability.md +0 -3
  394. package/docs/architecture/pi-boundary.md +23 -8
  395. package/docs/architecture/prompt-envelope-and-tools.md +6 -9
  396. package/docs/architecture/provider-adapter-cookbook.md +1 -4
  397. package/docs/architecture/safety-model.md +21 -5
  398. package/docs/architecture/session-lifecycle.md +12 -4
  399. package/docs/architecture/time-conventions.md +0 -3
  400. package/docs/architecture/trace-store.md +28 -20
  401. package/docs/architecture/tui-design.md +108 -12
  402. package/docs/architecture/worker-context.md +104 -0
  403. package/docs/architecture/worker-dispatch-mechanics.md +1 -4
  404. package/docs/guide/authoring-plugins.md +158 -0
  405. package/docs/guide/built-in-agents.md +5 -8
  406. package/docs/guide/commands-and-modes.md +162 -61
  407. package/docs/guide/configuration-and-targets.md +198 -5
  408. package/docs/guide/configuration-reference.md +36 -38
  409. package/docs/guide/environment-variables.md +2 -5
  410. package/docs/guide/exit-codes-and-output.md +1 -4
  411. package/docs/guide/extensions-and-sharing.md +92 -55
  412. package/docs/guide/fleet-dispatch.md +31 -7
  413. package/docs/guide/glossary.md +1 -4
  414. package/docs/guide/harness-extensions.md +289 -0
  415. package/docs/guide/installation-and-lifecycle.md +10 -13
  416. package/docs/guide/interop.md +241 -0
  417. package/docs/guide/panes-and-files.md +3 -6
  418. package/docs/guide/plugins.md +77 -0
  419. package/docs/guide/proactive-memory.md +0 -3
  420. package/docs/guide/resource-library.md +109 -45
  421. package/docs/guide/skills-marketplace.md +34 -73
  422. package/docs/guide/tool-usage.md +19 -10
  423. package/docs/guide/troubleshooting.md +1 -4
  424. package/docs/history/config-knobs-audit.md +0 -3
  425. package/docs/history/release-cut-checklist.md +0 -3
  426. package/docs/process/development-pipeline.md +14 -17
  427. package/docs/process/documentation-coverage.md +31 -4
  428. package/docs/process/documentation-guide.md +28 -27
  429. package/docs/process/eval-runner.md +8 -6
  430. package/docs/process/evals-internal.md +0 -3
  431. package/docs/process/evolution.md +0 -3
  432. package/docs/process/fleet-demo-runbook.md +0 -3
  433. package/docs/process/git-commit-provenance.md +0 -3
  434. package/docs/process/performance-methodology.md +2 -5
  435. package/docs/process/release-cut-checklist.md +114 -217
  436. package/docs/process/scientific-validation.md +23 -3
  437. package/evals/scalar-decision-machinery.ts +1 -1
  438. package/examples/extensions/README.md +67 -0
  439. package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
  440. package/examples/extensions/lab-status/extension.mjs +68 -0
  441. package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
  442. package/examples/extensions/measurements/clio-coder-extension.json +28 -0
  443. package/examples/extensions/measurements/summarize.cjs +23 -0
  444. package/library/README.md +109 -0
  445. package/library/_authoring/templates/agent/README.md +28 -0
  446. package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
  447. package/library/_authoring/templates/agent/plugin.json +23 -0
  448. package/library/_authoring/templates/fleet/README.md +29 -0
  449. package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
  450. package/library/_authoring/templates/fleet/plugin.json +23 -0
  451. package/library/_authoring/templates/plugin/README.md +37 -0
  452. package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
  453. package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
  454. package/library/_authoring/templates/plugin/plugin.json +42 -0
  455. package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
  456. package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
  457. package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
  458. package/library/_authoring/templates/prompt/README.md +28 -0
  459. package/library/_authoring/templates/prompt/plugin.json +23 -0
  460. package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
  461. package/library/_authoring/templates/skill/README.md +24 -0
  462. package/library/_authoring/templates/skill/SKILL.md +39 -0
  463. package/library/_authoring/templates/skill/evals.md +30 -0
  464. package/library/_authoring/templates/skill/plugin.json +23 -0
  465. package/library/agents/README.md +7 -0
  466. package/library/fleets/README.md +7 -0
  467. package/library/plugins/materio/README.md +137 -0
  468. package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
  469. package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
  470. package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
  471. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
  472. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
  473. package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
  474. package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
  475. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
  476. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
  477. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
  478. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
  479. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
  480. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
  481. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
  482. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
  483. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
  484. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
  485. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
  486. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
  487. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
  488. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
  489. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
  490. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
  491. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
  492. package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
  493. package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
  494. package/library/plugins/materio/assets/actions/add-task.md +86 -0
  495. package/library/plugins/materio/assets/actions/archive-task.md +84 -0
  496. package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
  497. package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
  498. package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
  499. package/library/plugins/materio/assets/actions/execute-task.md +290 -0
  500. package/library/plugins/materio/assets/actions/help.md +140 -0
  501. package/library/plugins/materio/assets/actions/identify-research.md +204 -0
  502. package/library/plugins/materio/assets/actions/literature-review.md +199 -0
  503. package/library/plugins/materio/assets/actions/pause-research.md +34 -0
  504. package/library/plugins/materio/assets/actions/progress.md +125 -0
  505. package/library/plugins/materio/assets/actions/remove-task.md +82 -0
  506. package/library/plugins/materio/assets/actions/resume-research.md +84 -0
  507. package/library/plugins/materio/assets/actions/settings.md +38 -0
  508. package/library/plugins/materio/assets/actions/status.md +112 -0
  509. package/library/plugins/materio/assets/actions/upload-data.md +123 -0
  510. package/library/plugins/materio/assets/actions/wtfp.md +179 -0
  511. package/library/plugins/materio/assets/references/research-domains.md +134 -0
  512. package/library/plugins/materio/assets/references/research-policy.md +77 -0
  513. package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
  514. package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
  515. package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
  516. package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
  517. package/library/plugins/materio/assets/scripts/research_state.py +400 -0
  518. package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
  519. package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
  520. package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
  521. package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
  522. package/library/plugins/materio/assets/templates/config.json +5 -0
  523. package/library/plugins/materio/evals/scripts.yaml +29 -0
  524. package/library/plugins/materio/plugin.json +530 -0
  525. package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
  526. package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
  527. package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
  528. package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
  529. package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
  530. package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
  531. package/library/plugins/materio/tests/test_check_physics.py +139 -0
  532. package/library/plugins/materio/tests/test_check_scripts.py +140 -0
  533. package/library/plugins/materio/tests/test_research_state.py +291 -0
  534. package/library/plugins/materio/tests/test_verify_citations.py +337 -0
  535. package/library/prompts/README.md +7 -0
  536. package/library/registry.yaml +921 -0
  537. package/library/skills/README.md +120 -0
  538. package/library/skills/coding/ast-grep/SKILL.md +213 -0
  539. package/library/skills/coding/ast-grep/evals.md +82 -0
  540. package/library/skills/coding/ast-grep/plugin.json +23 -0
  541. package/library/skills/coding/coding-standards/SKILL.md +164 -0
  542. package/library/skills/coding/coding-standards/evals.md +57 -0
  543. package/library/skills/coding/coding-standards/plugin.json +23 -0
  544. package/library/skills/coding/prototype/SKILL.md +151 -0
  545. package/library/skills/coding/prototype/evals.md +61 -0
  546. package/library/skills/coding/prototype/plugin.json +23 -0
  547. package/library/skills/coding/tdd/SKILL.md +134 -0
  548. package/library/skills/coding/tdd/evals.md +61 -0
  549. package/library/skills/coding/tdd/plugin.json +23 -0
  550. package/library/skills/context/context-handoff/SKILL.md +176 -0
  551. package/library/skills/context/context-handoff/evals.md +101 -0
  552. package/library/skills/context/context-handoff/plugin.json +23 -0
  553. package/library/skills/context/context-prime/SKILL.md +131 -0
  554. package/library/skills/context/context-prime/evals.md +99 -0
  555. package/library/skills/context/context-prime/plugin.json +23 -0
  556. package/library/skills/git/branch-closeout/SKILL.md +132 -0
  557. package/library/skills/git/branch-closeout/plugin.json +23 -0
  558. package/library/skills/git/file-ticket/SKILL.md +126 -0
  559. package/library/skills/git/file-ticket/plugin.json +23 -0
  560. package/library/skills/git/fix-issue/SKILL.md +136 -0
  561. package/library/skills/git/fix-issue/plugin.json +23 -0
  562. package/library/skills/git/resolve-merge-conflicts/SKILL.md +151 -0
  563. package/library/skills/git/resolve-merge-conflicts/evals.md +85 -0
  564. package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
  565. package/library/skills/git/ship/SKILL.md +134 -0
  566. package/library/skills/git/ship/plugin.json +23 -0
  567. package/library/skills/git/worktree-create/SKILL.md +127 -0
  568. package/library/skills/git/worktree-create/plugin.json +23 -0
  569. package/library/skills/git/worktree-merge/SKILL.md +147 -0
  570. package/library/skills/git/worktree-merge/plugin.json +23 -0
  571. package/library/skills/meta/clio-coder-dev/SKILL.md +101 -0
  572. package/library/skills/meta/clio-coder-dev/evals.md +46 -0
  573. package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
  574. package/library/skills/meta/clio-coder-test/SKILL.md +156 -0
  575. package/library/skills/meta/clio-coder-test/evals.md +62 -0
  576. package/library/skills/meta/clio-coder-test/plugin.json +23 -0
  577. package/library/skills/meta/clio-coder-test/references/test-map.md +97 -0
  578. package/library/skills/meta/credentials/SKILL.md +132 -0
  579. package/library/skills/meta/credentials/evals.md +104 -0
  580. package/library/skills/meta/credentials/plugin.json +23 -0
  581. package/library/skills/meta/find-skills/SKILL.md +85 -0
  582. package/library/skills/meta/find-skills/evals.md +65 -0
  583. package/library/skills/meta/find-skills/plugin.json +23 -0
  584. package/library/skills/meta/herdr/SKILL.md +133 -0
  585. package/library/skills/meta/herdr/evals.md +38 -0
  586. package/library/skills/meta/herdr/plugin.json +23 -0
  587. package/library/skills/meta/skill-craft/SKILL.md +139 -0
  588. package/library/skills/meta/skill-craft/evals.md +49 -0
  589. package/library/skills/meta/skill-craft/plugin.json +23 -0
  590. package/library/skills/planning/archify/SKILL.md +196 -0
  591. package/library/skills/planning/archify/plugin.json +23 -0
  592. package/library/skills/planning/architecture/SKILL.md +184 -0
  593. package/library/skills/planning/architecture/evals.md +101 -0
  594. package/library/skills/planning/architecture/plugin.json +23 -0
  595. package/library/skills/planning/backlog/SKILL.md +212 -0
  596. package/library/skills/planning/backlog/evals.md +185 -0
  597. package/library/skills/planning/backlog/plugin.json +23 -0
  598. package/library/skills/planning/prd/SKILL.md +129 -0
  599. package/library/skills/planning/prd/evals.md +103 -0
  600. package/library/skills/planning/prd/plugin.json +23 -0
  601. package/library/skills/planning/product-intent/SKILL.md +173 -0
  602. package/library/skills/planning/product-intent/evals.md +106 -0
  603. package/library/skills/planning/product-intent/plugin.json +23 -0
  604. package/library/skills/planning/tech-spec/SKILL.md +172 -0
  605. package/library/skills/planning/tech-spec/evals.md +120 -0
  606. package/library/skills/planning/tech-spec/plugin.json +23 -0
  607. package/library/skills/registry.yaml +144 -0
  608. package/library/skills/remote.yaml +13 -0
  609. package/library/skills/research/arxiv-literature/SKILL.md +168 -0
  610. package/library/skills/research/arxiv-literature/evals.md +108 -0
  611. package/library/skills/research/arxiv-literature/plugin.json +23 -0
  612. package/library/skills/research/experiment-protocol/SKILL.md +148 -0
  613. package/library/skills/research/experiment-protocol/evals.md +114 -0
  614. package/library/skills/research/experiment-protocol/plugin.json +23 -0
  615. package/library/skills/research/scientific-debugging/SKILL.md +149 -0
  616. package/library/skills/research/scientific-debugging/evals.md +156 -0
  617. package/library/skills/research/scientific-debugging/plugin.json +23 -0
  618. package/library/skills/research/scientific-modernization/SKILL.md +170 -0
  619. package/library/skills/research/scientific-modernization/evals.md +111 -0
  620. package/library/skills/research/scientific-modernization/plugin.json +23 -0
  621. package/library/skills/skill-marketplace.json +507 -0
  622. package/library/skills/workflow/cut-it/SKILL.md +153 -0
  623. package/library/skills/workflow/cut-it/evals.md +143 -0
  624. package/library/skills/workflow/cut-it/plugin.json +23 -0
  625. package/library/skills/workflow/design-council/SKILL.md +233 -0
  626. package/library/skills/workflow/design-council/evals.md +258 -0
  627. package/library/skills/workflow/design-council/plugin.json +23 -0
  628. package/library/skills/workflow/grill-me/SKILL.md +267 -0
  629. package/library/skills/workflow/grill-me/evals.md +231 -0
  630. package/library/skills/workflow/grill-me/plugin.json +23 -0
  631. package/library/skills/workflow/workflow-distiller/SKILL.md +204 -0
  632. package/library/skills/workflow/workflow-distiller/evals.md +233 -0
  633. package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
  634. package/package.json +23 -14
  635. package/src/cli/agents.ts +1 -1
  636. package/src/cli/config-inspect.ts +1 -1
  637. package/src/cli/configure.ts +2 -2
  638. package/src/cli/docs.ts +65 -328
  639. package/src/cli/eval.ts +40 -6
  640. package/src/cli/extensions.ts +74 -8
  641. package/src/cli/fleet-preflight.ts +2 -0
  642. package/src/cli/fleet.ts +2 -0
  643. package/src/cli/index.ts +4 -4
  644. package/src/cli/interop-inspect.ts +61 -33
  645. package/src/cli/interop.ts +79 -9
  646. package/src/cli/library-import.ts +139 -0
  647. package/src/cli/library.ts +418 -120
  648. package/src/cli/run.ts +26 -9
  649. package/src/cli/skills-eval.ts +43 -6
  650. package/src/cli/skills-inventory.ts +6 -2
  651. package/src/cli/skills.ts +44 -491
  652. package/src/cli/trace.ts +4 -65
  653. package/src/cli/uninstall.ts +26 -0
  654. package/src/cli/usage.ts +3 -0
  655. package/src/cli/web.ts +79 -0
  656. package/src/core/bus-events.ts +8 -4
  657. package/src/core/config.ts +71 -0
  658. package/src/core/defaults.ts +1 -1
  659. package/src/core/domain-loader.ts +37 -28
  660. package/src/core/recent-models.ts +2 -2
  661. package/src/core/session-routing.ts +3 -3
  662. package/src/core/state-file-lock.ts +1 -1
  663. package/src/core/termination.ts +13 -9
  664. package/src/core/tool-names.ts +5 -0
  665. package/src/domains/agents/contract.ts +1 -1
  666. package/src/domains/agents/extension.ts +53 -9
  667. package/src/domains/agents/fleet-commands.ts +92 -1
  668. package/src/domains/agents/fleet-contract.ts +87 -19
  669. package/src/domains/agents/recipe.ts +5 -4
  670. package/src/domains/agents/registry.ts +80 -24
  671. package/src/domains/config/extension.ts +5 -4
  672. package/src/domains/config/keybindings.ts +155 -95
  673. package/src/domains/context/worker/contract.ts +91 -0
  674. package/src/domains/context/worker/pressure.ts +120 -0
  675. package/src/domains/context/worker/recall.ts +62 -0
  676. package/src/domains/context/worker/select.ts +164 -0
  677. package/src/domains/context/worker/snapshot.ts +35 -0
  678. package/src/domains/context/worker/store.ts +16 -0
  679. package/src/domains/context/working-set/replay/synthetic.ts +2 -1
  680. package/src/domains/dispatch/active-route-planner.ts +2 -0
  681. package/src/domains/dispatch/backoff.ts +1 -0
  682. package/src/domains/dispatch/code-step.ts +12 -2
  683. package/src/domains/dispatch/contract.ts +3 -0
  684. package/src/domains/dispatch/execution-plan.ts +2 -0
  685. package/src/domains/dispatch/extension.ts +184 -39
  686. package/src/domains/dispatch/fleet-plan.ts +10 -0
  687. package/src/domains/dispatch/fleet-run.ts +1 -0
  688. package/src/domains/dispatch/index.ts +1 -0
  689. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  690. package/src/domains/dispatch/receipt-integrity.ts +7 -0
  691. package/src/domains/dispatch/state.ts +2 -2
  692. package/src/domains/dispatch/types.ts +7 -0
  693. package/src/domains/dispatch/validation.ts +12 -0
  694. package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
  695. package/src/domains/eval/metrics/tracked.ts +22 -2
  696. package/src/domains/evidence/failure-attribution.ts +1 -0
  697. package/src/domains/evidence/trust-status.ts +22 -3
  698. package/src/domains/extensions/command-schema.ts +145 -0
  699. package/src/domains/extensions/command-tools.ts +15 -0
  700. package/src/domains/extensions/compatibility.ts +7 -0
  701. package/src/domains/extensions/contract.ts +0 -4
  702. package/src/domains/extensions/discovery.ts +69 -205
  703. package/src/domains/extensions/extension.ts +0 -4
  704. package/src/domains/extensions/index.ts +1 -5
  705. package/src/domains/extensions/manager.ts +1 -6
  706. package/src/domains/extensions/operator-commands.ts +29 -0
  707. package/src/domains/extensions/operator-runtime.ts +485 -0
  708. package/src/domains/extensions/public-api.ts +53 -0
  709. package/src/domains/extensions/runtime-child.mjs +114 -0
  710. package/src/domains/extensions/runtime-process.ts +306 -0
  711. package/src/domains/extensions/runtime-schema.ts +146 -0
  712. package/src/domains/extensions/snapshot-access.ts +21 -0
  713. package/src/domains/extensions/snapshot.ts +4 -32
  714. package/src/domains/extensions/state.ts +5 -83
  715. package/src/domains/extensions/types.ts +33 -34
  716. package/src/domains/interop/adopt.ts +546 -0
  717. package/src/domains/interop/detect.ts +50 -12
  718. package/src/domains/interop/foreign.ts +554 -0
  719. package/src/domains/interop/import.ts +277 -0
  720. package/src/domains/interop/index.ts +24 -0
  721. package/src/domains/interop/install.ts +6 -0
  722. package/src/domains/interop/inventory.ts +351 -0
  723. package/src/domains/interop/projection.ts +360 -0
  724. package/src/domains/interop/registry.ts +106 -3
  725. package/src/domains/interop/types.ts +51 -0
  726. package/src/domains/lifecycle/migrations/index.ts +0 -2
  727. package/src/domains/lifecycle/naming-resources.ts +1 -1
  728. package/src/domains/middleware/hooks.ts +2 -2
  729. package/src/domains/middleware/marketplace-offer.ts +1 -1
  730. package/src/domains/mux/contract.ts +1 -1
  731. package/src/domains/observability/background-memory-usage.ts +3 -0
  732. package/src/domains/observability/compaction-usage.ts +2 -0
  733. package/src/domains/observability/cost.ts +5 -0
  734. package/src/domains/observability/extension.ts +1 -0
  735. package/src/domains/observability/out-of-turn-usage.ts +2 -0
  736. package/src/domains/observability/trace-store.ts +65 -5
  737. package/src/domains/plugins/catalog.ts +204 -0
  738. package/src/domains/plugins/contract.ts +24 -0
  739. package/src/domains/plugins/discovery.ts +316 -0
  740. package/src/domains/plugins/extension.ts +40 -0
  741. package/src/domains/plugins/index.ts +77 -0
  742. package/src/domains/plugins/integrity.ts +6 -0
  743. package/src/domains/plugins/manifest.ts +3 -0
  744. package/src/domains/plugins/resources.ts +102 -0
  745. package/src/domains/plugins/state.ts +753 -0
  746. package/src/domains/plugins/types.ts +217 -0
  747. package/src/domains/prompts/extension.ts +4 -10
  748. package/src/domains/prompts/fragments/operating/skills.md +10 -10
  749. package/src/domains/providers/cache-deployment.ts +147 -0
  750. package/src/domains/providers/catalog.ts +12 -7
  751. package/src/domains/providers/extension.ts +27 -5
  752. package/src/domains/providers/index.ts +1 -0
  753. package/src/domains/providers/plugins.ts +3 -13
  754. package/src/domains/providers/runtimes/common/local-synth.ts +4 -0
  755. package/src/domains/providers/types/target-descriptor.ts +17 -0
  756. package/src/domains/resources/common-loader.ts +9 -6
  757. package/src/domains/resources/index.ts +67 -0
  758. package/src/domains/resources/library-actions.ts +836 -0
  759. package/src/domains/resources/library-evals.ts +38 -0
  760. package/src/domains/resources/library-inventory.ts +1048 -0
  761. package/src/domains/resources/library-types.ts +50 -0
  762. package/src/domains/resources/library-validation.ts +634 -0
  763. package/src/domains/resources/library.ts +437 -156
  764. package/src/domains/resources/package-references.ts +66 -0
  765. package/src/domains/resources/prompts/loader.ts +75 -41
  766. package/src/domains/resources/skills/install.ts +2 -2
  767. package/src/domains/resources/skills/loader.ts +77 -22
  768. package/src/domains/resources/skills/marketplace.ts +48 -57
  769. package/src/domains/resources/skills/promotion.ts +2 -2
  770. package/src/domains/resources/skills/provenance-pin.ts +17 -4
  771. package/src/domains/safety/action-classifier.ts +2 -2
  772. package/src/domains/safety/default-path-policy.ts +3 -1
  773. package/src/domains/safety/policy-engine.ts +1 -1
  774. package/src/domains/safety/protected-artifacts.ts +21 -5
  775. package/src/domains/safety/skill-authority.ts +5 -2
  776. package/src/domains/session/compaction/compact.ts +4 -1
  777. package/src/domains/session/entries.ts +1 -0
  778. package/src/domains/session/usage.ts +6 -7
  779. package/src/domains/share/archive.ts +1 -1
  780. package/src/engine/acp/server.ts +11 -0
  781. package/src/engine/ai.ts +2 -0
  782. package/src/engine/apis/openai-completions.ts +61 -6
  783. package/src/engine/notices/pi-tui-LICENSE +21 -0
  784. package/src/engine/prewarm.ts +232 -0
  785. package/src/engine/provider-diagnostics.ts +6 -1
  786. package/src/engine/tui.ts +3 -0
  787. package/src/engine/worker-runtime.ts +58 -14
  788. package/src/engine/worker-tools.ts +5 -0
  789. package/src/entry/orchestrator.ts +46 -21
  790. package/src/entry/plugin-reload.ts +18 -0
  791. package/src/interactive/application-controller.ts +67 -21
  792. package/src/interactive/chat-loop-messages.ts +3 -0
  793. package/src/interactive/chat-loop.ts +32 -11
  794. package/src/interactive/chat-panel.ts +5 -1
  795. package/src/interactive/clio-editor.ts +53 -21
  796. package/src/interactive/command-output.ts +56 -1
  797. package/src/interactive/editor-submit.ts +65 -28
  798. package/src/interactive/fleet-run-preview.ts +2 -0
  799. package/src/interactive/follow-up-queue-panel.ts +3 -3
  800. package/src/interactive/footer/dashboard.ts +4 -1
  801. package/src/interactive/footer/notifications.ts +2 -2
  802. package/src/interactive/footer/widgets.ts +2 -2
  803. package/src/interactive/interactive-application.ts +209 -21
  804. package/src/interactive/interactive-input-runtime.ts +254 -7
  805. package/src/interactive/interactive-presentation.ts +41 -12
  806. package/src/interactive/interactive-slash-runtime.ts +37 -8
  807. package/src/interactive/keybinding-manager.ts +156 -79
  808. package/src/interactive/keyboard-owner.ts +37 -0
  809. package/src/interactive/leader-key.ts +49 -102
  810. package/src/interactive/leader-menu.ts +45 -0
  811. package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
  812. package/src/interactive/overlay-frame.ts +15 -0
  813. package/src/interactive/overlay-key-routing.ts +46 -47
  814. package/src/interactive/overlay-lifecycle.ts +30 -15
  815. package/src/interactive/overlay-resource-openers.ts +56 -46
  816. package/src/interactive/overlays/ask-user.ts +630 -556
  817. package/src/interactive/overlays/extension-panel.ts +70 -0
  818. package/src/interactive/overlays/extensions.ts +28 -5
  819. package/src/interactive/overlays/fleet-run-approval.ts +7 -3
  820. package/src/interactive/overlays/help-reference.ts +89 -40
  821. package/src/interactive/overlays/interop.ts +122 -3
  822. package/src/interactive/overlays/keybinding-detail.ts +2 -2
  823. package/src/interactive/overlays/library-lifecycle.ts +90 -0
  824. package/src/interactive/overlays/library-model.ts +574 -0
  825. package/src/interactive/overlays/library-review.ts +557 -0
  826. package/src/interactive/overlays/library-tabs.ts +3 -15
  827. package/src/interactive/overlays/library.ts +602 -0
  828. package/src/interactive/overlays/list-overlay.ts +218 -39
  829. package/src/interactive/overlays/model-selector.ts +28 -25
  830. package/src/interactive/overlays/session-selector.ts +9 -3
  831. package/src/interactive/overlays/settings.ts +25 -18
  832. package/src/interactive/overlays/tree-selector.ts +16 -11
  833. package/src/interactive/permission-hint.ts +13 -0
  834. package/src/interactive/permission-overlay.ts +77 -28
  835. package/src/interactive/prewarm.ts +11 -197
  836. package/src/interactive/prompt-source-label.ts +21 -0
  837. package/src/interactive/renderers/reference-card.ts +35 -0
  838. package/src/interactive/renderers/worker-entry.ts +35 -3
  839. package/src/interactive/session-usage-reseed.ts +2 -0
  840. package/src/interactive/side-question.ts +2 -0
  841. package/src/interactive/slash-autocomplete.ts +99 -1
  842. package/src/interactive/slash-commands.ts +390 -67
  843. package/src/interactive/slash-spec.ts +0 -1
  844. package/src/interactive/terminal-lease.ts +44 -12
  845. package/src/interactive/turn-context.ts +1 -0
  846. package/src/interactive/turn-persistence.ts +3 -0
  847. package/src/interactive/turn-prewarm.ts +126 -19
  848. package/src/interactive/turn-queues.ts +8 -7
  849. package/src/interactive/turn-runtime.ts +15 -1
  850. package/src/interactive/view/view-overlay.ts +19 -14
  851. package/src/interactive/welcome-dashboard.ts +525 -408
  852. package/src/tools/bootstrap.ts +8 -0
  853. package/src/tools/builtin-tool-catalog.ts +15 -6
  854. package/src/tools/context/index.ts +58 -5
  855. package/src/tools/context/library.ts +465 -0
  856. package/src/tools/context/surface.ts +20 -6
  857. package/src/tools/core-bootstrap.ts +3 -0
  858. package/src/tools/dispatch-admission.ts +24 -1
  859. package/src/tools/dispatch-arguments.ts +8 -0
  860. package/src/tools/dispatch-plan.ts +32 -0
  861. package/src/tools/dispatch-schema.ts +31 -1
  862. package/src/tools/dispatch-types.ts +3 -0
  863. package/src/tools/dispatch.ts +1 -1
  864. package/src/tools/harness-extensions.ts +169 -0
  865. package/src/tools/observation.ts +4 -0
  866. package/src/tools/policy.ts +7 -1
  867. package/src/tools/registry.ts +31 -3
  868. package/src/tools/worker-evidence.ts +5 -0
  869. package/src/worker/context-seed.ts +192 -0
  870. package/src/worker/entry.ts +1 -0
  871. package/src/worker/spec-contract.ts +35 -1
  872. package/dist/acp-UVEVWSDL.js +0 -130
  873. package/dist/agents-VWY37DTK.js +0 -148
  874. package/dist/auth-PCV2XQDV.js +0 -551
  875. package/dist/builtins-PD652MTK.js +0 -22
  876. package/dist/chunk-22PQ4TX4.js +0 -360
  877. package/dist/chunk-24T2YZ7A.js +0 -22648
  878. package/dist/chunk-2AKYFREM.js +0 -1008
  879. package/dist/chunk-2QPI3TR3.js +0 -162
  880. package/dist/chunk-3BJGMT2D.js +0 -324
  881. package/dist/chunk-3HQVBIKD.js +0 -308
  882. package/dist/chunk-3JLFK5MW.js +0 -193
  883. package/dist/chunk-3O2ZAUGQ.js +0 -283
  884. package/dist/chunk-3QKXHCGS.js +0 -59
  885. package/dist/chunk-3T4DXWP6.js +0 -668
  886. package/dist/chunk-3UW3KU4A.js +0 -21
  887. package/dist/chunk-3WBALRQH.js +0 -5076
  888. package/dist/chunk-4DU2TVI4.js +0 -108
  889. package/dist/chunk-4U4TKZFR.js +0 -5052
  890. package/dist/chunk-4VMV6OS6.js +0 -101
  891. package/dist/chunk-536HXRFE.js +0 -1257
  892. package/dist/chunk-5CMARGPF.js +0 -477
  893. package/dist/chunk-5CY4Q6QI.js +0 -141
  894. package/dist/chunk-5QRX7SLS.js +0 -1018
  895. package/dist/chunk-5VTJP36Q.js +0 -36
  896. package/dist/chunk-5ZSZEYJK.js +0 -119
  897. package/dist/chunk-6HAO6X5B.js +0 -197
  898. package/dist/chunk-6OII3LOK.js +0 -404
  899. package/dist/chunk-6RYDAVQT.js +0 -4338
  900. package/dist/chunk-6VRRJT7L.js +0 -146
  901. package/dist/chunk-6YA46L5A.js +0 -386
  902. package/dist/chunk-77CZRFTE.js +0 -634
  903. package/dist/chunk-7JSSKXG2.js +0 -1215
  904. package/dist/chunk-7WUZEB2M.js +0 -165
  905. package/dist/chunk-7YJWEF2L.js +0 -974
  906. package/dist/chunk-ACCKVSHU.js +0 -44
  907. package/dist/chunk-B3MOMLJ4.js +0 -433
  908. package/dist/chunk-BBV5TKE6.js +0 -35
  909. package/dist/chunk-BLTEAUCB.js +0 -668
  910. package/dist/chunk-BS4GAMUB.js +0 -233
  911. package/dist/chunk-BT7HGDOX.js +0 -3151
  912. package/dist/chunk-CBSKDFWL.js +0 -101
  913. package/dist/chunk-CXQ37WJH.js +0 -45
  914. package/dist/chunk-DXLUVUD4.js +0 -1490
  915. package/dist/chunk-DZK63TZJ.js +0 -1334
  916. package/dist/chunk-E7RF4KBO.js +0 -266
  917. package/dist/chunk-ECOMVOHP.js +0 -139
  918. package/dist/chunk-EHOSNVVM.js +0 -59
  919. package/dist/chunk-F5Z7EWMN.js +0 -4484
  920. package/dist/chunk-FQOOGXBH.js +0 -579
  921. package/dist/chunk-GLYBJ4RQ.js +0 -396
  922. package/dist/chunk-HHVJNVUJ.js +0 -179
  923. package/dist/chunk-HL26ADLH.js +0 -77
  924. package/dist/chunk-HPTJF6DG.js +0 -2465
  925. package/dist/chunk-HXHFDHB6.js +0 -962
  926. package/dist/chunk-HZ2T2YED.js +0 -1687
  927. package/dist/chunk-HZFBVU5X.js +0 -666
  928. package/dist/chunk-I2K2NCZQ.js +0 -659
  929. package/dist/chunk-IGLVVNEG.js +0 -402
  930. package/dist/chunk-IKRWLEDA.js +0 -1567
  931. package/dist/chunk-J2FYEQ5L.js +0 -33
  932. package/dist/chunk-JMPL7NUB.js +0 -108
  933. package/dist/chunk-K2HL3GBL.js +0 -998
  934. package/dist/chunk-KAFMW7WM.js +0 -386
  935. package/dist/chunk-KTFSFCVN.js +0 -46
  936. package/dist/chunk-LIN2K3EL.js +0 -66
  937. package/dist/chunk-LUL5Z66S.js +0 -221
  938. package/dist/chunk-LVFANMOH.js +0 -466
  939. package/dist/chunk-LY4N4TTL.js +0 -117
  940. package/dist/chunk-LZBMXNLP.js +0 -1196
  941. package/dist/chunk-M6TAYK66.js +0 -807
  942. package/dist/chunk-N2OKBREN.js +0 -243
  943. package/dist/chunk-NC4KV7EL.js +0 -39
  944. package/dist/chunk-NF3BK5WR.js +0 -42
  945. package/dist/chunk-NNWJYUNO.js +0 -573
  946. package/dist/chunk-NTK3WTHM.js +0 -141
  947. package/dist/chunk-ODUTYZIU.js +0 -688
  948. package/dist/chunk-OQM5IVJY.js +0 -1377
  949. package/dist/chunk-P5JMBPDJ.js +0 -7192
  950. package/dist/chunk-P5SC4DLJ.js +0 -47
  951. package/dist/chunk-P6M7RKMI.js +0 -97
  952. package/dist/chunk-PWWSIB2A.js +0 -52
  953. package/dist/chunk-PZN2LQY6.js +0 -674
  954. package/dist/chunk-Q7NNUHQV.js +0 -705
  955. package/dist/chunk-QCOV5DFY.js +0 -911
  956. package/dist/chunk-QNWRHOMF.js +0 -692
  957. package/dist/chunk-QRFXEO6Y.js +0 -17
  958. package/dist/chunk-QXFBABFJ.js +0 -380
  959. package/dist/chunk-RGZNQ5CT.js +0 -657
  960. package/dist/chunk-SRZOW5L2.js +0 -1865
  961. package/dist/chunk-SXQKNKRA.js +0 -223
  962. package/dist/chunk-T334FW2H.js +0 -362
  963. package/dist/chunk-T52TPHYC.js +0 -318
  964. package/dist/chunk-TJFDL26W.js +0 -658
  965. package/dist/chunk-TN5FW4XY.js +0 -172
  966. package/dist/chunk-U7H5WRG5.js +0 -123
  967. package/dist/chunk-UFYNOQK4.js +0 -302
  968. package/dist/chunk-URBGEOH3.js +0 -32
  969. package/dist/chunk-USZA7GWL.js +0 -341
  970. package/dist/chunk-UUQ5G6EZ.js +0 -697
  971. package/dist/chunk-VAHLPXPY.js +0 -399
  972. package/dist/chunk-VANN3GDP.js +0 -2488
  973. package/dist/chunk-VHMX7SXF.js +0 -1289
  974. package/dist/chunk-WJIMKGD6.js +0 -132
  975. package/dist/chunk-WKUYQBCG.js +0 -795
  976. package/dist/chunk-WNGF5AJX.js +0 -1911
  977. package/dist/chunk-WV6TDAPN.js +0 -3627
  978. package/dist/chunk-X3BI7HTV.js +0 -562
  979. package/dist/chunk-XWMSPJYN.js +0 -149
  980. package/dist/chunk-YPRSNUTC.js +0 -395
  981. package/dist/chunk-ZS43Y2FT.js +0 -438
  982. package/dist/clio-QQCMTUZE.js +0 -26
  983. package/dist/code-nav-GUPM6766.js +0 -686
  984. package/dist/components-TNIKXCBH.js +0 -674
  985. package/dist/config-IIM7YOD3.js +0 -621
  986. package/dist/configure-4ZM5HWJX.js +0 -73
  987. package/dist/context-44BZLJ3J.js +0 -344
  988. package/dist/context-AIDVQKMW.js +0 -278
  989. package/dist/context-OL5P3HEP.js +0 -1031
  990. package/dist/context-clear-OQV76MYP.js +0 -184
  991. package/dist/context-index-HP2JFUWA.js +0 -120
  992. package/dist/context-map-INTXD54D.js +0 -555
  993. package/dist/context-working-set-ZUW3EGLS.js +0 -1556
  994. package/dist/detail-UXPWRANG.js +0 -115
  995. package/dist/dispatch-runner-P3ZW6G77.js +0 -2438
  996. package/dist/docs-BL7ROUFN.js +0 -292
  997. package/dist/doctor-JJVGPZWT.js +0 -797
  998. package/dist/eval-V2RTN3UH.js +0 -4972
  999. package/dist/eval-inventory-QOYZERXJ.js +0 -315
  1000. package/dist/evidence-35PYWGSO.js +0 -225
  1001. package/dist/evidence-CIGGKI6J.js +0 -383
  1002. package/dist/evolve-33SM3NJP.js +0 -609
  1003. package/dist/extensions-YVRHX6ZI.js +0 -229
  1004. package/dist/fleet-LFO7SIPC.js +0 -908
  1005. package/dist/fleet-commands-RLK72GU3.js +0 -75
  1006. package/dist/fleet-decisions-3SBSCTCW.js +0 -159
  1007. package/dist/fleet-graph-JZIBCGMW.js +0 -134
  1008. package/dist/fleet-inspect-2L5YGGZJ.js +0 -469
  1009. package/dist/fleet-preflight-QRSHIIDE.js +0 -22
  1010. package/dist/fleet-validate-LIAVKDUU.js +0 -92
  1011. package/dist/fleet-verify-JIK3OQZR.js +0 -202
  1012. package/dist/fleet-view-IWHYGQKK.js +0 -118
  1013. package/dist/init-NJEDOTQW.js +0 -321
  1014. package/dist/interop-RVCAYECG.js +0 -115
  1015. package/dist/inventory-74UL7UHU.js +0 -118
  1016. package/dist/library-CTKZA7K3.js +0 -226
  1017. package/dist/memory-I76I5VUH.js +0 -512
  1018. package/dist/models-D4YDIQZQ.js +0 -289
  1019. package/dist/monitor-NKVD55HX.js +0 -775
  1020. package/dist/orchestrator-I6OATVPK.js +0 -39518
  1021. package/dist/panes-7BTYH3XQ.js +0 -103
  1022. package/dist/panes-WPOMEMRH.js +0 -74
  1023. package/dist/paths-J3KN7UAO.js +0 -67
  1024. package/dist/preload-EJAWJEIO.js +0 -116
  1025. package/dist/reset-4XMQKDNZ.js +0 -345
  1026. package/dist/resources-TVYVXK3Q.js +0 -125
  1027. package/dist/run-OWQNNSJU.js +0 -872
  1028. package/dist/share-NPZZMUXG.js +0 -290
  1029. package/dist/skills-OXFEAWMT.js +0 -510
  1030. package/dist/skills-eval-J5TCKSJA.js +0 -1034
  1031. package/dist/skills-inventory-7II4DM57.js +0 -133
  1032. package/dist/slash-commands-MDSDSWYF.js +0 -92
  1033. package/dist/steer-S7D7IKPU.js +0 -77
  1034. package/dist/support-5VAEC32W.js +0 -38
  1035. package/dist/targets-KILZEOCE.js +0 -1109
  1036. package/dist/tasks-R6P6OV22.js +0 -36
  1037. package/dist/terminal-lease-LZCG2KN3.js +0 -405
  1038. package/dist/tools-6OCQ6SVB.js +0 -28
  1039. package/dist/trace-JHLXWUMN.js +0 -572
  1040. package/dist/tui-primitives-RCY2HN7G.js +0 -17
  1041. package/dist/uninstall-FXYMFFRT.js +0 -407
  1042. package/dist/upgrade-D2OZH6IQ.js +0 -307
  1043. package/dist/usage-PIASNUS4.js +0 -1052
  1044. package/dist/verifiers-LTHUY2PX.js +0 -630
  1045. package/dist/verify-HYF7KBVE.js +0 -30
  1046. package/dist/web-fetch-MQN4FH3X.js +0 -788
  1047. package/dist/wiki-generate-RK7JQ5NP.js +0 -615
  1048. package/dist/with-panes-OFTNAR4Y.js +0 -628
  1049. package/skills/README.md +0 -418
  1050. package/skills/coding/ast-grep/SKILL.md +0 -213
  1051. package/skills/coding/ast-grep/evals.md +0 -82
  1052. package/skills/coding/coding-standards/SKILL.md +0 -164
  1053. package/skills/coding/coding-standards/evals.md +0 -57
  1054. package/skills/coding/prototype/SKILL.md +0 -151
  1055. package/skills/coding/prototype/evals.md +0 -61
  1056. package/skills/coding/tdd/SKILL.md +0 -134
  1057. package/skills/coding/tdd/evals.md +0 -61
  1058. package/skills/context/context-handoff/SKILL.md +0 -176
  1059. package/skills/context/context-handoff/evals.md +0 -101
  1060. package/skills/context/context-prime/SKILL.md +0 -131
  1061. package/skills/context/context-prime/evals.md +0 -99
  1062. package/skills/git/branch-closeout/SKILL.md +0 -132
  1063. package/skills/git/file-ticket/SKILL.md +0 -126
  1064. package/skills/git/fix-issue/SKILL.md +0 -136
  1065. package/skills/git/resolve-merge-conflicts/SKILL.md +0 -151
  1066. package/skills/git/resolve-merge-conflicts/evals.md +0 -85
  1067. package/skills/git/ship/SKILL.md +0 -134
  1068. package/skills/git/worktree-create/SKILL.md +0 -127
  1069. package/skills/git/worktree-merge/SKILL.md +0 -147
  1070. package/skills/meta/clio-coder-dev/SKILL.md +0 -101
  1071. package/skills/meta/clio-coder-dev/evals.md +0 -46
  1072. package/skills/meta/clio-coder-test/SKILL.md +0 -146
  1073. package/skills/meta/clio-coder-test/evals.md +0 -48
  1074. package/skills/meta/clio-coder-test/references/test-map.md +0 -96
  1075. package/skills/meta/credentials/SKILL.md +0 -132
  1076. package/skills/meta/credentials/evals.md +0 -104
  1077. package/skills/meta/find-skills/SKILL.md +0 -78
  1078. package/skills/meta/find-skills/evals.md +0 -47
  1079. package/skills/meta/herdr/SKILL.md +0 -133
  1080. package/skills/meta/herdr/evals.md +0 -38
  1081. package/skills/meta/skill-craft/SKILL.md +0 -125
  1082. package/skills/meta/skill-craft/evals.md +0 -41
  1083. package/skills/planning/archify/SKILL.md +0 -196
  1084. package/skills/planning/architecture/SKILL.md +0 -184
  1085. package/skills/planning/architecture/evals.md +0 -101
  1086. package/skills/planning/backlog/SKILL.md +0 -212
  1087. package/skills/planning/backlog/evals.md +0 -185
  1088. package/skills/planning/prd/SKILL.md +0 -129
  1089. package/skills/planning/prd/evals.md +0 -103
  1090. package/skills/planning/product-intent/SKILL.md +0 -173
  1091. package/skills/planning/product-intent/evals.md +0 -106
  1092. package/skills/planning/tech-spec/SKILL.md +0 -172
  1093. package/skills/planning/tech-spec/evals.md +0 -120
  1094. package/skills/registry.yaml +0 -144
  1095. package/skills/remote.yaml +0 -13
  1096. package/skills/research/arxiv-literature/SKILL.md +0 -168
  1097. package/skills/research/arxiv-literature/evals.md +0 -108
  1098. package/skills/research/experiment-protocol/SKILL.md +0 -148
  1099. package/skills/research/experiment-protocol/evals.md +0 -114
  1100. package/skills/research/scientific-debugging/SKILL.md +0 -149
  1101. package/skills/research/scientific-debugging/evals.md +0 -156
  1102. package/skills/research/scientific-modernization/SKILL.md +0 -170
  1103. package/skills/research/scientific-modernization/evals.md +0 -111
  1104. package/skills/skill-marketplace.json +0 -507
  1105. package/skills/workflow/cut-it/SKILL.md +0 -153
  1106. package/skills/workflow/cut-it/evals.md +0 -143
  1107. package/skills/workflow/design-council/SKILL.md +0 -233
  1108. package/skills/workflow/design-council/evals.md +0 -258
  1109. package/skills/workflow/grill-me/SKILL.md +0 -267
  1110. package/skills/workflow/grill-me/evals.md +0 -231
  1111. package/skills/workflow/workflow-distiller/SKILL.md +0 -201
  1112. package/skills/workflow/workflow-distiller/evals.md +0 -225
  1113. package/src/domains/extensions/resource-path.ts +0 -27
  1114. package/src/domains/extensions/resources.ts +0 -37
  1115. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
  1116. package/src/interactive/overlays/agents.ts +0 -70
  1117. package/src/interactive/overlays/library-install-confirm.ts +0 -152
  1118. package/src/interactive/overlays/prompts.ts +0 -89
  1119. package/src/interactive/overlays/skills-hub.ts +0 -615
  1120. /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
  1121. /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
  1122. /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
  1123. /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
  1124. /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
  1125. /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
  1126. /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
  1127. /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
  1128. /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
  1129. /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
  1130. /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
  1131. /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
  1132. /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
  1133. /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
  1134. /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
  1135. /package/{skills → library/skills}/git/ship/evals.md +0 -0
  1136. /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
  1137. /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
  1138. /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
  1139. /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
  1140. /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
  1141. /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
  1142. /package/{skills → library/skills}/planning/archify/evals.md +0 -0
@@ -1,3 +1,7 @@
1
+ import { parseWorkerContextSeed } from "../../worker/context-seed.js";
2
+ import { WORKER_STDIN_FRAME_MAX_BYTES } from "../../worker/protocol.js";
3
+ import { WORKER_CONTEXT_PREAMBLE } from "../context/worker/select.js";
4
+ import { persistWorkerContextSeed } from "../context/worker/store.js";
1
5
  /**
2
6
  * Dispatch domain wire-up (post-W5).
3
7
  *
@@ -17,7 +21,7 @@ import { BusChannels, type DispatchCompletedPayload, type DispatchRunIdentity }
17
21
  import { DEFAULT_SETTINGS, type DelegationToolGovernance } from "../../core/defaults.js";
18
22
  import type { DomainBundle, DomainContext, DomainExtension } from "../../core/domain-loader.js";
19
23
  import { gatewayRoutingObservationFromRecord } from "../../core/gateway-routing.js";
20
- import { GUARDRAIL_DEFAULTS } from "../../core/guardrails.js";
24
+ import { GUARDRAIL_DEFAULTS, resolveGuardrail } from "../../core/guardrails.js";
21
25
  import { readClioVersion, readPiMonoVersion } from "../../core/package-root.js";
22
26
  import { canonicalizeExistingPath } from "../../core/path-canonical.js";
23
27
  import { protectedResidencyModels } from "../../core/residency-protection.js";
@@ -29,7 +33,7 @@ import {
29
33
  } from "../../core/response-schema.js";
30
34
  import { isSkillActivation, type SkillActivation } from "../../core/skill-activation.js";
31
35
  import { rawDurationMs } from "../../core/timers.js";
32
- import { isBuiltinToolName, type ToolName, ToolNames } from "../../core/tool-names.js";
36
+ import { isBuiltinToolName, isHarnessExtensionToolName, type ToolName, ToolNames } from "../../core/tool-names.js";
33
37
  import {
34
38
  type AcpDelegationRunHandle,
35
39
  type AcpDelegationRunInput,
@@ -72,6 +76,7 @@ import {
72
76
  } from "../agents/spec.js";
73
77
  import type { ConfigContract } from "../config/contract.js";
74
78
  import type { ContextContract, ProjectPromptContext, ProjectStructuredContext } from "../context/contract.js";
79
+ import { enabledHarnessExtensionToolNames } from "../extensions/command-tools.js";
75
80
  import type { MiddlewareContract } from "../middleware/contract.js";
76
81
  import { workerSafetyOneLiner } from "../prompts/compiler.js";
77
82
  import type { PromptsContract } from "../prompts/contract.js";
@@ -320,7 +325,10 @@ interface RunTokenMeter {
320
325
  outputTokens: number;
321
326
  cacheReadTokens: number;
322
327
  cacheWriteTokens: number;
328
+ cacheWrite1hTokens?: number;
323
329
  reasoningTokens: number;
330
+ /** Native calls are priced individually by the SDK, including cache TTLs and context tiers. */
331
+ costUsd?: number;
324
332
  }
325
333
 
326
334
  interface ActiveRun {
@@ -453,6 +461,7 @@ function sealRouteDecision(draft: RunReceiptDraft, decision: RouteDecisionV1): R
453
461
  export const UNKNOWN_PRICING_ADMISSION_ESTIMATE_USD = 1;
454
462
 
455
463
  function calculateUsageCostUsd(meter: RunTokenMeter, pricing: EffectivePricing["rates"]): number {
464
+ if (meter.costUsd !== undefined) return meter.costUsd;
456
465
  if (pricing === null) return 0;
457
466
  return (
458
467
  (meter.inputTokens * pricing.input +
@@ -463,6 +472,39 @@ function calculateUsageCostUsd(meter: RunTokenMeter, pricing: EffectivePricing["
463
472
  );
464
473
  }
465
474
 
475
+ function accumulateNativeUsage(
476
+ meter: RunTokenMeter,
477
+ usage: Record<string, unknown>,
478
+ pricing: EffectivePricing["rates"],
479
+ ): void {
480
+ const count = (value: unknown): number =>
481
+ typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : 0;
482
+ const call: RunTokenMeter = {
483
+ inputTokens: count(usage.input),
484
+ outputTokens: count(usage.output),
485
+ cacheReadTokens: count(usage.cacheRead),
486
+ cacheWriteTokens: count(usage.cacheWrite),
487
+ reasoningTokens: extractReasoningTokenCount(usage),
488
+ };
489
+ const reported = isRecord(usage.cost) ? usage.cost.total : undefined;
490
+ // An SDK total is already priced with per-call tiers, service tier
491
+ // and cache-write lifetime. Never reprice it from an aggregate token count.
492
+ // Retain the target-rate fallback only for workers that omit calculated
493
+ // cost. Zero remains zero; its provenance still comes from the target.
494
+ const callCost =
495
+ typeof reported === "number" && Number.isFinite(reported) && reported >= 0
496
+ ? reported
497
+ : calculateUsageCostUsd(call, pricing);
498
+ meter.costUsd = (meter.costUsd ?? 0) + callCost;
499
+ meter.inputTokens += call.inputTokens;
500
+ meter.outputTokens += call.outputTokens;
501
+ meter.cacheReadTokens += call.cacheReadTokens;
502
+ meter.cacheWriteTokens += call.cacheWriteTokens;
503
+ if (typeof usage.cacheWrite1h === "number" && usage.cacheWrite1h >= 0 && usage.cacheWrite1h <= call.cacheWriteTokens)
504
+ meter.cacheWrite1hTokens = (meter.cacheWrite1hTokens ?? 0) + usage.cacheWrite1h;
505
+ meter.reasoningTokens += call.reasoningTokens;
506
+ }
507
+
466
508
  /**
467
509
  * Output-token figure the admission estimate prices a route against. Settings
468
510
  * always carry `defaults.maxTokens`; the fallback covers the callers that
@@ -706,6 +748,7 @@ function reportDispatchDiagnostic(scope: string, error: unknown): void {
706
748
  }
707
749
 
708
750
  const OUTCOME_CODE_SPECIFICITY: ReadonlyArray<RunOutcomeCode> = [
751
+ "worker_context_exhausted",
709
752
  "result_contract_exhausted",
710
753
  "loop_guard_tools_disabled_exhausted",
711
754
  "worker_tool_call_cap_exhausted",
@@ -1181,6 +1224,24 @@ export function buildDynamicPromptMessages(
1181
1224
  dynamicContext: WorkerDynamicContext = {},
1182
1225
  ): WorkerPromptMessage[] {
1183
1226
  const messages: WorkerPromptMessage[] = [];
1227
+ if (req.contextSeed) {
1228
+ const seed = parseWorkerContextSeed(req.contextSeed);
1229
+ const body =
1230
+ seed.provenance.mode === "fork"
1231
+ ? WORKER_CONTEXT_PREAMBLE
1232
+ : seed.messages
1233
+ .map((message) => {
1234
+ if (message.role !== "user") throw new Error("worker context: invalid portable packet");
1235
+ return typeof message.content === "string"
1236
+ ? message.content
1237
+ : message.content
1238
+ .filter((block) => block.type === "text")
1239
+ .map((block) => block.text)
1240
+ .join("\n");
1241
+ })
1242
+ .join("\n\n");
1243
+ messages.push({ id: "dispatch-worker-context", body, contentHash: sha256(body) });
1244
+ }
1184
1245
  if (dynamicContext.workspace) {
1185
1246
  const body = renderWorkerWorkspaceContext(dynamicContext.workspace);
1186
1247
  messages.push({ id: "dispatch-workspace", body, contentHash: sha256(body) });
@@ -1259,6 +1320,19 @@ export function buildDynamicPromptMessages(
1259
1320
  return messages;
1260
1321
  }
1261
1322
 
1323
+ function assertWorkerContextRequest(req: DispatchRequest, native: boolean): void {
1324
+ const mode = req.context?.mode ?? "isolated";
1325
+ if (mode === "isolated") {
1326
+ if (req.contextSeed !== undefined) throw new Error("worker context: isolated request cannot inherit a seed");
1327
+ return;
1328
+ }
1329
+ if (!req.contextSeed) throw new Error("worker context: inheritance requires a host-captured seed");
1330
+ const seed = parseWorkerContextSeed(req.contextSeed);
1331
+ if (seed.provenance.mode !== mode) throw new Error("worker context: seed mode differs from admitted request");
1332
+ if (mode === "fork" && !native)
1333
+ throw new Error("worker context: fork requires a native Pi runtime; use splice for external agents");
1334
+ }
1335
+
1262
1336
  interface ResolvedTarget {
1263
1337
  target: TargetDescriptor;
1264
1338
  runtime: RuntimeDescriptor;
@@ -1601,6 +1675,7 @@ function effectiveToolNames(
1601
1675
  * here rather than leaving the model to spend budget finding that out.
1602
1676
  */
1603
1677
  denied: ReadonlySet<string> = new Set(),
1678
+ cwd = process.cwd(),
1604
1679
  ): ReadonlyArray<ToolName> {
1605
1680
  if (!targetToolCapability(target)) return [];
1606
1681
  // A hermetic process registers no network plane, so the worker's registry
@@ -1609,9 +1684,13 @@ function effectiveToolNames(
1609
1684
  // attests; otherwise the run is refused for a mismatch instead of simply
1610
1685
  // running without network.
1611
1686
  const networkStripped = networkToolsDisabled();
1687
+ const harnessTools =
1688
+ target.runtime.kind === "http" && !writeConfined && allowedTools.some(isHarnessExtensionToolName)
1689
+ ? enabledHarnessExtensionToolNames(cwd)
1690
+ : new Set<string>();
1612
1691
  const names = allowedTools.filter(
1613
1692
  (tool): tool is ToolName =>
1614
- isBuiltinToolName(tool) &&
1693
+ (isBuiltinToolName(tool) || harnessTools.has(tool)) &&
1615
1694
  tool !== ToolNames.AskUser &&
1616
1695
  !(networkStripped && tool === ToolNames.WebFetch) &&
1617
1696
  !denied.has(tool) &&
@@ -1995,6 +2074,10 @@ function buildDispatchWorkerSpec(input: DispatchWorkerSpecInput, config?: Config
1995
2074
  // autonomy can only narrow (reviewer/judge runs pin read-only); a worker
1996
2075
  // never exceeds the orchestrator's authority.
1997
2076
  spec.autonomy = input.effectiveAutonomy;
2077
+ if (input.req.contextSeed && input.target.runtime.kind === "http")
2078
+ spec.contextSeed = parseWorkerContextSeed(input.req.contextSeed);
2079
+ if (Buffer.byteLength(JSON.stringify(spec), "utf8") + 1 > WORKER_STDIN_FRAME_MAX_BYTES)
2080
+ throw new Error("worker context: complete WorkerSpec exceeds the stdin frame budget; use a smaller splice");
1998
2081
  return spec;
1999
2082
  }
2000
2083
 
@@ -3572,6 +3655,7 @@ export function createDispatchBundle(
3572
3655
  providers,
3573
3656
  );
3574
3657
  let target = resolveTarget();
3658
+ assertWorkerContextRequest(req, target.runtime.kind === "http");
3575
3659
  const identity = (resolved: ResolvedTarget): string =>
3576
3660
  JSON.stringify([
3577
3661
  resolved.target.id,
@@ -3591,7 +3675,13 @@ export function createDispatchBundle(
3591
3675
  const sessionAutonomy = settings?.safety.autonomy ?? "auto-edit";
3592
3676
  const effectiveAutonomy = effectiveWorkerAutonomy(sessionAutonomy, req.autonomy, spec.capabilityClass);
3593
3677
  const effectiveTools = withLedgerToolNarrowing(
3594
- effectiveToolNames(admission.allowedTools, target, pathScope.writeBoundaries.length > 0, deniedToolNames(req)),
3678
+ effectiveToolNames(
3679
+ admission.allowedTools,
3680
+ target,
3681
+ pathScope.writeBoundaries.length > 0,
3682
+ deniedToolNames(req),
3683
+ req.cwd ?? process.cwd(),
3684
+ ),
3595
3685
  req,
3596
3686
  );
3597
3687
  assertPostRuntimeToolCompatibility(req.agentId, spec, effectiveTools, target);
@@ -3652,7 +3742,11 @@ export function createDispatchBundle(
3652
3742
  });
3653
3743
  const projectContextProvenance = projectContextProvenanceFor(tier, dynamicPromptMessages);
3654
3744
  const dynamicText = dynamicPromptMessages.map((message) => message.body).join("\n\n");
3655
- const compiledPromptHash = promptCompositionHash([systemPrompt, dynamicText]);
3745
+ const compiledPromptHash = promptCompositionHash([
3746
+ systemPrompt,
3747
+ dynamicText,
3748
+ ...(req.contextSeed ? [req.contextSeed.provenance.contentHash] : []),
3749
+ ]);
3656
3750
  const staticCompositionHash = promptHash(systemPrompt);
3657
3751
  const sessionShellHash = staticCompositionHash;
3658
3752
  const dynamicHash = dynamicPromptMessages.length > 0 ? sha256(dynamicText) : sha256("");
@@ -3724,6 +3818,7 @@ export function createDispatchBundle(
3724
3818
  // before the external agent is started.
3725
3819
  dispatchResultContract(req, spec);
3726
3820
  }
3821
+ assertWorkerContextRequest(req, false);
3727
3822
  if (!settings) throw new Error("dispatch: effective settings required for ACP delegation");
3728
3823
  const configured = settings.integrations.externalAgents.entries.find((entry) => entry.id === agentId);
3729
3824
  if (!configured) throw new Error(`dispatch: ACP delegation agent '${agentId}' not configured`);
@@ -3765,7 +3860,11 @@ export function createDispatchBundle(
3765
3860
  });
3766
3861
  const projectContextProvenance = projectContextProvenanceFor(tier, dynamicPromptMessages);
3767
3862
  const dynamicText = dynamicPromptMessages.map((message) => message.body).join("\n\n");
3768
- const compiledPromptHash = promptCompositionHash([systemPrompt, dynamicText]);
3863
+ const compiledPromptHash = promptCompositionHash([
3864
+ systemPrompt,
3865
+ dynamicText,
3866
+ ...(req.contextSeed ? [req.contextSeed.provenance.contentHash] : []),
3867
+ ]);
3769
3868
  const staticCompositionHash = promptHash(systemPrompt);
3770
3869
  const sessionShellHash = staticCompositionHash;
3771
3870
  const dynamicHash = dynamicPromptMessages.length > 0 ? sha256(dynamicText) : sha256("");
@@ -3829,6 +3928,7 @@ export function createDispatchBundle(
3829
3928
  const wireModelId = lifecycle.agentConfig.id;
3830
3929
  assertTargetNotCoolingDown(req, targetId, runtimeId, wireModelId);
3831
3930
 
3931
+ if (req.contextSeed) persistWorkerContextSeed(req.contextSeed);
3832
3932
  assertBudgetAdmitsRoute(req, { rates: null, provenance: "unknown" }, settings);
3833
3933
 
3834
3934
  const queuedIdentity =
@@ -3889,7 +3989,13 @@ export function createDispatchBundle(
3889
3989
  }
3890
3990
  timing.workerSpawnedAt = new Date(now()).toISOString();
3891
3991
 
3892
- const tokenMeter = { inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0, reasoningTokens: 0 };
3992
+ const tokenMeter: RunTokenMeter = {
3993
+ inputTokens: 0,
3994
+ outputTokens: 0,
3995
+ cacheReadTokens: 0,
3996
+ cacheWriteTokens: 0,
3997
+ reasoningTokens: 0,
3998
+ };
3893
3999
  const safetyDecisionCounts = { allowed: 0, blocked: 0, permissionRequested: 0 };
3894
4000
  const blockedAttempts: SafetyBlockedAttempt[] = [];
3895
4001
  const toolStats = new Map<string, ToolCallStat>();
@@ -4084,6 +4190,7 @@ export function createDispatchBundle(
4084
4190
  node: LOCAL_RUN_NODE,
4085
4191
  ...(lifecycle.pipeline ? { pipeline: lifecycle.pipeline } : {}),
4086
4192
  ...(lifecycle.briefing ? { briefing: lifecycle.briefing } : {}),
4193
+ ...(req.contextSeed ? { workerContext: structuredClone(req.contextSeed.provenance) } : {}),
4087
4194
  ...(req.gate !== undefined ? { gate: req.gate } : {}),
4088
4195
  ...(req.council !== undefined ? { council: req.council } : {}),
4089
4196
  ...(req.plan !== undefined ? { plan: req.plan } : {}),
@@ -4255,6 +4362,7 @@ export function createDispatchBundle(
4255
4362
  node: LOCAL_RUN_NODE,
4256
4363
  ...(lifecycle.pipeline ? { pipeline: lifecycle.pipeline } : {}),
4257
4364
  ...(lifecycle.briefing ? { briefing: lifecycle.briefing } : {}),
4365
+ ...(req.contextSeed ? { workerContext: structuredClone(req.contextSeed.provenance) } : {}),
4258
4366
  ...(req.gate !== undefined ? { gate: req.gate } : {}),
4259
4367
  ...(req.council !== undefined ? { council: req.council } : {}),
4260
4368
  ...(req.plan !== undefined ? { plan: req.plan } : {}),
@@ -4276,6 +4384,7 @@ export function createDispatchBundle(
4276
4384
  outputTokenCount: tokenMeter.outputTokens,
4277
4385
  cacheReadTokenCount: tokenMeter.cacheReadTokens,
4278
4386
  cacheWriteTokenCount: tokenMeter.cacheWriteTokens,
4387
+ ...(tokenMeter.cacheWrite1hTokens === undefined ? {} : { cacheWrite1hTokenCount: tokenMeter.cacheWrite1hTokens }),
4279
4388
  reasoningTokenCount: tokenMeter.reasoningTokens,
4280
4389
  ...(upstreamResponses.length > 0 ? { upstreamResponses: [...upstreamResponses] } : {}),
4281
4390
  ...(capturedOutput !== undefined ? { output: capturedOutput } : {}),
@@ -4362,6 +4471,7 @@ export function createDispatchBundle(
4362
4471
  outputTokenCount: receipt.outputTokenCount ?? 0,
4363
4472
  cacheReadTokenCount: receipt.cacheReadTokenCount ?? 0,
4364
4473
  cacheWriteTokenCount: receipt.cacheWriteTokenCount ?? 0,
4474
+ ...(receipt.cacheWrite1hTokenCount === undefined ? {} : { cacheWrite1hTokenCount: receipt.cacheWrite1hTokenCount }),
4365
4475
  reasoningTokenCount: receipt.reasoningTokenCount ?? 0,
4366
4476
  staticShellHash: receipt.staticShellHash ?? null,
4367
4477
  sessionShellHash: receipt.sessionShellHash ?? null,
@@ -4487,6 +4597,9 @@ export function createDispatchBundle(
4487
4597
  dynamicHash: receiptDraft.dynamicHash ?? null,
4488
4598
  cacheReadTokenCount: receiptDraft.cacheReadTokenCount ?? 0,
4489
4599
  cacheWriteTokenCount: receiptDraft.cacheWriteTokenCount ?? 0,
4600
+ ...(receiptDraft.cacheWrite1hTokenCount === undefined
4601
+ ? {}
4602
+ : { cacheWrite1hTokenCount: receiptDraft.cacheWrite1hTokenCount }),
4490
4603
  reasoningTokenCount: receiptDraft.reasoningTokenCount ?? 0,
4491
4604
  heartbeatAt: heartbeatIso(acp.heartbeatAt),
4492
4605
  };
@@ -4720,6 +4833,7 @@ export function createDispatchBundle(
4720
4833
  shadow: () => observeShadowRoute(req, placed, settings),
4721
4834
  });
4722
4835
 
4836
+ if (req.contextSeed) persistWorkerContextSeed(req.contextSeed);
4723
4837
  const queuedIdentity =
4724
4838
  req.lineage === undefined && req.runIdHint !== undefined
4725
4839
  ? {
@@ -4772,31 +4886,44 @@ export function createDispatchBundle(
4772
4886
  throw error;
4773
4887
  }
4774
4888
  })();
4775
- const tokenMeter = { inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0, reasoningTokens: 0 };
4889
+ const tokenMeter: RunTokenMeter = {
4890
+ inputTokens: 0,
4891
+ outputTokens: 0,
4892
+ cacheReadTokens: 0,
4893
+ cacheWriteTokens: 0,
4894
+ reasoningTokens: 0,
4895
+ };
4776
4896
  const safetyDecisionCounts = { allowed: 0, blocked: 0, permissionRequested: 0 };
4777
4897
  const escalationCounts = { requested: 0, approved: 0, denied: 0, timedOut: 0 };
4778
4898
  const blockedAttempts: SafetyBlockedAttempt[] = [];
4779
- const spec = buildDispatchWorkerSpec(
4780
- {
4781
- req,
4782
- pathScope: lifecycle.pathScope,
4783
- target: lifecycle.target,
4784
- admission: lifecycle.admission,
4785
- recipe: lifecycle.recipe,
4786
- systemPrompt: lifecycle.systemPrompt,
4787
- dynamicPromptMessages: lifecycle.dynamicPromptMessages,
4788
- promptSignature: lifecycle.promptSignature,
4789
- toolSignature: lifecycle.toolSignature,
4790
- dynamicHash: lifecycle.dynamicHash,
4791
- middlewareSnapshot: middleware.snapshot(),
4792
- protectedArtifactState,
4793
- apiKey: lifecycle.apiKey,
4794
- effectiveAutonomy: lifecycle.effectiveAutonomy,
4795
- budget: lifecycle.budget,
4796
- ...(lifecycle.settings ? { settings: lifecycle.settings } : {}),
4797
- },
4798
- config ?? undefined,
4799
- );
4899
+ let spec: WorkerSpec;
4900
+ try {
4901
+ spec = buildDispatchWorkerSpec(
4902
+ {
4903
+ req,
4904
+ pathScope: lifecycle.pathScope,
4905
+ target: lifecycle.target,
4906
+ admission: lifecycle.admission,
4907
+ recipe: lifecycle.recipe,
4908
+ systemPrompt: lifecycle.systemPrompt,
4909
+ dynamicPromptMessages: lifecycle.dynamicPromptMessages,
4910
+ promptSignature: lifecycle.promptSignature,
4911
+ toolSignature: lifecycle.toolSignature,
4912
+ dynamicHash: lifecycle.dynamicHash,
4913
+ middlewareSnapshot: middleware.snapshot(),
4914
+ protectedArtifactState,
4915
+ apiKey: lifecycle.apiKey,
4916
+ effectiveAutonomy: lifecycle.effectiveAutonomy,
4917
+ budget: lifecycle.budget,
4918
+ ...(lifecycle.settings ? { settings: lifecycle.settings } : {}),
4919
+ },
4920
+ config ?? undefined,
4921
+ );
4922
+ } catch (error) {
4923
+ leaseSlot.release();
4924
+ if (req.lineage === undefined) await failQueuedAssignment(capacityLease.assignmentId);
4925
+ throw error;
4926
+ }
4800
4927
  // The agent ledger is orchestrator-owned. The worker sends a body and
4801
4928
  // nothing else; every attribution field below is stamped from this
4802
4929
  // process's own admission record, so no worker-supplied value can reach
@@ -5045,11 +5172,7 @@ export function createDispatchBundle(
5045
5172
  }
5046
5173
  if (event.type === "message_end" && event.message?.role === "assistant" && isRecord(event.message.usage)) {
5047
5174
  const u = event.message.usage;
5048
- tokenMeter.inputTokens += typeof u.input === "number" ? u.input : 0;
5049
- tokenMeter.outputTokens += typeof u.output === "number" ? u.output : 0;
5050
- tokenMeter.cacheReadTokens += typeof u.cacheRead === "number" ? u.cacheRead : 0;
5051
- tokenMeter.cacheWriteTokens += typeof u.cacheWrite === "number" ? u.cacheWrite : 0;
5052
- tokenMeter.reasoningTokens += extractReasoningTokenCount(u);
5175
+ accumulateNativeUsage(tokenMeter, u, lifecycle.target.effectivePricing.rates);
5053
5176
  const requestedModelId = readStringOrNull(event.message.model);
5054
5177
  const responseModelIdObservation = responseModelIdObservationFromRecord(event.message, "not-observed");
5055
5178
  const differingResponseModelId = readStringOrNull(event.message.responseModel);
@@ -5205,6 +5328,7 @@ export function createDispatchBundle(
5205
5328
  : {}),
5206
5329
  ...(lifecycle.pipeline ? { pipeline: lifecycle.pipeline } : {}),
5207
5330
  ...(lifecycle.briefing ? { briefing: lifecycle.briefing } : {}),
5331
+ ...(req.contextSeed ? { workerContext: structuredClone(req.contextSeed.provenance) } : {}),
5208
5332
  ...(req.gate !== undefined ? { gate: req.gate } : {}),
5209
5333
  ...(req.council !== undefined ? { council: req.council } : {}),
5210
5334
  ...(req.plan !== undefined ? { plan: req.plan } : {}),
@@ -5445,6 +5569,7 @@ export function createDispatchBundle(
5445
5569
  : {}),
5446
5570
  ...(lifecycle.pipeline ? { pipeline: lifecycle.pipeline } : {}),
5447
5571
  ...(lifecycle.briefing ? { briefing: lifecycle.briefing } : {}),
5572
+ ...(req.contextSeed ? { workerContext: structuredClone(req.contextSeed.provenance) } : {}),
5448
5573
  ...(steering.length > 0 ? { steering: steering.map((entry) => ({ ...entry })) } : {}),
5449
5574
  ...(req.gate !== undefined ? { gate: req.gate } : {}),
5450
5575
  ...(req.council !== undefined ? { council: req.council } : {}),
@@ -5477,11 +5602,15 @@ export function createDispatchBundle(
5477
5602
  outputTokenCount: tokenMeter.outputTokens,
5478
5603
  cacheReadTokenCount: tokenMeter.cacheReadTokens,
5479
5604
  cacheWriteTokenCount: tokenMeter.cacheWriteTokens,
5605
+ ...(tokenMeter.cacheWrite1hTokens === undefined ? {} : { cacheWrite1hTokenCount: tokenMeter.cacheWrite1hTokens }),
5480
5606
  reasoningTokenCount: tokenMeter.reasoningTokens,
5481
5607
  ...(upstreamResponses.length > 0 ? { upstreamResponses: [...upstreamResponses] } : {}),
5482
5608
  ...(capturedOutput !== undefined ? { output: capturedOutput } : {}),
5483
5609
  costUsd,
5484
- costProvenance: lifecycle.target.effectivePricing.provenance,
5610
+ costProvenance:
5611
+ lifecycle.target.effectivePricing.provenance === "unknown" && costUsd > 0
5612
+ ? "estimated"
5613
+ : lifecycle.target.effectivePricing.provenance,
5485
5614
  compiledPromptHash: lifecycle.compiledPromptHash,
5486
5615
  staticCompositionHash: lifecycle.staticCompositionHash,
5487
5616
  staticShellHash: lifecycle.staticCompositionHash,
@@ -5571,6 +5700,7 @@ export function createDispatchBundle(
5571
5700
  outputTokenCount: receipt.outputTokenCount ?? 0,
5572
5701
  cacheReadTokenCount: receipt.cacheReadTokenCount ?? 0,
5573
5702
  cacheWriteTokenCount: receipt.cacheWriteTokenCount ?? 0,
5703
+ ...(receipt.cacheWrite1hTokenCount === undefined ? {} : { cacheWrite1hTokenCount: receipt.cacheWrite1hTokenCount }),
5574
5704
  reasoningTokenCount: receipt.reasoningTokenCount ?? 0,
5575
5705
  staticShellHash: receipt.staticShellHash ?? null,
5576
5706
  sessionShellHash: receipt.sessionShellHash ?? null,
@@ -5816,6 +5946,9 @@ export function createDispatchBundle(
5816
5946
  ...(receiptDraft.cacheReadTokenCount !== undefined
5817
5947
  ? { cacheReadTokenCount: receiptDraft.cacheReadTokenCount }
5818
5948
  : {}),
5949
+ ...(receiptDraft.cacheWrite1hTokenCount === undefined
5950
+ ? {}
5951
+ : { cacheWrite1hTokenCount: receiptDraft.cacheWrite1hTokenCount }),
5819
5952
  ...(receiptDraft.cacheWriteTokenCount !== undefined
5820
5953
  ? { cacheWriteTokenCount: receiptDraft.cacheWriteTokenCount }
5821
5954
  : {}),
@@ -6125,9 +6258,16 @@ export function createDispatchBundle(
6125
6258
  targets.targetOrder,
6126
6259
  providers,
6127
6260
  );
6261
+ assertWorkerContextRequest(req, target.runtime.kind === "http");
6128
6262
  enforceCapabilityGate(target.target.id, target.modelCapabilities, req.requiredCapabilities);
6129
6263
  const effectiveTools = withLedgerToolNarrowing(
6130
- effectiveToolNames(admission.allowedTools, target, pathScope.writeBoundaries.length > 0, deniedToolNames(req)),
6264
+ effectiveToolNames(
6265
+ admission.allowedTools,
6266
+ target,
6267
+ pathScope.writeBoundaries.length > 0,
6268
+ deniedToolNames(req),
6269
+ req.cwd ?? process.cwd(),
6270
+ ),
6131
6271
  req,
6132
6272
  );
6133
6273
  assertPostRuntimeToolCompatibility(req.agentId, agentSpec, effectiveTools, target);
@@ -6590,7 +6730,11 @@ export function createDispatchBundle(
6590
6730
  // No in-memory executor survives a process restart, so every active
6591
6731
  // side-store lease from an earlier bundle is orphaned and must expire.
6592
6732
  cleanupDispatchReservations({ startup: true, nowMs: now() });
6593
- ledger = openLedger();
6733
+ ledger = openLedger({
6734
+ get maxRuns() {
6735
+ return getEffectiveSettings()?.fleet?.history?.maxRuns ?? resolveGuardrail("maxDispatchRuns");
6736
+ },
6737
+ });
6594
6738
  // Symphony P10: restart recovery from durable artifacts. Adopt
6595
6739
  // receipts whose ledger rows were lost to a crash between
6596
6740
  // recordReceipt() and persist(); quarantine tampered ones.
@@ -6720,6 +6864,7 @@ export function createDispatchBundle(
6720
6864
  const meter = run.meter;
6721
6865
  const totalTokens = meter.inputTokens + meter.outputTokens + meter.cacheReadTokens + meter.cacheWriteTokens;
6722
6866
  const costUsd = calculateUsageCostUsd(meter, run.pricing);
6867
+ const costProvenance = run.costProvenance === "unknown" && costUsd > 0 ? "estimated" : run.costProvenance;
6723
6868
  const startedMs = Date.parse(run.startedAt);
6724
6869
  const elapsedMs = Number.isFinite(startedMs) ? Math.max(0, tickNow - startedMs) : 0;
6725
6870
  const timing = deriveRunPhaseDurations(run.timing, run.startedAt, new Date(tickNow).toISOString());
@@ -6737,14 +6882,14 @@ export function createDispatchBundle(
6737
6882
  timing,
6738
6883
  tokens: { input: meter.inputTokens, output: meter.outputTokens, total: totalTokens },
6739
6884
  costUsd,
6740
- costProvenance: run.costProvenance,
6885
+ costProvenance,
6741
6886
  node: run.node !== null ? { ...run.node } : null,
6742
6887
  });
6743
6888
  totals.inputTokens += meter.inputTokens;
6744
6889
  totals.outputTokens += meter.outputTokens;
6745
6890
  totals.totalTokens += totalTokens;
6746
6891
  totals.costUsd += costUsd;
6747
- costAmounts.push({ usd: costUsd, provenance: run.costProvenance });
6892
+ costAmounts.push({ usd: costUsd, provenance: costProvenance });
6748
6893
  totals.runtimeSeconds += elapsedMs / 1000;
6749
6894
  }
6750
6895
  const retrying = [...retryQueue.values()].map((entry) => ({
@@ -1,3 +1,4 @@
1
+ import { type FleetCommandRegistry, resolveFleetCommandArgs } from "../agents/fleet-commands.js";
1
2
  /**
2
3
  * Fleet contract to execution plan.
3
4
  *
@@ -19,9 +20,11 @@ import {
19
20
  type FleetContract,
20
21
  type FleetContractStep,
21
22
  type FleetStepScope,
23
+ fleetCodeSteps,
22
24
  fleetLoopCheckStepId,
23
25
  fleetLoopRepairStepId,
24
26
  fleetStepWriteBoundary,
27
+ validateFleetCommands,
25
28
  } from "../agents/fleet-contract.js";
26
29
  import type { ResultContract } from "../agents/result-contract.js";
27
30
  import type { AgentAutomationAuthority } from "../agents/spec.js";
@@ -58,6 +61,8 @@ export interface FleetPlanAgentResolution {
58
61
  }
59
62
 
60
63
  export interface CompileFleetPlanInput {
64
+ commands?: FleetCommandRegistry | null;
65
+ vars?: Readonly<Record<string, string>>;
61
66
  contract: FleetContract;
62
67
  /**
63
68
  * Rendered prompt body. It describes the whole chain, so every agent node
@@ -117,6 +122,9 @@ function declaredLoops(steps: ReadonlyArray<FleetContractStep>): Map<string, Exe
117
122
 
118
123
  export function compileFleetExecutionPlan(input: CompileFleetPlanInput): ExecutionPlan {
119
124
  const { contract, task, resolveAgent } = input;
125
+ if (input.commands !== undefined) validateFleetCommands(contract, input.commands, input.vars ?? {});
126
+ else if (fleetCodeSteps(contract).some((step) => (step.args?.length ?? 0) > 0))
127
+ throw new Error("fleet code args: admission requires the operator command registry");
120
128
  const loops = declaredLoops(contract.steps);
121
129
  const steps: ExecutionPlanStepInput[] = [];
122
130
 
@@ -206,6 +214,7 @@ export function compileFleetExecutionPlan(input: CompileFleetPlanInput): Executi
206
214
  kind: "code",
207
215
  id: step.id,
208
216
  commandId: step.command,
217
+ ...(step.args ? { args: resolveFleetCommandArgs(step.args, input.vars) } : {}),
209
218
  scope: step.scope,
210
219
  dependencies,
211
220
  ...boundary(step.scope, step.writes),
@@ -225,6 +234,7 @@ export function compileFleetExecutionPlan(input: CompileFleetPlanInput): Executi
225
234
  kind: "code",
226
235
  id: checkId,
227
236
  commandId: step.check.command,
237
+ ...(step.check.args ? { args: resolveFleetCommandArgs(step.check.args, input.vars) } : {}),
228
238
  scope: step.check.scope,
229
239
  dependencies: checkDependencies,
230
240
  ...boundary(step.check.scope, step.check.writes),
@@ -689,6 +689,7 @@ export async function executeFleetRun(input: ExecuteFleetRunInput): Promise<Flee
689
689
  }
690
690
  const originalMessage = isCommit ? commitMessageFor(step, priorResults) : null;
691
691
  const outcome = await runCodeStep({
692
+ ...(step.args ? { args: step.args } : {}),
692
693
  stepId: step.id,
693
694
  command,
694
695
  workspaceRoot,
@@ -22,6 +22,7 @@ export type {
22
22
  DispatchAssignment,
23
23
  } from "./assignment.js";
24
24
  export type { AssignmentVerdictOwner, DurableAssignmentRecord } from "./assignment-store.js";
25
+ export { endpointCapacityUsage } from "./capacity-lease.js";
25
26
  export type { CodeStepOutcome, CodeStepRecord, CodeStepRunInput } from "./code-step.js";
26
27
  export {
27
28
  canonicalCodeReport,
@@ -58,6 +58,7 @@ function envelopeFromReceipt(receipt: RunReceipt, status: RunStatus, receiptPath
58
58
  task: receipt.task,
59
59
  ...(receipt.budget !== undefined ? { budget: receipt.budget } : {}),
60
60
  ...(receipt.briefing !== undefined ? { briefing: receipt.briefing } : {}),
61
+ ...(receipt.workerContext !== undefined ? { workerContext: receipt.workerContext } : {}),
61
62
  ...(receipt.steering !== undefined ? { steering: receipt.steering } : {}),
62
63
  targetId: receipt.targetId,
63
64
  wireModelId: receipt.wireModelId,
@@ -77,6 +78,7 @@ function envelopeFromReceipt(receipt: RunReceipt, status: RunStatus, receiptPath
77
78
  };
78
79
  if (receipt.cacheReadTokenCount !== undefined) envelope.cacheReadTokenCount = receipt.cacheReadTokenCount;
79
80
  if (receipt.cacheWriteTokenCount !== undefined) envelope.cacheWriteTokenCount = receipt.cacheWriteTokenCount;
81
+ if (receipt.cacheWrite1hTokenCount !== undefined) envelope.cacheWrite1hTokenCount = receipt.cacheWrite1hTokenCount;
80
82
  if (receipt.reasoningTokenCount !== undefined) envelope.reasoningTokenCount = receipt.reasoningTokenCount;
81
83
  if (receipt.inputTokenCount !== undefined) envelope.inputTokenCount = receipt.inputTokenCount;
82
84
  if (receipt.outputTokenCount !== undefined) envelope.outputTokenCount = receipt.outputTokenCount;
@@ -114,6 +114,7 @@ export const RECEIPT_INTEGRITY_FIELD_COVERAGE = {
114
114
  outputTokenCount: true,
115
115
  cacheReadTokenCount: true,
116
116
  cacheWriteTokenCount: true,
117
+ cacheWrite1hTokenCount: true,
117
118
  reasoningTokenCount: true,
118
119
  upstreamResponses: true,
119
120
  output: true,
@@ -155,6 +156,7 @@ export const RECEIPT_INTEGRITY_FIELD_COVERAGE = {
155
156
  ledgerContribution: true,
156
157
  sessionId: true,
157
158
  briefing: true,
159
+ workerContext: true,
158
160
  outcomeCode: true,
159
161
  steering: true,
160
162
  routeDecision: true,
@@ -210,6 +212,7 @@ function ledgerDigestFields(envelope: RunEnvelope): Record<string, unknown> {
210
212
  tokenCount: envelope.tokenCount,
211
213
  cacheReadTokenCount: envelope.cacheReadTokenCount,
212
214
  cacheWriteTokenCount: envelope.cacheWriteTokenCount,
215
+ cacheWrite1hTokenCount: envelope.cacheWrite1hTokenCount,
213
216
  reasoningTokenCount: envelope.reasoningTokenCount,
214
217
  staticShellHash: envelope.staticShellHash,
215
218
  sessionShellHash: envelope.sessionShellHash,
@@ -232,6 +235,7 @@ function ledgerDigestFields(envelope: RunEnvelope): Record<string, unknown> {
232
235
  promptSignature: envelope.promptSignature ?? null,
233
236
  toolSignature: envelope.toolSignature ?? null,
234
237
  briefing: envelope.briefing ?? null,
238
+ ...(envelope.workerContext !== undefined ? { workerContext: envelope.workerContext } : {}),
235
239
  outcomeCode: envelope.outcomeCode ?? null,
236
240
  steering: envelope.steering ?? null,
237
241
  };
@@ -364,6 +368,7 @@ function firstLedgerMismatch(receipt: RunReceipt, envelope: RunEnvelope): string
364
368
  ["tokenCount", receipt.tokenCount, envelope.tokenCount],
365
369
  ["cacheReadTokenCount", receipt.cacheReadTokenCount ?? 0, envelope.cacheReadTokenCount ?? 0],
366
370
  ["cacheWriteTokenCount", receipt.cacheWriteTokenCount ?? 0, envelope.cacheWriteTokenCount ?? 0],
371
+ ["cacheWrite1hTokenCount", receipt.cacheWrite1hTokenCount ?? 0, envelope.cacheWrite1hTokenCount ?? 0],
367
372
  ["reasoningTokenCount", receipt.reasoningTokenCount ?? 0, envelope.reasoningTokenCount ?? 0],
368
373
  ["staticShellHash", receipt.staticShellHash ?? null, envelope.staticShellHash ?? null],
369
374
  ["sessionShellHash", receipt.sessionShellHash ?? null, envelope.sessionShellHash ?? null],
@@ -379,6 +384,8 @@ function firstLedgerMismatch(receipt: RunReceipt, envelope: RunEnvelope): string
379
384
  if (!Object.is(receiptValue, ledgerValue)) return field;
380
385
  }
381
386
  if (canonicalJson(receipt.briefing ?? null) !== canonicalJson(envelope.briefing ?? null)) return "briefing";
387
+ if (canonicalJson(receipt.workerContext ?? null) !== canonicalJson(envelope.workerContext ?? null))
388
+ return "workerContext";
382
389
  if (canonicalJson(receipt.budget ?? null) !== canonicalJson(envelope.budget ?? null)) return "budget";
383
390
  if (canonicalJson(receipt.steering ?? null) !== canonicalJson(envelope.steering ?? null)) return "steering";
384
391
  return null;
@@ -239,7 +239,6 @@ function capRuns(all: RunEnvelope[], maxRuns: number): RunEnvelope[] {
239
239
  }
240
240
 
241
241
  export function openLedger(opts?: LedgerOptions): Ledger {
242
- const maxRuns = resolveMaxRuns(opts?.maxRuns);
243
242
  let runs: RunEnvelope[] = readRuns();
244
243
  // Ids this process has written since the last successful persist. See
245
244
  // mergeRunsById: this is what separates our writes from a sibling's rows we
@@ -262,6 +261,7 @@ export function openLedger(opts?: LedgerOptions): Ledger {
262
261
  task: input.task,
263
262
  ...(input.budget !== undefined ? { budget: structuredClone(input.budget) } : {}),
264
263
  ...(input.briefing !== undefined ? { briefing: structuredClone(input.briefing) } : {}),
264
+ ...(input.workerContext !== undefined ? { workerContext: structuredClone(input.workerContext) } : {}),
265
265
  ...(input.steering !== undefined ? { steering: structuredClone(input.steering) } : {}),
266
266
  targetId: input.targetId,
267
267
  wireModelId: input.wireModelId,
@@ -368,7 +368,7 @@ export function openLedger(opts?: LedgerOptions): Ledger {
368
368
  if (stateRootRemoved()) return;
369
369
  const diskRuns = readRuns();
370
370
  const merged = mergeRunsById(diskRuns, runs, dirty);
371
- const capped = capRuns(merged, maxRuns);
371
+ const capped = capRuns(merged, resolveMaxRuns(opts?.maxRuns));
372
372
  runs = capped;
373
373
  atomicWrite(target, JSON.stringify(capped, null, 2));
374
374
  // A run that left the ring has no ledger row to view any more, so its