@joshuafolkken/kit 1.3044.0 → 1.3092.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1236) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
  3. package/.claude/skills/workflow-commands/halfrun.md +3 -2
  4. package/.claude/skills/workflow-commands/kickoff.md +9 -2
  5. package/.claude/skills/workflow-commands/prerequisite.md +2 -0
  6. package/.claude/skills/workflow-commands/retrospective.md +2 -1
  7. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  8. package/.github/workflows/ci.yml +0 -20
  9. package/.github/workflows/pr-classification.yml +0 -5
  10. package/.github/workflows/publish.yml +0 -1
  11. package/.github/workflows/sonar-qube.yml +0 -5
  12. package/README.md +2 -0
  13. package/SECURITY.md +2 -1
  14. package/dist/.inputs-verified.json +1 -1
  15. package/dist/commands/adopt.js +29 -20
  16. package/dist/commands/auto-ok-judge-cli.js +43 -33
  17. package/dist/commands/auto-ok-main.js +73 -74
  18. package/dist/commands/backlog-budget-main.js +5 -6
  19. package/dist/commands/backlog-drive-cli.js +286 -305
  20. package/dist/commands/backlog-next-main.js +111 -108
  21. package/dist/commands/backlog-offer-main.js +148 -112
  22. package/dist/commands/backlog-plan-cli.js +123 -120
  23. package/dist/commands/backlog-triage-cli.js +131 -128
  24. package/dist/commands/backlogrun-cli.js +273 -264
  25. package/dist/commands/behavior-cli.js +23 -26
  26. package/dist/commands/bytes-command.js +56 -59
  27. package/dist/commands/cases-cli.js +4 -5
  28. package/dist/commands/check-commit-message-main.js +3 -4
  29. package/dist/commands/check-related.js +125 -119
  30. package/dist/commands/chunk-26JL4UU4.js +365 -0
  31. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  32. package/dist/commands/chunk-2CKJODCK.js +245 -0
  33. package/dist/commands/chunk-2E6PSONB.js +46 -0
  34. package/dist/commands/chunk-2GA4775H.js +77 -0
  35. package/dist/commands/chunk-2O64H5UJ.js +462 -0
  36. package/dist/commands/chunk-2OEXY4GM.js +252 -0
  37. package/dist/commands/chunk-2OMIHPPE.js +51 -0
  38. package/dist/commands/chunk-2ONSHOAY.js +46 -0
  39. package/dist/commands/chunk-2Q7MGFYB.js +1208 -0
  40. package/dist/commands/chunk-2SA3W4JF.js +41 -0
  41. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  42. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  43. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  44. package/dist/commands/chunk-2XZF3YFY.js +47 -0
  45. package/dist/commands/chunk-33TAOZUE.js +29 -0
  46. package/dist/commands/chunk-374XGAWD.js +158 -0
  47. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  48. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  49. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  50. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  51. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  52. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  53. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  54. package/dist/commands/chunk-3PCUERXE.js +19 -0
  55. package/dist/commands/chunk-3U6A5WON.js +173 -0
  56. package/dist/commands/chunk-3YT3RCSI.js +140 -0
  57. package/dist/commands/chunk-43DU7DYZ.js +540 -0
  58. package/dist/commands/chunk-43H725LG.js +132 -0
  59. package/dist/commands/chunk-46STCE6Q.js +48 -0
  60. package/dist/commands/chunk-46WEC6HZ.js +82 -0
  61. package/dist/commands/chunk-47J4KOZP.js +46 -0
  62. package/dist/commands/chunk-47W7PF4T.js +22 -0
  63. package/dist/commands/chunk-4F4KARQN.js +229 -0
  64. package/dist/commands/chunk-4GUGC4IW.js +338 -0
  65. package/dist/commands/chunk-4HB7NWXP.js +263 -0
  66. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  67. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  68. package/dist/commands/chunk-4IDINPBE.js +525 -0
  69. package/dist/commands/chunk-4K7KLR7L.js +69 -0
  70. package/dist/commands/chunk-4MGTNY2L.js +347 -0
  71. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  72. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  73. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  74. package/dist/commands/chunk-5AZTSESD.js +114 -0
  75. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  76. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  77. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  78. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  79. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  80. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  81. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  82. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  83. package/dist/commands/chunk-5VQCL33M.js +46 -0
  84. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  85. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  86. package/dist/commands/chunk-62NYXZCC.js +241 -0
  87. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  88. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  89. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  90. package/dist/commands/chunk-6O45F6YI.js +86 -0
  91. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  92. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  93. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  94. package/dist/commands/chunk-736NECRD.js +16 -0
  95. package/dist/commands/chunk-77LEKVEE.js +32 -0
  96. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  97. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  98. package/dist/commands/chunk-7E43YW53.js +128 -0
  99. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  100. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  101. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  102. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  103. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  104. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  105. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  106. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  107. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  108. package/dist/commands/chunk-AT46EY7H.js +393 -0
  109. package/dist/commands/chunk-AU563VKH.js +75 -0
  110. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  111. package/dist/commands/chunk-AV26CMY6.js +304 -0
  112. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  113. package/dist/commands/chunk-B545ENGY.js +214 -0
  114. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  115. package/dist/commands/chunk-B5XYAWNN.js +37 -0
  116. package/dist/commands/chunk-B73IIRMS.js +207 -0
  117. package/dist/commands/chunk-BAEDHPXW.js +160 -0
  118. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  119. package/dist/commands/chunk-BE6F4YK2.js +769 -0
  120. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  121. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  122. package/dist/commands/chunk-BLUAO4QW.js +173 -0
  123. package/dist/commands/chunk-BML6MEUB.js +326 -0
  124. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  125. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  126. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  127. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  128. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  129. package/dist/commands/chunk-BVUL57IX.js +139 -0
  130. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  131. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  132. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  133. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  134. package/dist/commands/chunk-CEADAQIL.js +170 -0
  135. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  136. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  137. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  138. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  139. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  140. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  141. package/dist/commands/chunk-DACNQAXC.js +20 -0
  142. package/dist/commands/chunk-DDOS32JU.js +74 -0
  143. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  144. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  145. package/dist/commands/chunk-DFEXNB44.js +159 -0
  146. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  147. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  148. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  149. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  150. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  151. package/dist/commands/chunk-DOYNK72G.js +81 -0
  152. package/dist/commands/chunk-DS53UUDH.js +679 -0
  153. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  154. package/dist/commands/chunk-DURHGVRC.js +33 -0
  155. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  156. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  157. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  158. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  159. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  160. package/dist/commands/chunk-EE4VOZJP.js +167 -0
  161. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  162. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  163. package/dist/commands/chunk-EN65ZS3S.js +73 -0
  164. package/dist/commands/chunk-ES42XPAD.js +123 -0
  165. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  166. package/dist/commands/chunk-ET6IRQ3L.js +330 -0
  167. package/dist/commands/chunk-EWCUT7U2.js +1314 -0
  168. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  169. package/dist/commands/chunk-EZYW54OQ.js +7569 -0
  170. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  171. package/dist/commands/chunk-F2U46HAE.js +52 -0
  172. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  173. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  174. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  175. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  176. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  177. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  178. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  179. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  180. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  181. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  182. package/dist/commands/chunk-G2DNS74C.js +53 -0
  183. package/dist/commands/chunk-G75GWNNY.js +101 -0
  184. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  185. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  186. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  187. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  188. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  189. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  190. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  191. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  192. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  193. package/dist/commands/chunk-GOY5JECO.js +130 -0
  194. package/dist/commands/chunk-GVDRRBHZ.js +507 -0
  195. package/dist/commands/chunk-GWTBIGYC.js +550 -0
  196. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  197. package/dist/commands/chunk-HALHQILI.js +51 -0
  198. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  199. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  200. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  201. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  202. package/dist/commands/chunk-HESWKELD.js +60 -0
  203. package/dist/commands/chunk-HNFBEB4L.js +77 -0
  204. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  205. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  206. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  207. package/dist/commands/chunk-IAGENI2U.js +42 -0
  208. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  209. package/dist/commands/chunk-IEKW3ON6.js +161 -0
  210. package/dist/commands/chunk-IOKOHB7P.js +109 -0
  211. package/dist/commands/chunk-IONGJJYM.js +179 -0
  212. package/dist/commands/chunk-IP23WOWP.js +126 -0
  213. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  214. package/dist/commands/chunk-IXZZSST7.js +459 -0
  215. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  216. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  217. package/dist/commands/chunk-JEYITIWB.js +423 -0
  218. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  219. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  220. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  221. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  222. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  223. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  224. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  225. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  226. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  227. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  228. package/dist/commands/chunk-K5H3CLZZ.js +430 -0
  229. package/dist/commands/chunk-K6P5PISC.js +114 -0
  230. package/dist/commands/chunk-KD3SEAMV.js +402 -0
  231. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  232. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  233. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  234. package/dist/commands/chunk-KHGDZQRG.js +271 -0
  235. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  236. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  237. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  238. package/dist/commands/chunk-KN46UC77.js +114 -0
  239. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  240. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  241. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  242. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  243. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  244. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  245. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  246. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  247. package/dist/commands/chunk-LBMAJDGN.js +124 -0
  248. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  249. package/dist/commands/chunk-LE3M42CF.js +350 -0
  250. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  251. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  252. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  253. package/dist/commands/chunk-LL6G34MF.js +93 -0
  254. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  255. package/dist/commands/chunk-LS7P324N.js +72 -0
  256. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  257. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  258. package/dist/commands/chunk-M32UPB2D.js +110 -0
  259. package/dist/commands/chunk-M3UGRNNB.js +103 -0
  260. package/dist/commands/chunk-M4WG74Q7.js +260 -0
  261. package/dist/commands/chunk-M5HA2ZCG.js +105 -0
  262. package/dist/commands/chunk-MDGPJOLK.js +351 -0
  263. package/dist/commands/chunk-MDKRTUE4.js +288 -0
  264. package/dist/commands/chunk-MFZVRWRS.js +34 -0
  265. package/dist/commands/chunk-MHXIJKGP.js +304 -0
  266. package/dist/commands/chunk-MK4CARBI.js +90 -0
  267. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  268. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  269. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  270. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  271. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  272. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  273. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  274. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  275. package/dist/commands/chunk-N36NZMAL.js +79 -0
  276. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  277. package/dist/commands/chunk-N4P64UIH.js +211 -0
  278. package/dist/commands/chunk-NABSSY4P.js +204 -0
  279. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  280. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  281. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  282. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  283. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  284. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  285. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  286. package/dist/commands/chunk-NOSG3RUP.js +84 -0
  287. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  288. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  289. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  290. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  291. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  292. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  293. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  294. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  295. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  296. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  297. package/dist/commands/chunk-O45BX4EL.js +39 -0
  298. package/dist/commands/chunk-O46T4ANI.js +229 -0
  299. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  300. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  301. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  302. package/dist/commands/chunk-OKN63ZH5.js +109 -0
  303. package/dist/commands/chunk-ON4IKRGS.js +469 -0
  304. package/dist/commands/chunk-OT74RSQO.js +82 -0
  305. package/dist/commands/chunk-OVCVINYW.js +143 -0
  306. package/dist/commands/chunk-OZKLVTYI.js +342 -0
  307. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  308. package/dist/commands/chunk-P43GWYR6.js +185 -0
  309. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  310. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  311. package/dist/commands/chunk-PCZROH3R.js +100 -0
  312. package/dist/commands/chunk-PF3PMT2Q.js +46 -0
  313. package/dist/commands/chunk-PILH72AV.js +170 -0
  314. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  315. package/dist/commands/chunk-PKXTISWR.js +58 -0
  316. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  317. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  318. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  319. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  320. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  321. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  322. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  323. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  324. package/dist/commands/chunk-QSBYULSS.js +100 -0
  325. package/dist/commands/chunk-QSJCZATC.js +18 -0
  326. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  327. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  328. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  329. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  330. package/dist/commands/chunk-QXBOECGL.js +272 -0
  331. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  332. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  333. package/dist/commands/chunk-R36VZIKU.js +53 -0
  334. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  335. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  336. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  337. package/dist/commands/chunk-RDUFVQVJ.js +997 -0
  338. package/dist/commands/chunk-RESNXNDG.js +54 -0
  339. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  340. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  341. package/dist/commands/chunk-RFXON3FK.js +25 -0
  342. package/dist/commands/chunk-RGEB5L37.js +66 -0
  343. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  344. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  345. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  346. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  347. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  348. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  349. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  350. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  351. package/dist/commands/chunk-RYKK75YT.js +289 -0
  352. package/dist/commands/chunk-S4JE63QE.js +704 -0
  353. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  354. package/dist/commands/chunk-SD4EX75H.js +177 -0
  355. package/dist/commands/chunk-SJITWFNY.js +480 -0
  356. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  357. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  358. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  359. package/dist/commands/chunk-SRTEE34O.js +93 -0
  360. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  361. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  362. package/dist/commands/chunk-T6OUNP7E.js +426 -0
  363. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  364. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  365. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  366. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  367. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  368. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  369. package/dist/commands/chunk-TROCFVCU.js +45 -0
  370. package/dist/commands/chunk-TTTZZN7F.js +269 -0
  371. package/dist/commands/chunk-TUBBESHU.js +85 -0
  372. package/dist/commands/chunk-TVZIFZZN.js +62 -0
  373. package/dist/commands/chunk-TXRWAL63.js +144 -0
  374. package/dist/commands/chunk-U46YTYJQ.js +92 -0
  375. package/dist/commands/chunk-U5EO4QEV.js +48 -0
  376. package/dist/commands/chunk-UCO333EX.js +47 -0
  377. package/dist/commands/chunk-UIXQ4IYT.js +445 -0
  378. package/dist/commands/chunk-UJGNYPMD.js +716 -0
  379. package/dist/commands/chunk-URZ4RDC4.js +220 -0
  380. package/dist/commands/chunk-UUH3DE77.js +57 -0
  381. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  382. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  383. package/dist/commands/chunk-UX3HCPLX.js +449 -0
  384. package/dist/commands/chunk-UY62WJV6.js +120 -0
  385. package/dist/commands/chunk-V2T5DP3B.js +224 -0
  386. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  387. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  388. package/dist/commands/chunk-VHLDQ3PH.js +30 -0
  389. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  390. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  391. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  392. package/dist/commands/chunk-VO25PMGS.js +58 -0
  393. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  394. package/dist/commands/chunk-VXE3V3OC.js +335 -0
  395. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  396. package/dist/commands/chunk-W3MDLQZF.js +137 -0
  397. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  398. package/dist/commands/chunk-WCYRNNKF.js +76 -0
  399. package/dist/commands/chunk-WEUUJIWQ.js +84 -0
  400. package/dist/commands/chunk-WNBJK6QE.js +84 -0
  401. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  402. package/dist/commands/chunk-WR73HTRG.js +121 -0
  403. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  404. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  405. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  406. package/dist/commands/chunk-WWLCQREY.js +225 -0
  407. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  408. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  409. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  410. package/dist/commands/chunk-XAEL24EG.js +66 -0
  411. package/dist/commands/chunk-XCCT6GKA.js +74 -0
  412. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  413. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  414. package/dist/commands/chunk-XSKJAG72.js +91 -0
  415. package/dist/commands/chunk-XTJA34ND.js +492 -0
  416. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  417. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  418. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  419. package/dist/commands/chunk-YEAE46TS.js +98 -0
  420. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  421. package/dist/commands/chunk-YJZAD4Z5.js +103 -0
  422. package/dist/commands/chunk-YMAEYY5R.js +278 -0
  423. package/dist/commands/chunk-YNCF66RK.js +1052 -0
  424. package/dist/commands/chunk-YOA25SII.js +210 -0
  425. package/dist/commands/chunk-YOZTZMAT.js +38 -0
  426. package/dist/commands/chunk-YSGRHVZG.js +897 -0
  427. package/dist/commands/chunk-YSLGWRQN.js +646 -0
  428. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  429. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  430. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  431. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  432. package/dist/commands/chunk-Z6QLFPFB.js +907 -0
  433. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  434. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  435. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  436. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  437. package/dist/commands/chunk-ZEUKX3RZ.js +245 -0
  438. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  439. package/dist/commands/chunk-ZGBXUY7R.js +198 -0
  440. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  441. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  442. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  443. package/dist/commands/chunk-ZJ5S4VFD.js +258 -0
  444. package/dist/commands/chunk-ZNIIA275.js +59 -0
  445. package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
  446. package/dist/commands/ci-timing-cli.js +22 -3
  447. package/dist/commands/code-symbol-cli.js +21 -7
  448. package/dist/commands/codex-hook-adapter.js +124 -119
  449. package/dist/commands/command-derive.js +9 -11
  450. package/dist/commands/cost-audit-main.js +118 -119
  451. package/dist/commands/cost-main.js +5 -7
  452. package/dist/commands/cspell-cached.js +55 -57
  453. package/dist/commands/defect-origin-main.js +42 -37
  454. package/dist/commands/defect-report-main.js +33 -25
  455. package/dist/commands/diff-summary-cli.js +3 -4
  456. package/dist/commands/disposition-cli.js +117 -118
  457. package/dist/commands/doctor.js +24 -11
  458. package/dist/commands/document-read-cli.js +50 -53
  459. package/dist/commands/document-section-main.js +50 -53
  460. package/dist/commands/dogfood-commit-cli.js +19 -4
  461. package/dist/commands/effect-audit-cli.js +40 -41
  462. package/dist/commands/epic-audit-main.js +88 -86
  463. package/dist/commands/epic-bundle-main.js +122 -119
  464. package/dist/commands/epic-check.js +37 -31
  465. package/dist/commands/epic-main.js +129 -126
  466. package/dist/commands/epic-next-main.js +85 -83
  467. package/dist/commands/eval-run.js +6 -7
  468. package/dist/commands/format-edited-cli.js +71 -46
  469. package/dist/commands/format.js +41 -56
  470. package/dist/commands/fresh-machine-cli.js +24 -7
  471. package/dist/commands/gh-usage-cli.js +22 -22
  472. package/dist/commands/git-followup-workflow.js +158 -158
  473. package/dist/commands/git-gh-checks-failed-main.js +23 -15
  474. package/dist/commands/git-workflow.js +52 -53
  475. package/dist/commands/github-release-cli.js +3 -3
  476. package/dist/commands/hook-ledger-cli.js +93 -94
  477. package/dist/commands/init-main.js +40 -40
  478. package/dist/commands/inputs.json +2020 -1980
  479. package/dist/commands/issue-ack-cli.js +28 -21
  480. package/dist/commands/issue-already-done-cli.js +107 -110
  481. package/dist/commands/issue-body-cli.js +71 -73
  482. package/dist/commands/issue-cite-main.js +35 -28
  483. package/dist/commands/issue-comment-main.js +36 -30
  484. package/dist/commands/issue-consolidate-cli.js +54 -54
  485. package/dist/commands/issue-file-main.js +274 -148
  486. package/dist/commands/issue-fold-existing-cli.js +126 -123
  487. package/dist/commands/issue-fold-main.js +57 -60
  488. package/dist/commands/issue-lint-main.js +59 -61
  489. package/dist/commands/issue-measured-cli.js +108 -110
  490. package/dist/commands/issue-plan-cli.js +156 -155
  491. package/dist/commands/issue-premise-unmet-cli.js +111 -113
  492. package/dist/commands/issue-priority-cli.js +38 -32
  493. package/dist/commands/issue-read-main.js +38 -33
  494. package/dist/commands/issue-release-class-cli.js +37 -31
  495. package/dist/commands/issue-release-main.js +35 -29
  496. package/dist/commands/issue-scout-main.js +123 -120
  497. package/dist/commands/issue-spill-main.js +149 -144
  498. package/dist/commands/issue-state-main.js +36 -31
  499. package/dist/commands/issue-tick-cli.js +37 -31
  500. package/dist/commands/josh-completion.js +21 -24
  501. package/dist/commands/lane-adopt-cli.js +53 -55
  502. package/dist/commands/lane-breakdown-cli.js +193 -172
  503. package/dist/commands/lane-cli.js +199 -180
  504. package/dist/commands/lane-launch-main.js +106 -56
  505. package/dist/commands/lane-limit-cli.js +119 -116
  506. package/dist/commands/lane-measure-cli.js +408 -245
  507. package/dist/commands/lane-pause-cli.js +51 -54
  508. package/dist/commands/lane-plan-cli.js +148 -147
  509. package/dist/commands/lane-resolve-cli.js +48 -50
  510. package/dist/commands/lane-restart-cli.js +185 -168
  511. package/dist/commands/lane-why-cli.js +121 -122
  512. package/dist/commands/lane-withdraw-cli.js +84 -86
  513. package/dist/commands/latest-corepack.js +3 -2
  514. package/dist/commands/latest-if-required-cli.js +12 -15
  515. package/dist/commands/latest-lane-guard-main.js +2 -3
  516. package/dist/commands/latest-scope-main.js +5 -7
  517. package/dist/commands/latest-update.js +3 -2
  518. package/dist/commands/lines-command.js +8 -10
  519. package/dist/commands/lint-parallel-main.js +65 -67
  520. package/dist/commands/lint-related.js +149 -133
  521. package/dist/commands/lint-rule.js +64 -66
  522. package/dist/commands/lockfile-policy.js +29 -32
  523. package/dist/commands/main-merge-main.js +23 -25
  524. package/dist/commands/main-sync-main.js +23 -24
  525. package/dist/commands/managed-config-scope-cli.js +11 -10
  526. package/dist/commands/measure-rerun-cli.js +31 -26
  527. package/dist/commands/metrics-command.js +97 -100
  528. package/dist/commands/observation-record-cli.js +24 -14
  529. package/dist/commands/observations-flush-cli.js +50 -52
  530. package/dist/commands/overrides-check.js +1 -1
  531. package/dist/commands/package-scout-cli.js +70 -73
  532. package/dist/commands/pin-verify-cli.js +21 -2
  533. package/dist/commands/plan-consumers-main.js +3 -4
  534. package/dist/commands/plan-scaffold-cli.js +145 -146
  535. package/dist/commands/pr-classification-main.js +22 -3
  536. package/dist/commands/pre-commit-lint.js +30 -34
  537. package/dist/commands/pre-commit-type-check.js +55 -55
  538. package/dist/commands/pre-push-unit.js +69 -70
  539. package/dist/commands/pretool-guard-cli.js +111 -113
  540. package/dist/commands/prevent-main-commit.js +2 -3
  541. package/dist/commands/project-profile-cli.js +24 -9
  542. package/dist/commands/propagate.js +31 -23
  543. package/dist/commands/prose-stale-cli.js +48 -42
  544. package/dist/commands/publishable-range-check.js +3 -3
  545. package/dist/commands/read-set-cli.js +58 -61
  546. package/dist/commands/refactor-scan-cli.js +8 -9
  547. package/dist/commands/release-cli.js +57 -57
  548. package/dist/commands/release-scope-main.js +41 -36
  549. package/dist/commands/rename-cli.js +64 -36
  550. package/dist/commands/repo-party-cli.js +3 -4
  551. package/dist/commands/report-template-cli.js +4 -5
  552. package/dist/commands/reserved-run.js +17 -20
  553. package/dist/commands/retrospective-cli.js +126 -127
  554. package/dist/commands/review-attest-cli.js +28 -20
  555. package/dist/commands/review-brief-main.js +184 -167
  556. package/dist/commands/review-findings-cli.js +23 -13
  557. package/dist/commands/review-pair-cli.js +180 -156
  558. package/dist/commands/review-record-main.js +171 -147
  559. package/dist/commands/review-round2-cli.js +89 -91
  560. package/dist/commands/review-stops-cli.js +51 -54
  561. package/dist/commands/review-submit-cli.js +184 -167
  562. package/dist/commands/rule-list.js +78 -80
  563. package/dist/commands/rule-value-cli.js +115 -116
  564. package/dist/commands/ruleset-check-cli.js +23 -6
  565. package/dist/commands/run-add-cli.js +115 -75
  566. package/dist/commands/run-board-main.js +172 -169
  567. package/dist/commands/run-carry-cli.js +182 -174
  568. package/dist/commands/run-chain-cli.js +184 -160
  569. package/dist/commands/run-cut-cli.js +206 -168
  570. package/dist/commands/run-ending-cli.js +51 -54
  571. package/dist/commands/run-entry-cli.js +230 -283
  572. package/dist/commands/run-event-cli.js +18 -21
  573. package/dist/commands/run-handoff-cli.js +75 -78
  574. package/dist/commands/run-handoff-lanes-cli.js +48 -51
  575. package/dist/commands/run-hold-main.js +105 -107
  576. package/dist/commands/run-liveness-cli.js +47 -49
  577. package/dist/commands/run-merge-main.js +159 -151
  578. package/dist/commands/run-next-cli.js +128 -129
  579. package/dist/commands/run-park-cli.js +137 -140
  580. package/dist/commands/run-pause-cli.js +190 -186
  581. package/dist/commands/run-pickup-cli.js +49 -52
  582. package/dist/commands/run-prep-main.js +124 -125
  583. package/dist/commands/run-prime-cli.js +175 -147
  584. package/dist/commands/run-progress-main.js +149 -146
  585. package/dist/commands/run-report-cli.js +60 -60
  586. package/dist/commands/run-review-cli.js +229 -214
  587. package/dist/commands/run-ship-cli.js +258 -252
  588. package/dist/commands/run-ship-evidence-cli.js +71 -72
  589. package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
  590. package/dist/commands/run-ship-wait-main.js +83 -85
  591. package/dist/commands/run-split-cli.js +176 -172
  592. package/dist/commands/run-stale-main.js +72 -75
  593. package/dist/commands/run-status-cli.js +44 -44
  594. package/dist/commands/run-step-cli.js +213 -211
  595. package/dist/commands/run-tail-cli.js +23 -18
  596. package/dist/commands/run-tidy-main.js +67 -69
  597. package/dist/commands/run-wake-main.js +206 -187
  598. package/dist/commands/run-watcher-guard-cli.js +63 -66
  599. package/dist/commands/security-audit-main.js +21 -24
  600. package/dist/commands/security-audit-provision-main.js +9 -11
  601. package/dist/commands/selfcheck-cli.js +63 -57
  602. package/dist/commands/session-language-main.js +70 -73
  603. package/dist/commands/sonar-hotspots-cli.js +9 -8
  604. package/dist/commands/sonar-new-code-cli.js +3 -4
  605. package/dist/commands/split-assess-cli.js +55 -58
  606. package/dist/commands/split-child-recover-cli.js +38 -39
  607. package/dist/commands/start.js +64 -64
  608. package/dist/commands/stash-pop-main.js +4 -5
  609. package/dist/commands/stash-push-main.js +7 -9
  610. package/dist/commands/stop-guard.js +180 -176
  611. package/dist/commands/sync-main.js +30 -15
  612. package/dist/commands/telegram-test-main.js +29 -22
  613. package/dist/commands/test-declared.js +29 -15
  614. package/dist/commands/test-e2e-guard.js +54 -54
  615. package/dist/commands/test-pinned-main.js +57 -56
  616. package/dist/commands/test-reach-cli.js +40 -32
  617. package/dist/commands/test-red-main.js +12 -14
  618. package/dist/commands/test-related-Z6YY2GFH.js +113 -0
  619. package/dist/commands/test-related-main.js +89 -89
  620. package/dist/commands/test-unit-guard-main.js +37 -37
  621. package/dist/commands/time-cli.js +54 -57
  622. package/dist/commands/time-density-cli.js +26 -29
  623. package/dist/commands/tree-status-cli.js +6 -8
  624. package/dist/commands/type-check-command.js +26 -11
  625. package/dist/commands/ui-routes-cli.js +5 -6
  626. package/dist/commands/ui-shot-cli.js +1 -1
  627. package/dist/commands/uninstall.js +44 -43
  628. package/dist/commands/unused-members-KVKZDTXD.js +329 -0
  629. package/dist/commands/unused-members-cli.js +27 -12
  630. package/dist/commands/upstream-interrupt-main.js +159 -151
  631. package/dist/commands/verification-gate.js +85 -86
  632. package/dist/commands/version-check.js +25 -8
  633. package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
  634. package/dist/hooks/chunk-46PTTMGE.js +1625 -0
  635. package/dist/hooks/chunk-5NIBRHWG.js +77 -0
  636. package/dist/hooks/chunk-76QKN2K3.js +258 -0
  637. package/dist/hooks/chunk-CHEKMGFP.js +321 -0
  638. package/dist/hooks/chunk-DCILEVDR.js +5173 -0
  639. package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
  640. package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
  641. package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
  642. package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
  643. package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
  644. package/dist/hooks/codex-hook-adapter.js +11 -12
  645. package/dist/hooks/daemon.js +2140 -1387
  646. package/dist/hooks/format-edited.js +6 -6
  647. package/dist/hooks/inputs.json +521 -497
  648. package/dist/hooks/pretool-guard.js +8 -8
  649. package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
  650. package/dist/hooks/session-lang.js +9 -7
  651. package/dist/hooks/stop-guard.js +962 -669
  652. package/dist/inputs.json +63 -54
  653. package/dist/josh.js +1029 -577
  654. package/dist/registry-migrate.mjs +33938 -0
  655. package/dist/version/index.js +4251 -175
  656. package/package.json +4 -1
  657. package/prompts/collaboration-workflow/principles.md +4 -1
  658. package/prompts/collaboration-workflow/rule-delivery.md +1 -1
  659. package/scripts/agent/codex-launch-identity.ts +70 -0
  660. package/scripts/auto-ok/auto-ok-cli.ts +2 -0
  661. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
  662. package/scripts/auto-ok/auto-ok-judge.ts +3 -1
  663. package/scripts/backlog/backlog-arrival.ts +1 -1
  664. package/scripts/backlog/backlog-budget.ts +5 -2
  665. package/scripts/backlog/backlog-defect-priority.ts +1 -1
  666. package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
  667. package/scripts/backlog/backlog-drain-flush.ts +38 -3
  668. package/scripts/backlog/backlog-drive-cli.ts +1 -1
  669. package/scripts/backlog/backlog-drive-hold.ts +28 -5
  670. package/scripts/backlog/backlog-drive-launch.ts +37 -15
  671. package/scripts/backlog/backlog-drive-listing.ts +39 -23
  672. package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
  673. package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
  674. package/scripts/backlog/backlog-hold-codes.ts +7 -0
  675. package/scripts/backlog/backlog-hold-text.ts +14 -1
  676. package/scripts/backlog/backlog-measure-close.ts +6 -0
  677. package/scripts/backlog/backlog-next-shared.ts +20 -2
  678. package/scripts/backlog/backlog-next.ts +24 -3
  679. package/scripts/backlog/backlog-offer-cli.ts +69 -16
  680. package/scripts/build/build-migration.ts +25 -0
  681. package/scripts/build/build.ts +2 -0
  682. package/scripts/epic/epic-classify.ts +6 -1
  683. package/scripts/epic/epic-live.ts +46 -0
  684. package/scripts/followup/followup-failed-tests.ts +71 -10
  685. package/scripts/followup/followup-job-rerun.ts +2 -2
  686. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  687. package/scripts/gate/change-scope-action.ts +2 -0
  688. package/scripts/gate/check-related-order.ts +6 -7
  689. package/scripts/gate/check-related.ts +18 -8
  690. package/scripts/gate/core-admission.ts +17 -30
  691. package/scripts/gate/core-budget-poll.ts +183 -0
  692. package/scripts/gate/core-budget-timing.ts +1 -1
  693. package/scripts/gate/core-budget.ts +24 -112
  694. package/scripts/gate/core-wait-record.ts +52 -7
  695. package/scripts/gate/machine-capacity.ts +6 -2
  696. package/scripts/gate/metrics-totals.ts +11 -0
  697. package/scripts/gate/path-glob.test.ts +18 -0
  698. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  699. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  700. package/scripts/gh/gh-request-tally.ts +4 -0
  701. package/scripts/hooks/bash-revert.ts +79 -31
  702. package/scripts/hooks/format-edited-file.ts +6 -8
  703. package/scripts/hooks/implementation-shell.ts +3 -2
  704. package/scripts/init/distributed-paths.ts +18 -5
  705. package/scripts/init/init-actions.ts +16 -1
  706. package/scripts/init/init-bootstrap.ts +2 -0
  707. package/scripts/init/init-logic.ts +40 -8
  708. package/scripts/init/init.ts +11 -3
  709. package/scripts/issue/defect-rate-cli.ts +19 -13
  710. package/scripts/issue/issue-file-batch.ts +7 -3
  711. package/scripts/issue/issue-file-cli.ts +19 -6
  712. package/scripts/issue/issue-file-main.ts +6 -1
  713. package/scripts/issue/issue-file-pass.ts +17 -0
  714. package/scripts/issue/issue-file.ts +3 -0
  715. package/scripts/issue/issue-not-before.ts +9 -2
  716. package/scripts/issue/issue-observation-gate.ts +141 -0
  717. package/scripts/issue/issue-observation-prime.ts +83 -0
  718. package/scripts/issue/issue-publication-state.ts +61 -0
  719. package/scripts/issue/issue-publication.ts +144 -0
  720. package/scripts/issue/issue-sample-prime.ts +2 -0
  721. package/scripts/issue/issue-search-count.ts +26 -0
  722. package/scripts/issue/issue-search.ts +128 -3
  723. package/scripts/issue/issue-spill-cli.ts +4 -0
  724. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  725. package/scripts/josh/josh-commands-ai.ts +1 -1
  726. package/scripts/josh/josh-commands-development.ts +1 -1
  727. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  728. package/scripts/josh/josh-commands-run.ts +6 -1
  729. package/scripts/josh/josh-commands-ship.ts +5 -5
  730. package/scripts/josh/josh-run.ts +5 -2
  731. package/scripts/josh/shared-cache.ts +16 -1
  732. package/scripts/lane/lane-await.ts +15 -0
  733. package/scripts/lane/lane-cli.ts +2 -0
  734. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  735. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  736. package/scripts/lane/lane-dispatch.ts +44 -5
  737. package/scripts/lane/lane-early-push-count.ts +21 -0
  738. package/scripts/lane/lane-install.ts +15 -5
  739. package/scripts/lane/lane-launch-cli.ts +35 -14
  740. package/scripts/lane/lane-ledger-kind.ts +2 -0
  741. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  742. package/scripts/lane/lane-ledger-schema.ts +15 -1
  743. package/scripts/lane/lane-ledger-write.ts +4 -1
  744. package/scripts/lane/lane-relaunch.ts +25 -2
  745. package/scripts/lane/lane-state-record.ts +2 -0
  746. package/scripts/lane/lane-state.ts +8 -1
  747. package/scripts/lane/lane-stats-tables.ts +2 -0
  748. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  749. package/scripts/lib/inherited-scope.ts +48 -0
  750. package/scripts/lint/format-steps.ts +93 -0
  751. package/scripts/lint/format.ts +6 -49
  752. package/scripts/lint/lint-related-fix.ts +35 -0
  753. package/scripts/lint/lint-related.ts +22 -35
  754. package/scripts/propagate/propagate-steps.ts +9 -4
  755. package/scripts/registry-migration/migrate-cli.ts +50 -0
  756. package/scripts/registry-migration/migrate-files.ts +154 -0
  757. package/scripts/registry-migration/migrate-lock.ts +147 -0
  758. package/scripts/registry-migration/migrate.ts +235 -0
  759. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  760. package/scripts/review/review-record-cli.ts +27 -13
  761. package/scripts/review/review-record-pinned.ts +15 -6
  762. package/scripts/run/add/run-add-cli.ts +21 -3
  763. package/scripts/run/add/run-add.ts +26 -9
  764. package/scripts/run/board/run-board-layout.ts +2 -2
  765. package/scripts/run/board/run-board-reason.ts +12 -0
  766. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  767. package/scripts/run/board/run-board-seat.ts +9 -2
  768. package/scripts/run/board/run-board-setup.ts +6 -4
  769. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  770. package/scripts/run/carry/run-carry-session.ts +48 -0
  771. package/scripts/run/carry/run-carry.ts +21 -14
  772. package/scripts/run/cut/run-cut-resume.ts +15 -3
  773. package/scripts/run/cut/run-cut.ts +1 -1
  774. package/scripts/run/detached-launch.ts +14 -5
  775. package/scripts/run/early-push-record.ts +6 -2
  776. package/scripts/run/event/run-event-setup.ts +2 -0
  777. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  778. package/scripts/run/hold/run-hold-cli.ts +40 -5
  779. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  780. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  781. package/scripts/run/merge/run-merge-steps.ts +4 -57
  782. package/scripts/run/merge/run-merge-waits.ts +54 -0
  783. package/scripts/run/prime/run-prime-cli.ts +16 -2
  784. package/scripts/run/review/run-review-cli.ts +5 -7
  785. package/scripts/run/review/run-review-early-push.ts +19 -8
  786. package/scripts/run/review/run-review-join-read.ts +33 -6
  787. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  788. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  789. package/scripts/run/run-halfrun-resume.ts +49 -6
  790. package/scripts/run/run-headless.ts +3 -0
  791. package/scripts/run/run-pr-return.ts +14 -5
  792. package/scripts/run/run-repair-attempt.ts +219 -0
  793. package/scripts/run/ship/run-ship-lap.ts +5 -17
  794. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  795. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  796. package/scripts/run/startup/run-startup-schema.ts +31 -0
  797. package/scripts/run/startup/run-startup-store.ts +130 -0
  798. package/scripts/run/startup/run-startup.ts +119 -0
  799. package/scripts/run/wake/run-wake-codex.ts +144 -0
  800. package/scripts/run/wake/run-wake-driver.ts +32 -7
  801. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  802. package/scripts/run/wake/run-wake-loop.ts +23 -3
  803. package/scripts/run/wake/run-wake-ports.ts +17 -3
  804. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  805. package/scripts/run/wake/run-wake-window.ts +4 -1
  806. package/scripts/run/wake/run-wake.ts +5 -0
  807. package/scripts/sync/sync-ai-files.ts +17 -0
  808. package/scripts/sync/sync-configs.ts +11 -1
  809. package/scripts/sync/sync.ts +5 -1
  810. package/scripts/test/test-related-cap.ts +7 -3
  811. package/scripts/test/test-related-imports.ts +92 -0
  812. package/scripts/test/vitest-failure-summary.ts +7 -0
  813. package/scripts/version/npm-registry.ts +45 -7
  814. package/scripts/version/upgrade-shell-command.ts +34 -2
  815. package/templates/workflows/ci.yml +0 -15
  816. package/templates/workflows/github-release.yml +0 -5
  817. package/dist/commands/chunk-23GH6B3D.js +0 -333
  818. package/dist/commands/chunk-24OATKOF.js +0 -7534
  819. package/dist/commands/chunk-24ZDAWML.js +0 -48
  820. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  821. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  822. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  823. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  824. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  825. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  826. package/dist/commands/chunk-2PHOLX62.js +0 -43
  827. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  828. package/dist/commands/chunk-2VRITY55.js +0 -41
  829. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  830. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  831. package/dist/commands/chunk-352KLSFX.js +0 -67
  832. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  833. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  834. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  835. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  836. package/dist/commands/chunk-3Z425MM3.js +0 -61
  837. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  838. package/dist/commands/chunk-452HWOJ7.js +0 -395
  839. package/dist/commands/chunk-475EFIJV.js +0 -178
  840. package/dist/commands/chunk-47UZB54M.js +0 -73
  841. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  842. package/dist/commands/chunk-4DVM57T7.js +0 -86
  843. package/dist/commands/chunk-4EADHJVC.js +0 -247
  844. package/dist/commands/chunk-4HERA2GY.js +0 -95
  845. package/dist/commands/chunk-4JI35CVO.js +0 -70
  846. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  847. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  848. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  849. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  850. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  851. package/dist/commands/chunk-4Q64PG46.js +0 -478
  852. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  853. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  854. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  855. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  856. package/dist/commands/chunk-54X37JEJ.js +0 -170
  857. package/dist/commands/chunk-56KW5EOK.js +0 -85
  858. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  859. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  860. package/dist/commands/chunk-5FBRMARM.js +0 -578
  861. package/dist/commands/chunk-5RG4S66L.js +0 -47
  862. package/dist/commands/chunk-5UJGACVN.js +0 -137
  863. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  864. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  865. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  866. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  867. package/dist/commands/chunk-66NX6EXR.js +0 -29
  868. package/dist/commands/chunk-66TGK5XL.js +0 -84
  869. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  870. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  871. package/dist/commands/chunk-6GQX752S.js +0 -145
  872. package/dist/commands/chunk-6HRRZANN.js +0 -55
  873. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  874. package/dist/commands/chunk-6OP63TBT.js +0 -78
  875. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  876. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  877. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  878. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  879. package/dist/commands/chunk-6YURRFRU.js +0 -461
  880. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  881. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  882. package/dist/commands/chunk-77BIN247.js +0 -122
  883. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  884. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  885. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  886. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  887. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  888. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  889. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  890. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  891. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  892. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  893. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  894. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  895. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  896. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  897. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  898. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  899. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  900. package/dist/commands/chunk-AKK56GNX.js +0 -205
  901. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  902. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  903. package/dist/commands/chunk-ANUTT56I.js +0 -85
  904. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  905. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  906. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  907. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  908. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  909. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  910. package/dist/commands/chunk-BIKGPT52.js +0 -29
  911. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  912. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  913. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  914. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  915. package/dist/commands/chunk-BRUBX64M.js +0 -33
  916. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  917. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  918. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  919. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  920. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  921. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  922. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  923. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  924. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  925. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  926. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  927. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  928. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  929. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  930. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  931. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  932. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  933. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  934. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  935. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  936. package/dist/commands/chunk-D7JRJI44.js +0 -297
  937. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  938. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  939. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  940. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  941. package/dist/commands/chunk-DMD74E3F.js +0 -39
  942. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  943. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  944. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  945. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  946. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  947. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  948. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  949. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  950. package/dist/commands/chunk-ELY76WAR.js +0 -65
  951. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  952. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  953. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  954. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  955. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  956. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  957. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  958. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  959. package/dist/commands/chunk-EXWB34R2.js +0 -238
  960. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  961. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  962. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  963. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  964. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  965. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  966. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  967. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  968. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  969. package/dist/commands/chunk-FJX7AENO.js +0 -74
  970. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  971. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  972. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  973. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  974. package/dist/commands/chunk-FROACLVU.js +0 -525
  975. package/dist/commands/chunk-FURNDIT3.js +0 -34
  976. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  977. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  978. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  979. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  980. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  981. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  982. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  983. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  984. package/dist/commands/chunk-GITT5A5A.js +0 -198
  985. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  986. package/dist/commands/chunk-GLC47H7I.js +0 -285
  987. package/dist/commands/chunk-GUR54ELE.js +0 -328
  988. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  989. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  990. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  991. package/dist/commands/chunk-HATKF6VX.js +0 -173
  992. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  993. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  994. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  995. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  996. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  997. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  998. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  999. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1000. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1001. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1002. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1003. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1004. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1005. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1006. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1007. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1008. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1009. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1010. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1011. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1012. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1013. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1014. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1015. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1016. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1017. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1018. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1019. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1020. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1021. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1022. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1023. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1024. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1025. package/dist/commands/chunk-K275REYP.js +0 -37
  1026. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1027. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1028. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1029. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1030. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1031. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1032. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1033. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1034. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1035. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1036. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1037. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1038. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1039. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1040. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1041. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1042. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1043. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1044. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1045. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1046. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1047. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1048. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1049. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1050. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1051. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1052. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1053. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1054. package/dist/commands/chunk-LZPPSOTP.js +0 -122
  1055. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1056. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1057. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1058. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1059. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1060. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1061. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1062. package/dist/commands/chunk-MN425CU6.js +0 -63
  1063. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1064. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1065. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1066. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1067. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1068. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1069. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1070. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1071. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1072. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1073. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1074. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1075. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1076. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1077. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1078. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1079. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1080. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1081. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1082. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1083. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1084. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1085. package/dist/commands/chunk-OIX2363L.js +0 -16
  1086. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1087. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1088. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1089. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1090. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1091. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1092. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1093. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1094. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1095. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1096. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1097. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1098. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1099. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1100. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1101. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1102. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1103. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1104. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1105. package/dist/commands/chunk-PE7B7242.js +0 -84
  1106. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1107. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1108. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1109. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1110. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1111. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1112. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1113. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1114. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1115. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1116. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1117. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1118. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1119. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1120. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1121. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1122. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1123. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1124. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1125. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1126. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1127. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1128. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1129. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1130. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1131. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1132. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1133. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1134. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1135. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1136. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1137. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1138. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1139. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1140. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1141. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1142. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1143. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1144. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1145. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1146. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1147. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1148. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1149. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1150. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1151. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1152. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1153. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1154. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1155. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1156. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1157. package/dist/commands/chunk-TLAB552K.js +0 -445
  1158. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1159. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1160. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1161. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1162. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1163. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1164. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1165. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1166. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1167. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1168. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1169. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1170. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1171. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1172. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1173. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1174. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1175. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1176. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1177. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1178. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1179. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1180. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1181. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1182. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1183. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1184. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1185. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1186. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1187. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1188. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1189. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1190. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1191. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1192. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1193. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1194. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1195. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1196. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1197. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1198. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1199. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1200. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1201. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1202. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1203. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1204. package/dist/commands/chunk-YDURQICF.js +0 -204
  1205. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1206. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1207. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1208. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1209. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1210. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1211. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1212. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1213. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1214. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1215. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1216. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1217. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1218. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1219. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1220. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1221. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1222. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1223. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1224. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1225. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1226. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1227. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1228. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1229. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1230. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1231. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1232. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1233. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1234. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1235. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1236. package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
@@ -0,0 +1,1052 @@
1
+ import {
2
+ backlog_next_report,
3
+ backlog_wait_cause
4
+ } from "./chunk-N2ZF6T4E.js";
5
+ import {
6
+ stash_orphans
7
+ } from "./chunk-WR5PKCQW.js";
8
+ import {
9
+ lane_net_read
10
+ } from "./chunk-GBMZXFFC.js";
11
+ import {
12
+ epic_next,
13
+ epic_next_read,
14
+ epic_outside_blocker,
15
+ epic_rank,
16
+ epic_solo,
17
+ epic_solo_stale
18
+ } from "./chunk-AUTD5FV2.js";
19
+ import {
20
+ epic_report
21
+ } from "./chunk-4HOTJAO6.js";
22
+ import {
23
+ epic_triage
24
+ } from "./chunk-VQRT32JB.js";
25
+ import {
26
+ backlog_plan_comment
27
+ } from "./chunk-MRW2WYJS.js";
28
+ import {
29
+ auto_ok_author,
30
+ auto_ok_cli
31
+ } from "./chunk-RFIOZTXY.js";
32
+ import {
33
+ epic_index
34
+ } from "./chunk-NHTEC5U4.js";
35
+ import {
36
+ defect_rate,
37
+ issue_search
38
+ } from "./chunk-DUA4E4ES.js";
39
+ import {
40
+ issue_not_before
41
+ } from "./chunk-PCZROH3R.js";
42
+ import {
43
+ issue_sample_prime
44
+ } from "./chunk-WWLCQREY.js";
45
+ import {
46
+ epic_issue
47
+ } from "./chunk-YEAE46TS.js";
48
+ import {
49
+ git_next_issues
50
+ } from "./chunk-SRTEE34O.js";
51
+ import {
52
+ epic_audit_logic
53
+ } from "./chunk-ILIITIMQ.js";
54
+ import {
55
+ epic_graph
56
+ } from "./chunk-3RIQ36LH.js";
57
+ import {
58
+ epic_busy
59
+ } from "./chunk-6LDEZFYR.js";
60
+ import {
61
+ git_gh_command
62
+ } from "./chunk-NRULNBYI.js";
63
+ import {
64
+ backlog_overlap,
65
+ lane_plan
66
+ } from "./chunk-MDGPJOLK.js";
67
+ import {
68
+ git_stash
69
+ } from "./chunk-WROJTXWZ.js";
70
+ import {
71
+ git_gh_issue_write
72
+ } from "./chunk-4F4KARQN.js";
73
+ import {
74
+ git_gh_issue_read
75
+ } from "./chunk-TFYYXETQ.js";
76
+ import {
77
+ GRAPHQL_PATH
78
+ } from "./chunk-LX2ENXHZ.js";
79
+ import {
80
+ shared_cache
81
+ } from "./chunk-WXLW7S4M.js";
82
+ import {
83
+ lane_state
84
+ } from "./chunk-7EAYFMDN.js";
85
+ import {
86
+ epic_issue_schema
87
+ } from "./chunk-34DND4BA.js";
88
+ import {
89
+ BUG_LABEL,
90
+ EPIC_LABEL,
91
+ NOT_BEFORE_LABEL,
92
+ PARKED_LABELS,
93
+ REPOSITORY_LABELS,
94
+ RUN_LANE_LABEL,
95
+ has_any_label,
96
+ has_label_name
97
+ } from "./chunk-QQBMVC5W.js";
98
+ import {
99
+ session_cite
100
+ } from "./chunk-22DVQCP6.js";
101
+ import {
102
+ repo_discovery
103
+ } from "./chunk-MDKDJF2K.js";
104
+ import {
105
+ issue_cite
106
+ } from "./chunk-HQ2HSZBN.js";
107
+ import {
108
+ git_gh_api_path
109
+ } from "./chunk-RDRN56E4.js";
110
+ import {
111
+ git_gh_exec,
112
+ parse_json,
113
+ parse_json_array_or_undefined,
114
+ parse_json_object_or_undefined
115
+ } from "./chunk-43DU7DYZ.js";
116
+ import {
117
+ run_startup
118
+ } from "./chunk-RV7EQIE4.js";
119
+ import {
120
+ error_text
121
+ } from "./chunk-CDY4NFQG.js";
122
+ import {
123
+ lane_ledger_write
124
+ } from "./chunk-KIS7JFNP.js";
125
+ import {
126
+ PROJECT_ROOT
127
+ } from "./chunk-3CCGKX7Y.js";
128
+
129
+ // scripts/issue/issue-not-before-label.ts
130
+ var DEFINITION = REPOSITORY_LABELS.find((label) => label.name === NOT_BEFORE_LABEL);
131
+ var NOT_APPLIED = "the label was not applied";
132
+ var LABELLED_LIMIT = 200;
133
+ function is_waiting(body, now) {
134
+ return !issue_not_before.is_due(body, now);
135
+ }
136
+ function change_of(body, labels, now = Date.now()) {
137
+ const is_labelled = has_label_name(labels, NOT_BEFORE_LABEL);
138
+ if (is_waiting(body, now) === is_labelled) return void 0;
139
+ return is_labelled ? "remove" : "add";
140
+ }
141
+ function with_label(labels, body, now = Date.now()) {
142
+ return change_of(body, labels, now) === "add" ? [...labels, NOT_BEFORE_LABEL] : labels;
143
+ }
144
+ function changes_of(issues, now) {
145
+ return issues.flatMap(function change(issue) {
146
+ const names = (issue.labels ?? []).map((label) => label.name);
147
+ const owed = change_of(issue.body, names, now);
148
+ return owed === void 0 ? [] : [[issue, owed]];
149
+ });
150
+ }
151
+ async function write(number, owed) {
152
+ if (owed === "remove") {
153
+ await git_gh_issue_write.issue_remove_label(number, NOT_BEFORE_LABEL);
154
+ return;
155
+ }
156
+ if (!await git_gh_issue_write.issue_add_label(number, NOT_BEFORE_LABEL)) {
157
+ throw new Error(NOT_APPLIED);
158
+ }
159
+ }
160
+ async function apply(issue, owed) {
161
+ try {
162
+ await write(String(issue.number), owed);
163
+ } catch (error) {
164
+ const cited = session_cite.issue(issue.number);
165
+ console.warn(
166
+ `${cited}: could not ${owed} \`${NOT_BEFORE_LABEL}\`: ${error_text.message_of(error)}`
167
+ );
168
+ }
169
+ }
170
+ async function sync(issues, now = Date.now()) {
171
+ const changes = changes_of(issues, now);
172
+ if (DEFINITION !== void 0 && changes.some(([, owed]) => owed === "add")) {
173
+ await git_gh_issue_write.label_ensure(DEFINITION);
174
+ }
175
+ await Promise.all(
176
+ changes.map(async ([issue, owed]) => {
177
+ await apply(issue, owed);
178
+ })
179
+ );
180
+ }
181
+ async function read_labelled() {
182
+ const { json } = await git_gh_command.issue_list_by_label(NOT_BEFORE_LABEL, LABELLED_LIMIT);
183
+ const rows = json === void 0 ? void 0 : parse_json_array_or_undefined(json, epic_issue_schema);
184
+ return (rows ?? []).map((row) => ({ ...row, labels: [{ name: NOT_BEFORE_LABEL }] }));
185
+ }
186
+ async function sweep(scanned, now = Date.now()) {
187
+ const seen = new Set(scanned.map((issue) => issue.number));
188
+ const labelled = await read_labelled();
189
+ await issue_sample_prime.prime(labelled.map((issue) => issue.body));
190
+ await sync([...scanned, ...labelled.filter((issue) => !seen.has(issue.number))], now);
191
+ }
192
+ var issue_not_before_label = { change_of, sweep, sync, with_label };
193
+
194
+ // scripts/backlog/backlog-auto-triage.ts
195
+ var GATE_PATHS = [
196
+ "eslint/",
197
+ "eslint.config",
198
+ "scripts/hooks/",
199
+ "scripts/gate/",
200
+ "scripts/lint/",
201
+ "scripts/review/",
202
+ "scripts/ci/",
203
+ "prompts/review",
204
+ "lefthook",
205
+ ".github/workflows/",
206
+ "vitest.config",
207
+ "tsconfig",
208
+ "cspell.config"
209
+ ];
210
+ function names_gate_path(body) {
211
+ return GATE_PATHS.some((path) => body.includes(path));
212
+ }
213
+ function lane_reason(child) {
214
+ if (!has_label_name(child.labels, BUG_LABEL)) return `it carries no \`${BUG_LABEL}\` label`;
215
+ if (child.body === void 0 || names_gate_path(child.body)) return void 0;
216
+ return `it is a \`${BUG_LABEL}\`, but its body names no verification-gate path`;
217
+ }
218
+ function comment_of(reason) {
219
+ return [
220
+ `Triaged mechanically to \`${RUN_LANE_LABEL}\`: ${reason}.`,
221
+ '`run:solo` needs all three conditions of `backlogrun-lanes.md` \u2192 "A solo run", so no judgment session was woken.'
222
+ ].join("\n");
223
+ }
224
+ async function decided_labels(child, repo) {
225
+ const reason = lane_reason(child);
226
+ if (reason === void 0) return void 0;
227
+ const issue = String(child.number);
228
+ const current = await git_gh_command.read_label_names(issue, repo);
229
+ if (current === void 0 || epic_triage.has_triage_label(current)) return current;
230
+ const write2 = await git_gh_command.issue_apply_label(issue, RUN_LANE_LABEL, repo);
231
+ if (!write2.is_applied) return void 0;
232
+ await git_gh_command.issue_try_comment(issue, comment_of(reason), repo);
233
+ return [...current, RUN_LANE_LABEL];
234
+ }
235
+ async function settle_child(child, repo) {
236
+ if (epic_triage.is_triaged(child)) return child;
237
+ const labels = await decided_labels(child, repo);
238
+ return labels === void 0 ? child : { ...child, labels };
239
+ }
240
+ async function settle_children(children, repo) {
241
+ return await Promise.all(children.map(async (child) => await settle_child(child, repo)));
242
+ }
243
+ async function settle(result, repo) {
244
+ if (result.verdict !== "run") return result;
245
+ const candidates = await Promise.all(
246
+ result.candidates.map(
247
+ async (bucket) => bucket.repo === repo ? { ...bucket, children: await settle_children(bucket.children, repo) } : bucket
248
+ )
249
+ );
250
+ return { ...result, candidates };
251
+ }
252
+ async function untriaged_of(result, repo) {
253
+ const settled = await settle(result, repo);
254
+ if (settled.verdict !== "run") return { result: settled, untriaged: [] };
255
+ return {
256
+ result: settled,
257
+ untriaged: epic_triage.untriaged(epic_report.candidates_for_repo(settled, repo))
258
+ };
259
+ }
260
+ var backlog_auto_triage = { lane_reason, untriaged_of };
261
+
262
+ // scripts/issue/defect-rate-cli.ts
263
+ import { z as z2 } from "zod";
264
+
265
+ // scripts/issue/issue-search-count.ts
266
+ import { z } from "zod";
267
+ var count_schema = z.object({
268
+ total_count: z.number().int().nonnegative(),
269
+ incomplete_results: z.literal(false)
270
+ });
271
+ async function count(query) {
272
+ const parameters = new URLSearchParams({ q: query, per_page: "1" });
273
+ try {
274
+ const raw = await git_gh_exec.exec_gh_api({ path: `search/issues?${parameters.toString()}` });
275
+ return parse_json.parse_json_object_or_undefined(raw, count_schema)?.total_count;
276
+ } catch {
277
+ return void 0;
278
+ }
279
+ }
280
+ var issue_search_count = { count };
281
+
282
+ // scripts/issue/defect-rate-cli.ts
283
+ var MS_PER_MINUTE = 6e4;
284
+ var CACHE_TTL_MINUTES = 15;
285
+ var RATE_CACHE = {
286
+ prefix: "josh-defect-rate-",
287
+ ttl_ms: CACHE_TTL_MINUTES * MS_PER_MINUTE
288
+ };
289
+ var defect_rate_schema = z2.object({
290
+ days: z2.number(),
291
+ since: z2.string(),
292
+ defects: z2.number(),
293
+ enhancements: z2.number(),
294
+ is_capped: z2.boolean()
295
+ });
296
+ async function measure_uncached(repo, days, since, now_ms) {
297
+ const [filed, completed] = await Promise.all([
298
+ issue_search.search_complete(defect_rate.filed_query(repo, since), now_ms),
299
+ issue_search_count.count(defect_rate.completed_query(repo, since))
300
+ ]);
301
+ if (filed === void 0 || completed === void 0) return void 0;
302
+ return {
303
+ days,
304
+ since,
305
+ defects: filed.issues.filter((issue) => defect_rate.is_defect(issue)).length,
306
+ enhancements: completed,
307
+ is_capped: filed.is_capped
308
+ };
309
+ }
310
+ async function measure_window(repo, days, now_ms) {
311
+ const since = defect_rate.window_start(now_ms, days);
312
+ const key = [repo, String(days), since].join(" ");
313
+ return await run_startup.phase(
314
+ "defect rate",
315
+ async () => await shared_cache.remember(
316
+ { slot: RATE_CACHE, key, schema: defect_rate_schema },
317
+ async () => await measure_uncached(repo, days, since, now_ms),
318
+ now_ms
319
+ ),
320
+ { edge_of: (value) => value === void 0 ? "failed" : "done" }
321
+ );
322
+ }
323
+ var defect_rate_cli = { RATE_CACHE, measure_window };
324
+
325
+ // scripts/backlog/backlog-defect-priority.ts
326
+ var UNMEASURED_MESSAGE = "The defect rate could not be read from GitHub, so defects are offered first without deferring new mechanisms.";
327
+ var KIND_RANK = { defect: 0, other: 1, mechanism: 1 };
328
+ var DEFERRED_KIND_RANK = { ...KIND_RANK, mechanism: 2 };
329
+ function above_message(measured) {
330
+ return `The defect rate ${defect_rate.rate_text(measured)} is above its baseline ${String(defect_rate.BASELINE_RATE)}, so among issues the ranking keys tie, defects are offered first and new mechanisms last.`;
331
+ }
332
+ function should_defer_mechanisms(measured) {
333
+ if (measured === void 0 || measured.is_capped) {
334
+ console.error(UNMEASURED_MESSAGE);
335
+ return false;
336
+ }
337
+ if (!defect_rate.is_above_baseline(measured)) return false;
338
+ console.error(above_message(measured));
339
+ return true;
340
+ }
341
+ async function kind_of_child(child) {
342
+ const body = child.body ?? await git_gh_command.issue_get_body(String(child.number), child.repo);
343
+ return defect_rate.kind_of({ body: body ?? "", labels: child.labels });
344
+ }
345
+ async function reorder_bundle(bundle, is_above_baseline) {
346
+ const kinds = await Promise.all(bundle.children.map(async (child) => await kind_of_child(child)));
347
+ const ranks = is_above_baseline ? DEFERRED_KIND_RANK : KIND_RANK;
348
+ const ranked = bundle.children.map((child, index) => ({
349
+ child,
350
+ rank: ranks[kinds[index] ?? "other"]
351
+ }));
352
+ const children = ranked.toSorted((left, right) => left.rank - right.rank).map((row) => row.child);
353
+ return { ...bundle, children };
354
+ }
355
+ async function reorder(result, repo, is_above_baseline) {
356
+ const candidates = await Promise.all(
357
+ result.candidates.map(
358
+ async (bundle) => bundle.repo === repo ? await reorder_bundle(bundle, is_above_baseline) : bundle
359
+ )
360
+ );
361
+ return { ...result, candidates };
362
+ }
363
+ async function prioritize(result, repo, now_ms = Date.now()) {
364
+ if (result.verdict !== "run") return result;
365
+ const days = defect_rate.DEFAULT_WINDOW_DAYS;
366
+ const measured = await defect_rate_cli.measure_window(repo, days, now_ms);
367
+ return await reorder(result, repo, should_defer_mechanisms(measured));
368
+ }
369
+ var backlog_defect_priority = { UNMEASURED_MESSAGE, prioritize };
370
+
371
+ // scripts/backlog/backlog-pool.ts
372
+ var EPIC_LABELS = /* @__PURE__ */ new Set([EPIC_LABEL]);
373
+ var DECISION_LABELS = PARKED_LABELS;
374
+ function is_epic_row(issue) {
375
+ return has_any_label(issue.labels, EPIC_LABELS);
376
+ }
377
+ function waits_outside(issue, running, repo) {
378
+ return epic_issue.blocker_references_of(issue, repo).some((blocker) => blocker.state === "OPEN" && !running.has(epic_graph.blocker_key(blocker)));
379
+ }
380
+ function is_stuck(issue, running, context) {
381
+ return !auto_ok_author.is_author_trusted(issue) || has_any_label(issue.labels, DECISION_LABELS) || waits_outside(issue, running, context.repo);
382
+ }
383
+ function needs_person(issue, context) {
384
+ return is_stuck(issue, context.running, context);
385
+ }
386
+ function epic_keys_of(tracking, repo) {
387
+ return new Set([...tracking.values()].flat().map((number) => epic_graph.key_of({ repo, number })));
388
+ }
389
+ function with_tracking_epics(running, tracking, repo) {
390
+ const tracking_epics = [...tracking].filter(([child]) => running.has(epic_graph.key_of({ repo, number: child }))).flatMap(([, epics]) => epics.map((number) => epic_graph.key_of({ repo, number })));
391
+ const grown = /* @__PURE__ */ new Set([...running, ...tracking_epics]);
392
+ return grown.size === running.size ? running : with_tracking_epics(grown, tracking, repo);
393
+ }
394
+ function rooted(running, tracking, repo) {
395
+ const epics = epic_keys_of(tracking, repo);
396
+ const members = new Set([...running].filter((key) => !epics.has(key)));
397
+ return with_tracking_epics(members, tracking, repo);
398
+ }
399
+ function settle_standalone(running, issues, context, tracking) {
400
+ const settled = new Set(running);
401
+ for (const issue of issues) {
402
+ if (is_stuck(issue, running, context)) {
403
+ settled.delete(epic_graph.key_of({ repo: context.repo, number: issue.number }));
404
+ }
405
+ }
406
+ const next = rooted(settled, tracking, context.repo);
407
+ return next.size === running.size ? next : settle_standalone(next, issues, context, tracking);
408
+ }
409
+ function to_child(issue, repo) {
410
+ return {
411
+ number: issue.number,
412
+ repo,
413
+ state: "OPEN",
414
+ labels: (issue.labels ?? []).map((label) => label.name),
415
+ blocked_by: epic_issue.blocker_references_of(issue, repo),
416
+ body: issue.body,
417
+ author_association: issue.author_association,
418
+ user: issue.user
419
+ };
420
+ }
421
+ function to_children(issues, repo) {
422
+ return issues.map((issue) => to_child(issue, repo));
423
+ }
424
+ function opted_in_epics(issues, tracking) {
425
+ return [...epic_index.reachable_epic_numbers(tracking, issues)];
426
+ }
427
+ async function read_epics(pool) {
428
+ const { issues } = pool.opted_in;
429
+ const references = opted_in_epics(issues, pool.tracking.index).map((number) => ({ number }));
430
+ const listed = new Map(to_children(issues, pool.repo).map((child) => [child.number, child]));
431
+ return await epic_next_read.read_snapshots(references, pool.repo, { repo: pool.repo, listed });
432
+ }
433
+ function standalone_rows(issues) {
434
+ return issues.filter((issue) => !is_epic_row(issue));
435
+ }
436
+ function is_considered(issue, context) {
437
+ return !context.tracked.has(issue.number) && !context.exclude.includes(issue.number);
438
+ }
439
+ function classify_standalone(issues, context) {
440
+ const considered = issues.filter((issue) => is_considered(issue, context));
441
+ const runnable = git_next_issues.order(
442
+ considered.filter((issue) => auto_ok_cli.is_runnable(issue, context.tracked, context.exclude))
443
+ );
444
+ const offered = new Set(runnable.map((issue) => issue.number));
445
+ const withheld = considered.filter((issue) => !offered.has(issue.number));
446
+ return {
447
+ runnable: to_children(runnable, context.repo),
448
+ time: to_children(
449
+ withheld.filter((issue) => !needs_person(issue, context)),
450
+ context.repo
451
+ ),
452
+ human: to_children(
453
+ withheld.filter((issue) => needs_person(issue, context)),
454
+ context.repo
455
+ )
456
+ };
457
+ }
458
+ function running_set(graphs, issues, context, tracking) {
459
+ const running = epic_outside_blocker.running_keys([
460
+ ...graphs.flat().filter((child) => child.state === "OPEN"),
461
+ ...to_children(standalone_rows(issues), context.repo)
462
+ ]);
463
+ return settle_standalone(rooted(running, tracking, context.repo), issues, context, tracking);
464
+ }
465
+ function cross_epic_cycles(graphs, standalone) {
466
+ const within = new Set(
467
+ [...graphs, standalone].flatMap((children) => epic_graph.find_stuck_children(children))
468
+ );
469
+ const union = [...epic_graph.index_children([...graphs.flat(), ...standalone]).values()];
470
+ const stuck = epic_graph.find_stuck_children(
471
+ union.filter((child) => !within.has(epic_graph.key_of(child)))
472
+ );
473
+ if (stuck.length === 0) return [];
474
+ return [
475
+ {
476
+ kind: "cycle",
477
+ message: `Dependency cycle across the backlog: ${stuck.join(", ")} can never start until a person breaks it`
478
+ }
479
+ ];
480
+ }
481
+ function unique_children(children) {
482
+ const seen = /* @__PURE__ */ new Set();
483
+ const unique = [];
484
+ for (const child of children) {
485
+ if (seen.has(epic_graph.key_of(child))) continue;
486
+ seen.add(epic_graph.key_of(child));
487
+ unique.push(child);
488
+ }
489
+ return unique;
490
+ }
491
+ function without(children, taken) {
492
+ return children.filter((child) => !taken.has(epic_graph.key_of(child)));
493
+ }
494
+ function keys_of(children) {
495
+ return new Set(children.map((child) => epic_graph.key_of(child)));
496
+ }
497
+ function trusted_graphs(graphs, untrusted) {
498
+ return graphs.map((children) => without(children, untrusted));
499
+ }
500
+ function waits_on(child, held) {
501
+ return child.blocked_by.some((blocker) => held.has(epic_graph.blocker_key(blocker)));
502
+ }
503
+ function with_dependants(children, held) {
504
+ const grown = /* @__PURE__ */ new Set([...held, ...keys_of(children.filter((child) => waits_on(child, held)))]);
505
+ return grown.size === held.size ? held : with_dependants(children, grown);
506
+ }
507
+ function epic_classification(views, untrusted) {
508
+ const waiting = views.flatMap((view) => view.result.waiting);
509
+ const offered = views.flatMap(
510
+ (view) => view.result.candidates.flatMap((bundle) => bundle.children)
511
+ );
512
+ const held = with_dependants(waiting, untrusted);
513
+ const human = unique_children([
514
+ ...views.flatMap((view) => view.result.blocked_on_people),
515
+ ...[...waiting, ...offered].filter((child) => held.has(epic_graph.key_of(child)))
516
+ ]);
517
+ const time = without(unique_children(waiting), keys_of(human));
518
+ return {
519
+ runnable: without(unique_children(offered), keys_of([...human, ...time])),
520
+ time,
521
+ human
522
+ };
523
+ }
524
+ function is_kept(child, exclude, repo) {
525
+ return child.repo !== repo || !exclude.includes(child.number);
526
+ }
527
+ function drop_excluded(classification, exclude, repo) {
528
+ return {
529
+ runnable: classification.runnable.filter((child) => is_kept(child, exclude, repo)),
530
+ time: classification.time.filter((child) => is_kept(child, exclude, repo)),
531
+ human: classification.human.filter((child) => is_kept(child, exclude, repo))
532
+ };
533
+ }
534
+ function merge_classifications(left, right) {
535
+ return {
536
+ runnable: [...left.runnable, ...right.runnable],
537
+ time: [...left.time, ...right.time],
538
+ human: [...left.human, ...right.human]
539
+ };
540
+ }
541
+ function standalone_keys(issues, context) {
542
+ return keys_of(
543
+ to_children(
544
+ standalone_rows(issues).filter((issue) => is_considered(issue, context)),
545
+ context.repo
546
+ )
547
+ );
548
+ }
549
+ var backlog_pool = {
550
+ classify_standalone,
551
+ cross_epic_cycles,
552
+ running_set,
553
+ settle_standalone,
554
+ standalone_keys,
555
+ drop_excluded,
556
+ epic_classification,
557
+ merge_classifications,
558
+ opted_in_epics,
559
+ read_epics,
560
+ standalone_rows,
561
+ to_child,
562
+ to_children,
563
+ trusted_graphs
564
+ };
565
+
566
+ // scripts/backlog/backlog-gate-scope.ts
567
+ var IDLE = { kind: "idle" };
568
+ function standalone_keys2(context) {
569
+ return backlog_pool.standalone_keys(context.opted_in.issues, {
570
+ tracked: epic_index.withheld_children(context.tracking.index, context.opted_in.issues),
571
+ exclude: context.exclude,
572
+ repo: context.repo
573
+ });
574
+ }
575
+ function yielded_keys(context, directory) {
576
+ const yielded = context.opted_in.issues.filter(
577
+ (issue) => lane_plan.is_yielded(issue.number, directory)
578
+ );
579
+ return new Set(yielded.map(({ number }) => epic_graph.key_of({ number, repo: context.repo })));
580
+ }
581
+ async function gate_scope(context, read2 = IDLE) {
582
+ const { issues } = context.opted_in;
583
+ const directory = process.cwd();
584
+ const declared = await backlog_plan_comment.declared_of(issues, directory);
585
+ const holders = backlog_overlap.running_numbers(read2);
586
+ return {
587
+ standalone: standalone_keys2(context),
588
+ declared: lane_plan.with_holder_plans(declared, holders, directory),
589
+ lanes: await lane_state.read_states(issues.map((issue) => String(issue.number))),
590
+ yielded: yielded_keys(context, directory)
591
+ };
592
+ }
593
+ var backlog_gate_scope = { gate_scope };
594
+
595
+ // scripts/backlog/backlog-next-offer.ts
596
+ var { VERDICT_TOKENS } = backlog_next_report;
597
+ var EXCLUDE_REASON = "exclude";
598
+ var TRIAGE_REASON = "triage";
599
+ var PERSON_REASON = "person";
600
+ var WAIT_REASON = "wait";
601
+ var SOLO_REASON = "solo";
602
+ function base_of(opted_in, verdict) {
603
+ return {
604
+ verdict,
605
+ seen: opted_in.issues.map((issue) => issue.number),
606
+ started: [],
607
+ excluded: [],
608
+ is_unchanged: opted_in.is_unchanged === true
609
+ };
610
+ }
611
+ function excluded_by_request(context) {
612
+ return context.exclude.map((issue) => ({ issue, reason: EXCLUDE_REASON }));
613
+ }
614
+ function here(children, repo) {
615
+ return children.filter((child) => child.repo === repo);
616
+ }
617
+ function numbers_of(children) {
618
+ return new Set(children.map((child) => child.number));
619
+ }
620
+ function withheld_of(outcome, repo) {
621
+ const after = numbers_of(backlog_next_report.offered_of(outcome.gated, repo));
622
+ return numbers_of(
623
+ backlog_next_report.offered_of(outcome.pre_gate, repo).filter((child) => !after.has(child.number))
624
+ );
625
+ }
626
+ function waiting_reason(child, withheld) {
627
+ if (withheld.has(child.number)) return SOLO_REASON;
628
+ return backlog_wait_cause.cause_of(child) ?? WAIT_REASON;
629
+ }
630
+ function excluded_of(context, outcome, untriaged) {
631
+ const { repo } = context;
632
+ const result = outcome.gated;
633
+ const withheld = withheld_of(outcome, repo);
634
+ return [
635
+ ...excluded_by_request(context),
636
+ ...untriaged.map((child) => ({ issue: child.number, reason: TRIAGE_REASON })),
637
+ ...here(result.waiting, repo).map((child) => ({
638
+ issue: child.number,
639
+ reason: waiting_reason(child, withheld)
640
+ })),
641
+ ...here(result.blocked_on_people, repo).map((child) => ({
642
+ issue: child.number,
643
+ reason: PERSON_REASON
644
+ }))
645
+ ];
646
+ }
647
+ function verdict_of(result, repo, untriaged, started) {
648
+ if (started.length > 0) return VERDICT_TOKENS.run;
649
+ if (untriaged.length > 0) return VERDICT_TOKENS.triage;
650
+ return backlog_next_report.tokens_of(result, repo).join(",");
651
+ }
652
+ async function record_answer(context, outcome, untriaged) {
653
+ const { gated } = outcome;
654
+ const started = backlog_next_report.offered_of(gated, context.repo).map((child) => child.number);
655
+ await lane_ledger_write.record_offer({
656
+ ...base_of(context.opted_in, verdict_of(gated, context.repo, untriaged, started)),
657
+ started,
658
+ excluded: excluded_of(context, outcome, untriaged)
659
+ });
660
+ }
661
+ async function record_retry(context) {
662
+ await lane_ledger_write.record_offer({
663
+ ...base_of(context.opted_in, VERDICT_TOKENS.retry),
664
+ excluded: excluded_by_request(context)
665
+ });
666
+ }
667
+ async function record_none(opted_in) {
668
+ await lane_ledger_write.record_offer(base_of(opted_in, VERDICT_TOKENS.complete));
669
+ }
670
+ var backlog_next_offer = { record_answer, record_none, record_retry };
671
+
672
+ // scripts/backlog/backlog-rank.ts
673
+ function everything_in(result) {
674
+ const candidates = result.candidates.flatMap((bundle) => bundle.children);
675
+ return [...candidates, ...result.waiting, ...result.blocked_on_people];
676
+ }
677
+ var { rank } = epic_rank;
678
+ function reorder_repo(result, repo, order) {
679
+ if (result.verdict !== "run") return result;
680
+ return {
681
+ ...result,
682
+ candidates: result.candidates.map(
683
+ (bundle) => bundle.repo === repo ? { ...bundle, children: order(bundle.children) } : bundle
684
+ )
685
+ };
686
+ }
687
+ function rank_result(result, repo) {
688
+ const pool = everything_in(result);
689
+ return reorder_repo(result, repo, (children) => rank(children, pool));
690
+ }
691
+ function overflow_of(offered, standalone, limit) {
692
+ const keys = offered.map((child) => epic_graph.key_of(child)).filter((key) => standalone.has(key));
693
+ return new Set(keys.slice(limit));
694
+ }
695
+ function is_in(child, keys) {
696
+ return keys.has(epic_graph.key_of(child));
697
+ }
698
+ function cap(selection, standalone, limit) {
699
+ const overflow = overflow_of(selection.offered, standalone, limit);
700
+ if (overflow.size === 0) return selection;
701
+ return {
702
+ ...selection,
703
+ offered: selection.offered.filter((child) => !is_in(child, overflow)),
704
+ withheld: [
705
+ ...selection.offered.filter((child) => is_in(child, overflow)),
706
+ ...selection.withheld
707
+ ]
708
+ };
709
+ }
710
+ function yielded_first(ranked, yielded) {
711
+ return [
712
+ ...ranked.filter((child) => is_in(child, yielded)),
713
+ ...ranked.filter((child) => !is_in(child, yielded))
714
+ ];
715
+ }
716
+ function offer_order(result, repo, yielded = /* @__PURE__ */ new Set()) {
717
+ return reorder_repo(result, repo, (children) => yielded_first(children, yielded));
718
+ }
719
+ function select(input) {
720
+ const ranked = yielded_first(rank(input.candidates, input.pool), input.yielded ?? /* @__PURE__ */ new Set());
721
+ const { read: read2, repo, lanes } = input;
722
+ const gated = epic_solo.select(ranked, read2, repo);
723
+ const separated = backlog_overlap.separate(gated, input.declared ?? /* @__PURE__ */ new Map(), {
724
+ read: read2,
725
+ repo,
726
+ lanes
727
+ });
728
+ return cap(separated, input.standalone, input.limit ?? git_next_issues.DISPLAY_LIMIT);
729
+ }
730
+ function gate(result, read2, repo, scope) {
731
+ const pool = everything_in(result);
732
+ return epic_solo.gate(
733
+ result,
734
+ read2,
735
+ repo,
736
+ (candidates) => select({ candidates, pool, read: read2, repo, ...scope })
737
+ );
738
+ }
739
+ var backlog_rank = { everything_in, gate, offer_order, rank_result, select };
740
+
741
+ // scripts/run/pause/run-pause-comment.ts
742
+ import { z as z3 } from "zod";
743
+ var comment_schema = z3.object({ body: z3.string().nullish() });
744
+ async function has_comment(request) {
745
+ const json = await git_gh_issue_read.issue_list_comments(request.issue);
746
+ const rows = json === void 0 ? void 0 : parse_json_array_or_undefined(json, comment_schema);
747
+ if (rows === void 0) {
748
+ throw new Error(`the comments on ${session_cite.issue(request.issue)} could not be read`);
749
+ }
750
+ return rows.some((row) => row.body?.includes(request.marker) === true);
751
+ }
752
+ function marker_of(issue) {
753
+ return `<!-- josh:run-pause ${issue_cite.plain_for("program", issue)} for `;
754
+ }
755
+ async function is_paused(issue) {
756
+ return await has_comment({ issue, marker: marker_of(issue) });
757
+ }
758
+ var run_pause_comment = { has_comment, marker_of, is_paused };
759
+
760
+ // scripts/backlog/backlog-resume-reads.ts
761
+ import { z as z4 } from "zod";
762
+ var COMMENTS_WINDOW = 100;
763
+ var LINE_SEPARATOR = "\n";
764
+ var OPEN_PULLS_QUERY = "/pulls?state=open&per_page=100";
765
+ var PULL_FILTER = '.[] | {body: (.body // "")}';
766
+ var ALIAS_PREFIX = "i";
767
+ var pull_schema = z4.object({ body: z4.string() });
768
+ var comment_schema2 = z4.looseObject({ body: z4.string().nullish() });
769
+ var page_info_schema = z4.looseObject({ hasPreviousPage: z4.boolean() });
770
+ var comments_schema = z4.looseObject({
771
+ pageInfo: page_info_schema,
772
+ nodes: z4.array(comment_schema2)
773
+ });
774
+ var issue_node_schema = z4.looseObject({ comments: comments_schema }).nullable();
775
+ var repository_schema = z4.record(z4.string(), issue_node_schema);
776
+ var response_schema = z4.looseObject({ data: z4.looseObject({ repository: repository_schema }) });
777
+ function referenced_issues_of(line, repo) {
778
+ const pull = parse_json_object_or_undefined(line, pull_schema);
779
+ if (pull === void 0) {
780
+ throw new Error("the open pull request listing contains an unreadable row");
781
+ }
782
+ return epic_audit_logic.parse_references(pull.body, repo).map(String);
783
+ }
784
+ async function open_pr_issues(repo) {
785
+ const raw = await git_gh_exec.exec_gh_api({
786
+ path: `${git_gh_api_path.repo_api_path(repo)}${OPEN_PULLS_QUERY}`,
787
+ should_paginate: true,
788
+ jq_filter: PULL_FILTER
789
+ });
790
+ return new Set(
791
+ raw.split(LINE_SEPARATOR).filter((line) => line.trim() !== "").flatMap((line) => referenced_issues_of(line, repo))
792
+ );
793
+ }
794
+ function alias_of(issue) {
795
+ return `${ALIAS_PREFIX}${issue}`;
796
+ }
797
+ function comments_query(issues) {
798
+ const fields = issues.map(
799
+ (issue) => `${alias_of(issue)}: issue(number: ${issue}) { comments(last: ${String(COMMENTS_WINDOW)}) { pageInfo { hasPreviousPage } nodes { body } } }`
800
+ );
801
+ return `query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { ${fields.join(" ")} } }`;
802
+ }
803
+ async function read_windows(issues, repo) {
804
+ const separator = repo.indexOf("/");
805
+ const owner = repo.slice(0, separator);
806
+ const name = repo.slice(separator + 1);
807
+ try {
808
+ const json = await git_gh_exec.exec_gh_api({
809
+ path: GRAPHQL_PATH,
810
+ body: JSON.stringify({ query: comments_query(issues), variables: { owner, name } })
811
+ });
812
+ return parse_json_object_or_undefined(json, response_schema)?.data.repository ?? {};
813
+ } catch {
814
+ return {};
815
+ }
816
+ }
817
+ function window_verdict(issue, node) {
818
+ if (node === void 0 || node === null) return void 0;
819
+ const marker = run_pause_comment.marker_of(issue);
820
+ if (node.comments.nodes.some((comment) => comment.body?.includes(marker) === true)) return true;
821
+ return node.comments.pageInfo.hasPreviousPage ? void 0 : false;
822
+ }
823
+ async function paused_issues(issues, repo) {
824
+ if (issues.length === 0) return /* @__PURE__ */ new Set();
825
+ const windows = await read_windows(issues, repo);
826
+ const verdicts = await Promise.all(
827
+ issues.map(
828
+ async (issue) => window_verdict(issue, windows[alias_of(issue)]) ?? await run_pause_comment.is_paused(issue)
829
+ )
830
+ );
831
+ return new Set(issues.filter((_issue, index) => verdicts[index] === true));
832
+ }
833
+ var backlog_resume_reads = { open_pr_issues, paused_issues };
834
+
835
+ // scripts/backlog/backlog-resumable.ts
836
+ var NO_ISSUES = /* @__PURE__ */ new Set();
837
+ function is_resumable(issue, signals) {
838
+ return signals.stashed.has(issue) || signals.paused.has(issue) || signals.open_pr.has(issue);
839
+ }
840
+ function enrich_children(children, repo, signals) {
841
+ return children.map(
842
+ (child) => child.repo === repo ? { ...child, is_resumable: is_resumable(String(child.number), signals) } : child
843
+ );
844
+ }
845
+ function local_issues(result, repo) {
846
+ const children = [...result.candidates.flatMap((bundle) => bundle.children), ...result.waiting];
847
+ const local = children.filter((child) => child.repo === repo);
848
+ return [...new Set(local.map((child) => String(child.number)))];
849
+ }
850
+ async function read_signals(result, repo) {
851
+ const stashed = new Set(stash_orphans.issues_of(await git_stash.list()));
852
+ const unstashed = local_issues(result, repo).filter((issue) => !stashed.has(issue));
853
+ if (unstashed.length === 0) return { stashed, paused: NO_ISSUES, open_pr: NO_ISSUES };
854
+ const [paused, open_pr] = await Promise.all([
855
+ backlog_resume_reads.paused_issues(unstashed, repo),
856
+ backlog_resume_reads.open_pr_issues(repo)
857
+ ]);
858
+ return { stashed, paused, open_pr };
859
+ }
860
+ async function read(result, repo) {
861
+ if (result.verdict !== "run") return result;
862
+ const signals = await read_signals(result, repo);
863
+ const candidates = result.candidates.map((bundle) => ({
864
+ ...bundle,
865
+ children: enrich_children(bundle.children, repo, signals)
866
+ }));
867
+ return { ...result, candidates, waiting: enrich_children(result.waiting, repo, signals) };
868
+ }
869
+ var backlog_resumable = { read };
870
+
871
+ // scripts/backlog/backlog-next.ts
872
+ var FAILURE_EXIT_CODE = 1;
873
+ var USAGE = "Usage: josh backlog:next [--exclude <issue-number>[,<issue-number>...]]...";
874
+ var REPO_UNREADABLE_MESSAGE = 'Could not read this repository from `gh`, so an epic child could not be told from an issue elsewhere. That is not "nothing is runnable" \u2014 check `gh auth status` and ask again.';
875
+ var READ_FAILURES = {
876
+ blockers_unreadable: auto_ok_cli.BLOCKERS_UNREADABLE_MESSAGE,
877
+ unexpected_shape: auto_ok_cli.UNEXPECTED_SHAPE_MESSAGE,
878
+ unreadable: auto_ok_cli.UNREADABLE_MESSAGE
879
+ };
880
+ function running_of(views, graphs, context) {
881
+ return views[0]?.running ?? backlog_pool.running_set(graphs, context.opted_in.issues, context, context.tracking.index);
882
+ }
883
+ function epic_half(views, context, untrusted) {
884
+ return backlog_pool.drop_excluded(
885
+ backlog_pool.epic_classification(views, untrusted),
886
+ context.exclude,
887
+ context.repo
888
+ );
889
+ }
890
+ function combine(views, context, untrusted) {
891
+ const graphs = views.map((view) => view.snapshot.children);
892
+ const standalone = backlog_pool.standalone_rows(context.opted_in.issues);
893
+ const from_epics = epic_half(views, context, untrusted);
894
+ const from_standalone = backlog_pool.classify_standalone(standalone, {
895
+ ...context,
896
+ tracked: epic_index.withheld_children(context.tracking.index, context.opted_in.issues),
897
+ running: running_of(views, graphs, context)
898
+ });
899
+ return epic_report.build_result(
900
+ backlog_pool.merge_classifications(from_epics, from_standalone),
901
+ [
902
+ ...views.flatMap((view) => view.result.anomalies),
903
+ ...backlog_pool.cross_epic_cycles(graphs, backlog_pool.to_children(standalone, context.repo))
904
+ ],
905
+ repo_discovery.discover_repositories(PROJECT_ROOT)
906
+ );
907
+ }
908
+ function settled_views(reads, running, context) {
909
+ const views = epic_next.views_of(reads, running);
910
+ const settled = backlog_pool.settle_standalone(
911
+ views[0]?.running ?? running,
912
+ context.opted_in.issues,
913
+ context,
914
+ context.tracking.index
915
+ );
916
+ return settled.size === running.size ? views : settled_views(reads, settled, context);
917
+ }
918
+ function views_from(reads, context, untrusted) {
919
+ if (reads.length === 0) return [];
920
+ const graphs = backlog_pool.trusted_graphs(
921
+ reads.map((read2) => read2.snapshot.children),
922
+ untrusted
923
+ );
924
+ return settled_views(
925
+ reads,
926
+ backlog_pool.running_set(graphs, context.opted_in.issues, context, context.tracking.index),
927
+ context
928
+ );
929
+ }
930
+ async function resolve(context) {
931
+ const { reads, notices, refusal } = await backlog_pool.read_epics(context);
932
+ for (const notice of notices) console.error(notice);
933
+ if (refusal !== void 0) {
934
+ console.error(refusal);
935
+ return void 0;
936
+ }
937
+ const children = reads.flatMap((read2) => read2.snapshot.children);
938
+ const untrusted = await auto_ok_author.untrusted_child_keys(children, context.repo);
939
+ const ordered = await backlog_defect_priority.prioritize(
940
+ combine(views_from(reads, context, untrusted), context, untrusted),
941
+ context.repo
942
+ );
943
+ return backlog_rank.rank_result(await backlog_resumable.read(ordered, context.repo), context.repo);
944
+ }
945
+ function is_transport_failure(result) {
946
+ if (result.verdict !== "error") return false;
947
+ return result.anomalies.some((anomaly) => anomaly.is_unreachable === true);
948
+ }
949
+ async function gate_ready(result, context) {
950
+ if (result.verdict !== "run") return result;
951
+ const { repo } = context;
952
+ const { read: read2, notice } = await epic_solo_stale.release(
953
+ await epic_busy.read_repository(repo),
954
+ repo
955
+ );
956
+ if (notice !== void 0) console.error(notice);
957
+ const scope = await backlog_gate_scope.gate_scope(context, read2);
958
+ const gated = backlog_rank.gate(result, read2, repo, scope);
959
+ if (gated.notice !== void 0) console.error(gated.notice);
960
+ return gated.result;
961
+ }
962
+ function result_edge(value) {
963
+ if (value === void 0 || value.verdict === "error") return "failed";
964
+ return value.verdict === "wait" || value.verdict === "stop" ? "waiting" : "done";
965
+ }
966
+ async function gate_solo(result, context) {
967
+ return await run_startup.phase("eligibility", async () => await gate_ready(result, context), {
968
+ edge_of: result_edge
969
+ });
970
+ }
971
+ async function answer_held(result, context, untriaged) {
972
+ const pre_gate = backlog_next_report.without_untriaged(result, context.repo);
973
+ const gated = await gate_solo(pre_gate, context);
974
+ await backlog_next_offer.record_answer(context, { pre_gate, gated }, untriaged);
975
+ return await backlog_next_report.report_held(gated, context, untriaged);
976
+ }
977
+ async function answer_pool(context) {
978
+ const resolved = await run_startup.phase(
979
+ "candidate eligibility",
980
+ async () => await resolve(context),
981
+ {
982
+ edge_of: result_edge
983
+ }
984
+ );
985
+ if (resolved === void 0) return FAILURE_EXIT_CODE;
986
+ if (is_transport_failure(resolved)) {
987
+ await backlog_next_offer.record_retry(context);
988
+ return backlog_next_report.report_retry(context);
989
+ }
990
+ const { result, untriaged } = await backlog_auto_triage.untriaged_of(resolved, context.repo);
991
+ if (untriaged.length > 0) return await answer_held(result, context, untriaged);
992
+ const gated = await gate_solo(result, context);
993
+ await backlog_next_offer.record_answer(context, { pre_gate: result, gated }, []);
994
+ return await backlog_next_report.report(gated, context);
995
+ }
996
+ async function context_of(opted_in, exclude) {
997
+ const tracking = await auto_ok_cli.fetch_tracking(opted_in.issues.length);
998
+ if (tracking.kind !== "read") {
999
+ console.error(auto_ok_cli.EPICS_UNREADABLE_MESSAGE);
1000
+ return void 0;
1001
+ }
1002
+ const repo = await git_gh_command.repo_get_name_with_owner();
1003
+ if (repo === void 0) {
1004
+ console.error(REPO_UNREADABLE_MESSAGE);
1005
+ return void 0;
1006
+ }
1007
+ return { opted_in, tracking, repo, exclude, ...await lane_net_read.measurements() };
1008
+ }
1009
+ async function answer(opted_in, exclude) {
1010
+ await issue_not_before_label.sweep(opted_in.issues);
1011
+ if (opted_in.issues.length === 0) {
1012
+ await backlog_next_offer.record_none(opted_in);
1013
+ return backlog_next_report.report_none();
1014
+ }
1015
+ const context = await context_of(opted_in, exclude);
1016
+ if (context === void 0) return FAILURE_EXIT_CODE;
1017
+ return await answer_pool(context);
1018
+ }
1019
+ async function run(argv) {
1020
+ const options = auto_ok_cli.parse_options(argv, USAGE);
1021
+ if (options.usage !== void 0) {
1022
+ console.error(options.usage);
1023
+ return FAILURE_EXIT_CODE;
1024
+ }
1025
+ const opted_in = await run_startup.phase("candidate listing", auto_ok_cli.fetch_opted_in, {
1026
+ edge_of: (value) => value.kind === "read" ? "done" : "failed"
1027
+ });
1028
+ if (opted_in.kind !== "read") {
1029
+ console.error(READ_FAILURES[opted_in.kind]);
1030
+ return FAILURE_EXIT_CODE;
1031
+ }
1032
+ return await answer(opted_in, options.exclude ?? []);
1033
+ }
1034
+ var backlog_next = {
1035
+ USAGE,
1036
+ REPO_UNREADABLE_MESSAGE,
1037
+ RETRY_MESSAGE: backlog_next_report.RETRY_MESSAGE,
1038
+ READ_FAILURES,
1039
+ VERDICT_TOKENS: backlog_next_report.VERDICT_TOKENS,
1040
+ resolve,
1041
+ context_of,
1042
+ run
1043
+ };
1044
+
1045
+ export {
1046
+ issue_not_before_label,
1047
+ backlog_auto_triage,
1048
+ backlog_gate_scope,
1049
+ backlog_rank,
1050
+ run_pause_comment,
1051
+ backlog_next
1052
+ };