@joshuafolkken/kit 1.3044.0 → 1.3099.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 (1250) 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/retrospective.md +2 -1
  7. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  8. package/.github/workflows/ci.yml +0 -20
  9. package/.github/workflows/pr-classification.yml +0 -5
  10. package/.github/workflows/publish.yml +0 -1
  11. package/.github/workflows/sonar-qube.yml +0 -5
  12. package/README.md +2 -0
  13. package/SECURITY.md +2 -1
  14. package/dist/.inputs-verified.json +1 -1
  15. package/dist/commands/adopt.js +29 -20
  16. package/dist/commands/auto-ok-judge-cli.js +43 -33
  17. package/dist/commands/auto-ok-main.js +73 -74
  18. package/dist/commands/backlog-budget-main.js +5 -6
  19. package/dist/commands/backlog-drive-cli.js +286 -305
  20. package/dist/commands/backlog-next-main.js +111 -108
  21. package/dist/commands/backlog-offer-main.js +148 -112
  22. package/dist/commands/backlog-plan-cli.js +123 -120
  23. package/dist/commands/backlog-triage-cli.js +131 -128
  24. package/dist/commands/backlogrun-cli.js +274 -264
  25. package/dist/commands/behavior-cli.js +23 -26
  26. package/dist/commands/bytes-command.js +56 -59
  27. package/dist/commands/cases-cli.js +4 -5
  28. package/dist/commands/check-commit-message-main.js +3 -4
  29. package/dist/commands/check-related.js +125 -119
  30. package/dist/commands/chunk-26JL4UU4.js +365 -0
  31. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  32. package/dist/commands/chunk-2CKJODCK.js +245 -0
  33. package/dist/commands/chunk-2CNVIA35.js +335 -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-2SA3W4JF.js +41 -0
  41. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  42. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  43. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  44. package/dist/commands/chunk-33TAOZUE.js +29 -0
  45. package/dist/commands/chunk-36XHHYNU.js +158 -0
  46. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  47. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  48. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  49. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  50. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  51. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  52. package/dist/commands/chunk-3LUPGBW4.js +137 -0
  53. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  54. package/dist/commands/chunk-3PCUERXE.js +19 -0
  55. package/dist/commands/chunk-3U6A5WON.js +173 -0
  56. package/dist/commands/chunk-3VLDFM5I.js +426 -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-4HB7NWXP.js +263 -0
  66. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  67. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  68. package/dist/commands/chunk-4IDINPBE.js +525 -0
  69. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  70. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  71. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  72. package/dist/commands/chunk-5AZTSESD.js +114 -0
  73. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  74. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  75. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  76. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  77. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  78. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  79. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  80. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  81. package/dist/commands/chunk-5VQCL33M.js +46 -0
  82. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  83. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  84. package/dist/commands/chunk-6AHAY5VZ.js +69 -0
  85. package/dist/commands/chunk-6FN37DER.js +330 -0
  86. package/dist/commands/chunk-6JD4VNO4.js +124 -0
  87. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  88. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  89. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  90. package/dist/commands/chunk-6O45F6YI.js +86 -0
  91. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  92. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  93. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  94. package/dist/commands/chunk-736NECRD.js +16 -0
  95. package/dist/commands/chunk-77LEKVEE.js +32 -0
  96. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  97. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  98. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  99. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  100. package/dist/commands/chunk-7HYYHCTN.js +402 -0
  101. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  102. package/dist/commands/chunk-7K5ITPHR.js +338 -0
  103. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  104. package/dist/commands/chunk-7ULYLGUK.js +492 -0
  105. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  106. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  107. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  108. package/dist/commands/chunk-ABM2MZBF.js +161 -0
  109. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  110. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  111. package/dist/commands/chunk-AU563VKH.js +75 -0
  112. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  113. package/dist/commands/chunk-AV26CMY6.js +304 -0
  114. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  115. package/dist/commands/chunk-B545ENGY.js +214 -0
  116. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  117. package/dist/commands/chunk-B73IIRMS.js +207 -0
  118. package/dist/commands/chunk-BBLEC4YQ.js +109 -0
  119. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  120. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  121. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  122. package/dist/commands/chunk-BML6MEUB.js +326 -0
  123. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  124. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  125. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  126. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  127. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  128. package/dist/commands/chunk-BVUL57IX.js +139 -0
  129. package/dist/commands/chunk-C7FGDZWP.js +224 -0
  130. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  131. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  132. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  133. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  134. package/dist/commands/chunk-CEADAQIL.js +170 -0
  135. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  136. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  137. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  138. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  139. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  140. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  141. package/dist/commands/chunk-DACNQAXC.js +20 -0
  142. package/dist/commands/chunk-DDOS32JU.js +74 -0
  143. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  144. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  145. package/dist/commands/chunk-DFEXNB44.js +159 -0
  146. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  147. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  148. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  149. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  150. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  151. package/dist/commands/chunk-DOYNK72G.js +81 -0
  152. package/dist/commands/chunk-DS53UUDH.js +679 -0
  153. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  154. package/dist/commands/chunk-DURHGVRC.js +33 -0
  155. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  156. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  157. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  158. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  159. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  160. package/dist/commands/chunk-EHPTXSAT.js +315 -0
  161. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  162. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  163. package/dist/commands/chunk-EPICTV2P.js +46 -0
  164. package/dist/commands/chunk-ES42XPAD.js +123 -0
  165. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  166. package/dist/commands/chunk-EVVQJJFV.js +507 -0
  167. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  168. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  169. package/dist/commands/chunk-F2U46HAE.js +52 -0
  170. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  171. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  172. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  173. package/dist/commands/chunk-F57LACNC.js +84 -0
  174. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  175. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  176. package/dist/commands/chunk-FA7CN75F.js +160 -0
  177. package/dist/commands/chunk-FDASVHZD.js +241 -0
  178. package/dist/commands/chunk-FEYZ575X.js +278 -0
  179. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  180. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  181. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  182. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  183. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  184. package/dist/commands/chunk-FTAWHAI7.js +170 -0
  185. package/dist/commands/chunk-G2DNS74C.js +53 -0
  186. package/dist/commands/chunk-G3BBCAAH.js +90 -0
  187. package/dist/commands/chunk-G75GWNNY.js +101 -0
  188. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  189. package/dist/commands/chunk-GABDPTDK.js +907 -0
  190. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  191. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  192. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  193. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  194. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  195. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  196. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  197. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  198. package/dist/commands/chunk-GOY5JECO.js +130 -0
  199. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  200. package/dist/commands/chunk-HALHQILI.js +51 -0
  201. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  202. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  203. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  204. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  205. package/dist/commands/chunk-HHS3LYLV.js +30 -0
  206. package/dist/commands/chunk-HQZ65PJE.js +167 -0
  207. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  208. package/dist/commands/chunk-HSZECERZ.js +271 -0
  209. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  210. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  211. package/dist/commands/chunk-IAGENI2U.js +42 -0
  212. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  213. package/dist/commands/chunk-IONGJJYM.js +179 -0
  214. package/dist/commands/chunk-IP23WOWP.js +126 -0
  215. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  216. package/dist/commands/chunk-IXZZSST7.js +459 -0
  217. package/dist/commands/chunk-IY3DSDRW.js +173 -0
  218. package/dist/commands/chunk-J2RUI4KN.js +47 -0
  219. package/dist/commands/chunk-J3PCRUVY.js +1223 -0
  220. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  221. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  222. package/dist/commands/chunk-JEYITIWB.js +423 -0
  223. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  224. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  225. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  226. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  227. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  228. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  229. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  230. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  231. package/dist/commands/chunk-JU2MAYQ3.js +997 -0
  232. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  233. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  234. package/dist/commands/chunk-K6P5PISC.js +114 -0
  235. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  236. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  237. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  238. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  239. package/dist/commands/chunk-KJPZPTS4.js +245 -0
  240. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  241. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  242. package/dist/commands/chunk-KN46UC77.js +114 -0
  243. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  244. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  245. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  246. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  247. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  248. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  249. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  250. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  251. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  252. package/dist/commands/chunk-LE3M42CF.js +350 -0
  253. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  254. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  255. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  256. package/dist/commands/chunk-LL6G34MF.js +93 -0
  257. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  258. package/dist/commands/chunk-LS7P324N.js +72 -0
  259. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  260. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  261. package/dist/commands/chunk-M32UPB2D.js +110 -0
  262. package/dist/commands/chunk-M3UGRNNB.js +103 -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-MHF6BDQI.js +128 -0
  267. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  268. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  269. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  270. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  271. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  272. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  273. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  274. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  275. package/dist/commands/chunk-N36NZMAL.js +79 -0
  276. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  277. package/dist/commands/chunk-N4P64UIH.js +211 -0
  278. package/dist/commands/chunk-NABSSY4P.js +204 -0
  279. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  280. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  281. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  282. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  283. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  284. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  285. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  286. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  287. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  288. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  289. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  290. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  291. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  292. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  293. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  294. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  295. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  296. package/dist/commands/chunk-O45BX4EL.js +39 -0
  297. package/dist/commands/chunk-O46T4ANI.js +229 -0
  298. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  299. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  300. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  301. package/dist/commands/chunk-OHN3QARP.js +769 -0
  302. package/dist/commands/chunk-OKBZGLD5.js +393 -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-OZN4HOZT.js +74 -0
  309. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  310. package/dist/commands/chunk-P43GWYR6.js +185 -0
  311. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  312. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  313. package/dist/commands/chunk-PCZROH3R.js +100 -0
  314. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  315. package/dist/commands/chunk-PKXTISWR.js +58 -0
  316. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  317. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  318. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  319. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  320. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  321. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  322. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  323. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  324. package/dist/commands/chunk-QSBYULSS.js +100 -0
  325. package/dist/commands/chunk-QSJCZATC.js +18 -0
  326. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  327. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  328. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  329. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  330. package/dist/commands/chunk-QXBOECGL.js +272 -0
  331. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  332. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  333. package/dist/commands/chunk-R36VZIKU.js +53 -0
  334. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  335. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  336. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  337. package/dist/commands/chunk-RAQ3E6OT.js +258 -0
  338. package/dist/commands/chunk-RESNXNDG.js +54 -0
  339. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  340. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  341. package/dist/commands/chunk-RFXON3FK.js +25 -0
  342. package/dist/commands/chunk-RGEB5L37.js +66 -0
  343. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  344. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  345. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  346. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  347. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  348. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  349. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  350. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  351. package/dist/commands/chunk-RYKK75YT.js +289 -0
  352. package/dist/commands/chunk-S4JE63QE.js +704 -0
  353. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  354. package/dist/commands/chunk-S5GX3H4P.js +91 -0
  355. package/dist/commands/chunk-SC57VV6A.js +60 -0
  356. package/dist/commands/chunk-SD4EX75H.js +177 -0
  357. package/dist/commands/chunk-SJITWFNY.js +480 -0
  358. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  359. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  360. package/dist/commands/chunk-SOETJZWH.js +7672 -0
  361. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  362. package/dist/commands/chunk-SRTEE34O.js +93 -0
  363. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  364. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  365. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  366. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  367. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  368. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  369. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  370. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  371. package/dist/commands/chunk-TROCFVCU.js +45 -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-UUA63LCI.js +77 -0
  382. package/dist/commands/chunk-UUH3DE77.js +57 -0
  383. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  384. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  385. package/dist/commands/chunk-UY62WJV6.js +120 -0
  386. package/dist/commands/chunk-UZDKCGDC.js +198 -0
  387. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  388. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  389. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  390. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  391. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  392. package/dist/commands/chunk-VO25PMGS.js +58 -0
  393. package/dist/commands/chunk-VPRQFM2T.js +37 -0
  394. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  395. package/dist/commands/chunk-VUCDGQ6Y.js +260 -0
  396. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  397. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  398. package/dist/commands/chunk-W7X7MZZN.js +449 -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-WORHUJ6T.js +73 -0
  403. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  404. package/dist/commands/chunk-WR73HTRG.js +121 -0
  405. package/dist/commands/chunk-WRHMYSW7.js +36 -0
  406. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  407. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  408. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  409. package/dist/commands/chunk-WWLCQREY.js +225 -0
  410. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  411. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  412. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  413. package/dist/commands/chunk-XAEL24EG.js +66 -0
  414. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  415. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  416. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  417. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  418. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  419. package/dist/commands/chunk-YANDBVAT.js +430 -0
  420. package/dist/commands/chunk-YD7XK2TX.js +550 -0
  421. package/dist/commands/chunk-YEAE46TS.js +98 -0
  422. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  423. package/dist/commands/chunk-YJZAD4Z5.js +103 -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-YT5JR2CB.js +105 -0
  430. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  431. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  432. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  433. package/dist/commands/chunk-Z2NUK47W.js +1314 -0
  434. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  435. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  436. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  437. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  438. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  439. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  440. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  441. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  442. package/dist/commands/chunk-ZI3SABMH.js +347 -0
  443. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  444. package/dist/commands/chunk-ZJJLROJY.js +269 -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 +170 -159
  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 +1999 -1954
  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 +173 -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-XBDH2IOH.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 +543 -518
  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 +9 -7
  652. package/dist/hooks/stop-guard.js +970 -668
  653. package/dist/inputs.json +77 -68
  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/followup/git-followup-finish.ts +16 -1
  688. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  689. package/scripts/gate/change-scope-action.ts +2 -0
  690. package/scripts/gate/check-related-order.ts +6 -7
  691. package/scripts/gate/check-related.ts +18 -8
  692. package/scripts/gate/core-admission.ts +17 -30
  693. package/scripts/gate/core-budget-poll.ts +183 -0
  694. package/scripts/gate/core-budget-timing.ts +1 -1
  695. package/scripts/gate/core-budget.ts +24 -112
  696. package/scripts/gate/core-wait-record.ts +52 -7
  697. package/scripts/gate/machine-capacity.ts +6 -2
  698. package/scripts/gate/metrics-totals.ts +11 -0
  699. package/scripts/gate/path-glob.test.ts +18 -0
  700. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  701. package/scripts/gate/verification-inputs.ts +2 -1
  702. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  703. package/scripts/gh/gh-request-tally.ts +4 -0
  704. package/scripts/hooks/bash-revert.ts +79 -31
  705. package/scripts/hooks/format-edited-file.ts +6 -8
  706. package/scripts/hooks/implementation-shell.ts +3 -2
  707. package/scripts/init/distributed-paths.ts +18 -5
  708. package/scripts/init/init-actions.ts +16 -1
  709. package/scripts/init/init-bootstrap.ts +2 -0
  710. package/scripts/init/init-logic.ts +40 -8
  711. package/scripts/init/init.ts +11 -3
  712. package/scripts/issue/defect-rate-cli.ts +19 -13
  713. package/scripts/issue/issue-file-batch.ts +7 -3
  714. package/scripts/issue/issue-file-cli.ts +19 -6
  715. package/scripts/issue/issue-file-main.ts +6 -1
  716. package/scripts/issue/issue-file-pass.ts +17 -0
  717. package/scripts/issue/issue-file.ts +3 -0
  718. package/scripts/issue/issue-not-before.ts +9 -2
  719. package/scripts/issue/issue-observation-gate.ts +141 -0
  720. package/scripts/issue/issue-observation-prime.ts +83 -0
  721. package/scripts/issue/issue-publication-state.ts +61 -0
  722. package/scripts/issue/issue-publication.ts +144 -0
  723. package/scripts/issue/issue-sample-prime.ts +2 -0
  724. package/scripts/issue/issue-search-count.ts +26 -0
  725. package/scripts/issue/issue-search.ts +128 -3
  726. package/scripts/issue/issue-spill-cli.ts +4 -0
  727. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  728. package/scripts/josh/josh-commands-ai.ts +1 -1
  729. package/scripts/josh/josh-commands-development.ts +1 -1
  730. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  731. package/scripts/josh/josh-commands-run.ts +6 -1
  732. package/scripts/josh/josh-commands-ship.ts +5 -5
  733. package/scripts/josh/josh-run.ts +5 -2
  734. package/scripts/josh/shared-cache.ts +16 -1
  735. package/scripts/lane/lane-await.ts +15 -0
  736. package/scripts/lane/lane-cli.ts +2 -0
  737. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  738. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  739. package/scripts/lane/lane-dispatch.ts +44 -5
  740. package/scripts/lane/lane-early-push-count.ts +21 -0
  741. package/scripts/lane/lane-install.ts +15 -5
  742. package/scripts/lane/lane-launch-cli.ts +35 -14
  743. package/scripts/lane/lane-ledger-kind.ts +2 -0
  744. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  745. package/scripts/lane/lane-ledger-schema.ts +15 -1
  746. package/scripts/lane/lane-ledger-write.ts +4 -1
  747. package/scripts/lane/lane-relaunch.ts +25 -2
  748. package/scripts/lane/lane-state-record.ts +2 -0
  749. package/scripts/lane/lane-state.ts +8 -1
  750. package/scripts/lane/lane-stats-tables.ts +2 -0
  751. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  752. package/scripts/lib/inherited-scope.ts +48 -0
  753. package/scripts/lint/format-steps.ts +93 -0
  754. package/scripts/lint/format.ts +6 -49
  755. package/scripts/lint/lint-related-fix.ts +35 -0
  756. package/scripts/lint/lint-related.ts +22 -35
  757. package/scripts/propagate/propagate-steps.ts +9 -4
  758. package/scripts/registry-migration/migrate-cli.ts +50 -0
  759. package/scripts/registry-migration/migrate-files.ts +154 -0
  760. package/scripts/registry-migration/migrate-lock.ts +147 -0
  761. package/scripts/registry-migration/migrate.ts +235 -0
  762. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  763. package/scripts/review/review-record-cli.ts +27 -13
  764. package/scripts/review/review-record-pinned.ts +15 -6
  765. package/scripts/run/add/run-add-cli.ts +21 -3
  766. package/scripts/run/add/run-add.ts +26 -9
  767. package/scripts/run/board/run-board-layout.ts +11 -6
  768. package/scripts/run/board/run-board-read.ts +29 -69
  769. package/scripts/run/board/run-board-reason.ts +12 -0
  770. package/scripts/run/board/run-board-render-lanes.ts +26 -9
  771. package/scripts/run/board/run-board-render-lead.ts +9 -0
  772. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  773. package/scripts/run/board/run-board-root-layout.ts +69 -0
  774. package/scripts/run/board/run-board-seat.ts +9 -2
  775. package/scripts/run/board/run-board-setup.ts +6 -4
  776. package/scripts/run/board/run-board-single.ts +69 -4
  777. package/scripts/run/board/run-board-span-read.ts +85 -0
  778. package/scripts/run/board/run-board-tick.ts +12 -4
  779. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  780. package/scripts/run/carry/run-carry-session.ts +48 -0
  781. package/scripts/run/carry/run-carry.ts +21 -14
  782. package/scripts/run/cut/run-cut-resume.ts +15 -3
  783. package/scripts/run/cut/run-cut.ts +1 -1
  784. package/scripts/run/detached-launch.ts +14 -5
  785. package/scripts/run/early-push-record.ts +6 -2
  786. package/scripts/run/event/run-event-setup.ts +2 -0
  787. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  788. package/scripts/run/hold/run-hold-cli.ts +40 -5
  789. package/scripts/run/hold/run-hold-ended.ts +50 -0
  790. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  791. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  792. package/scripts/run/merge/run-merge-steps.ts +4 -57
  793. package/scripts/run/merge/run-merge-waits.ts +54 -0
  794. package/scripts/run/prime/run-prime-cli.ts +16 -2
  795. package/scripts/run/review/run-review-cli.ts +5 -7
  796. package/scripts/run/review/run-review-early-push.ts +19 -8
  797. package/scripts/run/review/run-review-join-read.ts +33 -6
  798. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  799. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  800. package/scripts/run/run-halfrun-resume.ts +49 -6
  801. package/scripts/run/run-headless.ts +3 -0
  802. package/scripts/run/run-pr-return.ts +14 -5
  803. package/scripts/run/run-repair-attempt.ts +219 -0
  804. package/scripts/run/ship/run-ship-lap.ts +5 -17
  805. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  806. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  807. package/scripts/run/startup/run-startup-schema.ts +31 -0
  808. package/scripts/run/startup/run-startup-store.ts +130 -0
  809. package/scripts/run/startup/run-startup.ts +119 -0
  810. package/scripts/run/wake/run-wake-codex.ts +144 -0
  811. package/scripts/run/wake/run-wake-driver.ts +32 -7
  812. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  813. package/scripts/run/wake/run-wake-loop.ts +23 -3
  814. package/scripts/run/wake/run-wake-ports.ts +17 -3
  815. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  816. package/scripts/run/wake/run-wake-window.ts +4 -1
  817. package/scripts/run/wake/run-wake.ts +5 -0
  818. package/scripts/sync/sync-ai-files.ts +17 -0
  819. package/scripts/sync/sync-configs.ts +11 -1
  820. package/scripts/sync/sync.ts +5 -1
  821. package/scripts/test/test-pinned-cache-logic.ts +13 -7
  822. package/scripts/test/test-pinned-cache.ts +33 -11
  823. package/scripts/test/test-related-cap.ts +7 -3
  824. package/scripts/test/test-related-imports.ts +92 -0
  825. package/scripts/test/test-runner-config.ts +19 -0
  826. package/scripts/test/vitest-failure-summary.ts +7 -0
  827. package/scripts/version/npm-registry.ts +45 -7
  828. package/scripts/version/upgrade-shell-command.ts +34 -2
  829. package/templates/workflows/ci.yml +0 -15
  830. package/templates/workflows/github-release.yml +0 -5
  831. package/dist/commands/chunk-23GH6B3D.js +0 -333
  832. package/dist/commands/chunk-24OATKOF.js +0 -7534
  833. package/dist/commands/chunk-24ZDAWML.js +0 -48
  834. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  835. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  836. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  837. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  838. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  839. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  840. package/dist/commands/chunk-2PHOLX62.js +0 -43
  841. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  842. package/dist/commands/chunk-2VRITY55.js +0 -41
  843. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  844. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  845. package/dist/commands/chunk-352KLSFX.js +0 -67
  846. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  847. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  848. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  849. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  850. package/dist/commands/chunk-3Z425MM3.js +0 -61
  851. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  852. package/dist/commands/chunk-452HWOJ7.js +0 -395
  853. package/dist/commands/chunk-475EFIJV.js +0 -178
  854. package/dist/commands/chunk-47UZB54M.js +0 -73
  855. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  856. package/dist/commands/chunk-4DVM57T7.js +0 -86
  857. package/dist/commands/chunk-4EADHJVC.js +0 -247
  858. package/dist/commands/chunk-4HERA2GY.js +0 -95
  859. package/dist/commands/chunk-4JI35CVO.js +0 -70
  860. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  861. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  862. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  863. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  864. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  865. package/dist/commands/chunk-4Q64PG46.js +0 -478
  866. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  867. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  868. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  869. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  870. package/dist/commands/chunk-54X37JEJ.js +0 -170
  871. package/dist/commands/chunk-56KW5EOK.js +0 -85
  872. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  873. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  874. package/dist/commands/chunk-5FBRMARM.js +0 -578
  875. package/dist/commands/chunk-5RG4S66L.js +0 -47
  876. package/dist/commands/chunk-5UJGACVN.js +0 -137
  877. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  878. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  879. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  880. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  881. package/dist/commands/chunk-66NX6EXR.js +0 -29
  882. package/dist/commands/chunk-66TGK5XL.js +0 -84
  883. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  884. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  885. package/dist/commands/chunk-6GQX752S.js +0 -145
  886. package/dist/commands/chunk-6HRRZANN.js +0 -55
  887. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  888. package/dist/commands/chunk-6OP63TBT.js +0 -78
  889. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  890. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  891. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  892. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  893. package/dist/commands/chunk-6YURRFRU.js +0 -461
  894. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  895. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  896. package/dist/commands/chunk-77BIN247.js +0 -122
  897. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  898. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  899. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  900. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  901. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  902. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  903. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  904. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  905. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  906. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  907. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  908. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  909. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  910. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  911. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  912. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  913. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  914. package/dist/commands/chunk-AKK56GNX.js +0 -205
  915. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  916. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  917. package/dist/commands/chunk-ANUTT56I.js +0 -85
  918. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  919. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  920. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  921. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  922. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  923. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  924. package/dist/commands/chunk-BIKGPT52.js +0 -29
  925. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  926. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  927. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  928. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  929. package/dist/commands/chunk-BRUBX64M.js +0 -33
  930. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  931. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  932. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  933. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  934. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  935. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  936. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  937. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  938. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  939. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  940. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  941. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  942. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  943. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  944. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  945. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  946. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  947. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  948. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  949. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  950. package/dist/commands/chunk-D7JRJI44.js +0 -297
  951. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  952. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  953. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  954. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  955. package/dist/commands/chunk-DMD74E3F.js +0 -39
  956. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  957. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  958. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  959. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  960. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  961. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  962. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  963. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  964. package/dist/commands/chunk-ELY76WAR.js +0 -65
  965. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  966. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  967. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  968. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  969. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  970. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  971. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  972. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  973. package/dist/commands/chunk-EXWB34R2.js +0 -238
  974. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  975. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  976. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  977. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  978. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  979. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  980. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  981. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  982. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  983. package/dist/commands/chunk-FJX7AENO.js +0 -74
  984. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  985. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  986. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  987. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  988. package/dist/commands/chunk-FROACLVU.js +0 -525
  989. package/dist/commands/chunk-FURNDIT3.js +0 -34
  990. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  991. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  992. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  993. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  994. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  995. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  996. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  997. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  998. package/dist/commands/chunk-GITT5A5A.js +0 -198
  999. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  1000. package/dist/commands/chunk-GLC47H7I.js +0 -285
  1001. package/dist/commands/chunk-GUR54ELE.js +0 -328
  1002. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  1003. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  1004. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  1005. package/dist/commands/chunk-HATKF6VX.js +0 -173
  1006. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  1007. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  1008. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  1009. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  1010. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  1011. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  1012. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  1013. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1014. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1015. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1016. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1017. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1018. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1019. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1020. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1021. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1022. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1023. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1024. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1025. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1026. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1027. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1028. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1029. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1030. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1031. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1032. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1033. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1034. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1035. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1036. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1037. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1038. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1039. package/dist/commands/chunk-K275REYP.js +0 -37
  1040. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1041. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1042. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1043. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1044. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1045. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1046. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1047. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1048. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1049. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1050. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1051. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1052. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1053. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1054. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1055. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1056. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1057. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1058. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1059. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1060. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1061. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1062. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1063. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1064. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1065. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1066. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1067. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1068. package/dist/commands/chunk-LZPPSOTP.js +0 -122
  1069. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1070. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1071. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1072. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1073. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1074. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1075. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1076. package/dist/commands/chunk-MN425CU6.js +0 -63
  1077. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1078. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1079. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1080. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1081. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1082. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1083. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1084. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1085. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1086. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1087. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1088. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1089. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1090. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1091. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1092. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1093. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1094. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1095. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1096. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1097. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1098. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1099. package/dist/commands/chunk-OIX2363L.js +0 -16
  1100. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1101. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1102. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1103. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1104. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1105. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1106. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1107. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1108. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1109. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1110. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1111. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1112. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1113. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1114. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1115. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1116. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1117. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1118. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1119. package/dist/commands/chunk-PE7B7242.js +0 -84
  1120. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1121. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1122. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1123. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1124. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1125. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1126. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1127. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1128. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1129. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1130. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1131. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1132. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1133. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1134. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1135. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1136. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1137. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1138. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1139. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1140. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1141. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1142. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1143. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1144. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1145. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1146. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1147. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1148. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1149. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1150. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1151. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1152. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1153. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1154. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1155. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1156. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1157. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1158. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1159. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1160. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1161. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1162. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1163. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1164. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1165. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1166. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1167. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1168. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1169. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1170. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1171. package/dist/commands/chunk-TLAB552K.js +0 -445
  1172. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1173. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1174. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1175. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1176. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1177. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1178. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1179. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1180. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1181. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1182. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1183. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1184. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1185. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1186. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1187. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1188. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1189. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1190. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1191. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1192. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1193. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1194. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1195. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1196. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1197. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1198. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1199. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1200. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1201. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1202. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1203. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1204. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1205. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1206. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1207. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1208. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1209. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1210. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1211. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1212. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1213. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1214. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1215. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1216. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1217. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1218. package/dist/commands/chunk-YDURQICF.js +0 -204
  1219. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1220. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1221. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1222. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1223. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1224. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1225. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1226. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1227. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1228. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1229. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1230. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1231. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1232. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1233. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1234. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1235. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1236. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1237. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1238. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1239. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1240. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1241. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1242. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1243. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1244. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1245. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1246. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1247. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1248. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1249. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1250. 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
- };