@joshuafolkken/kit 1.3099.0 → 1.3125.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 (1119) hide show
  1. package/.claude/skills/workflow-commands/split-assessment.md +2 -3
  2. package/.github/actions/setup-pnpm/action.yml +12 -4
  3. package/dist/.inputs-verified.json +1 -1
  4. package/dist/commands/adopt.js +20 -20
  5. package/dist/commands/auto-ok-judge-cli.js +30 -30
  6. package/dist/commands/auto-ok-main.js +64 -63
  7. package/dist/commands/backlog-budget-main.js +5 -5
  8. package/dist/commands/backlog-drive-cli.js +220 -203
  9. package/dist/commands/backlog-next-main.js +157 -101
  10. package/dist/commands/backlog-offer-main.js +168 -120
  11. package/dist/commands/backlog-plan-cli.js +159 -110
  12. package/dist/commands/backlog-triage-cli.js +171 -115
  13. package/dist/commands/backlogrun-cli.js +255 -245
  14. package/dist/commands/behavior-cli.js +16 -15
  15. package/dist/commands/bytes-command.js +41 -41
  16. package/dist/commands/cases-cli.js +3 -3
  17. package/dist/commands/check-commit-message-main.js +3 -3
  18. package/dist/commands/check-related.js +93 -93
  19. package/dist/commands/chunk-23PU6FAC.js +140 -0
  20. package/dist/commands/chunk-23TWJOAI.js +172 -0
  21. package/dist/commands/chunk-24MXEDSJ.js +81 -0
  22. package/dist/commands/chunk-25LVQDOF.js +183 -0
  23. package/dist/commands/chunk-25LYH5QR.js +85 -0
  24. package/dist/commands/chunk-2AH73ZTW.js +84 -0
  25. package/dist/commands/chunk-2BNLPPP4.js +42 -0
  26. package/dist/commands/chunk-2FD3N3OX.js +119 -0
  27. package/dist/commands/chunk-2GJ3WJVT.js +117 -0
  28. package/dist/commands/chunk-2JGOKYJQ.js +426 -0
  29. package/dist/commands/chunk-2MDLCJZ4.js +389 -0
  30. package/dist/commands/chunk-2ROVUERM.js +99 -0
  31. package/dist/commands/chunk-2TI22UNK.js +137 -0
  32. package/dist/commands/chunk-2TUA6V4F.js +191 -0
  33. package/dist/commands/chunk-2UXSF5YF.js +49 -0
  34. package/dist/commands/chunk-2ZDVX64H.js +66 -0
  35. package/dist/commands/chunk-33N7SBIU.js +18 -0
  36. package/dist/commands/chunk-373P5MM2.js +353 -0
  37. package/dist/commands/chunk-37RULO76.js +220 -0
  38. package/dist/commands/chunk-3EYRE3GI.js +173 -0
  39. package/dist/commands/chunk-3IXIYDC3.js +179 -0
  40. package/dist/commands/chunk-3OFJCJN4.js +30 -0
  41. package/dist/commands/chunk-3OSUM6DM.js +53 -0
  42. package/dist/commands/chunk-3PGB2RKZ.js +333 -0
  43. package/dist/commands/chunk-3QNEEG5O.js +117 -0
  44. package/dist/commands/chunk-3TN76RWK.js +156 -0
  45. package/dist/commands/chunk-3W2TJZMD.js +77 -0
  46. package/dist/commands/chunk-3Y32BYLU.js +1244 -0
  47. package/dist/commands/chunk-3ZQOMI5A.js +245 -0
  48. package/dist/commands/chunk-42W6WARP.js +263 -0
  49. package/dist/commands/chunk-44UIURBQ.js +130 -0
  50. package/dist/commands/chunk-45RCSJGE.js +321 -0
  51. package/dist/commands/chunk-4DNAAFF4.js +159 -0
  52. package/dist/commands/chunk-4E5WBWG7.js +70 -0
  53. package/dist/commands/chunk-4MRBLCDB.js +96 -0
  54. package/dist/commands/chunk-4NIHTEGD.js +332 -0
  55. package/dist/commands/chunk-4ODXKJJT.js +566 -0
  56. package/dist/commands/chunk-4P5F7CLB.js +47 -0
  57. package/dist/commands/chunk-52CGT2IN.js +119 -0
  58. package/dist/commands/chunk-54ZLBLLE.js +74 -0
  59. package/dist/commands/chunk-56344LLX.js +114 -0
  60. package/dist/commands/chunk-56GR7L5L.js +36 -0
  61. package/dist/commands/chunk-5ADJDGFT.js +126 -0
  62. package/dist/commands/chunk-5CMXAHCL.js +161 -0
  63. package/dist/commands/chunk-5DMFMP4V.js +121 -0
  64. package/dist/commands/chunk-5I3M4B3H.js +185 -0
  65. package/dist/commands/chunk-5JIMCETI.js +104 -0
  66. package/dist/commands/chunk-5KEESWMC.js +138 -0
  67. package/dist/commands/chunk-5LNRVX2R.js +214 -0
  68. package/dist/commands/chunk-5PLKHUQD.js +492 -0
  69. package/dist/commands/chunk-5QICRFVL.js +167 -0
  70. package/dist/commands/chunk-5RCBXYYD.js +101 -0
  71. package/dist/commands/chunk-5SOU366I.js +252 -0
  72. package/dist/commands/chunk-5VUHAXPI.js +77 -0
  73. package/dist/commands/chunk-5XJUUZ6U.js +773 -0
  74. package/dist/commands/chunk-5ZMVRU3U.js +46 -0
  75. package/dist/commands/chunk-5ZWU2B7T.js +507 -0
  76. package/dist/commands/chunk-5ZXR36N7.js +67 -0
  77. package/dist/commands/chunk-623LFKFM.js +60 -0
  78. package/dist/commands/chunk-64II6P7B.js +81 -0
  79. package/dist/commands/chunk-6DJT64DN.js +342 -0
  80. package/dist/commands/chunk-6HJ5CJSJ.js +121 -0
  81. package/dist/commands/chunk-6LGMEJRN.js +67 -0
  82. package/dist/commands/chunk-6LHMR3CR.js +126 -0
  83. package/dist/commands/chunk-6NXTP5JT.js +114 -0
  84. package/dist/commands/chunk-6OKVY2E3.js +128 -0
  85. package/dist/commands/chunk-6OUQZC6V.js +1153 -0
  86. package/dist/commands/chunk-6PL2AK3C.js +204 -0
  87. package/dist/commands/chunk-6PLIQCBG.js +326 -0
  88. package/dist/commands/chunk-6QVDEMGB.js +118 -0
  89. package/dist/commands/chunk-6T67GZMJ.js +60 -0
  90. package/dist/commands/chunk-6TC2ZMNB.js +64 -0
  91. package/dist/commands/chunk-6TOHJZ4J.js +224 -0
  92. package/dist/commands/chunk-6TOWGIY2.js +127 -0
  93. package/dist/commands/chunk-6TPGDOOD.js +48 -0
  94. package/dist/commands/chunk-6XXEW3NQ.js +159 -0
  95. package/dist/commands/chunk-72HZ2APA.js +229 -0
  96. package/dist/commands/chunk-72LAYP5S.js +46 -0
  97. package/dist/commands/chunk-72Y7PXUJ.js +83 -0
  98. package/dist/commands/chunk-77R6JEET.js +128 -0
  99. package/dist/commands/chunk-7GICNM73.js +137 -0
  100. package/dist/commands/chunk-7OZT74HR.js +78 -0
  101. package/dist/commands/chunk-7QAYL2RH.js +555 -0
  102. package/dist/commands/chunk-7T7GIZYW.js +92 -0
  103. package/dist/commands/chunk-7VXSMXVE.js +79 -0
  104. package/dist/commands/chunk-7WTVADW4.js +33 -0
  105. package/dist/commands/chunk-7YXCOW3X.js +114 -0
  106. package/dist/commands/chunk-7YYI3OX6.js +104 -0
  107. package/dist/commands/chunk-7Z25RNTV.js +516 -0
  108. package/dist/commands/chunk-A73RWSHJ.js +126 -0
  109. package/dist/commands/chunk-AAIZ2H66.js +58 -0
  110. package/dist/commands/chunk-AFGEGGIF.js +17 -0
  111. package/dist/commands/chunk-AJTXSSRD.js +29 -0
  112. package/dist/commands/chunk-AKM3BHVJ.js +48 -0
  113. package/dist/commands/chunk-AL2H63BP.js +48 -0
  114. package/dist/commands/chunk-AMQNHTDN.js +60 -0
  115. package/dist/commands/chunk-AQGVQMWF.js +168 -0
  116. package/dist/commands/chunk-B4OZF4XL.js +89 -0
  117. package/dist/commands/chunk-B4W77FVS.js +704 -0
  118. package/dist/commands/chunk-B4YBGU2C.js +580 -0
  119. package/dist/commands/chunk-B636LL4X.js +239 -0
  120. package/dist/commands/chunk-B762PNT6.js +66 -0
  121. package/dist/commands/chunk-B7UY7EOD.js +72 -0
  122. package/dist/commands/chunk-BAJABWKW.js +43 -0
  123. package/dist/commands/chunk-BAQRD3TC.js +105 -0
  124. package/dist/commands/chunk-BBPESBU3.js +85 -0
  125. package/dist/commands/chunk-BGKUZJT7.js +25 -0
  126. package/dist/commands/chunk-BIVM6OTE.js +19 -0
  127. package/dist/commands/chunk-BJQDQAQU.js +167 -0
  128. package/dist/commands/chunk-BU3WIUDD.js +230 -0
  129. package/dist/commands/chunk-C2WXQPF3.js +34 -0
  130. package/dist/commands/chunk-C3V6H6TW.js +183 -0
  131. package/dist/commands/chunk-C3Y42PHX.js +229 -0
  132. package/dist/commands/chunk-C7CDGSMW.js +112 -0
  133. package/dist/commands/chunk-C7JEMYPV.js +102 -0
  134. package/dist/commands/chunk-CCAVK7HN.js +4221 -0
  135. package/dist/commands/chunk-CFLCZ2WO.js +63 -0
  136. package/dist/commands/chunk-CGA2K3XV.js +137 -0
  137. package/dist/commands/chunk-CHQQ3VTL.js +184 -0
  138. package/dist/commands/chunk-CKD2G35M.js +86 -0
  139. package/dist/commands/chunk-CMTTDS7F.js +77 -0
  140. package/dist/commands/chunk-CRCQOA4Z.js +77 -0
  141. package/dist/commands/chunk-CT773QBI.js +161 -0
  142. package/dist/commands/chunk-CVZXDKCV.js +525 -0
  143. package/dist/commands/chunk-CXFN5W7O.js +116 -0
  144. package/dist/commands/chunk-CXVNQ7DS.js +88 -0
  145. package/dist/commands/chunk-CYYJLRIW.js +85 -0
  146. package/dist/commands/chunk-D6UXGFJ7.js +44 -0
  147. package/dist/commands/chunk-DIXUXHZ2.js +207 -0
  148. package/dist/commands/chunk-DM6I4PYD.js +110 -0
  149. package/dist/commands/chunk-DOM6HJL3.js +769 -0
  150. package/dist/commands/chunk-DVIOBFU7.js +210 -0
  151. package/dist/commands/chunk-E5CGA7FC.js +114 -0
  152. package/dist/commands/chunk-EG44IWNI.js +88 -0
  153. package/dist/commands/chunk-EHVFQQO6.js +45 -0
  154. package/dist/commands/chunk-EJG5ZJKD.js +1629 -0
  155. package/dist/commands/chunk-EKKUHXFD.js +241 -0
  156. package/dist/commands/chunk-ELCYNBZO.js +430 -0
  157. package/dist/commands/chunk-ELZQL6M3.js +100 -0
  158. package/dist/commands/chunk-EOPRRSCY.js +1891 -0
  159. package/dist/commands/chunk-EQTDNFPF.js +123 -0
  160. package/dist/commands/chunk-ERAABGU7.js +93 -0
  161. package/dist/commands/chunk-ESMIFITZ.js +715 -0
  162. package/dist/commands/chunk-EWBEYTVS.js +50 -0
  163. package/dist/commands/chunk-EYR2X5MZ.js +53 -0
  164. package/dist/commands/chunk-F546BPG3.js +74 -0
  165. package/dist/commands/chunk-F7SAHNGR.js +34 -0
  166. package/dist/commands/chunk-FBWNL3UA.js +209 -0
  167. package/dist/commands/chunk-FBZD6LOK.js +225 -0
  168. package/dist/commands/chunk-FDSSBZC7.js +75 -0
  169. package/dist/commands/chunk-FFLZPLWC.js +59 -0
  170. package/dist/commands/chunk-FHLV5BII.js +170 -0
  171. package/dist/commands/chunk-FITTCICF.js +247 -0
  172. package/dist/commands/chunk-FJ622XHY.js +179 -0
  173. package/dist/commands/chunk-FQPL6T66.js +80 -0
  174. package/dist/commands/chunk-FSM3WPTR.js +73 -0
  175. package/dist/commands/chunk-FSZA4DME.js +268 -0
  176. package/dist/commands/chunk-FVPRBMHE.js +38 -0
  177. package/dist/commands/chunk-FZ62KJXP.js +75 -0
  178. package/dist/commands/chunk-FZNYKSQS.js +335 -0
  179. package/dist/commands/chunk-FZYFGHRY.js +72 -0
  180. package/dist/commands/chunk-G4UVY3TO.js +90 -0
  181. package/dist/commands/chunk-G6H2TOAA.js +18 -0
  182. package/dist/commands/chunk-GC73YEU7.js +119 -0
  183. package/dist/commands/chunk-GHVL6IJA.js +653 -0
  184. package/dist/commands/chunk-GIGXVOKR.js +208 -0
  185. package/dist/commands/chunk-GL2DZXYD.js +103 -0
  186. package/dist/commands/chunk-GL3VOBWB.js +170 -0
  187. package/dist/commands/chunk-GLXOLYZE.js +64 -0
  188. package/dist/commands/chunk-GNRTFRSL.js +41 -0
  189. package/dist/commands/chunk-GX5XHW2F.js +132 -0
  190. package/dist/commands/chunk-GXXWRH6F.js +98 -0
  191. package/dist/commands/chunk-GY6O2WYG.js +120 -0
  192. package/dist/commands/chunk-H4IDKP55.js +37 -0
  193. package/dist/commands/chunk-H5WWD3TX.js +719 -0
  194. package/dist/commands/chunk-H6MHUR2Y.js +114 -0
  195. package/dist/commands/chunk-H6TBBVC2.js +73 -0
  196. package/dist/commands/chunk-HF52YP56.js +178 -0
  197. package/dist/commands/chunk-HKHGX7TW.js +173 -0
  198. package/dist/commands/chunk-HLQVLQEB.js +177 -0
  199. package/dist/commands/chunk-HN3EGYAI.js +169 -0
  200. package/dist/commands/chunk-HNZLKGKJ.js +43 -0
  201. package/dist/commands/chunk-HQ5U6OZR.js +315 -0
  202. package/dist/commands/chunk-HUCOQ4PI.js +161 -0
  203. package/dist/commands/chunk-HXAVYXUS.js +307 -0
  204. package/dist/commands/chunk-HXM26K3O.js +67 -0
  205. package/dist/commands/chunk-HYQ5Q6AE.js +304 -0
  206. package/dist/commands/chunk-HYVAEK6M.js +155 -0
  207. package/dist/commands/chunk-I2HHXZVG.js +46 -0
  208. package/dist/commands/chunk-I2RBOH4F.js +469 -0
  209. package/dist/commands/chunk-I36PDO6I.js +258 -0
  210. package/dist/commands/chunk-IAA73DWD.js +212 -0
  211. package/dist/commands/chunk-IBOCPSPK.js +103 -0
  212. package/dist/commands/chunk-IC5XLIE2.js +68 -0
  213. package/dist/commands/chunk-ICKP5W3Q.js +41 -0
  214. package/dist/commands/chunk-IHQHHNYR.js +1314 -0
  215. package/dist/commands/chunk-ILQU26IF.js +408 -0
  216. package/dist/commands/chunk-INOXSDDC.js +7712 -0
  217. package/dist/commands/chunk-IQMMYORJ.js +554 -0
  218. package/dist/commands/chunk-ISNZX75X.js +168 -0
  219. package/dist/commands/chunk-ISY5TFYT.js +80 -0
  220. package/dist/commands/chunk-IT2O5MOW.js +37 -0
  221. package/dist/commands/chunk-IV6ETHVB.js +155 -0
  222. package/dist/commands/chunk-IZPMBGAI.js +202 -0
  223. package/dist/commands/chunk-J56TYLAL.js +77 -0
  224. package/dist/commands/chunk-JGC4B5JR.js +94 -0
  225. package/dist/commands/chunk-JKPYLZ6T.js +198 -0
  226. package/dist/commands/chunk-JM3EJYA3.js +65 -0
  227. package/dist/commands/chunk-JN7IG7HT.js +426 -0
  228. package/dist/commands/chunk-JSJS3OT7.js +679 -0
  229. package/dist/commands/chunk-JUQN3OXG.js +351 -0
  230. package/dist/commands/chunk-JUXKVN77.js +100 -0
  231. package/dist/commands/chunk-JZZURWZH.js +33 -0
  232. package/dist/commands/chunk-K2FXMBIU.js +95 -0
  233. package/dist/commands/chunk-K2VIKG5M.js +34 -0
  234. package/dist/commands/chunk-K3LHBJDY.js +1223 -0
  235. package/dist/commands/chunk-K3TPIV56.js +480 -0
  236. package/dist/commands/chunk-K6QAQSCJ.js +98 -0
  237. package/dist/commands/chunk-KJ2ZIDQP.js +92 -0
  238. package/dist/commands/chunk-KMED24C4.js +459 -0
  239. package/dist/commands/chunk-KMVJKK43.js +88 -0
  240. package/dist/commands/chunk-KXZR7UAE.js +302 -0
  241. package/dist/commands/chunk-L7GYJHDX.js +223 -0
  242. package/dist/commands/chunk-LAQZJX5C.js +49 -0
  243. package/dist/commands/chunk-LAUKNN57.js +530 -0
  244. package/dist/commands/chunk-LDYDRXOY.js +88 -0
  245. package/dist/commands/chunk-LZNACCHR.js +174 -0
  246. package/dist/commands/chunk-MEJ2CQK2.js +102 -0
  247. package/dist/commands/chunk-MHTKSRAH.js +278 -0
  248. package/dist/commands/chunk-MI4NHZWO.js +65 -0
  249. package/dist/commands/chunk-MIDWHXJZ.js +46 -0
  250. package/dist/commands/chunk-MIZLGSHI.js +419 -0
  251. package/dist/commands/chunk-MKIHWQ65.js +218 -0
  252. package/dist/commands/chunk-MOAPWO34.js +292 -0
  253. package/dist/commands/chunk-MOLXF5KO.js +51 -0
  254. package/dist/commands/chunk-MQNKIKJ6.js +288 -0
  255. package/dist/commands/chunk-MT6TRLFD.js +91 -0
  256. package/dist/commands/chunk-MTPFNRYF.js +213 -0
  257. package/dist/commands/chunk-N2EE7MMH.js +305 -0
  258. package/dist/commands/chunk-N5FT5LYP.js +272 -0
  259. package/dist/commands/chunk-N5YPDLZM.js +114 -0
  260. package/dist/commands/chunk-NASUAXRJ.js +45 -0
  261. package/dist/commands/chunk-NAZ753DE.js +540 -0
  262. package/dist/commands/chunk-NDPR5U4U.js +897 -0
  263. package/dist/commands/chunk-NFRDCRDI.js +285 -0
  264. package/dist/commands/chunk-NHXMWRBI.js +16 -0
  265. package/dist/commands/chunk-NMG65AFQ.js +20 -0
  266. package/dist/commands/chunk-NQ4D2XZY.js +213 -0
  267. package/dist/commands/chunk-NQFQVSHV.js +56 -0
  268. package/dist/commands/chunk-NR4BD5DD.js +38 -0
  269. package/dist/commands/chunk-NV6Y4U37.js +338 -0
  270. package/dist/commands/chunk-NWMY2QJJ.js +133 -0
  271. package/dist/commands/chunk-NXWVWI4U.js +1062 -0
  272. package/dist/commands/chunk-NZ2UKIY5.js +445 -0
  273. package/dist/commands/chunk-OB3WF3DW.js +24 -0
  274. package/dist/commands/chunk-OBMXXG5D.js +181 -0
  275. package/dist/commands/chunk-OHZ6GLEJ.js +74 -0
  276. package/dist/commands/chunk-OJO5AADO.js +322 -0
  277. package/dist/commands/chunk-ORFXTHXU.js +108 -0
  278. package/dist/commands/chunk-OTCWA4QE.js +910 -0
  279. package/dist/commands/chunk-OYGNL5RO.js +290 -0
  280. package/dist/commands/chunk-OYZP5ANC.js +48 -0
  281. package/dist/commands/chunk-P35FFJXA.js +73 -0
  282. package/dist/commands/chunk-P3UODIMZ.js +272 -0
  283. package/dist/commands/chunk-PF2HZHJG.js +94 -0
  284. package/dist/commands/chunk-PIAVFPYB.js +52 -0
  285. package/dist/commands/chunk-PLE3MBGO.js +85 -0
  286. package/dist/commands/chunk-PM3YCN46.js +39 -0
  287. package/dist/commands/chunk-PMC2N6JK.js +91 -0
  288. package/dist/commands/chunk-PTJ6X3QK.js +330 -0
  289. package/dist/commands/chunk-PTRK3NBC.js +211 -0
  290. package/dist/commands/chunk-Q2VV3WT7.js +120 -0
  291. package/dist/commands/chunk-Q67SPFHV.js +44 -0
  292. package/dist/commands/chunk-Q7GMTDMG.js +44 -0
  293. package/dist/commands/chunk-QA44M56F.js +333 -0
  294. package/dist/commands/chunk-QDUWBRQC.js +61 -0
  295. package/dist/commands/chunk-QGTLTPXT.js +58 -0
  296. package/dist/commands/chunk-QHWQJCV5.js +250 -0
  297. package/dist/commands/chunk-QI72D6NY.js +54 -0
  298. package/dist/commands/chunk-QN3FWRDW.js +122 -0
  299. package/dist/commands/chunk-QQ2JKDSV.js +144 -0
  300. package/dist/commands/chunk-QRY55H5U.js +48 -0
  301. package/dist/commands/chunk-QUO5B2JH.js +260 -0
  302. package/dist/commands/chunk-QY7RITZQ.js +99 -0
  303. package/dist/commands/chunk-R4GZWGIN.js +160 -0
  304. package/dist/commands/chunk-RETTGONB.js +84 -0
  305. package/dist/commands/chunk-RH4LJ4D6.js +69 -0
  306. package/dist/commands/chunk-RKCENL5P.js +271 -0
  307. package/dist/commands/chunk-RLWK2CP3.js +82 -0
  308. package/dist/commands/chunk-RMDQQKXD.js +179 -0
  309. package/dist/commands/chunk-RRNC3QEB.js +449 -0
  310. package/dist/commands/chunk-RUCV7UYK.js +341 -0
  311. package/dist/commands/chunk-RVFE7JDZ.js +126 -0
  312. package/dist/commands/chunk-RVKFX3FD.js +70 -0
  313. package/dist/commands/chunk-RW7OILP7.js +71 -0
  314. package/dist/commands/chunk-S23MUFND.js +122 -0
  315. package/dist/commands/chunk-S3DRNZRT.js +74 -0
  316. package/dist/commands/chunk-SB3R6E3R.js +49 -0
  317. package/dist/commands/chunk-SCCUBRDO.js +237 -0
  318. package/dist/commands/chunk-SIPHEZXP.js +72 -0
  319. package/dist/commands/chunk-SK3GDQOI.js +20 -0
  320. package/dist/commands/chunk-SNXSRNFI.js +1052 -0
  321. package/dist/commands/chunk-SWHN7TNT.js +59 -0
  322. package/dist/commands/chunk-T5D3BW3D.js +85 -0
  323. package/dist/commands/chunk-T76CS2AQ.js +307 -0
  324. package/dist/commands/chunk-TBIX42IT.js +144 -0
  325. package/dist/commands/chunk-TGCIRQG5.js +109 -0
  326. package/dist/commands/chunk-TJAGKUS2.js +84 -0
  327. package/dist/commands/chunk-TKRUZZXG.js +103 -0
  328. package/dist/commands/chunk-TLCFZAL4.js +63 -0
  329. package/dist/commands/chunk-TNPFVNKX.js +585 -0
  330. package/dist/commands/chunk-TNU3IEAP.js +151 -0
  331. package/dist/commands/chunk-TQ6M5ICK.js +49 -0
  332. package/dist/commands/chunk-TR6NTNWR.js +128 -0
  333. package/dist/commands/chunk-TSS2RKBC.js +271 -0
  334. package/dist/commands/chunk-TWI7UTVE.js +799 -0
  335. package/dist/commands/chunk-TXXEXJAV.js +390 -0
  336. package/dist/commands/chunk-U6SMBYTN.js +472 -0
  337. package/dist/commands/chunk-U7JJGYYY.js +30 -0
  338. package/dist/commands/chunk-UACWDTJ5.js +106 -0
  339. package/dist/commands/chunk-UBWYGOEC.js +86 -0
  340. package/dist/commands/chunk-UC5ZOPKX.js +3983 -0
  341. package/dist/commands/chunk-UJFEMO6X.js +153 -0
  342. package/dist/commands/chunk-ULL3OIAG.js +59 -0
  343. package/dist/commands/chunk-UN6BPKQ5.js +922 -0
  344. package/dist/commands/chunk-UW3KES66.js +32 -0
  345. package/dist/commands/chunk-UWLANGIR.js +817 -0
  346. package/dist/commands/chunk-UYHREBT7.js +99 -0
  347. package/dist/commands/chunk-V2KHY4UQ.js +393 -0
  348. package/dist/commands/chunk-V36OV7AP.js +191 -0
  349. package/dist/commands/chunk-V37AWEYE.js +62 -0
  350. package/dist/commands/chunk-V4D4YV4B.js +110 -0
  351. package/dist/commands/chunk-V56NLG7I.js +217 -0
  352. package/dist/commands/chunk-V6WHDQAZ.js +74 -0
  353. package/dist/commands/chunk-V6WWW6HX.js +140 -0
  354. package/dist/commands/chunk-V7QOC5NV.js +51 -0
  355. package/dist/commands/chunk-VA4M733Q.js +127 -0
  356. package/dist/commands/chunk-VBZ47BVH.js +64 -0
  357. package/dist/commands/chunk-VD4ELMDA.js +158 -0
  358. package/dist/commands/chunk-VFW6XZH7.js +469 -0
  359. package/dist/commands/chunk-VHSGVCRM.js +244 -0
  360. package/dist/commands/chunk-VJNE7W7O.js +1153 -0
  361. package/dist/commands/chunk-VLDPUHGE.js +134 -0
  362. package/dist/commands/chunk-VMMNYTET.js +61 -0
  363. package/dist/commands/chunk-VO2GSW5P.js +99 -0
  364. package/dist/commands/chunk-VP3P7FLJ.js +168 -0
  365. package/dist/commands/chunk-VRS252GW.js +88 -0
  366. package/dist/commands/chunk-VWNVKWLV.js +298 -0
  367. package/dist/commands/chunk-VXWGPQJX.js +140 -0
  368. package/dist/commands/chunk-W4R6ZBLO.js +197 -0
  369. package/dist/commands/chunk-WE2UMZXX.js +47 -0
  370. package/dist/commands/chunk-WEEJU3EH.js +109 -0
  371. package/dist/commands/chunk-WHXGUOYP.js +48 -0
  372. package/dist/commands/chunk-WHYYBPIC.js +113 -0
  373. package/dist/commands/chunk-WKXMY7MW.js +84 -0
  374. package/dist/commands/chunk-WPSCCUTE.js +119 -0
  375. package/dist/commands/chunk-WQ3O7IKL.js +289 -0
  376. package/dist/commands/chunk-WSTNBBR3.js +22 -0
  377. package/dist/commands/chunk-WX3HQXBK.js +124 -0
  378. package/dist/commands/chunk-WYAY6CQI.js +541 -0
  379. package/dist/commands/chunk-XBXY3R4K.js +74 -0
  380. package/dist/commands/chunk-XDWCF4XH.js +347 -0
  381. package/dist/commands/chunk-XHLSJPV7.js +69 -0
  382. package/dist/commands/chunk-XHR7O2DE.js +52 -0
  383. package/dist/commands/chunk-XIV3UDHV.js +119 -0
  384. package/dist/commands/chunk-XMNPU3J5.js +469 -0
  385. package/dist/commands/chunk-XMZJB7JP.js +100 -0
  386. package/dist/commands/chunk-XO7S2BTY.js +365 -0
  387. package/dist/commands/chunk-XQDG56LP.js +47 -0
  388. package/dist/commands/chunk-XSBLCTDI.js +143 -0
  389. package/dist/commands/chunk-XT3W32DO.js +977 -0
  390. package/dist/commands/chunk-XUA7QZET.js +1263 -0
  391. package/dist/commands/chunk-XZQHP4JR.js +145 -0
  392. package/dist/commands/chunk-YDVFQL3G.js +23 -0
  393. package/dist/commands/chunk-YFD46GB2.js +45 -0
  394. package/dist/commands/chunk-YJMOFRL7.js +269 -0
  395. package/dist/commands/chunk-YPCMBQYP.js +88 -0
  396. package/dist/commands/chunk-YR5RS4YT.js +38 -0
  397. package/dist/commands/chunk-YSBLGTDZ.js +339 -0
  398. package/dist/commands/chunk-YSDBY2G7.js +186 -0
  399. package/dist/commands/chunk-YSL43R4Y.js +149 -0
  400. package/dist/commands/chunk-YUAIWKOM.js +132 -0
  401. package/dist/commands/chunk-YVNYX4UA.js +74 -0
  402. package/dist/commands/chunk-Z2GZIWAU.js +33 -0
  403. package/dist/commands/chunk-Z3XNSXQH.js +47 -0
  404. package/dist/commands/chunk-Z4E7V7YJ.js +18 -0
  405. package/dist/commands/chunk-Z7C2O5JC.js +299 -0
  406. package/dist/commands/chunk-Z7R6JWN7.js +1077 -0
  407. package/dist/commands/chunk-ZB25RO3U.js +208 -0
  408. package/dist/commands/chunk-ZBRUCKLP.js +133 -0
  409. package/dist/commands/chunk-ZCWBZOBM.js +61 -0
  410. package/dist/commands/chunk-ZDP6SKBK.js +246 -0
  411. package/dist/commands/chunk-ZEVI2ZGI.js +145 -0
  412. package/dist/commands/chunk-ZF3SZQRJ.js +44 -0
  413. package/dist/commands/chunk-ZHEUK3ZX.js +16 -0
  414. package/dist/commands/chunk-ZJ5C6KVM.js +1072 -0
  415. package/dist/commands/chunk-ZMDHJ6QF.js +42 -0
  416. package/dist/commands/chunk-ZMS3EFW3.js +1250 -0
  417. package/dist/commands/chunk-ZMWL7LZM.js +210 -0
  418. package/dist/commands/chunk-ZNFVJETO.js +263 -0
  419. package/dist/commands/chunk-ZQEKIMBV.js +82 -0
  420. package/dist/commands/chunk-ZW6DLYS4.js +646 -0
  421. package/dist/commands/ci-timing-cli.js +10 -10
  422. package/dist/commands/code-symbol-cli.js +11 -11
  423. package/dist/commands/codex-hook-adapter.js +105 -106
  424. package/dist/commands/command-derive.js +5 -5
  425. package/dist/commands/cost-audit-main.js +139 -99
  426. package/dist/commands/cspell-cached.js +38 -37
  427. package/dist/commands/defect-origin-main.js +32 -32
  428. package/dist/commands/defect-report-main.js +29 -29
  429. package/dist/commands/diff-summary-cli.js +3 -3
  430. package/dist/commands/disposition-cli.js +108 -96
  431. package/dist/commands/doctor.js +13 -13
  432. package/dist/commands/document-read-cli.js +35 -35
  433. package/dist/commands/document-section-main.js +35 -35
  434. package/dist/commands/dogfood-commit-cli.js +11 -11
  435. package/dist/commands/effect-audit-cli.js +41 -35
  436. package/dist/commands/epic-audit-main.js +77 -76
  437. package/dist/commands/epic-bundle-main.js +167 -111
  438. package/dist/commands/epic-check.js +29 -29
  439. package/dist/commands/epic-main.js +170 -117
  440. package/dist/commands/epic-next-main.js +73 -72
  441. package/dist/commands/format-edited-cli.js +43 -43
  442. package/dist/commands/format.js +21 -21
  443. package/dist/commands/fresh-machine-cli.js +9 -9
  444. package/dist/commands/gh-usage-cli.js +13 -13
  445. package/dist/commands/git-followup-workflow.js +130 -130
  446. package/dist/commands/git-gh-checks-failed-main.js +16 -16
  447. package/dist/commands/git-workflow.js +47 -47
  448. package/dist/commands/hook-ledger-cli.js +113 -74
  449. package/dist/commands/init-main.js +28 -28
  450. package/dist/commands/inputs.json +2011 -2001
  451. package/dist/commands/issue-ack-cli.js +17 -17
  452. package/dist/commands/issue-already-done-cli.js +88 -87
  453. package/dist/commands/issue-body-cli.js +78 -64
  454. package/dist/commands/issue-cite-main.js +26 -26
  455. package/dist/commands/issue-comment-main.js +29 -29
  456. package/dist/commands/issue-consolidate-cli.js +43 -43
  457. package/dist/commands/issue-file-main.js +181 -133
  458. package/dist/commands/issue-fold-existing-cli.js +169 -113
  459. package/dist/commands/issue-fold-main.js +44 -43
  460. package/dist/commands/issue-lint-main.js +55 -54
  461. package/dist/commands/issue-measured-cli.js +91 -90
  462. package/dist/commands/issue-plan-cli.js +136 -135
  463. package/dist/commands/issue-premise-unmet-cli.js +91 -90
  464. package/dist/commands/issue-priority-cli.js +28 -28
  465. package/dist/commands/issue-read-main.js +30 -30
  466. package/dist/commands/issue-release-class-cli.js +26 -26
  467. package/dist/commands/issue-release-main.js +28 -28
  468. package/dist/commands/issue-scout-main.js +168 -112
  469. package/dist/commands/issue-spill-main.js +194 -135
  470. package/dist/commands/issue-state-main.js +28 -28
  471. package/dist/commands/issue-tick-cli.js +28 -28
  472. package/dist/commands/josh-completion.js +12 -12
  473. package/dist/commands/lane-adopt-cli.js +38 -37
  474. package/dist/commands/lane-breakdown-cli.js +176 -166
  475. package/dist/commands/lane-cli.js +163 -163
  476. package/dist/commands/lane-launch-main.js +71 -70
  477. package/dist/commands/lane-limit-cli.js +162 -106
  478. package/dist/commands/lane-measure-cli.js +386 -254
  479. package/dist/commands/lane-pause-cli.js +33 -32
  480. package/dist/commands/lane-plan-cli.js +134 -133
  481. package/dist/commands/lane-resolve-cli.js +35 -35
  482. package/dist/commands/lane-restart-cli.js +157 -157
  483. package/dist/commands/lane-why-cli.js +131 -102
  484. package/dist/commands/lane-withdraw-cli.js +66 -65
  485. package/dist/commands/latest-if-required-cli.js +5 -5
  486. package/dist/commands/lines-command.js +3 -3
  487. package/dist/commands/lint-parallel-main.js +47 -46
  488. package/dist/commands/lint-related.js +86 -86
  489. package/dist/commands/lint-rule.js +46 -45
  490. package/dist/commands/lockfile-policy.js +18 -18
  491. package/dist/commands/main-merge-main.js +12 -12
  492. package/dist/commands/main-sync-main.js +12 -12
  493. package/dist/commands/managed-config-scope-cli.js +7 -7
  494. package/dist/commands/measure-rerun-cli.js +23 -23
  495. package/dist/commands/metrics-command.js +67 -67
  496. package/dist/commands/observation-record-cli.js +13 -13
  497. package/dist/commands/observations-flush-cli.js +41 -41
  498. package/dist/commands/package-scout-cli.js +52 -52
  499. package/dist/commands/pin-verify-cli.js +9 -9
  500. package/dist/commands/plan-consumers-main.js +6 -6
  501. package/dist/commands/plan-scaffold-cli.js +125 -125
  502. package/dist/commands/pr-classification-main.js +12 -12
  503. package/dist/commands/pre-commit-lint.js +14 -15
  504. package/dist/commands/pre-commit-type-check.js +46 -46
  505. package/dist/commands/pre-push-unit.js +51 -52
  506. package/dist/commands/pretool-guard-cli.js +94 -94
  507. package/dist/commands/prevent-main-commit.js +2 -2
  508. package/dist/commands/project-profile-cli.js +13 -13
  509. package/dist/commands/propagate.js +22 -22
  510. package/dist/commands/prose-stale-cli.js +32 -32
  511. package/dist/commands/read-set-cli.js +39 -39
  512. package/dist/commands/refactor-scan-cli.js +5 -5
  513. package/dist/commands/release-cli.js +95 -43
  514. package/dist/commands/release-scope-main.js +34 -34
  515. package/dist/commands/rename-cli.js +39 -38
  516. package/dist/commands/report-template-cli.js +3 -3
  517. package/dist/commands/reserved-run.js +10 -10
  518. package/dist/commands/retrospective-cli.js +141 -102
  519. package/dist/commands/review-attest-cli.js +19 -19
  520. package/dist/commands/review-brief-main.js +159 -159
  521. package/dist/commands/review-findings-cli.js +12 -12
  522. package/dist/commands/review-pair-cli.js +145 -145
  523. package/dist/commands/review-record-main.js +145 -145
  524. package/dist/commands/review-round2-cli.js +66 -65
  525. package/dist/commands/review-stops-cli.js +35 -34
  526. package/dist/commands/review-submit-cli.js +159 -159
  527. package/dist/commands/rule-list.js +59 -59
  528. package/dist/commands/rule-value-cli.js +129 -93
  529. package/dist/commands/ruleset-check-cli.js +12 -12
  530. package/dist/commands/run-add-cli.js +61 -61
  531. package/dist/commands/run-board-main.js +197 -156
  532. package/dist/commands/run-carry-cli.js +182 -150
  533. package/dist/commands/run-chain-cli.js +153 -153
  534. package/dist/commands/run-cut-cli.js +160 -160
  535. package/dist/commands/run-ending-cli.js +34 -34
  536. package/dist/commands/run-entry-cli.js +210 -201
  537. package/dist/commands/run-event-cli.js +9 -8
  538. package/dist/commands/run-handoff-cli.js +50 -50
  539. package/dist/commands/run-handoff-lanes-cli.js +34 -33
  540. package/dist/commands/run-hold-main.js +87 -86
  541. package/dist/commands/run-liveness-cli.js +31 -30
  542. package/dist/commands/run-merge-main.js +171 -139
  543. package/dist/commands/run-next-cli.js +110 -110
  544. package/dist/commands/run-park-cli.js +109 -109
  545. package/dist/commands/run-pause-cli.js +189 -165
  546. package/dist/commands/run-pickup-cli.js +34 -33
  547. package/dist/commands/run-prep-main.js +106 -106
  548. package/dist/commands/run-prime-cli.js +136 -136
  549. package/dist/commands/run-progress-main.js +174 -127
  550. package/dist/commands/run-report-cli.js +45 -44
  551. package/dist/commands/run-review-cli.js +188 -188
  552. package/dist/commands/run-ship-cli.js +239 -234
  553. package/dist/commands/run-ship-evidence-cli.js +53 -54
  554. package/dist/commands/run-ship-lap-DGUAMCPY.js +28 -0
  555. package/dist/commands/run-ship-wait-main.js +64 -63
  556. package/dist/commands/run-split-cli.js +183 -156
  557. package/dist/commands/run-stale-main.js +55 -54
  558. package/dist/commands/run-status-cli.js +28 -28
  559. package/dist/commands/run-step-cli.js +192 -190
  560. package/dist/commands/run-tail-cli.js +9 -9
  561. package/dist/commands/run-tidy-main.js +53 -52
  562. package/dist/commands/run-wake-main.js +178 -178
  563. package/dist/commands/run-watcher-guard-cli.js +51 -50
  564. package/dist/commands/security-audit-main.js +8 -8
  565. package/dist/commands/security-audit-provision-main.js +5 -5
  566. package/dist/commands/selfcheck-cli.js +47 -47
  567. package/dist/commands/session-language-main.js +51 -51
  568. package/dist/commands/sonar-hotspots-cli.js +5 -5
  569. package/dist/commands/sonar-new-code-cli.js +3 -3
  570. package/dist/commands/split-assess-cli.js +42 -41
  571. package/dist/commands/split-child-recover-cli.js +28 -28
  572. package/dist/commands/start.js +53 -53
  573. package/dist/commands/stash-pop-main.js +3 -3
  574. package/dist/commands/stash-push-main.js +4 -4
  575. package/dist/commands/stop-guard.js +183 -159
  576. package/dist/commands/sync-main.js +18 -18
  577. package/dist/commands/telegram-test-main.js +20 -20
  578. package/dist/commands/test-declared.js +15 -15
  579. package/dist/commands/test-e2e-guard.js +41 -41
  580. package/dist/commands/test-pinned-main.js +43 -43
  581. package/dist/commands/test-reach-cli.js +27 -27
  582. package/dist/commands/test-red-main.js +12 -12
  583. package/dist/commands/test-related-UHUIUC7X.js +112 -0
  584. package/dist/commands/test-related-main.js +75 -76
  585. package/dist/commands/test-unit-guard-main.js +21 -21
  586. package/dist/commands/time-cli.js +34 -34
  587. package/dist/commands/time-density-cli.js +13 -12
  588. package/dist/commands/tree-status-cli.js +4 -4
  589. package/dist/commands/type-check-command.js +14 -14
  590. package/dist/commands/ui-routes-cli.js +4 -4
  591. package/dist/commands/uninstall.js +30 -30
  592. package/dist/commands/unused-members-LOSERD3C.js +329 -0
  593. package/dist/commands/unused-members-cli.js +15 -15
  594. package/dist/commands/upstream-interrupt-main.js +183 -136
  595. package/dist/commands/verification-gate.js +71 -72
  596. package/dist/commands/version-check.js +12 -12
  597. package/dist/hooks/audit-provision.js +4 -4
  598. package/dist/hooks/chunk-2R62D5UU.js +12 -0
  599. package/dist/hooks/chunk-3J5M7SXZ.js +1059 -0
  600. package/dist/hooks/chunk-4UAA2YFC.js +258 -0
  601. package/dist/hooks/chunk-74D3EJGW.js +5204 -0
  602. package/dist/hooks/chunk-74FYAI2L.js +43 -0
  603. package/dist/hooks/chunk-ALY5AW75.js +1953 -0
  604. package/dist/hooks/chunk-FBDC6KVJ.js +77 -0
  605. package/dist/hooks/chunk-HKUR6WKR.js +6874 -0
  606. package/dist/hooks/chunk-NFTDYUN3.js +1915 -0
  607. package/dist/hooks/chunk-NP6BVTR3.js +9176 -0
  608. package/dist/hooks/chunk-OOEG63LD.js +321 -0
  609. package/dist/hooks/chunk-RWVA2SFN.js +28584 -0
  610. package/dist/hooks/chunk-U55QDXSC.js +32 -0
  611. package/dist/hooks/chunk-VWZOPSZX.js +5092 -0
  612. package/dist/hooks/chunk-Z6W64J64.js +11254 -0
  613. package/dist/hooks/codex-hook-adapter.js +12 -12
  614. package/dist/hooks/daemon.js +112 -40
  615. package/dist/hooks/format-edited.js +7 -7
  616. package/dist/hooks/inputs.json +612 -556
  617. package/dist/hooks/pretool-guard.js +10 -10
  618. package/dist/hooks/run-ship-lap-XDLXQIS3.js +8 -0
  619. package/dist/hooks/session-lang.js +7 -7
  620. package/dist/hooks/stop-guard.js +8396 -4497
  621. package/dist/inputs.json +76 -76
  622. package/dist/josh.js +31 -15
  623. package/dist/registry-migrate.mjs +32 -8
  624. package/dist/version/index.js +48 -19
  625. package/package.json +1 -1
  626. package/prompts/collaboration-workflow/issue-template.en.md +5 -0
  627. package/prompts/collaboration-workflow/issue-template.md +14 -1
  628. package/scripts/backlog/backlog-drive-cli.ts +2 -1
  629. package/scripts/backlog/backlog-drive-listing.ts +20 -6
  630. package/scripts/backlog/backlog-hold-text.ts +1 -0
  631. package/scripts/backlog/backlog-listing-trace.ts +35 -0
  632. package/scripts/backlog/backlog-offer-timing.ts +10 -2
  633. package/scripts/backlog/backlog-wait-cause.ts +10 -2
  634. package/scripts/document/document-byte-budget.ts +2 -2
  635. package/scripts/git/git-command.ts +7 -3
  636. package/scripts/git/git-pre-push-hook.ts +9 -5
  637. package/scripts/git/git-spawn.ts +20 -4
  638. package/scripts/hooks/implementation-shell-deny-git.ts +17 -3
  639. package/scripts/hooks/pre-push-related-switch.ts +3 -2
  640. package/scripts/hooks/pre-push-unit.ts +3 -1
  641. package/scripts/issue/effect-audit.ts +7 -0
  642. package/scripts/issue/issue-body-cli.ts +18 -2
  643. package/scripts/issue/issue-body-keys.ts +1 -0
  644. package/scripts/issue/issue-file-pass.ts +1 -0
  645. package/scripts/issue/issue-lint-cli.ts +16 -2
  646. package/scripts/issue/issue-lint.ts +16 -0
  647. package/scripts/issue/issue-publication-state.ts +82 -6
  648. package/scripts/issue/issue-spill.ts +18 -4
  649. package/scripts/issue/issue-template-section.ts +7 -1
  650. package/scripts/josh/josh-commands-ai.ts +3 -2
  651. package/scripts/lane/lane-chain-stop-stats.ts +19 -7
  652. package/scripts/lane/lane-concurrency-stats.ts +39 -14
  653. package/scripts/lane/lane-concurrency-wait.ts +64 -0
  654. package/scripts/lane/lane-core-wait-stats.ts +13 -4
  655. package/scripts/lane/lane-implement-read-calls.ts +123 -0
  656. package/scripts/lane/lane-implement-read.ts +8 -3
  657. package/scripts/lane/lane-implement-stats.ts +33 -6
  658. package/scripts/lane/lane-ledger-schema-ship.ts +17 -3
  659. package/scripts/lane/lane-measure-cli.ts +5 -3
  660. package/scripts/lane/lane-plan-size.ts +1 -1
  661. package/scripts/lane/lane-size-record.ts +4 -3
  662. package/scripts/lane/lane-size-stats.ts +21 -9
  663. package/scripts/lane/lane-stats-request.ts +12 -3
  664. package/scripts/lane/lane-stats-tables.ts +30 -9
  665. package/scripts/lane/lane-stop-stats.ts +10 -1
  666. package/scripts/lane/lane-table-rows.ts +26 -0
  667. package/scripts/lib/timeouts.ts +4 -3
  668. package/scripts/registry-migration/migrate-lock.ts +40 -8
  669. package/scripts/registry-migration/migrate.ts +6 -3
  670. package/scripts/release/release-publish.ts +23 -3
  671. package/scripts/release/release-step-time.ts +61 -0
  672. package/scripts/review/disposition-batch-filing.ts +13 -0
  673. package/scripts/rules/git-argv.ts +10 -3
  674. package/scripts/run/board/run-board-closed-pace.ts +76 -0
  675. package/scripts/run/board/run-board-github.ts +17 -28
  676. package/scripts/run/board/run-board-labels.ts +5 -2
  677. package/scripts/run/board/run-board-reason.ts +10 -0
  678. package/scripts/run/entry/run-entry-sync.ts +17 -5
  679. package/scripts/run/hold/run-hold-cli.ts +8 -2
  680. package/scripts/run/merge/run-merge-health.ts +9 -2
  681. package/scripts/run/review/run-review-pinned-accepted.ts +24 -1
  682. package/scripts/run/run-preflight.ts +81 -17
  683. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +14 -9
  684. package/scripts/run/ship/run-ship-pre-detach.ts +16 -7
  685. package/scripts/run/ship/run-ship-stop-cause.ts +13 -2
  686. package/scripts/run/ship/run-ship.ts +7 -1
  687. package/scripts/split/split-assess.ts +7 -22
  688. package/scripts/split/split-cap.ts +31 -0
  689. package/scripts/test/direct-importers.ts +46 -3
  690. package/scripts/test/lockfile-changed-packages.ts +155 -0
  691. package/scripts/test/package-version-only.ts +30 -0
  692. package/scripts/test/pure-files-entries.ts +1 -27
  693. package/scripts/test/test-related-scope.ts +30 -5
  694. package/scripts/test/test-related.ts +3 -3
  695. package/scripts/test/test-unit-guard.ts +9 -9
  696. package/scripts/test/unit-worker-share.ts +21 -0
  697. package/scripts/test/whole-suite-files.ts +23 -2
  698. package/scripts/test/whole-suite-narrowing.ts +108 -0
  699. package/dist/commands/chunk-26JL4UU4.js +0 -365
  700. package/dist/commands/chunk-2BC33QPY.js +0 -183
  701. package/dist/commands/chunk-2BIVHPCA.js +0 -85
  702. package/dist/commands/chunk-2CKJODCK.js +0 -245
  703. package/dist/commands/chunk-2CNVIA35.js +0 -335
  704. package/dist/commands/chunk-2E6PSONB.js +0 -46
  705. package/dist/commands/chunk-2GA4775H.js +0 -77
  706. package/dist/commands/chunk-2O64H5UJ.js +0 -462
  707. package/dist/commands/chunk-2OEXY4GM.js +0 -252
  708. package/dist/commands/chunk-2ONSHOAY.js +0 -46
  709. package/dist/commands/chunk-2SA3W4JF.js +0 -41
  710. package/dist/commands/chunk-2VY7CJ2R.js +0 -212
  711. package/dist/commands/chunk-2WRDAQPJ.js +0 -74
  712. package/dist/commands/chunk-2XLR7R6E.js +0 -541
  713. package/dist/commands/chunk-34JJYCIY.js +0 -117
  714. package/dist/commands/chunk-36XHHYNU.js +0 -158
  715. package/dist/commands/chunk-3CJNQU7P.js +0 -179
  716. package/dist/commands/chunk-3D5T6KMW.js +0 -59
  717. package/dist/commands/chunk-3EW5LTN3.js +0 -114
  718. package/dist/commands/chunk-3F3RNIG2.js +0 -128
  719. package/dist/commands/chunk-3FLTEJZY.js +0 -74
  720. package/dist/commands/chunk-3JWPTRNI.js +0 -60
  721. package/dist/commands/chunk-3LUPGBW4.js +0 -137
  722. package/dist/commands/chunk-3PCUERXE.js +0 -19
  723. package/dist/commands/chunk-3U6A5WON.js +0 -173
  724. package/dist/commands/chunk-3VLDFM5I.js +0 -426
  725. package/dist/commands/chunk-3YT3RCSI.js +0 -140
  726. package/dist/commands/chunk-43DU7DYZ.js +0 -540
  727. package/dist/commands/chunk-43H725LG.js +0 -132
  728. package/dist/commands/chunk-46STCE6Q.js +0 -48
  729. package/dist/commands/chunk-46WEC6HZ.js +0 -82
  730. package/dist/commands/chunk-47J4KOZP.js +0 -46
  731. package/dist/commands/chunk-47W7PF4T.js +0 -22
  732. package/dist/commands/chunk-4F4KARQN.js +0 -229
  733. package/dist/commands/chunk-4HB7NWXP.js +0 -263
  734. package/dist/commands/chunk-4I5AA4P5.js +0 -237
  735. package/dist/commands/chunk-4IDINPBE.js +0 -525
  736. package/dist/commands/chunk-4NSIW3UB.js +0 -104
  737. package/dist/commands/chunk-4YTKV6WV.js +0 -37
  738. package/dist/commands/chunk-5ARNFMQK.js +0 -1263
  739. package/dist/commands/chunk-5AZTSESD.js +0 -114
  740. package/dist/commands/chunk-5FUI2MLY.js +0 -89
  741. package/dist/commands/chunk-5IHEBIPD.js +0 -333
  742. package/dist/commands/chunk-5KAW5GPF.js +0 -44
  743. package/dist/commands/chunk-5KSJEWXR.js +0 -77
  744. package/dist/commands/chunk-5PCK53WP.js +0 -168
  745. package/dist/commands/chunk-5PPWXOCF.js +0 -64
  746. package/dist/commands/chunk-5Y7FOJLX.js +0 -186
  747. package/dist/commands/chunk-5YTEMF4O.js +0 -110
  748. package/dist/commands/chunk-6AHAY5VZ.js +0 -69
  749. package/dist/commands/chunk-6FN37DER.js +0 -330
  750. package/dist/commands/chunk-6JD4VNO4.js +0 -124
  751. package/dist/commands/chunk-6KUA7MRG.js +0 -64
  752. package/dist/commands/chunk-6LDEZFYR.js +0 -88
  753. package/dist/commands/chunk-6NXIZMIK.js +0 -122
  754. package/dist/commands/chunk-6O45F6YI.js +0 -86
  755. package/dist/commands/chunk-6OHJBQDE.js +0 -184
  756. package/dist/commands/chunk-6TIVDEKG.js +0 -34
  757. package/dist/commands/chunk-6WDCCG3M.js +0 -1249
  758. package/dist/commands/chunk-6ZHXEQAI.js +0 -715
  759. package/dist/commands/chunk-736NECRD.js +0 -16
  760. package/dist/commands/chunk-77LEKVEE.js +0 -32
  761. package/dist/commands/chunk-7DGHFBU7.js +0 -247
  762. package/dist/commands/chunk-7EAYFMDN.js +0 -235
  763. package/dist/commands/chunk-7HYYHCTN.js +0 -402
  764. package/dist/commands/chunk-7JOOMFDI.js +0 -155
  765. package/dist/commands/chunk-7K5ITPHR.js +0 -338
  766. package/dist/commands/chunk-7OEBSPPU.js +0 -321
  767. package/dist/commands/chunk-7ULYLGUK.js +0 -492
  768. package/dist/commands/chunk-A3JYZWBS.js +0 -803
  769. package/dist/commands/chunk-A3LCN4KA.js +0 -84
  770. package/dist/commands/chunk-ABLXBG6C.js +0 -98
  771. package/dist/commands/chunk-ABM2MZBF.js +0 -161
  772. package/dist/commands/chunk-AN7BFVHU.js +0 -244
  773. package/dist/commands/chunk-AQCVEQSM.js +0 -99
  774. package/dist/commands/chunk-AU563VKH.js +0 -75
  775. package/dist/commands/chunk-AUTD5FV2.js +0 -1077
  776. package/dist/commands/chunk-AV26CMY6.js +0 -304
  777. package/dist/commands/chunk-B2PJEV3S.js +0 -246
  778. package/dist/commands/chunk-B545ENGY.js +0 -214
  779. package/dist/commands/chunk-B5HP6T4L.js +0 -170
  780. package/dist/commands/chunk-B73IIRMS.js +0 -207
  781. package/dist/commands/chunk-BBLEC4YQ.js +0 -109
  782. package/dist/commands/chunk-BDSG6JKH.js +0 -977
  783. package/dist/commands/chunk-BFKTUD3V.js +0 -33
  784. package/dist/commands/chunk-BLRXHK2V.js +0 -17
  785. package/dist/commands/chunk-BML6MEUB.js +0 -326
  786. package/dist/commands/chunk-BMM4RHCG.js +0 -69
  787. package/dist/commands/chunk-BPDNGJXY.js +0 -63
  788. package/dist/commands/chunk-BQLKWGGC.js +0 -118
  789. package/dist/commands/chunk-BRMJVCP7.js +0 -167
  790. package/dist/commands/chunk-BRWR5YKU.js +0 -268
  791. package/dist/commands/chunk-BUZAYEBD.js +0 -319
  792. package/dist/commands/chunk-C7FGDZWP.js +0 -224
  793. package/dist/commands/chunk-CC4BIGCA.js +0 -20
  794. package/dist/commands/chunk-CCHJZEF5.js +0 -4220
  795. package/dist/commands/chunk-CDK7QZWG.js +0 -44
  796. package/dist/commands/chunk-CDYFUCDC.js +0 -72
  797. package/dist/commands/chunk-CEADAQIL.js +0 -170
  798. package/dist/commands/chunk-CNL3SLM6.js +0 -116
  799. package/dist/commands/chunk-CNQ7D2GZ.js +0 -104
  800. package/dist/commands/chunk-COGKULQH.js +0 -119
  801. package/dist/commands/chunk-CQUZ6TNQ.js +0 -120
  802. package/dist/commands/chunk-CTXJVMHW.js +0 -48
  803. package/dist/commands/chunk-CUWT6UQO.js +0 -13
  804. package/dist/commands/chunk-D6CF5QGM.js +0 -80
  805. package/dist/commands/chunk-DACNQAXC.js +0 -20
  806. package/dist/commands/chunk-DDOS32JU.js +0 -74
  807. package/dist/commands/chunk-DF6QD4AF.js +0 -52
  808. package/dist/commands/chunk-DFEXNB44.js +0 -159
  809. package/dist/commands/chunk-DHDKG5HZ.js +0 -151
  810. package/dist/commands/chunk-DHJRFBKO.js +0 -223
  811. package/dist/commands/chunk-DKO5VTEH.js +0 -65
  812. package/dist/commands/chunk-DLHH3MLS.js +0 -85
  813. package/dist/commands/chunk-DOYNK72G.js +0 -81
  814. package/dist/commands/chunk-DS53UUDH.js +0 -679
  815. package/dist/commands/chunk-DUA4E4ES.js +0 -230
  816. package/dist/commands/chunk-DVCMQMRN.js +0 -191
  817. package/dist/commands/chunk-E3YKMCCJ.js +0 -108
  818. package/dist/commands/chunk-E4F2RTKC.js +0 -272
  819. package/dist/commands/chunk-E4PFCTXN.js +0 -127
  820. package/dist/commands/chunk-EAOTR2WL.js +0 -24
  821. package/dist/commands/chunk-EHPTXSAT.js +0 -315
  822. package/dist/commands/chunk-EHVEWJQ4.js +0 -33
  823. package/dist/commands/chunk-EMFSPPMH.js +0 -98
  824. package/dist/commands/chunk-EPICTV2P.js +0 -46
  825. package/dist/commands/chunk-ES42XPAD.js +0 -123
  826. package/dist/commands/chunk-ESUY7KTZ.js +0 -137
  827. package/dist/commands/chunk-EVVQJJFV.js +0 -507
  828. package/dist/commands/chunk-EWXXEGXL.js +0 -149
  829. package/dist/commands/chunk-F2U46HAE.js +0 -52
  830. package/dist/commands/chunk-F2VYWU6Z.js +0 -653
  831. package/dist/commands/chunk-F4SGOTUF.js +0 -36
  832. package/dist/commands/chunk-F4YMLVWN.js +0 -183
  833. package/dist/commands/chunk-F57LACNC.js +0 -84
  834. package/dist/commands/chunk-F5N2QIFD.js +0 -213
  835. package/dist/commands/chunk-FA7CN75F.js +0 -160
  836. package/dist/commands/chunk-FDASVHZD.js +0 -241
  837. package/dist/commands/chunk-FEYZ575X.js +0 -278
  838. package/dist/commands/chunk-FJM2HWKW.js +0 -299
  839. package/dist/commands/chunk-FJMXUDEY.js +0 -3985
  840. package/dist/commands/chunk-FM7VVAK6.js +0 -426
  841. package/dist/commands/chunk-FQWRM5FC.js +0 -67
  842. package/dist/commands/chunk-FT33ZCSB.js +0 -298
  843. package/dist/commands/chunk-FTAWHAI7.js +0 -170
  844. package/dist/commands/chunk-G2DNS74C.js +0 -53
  845. package/dist/commands/chunk-G3BBCAAH.js +0 -90
  846. package/dist/commands/chunk-G6BXCWPH.js +0 -141
  847. package/dist/commands/chunk-GABDPTDK.js +0 -907
  848. package/dist/commands/chunk-GAVSK6P6.js +0 -230
  849. package/dist/commands/chunk-GB2BRQVL.js +0 -300
  850. package/dist/commands/chunk-GBMZXFFC.js +0 -44
  851. package/dist/commands/chunk-GGWXF7RJ.js +0 -70
  852. package/dist/commands/chunk-GHOTKHI4.js +0 -30
  853. package/dist/commands/chunk-GMVN6ZP2.js +0 -48
  854. package/dist/commands/chunk-GNTTGRCX.js +0 -133
  855. package/dist/commands/chunk-GOY5JECO.js +0 -130
  856. package/dist/commands/chunk-GZL6ISVM.js +0 -72
  857. package/dist/commands/chunk-HALHQILI.js +0 -51
  858. package/dist/commands/chunk-HAT7AFBF.js +0 -85
  859. package/dist/commands/chunk-HDVSZ6CZ.js +0 -292
  860. package/dist/commands/chunk-HE3GOMR7.js +0 -88
  861. package/dist/commands/chunk-HEFUC4ZW.js +0 -65
  862. package/dist/commands/chunk-HHS3LYLV.js +0 -30
  863. package/dist/commands/chunk-HQSWPRUF.js +0 -61
  864. package/dist/commands/chunk-HQZ65PJE.js +0 -167
  865. package/dist/commands/chunk-HRN73FQJ.js +0 -77
  866. package/dist/commands/chunk-HSZECERZ.js +0 -271
  867. package/dist/commands/chunk-HYE3MBAN.js +0 -113
  868. package/dist/commands/chunk-IAB6LCJL.js +0 -18
  869. package/dist/commands/chunk-IAGENI2U.js +0 -42
  870. package/dist/commands/chunk-ICPVBHIX.js +0 -48
  871. package/dist/commands/chunk-ILIITIMQ.js +0 -126
  872. package/dist/commands/chunk-IONGJJYM.js +0 -179
  873. package/dist/commands/chunk-IP23WOWP.js +0 -126
  874. package/dist/commands/chunk-IPS7EBE5.js +0 -140
  875. package/dist/commands/chunk-IXZZSST7.js +0 -459
  876. package/dist/commands/chunk-IY3DSDRW.js +0 -173
  877. package/dist/commands/chunk-J2RUI4KN.js +0 -47
  878. package/dist/commands/chunk-J3PCRUVY.js +0 -1223
  879. package/dist/commands/chunk-J4XHEOOW.js +0 -156
  880. package/dist/commands/chunk-JDHLHYJJ.js +0 -208
  881. package/dist/commands/chunk-JGX7JIW4.js +0 -126
  882. package/dist/commands/chunk-JHIGDFBS.js +0 -59
  883. package/dist/commands/chunk-JI2EGXZX.js +0 -53
  884. package/dist/commands/chunk-JNV3VRK2.js +0 -47
  885. package/dist/commands/chunk-JPMAW2VZ.js +0 -91
  886. package/dist/commands/chunk-JQEY6KDP.js +0 -90
  887. package/dist/commands/chunk-JSJDIEGZ.js +0 -88
  888. package/dist/commands/chunk-JT5ICRFF.js +0 -44
  889. package/dist/commands/chunk-JU2MAYQ3.js +0 -997
  890. package/dist/commands/chunk-JUCJ4Y42.js +0 -77
  891. package/dist/commands/chunk-JZK33TA5.js +0 -99
  892. package/dist/commands/chunk-K3OZBV3L.js +0 -49
  893. package/dist/commands/chunk-K6P5PISC.js +0 -114
  894. package/dist/commands/chunk-KDCHY7XO.js +0 -88
  895. package/dist/commands/chunk-KDGX3JTV.js +0 -51
  896. package/dist/commands/chunk-KGSEWOKI.js +0 -353
  897. package/dist/commands/chunk-KIS7JFNP.js +0 -217
  898. package/dist/commands/chunk-KJPZPTS4.js +0 -245
  899. package/dist/commands/chunk-KKHD3C2P.js +0 -114
  900. package/dist/commands/chunk-KKIIY5I5.js +0 -67
  901. package/dist/commands/chunk-KN46UC77.js +0 -114
  902. package/dist/commands/chunk-KP2BVAS5.js +0 -125
  903. package/dist/commands/chunk-KPAJBJXG.js +0 -63
  904. package/dist/commands/chunk-KPMAJP6D.js +0 -145
  905. package/dist/commands/chunk-KR6WUAJM.js +0 -122
  906. package/dist/commands/chunk-KWLNK2NJ.js +0 -391
  907. package/dist/commands/chunk-KXK2A2HB.js +0 -158
  908. package/dist/commands/chunk-L2CLCNXW.js +0 -144
  909. package/dist/commands/chunk-L7MDU6D7.js +0 -155
  910. package/dist/commands/chunk-L7VD4MLF.js +0 -78
  911. package/dist/commands/chunk-LBVYFW3I.js +0 -38
  912. package/dist/commands/chunk-LIPUSINQ.js +0 -140
  913. package/dist/commands/chunk-LJVZWE3A.js +0 -1885
  914. package/dist/commands/chunk-LKSSQVDA.js +0 -49
  915. package/dist/commands/chunk-LNQOL2CL.js +0 -321
  916. package/dist/commands/chunk-LS7P324N.js +0 -72
  917. package/dist/commands/chunk-LU5EOGFQ.js +0 -50
  918. package/dist/commands/chunk-LX2ENXHZ.js +0 -197
  919. package/dist/commands/chunk-M3UGRNNB.js +0 -103
  920. package/dist/commands/chunk-M3ZDYCUF.js +0 -117
  921. package/dist/commands/chunk-MDGPJOLK.js +0 -351
  922. package/dist/commands/chunk-MDKRTUE4.js +0 -288
  923. package/dist/commands/chunk-MFZVRWRS.js +0 -34
  924. package/dist/commands/chunk-MHF6BDQI.js +0 -128
  925. package/dist/commands/chunk-MLJDW7YN.js +0 -64
  926. package/dist/commands/chunk-MNLHYAJO.js +0 -80
  927. package/dist/commands/chunk-MOD3FG4V.js +0 -419
  928. package/dist/commands/chunk-MRAEJLXL.js +0 -83
  929. package/dist/commands/chunk-MRW2WYJS.js +0 -68
  930. package/dist/commands/chunk-N2XH7QBY.js +0 -103
  931. package/dist/commands/chunk-N2ZF6T4E.js +0 -332
  932. package/dist/commands/chunk-N36NZMAL.js +0 -79
  933. package/dist/commands/chunk-N4EMFHQ6.js +0 -114
  934. package/dist/commands/chunk-N4P64UIH.js +0 -211
  935. package/dist/commands/chunk-NABSSY4P.js +0 -204
  936. package/dist/commands/chunk-NDQIJBRQ.js +0 -100
  937. package/dist/commands/chunk-NDR4PCVG.js +0 -29
  938. package/dist/commands/chunk-NEOCCN6D.js +0 -302
  939. package/dist/commands/chunk-NFKWFOFM.js +0 -45
  940. package/dist/commands/chunk-NFUPJBBG.js +0 -516
  941. package/dist/commands/chunk-NHEBKL7X.js +0 -170
  942. package/dist/commands/chunk-NHTEC5U4.js +0 -99
  943. package/dist/commands/chunk-NOSODWWK.js +0 -1132
  944. package/dist/commands/chunk-NPXXYG6Z.js +0 -580
  945. package/dist/commands/chunk-NR2JDBPV.js +0 -75
  946. package/dist/commands/chunk-NRULNBYI.js +0 -1153
  947. package/dist/commands/chunk-NTGF5N3N.js +0 -110
  948. package/dist/commands/chunk-NTIVNQKF.js +0 -73
  949. package/dist/commands/chunk-NUCFIYZL.js +0 -119
  950. package/dist/commands/chunk-NVMV7BYX.js +0 -88
  951. package/dist/commands/chunk-NYWPTYGL.js +0 -169
  952. package/dist/commands/chunk-O45BX4EL.js +0 -39
  953. package/dist/commands/chunk-O46T4ANI.js +0 -229
  954. package/dist/commands/chunk-O7ESC4HL.js +0 -566
  955. package/dist/commands/chunk-OBYLXHCH.js +0 -86
  956. package/dist/commands/chunk-OHN3QARP.js +0 -769
  957. package/dist/commands/chunk-OKBZGLD5.js +0 -393
  958. package/dist/commands/chunk-OKN63ZH5.js +0 -109
  959. package/dist/commands/chunk-ON4IKRGS.js +0 -469
  960. package/dist/commands/chunk-OT74RSQO.js +0 -82
  961. package/dist/commands/chunk-OVCVINYW.js +0 -143
  962. package/dist/commands/chunk-OZKLVTYI.js +0 -342
  963. package/dist/commands/chunk-OZN4HOZT.js +0 -74
  964. package/dist/commands/chunk-P3LJ2Q4N.js +0 -555
  965. package/dist/commands/chunk-P43GWYR6.js +0 -185
  966. package/dist/commands/chunk-P6ASP2DY.js +0 -132
  967. package/dist/commands/chunk-PBAEJ5PT.js +0 -38
  968. package/dist/commands/chunk-PCZROH3R.js +0 -100
  969. package/dist/commands/chunk-PJYTUUTH.js +0 -34
  970. package/dist/commands/chunk-PKXTISWR.js +0 -58
  971. package/dist/commands/chunk-PSGLUBSB.js +0 -74
  972. package/dist/commands/chunk-PVRDJU2B.js +0 -126
  973. package/dist/commands/chunk-Q42NF2TL.js +0 -47
  974. package/dist/commands/chunk-Q4ULMZAS.js +0 -106
  975. package/dist/commands/chunk-QCRUPRQ2.js +0 -207
  976. package/dist/commands/chunk-QGATHT4S.js +0 -114
  977. package/dist/commands/chunk-QKTTKAXM.js +0 -119
  978. package/dist/commands/chunk-QSBYULSS.js +0 -100
  979. package/dist/commands/chunk-QSJCZATC.js +0 -18
  980. package/dist/commands/chunk-QTJPCXEW.js +0 -23
  981. package/dist/commands/chunk-QTQAI2M2.js +0 -179
  982. package/dist/commands/chunk-QTVVFV4Q.js +0 -127
  983. package/dist/commands/chunk-QVOFWFWC.js +0 -134
  984. package/dist/commands/chunk-QX2EMUXV.js +0 -102
  985. package/dist/commands/chunk-QXBOECGL.js +0 -272
  986. package/dist/commands/chunk-QXCG3SG4.js +0 -88
  987. package/dist/commands/chunk-QZVMGAWV.js +0 -307
  988. package/dist/commands/chunk-R2THGPI3.js +0 -99
  989. package/dist/commands/chunk-R36VZIKU.js +0 -53
  990. package/dist/commands/chunk-R3F7F3TX.js +0 -94
  991. package/dist/commands/chunk-R5AABJZJ.js +0 -1062
  992. package/dist/commands/chunk-R7PYR4HW.js +0 -389
  993. package/dist/commands/chunk-RAQ3E6OT.js +0 -258
  994. package/dist/commands/chunk-RESNXNDG.js +0 -54
  995. package/dist/commands/chunk-RFIOZTXY.js +0 -305
  996. package/dist/commands/chunk-RFWB2KAV.js +0 -102
  997. package/dist/commands/chunk-RFXON3FK.js +0 -25
  998. package/dist/commands/chunk-RGEB5L37.js +0 -66
  999. package/dist/commands/chunk-RGRLLF2J.js +0 -119
  1000. package/dist/commands/chunk-RLRIMYXM.js +0 -178
  1001. package/dist/commands/chunk-RNB3DQOZ.js +0 -70
  1002. package/dist/commands/chunk-RO4QEZJO.js +0 -172
  1003. package/dist/commands/chunk-RS5HBJY6.js +0 -161
  1004. package/dist/commands/chunk-RV7EQIE4.js +0 -202
  1005. package/dist/commands/chunk-RWPCK3CO.js +0 -41
  1006. package/dist/commands/chunk-RWYSVFIA.js +0 -250
  1007. package/dist/commands/chunk-RYKK75YT.js +0 -289
  1008. package/dist/commands/chunk-S4JE63QE.js +0 -704
  1009. package/dist/commands/chunk-S5GX3H4P.js +0 -91
  1010. package/dist/commands/chunk-SC57VV6A.js +0 -60
  1011. package/dist/commands/chunk-SD4EX75H.js +0 -177
  1012. package/dist/commands/chunk-SJITWFNY.js +0 -480
  1013. package/dist/commands/chunk-SKGDMAIA.js +0 -33
  1014. package/dist/commands/chunk-SNSZ25XZ.js +0 -393
  1015. package/dist/commands/chunk-SOETJZWH.js +0 -7672
  1016. package/dist/commands/chunk-SQZZHK6X.js +0 -119
  1017. package/dist/commands/chunk-SRG6PKVS.js +0 -49
  1018. package/dist/commands/chunk-SRTEE34O.js +0 -93
  1019. package/dist/commands/chunk-SVTS7ACS.js +0 -18
  1020. package/dist/commands/chunk-SYTCTLMD.js +0 -285
  1021. package/dist/commands/chunk-T6JUDQMW.js +0 -181
  1022. package/dist/commands/chunk-TEXUEBGE.js +0 -208
  1023. package/dist/commands/chunk-TFDVTU6O.js +0 -910
  1024. package/dist/commands/chunk-TFYYXETQ.js +0 -472
  1025. package/dist/commands/chunk-TMFKVJUW.js +0 -121
  1026. package/dist/commands/chunk-TRHWBUWE.js +0 -61
  1027. package/dist/commands/chunk-TROCFVCU.js +0 -45
  1028. package/dist/commands/chunk-TUBBESHU.js +0 -85
  1029. package/dist/commands/chunk-TVZIFZZN.js +0 -62
  1030. package/dist/commands/chunk-TXRWAL63.js +0 -144
  1031. package/dist/commands/chunk-U46YTYJQ.js +0 -92
  1032. package/dist/commands/chunk-U5EO4QEV.js +0 -48
  1033. package/dist/commands/chunk-U7Y6RKLK.js +0 -168
  1034. package/dist/commands/chunk-UCO333EX.js +0 -47
  1035. package/dist/commands/chunk-UIXQ4IYT.js +0 -445
  1036. package/dist/commands/chunk-UJGNYPMD.js +0 -716
  1037. package/dist/commands/chunk-UREXZJDB.js +0 -210
  1038. package/dist/commands/chunk-URZ4RDC4.js +0 -220
  1039. package/dist/commands/chunk-UUA63LCI.js +0 -77
  1040. package/dist/commands/chunk-UVY5ODCM.js +0 -60
  1041. package/dist/commands/chunk-UWMB6EOU.js +0 -45
  1042. package/dist/commands/chunk-UY62WJV6.js +0 -120
  1043. package/dist/commands/chunk-UZDKCGDC.js +0 -198
  1044. package/dist/commands/chunk-VAHQ4AFM.js +0 -585
  1045. package/dist/commands/chunk-VL5I2IOD.js +0 -332
  1046. package/dist/commands/chunk-VMG3QB6C.js +0 -81
  1047. package/dist/commands/chunk-VO25PMGS.js +0 -58
  1048. package/dist/commands/chunk-VPRQFM2T.js +0 -37
  1049. package/dist/commands/chunk-VTLWODJ2.js +0 -133
  1050. package/dist/commands/chunk-VUCDGQ6Y.js +0 -260
  1051. package/dist/commands/chunk-VY7ZJMDT.js +0 -469
  1052. package/dist/commands/chunk-W4BR6QNU.js +0 -1241
  1053. package/dist/commands/chunk-W7X7MZZN.js +0 -449
  1054. package/dist/commands/chunk-WCYRNNKF.js +0 -76
  1055. package/dist/commands/chunk-WEUUJIWQ.js +0 -84
  1056. package/dist/commands/chunk-WNBJK6QE.js +0 -84
  1057. package/dist/commands/chunk-WORHUJ6T.js +0 -73
  1058. package/dist/commands/chunk-WR5PKCQW.js +0 -61
  1059. package/dist/commands/chunk-WR73HTRG.js +0 -121
  1060. package/dist/commands/chunk-WRNMUQTD.js +0 -95
  1061. package/dist/commands/chunk-WROJTXWZ.js +0 -138
  1062. package/dist/commands/chunk-WTIPX5NG.js +0 -43
  1063. package/dist/commands/chunk-WWLCQREY.js +0 -225
  1064. package/dist/commands/chunk-WXLW7S4M.js +0 -71
  1065. package/dist/commands/chunk-WXXLJQBO.js +0 -67
  1066. package/dist/commands/chunk-X4LYH6Q4.js +0 -56
  1067. package/dist/commands/chunk-XAEL24EG.js +0 -66
  1068. package/dist/commands/chunk-XI2ABCRX.js +0 -209
  1069. package/dist/commands/chunk-XRQMVAB4.js +0 -85
  1070. package/dist/commands/chunk-XUXCFPDK.js +0 -218
  1071. package/dist/commands/chunk-XZQWEVR3.js +0 -84
  1072. package/dist/commands/chunk-Y6OGDG5I.js +0 -49
  1073. package/dist/commands/chunk-YANDBVAT.js +0 -430
  1074. package/dist/commands/chunk-YD7XK2TX.js +0 -550
  1075. package/dist/commands/chunk-YEAE46TS.js +0 -98
  1076. package/dist/commands/chunk-YEQFAEVW.js +0 -112
  1077. package/dist/commands/chunk-YJZAD4Z5.js +0 -103
  1078. package/dist/commands/chunk-YNCF66RK.js +0 -1052
  1079. package/dist/commands/chunk-YOA25SII.js +0 -210
  1080. package/dist/commands/chunk-YOZTZMAT.js +0 -38
  1081. package/dist/commands/chunk-YSGRHVZG.js +0 -897
  1082. package/dist/commands/chunk-YSLGWRQN.js +0 -646
  1083. package/dist/commands/chunk-YT5JR2CB.js +0 -105
  1084. package/dist/commands/chunk-YTXCLGGL.js +0 -168
  1085. package/dist/commands/chunk-YVHJN2HS.js +0 -74
  1086. package/dist/commands/chunk-YY7XVVSB.js +0 -43
  1087. package/dist/commands/chunk-Z2NUK47W.js +0 -1314
  1088. package/dist/commands/chunk-Z5GZV4DV.js +0 -16
  1089. package/dist/commands/chunk-ZB52ZIEA.js +0 -1629
  1090. package/dist/commands/chunk-ZCD4AV2P.js +0 -73
  1091. package/dist/commands/chunk-ZCHZU6NX.js +0 -799
  1092. package/dist/commands/chunk-ZEH2B3DF.js +0 -239
  1093. package/dist/commands/chunk-ZGANVZCA.js +0 -92
  1094. package/dist/commands/chunk-ZGEUWHFF.js +0 -297
  1095. package/dist/commands/chunk-ZHSNQ2F7.js +0 -161
  1096. package/dist/commands/chunk-ZI3SABMH.js +0 -347
  1097. package/dist/commands/chunk-ZIIUBGON.js +0 -773
  1098. package/dist/commands/chunk-ZJJLROJY.js +0 -269
  1099. package/dist/commands/chunk-ZNIIA275.js +0 -59
  1100. package/dist/commands/chunk-ZV6BZZJ2.js +0 -271
  1101. package/dist/commands/run-ship-lap-W66LTXJJ.js +0 -28
  1102. package/dist/commands/test-related-XBDH2IOH.js +0 -113
  1103. package/dist/commands/unused-members-KVKZDTXD.js +0 -329
  1104. package/dist/hooks/chunk-3SA3FIQC.js +0 -6869
  1105. package/dist/hooks/chunk-46PTTMGE.js +0 -1625
  1106. package/dist/hooks/chunk-5NIBRHWG.js +0 -77
  1107. package/dist/hooks/chunk-76QKN2K3.js +0 -258
  1108. package/dist/hooks/chunk-CHEKMGFP.js +0 -321
  1109. package/dist/hooks/chunk-CY3ADSDR.js +0 -28580
  1110. package/dist/hooks/chunk-DCILEVDR.js +0 -5173
  1111. package/dist/hooks/chunk-HVNGIM5W.js +0 -5092
  1112. package/dist/hooks/chunk-L6IZZ2IL.js +0 -11219
  1113. package/dist/hooks/chunk-SAAPRHTK.js +0 -43
  1114. package/dist/hooks/chunk-U3ON2GBN.js +0 -12
  1115. package/dist/hooks/chunk-UZXMFOVK.js +0 -9170
  1116. package/dist/hooks/chunk-WCJ2GWYJ.js +0 -1381
  1117. package/dist/hooks/chunk-YEURBB4L.js +0 -32
  1118. package/dist/hooks/chunk-YRKS5ZKE.js +0 -1915
  1119. package/dist/hooks/run-ship-lap-P5555IG7.js +0 -8
@@ -0,0 +1,76 @@
1
+ import { MS_PER_MINUTE, MS_PER_SECOND } from '#scripts/lib/timeouts'
2
+ import type { LocalRead } from './run-board-read'
3
+ import type { BoardState } from './run-board-state'
4
+ import { run_board_status, type ItemState } from './run-board-status'
5
+
6
+ // Which children a `run:board` closed read asks about once its run has ended.
7
+
8
+ // A child waiting on a person, drawn in 🙋 decision until a closed read settles it.
9
+ const { WAITING_STATES } = run_board_status
10
+ const STOPPED_STATE: ItemState = 'stopped'
11
+ const ALWAYS_ASKED_STATES: ReadonlySet<ItemState> = new Set([STOPPED_STATE, ...WAITING_STATES])
12
+ // A child that merged itself is drawn stopped until GitHub answers it closed, and the answer can lag
13
+ // the merge by minutes (joshuafolkken/kit#7556). The board stays open between runs, so a stopped child
14
+ // that never closes stops being asked about this long after the run ended — several retry intervals,
15
+ // well past the lag of a merge that already happened.
16
+ const STOPPED_ASK_MINUTES = 15
17
+ const STOPPED_ASK_LIMIT_MS = STOPPED_ASK_MINUTES * MS_PER_MINUTE
18
+ // The first closed read after a lane ends often lands before GitHub shows the merge, which kept the
19
+ // child drawn 🛑 a whole retry interval (joshuafolkken/kit#7557). While a child the read asks about ended
20
+ // its lane within the window, the read is asked again this often. Rate limit: one lane end adds at most
21
+ // window ÷ retry (8) closed reads, each one read of the children still unanswered.
22
+ const FRESH_END_WINDOW_SECONDS = 120
23
+ const FRESH_RETRY_SECONDS = 15
24
+ const FRESH_END_WINDOW_MS = FRESH_END_WINDOW_SECONDS * MS_PER_SECOND
25
+ const FRESH_RETRY_MS = FRESH_RETRY_SECONDS * MS_PER_SECOND
26
+ // Only a closed lane is about to merge; a withdrawn one never closes its Issue.
27
+ const CLOSING_END = 'lane:close'
28
+
29
+ function has_asked_since_end(state: BoardState, ended_ms: number | undefined): boolean {
30
+ const { closed_answered_ms } = state
31
+ if (closed_answered_ms === undefined || ended_ms === undefined) return false
32
+
33
+ return closed_answered_ms >= ended_ms
34
+ }
35
+
36
+ // An ended run asks as a going run does until one ask after it ended has answered whole. After that it
37
+ // asks only about a child drawn stopped, until the limit, or waiting on a person — the person closing
38
+ // it is what the board waits to draw. `undefined` while the run still asks as a going run does.
39
+ function ended_asked_states(
40
+ state: BoardState,
41
+ local: LocalRead,
42
+ now_ms: number,
43
+ ): ReadonlySet<ItemState> | undefined {
44
+ const { ended_ms } = local
45
+ if (ended_ms === undefined || !has_asked_since_end(state, ended_ms)) return undefined
46
+
47
+ return now_ms - ended_ms <= STOPPED_ASK_LIMIT_MS ? ALWAYS_ASKED_STATES : WAITING_STATES
48
+ }
49
+
50
+ function is_fresh_end(local: LocalRead, issue: number, now_ms: number): boolean {
51
+ const end = local.lane_states.ended?.get(issue)
52
+
53
+ return end?.by === CLOSING_END && now_ms - end.ended_ms <= FRESH_END_WINDOW_MS
54
+ }
55
+
56
+ // How long after the last closed read the next is due: sooner while a child it asks about has just had
57
+ // its lane ended by its record, else `usual_ms`.
58
+ function closed_retry_ms(
59
+ local: LocalRead,
60
+ unread: ReadonlyArray<number>,
61
+ now_ms: number,
62
+ usual_ms: number,
63
+ ): number {
64
+ return unread.some((issue) => is_fresh_end(local, issue, now_ms)) ? FRESH_RETRY_MS : usual_ms
65
+ }
66
+
67
+ const run_board_closed_pace = {
68
+ ALWAYS_ASKED_STATES,
69
+ FRESH_END_WINDOW_MS,
70
+ FRESH_RETRY_MS,
71
+ STOPPED_ASK_LIMIT_MS,
72
+ closed_retry_ms,
73
+ ended_asked_states,
74
+ }
75
+
76
+ export { run_board_closed_pace }
@@ -1,6 +1,7 @@
1
1
  import { MS_PER_SECOND } from '#scripts/lib/timeouts'
2
2
  import { run_progress } from '#scripts/run/progress/run-progress'
3
3
  import type { ClosedAnswer } from './run-board-closed'
4
+ import { run_board_closed_pace } from './run-board-closed-pace'
4
5
  import { run_board_fetch, type Fetch } from './run-board-fetch'
5
6
  import { run_board_idle } from './run-board-idle'
6
7
  import type { BoardPlan } from './run-board-layout'
@@ -25,11 +26,8 @@ const PLAN_RETRY_MS = run_progress.DECLINE_RETRY_SECONDS * MS_PER_SECOND
25
26
  // A rejected closed read answers nothing closed and not whole, so it is asked again.
26
27
  const UNANSWERED: ClosedAnswer = { closed: new Map(), is_whole: false }
27
28
  const { is_due } = run_board_state
28
- const STOPPED_STATE: ItemState = 'stopped'
29
29
  const RUNNING_STATE: ItemState = 'running'
30
- // A child waiting on a person, drawn in 🙋 decision until a closed read settles it.
31
- const { WAITING_STATES } = run_board_status
32
- const ALWAYS_ASKED_STATES: ReadonlySet<ItemState> = new Set([STOPPED_STATE, ...WAITING_STATES])
30
+ const { ALWAYS_ASKED_STATES, closed_retry_ms, ended_asked_states } = run_board_closed_pace
33
31
 
34
32
  // What a step of the GitHub reads works against.
35
33
  interface Gather {
@@ -151,31 +149,21 @@ function is_closed_candidate(
151
149
  return is_unlisted(issue, read) && !is_closed_cached(issue, read)
152
150
  }
153
151
 
154
- // An ended run asks until one ask after it ended has answered whole, then holds what it has, as its
155
- // plan is held: the board is left open between runs, so a child that never answers closed would
156
- // otherwise be asked about every retry interval while no run is going. A child waiting on a person
157
- // is the exception — the person closing it is what the board waits to draw.
158
- function has_asked_since_end(state: BoardState, local: LocalRead): boolean {
159
- const { closed_answered_ms } = state
160
- if (closed_answered_ms === undefined || local.ended_ms === undefined) return false
161
-
162
- return closed_answered_ms >= local.ended_ms
163
- }
164
-
165
152
  // The children the board has not read closed yet that the open listing no longer holds, or that it
166
153
  // draws stopped or waiting: a child that merged itself and left its lane is drawn stopped until GitHub
167
- // says it merged (joshuafolkken/kit#4401), and a listing cut short proves nothing missing.
168
- function unread_closed(state: BoardState, local: LocalRead): Array<number> {
154
+ // says it merged (joshuafolkken/kit#4401), and a listing cut short proves nothing missing. An ended
155
+ // run narrows them as `run-board-closed-pace.ts` says.
156
+ function unread_closed(state: BoardState, gather: Gather): Array<number> {
169
157
  const read = open_read_of(state, state.plan)
170
- const drawn = run_board_status.settle_closed(statuses_for(state, local), read)
158
+ const drawn = run_board_status.settle_closed(statuses_for(state, gather.local), read)
171
159
  const is_plan_failed = state.failed_ms !== undefined
172
- const is_ended = has_asked_since_end(state, local)
160
+ const ended_asked = ended_asked_states(state, gather.local, gather.now_ms)
173
161
 
174
162
  return [...drawn]
175
163
  .filter(([issue, status]) =>
176
- is_ended
177
- ? WAITING_STATES.has(status.state)
178
- : is_closed_candidate(issue, status, read, is_plan_failed),
164
+ ended_asked === undefined
165
+ ? is_closed_candidate(issue, status, read, is_plan_failed)
166
+ : ended_asked.has(status.state),
179
167
  )
180
168
  .map(([issue]) => issue)
181
169
  }
@@ -187,16 +175,17 @@ function has_new_child(state: BoardState, unread: ReadonlyArray<number>): boolea
187
175
  function is_closed_due(state: BoardState, gather: Gather, unread: ReadonlyArray<number>): boolean {
188
176
  if (state.closed_fetch !== undefined) return false
189
177
 
190
- return (
191
- has_new_child(state, unread) || is_due(state.closed_attempted_ms, PLAN_RETRY_MS, gather.now_ms)
192
- )
178
+ const { local, now_ms } = gather
179
+ const retry_ms = closed_retry_ms(local, unread, now_ms, PLAN_RETRY_MS)
180
+
181
+ return has_new_child(state, unread) || is_due(state.closed_attempted_ms, retry_ms, now_ms)
193
182
  }
194
183
 
195
184
  // A closed child is read once and its answer kept; one that has not answered closed is asked again no
196
- // sooner than the plan is — unless a child the last ask did not hold has joined it — and an ended
197
- // run's not again once an ask after the end has answered whole.
185
+ // sooner than the plan is — unless a child the last ask did not hold has joined it, or one just ended
186
+ // its lane (`run-board-closed-pace.ts`).
198
187
  function launch_closed(state: BoardState, gather: Gather): BoardState {
199
- const unread = unread_closed(state, gather.local)
188
+ const unread = unread_closed(state, gather)
200
189
 
201
190
  if (unread.length === 0 || !is_closed_due(state, gather, unread)) return state
202
191
 
@@ -62,6 +62,7 @@ const WORDS = {
62
62
  waiting: 'waiting',
63
63
  queued: 'queued',
64
64
  not_before: 'not before',
65
+ publication: 'publication pending',
65
66
  decision: 'decision',
66
67
  waits: 'waits on',
67
68
  // What a waiting row waits on, where the legend names its icon.
@@ -272,9 +273,10 @@ const STAGE_ICONS: Readonly<Partial<Record<string, string>>> = {
272
273
  // running issue holds, 📋 the declared order, ✋ an unblocked issue held for its judgment, ❓ a
273
274
  // blocked issue nobody has judged, 🧍 a `run:solo` issue waiting for the running lanes, 🙅 a row behind it (#4294; 🚧 is a
274
275
  // held check's) and 🔒 a row a running `run:solo` issue holds (#4391), chosen on the same rule as
275
- // every row icon, and 🪫 the account's Claude usage limit until it resets (#4796). The rest are the
276
- // board's own, shared rather than copied.
276
+ // every row icon, 🪫 the account's Claude usage limit until it resets (#4796), and 📰 an issue whose
277
+ // filing has not published yet (#7572). The rest are the board's own, shared rather than copied.
277
278
  const WAIT_ICONS = {
279
+ publication: '📰',
278
280
  human_merge: '🔏',
279
281
  usage_limit: '🪫',
280
282
  path: '📂',
@@ -310,6 +312,7 @@ const WAIT_WORDS: ReadonlyArray<readonly [icon: string, word: keyof Words]> = [
310
312
  [WAIT_ICONS.blocker, 'waits'],
311
313
  [STATE_ICONS.human, 'on_human'],
312
314
  [WAIT_ICONS.not_before, 'not_before'],
315
+ [WAIT_ICONS.publication, 'publication'],
313
316
  ]
314
317
 
315
318
  // **The machine gauges' three colors, decided here alone**: Activity Monitor's green, yellow and red
@@ -6,6 +6,7 @@ import { epic_triage } from '#scripts/epic/epic-triage'
6
6
  import { has_label_name, has_parked_label, IN_PROGRESS_LABEL } from '#scripts/issue/issue-labels'
7
7
  import { issue_not_before } from '#scripts/issue/issue-not-before'
8
8
  import { issue_observation_gate } from '#scripts/issue/issue-observation-gate'
9
+ import { issue_publication_state } from '#scripts/issue/issue-publication-state'
9
10
  import { issue_sample_gate } from '#scripts/issue/issue-sample-gate'
10
11
  import { lane_state } from '#scripts/lane/lane-state'
11
12
  import type { RunCarry } from '#scripts/run/carry/run-carry'
@@ -344,6 +345,14 @@ function wait_of(
344
345
  return not_before_of(child, read.now_ms) ?? offer_wait(child, read, pool)
345
346
  }
346
347
 
348
+ // `📰`: an issue whose filing has not published yet (`issue-publication-state.ts`), which no pickup
349
+ // offers until it does, whatever else would keep it (joshuafolkken/kit#7572).
350
+ function publication_of(child: EpicChild): RowReason | undefined {
351
+ return issue_publication_state.is_pending(child.body)
352
+ ? { icon: WAIT_ICONS.publication }
353
+ : undefined
354
+ }
355
+
347
356
  // What each waiting row of one layout says, the pool-wide facts read once for all of them.
348
357
  function reader(read: ReasonRead): ReasonOf {
349
358
  const current = { ...read, ...run_board_human_merge.overlay_of(read.plan, read.statuses) }
@@ -354,6 +363,7 @@ function reader(read: ReasonRead): ReasonOf {
354
363
  run_board_human_merge.reason_of(child, current.plan) ??
355
364
  stage_of(child, current) ??
356
365
  planned_of(child, pool) ??
366
+ publication_of(child) ??
357
367
  wait_of(child, waits, current, pool)
358
368
  )
359
369
  }
@@ -1,7 +1,9 @@
1
+ import { git_command } from '#scripts/git/git-command'
1
2
  import { git_worktree } from '#scripts/git/git-worktree'
2
3
  import { issue_cite } from '#scripts/issue/issue-cite'
3
4
  import { josh_command, type JoshResult } from '#scripts/josh/josh-run'
4
5
  import { lane_child_marker } from '#scripts/lane/lane-child-marker'
6
+ import { run_preflight } from '#scripts/run/run-preflight'
5
7
 
6
8
  // The tree sync every entry runs before its reads — `#N` (joshuafolkken/kit#5943) and `new`
7
9
  // (`--adopt`, joshuafolkken/kit#5747) — so no run issues it as commands of its own: pre-existing changes
@@ -60,8 +62,17 @@ async function step(argv: ReadonlyArray<string>): Promise<JoshResult> {
60
62
  return await josh_command.josh_run(argv, should_forward_stderr)
61
63
  }
62
64
 
63
- async function sync_command(): Promise<string> {
64
- return (await git_worktree.is_linked()) ? 'main:merge' : 'main:sync'
65
+ // **A primary checkout on the issue's own branch merges, too** (joshuafolkken/kit#7543): the hold was
66
+ // taken there to resume a returned pull request, and `main:sync` would check out the default branch
67
+ // under it, so the fix would land on main instead of the pull request's branch.
68
+ async function is_merged_in_place(issue_number: string): Promise<boolean> {
69
+ if (await git_worktree.is_linked()) return true
70
+
71
+ return run_preflight.is_issue_branch(await git_command.branch(), issue_number)
72
+ }
73
+
74
+ async function sync_command(issue_number: string): Promise<string> {
75
+ return (await is_merged_in_place(issue_number)) ? 'main:merge' : 'main:sync'
65
76
  }
66
77
 
67
78
  function stopped({ failed, kept, recommended, later }: StopText): EntryStop {
@@ -117,7 +128,8 @@ async function restore(message: string, is_stashed: boolean): Promise<EntryStop
117
128
  return verdict === CONFLICTED_VERDICT ? pop_conflicted(message) : pop_unmatched(message)
118
129
  }
119
130
 
120
- async function sync_tree(message: string): Promise<EntryStop | undefined> {
131
+ async function sync_tree(entry: SyncEntry): Promise<EntryStop | undefined> {
132
+ const message = stash_message(entry)
121
133
  const pushed = await step([STASH_PUSH, message])
122
134
 
123
135
  if (pushed.code !== SUCCESS_EXIT_CODE) {
@@ -125,7 +137,7 @@ async function sync_tree(message: string): Promise<EntryStop | undefined> {
125
137
  }
126
138
 
127
139
  const is_stashed = verdict_of(pushed) === STASHED_VERDICT
128
- const command = await sync_command()
140
+ const command = await sync_command(entry.issue_number)
129
141
  const synced = await step([command])
130
142
 
131
143
  if (synced.code === SUCCESS_EXIT_CODE) return await restore(message, is_stashed)
@@ -137,7 +149,7 @@ async function sync_tree(message: string): Promise<EntryStop | undefined> {
137
149
  async function sync(entry: SyncEntry): Promise<EntryStop | undefined> {
138
150
  if (lane_child_marker.is_child_of(process.cwd())) return undefined
139
151
 
140
- return await sync_tree(stash_message(entry))
152
+ return await sync_tree(entry)
141
153
  }
142
154
 
143
155
  const run_entry_sync = {
@@ -266,9 +266,15 @@ async function preflight_gate(issue: string, is_linked: boolean): Promise<number
266
266
 
267
267
  const decision = await run_preflight.check(issue)
268
268
 
269
- if (decision.verdict === run_preflight.CLEAN_VERDICT) return undefined
269
+ if (decision.verdict !== run_preflight.CLEAN_VERDICT) return report_preflight(decision)
270
270
 
271
- return report_preflight(decision)
271
+ // A clean tree on the issue's own branch is a resume: the hold is taken, and the whole-gate rule is
272
+ // still said, because nobody verified what the earlier run committed.
273
+ if (decision.advice === run_preflight.RESUME_ADVICE) {
274
+ console.error(`${decision.reason}\n${decision.advice}`)
275
+ }
276
+
277
+ return undefined
272
278
  }
273
279
 
274
280
  async function claim(target: string, request: ClaimRequest, is_linked: boolean): Promise<number> {
@@ -41,8 +41,15 @@ function is_filed(events: ReadonlyArray<RunEvent>): boolean {
41
41
  )
42
42
  }
43
43
 
44
- // The lines `issue:file` requires of a defect whose origin is unknown (`issue:file --check`).
44
+ // The lines `issue:file` requires of a defect whose origin is unknown (`issue:file --check`), after the
45
+ // plain-language summary it requires first.
45
46
  const DECLARATIONS = [
47
+ issue_body_keys.heading('summary'),
48
+ '',
49
+ '**The verification gate fails on `main`, so every lane is held until it is repaired.**',
50
+ '',
51
+ 'Several lanes failed one after another, and the same verification then failed on `main` twice in a row, so the cause is on `main` rather than in any one lane. Fix whatever makes the verification fail on `main`; the output is under the reproduction below.',
52
+ '',
46
53
  issue_body_keys.heading('background'),
47
54
  '',
48
55
  issue_body_keys.line('kind', 'bug'),
@@ -132,6 +139,6 @@ async function check(child: string): Promise<boolean> {
132
139
  return false
133
140
  }
134
141
 
135
- const run_merge_health = { TITLE, check }
142
+ const run_merge_health = { TITLE, body_of, check }
136
143
 
137
144
  export { run_merge_health }
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path'
2
2
  import { git_command } from '#scripts/git/git-command'
3
3
  import { stamp_file } from '#scripts/josh/stamp-file'
4
+ import type { UnpinnedPath, UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
4
5
  import { error_text } from '#scripts/lib/error-message'
5
6
  import { test_pinned_logic } from '#scripts/test/test-pinned-logic'
6
7
  import { test_pinned_record, type PinnedSummary } from '#scripts/test/test-pinned-record'
@@ -135,6 +136,28 @@ async function judge(summary: PinnedSummary, reason: string | undefined): Promis
135
136
  return { kind: 'accepted', text: test_pinned_logic.report_text(summary, note) }
136
137
  }
137
138
 
138
- const run_review_pinned_accepted = { RECORD_NAME, judge, keep_reason, recorded_reason }
139
+ function stop_path(summary: PinnedSummary, reason: string | undefined): UnpinnedPath {
140
+ if (reason === undefined) return 'no-reason'
141
+
142
+ return summary.is_cut === true ? 'truncated' : 'new-site'
143
+ }
144
+
145
+ // Which path a `judge` stop without a reason took (joshuafolkken/kit#7552): no recorded reason, a
146
+ // recorded one a place outside its record outran, or one a cut check never applies — and how many
147
+ // unpinned places it found, with the hunks a cut check never probed.
148
+ async function unpinned_stop(summary: PinnedSummary): Promise<UnpinnedStop> {
149
+ const stop = { path: stop_path(summary, await recorded_reason()), hunks: summary.unpinned.length }
150
+ const { is_cut, remaining } = summary
151
+
152
+ return is_cut === true && remaining !== undefined ? { ...stop, remaining } : stop
153
+ }
154
+
155
+ const run_review_pinned_accepted = {
156
+ RECORD_NAME,
157
+ judge,
158
+ keep_reason,
159
+ recorded_reason,
160
+ unpinned_stop,
161
+ }
139
162
 
140
163
  export { run_review_pinned_accepted }
@@ -6,6 +6,7 @@ import { session_cite } from '#scripts/issue/session-cite'
6
6
  import { lane_registry, type LaneInfo } from '#scripts/lane/lane-registry'
7
7
  import { error_text } from '#scripts/lib/error-message'
8
8
  import { json_value } from '#scripts/lib/json-value'
9
+ import { shell_quote } from '#scripts/lib/shell-quote'
9
10
  import { run_hold } from '#scripts/run/hold/run-hold'
10
11
  import { z } from 'zod'
11
12
 
@@ -52,6 +53,9 @@ interface TreeState {
52
53
 
53
54
  interface ChildState {
54
55
  branch_name: string | undefined
56
+ // The open lane's worktree when it has `branch_name` checked out — git refuses to switch another
57
+ // checkout onto that branch, so the resume happens in the lane's directory instead.
58
+ lane_directory?: string
55
59
  pr_state: PrState
56
60
  }
57
61
 
@@ -94,8 +98,25 @@ const STASH_LABEL_PREFIX = 'run:hold reclaimed before #'
94
98
  const { require_issue_number } = issue_number_shape
95
99
  const UNREADABLE_PR_MESSAGE = 'The pull request could not be read for branch '
96
100
 
97
- function needs_reclaim(tree: TreeState): boolean {
98
- return tree.is_dirty || tree.branch !== tree.default_branch
101
+ const RESUME_IN_PLACE_REASON =
102
+ 'HEAD is on this issue’s own branch over a clean tree, so the run resumes there.'
103
+
104
+ const ISSUE_BRANCH_SEPARATOR = '-'
105
+
106
+ // The same `<N>-` rule `read_branch_candidates` globs by, so `<N><digit>-…` is another issue's branch.
107
+ function is_issue_branch(branch: string, issue: string): boolean {
108
+ return branch.startsWith(`${issue}${ISSUE_BRANCH_SEPARATOR}`)
109
+ }
110
+
111
+ function is_off_default(tree: TreeState): boolean {
112
+ return tree.branch !== tree.default_branch
113
+ }
114
+
115
+ // **The issue's own branch over a clean tree is where a resume belongs, not something to reclaim**
116
+ // (joshuafolkken/kit#7543): reclaiming it sends the run to the default branch, where `resume` sends it
117
+ // straight back, and neither answer takes the hold. Another issue's branch is still reclaimed.
118
+ function needs_reclaim(tree: TreeState, issue: string): boolean {
119
+ return tree.is_dirty || (is_off_default(tree) && !is_issue_branch(tree.branch, issue))
99
120
  }
100
121
 
101
122
  // A pull request that was merged or closed is a decision somebody already made. Carrying on over a
@@ -114,17 +135,23 @@ function has_leftover_work(child: ChildState): boolean {
114
135
  return child.branch_name !== undefined || child.pr_state === OPEN_PR
115
136
  }
116
137
 
138
+ // A clean tree past `needs_reclaim` and off the default branch is on the issue's own branch; it has
139
+ // followed `resume`'s advice only when the work found is on that same branch, not on a sibling one.
140
+ function is_resuming_in_place(tree: TreeState, child: ChildState): boolean {
141
+ return is_off_default(tree) && (child.branch_name ?? tree.branch) === tree.branch
142
+ }
143
+
117
144
  // The precedence is fixed, and the first row is why it has to be. A `resume` or a `park` decided over
118
145
  // a dirty tree hands the next child a checkout it cannot switch — so the tree is reclaimed first and
119
146
  // the question asked again on the clean tree, rather than two answers being merged into one.
120
- function to_verdict(tree: TreeState, child: ChildState): PreflightVerdict {
121
- if (needs_reclaim(tree)) return RECLAIM_VERDICT
147
+ function to_verdict(tree: TreeState, child: ChildState, issue: string): PreflightVerdict {
148
+ if (needs_reclaim(tree, issue)) return RECLAIM_VERDICT
122
149
 
123
150
  if (is_pr_decided(child.pr_state)) return PARK_VERDICT
124
151
 
125
- if (has_leftover_work(child)) return RESUME_VERDICT
152
+ if (is_resuming_in_place(tree, child)) return CLEAN_VERDICT
126
153
 
127
- return CLEAN_VERDICT
154
+ return has_leftover_work(child) ? RESUME_VERDICT : CLEAN_VERDICT
128
155
  }
129
156
 
130
157
  function reclaim_reason(tree: TreeState): string {
@@ -154,7 +181,7 @@ function to_reason(verdict: PreflightVerdict, tree: TreeState, child: ChildState
154
181
 
155
182
  if (verdict === RESUME_VERDICT) return resume_reason(child)
156
183
 
157
- return CLEAN_REASON
184
+ return is_off_default(tree) ? RESUME_IN_PLACE_REASON : CLEAN_REASON
158
185
  }
159
186
 
160
187
  // **`-u` is not optional.** What an interrupted run leaves almost always includes a new `*.test.ts`,
@@ -183,21 +210,49 @@ function reclaim_advice(tree: TreeState, issue: string): string {
183
210
  ].join('\n')
184
211
  }
185
212
 
186
- function to_advice(verdict: PreflightVerdict, issue: string, tree: TreeState): string {
213
+ // **`resume` names the one command that leads to a hold.** Switched onto the branch, the same ask
214
+ // answers `clean` and takes the hold, so the caller never alternates between `resume` and `reclaim`.
215
+ // A branch an open lane has checked out cannot be switched to here, so that lane's directory is named.
216
+ function resume_steps(child: ChildState): Array<string> {
217
+ if (child.lane_directory !== undefined) {
218
+ return [
219
+ `cd ${shell_quote.word(child.lane_directory)}`,
220
+ 'Resume in that lane worktree, where the branch is checked out; keep its directory.',
221
+ ]
222
+ }
223
+
224
+ if (child.branch_name === undefined) return []
225
+
226
+ return [
227
+ `git switch ${shell_quote.word(child.branch_name)}`,
228
+ 'Then ask this command again: it takes the hold there.',
229
+ ]
230
+ }
231
+
232
+ function resume_advice(child: ChildState): string {
233
+ return [...resume_steps(child), RESUME_ADVICE].join('\n')
234
+ }
235
+
236
+ function to_advice(
237
+ verdict: PreflightVerdict,
238
+ issue: string,
239
+ tree: TreeState,
240
+ child: ChildState,
241
+ ): string {
187
242
  if (verdict === RECLAIM_VERDICT) return reclaim_advice(tree, issue)
188
243
 
189
- if (verdict === RESUME_VERDICT) return RESUME_ADVICE
244
+ if (verdict === RESUME_VERDICT) return resume_advice(child)
190
245
 
191
246
  if (verdict === PARK_VERDICT) return PARK_ADVICE
192
247
 
193
- return CLEAN_ADVICE
248
+ return is_off_default(tree) ? RESUME_ADVICE : CLEAN_ADVICE
194
249
  }
195
250
 
196
251
  function decide(tree: TreeState, child: ChildState, issue: string): PreflightDecision {
197
- const verdict = to_verdict(tree, child)
252
+ const verdict = to_verdict(tree, child, issue)
198
253
 
199
254
  return {
200
- advice: to_advice(verdict, issue, tree),
255
+ advice: to_advice(verdict, issue, tree, child),
201
256
  reason: to_reason(verdict, tree, child),
202
257
  verdict,
203
258
  }
@@ -260,8 +315,16 @@ function is_pr_open(state: PrState): boolean {
260
315
  return state === OPEN_PR
261
316
  }
262
317
 
263
- async function read_pr_of_branch(branch_name: string): Promise<ChildState> {
264
- return { branch_name, pr_state: await read_pr_state(branch_name) }
318
+ async function read_pr_of_branch(
319
+ branch_name: string,
320
+ lane: LaneInfo | undefined,
321
+ ): Promise<ChildState> {
322
+ const pr_state = await read_pr_state(branch_name)
323
+ const is_lane_branch = lane?.branch === branch_name && !lane.is_stranded
324
+
325
+ return is_lane_branch
326
+ ? { branch_name, lane_directory: lane.directory, pr_state }
327
+ : { branch_name, pr_state }
265
328
  }
266
329
 
267
330
  // **A decided pull request on any candidate branch outranks an open one on another.** An interrupted
@@ -273,7 +336,7 @@ function pick_child_state(reads: ReadonlyArray<ChildState>): ChildState {
273
336
  const decided = reads.find((read) => is_pr_decided(read.pr_state))
274
337
  const open = reads.find((read) => is_pr_open(read.pr_state))
275
338
 
276
- return decided ?? open ?? { branch_name: reads[0]?.branch_name, pr_state: NO_PR }
339
+ return decided ?? open ?? reads[0] ?? NO_CHILD_WORK
277
340
  }
278
341
 
279
342
  // `git branch --list` takes a glob, so the branch is found without knowing its slug: `pnpm josh git`
@@ -356,7 +419,7 @@ async function read_candidate(
356
419
  references: ReadonlyArray<string>,
357
420
  context: CandidateContext,
358
421
  ): Promise<ChildState | undefined> {
359
- const state = await read_pr_of_branch(name)
422
+ const state = await read_pr_of_branch(name, context.lane)
360
423
 
361
424
  if (state.pr_state !== NO_PR || (await has_commits_beyond(context.base, references))) return state
362
425
 
@@ -389,7 +452,7 @@ async function check(issue: string): Promise<PreflightDecision> {
389
452
 
390
453
  const tree = await read_tree_state()
391
454
 
392
- if (needs_reclaim(tree)) return decide(tree, NO_CHILD_WORK, issue)
455
+ if (needs_reclaim(tree, issue)) return decide(tree, NO_CHILD_WORK, issue)
393
456
 
394
457
  return decide(tree, await read_child_state(issue), issue)
395
458
  }
@@ -401,6 +464,7 @@ const run_preflight = {
401
464
  STASH_LABEL_PREFIX,
402
465
  check,
403
466
  decide,
467
+ is_issue_branch,
404
468
  read_child_state,
405
469
  read_pr_state,
406
470
  to_pr_state,
@@ -1,6 +1,5 @@
1
1
  import { randomUUID } from 'node:crypto'
2
2
  import { check_reuse } from '#scripts/gate/check-reuse'
3
- import type { JoshResult } from '#scripts/josh/josh-run'
4
3
  import { buffered_process } from '#scripts/lib/buffered-process'
5
4
  import { error_text } from '#scripts/lib/error-message'
6
5
  import { review_round_reuse } from '#scripts/review/review-round-reuse'
@@ -12,7 +11,7 @@ import { run_review_pinned_steps } from '#scripts/run/review/run-review-pinned-s
12
11
  import { test_pinned } from '#scripts/test/test-pinned'
13
12
  import { test_pinned_logic } from '#scripts/test/test-pinned-logic'
14
13
  import { test_pinned_record, type PinnedSummary } from '#scripts/test/test-pinned-record'
15
- import { run_ship_pre_detach, type PreDetachResult } from './run-ship-pre-detach'
14
+ import { run_ship_pre_detach, type PinnedResult, type PreDetachResult } from './run-ship-pre-detach'
16
15
  import { run_ship_pre_detach_timed } from './run-ship-pre-detach-timed'
17
16
  import type { ShipArguments } from './run-ship-steps'
18
17
 
@@ -125,21 +124,27 @@ async function is_listed_after_detach(number: string): Promise<boolean> {
125
124
  }
126
125
  }
127
126
 
127
+ // A stop carries the path it took into the ledger's stop record (joshuafolkken/kit#7552).
128
+ async function judged(answer: PinnedSummary, reason: string | undefined): Promise<PinnedResult> {
129
+ const verdict = await run_review_pinned_accepted.judge(answer, reason)
130
+
131
+ if (verdict.kind !== 'stop') return { code: SUCCESS_EXIT_CODE, out: verdict.text }
132
+
133
+ const unpinned = await run_review_pinned_accepted.unpinned_stop(answer)
134
+
135
+ return { code: FAILURE_EXIT_CODE, out: verdict.text, unpinned }
136
+ }
137
+
128
138
  // **A reason accepts any answer, so no probe is waited on** (joshuafolkken/kit#4833) when a fresh
129
139
  // round 1 lists the places after the detach.
130
- async function pinned_check(options: CheckOptions): Promise<JoshResult> {
140
+ async function pinned_check(options: CheckOptions): Promise<PinnedResult> {
131
141
  const reason = run_review_pinned.ok_reason_of(options.unpinned_ok)
132
142
 
133
143
  if (reason !== undefined && (await is_listed_after_detach(options.number))) {
134
144
  return { code: SUCCESS_EXIT_CODE, out: `${SKIPPED_NOTE}${reason}\n` }
135
145
  }
136
146
 
137
- const verdict = await run_review_pinned_accepted.judge(await summary_for(reason), reason)
138
-
139
- return {
140
- code: verdict.kind === 'stop' ? FAILURE_EXIT_CODE : SUCCESS_EXIT_CODE,
141
- out: verdict.text,
142
- }
147
+ return await judged(await summary_for(reason), reason)
143
148
  }
144
149
 
145
150
  // **A ship with no `--review` reads no background probe, so it stops the one left running**
@@ -8,6 +8,7 @@ import { metrics_totals } from '#scripts/gate/metrics-totals'
8
8
  import { structural_checks } from '#scripts/gate/structural-checks'
9
9
  import { type_check_step } from '#scripts/gate/type-check-step'
10
10
  import type { JoshResult } from '#scripts/josh/josh-run'
11
+ import type { UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
11
12
  import { lane_ledger_write } from '#scripts/lane/lane-ledger-write'
12
13
  import { buffered_process, type BufferedProcessResult } from '#scripts/lib/buffered-process'
13
14
 
@@ -145,7 +146,12 @@ function verdict(runs: ReadonlyArray<PreDetachRun>): JoshResult {
145
146
  }
146
147
 
147
148
  // The `test:pinned` check a `--review` ship adds (`run-ship-pre-detach-pinned.ts`); none is asked by default.
148
- type PinnedCheck = () => Promise<JoshResult>
149
+ // A red one carries the path its stop took (joshuafolkken/kit#7552).
150
+ interface PinnedResult extends JoshResult {
151
+ unpinned?: UnpinnedStop
152
+ }
153
+
154
+ type PinnedCheck = () => Promise<PinnedResult>
149
155
 
150
156
  async function not_asked(): Promise<JoshResult> {
151
157
  return { code: SUCCESS_EXIT_CODE, out: PASSED }
@@ -153,8 +159,8 @@ async function not_asked(): Promise<JoshResult> {
153
159
 
154
160
  // The checks' answer, with the kinds a `stop` record names its red by: `pre-detach` for the static
155
161
  // checks, `unpinned` for `test:pinned`, so `lane:stats` tells an unpinned stop apart
156
- // (joshuafolkken/kit#5228).
157
- interface PreDetachResult extends JoshResult {
162
+ // (joshuafolkken/kit#5228), and the path that `unpinned` stop took.
163
+ interface PreDetachResult extends PinnedResult {
158
164
  preconditions?: ReadonlyArray<string>
159
165
  }
160
166
 
@@ -173,11 +179,14 @@ function red_kinds(result: JoshResult, pinned: JoshResult): ReadonlyArray<string
173
179
  }
174
180
 
175
181
  // The pinned check's stop joins the others' rather than hiding them.
176
- function with_pinned(result: JoshResult, pinned: JoshResult): PreDetachResult {
182
+ function with_pinned(result: JoshResult, pinned: PinnedResult): PreDetachResult {
177
183
  const preconditions = red_kinds(result, pinned)
178
- const answer = joined(result, pinned)
184
+ const { code, out } = joined(result, pinned)
185
+ const { unpinned } = pinned
186
+
187
+ if (preconditions.length === 0) return { code, out }
179
188
 
180
- return preconditions.length === 0 ? answer : { ...answer, preconditions }
189
+ return { code, out, preconditions, ...(unpinned !== undefined && { unpinned }) }
181
190
  }
182
191
 
183
192
  // All run at once, buffered, and every failure is reported, so one ship shows all there is to fix.
@@ -213,5 +222,5 @@ const run_ship_pre_detach = {
213
222
  with_pinned,
214
223
  }
215
224
 
216
- export type { PinnedCheck, PreDetachCheck, PreDetachResult }
225
+ export type { PinnedCheck, PinnedResult, PreDetachCheck, PreDetachResult }
217
226
  export { run_ship_pre_detach }