@joshuafolkken/kit 1.3041.0 → 1.3092.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1243) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
  3. package/.claude/skills/workflow-commands/halfrun.md +3 -2
  4. package/.claude/skills/workflow-commands/kickoff.md +9 -2
  5. package/.claude/skills/workflow-commands/prerequisite.md +2 -0
  6. package/.claude/skills/workflow-commands/progress-watcher.md +10 -8
  7. package/.claude/skills/workflow-commands/retrospective.md +2 -1
  8. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  9. package/.github/workflows/ci.yml +0 -20
  10. package/.github/workflows/pr-classification.yml +0 -5
  11. package/.github/workflows/publish.yml +0 -1
  12. package/.github/workflows/sonar-qube.yml +0 -5
  13. package/README.md +2 -0
  14. package/SECURITY.md +2 -1
  15. package/dist/.inputs-verified.json +1 -1
  16. package/dist/commands/adopt.js +29 -20
  17. package/dist/commands/auto-ok-judge-cli.js +43 -33
  18. package/dist/commands/auto-ok-main.js +73 -74
  19. package/dist/commands/backlog-budget-main.js +5 -6
  20. package/dist/commands/backlog-drive-cli.js +286 -305
  21. package/dist/commands/backlog-next-main.js +111 -108
  22. package/dist/commands/backlog-offer-main.js +148 -112
  23. package/dist/commands/backlog-plan-cli.js +123 -120
  24. package/dist/commands/backlog-triage-cli.js +131 -128
  25. package/dist/commands/backlogrun-cli.js +273 -264
  26. package/dist/commands/behavior-cli.js +23 -26
  27. package/dist/commands/bytes-command.js +56 -59
  28. package/dist/commands/cases-cli.js +4 -5
  29. package/dist/commands/check-commit-message-main.js +3 -4
  30. package/dist/commands/check-related.js +125 -119
  31. package/dist/commands/chunk-26JL4UU4.js +365 -0
  32. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  33. package/dist/commands/chunk-2CKJODCK.js +245 -0
  34. package/dist/commands/chunk-2E6PSONB.js +46 -0
  35. package/dist/commands/chunk-2GA4775H.js +77 -0
  36. package/dist/commands/chunk-2O64H5UJ.js +462 -0
  37. package/dist/commands/chunk-2OEXY4GM.js +252 -0
  38. package/dist/commands/chunk-2OMIHPPE.js +51 -0
  39. package/dist/commands/chunk-2ONSHOAY.js +46 -0
  40. package/dist/commands/chunk-2Q7MGFYB.js +1208 -0
  41. package/dist/commands/chunk-2SA3W4JF.js +41 -0
  42. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  43. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  44. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  45. package/dist/commands/chunk-2XZF3YFY.js +47 -0
  46. package/dist/commands/chunk-33TAOZUE.js +29 -0
  47. package/dist/commands/chunk-374XGAWD.js +158 -0
  48. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  49. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  50. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  51. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  52. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  53. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  54. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  55. package/dist/commands/chunk-3PCUERXE.js +19 -0
  56. package/dist/commands/chunk-3U6A5WON.js +173 -0
  57. package/dist/commands/chunk-3YT3RCSI.js +140 -0
  58. package/dist/commands/chunk-43DU7DYZ.js +540 -0
  59. package/dist/commands/chunk-43H725LG.js +132 -0
  60. package/dist/commands/chunk-46STCE6Q.js +48 -0
  61. package/dist/commands/chunk-46WEC6HZ.js +82 -0
  62. package/dist/commands/chunk-47J4KOZP.js +46 -0
  63. package/dist/commands/chunk-47W7PF4T.js +22 -0
  64. package/dist/commands/chunk-4F4KARQN.js +229 -0
  65. package/dist/commands/chunk-4GUGC4IW.js +338 -0
  66. package/dist/commands/chunk-4HB7NWXP.js +263 -0
  67. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  68. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  69. package/dist/commands/chunk-4IDINPBE.js +525 -0
  70. package/dist/commands/chunk-4K7KLR7L.js +69 -0
  71. package/dist/commands/chunk-4MGTNY2L.js +347 -0
  72. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  73. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  74. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  75. package/dist/commands/chunk-5AZTSESD.js +114 -0
  76. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  77. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  78. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  79. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  80. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  81. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  82. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  83. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  84. package/dist/commands/chunk-5VQCL33M.js +46 -0
  85. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  86. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  87. package/dist/commands/chunk-62NYXZCC.js +241 -0
  88. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  89. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  90. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  91. package/dist/commands/chunk-6O45F6YI.js +86 -0
  92. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  93. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  94. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  95. package/dist/commands/chunk-736NECRD.js +16 -0
  96. package/dist/commands/chunk-77LEKVEE.js +32 -0
  97. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  98. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  99. package/dist/commands/chunk-7E43YW53.js +128 -0
  100. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  101. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  102. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  103. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  104. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  105. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  106. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  107. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  108. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  109. package/dist/commands/chunk-AT46EY7H.js +393 -0
  110. package/dist/commands/chunk-AU563VKH.js +75 -0
  111. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  112. package/dist/commands/chunk-AV26CMY6.js +304 -0
  113. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  114. package/dist/commands/chunk-B545ENGY.js +214 -0
  115. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  116. package/dist/commands/chunk-B5XYAWNN.js +37 -0
  117. package/dist/commands/chunk-B73IIRMS.js +207 -0
  118. package/dist/commands/chunk-BAEDHPXW.js +160 -0
  119. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  120. package/dist/commands/chunk-BE6F4YK2.js +769 -0
  121. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  122. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  123. package/dist/commands/chunk-BLUAO4QW.js +173 -0
  124. package/dist/commands/chunk-BML6MEUB.js +326 -0
  125. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  126. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  127. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  128. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  129. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  130. package/dist/commands/chunk-BVUL57IX.js +139 -0
  131. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  132. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  133. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  134. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  135. package/dist/commands/chunk-CEADAQIL.js +170 -0
  136. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  137. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  138. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  139. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  140. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  141. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  142. package/dist/commands/chunk-DACNQAXC.js +20 -0
  143. package/dist/commands/chunk-DDOS32JU.js +74 -0
  144. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  145. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  146. package/dist/commands/chunk-DFEXNB44.js +159 -0
  147. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  148. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  149. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  150. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  151. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  152. package/dist/commands/chunk-DOYNK72G.js +81 -0
  153. package/dist/commands/chunk-DS53UUDH.js +679 -0
  154. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  155. package/dist/commands/chunk-DURHGVRC.js +33 -0
  156. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  157. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  158. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  159. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  160. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  161. package/dist/commands/chunk-EE4VOZJP.js +167 -0
  162. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  163. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  164. package/dist/commands/chunk-EN65ZS3S.js +73 -0
  165. package/dist/commands/chunk-ES42XPAD.js +123 -0
  166. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  167. package/dist/commands/chunk-ET6IRQ3L.js +330 -0
  168. package/dist/commands/chunk-EWCUT7U2.js +1314 -0
  169. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  170. package/dist/commands/chunk-EZYW54OQ.js +7569 -0
  171. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  172. package/dist/commands/chunk-F2U46HAE.js +52 -0
  173. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  174. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  175. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  176. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  177. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  178. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  179. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  180. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  181. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  182. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  183. package/dist/commands/chunk-G2DNS74C.js +53 -0
  184. package/dist/commands/chunk-G75GWNNY.js +101 -0
  185. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  186. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  187. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  188. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  189. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  190. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  191. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  192. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  193. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  194. package/dist/commands/chunk-GOY5JECO.js +130 -0
  195. package/dist/commands/chunk-GVDRRBHZ.js +507 -0
  196. package/dist/commands/chunk-GWTBIGYC.js +550 -0
  197. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  198. package/dist/commands/chunk-HALHQILI.js +51 -0
  199. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  200. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  201. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  202. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  203. package/dist/commands/chunk-HESWKELD.js +60 -0
  204. package/dist/commands/chunk-HNFBEB4L.js +77 -0
  205. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  206. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  207. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  208. package/dist/commands/chunk-IAGENI2U.js +42 -0
  209. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  210. package/dist/commands/chunk-IEKW3ON6.js +161 -0
  211. package/dist/commands/chunk-IOKOHB7P.js +109 -0
  212. package/dist/commands/chunk-IONGJJYM.js +179 -0
  213. package/dist/commands/chunk-IP23WOWP.js +126 -0
  214. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  215. package/dist/commands/chunk-IXZZSST7.js +459 -0
  216. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  217. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  218. package/dist/commands/chunk-JEYITIWB.js +423 -0
  219. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  220. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  221. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  222. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  223. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  224. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  225. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  226. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  227. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  228. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  229. package/dist/commands/chunk-K5H3CLZZ.js +430 -0
  230. package/dist/commands/chunk-K6P5PISC.js +114 -0
  231. package/dist/commands/chunk-KD3SEAMV.js +402 -0
  232. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  233. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  234. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  235. package/dist/commands/chunk-KHGDZQRG.js +271 -0
  236. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  237. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  238. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  239. package/dist/commands/chunk-KN46UC77.js +114 -0
  240. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  241. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  242. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  243. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  244. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  245. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  246. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  247. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  248. package/dist/commands/chunk-LBMAJDGN.js +124 -0
  249. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  250. package/dist/commands/chunk-LE3M42CF.js +350 -0
  251. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  252. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  253. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  254. package/dist/commands/chunk-LL6G34MF.js +93 -0
  255. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  256. package/dist/commands/chunk-LS7P324N.js +72 -0
  257. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  258. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  259. package/dist/commands/chunk-M32UPB2D.js +110 -0
  260. package/dist/commands/chunk-M3UGRNNB.js +103 -0
  261. package/dist/commands/chunk-M4WG74Q7.js +260 -0
  262. package/dist/commands/chunk-M5HA2ZCG.js +105 -0
  263. package/dist/commands/chunk-MDGPJOLK.js +351 -0
  264. package/dist/commands/chunk-MDKRTUE4.js +288 -0
  265. package/dist/commands/chunk-MFZVRWRS.js +34 -0
  266. package/dist/commands/chunk-MHXIJKGP.js +304 -0
  267. package/dist/commands/chunk-MK4CARBI.js +90 -0
  268. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  269. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  270. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  271. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  272. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  273. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  274. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  275. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  276. package/dist/commands/chunk-N36NZMAL.js +79 -0
  277. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  278. package/dist/commands/chunk-N4P64UIH.js +211 -0
  279. package/dist/commands/chunk-NABSSY4P.js +204 -0
  280. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  281. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  282. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  283. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  284. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  285. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  286. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  287. package/dist/commands/chunk-NOSG3RUP.js +84 -0
  288. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  289. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  290. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  291. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  292. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  293. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  294. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  295. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  296. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  297. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  298. package/dist/commands/chunk-O45BX4EL.js +39 -0
  299. package/dist/commands/chunk-O46T4ANI.js +229 -0
  300. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  301. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  302. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  303. package/dist/commands/chunk-OKN63ZH5.js +109 -0
  304. package/dist/commands/chunk-ON4IKRGS.js +469 -0
  305. package/dist/commands/chunk-OT74RSQO.js +82 -0
  306. package/dist/commands/chunk-OVCVINYW.js +143 -0
  307. package/dist/commands/chunk-OZKLVTYI.js +342 -0
  308. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  309. package/dist/commands/chunk-P43GWYR6.js +185 -0
  310. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  311. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  312. package/dist/commands/chunk-PCZROH3R.js +100 -0
  313. package/dist/commands/chunk-PF3PMT2Q.js +46 -0
  314. package/dist/commands/chunk-PILH72AV.js +170 -0
  315. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  316. package/dist/commands/chunk-PKXTISWR.js +58 -0
  317. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  318. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  319. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  320. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  321. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  322. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  323. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  324. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  325. package/dist/commands/chunk-QSBYULSS.js +100 -0
  326. package/dist/commands/chunk-QSJCZATC.js +18 -0
  327. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  328. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  329. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  330. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  331. package/dist/commands/chunk-QXBOECGL.js +272 -0
  332. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  333. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  334. package/dist/commands/chunk-R36VZIKU.js +53 -0
  335. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  336. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  337. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  338. package/dist/commands/chunk-RDUFVQVJ.js +997 -0
  339. package/dist/commands/chunk-RESNXNDG.js +54 -0
  340. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  341. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  342. package/dist/commands/chunk-RFXON3FK.js +25 -0
  343. package/dist/commands/chunk-RGEB5L37.js +66 -0
  344. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  345. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  346. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  347. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  348. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  349. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  350. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  351. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  352. package/dist/commands/chunk-RYKK75YT.js +289 -0
  353. package/dist/commands/chunk-S4JE63QE.js +704 -0
  354. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  355. package/dist/commands/chunk-SD4EX75H.js +177 -0
  356. package/dist/commands/chunk-SJITWFNY.js +480 -0
  357. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  358. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  359. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  360. package/dist/commands/chunk-SRTEE34O.js +93 -0
  361. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  362. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  363. package/dist/commands/chunk-T6OUNP7E.js +426 -0
  364. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  365. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  366. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  367. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  368. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  369. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  370. package/dist/commands/chunk-TROCFVCU.js +45 -0
  371. package/dist/commands/chunk-TTTZZN7F.js +269 -0
  372. package/dist/commands/chunk-TUBBESHU.js +85 -0
  373. package/dist/commands/chunk-TVZIFZZN.js +62 -0
  374. package/dist/commands/chunk-TXRWAL63.js +144 -0
  375. package/dist/commands/chunk-U46YTYJQ.js +92 -0
  376. package/dist/commands/chunk-U5EO4QEV.js +48 -0
  377. package/dist/commands/chunk-UCO333EX.js +47 -0
  378. package/dist/commands/chunk-UIXQ4IYT.js +445 -0
  379. package/dist/commands/chunk-UJGNYPMD.js +716 -0
  380. package/dist/commands/chunk-URZ4RDC4.js +220 -0
  381. package/dist/commands/chunk-UUH3DE77.js +57 -0
  382. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  383. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  384. package/dist/commands/chunk-UX3HCPLX.js +449 -0
  385. package/dist/commands/chunk-UY62WJV6.js +120 -0
  386. package/dist/commands/chunk-V2T5DP3B.js +224 -0
  387. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  388. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  389. package/dist/commands/chunk-VHLDQ3PH.js +30 -0
  390. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  391. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  392. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  393. package/dist/commands/chunk-VO25PMGS.js +58 -0
  394. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  395. package/dist/commands/chunk-VXE3V3OC.js +335 -0
  396. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  397. package/dist/commands/chunk-W3MDLQZF.js +137 -0
  398. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  399. package/dist/commands/chunk-WCYRNNKF.js +76 -0
  400. package/dist/commands/chunk-WEUUJIWQ.js +84 -0
  401. package/dist/commands/chunk-WNBJK6QE.js +84 -0
  402. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  403. package/dist/commands/chunk-WR73HTRG.js +121 -0
  404. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  405. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  406. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  407. package/dist/commands/chunk-WWLCQREY.js +225 -0
  408. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  409. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  410. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  411. package/dist/commands/chunk-XAEL24EG.js +66 -0
  412. package/dist/commands/chunk-XCCT6GKA.js +74 -0
  413. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  414. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  415. package/dist/commands/chunk-XSKJAG72.js +91 -0
  416. package/dist/commands/chunk-XTJA34ND.js +492 -0
  417. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  418. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  419. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  420. package/dist/commands/chunk-YEAE46TS.js +98 -0
  421. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  422. package/dist/commands/chunk-YJZAD4Z5.js +103 -0
  423. package/dist/commands/chunk-YMAEYY5R.js +278 -0
  424. package/dist/commands/chunk-YNCF66RK.js +1052 -0
  425. package/dist/commands/chunk-YOA25SII.js +210 -0
  426. package/dist/commands/chunk-YOZTZMAT.js +38 -0
  427. package/dist/commands/chunk-YSGRHVZG.js +897 -0
  428. package/dist/commands/chunk-YSLGWRQN.js +646 -0
  429. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  430. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  431. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  432. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  433. package/dist/commands/chunk-Z6QLFPFB.js +907 -0
  434. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  435. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  436. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  437. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  438. package/dist/commands/chunk-ZEUKX3RZ.js +245 -0
  439. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  440. package/dist/commands/chunk-ZGBXUY7R.js +198 -0
  441. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  442. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  443. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  444. package/dist/commands/chunk-ZJ5S4VFD.js +258 -0
  445. package/dist/commands/chunk-ZNIIA275.js +59 -0
  446. package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
  447. package/dist/commands/ci-timing-cli.js +22 -3
  448. package/dist/commands/code-symbol-cli.js +21 -7
  449. package/dist/commands/codex-hook-adapter.js +124 -119
  450. package/dist/commands/command-derive.js +9 -11
  451. package/dist/commands/cost-audit-main.js +118 -119
  452. package/dist/commands/cost-main.js +5 -7
  453. package/dist/commands/cspell-cached.js +55 -57
  454. package/dist/commands/defect-origin-main.js +42 -37
  455. package/dist/commands/defect-report-main.js +33 -25
  456. package/dist/commands/diff-summary-cli.js +3 -4
  457. package/dist/commands/disposition-cli.js +117 -118
  458. package/dist/commands/doctor.js +24 -11
  459. package/dist/commands/document-read-cli.js +50 -53
  460. package/dist/commands/document-section-main.js +50 -53
  461. package/dist/commands/dogfood-commit-cli.js +19 -4
  462. package/dist/commands/effect-audit-cli.js +40 -41
  463. package/dist/commands/epic-audit-main.js +88 -86
  464. package/dist/commands/epic-bundle-main.js +122 -119
  465. package/dist/commands/epic-check.js +37 -31
  466. package/dist/commands/epic-main.js +129 -126
  467. package/dist/commands/epic-next-main.js +85 -83
  468. package/dist/commands/eval-run.js +6 -7
  469. package/dist/commands/format-edited-cli.js +71 -46
  470. package/dist/commands/format.js +41 -56
  471. package/dist/commands/fresh-machine-cli.js +24 -7
  472. package/dist/commands/gh-usage-cli.js +22 -22
  473. package/dist/commands/git-followup-workflow.js +158 -158
  474. package/dist/commands/git-gh-checks-failed-main.js +23 -15
  475. package/dist/commands/git-workflow.js +52 -53
  476. package/dist/commands/github-release-cli.js +3 -3
  477. package/dist/commands/hook-ledger-cli.js +93 -94
  478. package/dist/commands/init-main.js +40 -40
  479. package/dist/commands/inputs.json +2042 -2002
  480. package/dist/commands/issue-ack-cli.js +28 -21
  481. package/dist/commands/issue-already-done-cli.js +107 -110
  482. package/dist/commands/issue-body-cli.js +71 -73
  483. package/dist/commands/issue-cite-main.js +35 -28
  484. package/dist/commands/issue-comment-main.js +36 -30
  485. package/dist/commands/issue-consolidate-cli.js +54 -54
  486. package/dist/commands/issue-file-main.js +274 -148
  487. package/dist/commands/issue-fold-existing-cli.js +126 -123
  488. package/dist/commands/issue-fold-main.js +57 -60
  489. package/dist/commands/issue-lint-main.js +59 -61
  490. package/dist/commands/issue-measured-cli.js +108 -110
  491. package/dist/commands/issue-plan-cli.js +156 -155
  492. package/dist/commands/issue-premise-unmet-cli.js +111 -113
  493. package/dist/commands/issue-priority-cli.js +38 -32
  494. package/dist/commands/issue-read-main.js +38 -33
  495. package/dist/commands/issue-release-class-cli.js +37 -31
  496. package/dist/commands/issue-release-main.js +35 -29
  497. package/dist/commands/issue-scout-main.js +123 -120
  498. package/dist/commands/issue-spill-main.js +149 -144
  499. package/dist/commands/issue-state-main.js +36 -31
  500. package/dist/commands/issue-tick-cli.js +37 -31
  501. package/dist/commands/josh-completion.js +21 -24
  502. package/dist/commands/lane-adopt-cli.js +53 -55
  503. package/dist/commands/lane-breakdown-cli.js +193 -172
  504. package/dist/commands/lane-cli.js +199 -180
  505. package/dist/commands/lane-launch-main.js +106 -56
  506. package/dist/commands/lane-limit-cli.js +119 -116
  507. package/dist/commands/lane-measure-cli.js +408 -245
  508. package/dist/commands/lane-pause-cli.js +51 -54
  509. package/dist/commands/lane-plan-cli.js +148 -147
  510. package/dist/commands/lane-resolve-cli.js +48 -50
  511. package/dist/commands/lane-restart-cli.js +185 -168
  512. package/dist/commands/lane-why-cli.js +121 -122
  513. package/dist/commands/lane-withdraw-cli.js +84 -86
  514. package/dist/commands/latest-corepack.js +3 -2
  515. package/dist/commands/latest-if-required-cli.js +12 -15
  516. package/dist/commands/latest-lane-guard-main.js +2 -3
  517. package/dist/commands/latest-scope-main.js +5 -7
  518. package/dist/commands/latest-update.js +3 -2
  519. package/dist/commands/lines-command.js +8 -10
  520. package/dist/commands/lint-parallel-main.js +65 -67
  521. package/dist/commands/lint-related.js +149 -133
  522. package/dist/commands/lint-rule.js +64 -66
  523. package/dist/commands/lockfile-policy.js +29 -32
  524. package/dist/commands/main-merge-main.js +23 -25
  525. package/dist/commands/main-sync-main.js +23 -24
  526. package/dist/commands/managed-config-scope-cli.js +11 -10
  527. package/dist/commands/measure-rerun-cli.js +31 -26
  528. package/dist/commands/metrics-command.js +97 -100
  529. package/dist/commands/observation-record-cli.js +24 -14
  530. package/dist/commands/observations-flush-cli.js +50 -52
  531. package/dist/commands/overrides-check.js +1 -1
  532. package/dist/commands/package-scout-cli.js +70 -73
  533. package/dist/commands/pin-verify-cli.js +21 -2
  534. package/dist/commands/plan-consumers-main.js +3 -4
  535. package/dist/commands/plan-scaffold-cli.js +145 -146
  536. package/dist/commands/pr-classification-main.js +22 -3
  537. package/dist/commands/pre-commit-lint.js +30 -34
  538. package/dist/commands/pre-commit-type-check.js +55 -55
  539. package/dist/commands/pre-push-unit.js +69 -70
  540. package/dist/commands/pretool-guard-cli.js +111 -113
  541. package/dist/commands/prevent-main-commit.js +2 -3
  542. package/dist/commands/project-profile-cli.js +24 -9
  543. package/dist/commands/propagate.js +31 -23
  544. package/dist/commands/prose-stale-cli.js +48 -42
  545. package/dist/commands/publishable-range-check.js +3 -3
  546. package/dist/commands/read-set-cli.js +58 -61
  547. package/dist/commands/refactor-scan-cli.js +8 -9
  548. package/dist/commands/release-cli.js +57 -57
  549. package/dist/commands/release-scope-main.js +41 -36
  550. package/dist/commands/rename-cli.js +64 -36
  551. package/dist/commands/repo-party-cli.js +3 -4
  552. package/dist/commands/report-template-cli.js +4 -5
  553. package/dist/commands/reserved-run.js +17 -20
  554. package/dist/commands/retrospective-cli.js +126 -127
  555. package/dist/commands/review-attest-cli.js +28 -20
  556. package/dist/commands/review-brief-main.js +184 -167
  557. package/dist/commands/review-findings-cli.js +23 -13
  558. package/dist/commands/review-pair-cli.js +180 -156
  559. package/dist/commands/review-record-main.js +171 -147
  560. package/dist/commands/review-round2-cli.js +89 -91
  561. package/dist/commands/review-stops-cli.js +51 -54
  562. package/dist/commands/review-submit-cli.js +184 -167
  563. package/dist/commands/rule-list.js +78 -80
  564. package/dist/commands/rule-value-cli.js +115 -116
  565. package/dist/commands/ruleset-check-cli.js +23 -6
  566. package/dist/commands/run-add-cli.js +115 -75
  567. package/dist/commands/run-board-main.js +172 -169
  568. package/dist/commands/run-carry-cli.js +182 -174
  569. package/dist/commands/run-chain-cli.js +184 -160
  570. package/dist/commands/run-cut-cli.js +206 -168
  571. package/dist/commands/run-ending-cli.js +51 -54
  572. package/dist/commands/run-entry-cli.js +230 -283
  573. package/dist/commands/run-event-cli.js +18 -21
  574. package/dist/commands/run-handoff-cli.js +75 -78
  575. package/dist/commands/run-handoff-lanes-cli.js +48 -51
  576. package/dist/commands/run-hold-main.js +105 -107
  577. package/dist/commands/run-liveness-cli.js +47 -49
  578. package/dist/commands/run-merge-main.js +159 -151
  579. package/dist/commands/run-next-cli.js +128 -129
  580. package/dist/commands/run-park-cli.js +137 -140
  581. package/dist/commands/run-pause-cli.js +190 -186
  582. package/dist/commands/run-pickup-cli.js +49 -52
  583. package/dist/commands/run-prep-main.js +124 -125
  584. package/dist/commands/run-prime-cli.js +175 -147
  585. package/dist/commands/run-progress-main.js +149 -146
  586. package/dist/commands/run-report-cli.js +60 -60
  587. package/dist/commands/run-review-cli.js +229 -214
  588. package/dist/commands/run-ship-cli.js +258 -252
  589. package/dist/commands/run-ship-evidence-cli.js +71 -72
  590. package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
  591. package/dist/commands/run-ship-wait-main.js +83 -85
  592. package/dist/commands/run-split-cli.js +176 -172
  593. package/dist/commands/run-stale-main.js +72 -75
  594. package/dist/commands/run-status-cli.js +44 -44
  595. package/dist/commands/run-step-cli.js +213 -211
  596. package/dist/commands/run-tail-cli.js +23 -18
  597. package/dist/commands/run-tidy-main.js +67 -69
  598. package/dist/commands/run-wake-main.js +206 -187
  599. package/dist/commands/run-watcher-guard-cli.js +63 -66
  600. package/dist/commands/security-audit-main.js +21 -24
  601. package/dist/commands/security-audit-provision-main.js +9 -11
  602. package/dist/commands/selfcheck-cli.js +63 -57
  603. package/dist/commands/session-language-main.js +70 -73
  604. package/dist/commands/sonar-hotspots-cli.js +9 -8
  605. package/dist/commands/sonar-new-code-cli.js +3 -4
  606. package/dist/commands/split-assess-cli.js +55 -58
  607. package/dist/commands/split-child-recover-cli.js +38 -39
  608. package/dist/commands/start.js +64 -64
  609. package/dist/commands/stash-pop-main.js +4 -5
  610. package/dist/commands/stash-push-main.js +7 -9
  611. package/dist/commands/stop-guard.js +180 -176
  612. package/dist/commands/sync-main.js +30 -15
  613. package/dist/commands/telegram-test-main.js +29 -22
  614. package/dist/commands/test-declared.js +29 -15
  615. package/dist/commands/test-e2e-guard.js +54 -54
  616. package/dist/commands/test-pinned-main.js +57 -56
  617. package/dist/commands/test-reach-cli.js +40 -32
  618. package/dist/commands/test-red-main.js +12 -14
  619. package/dist/commands/test-related-Z6YY2GFH.js +113 -0
  620. package/dist/commands/test-related-main.js +89 -89
  621. package/dist/commands/test-unit-guard-main.js +37 -37
  622. package/dist/commands/time-cli.js +54 -57
  623. package/dist/commands/time-density-cli.js +26 -29
  624. package/dist/commands/tree-status-cli.js +6 -8
  625. package/dist/commands/type-check-command.js +26 -11
  626. package/dist/commands/ui-routes-cli.js +5 -6
  627. package/dist/commands/ui-shot-cli.js +1 -1
  628. package/dist/commands/uninstall.js +44 -43
  629. package/dist/commands/unused-members-KVKZDTXD.js +329 -0
  630. package/dist/commands/unused-members-cli.js +27 -12
  631. package/dist/commands/upstream-interrupt-main.js +159 -151
  632. package/dist/commands/verification-gate.js +85 -86
  633. package/dist/commands/version-check.js +25 -8
  634. package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
  635. package/dist/hooks/chunk-46PTTMGE.js +1625 -0
  636. package/dist/hooks/chunk-5NIBRHWG.js +77 -0
  637. package/dist/hooks/chunk-76QKN2K3.js +258 -0
  638. package/dist/hooks/chunk-CHEKMGFP.js +321 -0
  639. package/dist/hooks/chunk-DCILEVDR.js +5173 -0
  640. package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
  641. package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
  642. package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
  643. package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
  644. package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
  645. package/dist/hooks/codex-hook-adapter.js +11 -12
  646. package/dist/hooks/daemon.js +2140 -1387
  647. package/dist/hooks/format-edited.js +6 -6
  648. package/dist/hooks/inputs.json +512 -488
  649. package/dist/hooks/pretool-guard.js +8 -8
  650. package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
  651. package/dist/hooks/session-lang.js +10 -8
  652. package/dist/hooks/stop-guard.js +962 -669
  653. package/dist/inputs.json +73 -64
  654. package/dist/josh.js +1029 -577
  655. package/dist/registry-migrate.mjs +33938 -0
  656. package/dist/version/index.js +4251 -175
  657. package/package.json +4 -1
  658. package/prompts/collaboration-workflow/principles.md +4 -1
  659. package/prompts/collaboration-workflow/rule-delivery.md +1 -1
  660. package/scripts/agent/codex-launch-identity.ts +70 -0
  661. package/scripts/auto-ok/auto-ok-cli.ts +2 -0
  662. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
  663. package/scripts/auto-ok/auto-ok-judge.ts +3 -1
  664. package/scripts/backlog/backlog-arrival.ts +1 -1
  665. package/scripts/backlog/backlog-budget.ts +5 -2
  666. package/scripts/backlog/backlog-defect-priority.ts +1 -1
  667. package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
  668. package/scripts/backlog/backlog-drain-flush.ts +38 -3
  669. package/scripts/backlog/backlog-drive-cli.ts +1 -1
  670. package/scripts/backlog/backlog-drive-hold.ts +28 -5
  671. package/scripts/backlog/backlog-drive-launch.ts +37 -15
  672. package/scripts/backlog/backlog-drive-listing.ts +39 -23
  673. package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
  674. package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
  675. package/scripts/backlog/backlog-hold-codes.ts +7 -0
  676. package/scripts/backlog/backlog-hold-text.ts +14 -1
  677. package/scripts/backlog/backlog-measure-close.ts +6 -0
  678. package/scripts/backlog/backlog-next-shared.ts +20 -2
  679. package/scripts/backlog/backlog-next.ts +24 -3
  680. package/scripts/backlog/backlog-offer-cli.ts +69 -16
  681. package/scripts/build/build-migration.ts +25 -0
  682. package/scripts/build/build.ts +2 -0
  683. package/scripts/epic/epic-classify.ts +6 -1
  684. package/scripts/epic/epic-live.ts +46 -0
  685. package/scripts/followup/followup-failed-tests.ts +71 -10
  686. package/scripts/followup/followup-job-rerun.ts +2 -2
  687. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  688. package/scripts/gate/change-scope-action.ts +2 -0
  689. package/scripts/gate/check-related-order.ts +6 -7
  690. package/scripts/gate/check-related.ts +18 -8
  691. package/scripts/gate/core-admission.ts +17 -30
  692. package/scripts/gate/core-budget-poll.ts +183 -0
  693. package/scripts/gate/core-budget-timing.ts +1 -1
  694. package/scripts/gate/core-budget.ts +24 -112
  695. package/scripts/gate/core-wait-record.ts +52 -7
  696. package/scripts/gate/machine-capacity.ts +6 -2
  697. package/scripts/gate/metrics-totals.ts +11 -0
  698. package/scripts/gate/path-glob.test.ts +18 -0
  699. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  700. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  701. package/scripts/gh/gh-request-tally.ts +4 -0
  702. package/scripts/hooks/bash-revert.ts +79 -31
  703. package/scripts/hooks/format-edited-file.ts +6 -8
  704. package/scripts/hooks/implementation-shell.ts +3 -2
  705. package/scripts/init/distributed-paths.ts +18 -5
  706. package/scripts/init/init-actions.ts +16 -1
  707. package/scripts/init/init-bootstrap.ts +2 -0
  708. package/scripts/init/init-logic.ts +40 -8
  709. package/scripts/init/init.ts +11 -3
  710. package/scripts/issue/defect-rate-cli.ts +19 -13
  711. package/scripts/issue/issue-file-batch.ts +7 -3
  712. package/scripts/issue/issue-file-cli.ts +19 -6
  713. package/scripts/issue/issue-file-main.ts +6 -1
  714. package/scripts/issue/issue-file-pass.ts +17 -0
  715. package/scripts/issue/issue-file.ts +3 -0
  716. package/scripts/issue/issue-not-before.ts +9 -2
  717. package/scripts/issue/issue-observation-gate.ts +141 -0
  718. package/scripts/issue/issue-observation-prime.ts +83 -0
  719. package/scripts/issue/issue-publication-state.ts +61 -0
  720. package/scripts/issue/issue-publication.ts +144 -0
  721. package/scripts/issue/issue-sample-prime.ts +2 -0
  722. package/scripts/issue/issue-search-count.ts +26 -0
  723. package/scripts/issue/issue-search.ts +128 -3
  724. package/scripts/issue/issue-spill-cli.ts +4 -0
  725. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  726. package/scripts/josh/josh-commands-ai.ts +1 -1
  727. package/scripts/josh/josh-commands-development.ts +1 -1
  728. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  729. package/scripts/josh/josh-commands-run.ts +6 -1
  730. package/scripts/josh/josh-commands-ship.ts +5 -5
  731. package/scripts/josh/josh-run.ts +5 -2
  732. package/scripts/josh/session-language-cli.ts +1 -1
  733. package/scripts/josh/shared-cache.ts +16 -1
  734. package/scripts/lane/lane-await.ts +15 -0
  735. package/scripts/lane/lane-cli.ts +2 -0
  736. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  737. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  738. package/scripts/lane/lane-dispatch.ts +44 -5
  739. package/scripts/lane/lane-early-push-count.ts +21 -0
  740. package/scripts/lane/lane-install.ts +15 -5
  741. package/scripts/lane/lane-launch-cli.ts +35 -14
  742. package/scripts/lane/lane-ledger-kind.ts +2 -0
  743. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  744. package/scripts/lane/lane-ledger-schema.ts +15 -1
  745. package/scripts/lane/lane-ledger-write.ts +4 -1
  746. package/scripts/lane/lane-relaunch.ts +25 -2
  747. package/scripts/lane/lane-state-record.ts +2 -0
  748. package/scripts/lane/lane-state.ts +8 -1
  749. package/scripts/lane/lane-stats-tables.ts +2 -0
  750. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  751. package/scripts/lib/inherited-scope.ts +48 -0
  752. package/scripts/lint/format-steps.ts +93 -0
  753. package/scripts/lint/format.ts +6 -49
  754. package/scripts/lint/lint-related-fix.ts +35 -0
  755. package/scripts/lint/lint-related.ts +22 -35
  756. package/scripts/propagate/propagate-steps.ts +9 -4
  757. package/scripts/registry-migration/migrate-cli.ts +50 -0
  758. package/scripts/registry-migration/migrate-files.ts +154 -0
  759. package/scripts/registry-migration/migrate-lock.ts +147 -0
  760. package/scripts/registry-migration/migrate.ts +235 -0
  761. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  762. package/scripts/review/review-record-cli.ts +27 -13
  763. package/scripts/review/review-record-pinned.ts +15 -6
  764. package/scripts/run/add/run-add-cli.ts +21 -3
  765. package/scripts/run/add/run-add.ts +26 -9
  766. package/scripts/run/board/run-board-header.ts +4 -5
  767. package/scripts/run/board/run-board-layout.ts +2 -2
  768. package/scripts/run/board/run-board-read.ts +7 -1
  769. package/scripts/run/board/run-board-reason.ts +12 -0
  770. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  771. package/scripts/run/board/run-board-roots.ts +25 -2
  772. package/scripts/run/board/run-board-seat.ts +9 -2
  773. package/scripts/run/board/run-board-setup.ts +19 -11
  774. package/scripts/run/board/run-board-status.ts +2 -0
  775. package/scripts/run/board/run-board-tick.ts +7 -1
  776. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  777. package/scripts/run/carry/run-carry-session.ts +48 -0
  778. package/scripts/run/carry/run-carry.ts +21 -14
  779. package/scripts/run/cut/run-cut-resume.ts +15 -3
  780. package/scripts/run/cut/run-cut.ts +1 -1
  781. package/scripts/run/detached-launch.ts +14 -5
  782. package/scripts/run/early-push-record.ts +6 -2
  783. package/scripts/run/event/run-event-setup.ts +2 -0
  784. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  785. package/scripts/run/hold/run-hold-cli.ts +40 -5
  786. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  787. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  788. package/scripts/run/merge/run-merge-steps.ts +4 -57
  789. package/scripts/run/merge/run-merge-waits.ts +54 -0
  790. package/scripts/run/prime/run-prime-cli.ts +16 -2
  791. package/scripts/run/review/run-review-cli.ts +5 -7
  792. package/scripts/run/review/run-review-early-push.ts +19 -8
  793. package/scripts/run/review/run-review-join-read.ts +33 -6
  794. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  795. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  796. package/scripts/run/run-halfrun-resume.ts +49 -6
  797. package/scripts/run/run-headless.ts +3 -0
  798. package/scripts/run/run-pr-return.ts +14 -5
  799. package/scripts/run/run-repair-attempt.ts +219 -0
  800. package/scripts/run/ship/run-ship-lap.ts +5 -17
  801. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  802. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  803. package/scripts/run/startup/run-startup-schema.ts +31 -0
  804. package/scripts/run/startup/run-startup-store.ts +130 -0
  805. package/scripts/run/startup/run-startup.ts +119 -0
  806. package/scripts/run/wake/run-wake-codex.ts +144 -0
  807. package/scripts/run/wake/run-wake-driver.ts +32 -7
  808. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  809. package/scripts/run/wake/run-wake-loop.ts +23 -3
  810. package/scripts/run/wake/run-wake-ports.ts +17 -3
  811. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  812. package/scripts/run/wake/run-wake-window.ts +4 -1
  813. package/scripts/run/wake/run-wake.ts +5 -0
  814. package/scripts/sync/sync-ai-files.ts +17 -0
  815. package/scripts/sync/sync-configs.ts +11 -1
  816. package/scripts/sync/sync.ts +5 -1
  817. package/scripts/test/test-related-cap.ts +7 -3
  818. package/scripts/test/test-related-imports.ts +92 -0
  819. package/scripts/test/vitest-failure-summary.ts +7 -0
  820. package/scripts/version/npm-registry.ts +45 -7
  821. package/scripts/version/upgrade-shell-command.ts +34 -2
  822. package/templates/workflows/ci.yml +0 -15
  823. package/templates/workflows/github-release.yml +0 -5
  824. package/dist/commands/chunk-23GH6B3D.js +0 -333
  825. package/dist/commands/chunk-24ZDAWML.js +0 -48
  826. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  827. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  828. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  829. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  830. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  831. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  832. package/dist/commands/chunk-2PHOLX62.js +0 -43
  833. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  834. package/dist/commands/chunk-2VRITY55.js +0 -41
  835. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  836. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  837. package/dist/commands/chunk-352KLSFX.js +0 -67
  838. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  839. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  840. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  841. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  842. package/dist/commands/chunk-3Z425MM3.js +0 -61
  843. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  844. package/dist/commands/chunk-452HWOJ7.js +0 -395
  845. package/dist/commands/chunk-475EFIJV.js +0 -178
  846. package/dist/commands/chunk-47UZB54M.js +0 -73
  847. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  848. package/dist/commands/chunk-4DVM57T7.js +0 -86
  849. package/dist/commands/chunk-4EADHJVC.js +0 -247
  850. package/dist/commands/chunk-4HERA2GY.js +0 -95
  851. package/dist/commands/chunk-4JI35CVO.js +0 -70
  852. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  853. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  854. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  855. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  856. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  857. package/dist/commands/chunk-4Q64PG46.js +0 -478
  858. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  859. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  860. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  861. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  862. package/dist/commands/chunk-54X37JEJ.js +0 -170
  863. package/dist/commands/chunk-56KW5EOK.js +0 -85
  864. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  865. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  866. package/dist/commands/chunk-5FBRMARM.js +0 -578
  867. package/dist/commands/chunk-5RG4S66L.js +0 -47
  868. package/dist/commands/chunk-5UJGACVN.js +0 -137
  869. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  870. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  871. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  872. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  873. package/dist/commands/chunk-66NX6EXR.js +0 -29
  874. package/dist/commands/chunk-66TGK5XL.js +0 -84
  875. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  876. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  877. package/dist/commands/chunk-6GQX752S.js +0 -145
  878. package/dist/commands/chunk-6HRRZANN.js +0 -55
  879. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  880. package/dist/commands/chunk-6OP63TBT.js +0 -78
  881. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  882. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  883. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  884. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  885. package/dist/commands/chunk-6YURRFRU.js +0 -461
  886. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  887. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  888. package/dist/commands/chunk-77BIN247.js +0 -122
  889. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  890. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  891. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  892. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  893. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  894. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  895. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  896. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  897. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  898. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  899. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  900. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  901. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  902. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  903. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  904. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  905. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  906. package/dist/commands/chunk-AKK56GNX.js +0 -205
  907. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  908. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  909. package/dist/commands/chunk-ANUTT56I.js +0 -85
  910. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  911. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  912. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  913. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  914. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  915. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  916. package/dist/commands/chunk-BIKGPT52.js +0 -29
  917. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  918. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  919. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  920. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  921. package/dist/commands/chunk-BRUBX64M.js +0 -33
  922. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  923. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  924. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  925. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  926. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  927. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  928. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  929. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  930. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  931. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  932. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  933. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  934. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  935. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  936. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  937. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  938. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  939. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  940. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  941. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  942. package/dist/commands/chunk-D7JRJI44.js +0 -297
  943. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  944. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  945. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  946. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  947. package/dist/commands/chunk-DMD74E3F.js +0 -39
  948. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  949. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  950. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  951. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  952. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  953. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  954. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  955. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  956. package/dist/commands/chunk-ELY76WAR.js +0 -65
  957. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  958. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  959. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  960. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  961. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  962. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  963. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  964. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  965. package/dist/commands/chunk-EXWB34R2.js +0 -238
  966. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  967. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  968. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  969. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  970. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  971. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  972. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  973. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  974. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  975. package/dist/commands/chunk-FJX7AENO.js +0 -74
  976. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  977. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  978. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  979. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  980. package/dist/commands/chunk-FROACLVU.js +0 -525
  981. package/dist/commands/chunk-FURNDIT3.js +0 -34
  982. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  983. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  984. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  985. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  986. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  987. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  988. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  989. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  990. package/dist/commands/chunk-GITT5A5A.js +0 -198
  991. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  992. package/dist/commands/chunk-GLC47H7I.js +0 -285
  993. package/dist/commands/chunk-GUR54ELE.js +0 -328
  994. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  995. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  996. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  997. package/dist/commands/chunk-HATKF6VX.js +0 -173
  998. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  999. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  1000. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  1001. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  1002. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  1003. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  1004. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  1005. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1006. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1007. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1008. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1009. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1010. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1011. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1012. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1013. package/dist/commands/chunk-IF3EIFK4.js +0 -7515
  1014. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1015. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1016. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1017. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1018. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1019. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1020. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1021. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1022. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1023. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1024. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1025. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1026. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1027. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1028. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1029. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1030. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1031. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1032. package/dist/commands/chunk-K275REYP.js +0 -37
  1033. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1034. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1035. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1036. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1037. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1038. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1039. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1040. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1041. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1042. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1043. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1044. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1045. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1046. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1047. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1048. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1049. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1050. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1051. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1052. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1053. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1054. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1055. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1056. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1057. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1058. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1059. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1060. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1061. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1062. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1063. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1064. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1065. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1066. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1067. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1068. package/dist/commands/chunk-MN425CU6.js +0 -63
  1069. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1070. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1071. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1072. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1073. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1074. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1075. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1076. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1077. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1078. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1079. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1080. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1081. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1082. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1083. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1084. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1085. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1086. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1087. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1088. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1089. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1090. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1091. package/dist/commands/chunk-OIX2363L.js +0 -16
  1092. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1093. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1094. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1095. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1096. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1097. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1098. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1099. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1100. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1101. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1102. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1103. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1104. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1105. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1106. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1107. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1108. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1109. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1110. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1111. package/dist/commands/chunk-PE7B7242.js +0 -84
  1112. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1113. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1114. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1115. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1116. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1117. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1118. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1119. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1120. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1121. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1122. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1123. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1124. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1125. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1126. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1127. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1128. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1129. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1130. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1131. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1132. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1133. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1134. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1135. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1136. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1137. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1138. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1139. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1140. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1141. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1142. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1143. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1144. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1145. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1146. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1147. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1148. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1149. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1150. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1151. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1152. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1153. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1154. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1155. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1156. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1157. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1158. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1159. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1160. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1161. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1162. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1163. package/dist/commands/chunk-TLAB552K.js +0 -445
  1164. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1165. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1166. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1167. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1168. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1169. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1170. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1171. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1172. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1173. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1174. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1175. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1176. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1177. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1178. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1179. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1180. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1181. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1182. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1183. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1184. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1185. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1186. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1187. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1188. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1189. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1190. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1191. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1192. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1193. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1194. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1195. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1196. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1197. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1198. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1199. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1200. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1201. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1202. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1203. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1204. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1205. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1206. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1207. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1208. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1209. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1210. package/dist/commands/chunk-YDURQICF.js +0 -204
  1211. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1212. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1213. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1214. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1215. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1216. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1217. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1218. package/dist/commands/chunk-Z3WGHIVB.js +0 -122
  1219. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1220. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1221. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1222. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1223. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1224. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1225. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1226. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1227. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1228. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1229. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1230. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1231. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1232. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1233. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1234. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1235. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1236. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1237. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1238. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1239. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1240. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1241. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1242. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1243. package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
@@ -1,1189 +0,0 @@
1
- import {
2
- run_wake_code,
3
- run_wake_stop,
4
- run_wake_takeover,
5
- run_wake_window
6
- } from "./chunk-HG2NZQD5.js";
7
- import {
8
- run_wake_handoff
9
- } from "./chunk-EBI2BAKQ.js";
10
- import {
11
- lane_withdraw_closed
12
- } from "./chunk-TP6L4W3W.js";
13
- import {
14
- lane_close
15
- } from "./chunk-ZZFFSQF4.js";
16
- import {
17
- backlog_drive_args
18
- } from "./chunk-JHN6RCE6.js";
19
- import {
20
- lane_session_broker
21
- } from "./chunk-L7DAL54N.js";
22
- import {
23
- ts_entry_loader
24
- } from "./chunk-VHRNXWVP.js";
25
- import {
26
- lane_relaunch
27
- } from "./chunk-AC26ZUG5.js";
28
- import {
29
- document_section_cli
30
- } from "./chunk-ZSOR4ISJ.js";
31
- import {
32
- run_stranded_detect
33
- } from "./chunk-G5KSL2Q2.js";
34
- import {
35
- run_wake
36
- } from "./chunk-6Q3XUCLM.js";
37
- import {
38
- run_carry_ended
39
- } from "./chunk-ZVAIIHBE.js";
40
- import {
41
- epic_triage
42
- } from "./chunk-VQRT32JB.js";
43
- import {
44
- josh_command
45
- } from "./chunk-2VRITY55.js";
46
- import {
47
- telegram_notify
48
- } from "./chunk-WJ4NEDNI.js";
49
- import {
50
- run_step_section_table
51
- } from "./chunk-JIGBNCDR.js";
52
- import {
53
- gh_spawn
54
- } from "./chunk-3PEXBHRN.js";
55
- import {
56
- backlogrun_launch
57
- } from "./chunk-2EZTYLO4.js";
58
- import {
59
- agent_argv
60
- } from "./chunk-NU7W6QGT.js";
61
- import {
62
- claude_agent_argv
63
- } from "./chunk-DEZF7QZZ.js";
64
- import {
65
- run_event_setup
66
- } from "./chunk-I2KCGKJI.js";
67
- import {
68
- run_headless
69
- } from "./chunk-7C7FOKJK.js";
70
- import {
71
- agent_role_profile
72
- } from "./chunk-6UCWAFQY.js";
73
- import {
74
- lane_registry
75
- } from "./chunk-452HWOJ7.js";
76
- import {
77
- run_liveness
78
- } from "./chunk-3AEDZZNL.js";
79
- import {
80
- detached_launch
81
- } from "./chunk-C2SEDMZ3.js";
82
- import {
83
- run_event_stream_emit
84
- } from "./chunk-OKZWEVR4.js";
85
- import {
86
- run_event_stream
87
- } from "./chunk-NSAVEXVR.js";
88
- import {
89
- agent_safe_text
90
- } from "./chunk-3LZXX5GL.js";
91
- import {
92
- issue_citation
93
- } from "./chunk-22DVQCP6.js";
94
- import {
95
- run_carry,
96
- run_invocation
97
- } from "./chunk-MPGJ4ONJ.js";
98
- import {
99
- cli_flags
100
- } from "./chunk-2FE3C4PH.js";
101
- import {
102
- poll
103
- } from "./chunk-SBGTCT2C.js";
104
- import {
105
- process_identity
106
- } from "./chunk-AKK56GNX.js";
107
- import {
108
- error_text
109
- } from "./chunk-CDY4NFQG.js";
110
- import {
111
- stamp_file
112
- } from "./chunk-QWWTC3XR.js";
113
- import {
114
- MS_PER_SECOND
115
- } from "./chunk-WPAQUMHC.js";
116
-
117
- // scripts/run/wake/run-wake-cli.ts
118
- import { dirname as __josh_dirname } from "node:path";
119
- import { fileURLToPath as __josh_file_path } from "node:url";
120
- import { fileURLToPath } from "node:url";
121
-
122
- // scripts/run/wake/run-wake-await.ts
123
- function is_live_carry(read, ports) {
124
- if (read.kind !== "carried") return false;
125
- return ports.is_owner_live(read.carry) || ports.is_launched_record(read.carry);
126
- }
127
- function is_launched_record(carry, git_directory) {
128
- const launch = backlogrun_launch.pending_launch(git_directory);
129
- if (launch === void 0 || carry.is_handed_off !== true) return false;
130
- return carry.invocation === launch.invocation && Date.parse(carry.started_at) === Date.parse(launch.started_at);
131
- }
132
- function supervised_invocation(ports) {
133
- const read = ports.read_carry();
134
- if (read.kind !== "carried") return ports.pending_invocation();
135
- if (ports.is_owner_live(read.carry)) return read.carry.invocation;
136
- return ports.pending_invocation() ?? read.carry.invocation;
137
- }
138
- async function await_carry(ports, interval_ms) {
139
- const read = ports.read_carry();
140
- if (is_live_carry(read, ports)) return read;
141
- if (ports.pending_invocation() === void 0) return ports.read_carry();
142
- await ports.sleep(interval_ms);
143
- return await await_carry(ports, interval_ms);
144
- }
145
- function ports_of(context) {
146
- return {
147
- read_carry: () => run_carry.read_carry(context.carry_target),
148
- pending_invocation: () => backlogrun_launch.pending_launch(context.git_directory)?.invocation,
149
- is_owner_live: (carry) => run_carry.is_owner_live(carry),
150
- is_launched_record: (carry) => is_launched_record(carry, context.git_directory),
151
- sleep: poll.sleep
152
- };
153
- }
154
- function supervised_carry(read, invocation, ports) {
155
- if (read.kind !== "carried") return void 0;
156
- if (read.carry.invocation === invocation || ports.is_owner_live(read.carry)) return read.carry;
157
- return void 0;
158
- }
159
- function held_for(target, wake, carry, profile) {
160
- if (carry.invocation === wake.invocation) return { kind: "claimed", wake, carry };
161
- const supervised2 = run_wake.fresh_wake(carry.invocation, /* @__PURE__ */ new Date(), profile);
162
- run_wake.update_wake(target, supervised2);
163
- return { kind: "claimed", wake: supervised2, carry };
164
- }
165
- async function claim_run(context, profile, interval_ms, ports = ports_of(context)) {
166
- const invocation = supervised_invocation(ports);
167
- if (invocation === void 0) return { kind: "refused", carry_kind: ports.read_carry().kind };
168
- const wake = run_wake.claim(context.wake_target, invocation, /* @__PURE__ */ new Date(), profile);
169
- if (wake === void 0) return { kind: "running" };
170
- const read = await await_carry(ports, interval_ms);
171
- const carry = supervised_carry(read, invocation, ports);
172
- if (carry !== void 0) return held_for(context.wake_target, wake, carry, profile);
173
- run_wake.tidy_own_wake(context.wake_target);
174
- return { kind: "refused", carry_kind: read.kind };
175
- }
176
- var run_wake_await = { await_carry, claim_run, supervised_invocation };
177
-
178
- // scripts/run/wake/run-wake-describe.ts
179
- import path from "node:path";
180
-
181
- // scripts/run/wake/run-wake-caffeinate.ts
182
- import { spawn } from "node:child_process";
183
- import { existsSync } from "node:fs";
184
- var CAFFEINATE_PATH = "/usr/bin/caffeinate";
185
- var CAFFEINATE_FLAGS = ["-i", "-s", "-w"];
186
- function argv(pid) {
187
- return [...CAFFEINATE_FLAGS, String(pid)];
188
- }
189
- function keep_awake(pid, is_present = existsSync, spawner = spawn) {
190
- if (!is_present(CAFFEINATE_PATH)) return;
191
- const child = spawner(CAFFEINATE_PATH, argv(pid), { detached: true, stdio: "ignore" });
192
- child.on("error", () => {
193
- });
194
- child.unref();
195
- }
196
- var run_wake_caffeinate = {
197
- CAFFEINATE_PATH,
198
- argv,
199
- keep_awake
200
- };
201
-
202
- // scripts/run/wake/run-wake-session.ts
203
- var WAKE_COMMAND = claude_agent_argv.AGENT_COMMAND;
204
- var WAKE_FLAGS = claude_agent_argv.AGENT_FLAGS;
205
- var LOOP_FLAG = "--loop";
206
- var INTERVAL_FLAG = "--interval";
207
- var SUPERVISOR_SESSION = "run-wake-supervisor";
208
- function scheduler_profile() {
209
- const resolved = agent_role_profile.resolve(agent_role_profile.SCHEDULER);
210
- agent_role_profile.warn_of_default();
211
- if (resolved.kind === "profile") return resolved.profile;
212
- console.error(resolved.note);
213
- return void 0;
214
- }
215
- function chosen_profile(provider) {
216
- const environment = backlogrun_launch.chosen_environment(provider);
217
- return agent_role_profile.resolve(agent_role_profile.SCHEDULER, environment);
218
- }
219
- function supervisor_environment(profile) {
220
- return profile.provider === "openai" ? { CODEX_THREAD_ID: SUPERVISOR_SESSION } : { CLAUDE_CODE_CHILD_SESSION: SUPERVISOR_SESSION, CODEX_THREAD_ID: void 0 };
221
- }
222
- function safe_invocation(invocation) {
223
- if (!detached_launch.is_safe_value(invocation)) return void 0;
224
- const rebuilt = run_invocation.rebuild(invocation);
225
- return rebuilt === invocation ? rebuilt : void 0;
226
- }
227
- function profiled_argv(invocation, profile, cwd, session_id) {
228
- return cwd === void 0 ? agent_argv.with_profile(invocation, profile) : agent_argv.with_profile_in(invocation, profile, cwd, session_id);
229
- }
230
- function resolved_argv(invocation, cwd) {
231
- return cwd === void 0 ? agent_argv.resolve(invocation, agent_role_profile.SCHEDULER) : agent_argv.resolve_in(invocation, agent_role_profile.SCHEDULER, cwd);
232
- }
233
- function handoff_prompt(matched, material) {
234
- return `${matched}
235
- Driver handoff: ${agent_safe_text.printable(material)}`.slice(
236
- 0,
237
- agent_safe_text.MAX_PROMPT_LENGTH
238
- );
239
- }
240
- function wake_argv(invocation, profile, cwd, session) {
241
- const matched = safe_invocation(invocation);
242
- if (matched === void 0) return void 0;
243
- const prompt = typeof session === "object" ? handoff_prompt(matched, session.material) : matched;
244
- const session_id = typeof session === "object" ? session.id : session;
245
- return profile === void 0 ? resolved_argv(prompt, cwd) : profiled_argv(prompt, profile, cwd, session_id);
246
- }
247
- function supervisor_argv(script_path, interval) {
248
- const chosen = interval === void 0 ? [] : [INTERVAL_FLAG, interval];
249
- return {
250
- command: process.execPath,
251
- args: [...ts_entry_loader.loader_argv(process.execArgv), script_path, LOOP_FLAG, ...chosen]
252
- };
253
- }
254
- var run_wake_session = {
255
- INTERVAL_FLAG,
256
- LOOP_FLAG,
257
- WAKE_COMMAND,
258
- WAKE_FLAGS,
259
- ensure_log: detached_launch.ensure_log,
260
- is_safe_argv: detached_launch.is_safe_argv,
261
- keep_awake: run_wake_caffeinate.keep_awake,
262
- launch: detached_launch.launch,
263
- chosen_profile,
264
- scheduler_profile,
265
- supervisor_argv,
266
- supervisor_environment,
267
- wake_argv
268
- };
269
-
270
- // scripts/run/wake/run-wake-describe.ts
271
- var UNKNOWN_CUTS = "an unreadable number of";
272
- var REPO_LOOKUP_TIMEOUT_MS = 1e4;
273
- var STOP_COMMAND = "pnpm josh backlogrun --stop";
274
- var UNREADABLE_TIME = "an unreadable time";
275
- function carry_cuts(read) {
276
- if (read.kind === "carried") return String(read.carry.cuts);
277
- return UNKNOWN_CUTS;
278
- }
279
- function outstanding_line(wake) {
280
- if (wake.attempts === void 0) return void 0;
281
- return `${String(wake.attempts)} launch(es) outstanding for the current cut, none claimed yet`;
282
- }
283
- function wait_input(wake, read, now) {
284
- return {
285
- read,
286
- woke_at: wake.woke_at,
287
- attempts: wake.attempts ?? 0,
288
- is_owner_live: read.kind === "carried" && run_carry.is_owner_live(read.carry, now),
289
- has_work: wake.idle_since === void 0 ? void 0 : false,
290
- idle_since: wake.idle_since,
291
- now
292
- };
293
- }
294
- function deadline(marked_at, limit_ms) {
295
- const marked = Date.parse(marked_at ?? "");
296
- return Number.isNaN(marked) ? UNREADABLE_TIME : new Date(marked + limit_ms).toISOString();
297
- }
298
- function owner_wait(wake, carry) {
299
- if (carry.owner_pid === wake.pid) {
300
- return "waiting: the driver holds the carry record and is running";
301
- }
302
- return `waiting: process ${String(carry.owner_pid)} holds the carry record; the driver starts at its next cut or once it exits`;
303
- }
304
- var WAIT_LINES = {
305
- pending: (wake) => `waiting: the woken session has until ${deadline(wake.woke_at, run_wake.WAKE_GRACE_MS)} to begin work on the carry record`,
306
- idle: (wake) => `waiting: no runnable work; the driver starts anyway at ${deadline(wake.idle_since, run_wake.IDLE_CEILING_MS)}`
307
- };
308
- function wait_line(wake, read, now) {
309
- const { kind } = run_wake.decide(wait_input(wake, read, now));
310
- if (kind === "wait" && read.kind === "carried") return owner_wait(wake, read.carry);
311
- return WAIT_LINES[kind]?.(wake);
312
- }
313
- function stream_lines(context) {
314
- const event = run_event_stream.read_last(context.event_target);
315
- const progress = event === void 0 ? [] : [`progress: ${run_event_stream.format_event(event)}`];
316
- const follow = `watch: \`pnpm josh run:board\` in a pane of its own (recover with \`tail -F ${context.event_target}\`)`;
317
- return [...progress, follow];
318
- }
319
- function describe_wake(wake, context, now = /* @__PURE__ */ new Date()) {
320
- const live = run_wake.is_supervisor_live(wake) ? "running" : "not running";
321
- const read = run_carry.read_carry(context.carry_target);
322
- return [
323
- `invocation: ${wake.invocation}`,
324
- `profile: ${wake.profile === void 0 ? "unrecorded" : agent_role_profile.describe(wake.profile)}`,
325
- `supervisor: process ${String(wake.pid)} (${live}), watching since ${wake.started_at}`,
326
- `woke ${String(wake.woke)} session(s) across ${carry_cuts(read)} cut(s)`,
327
- outstanding_line(wake),
328
- wait_line(wake, read, now),
329
- run_liveness.describe_agent_state(context.log_target),
330
- `output: ${context.log_target}`,
331
- // How progress is seen without asking after the cut: the run's stream, followed from here.
332
- // `--list` is that reader's one-shot last-event form.
333
- ...stream_lines(context),
334
- `stop it with \`${STOP_COMMAND}\``
335
- ].filter((line) => line !== void 0).join("\n");
336
- }
337
- function cite_description(description, repo) {
338
- return repo === void 0 ? description : issue_citation.linkify(description, repo);
339
- }
340
- function describe_wake_cited(wake, context) {
341
- const repo = gh_spawn.get_repo_name_with_owner_within(REPO_LOOKUP_TIMEOUT_MS);
342
- return cite_description(describe_wake(wake, context), repo);
343
- }
344
- function context_of(directory, note) {
345
- const log_target = run_wake.wake_log_path(directory);
346
- run_wake_session.ensure_log(log_target, note);
347
- return {
348
- carry_target: run_carry.carry_path(directory),
349
- ended_target: run_carry_ended.ended_path(directory),
350
- wake_target: run_wake.wake_path(directory),
351
- log_target,
352
- event_target: run_event_stream.target_of(directory),
353
- git_directory: directory,
354
- worktree: path.dirname(directory)
355
- };
356
- }
357
- var run_wake_describe = {
358
- STOP_COMMAND,
359
- cite_description,
360
- context_of,
361
- describe_wake,
362
- describe_wake_cited
363
- };
364
-
365
- // scripts/run/wake/run-wake-loop.ts
366
- var STOPPED_REASON = "stopped";
367
- var FAILED_REASON = "failed";
368
- var RELOAD_REASON = "reload";
369
- var NO_ATTEMPTS = 0;
370
- var STOPPED_BY_PERSON = { reason: STOPPED_REASON, note: void 0 };
371
- var CODE_CHANGED = { reason: RELOAD_REASON, note: void 0 };
372
- function stopped(reason, note) {
373
- return { kind: "stop", stop: { reason, note } };
374
- }
375
- function wake_failure_note(wake) {
376
- const attempts = String(wake.attempts ?? NO_ATTEMPTS);
377
- const last = wake.woke_pid === void 0 ? "none" : `process ${String(wake.woke_pid)}`;
378
- return `woke a session for "${wake.invocation}" ${attempts} time(s) and none of them claimed the carry record; the last one was ${last}, which may still be running`;
379
- }
380
- function beside_step(wake, material, ports) {
381
- const result = ports.wake_beside(wake.invocation, ports.new_session_id(), material);
382
- return result.kind === "failed" ? stopped(FAILED_REASON, result.note) : { kind: "continue", wake };
383
- }
384
- function handoff_step(wake, material, ports) {
385
- const session_id = ports.new_session_id();
386
- ports.hand_off(session_id);
387
- const result = ports.wake(wake.invocation, session_id, material);
388
- if (result.kind === "failed") return stopped(FAILED_REASON, result.note);
389
- return { kind: "continue", wake: run_wake.count_wake(wake, ports.now(), result.pid, session_id) };
390
- }
391
- async function wake_step(wake, ports) {
392
- const driven = await ports.drive();
393
- if (driven.kind === "finished") return stopped("ended");
394
- if (driven.kind === "failed") return stopped(FAILED_REASON, driven.note);
395
- if (driven.kind === "released") return { kind: "continue", wake };
396
- return driven.kind === "triage" ? beside_step(wake, driven.material, ports) : handoff_step(wake, driven.material, ports);
397
- }
398
- function continue_step(wake, decision, ports) {
399
- if (decision.kind === "wait") return { kind: "continue", wake: run_wake.count_claim(wake) };
400
- if (decision.kind === "idle") {
401
- return { kind: "continue", wake: run_wake.mark_idle(wake, ports.now()) };
402
- }
403
- return { kind: "continue", wake };
404
- }
405
- async function step(wake, decision, ports) {
406
- if (decision.kind === "stop") return stopped(decision.reason);
407
- if (decision.kind === "failed") return stopped(FAILED_REASON, wake_failure_note(wake));
408
- if (decision.kind === "wake") return await wake_step(wake, ports);
409
- return continue_step(wake, decision, ports);
410
- }
411
- function decision_input(wake, ports) {
412
- const read = ports.read_carry();
413
- return {
414
- read,
415
- woke_at: wake.woke_at,
416
- attempts: wake.attempts ?? NO_ATTEMPTS,
417
- is_owner_live: ports.is_owner_live(read),
418
- has_work: void 0,
419
- idle_since: wake.idle_since,
420
- now: ports.now()
421
- };
422
- }
423
- async function decide_pass(wake, ports) {
424
- const input = decision_input(wake, ports);
425
- const decision = run_wake.decide(input);
426
- if (decision.kind !== "wake") return decision;
427
- return run_wake.decide({ ...input, has_work: await ports.has_work(input.read) });
428
- }
429
- async function retry_closes(ports) {
430
- try {
431
- await ports.retry_closes();
432
- } catch (error) {
433
- error_text.trace_swallowed("run_wake_loop.retry_closes", error);
434
- }
435
- }
436
- async function run_pass(target, wake, ports) {
437
- const decision = await decide_pass(wake, ports);
438
- if (decision.kind !== "stop" && await ports.is_code_stale()) return CODE_CHANGED;
439
- await retry_closes(ports);
440
- const outcome = await step(wake, decision, ports);
441
- if (outcome.kind === "stop") return outcome.stop;
442
- return run_wake.update_wake(target, outcome.wake) ? void 0 : STOPPED_BY_PERSON;
443
- }
444
- function without_release_gap(ports) {
445
- let is_released = false;
446
- return {
447
- ...ports,
448
- drive: async () => {
449
- const result = await ports.drive();
450
- is_released = result.kind === "released" || result.kind === "triage";
451
- return result;
452
- },
453
- sleep: async (milliseconds) => {
454
- const duration = is_released ? 0 : milliseconds;
455
- is_released = false;
456
- await ports.sleep(duration);
457
- }
458
- };
459
- }
460
- async function run_loop(target, ports, interval_ms) {
461
- const continuous = without_release_gap(ports);
462
- return await poll.wait_for(
463
- async () => {
464
- const wake = run_wake.read_own_wake(target);
465
- return wake === void 0 ? STOPPED_BY_PERSON : await run_pass(target, wake, continuous);
466
- },
467
- { interval_ms, sleeper: continuous.sleep }
468
- );
469
- }
470
- var run_wake_loop = {
471
- FAILED_REASON,
472
- RELOAD_REASON,
473
- run_loop
474
- };
475
-
476
- // scripts/run/wake/run-wake-finish.ts
477
- var SUCCESS_EXIT_CODE = 0;
478
- var FAILURE_EXIT_CODE = 1;
479
- var WARNING_TITLE = "run:wake supervisor";
480
- var WARNING_RECOVERY = `Check the wake command, then restart with \`pnpm josh run:wake --start\`.`;
481
- var STOP_BODIES = {
482
- ended: void 0,
483
- stopped: void 0,
484
- reload: void 0,
485
- failed: "The supervisor could not continue the run and has stopped.",
486
- unreadable: "The carry record could not be read, so the supervisor stopped rather than guess at it."
487
- };
488
- function log_hint(context) {
489
- return `The output of every session this supervisor started is in ${context.log_target}.`;
490
- }
491
- function warning_body(stop, body, context) {
492
- return [body, log_hint(context), stop.note].filter(Boolean).join("\n");
493
- }
494
- async function warn_of_stop(stop, body, context) {
495
- return await telegram_notify.warn({
496
- issue_title: WARNING_TITLE,
497
- body: warning_body(stop, body, context),
498
- recovery: WARNING_RECOVERY
499
- });
500
- }
501
- function is_strand_told(stop, watched, is_warned) {
502
- if (!is_warned || stop.reason !== run_wake_loop.FAILED_REASON) return false;
503
- return run_stranded_detect.is_left_stranded(watched);
504
- }
505
- async function record_failure(stop, watched, is_warned) {
506
- if (!is_strand_told(stop, watched, is_warned)) return;
507
- const [cause = ""] = (stop.note ?? "").split("\n", 1);
508
- await run_event_stream_emit.emit(
509
- run_event_stream.EVENT_KIND.STRANDED,
510
- `The supervisor failed and stopped watching the run \u2014 ${cause}`
511
- );
512
- }
513
- function exit_code_of(reason) {
514
- return reason === run_wake_loop.FAILED_REASON ? FAILURE_EXIT_CODE : SUCCESS_EXIT_CODE;
515
- }
516
- function stop_body(reason) {
517
- return STOP_BODIES[reason];
518
- }
519
- async function warn_and_record(stop, body, context, started_at) {
520
- console.error(stop.note ?? body);
521
- const is_warned = await warn_of_stop(stop, body, context);
522
- await record_failure(stop, { ...context, started_at }, is_warned);
523
- }
524
- async function finish(stop, context, started_at) {
525
- const body = stop_body(stop.reason);
526
- if (body !== void 0) await warn_and_record(stop, body, context, started_at);
527
- console.info(stop.reason);
528
- return exit_code_of(stop.reason);
529
- }
530
- var run_wake_finish = {
531
- finish,
532
- record_failure,
533
- stop_body,
534
- warning_body
535
- };
536
-
537
- // scripts/run/wake/run-wake-ports.ts
538
- import { randomUUID } from "node:crypto";
539
-
540
- // scripts/run/run-step-section-driver.ts
541
- var { DRIVER_SECTIONS, LOOP } = run_step_section_table;
542
- function carried_text(found, root) {
543
- return document_section_cli.section_text(found.document, found.heading, root) ?? `\`${found.document}\` \u2192 "${found.heading}"`;
544
- }
545
- function driver_sections(verdict, root = process.cwd()) {
546
- const found = DRIVER_SECTIONS.find(([prefix]) => verdict.startsWith(prefix));
547
- return (found?.[1] ?? [LOOP]).map((section) => carried_text(section, root)).join("\n");
548
- }
549
- var run_step_section_driver = { driver_sections };
550
-
551
- // scripts/run/wake/run-wake-resume.ts
552
- var RESUME_PREFIX = "resume: ";
553
- var OWNER_FLAG = "--owner";
554
- var DROPPED_FLAGS = /* @__PURE__ */ new Set([OWNER_FLAG, "--active"]);
555
- var SUFFIX = ".resume";
556
- var SUCCESS = 0;
557
- function resume_of(out) {
558
- return out.split("\n").find((line) => line.startsWith(RESUME_PREFIX));
559
- }
560
- function is_dropped(flags, index) {
561
- return [flags[index], flags[index - 1]].some(
562
- (flag) => flag !== void 0 && DROPPED_FLAGS.has(flag)
563
- );
564
- }
565
- function state_flags(line) {
566
- const flags = line.slice(RESUME_PREFIX.length).split(" ");
567
- if (!flags.includes(OWNER_FLAG) || backlog_drive_args.parse(flags) === void 0) return void 0;
568
- return flags.filter((_flag, index) => !is_dropped(flags, index));
569
- }
570
- function is_valid(line) {
571
- return state_flags(line) !== void 0;
572
- }
573
- function resumed_args(base, line) {
574
- const state = line === void 0 ? void 0 : state_flags(line);
575
- return state === void 0 ? void 0 : [...base, ...state];
576
- }
577
- function key_of(carry) {
578
- return `${carry.started_at} ${carry.invocation}`;
579
- }
580
- function resume_path(target) {
581
- return `${target}${SUFFIX}`;
582
- }
583
- function stored(target, carry) {
584
- const [key, line] = stamp_file.read_stamp_text(resume_path(target))?.split("\n") ?? [];
585
- return key === key_of(carry) ? line : void 0;
586
- }
587
- function remember(target, carry, result) {
588
- if (result.code !== SUCCESS) return;
589
- const line = resume_of(result.out);
590
- const source = resume_path(target);
591
- if (line === void 0) stamp_file.remove_stamp(source);
592
- else stamp_file.replace_text_stamp(source, `${key_of(carry)}
593
- ${line}`);
594
- }
595
- function name_beside(target, carry, pid) {
596
- const line = stored(target, carry);
597
- if (line === void 0) return;
598
- const flags = backlog_drive_args.beside_flags(pid, process_identity.read_start(pid));
599
- stamp_file.replace_text_stamp(resume_path(target), `${key_of(carry)}
600
- ${line} ${flags.join(" ")}`);
601
- }
602
- var run_wake_resume = { is_valid, name_beside, remember, resume_of, resumed_args, stored };
603
-
604
- // scripts/run/wake/run-wake-driver.ts
605
- var SUCCESS2 = 0;
606
- var FIRST_LINE = 0;
607
- var DETAILS_TAIL_LENGTH = 2048;
608
- var TRUNCATION_MARK = "... ";
609
- var ERROR_PREFIX = "error ";
610
- var { WINDOW_MINUTES } = run_wake_window;
611
- var WINDOW_VERDICT = "window";
612
- var { TRIAGE_VERDICT } = epic_triage;
613
- function driver_args(invocation) {
614
- const rebuilt = run_invocation.rebuild(invocation);
615
- if (rebuilt !== invocation) return void 0;
616
- const named_count = run_invocation.issue_numbers(rebuilt)?.length ?? 0;
617
- return [
618
- "backlog:drive",
619
- "--owner",
620
- String(process.pid),
621
- "--window",
622
- String(WINDOW_MINUTES),
623
- ...rebuilt.split(" ").slice(1 + named_count)
624
- ];
625
- }
626
- function is_final_stop(verdict, read) {
627
- return verdict?.startsWith("stop") === true && read.kind === "none";
628
- }
629
- function details_tail(details) {
630
- return details.length > DETAILS_TAIL_LENGTH ? `${TRUNCATION_MARK}${details.slice(-DETAILS_TAIL_LENGTH)}` : details;
631
- }
632
- var ALREADY_CLAIMED = "the carry record is already this session's, so run no pnpm josh run:carry --begin;";
633
- var HAND_BACK = "then end the turn, which hands the loop back";
634
- var NEXT_BY_VERDICT = [
635
- [
636
- "retrospective",
637
- `run what pnpm josh run:step prints (the retrospective below), close it with pnpm josh run:carry --retrospective --summary "<result>", ${HAND_BACK}`
638
- ],
639
- [
640
- "merge human-review",
641
- "stop the run, because the child stopped before its commit for a person (the section below)"
642
- ],
643
- ["epic #", `follow the named-issue sections below, ${HAND_BACK}`]
644
- ];
645
- var NEXT_DEFAULT = `act on the result by the sections below, ${HAND_BACK}`;
646
- var NEXT_BESIDE = "\nNext: the carry record stays the supervisor's, whose driver keeps collecting and filling lanes beside this session, so run no pnpm josh run:carry; act on the result by the sections below, then end the turn";
647
- function next_move(verdict) {
648
- if (verdict === TRIAGE_VERDICT) return NEXT_BESIDE;
649
- const found = NEXT_BY_VERDICT.find(([prefix]) => verdict.startsWith(prefix));
650
- return `
651
- Next: ${ALREADY_CLAIMED} ${found?.[1] ?? NEXT_DEFAULT}`;
652
- }
653
- function handoff_material(verdict, resume, details) {
654
- const context = details === "" ? "" : `
655
- Details: ${details_tail(details)}`;
656
- const epic = verdict.startsWith("epic #") ? "\nThe named item is an epic. Follow backlogrun-steps.md named epic procedure; do not launch the epic root as a fullrun child. After all children merge or park, record the root with pnpm josh run:carry --done <epic-number> before continuing to the next named item." : "";
657
- const sections = `
658
- ${run_step_section_driver.driver_sections(verdict)}`;
659
- return `Driver result: ${verdict}
660
- ${resume}${epic}${next_move(verdict)}${sections}${context}`;
661
- }
662
- function judged(verdict, resume, details) {
663
- if (!run_wake_resume.is_valid(resume)) {
664
- return { kind: "failed", note: `backlog:drive returned an invalid resume line: ${resume}` };
665
- }
666
- const kind = verdict === TRIAGE_VERDICT ? "triage" : "judgment";
667
- return { kind, material: handoff_material(verdict, resume, details) };
668
- }
669
- function driver_result(out, read, details = "") {
670
- const lines = out.split("\n");
671
- const verdict = lines[FIRST_LINE];
672
- if (is_final_stop(verdict, read)) return { kind: "finished" };
673
- const resume = run_wake_resume.resume_of(out);
674
- if (verdict === void 0 || resume === void 0) {
675
- return { kind: "failed", note: `backlog:drive returned an incomplete result: ${out}` };
676
- }
677
- return judged(verdict, resume, details);
678
- }
679
- function cause_of(out) {
680
- const errors = out.split("\n").filter((line) => line.startsWith(ERROR_PREFIX));
681
- return errors.length > 0 ? errors.join("\n") : details_tail(out);
682
- }
683
- function failure_note(result) {
684
- return [cause_of(result.out), details_tail(result.err ?? "")].filter(Boolean).join("\n");
685
- }
686
- function read_result(result, target) {
687
- if (result === void 0) return { kind: "released" };
688
- if (result.code !== SUCCESS2) return { kind: "failed", note: failure_note(result) };
689
- return driver_result(result.out, run_carry.read_carry(target), result.err);
690
- }
691
- function claim_record(target, invocation) {
692
- const current = run_carry.read_carry(target);
693
- if (current.kind !== "carried" || current.carry.invocation !== invocation) return false;
694
- if (current.carry.is_handed_off !== true && run_carry.is_held_by_another(current.carry)) {
695
- return false;
696
- }
697
- const owner = {
698
- ...run_carry.owner_of(process.pid),
699
- provider: current.carry.scheduler_provider
700
- };
701
- return run_carry.adopt_carry(target, current.carry, owner) !== void 0;
702
- }
703
- var RERUN_VERDICTS = ["merge busy", "merge retry"];
704
- var RERUN_LIMIT = 10;
705
- var RERUN_PAUSE_MS = 6e4;
706
- async function pause(ms) {
707
- await new Promise((resolve) => {
708
- setTimeout(resolve, ms);
709
- });
710
- }
711
- function is_verdict(result, entries) {
712
- const verdict = result.out.split("\n", 1)[FIRST_LINE] ?? "";
713
- return result.code === SUCCESS2 && entries.some((entry) => verdict === entry || verdict.startsWith(`${entry} `));
714
- }
715
- function rerun_args(pass, result, remaining) {
716
- const is_left = remaining > 0;
717
- if (!is_left || !is_verdict(result, RERUN_VERDICTS)) return void 0;
718
- return run_wake_resume.resumed_args(pass.base, run_wake_resume.resume_of(result.out));
719
- }
720
- async function run_driver(pass, args, remaining) {
721
- const result = await josh_command.josh_run(args, true);
722
- run_wake_resume.remember(pass.target, pass.carry, result);
723
- if (is_verdict(result, [WINDOW_VERDICT])) return void 0;
724
- const next = rerun_args(pass, result, remaining);
725
- if (next === void 0) return result;
726
- await pass.wait(RERUN_PAUSE_MS);
727
- if (run_carry.read_carry(pass.target).kind !== "carried") return void 0;
728
- return await run_driver(pass, next, remaining - 1);
729
- }
730
- async function deferred_triage(result, wait, is_parent_planning) {
731
- if (result === void 0 || !is_verdict(result, [TRIAGE_VERDICT]) || !is_parent_planning()) {
732
- return result;
733
- }
734
- await wait(RERUN_PAUSE_MS);
735
- return void 0;
736
- }
737
- async function announced(result) {
738
- if (result.kind === "judgment") await run_event_setup.emit(run_event_setup.STAGE.JUDGING);
739
- return result;
740
- }
741
- function never_planning() {
742
- return false;
743
- }
744
- function refused(note) {
745
- return { kind: "failed", note };
746
- }
747
- function prepare(target, wait) {
748
- const read = run_carry.read_carry(target);
749
- if (read.kind !== "carried") return refused("The carry record changed.");
750
- const base = driver_args(read.carry.invocation);
751
- if (base === void 0) return refused("The carried invocation is invalid.");
752
- const kept = run_wake_resume.stored(target, read.carry);
753
- const args = kept === void 0 ? base : run_wake_resume.resumed_args(base, kept);
754
- if (args === void 0) return refused("The kept driver resume line is invalid.");
755
- return { kind: "ready", pass: { target, carry: read.carry, base, wait }, args };
756
- }
757
- async function drive_with(target, wait, is_parent_planning) {
758
- const prepared = prepare(target, wait);
759
- if (prepared.kind === "failed") return prepared;
760
- if (!claim_record(target, prepared.pass.carry.invocation)) {
761
- return { kind: "failed", note: "The driver could not claim the carry record." };
762
- }
763
- await run_event_setup.emit(run_event_setup.STAGE.HANDING_OFF);
764
- const result = await deferred_triage(
765
- await run_driver(prepared.pass, prepared.args, RERUN_LIMIT),
766
- wait,
767
- is_parent_planning
768
- );
769
- return await announced(read_result(result, target));
770
- }
771
- async function drive(target, wait = pause, is_parent_planning = never_planning) {
772
- return await drive_with(target, wait, is_parent_planning);
773
- }
774
- var run_wake_driver = { RERUN_LIMIT, drive, driver_args, driver_result };
775
-
776
- // scripts/run/wake/run-wake-ports.ts
777
- var UNSAFE_INVOCATION_NOTE = "the carried invocation is not one this supervisor can continue \u2014 it is neither a backlogrun nor a queue it can rebuild, or it carries text that may not be passed to a command line";
778
- function note_to_stderr(note) {
779
- console.error(`wake: ${note}`);
780
- }
781
- function say_session_running(context) {
782
- run_event_setup.emit_to(context.event_target, run_event_setup.STAGE.SESSION, /* @__PURE__ */ new Date());
783
- }
784
- function session_owner(context, profile, session_id) {
785
- return run_wake_handoff.session_owner({
786
- worktree: context.worktree,
787
- session_id,
788
- provider: profile.provider
789
- });
790
- }
791
- function launch_session(context, invocation, profile, session) {
792
- const built = run_wake_session.wake_argv(invocation, profile, context.worktree, session);
793
- if (built === void 0) return { kind: "failed", note: UNSAFE_INVOCATION_NOTE };
794
- if (built.kind === "rejected") return { kind: "failed", note: built.note };
795
- const target = { cwd: context.worktree, env: session.environment, log_path: context.log_target };
796
- return run_wake_session.launch({ argv: built.argv, ...target, profile }, note_to_stderr);
797
- }
798
- function wake_beside(context, invocation, profile, session) {
799
- const result = launch_session(context, invocation, profile, session);
800
- const read = run_carry.read_carry(context.carry_target);
801
- if (result.kind === "launched" && read.kind === "carried") {
802
- run_wake_resume.name_beside(context.carry_target, read.carry, result.pid);
803
- }
804
- return result;
805
- }
806
- function wake_session(context, invocation, profile, session) {
807
- const result = launch_session(context, invocation, profile, session);
808
- if (result.kind === "launched") {
809
- run_wake_handoff.hand_on(
810
- context.carry_target,
811
- session_owner(context, profile, session.id),
812
- result.pid
813
- );
814
- say_session_running(context);
815
- }
816
- return result;
817
- }
818
- async function retry_closes2() {
819
- await lane_close.retry_closes();
820
- const notes = await lane_withdraw_closed.withdraw_closed();
821
- for (const note of notes) note_to_stderr(note);
822
- }
823
- function is_session_at_work(carry) {
824
- return run_carry.is_held_by_another(carry) && run_wake_handoff.has_session_begun(carry);
825
- }
826
- function session_ports(context, profile) {
827
- return {
828
- new_session_id: () => randomUUID(),
829
- hand_off: (session_id) => {
830
- run_wake_handoff.hand_to(context.carry_target, session_owner(context, profile, session_id));
831
- },
832
- wake: (invocation, session_id, material) => wake_session(context, invocation, profile, {
833
- id: session_id,
834
- material,
835
- environment: run_headless.environment()
836
- }),
837
- wake_beside: (invocation, session_id, material) => wake_beside(context, invocation, profile, {
838
- id: session_id,
839
- material,
840
- environment: run_headless.beside_environment()
841
- })
842
- };
843
- }
844
- function ports_for(context, profile, is_code_stale = async () => false) {
845
- function is_planning() {
846
- return backlogrun_launch.running_parent(context.git_directory) !== void 0;
847
- }
848
- return {
849
- is_code_stale,
850
- read_carry: () => run_carry.read_carry(context.carry_target),
851
- is_owner_live: (read) => read.kind === "carried" && is_session_at_work(read.carry),
852
- has_work: async () => true,
853
- ...session_ports(context, profile),
854
- drive: async () => await run_wake_driver.drive(context.carry_target, poll.sleep, is_planning),
855
- sleep: poll.sleep,
856
- now: () => /* @__PURE__ */ new Date(),
857
- retry_closes: retry_closes2
858
- };
859
- }
860
- var run_wake_ports = { note_to_stderr, ports_for };
861
-
862
- // scripts/lane/claude-lane-broker.ts
863
- var SCAN_INTERVAL_MS = 5e3;
864
- function is_served(lane) {
865
- return !lane.is_stranded && !lane_relaunch.is_openai_lane(lane);
866
- }
867
- async function hold_server(lane, held) {
868
- try {
869
- await lane_session_broker.with_server(lane, async () => {
870
- await held;
871
- });
872
- } catch (error) {
873
- error_text.trace_swallowed("claude_lane_broker.hold_server", error);
874
- }
875
- }
876
- function serve_lane(lane) {
877
- const release = { stop: () => void 0 };
878
- const held = new Promise((resolve) => {
879
- release.stop = resolve;
880
- });
881
- return { stop: release.stop, done: hold_server(lane, held) };
882
- }
883
- async function forget_when_done(served, issue, entry) {
884
- await entry.done;
885
- if (served.get(issue) === entry) served.delete(issue);
886
- }
887
- function close_gone(served, open) {
888
- for (const [issue, entry] of served) {
889
- if (open.has(issue)) {
890
- continue;
891
- }
892
- entry.stop();
893
- void forget_when_done(served, issue, entry);
894
- }
895
- }
896
- function open_new(served, lanes) {
897
- for (const lane of lanes) {
898
- if (!served.has(lane.issue)) served.set(lane.issue, serve_lane(lane));
899
- }
900
- }
901
- async function scan(served, list2) {
902
- try {
903
- const listed = await list2();
904
- const lanes = listed.filter((lane) => is_served(lane));
905
- close_gone(served, new Set(lanes.map((lane) => lane.issue)));
906
- open_new(served, lanes);
907
- } catch (error) {
908
- error_text.trace_swallowed("claude_lane_broker.scan", error);
909
- }
910
- }
911
- async function scan_after(previous, served, list2) {
912
- await previous;
913
- await scan(served, list2);
914
- }
915
- function start(list2 = lane_registry.list_lanes) {
916
- const served = /* @__PURE__ */ new Map();
917
- const state = { scanning: scan(served, list2) };
918
- const timer = setInterval(() => {
919
- state.scanning = scan_after(state.scanning, served, list2);
920
- }, SCAN_INTERVAL_MS).unref();
921
- return async () => {
922
- clearInterval(timer);
923
- await state.scanning;
924
- close_gone(served, /* @__PURE__ */ new Set());
925
- await Promise.all(
926
- [...served.values()].map(async (entry) => {
927
- await entry.done;
928
- })
929
- );
930
- };
931
- }
932
- async function serve_during(run2, list2 = lane_registry.list_lanes) {
933
- const stop = start(list2);
934
- try {
935
- return await run2();
936
- } finally {
937
- await stop();
938
- }
939
- }
940
- var claude_lane_broker = { SCAN_INTERVAL_MS, serve_during, start };
941
-
942
- // scripts/run/wake/run-wake-restart.ts
943
- var RESTART_LIMIT = 3;
944
- function is_restartable(stop, restarts, ports) {
945
- return stop.reason === run_wake_loop.FAILED_REASON && restarts < RESTART_LIMIT && ports.is_resumable();
946
- }
947
- function restart_note(stop, restarts) {
948
- return `the supervisor failed (${stop.note ?? "no note"}); restarting it, ${String(restarts + 1)} of ${String(RESTART_LIMIT)}`;
949
- }
950
- function with_restart_count(stop, restarts) {
951
- if (restarts === 0 || stop.reason !== run_wake_loop.FAILED_REASON) return stop;
952
- return {
953
- ...stop,
954
- note: [stop.note, `after ${String(restarts)} automatic restarts`].filter(Boolean).join("\n")
955
- };
956
- }
957
- async function supervise(ports, restarts = 0) {
958
- const stop = await ports.pass();
959
- if (!is_restartable(stop, restarts, ports)) return with_restart_count(stop, restarts);
960
- ports.note(restart_note(stop, restarts));
961
- await ports.pause();
962
- return await supervise(ports, restarts + 1);
963
- }
964
- var run_wake_restart = { RESTART_LIMIT, supervise };
965
-
966
- // scripts/run/wake/run-wake-supervise.ts
967
- function restart_ports(target) {
968
- const { context, ports, interval_ms } = target;
969
- return {
970
- pass: async () => await run_wake_loop.run_loop(context.wake_target, ports, interval_ms),
971
- is_resumable: () => run_carry.read_carry(context.carry_target).kind === "carried",
972
- pause: async () => {
973
- await poll.sleep(interval_ms);
974
- },
975
- note: target.note
976
- };
977
- }
978
- async function supervise2(target) {
979
- return await claude_lane_broker.serve_during(
980
- async () => await run_wake_restart.supervise(restart_ports(target))
981
- );
982
- }
983
- var run_wake_supervise = { supervise: supervise2 };
984
-
985
- // scripts/run/wake/run-wake-cli.ts
986
- var __josh_meta = import.meta;
987
- var __josh_source_url = new URL("../../scripts/run/wake/run-wake-cli.ts", __josh_meta.url).href;
988
- var __josh_source_filename = __josh_file_path(__josh_source_url);
989
- var __josh_source_dirname = __josh_dirname(__josh_source_filename);
990
- var SUCCESS_EXIT_CODE2 = 0;
991
- var FAILURE_EXIT_CODE2 = 1;
992
- var ONE_GROUP = 1;
993
- var MAX_INTERVAL_SECONDS = 3600;
994
- var SCRIPT_PATH = fileURLToPath(new URL("run-wake-main.ts", __josh_source_url));
995
- var STARTED_VERDICT = "started";
996
- var RUNNING_VERDICT = "running";
997
- var STOPPED_VERDICT = "stopped";
998
- var SUPERVISING_VERDICT = "supervising";
999
- var STALE_VERDICT = "stale";
1000
- var NONE_VERDICT = "none";
1001
- var UNKNOWN_VERDICT = "unknown";
1002
- var FAILED_VERDICT = "failed";
1003
- var NO_PROFILE_NOTE = "the scheduler profile could not be resolved";
1004
- var RELOAD_FAILED_NOTE = "The supervisor's code changed, but the supervisor to replace it did not start";
1005
- var TAKEOVER_NOTES = {
1006
- died: "it exited before it claimed the run",
1007
- unclaimed: "it did not claim the run in time, so it was stopped"
1008
- };
1009
- var SUPERSEDED_RESULT = "superseded";
1010
- var REMOVED_RESULT = "removed";
1011
- var STOPPED_STOP = { reason: "stopped", note: void 0 };
1012
- var SUPERSEDED_NOTE = "another supervisor now holds the record, so it was left alone; this loop is the superseded one";
1013
- var USAGE = "Usage: josh run:wake --start | --list | --stop | --loop [--interval <seconds>]";
1014
- var OPTIONS = {
1015
- interval: { type: "string" },
1016
- list: { type: "boolean" },
1017
- loop: { type: "boolean" },
1018
- start: { type: "boolean" },
1019
- stop: { type: "boolean" }
1020
- };
1021
- function report(verdict, exit_code = SUCCESS_EXIT_CODE2) {
1022
- console.info(verdict);
1023
- return exit_code;
1024
- }
1025
- function usage() {
1026
- console.error(USAGE);
1027
- return FAILURE_EXIT_CODE2;
1028
- }
1029
- var { note_to_stderr: note_to_stderr2 } = run_wake_ports;
1030
- function to_interval_ms(value) {
1031
- if (typeof value !== "string") return run_wake_window.PASS_INTERVAL_MS;
1032
- const seconds = cli_flags.to_positive(value);
1033
- return seconds === void 0 || seconds > MAX_INTERVAL_SECONDS ? void 0 : seconds * MS_PER_SECOND;
1034
- }
1035
- function group_count(values) {
1036
- const verbs = [values.start, values.stop, values.list, values.loop];
1037
- return verbs.filter((flag) => flag === true).length;
1038
- }
1039
- function context_of2(directory) {
1040
- return run_wake_describe.context_of(directory, note_to_stderr2);
1041
- }
1042
- async function resolve_context() {
1043
- const directory = await run_carry.repository_directory();
1044
- return directory === void 0 ? void 0 : context_of2(directory);
1045
- }
1046
- function refuse_without_carry(kind) {
1047
- console.error(`No carried run here to supervise \u2014 \`pnpm josh run:carry --json\` says ${kind}.`);
1048
- return report(NONE_VERDICT, FAILURE_EXIT_CODE2);
1049
- }
1050
- function launch_supervisor(context, interval, profile) {
1051
- if (profile === void 0) return { kind: "failed", note: NO_PROFILE_NOTE };
1052
- const argv2 = run_wake_session.supervisor_argv(SCRIPT_PATH, interval);
1053
- return run_wake_session.launch(
1054
- {
1055
- argv: argv2,
1056
- cwd: context.worktree,
1057
- log_path: context.log_target,
1058
- env: run_wake_session.supervisor_environment(profile)
1059
- },
1060
- note_to_stderr2
1061
- );
1062
- }
1063
- function start_for_launch(git_directory, provider) {
1064
- const resolved = run_wake_session.chosen_profile(provider);
1065
- if (resolved.kind === "rejected") return { kind: "failed", note: resolved.note };
1066
- return launch_supervisor(context_of2(git_directory), void 0, resolved.profile);
1067
- }
1068
- function spawn_supervisor(context, interval, profile) {
1069
- const result = launch_supervisor(context, interval, profile);
1070
- if (result.kind === "failed") {
1071
- console.error(`Could not start the supervisor: ${result.note}`);
1072
- return report(FAILED_VERDICT, FAILURE_EXIT_CODE2);
1073
- }
1074
- console.error(
1075
- `Supervisor started as process ${String(result.pid)}. Stop it with \`${run_wake_describe.STOP_COMMAND}\`.`
1076
- );
1077
- return report(STARTED_VERDICT);
1078
- }
1079
- function start2(context, interval) {
1080
- const read = run_carry.read_carry(context.carry_target);
1081
- if (read.kind !== "carried") return refuse_without_carry(read.kind);
1082
- const existing = run_wake.read_wake(context.wake_target);
1083
- if (existing !== void 0 && run_wake.is_supervisor_live(existing)) {
1084
- console.error(run_wake_describe.describe_wake_cited(existing, context));
1085
- return report(RUNNING_VERDICT);
1086
- }
1087
- return spawn_supervisor(context, interval, run_wake_session.scheduler_profile());
1088
- }
1089
- function restart_supervisor(git_directory, profile) {
1090
- const chosen = profile ?? run_wake_session.scheduler_profile();
1091
- return spawn_supervisor(context_of2(git_directory), void 0, chosen);
1092
- }
1093
- function tidy_up(target) {
1094
- const tidied = run_wake.tidy_own_wake(target);
1095
- if (tidied === SUPERSEDED_RESULT) note_to_stderr2(SUPERSEDED_NOTE);
1096
- return tidied;
1097
- }
1098
- function code_check(is_stale) {
1099
- return async () => !lane_session_broker.is_answering() && await is_stale();
1100
- }
1101
- function reload_failed(note) {
1102
- return { reason: run_wake_loop.FAILED_REASON, note: `${RELOAD_FAILED_NOTE}: ${note}` };
1103
- }
1104
- function as_not_handed_on(stop) {
1105
- return stop.reason === run_wake_loop.RELOAD_REASON ? STOPPED_STOP : stop;
1106
- }
1107
- async function reload(context, interval_ms, profile) {
1108
- const interval = String(Math.round(interval_ms / MS_PER_SECOND));
1109
- const result = launch_supervisor(context, interval, profile);
1110
- if (result.kind === "failed") return reload_failed(result.note);
1111
- const ports = run_wake_takeover.ports_of(context.wake_target);
1112
- const takeover = await run_wake_takeover.await_takeover(result.pid, ports);
1113
- if (takeover !== "taken") return reload_failed(TAKEOVER_NOTES[takeover]);
1114
- await run_event_stream_emit.emit(
1115
- run_event_stream.EVENT_KIND.NOTE,
1116
- `The supervisor's code changed on main, so process ${String(process.pid)} handed the run to process ${String(result.pid)} on the new code.`
1117
- );
1118
- return { reason: run_wake_loop.RELOAD_REASON, note: void 0 };
1119
- }
1120
- async function supervised(context, interval_ms, profile) {
1121
- const source = run_wake_code.source_of(context.worktree, SCRIPT_PATH);
1122
- const is_stale = code_check(await run_wake_code.watch(source, lane_session_broker.take_refusal));
1123
- const ports = run_wake_ports.ports_for(context, profile, is_stale);
1124
- const stop = await run_wake_supervise.supervise({
1125
- context,
1126
- ports,
1127
- interval_ms,
1128
- note: note_to_stderr2
1129
- });
1130
- if (tidy_up(context.wake_target) !== REMOVED_RESULT) return as_not_handed_on(stop);
1131
- if (stop.reason !== run_wake_loop.RELOAD_REASON) return stop;
1132
- return await reload(context, interval_ms, profile);
1133
- }
1134
- async function loop(context, interval_ms) {
1135
- const profile = run_wake_session.scheduler_profile();
1136
- if (profile === void 0) return report(FAILED_VERDICT, FAILURE_EXIT_CODE2);
1137
- const claimed = await run_wake_await.claim_run(context, profile, interval_ms);
1138
- if (claimed.kind === "running") return report(RUNNING_VERDICT);
1139
- if (claimed.kind === "refused") return refuse_without_carry(claimed.carry_kind);
1140
- run_wake_session.keep_awake(process.pid);
1141
- const stop = await supervised(context, interval_ms, claimed.wake.profile ?? profile);
1142
- return await run_wake_finish.finish(stop, context, claimed.carry.started_at);
1143
- }
1144
- function list(context) {
1145
- const wake = run_wake.read_wake(context.wake_target);
1146
- if (wake === void 0) return report(NONE_VERDICT);
1147
- console.error(run_wake_describe.describe_wake_cited(wake, context));
1148
- return report(run_wake.is_supervisor_live(wake) ? SUPERVISING_VERDICT : STALE_VERDICT);
1149
- }
1150
- function stop_supervisor(context) {
1151
- const stopped2 = run_wake_stop.stop(context.wake_target);
1152
- return report(stopped2 === void 0 ? NONE_VERDICT : STOPPED_VERDICT);
1153
- }
1154
- async function dispatch(values, context, interval_ms) {
1155
- if (values.loop === true) return await loop(context, interval_ms);
1156
- if (values.start === true) return start2(context, cli_flags.string_of(values.interval));
1157
- if (values.stop === true) return stop_supervisor(context);
1158
- return list(context);
1159
- }
1160
- async function run(argv2) {
1161
- const values = cli_flags.values_of(argv2, OPTIONS);
1162
- if (values === void 0 || group_count(values) !== ONE_GROUP) return usage();
1163
- const interval_ms = to_interval_ms(values.interval);
1164
- if (interval_ms === void 0) return usage();
1165
- const context = await resolve_context();
1166
- if (context === void 0) return report(UNKNOWN_VERDICT, FAILURE_EXIT_CODE2);
1167
- return await dispatch(values, context, interval_ms);
1168
- }
1169
- var run_wake_cli = {
1170
- FAILED_VERDICT,
1171
- NONE_VERDICT,
1172
- RUNNING_VERDICT,
1173
- SCRIPT_PATH,
1174
- STALE_VERDICT,
1175
- STOPPED_VERDICT,
1176
- SUPERVISING_VERDICT,
1177
- UNKNOWN_VERDICT,
1178
- USAGE,
1179
- RELOAD_FAILED_NOTE,
1180
- reload,
1181
- restart_supervisor,
1182
- run,
1183
- start_for_launch,
1184
- supervised
1185
- };
1186
-
1187
- export {
1188
- run_wake_cli
1189
- };