@joshuafolkken/kit 1.3044.0 → 1.3099.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1250) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
  3. package/.claude/skills/workflow-commands/halfrun.md +3 -2
  4. package/.claude/skills/workflow-commands/kickoff.md +9 -2
  5. package/.claude/skills/workflow-commands/prerequisite.md +2 -0
  6. package/.claude/skills/workflow-commands/retrospective.md +2 -1
  7. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  8. package/.github/workflows/ci.yml +0 -20
  9. package/.github/workflows/pr-classification.yml +0 -5
  10. package/.github/workflows/publish.yml +0 -1
  11. package/.github/workflows/sonar-qube.yml +0 -5
  12. package/README.md +2 -0
  13. package/SECURITY.md +2 -1
  14. package/dist/.inputs-verified.json +1 -1
  15. package/dist/commands/adopt.js +29 -20
  16. package/dist/commands/auto-ok-judge-cli.js +43 -33
  17. package/dist/commands/auto-ok-main.js +73 -74
  18. package/dist/commands/backlog-budget-main.js +5 -6
  19. package/dist/commands/backlog-drive-cli.js +286 -305
  20. package/dist/commands/backlog-next-main.js +111 -108
  21. package/dist/commands/backlog-offer-main.js +148 -112
  22. package/dist/commands/backlog-plan-cli.js +123 -120
  23. package/dist/commands/backlog-triage-cli.js +131 -128
  24. package/dist/commands/backlogrun-cli.js +274 -264
  25. package/dist/commands/behavior-cli.js +23 -26
  26. package/dist/commands/bytes-command.js +56 -59
  27. package/dist/commands/cases-cli.js +4 -5
  28. package/dist/commands/check-commit-message-main.js +3 -4
  29. package/dist/commands/check-related.js +125 -119
  30. package/dist/commands/chunk-26JL4UU4.js +365 -0
  31. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  32. package/dist/commands/chunk-2CKJODCK.js +245 -0
  33. package/dist/commands/chunk-2CNVIA35.js +335 -0
  34. package/dist/commands/chunk-2E6PSONB.js +46 -0
  35. package/dist/commands/chunk-2GA4775H.js +77 -0
  36. package/dist/commands/chunk-2O64H5UJ.js +462 -0
  37. package/dist/commands/chunk-2OEXY4GM.js +252 -0
  38. package/dist/commands/chunk-2OMIHPPE.js +51 -0
  39. package/dist/commands/chunk-2ONSHOAY.js +46 -0
  40. package/dist/commands/chunk-2SA3W4JF.js +41 -0
  41. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  42. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  43. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  44. package/dist/commands/chunk-33TAOZUE.js +29 -0
  45. package/dist/commands/chunk-36XHHYNU.js +158 -0
  46. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  47. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  48. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  49. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  50. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  51. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  52. package/dist/commands/chunk-3LUPGBW4.js +137 -0
  53. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  54. package/dist/commands/chunk-3PCUERXE.js +19 -0
  55. package/dist/commands/chunk-3U6A5WON.js +173 -0
  56. package/dist/commands/chunk-3VLDFM5I.js +426 -0
  57. package/dist/commands/chunk-3YT3RCSI.js +140 -0
  58. package/dist/commands/chunk-43DU7DYZ.js +540 -0
  59. package/dist/commands/chunk-43H725LG.js +132 -0
  60. package/dist/commands/chunk-46STCE6Q.js +48 -0
  61. package/dist/commands/chunk-46WEC6HZ.js +82 -0
  62. package/dist/commands/chunk-47J4KOZP.js +46 -0
  63. package/dist/commands/chunk-47W7PF4T.js +22 -0
  64. package/dist/commands/chunk-4F4KARQN.js +229 -0
  65. package/dist/commands/chunk-4HB7NWXP.js +263 -0
  66. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  67. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  68. package/dist/commands/chunk-4IDINPBE.js +525 -0
  69. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  70. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  71. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  72. package/dist/commands/chunk-5AZTSESD.js +114 -0
  73. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  74. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  75. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  76. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  77. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  78. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  79. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  80. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  81. package/dist/commands/chunk-5VQCL33M.js +46 -0
  82. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  83. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  84. package/dist/commands/chunk-6AHAY5VZ.js +69 -0
  85. package/dist/commands/chunk-6FN37DER.js +330 -0
  86. package/dist/commands/chunk-6JD4VNO4.js +124 -0
  87. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  88. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  89. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  90. package/dist/commands/chunk-6O45F6YI.js +86 -0
  91. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  92. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  93. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  94. package/dist/commands/chunk-736NECRD.js +16 -0
  95. package/dist/commands/chunk-77LEKVEE.js +32 -0
  96. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  97. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  98. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  99. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  100. package/dist/commands/chunk-7HYYHCTN.js +402 -0
  101. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  102. package/dist/commands/chunk-7K5ITPHR.js +338 -0
  103. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  104. package/dist/commands/chunk-7ULYLGUK.js +492 -0
  105. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  106. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  107. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  108. package/dist/commands/chunk-ABM2MZBF.js +161 -0
  109. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  110. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  111. package/dist/commands/chunk-AU563VKH.js +75 -0
  112. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  113. package/dist/commands/chunk-AV26CMY6.js +304 -0
  114. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  115. package/dist/commands/chunk-B545ENGY.js +214 -0
  116. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  117. package/dist/commands/chunk-B73IIRMS.js +207 -0
  118. package/dist/commands/chunk-BBLEC4YQ.js +109 -0
  119. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  120. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  121. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  122. package/dist/commands/chunk-BML6MEUB.js +326 -0
  123. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  124. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  125. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  126. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  127. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  128. package/dist/commands/chunk-BVUL57IX.js +139 -0
  129. package/dist/commands/chunk-C7FGDZWP.js +224 -0
  130. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  131. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  132. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  133. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  134. package/dist/commands/chunk-CEADAQIL.js +170 -0
  135. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  136. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  137. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  138. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  139. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  140. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  141. package/dist/commands/chunk-DACNQAXC.js +20 -0
  142. package/dist/commands/chunk-DDOS32JU.js +74 -0
  143. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  144. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  145. package/dist/commands/chunk-DFEXNB44.js +159 -0
  146. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  147. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  148. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  149. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  150. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  151. package/dist/commands/chunk-DOYNK72G.js +81 -0
  152. package/dist/commands/chunk-DS53UUDH.js +679 -0
  153. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  154. package/dist/commands/chunk-DURHGVRC.js +33 -0
  155. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  156. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  157. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  158. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  159. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  160. package/dist/commands/chunk-EHPTXSAT.js +315 -0
  161. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  162. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  163. package/dist/commands/chunk-EPICTV2P.js +46 -0
  164. package/dist/commands/chunk-ES42XPAD.js +123 -0
  165. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  166. package/dist/commands/chunk-EVVQJJFV.js +507 -0
  167. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  168. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  169. package/dist/commands/chunk-F2U46HAE.js +52 -0
  170. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  171. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  172. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  173. package/dist/commands/chunk-F57LACNC.js +84 -0
  174. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  175. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  176. package/dist/commands/chunk-FA7CN75F.js +160 -0
  177. package/dist/commands/chunk-FDASVHZD.js +241 -0
  178. package/dist/commands/chunk-FEYZ575X.js +278 -0
  179. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  180. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  181. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  182. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  183. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  184. package/dist/commands/chunk-FTAWHAI7.js +170 -0
  185. package/dist/commands/chunk-G2DNS74C.js +53 -0
  186. package/dist/commands/chunk-G3BBCAAH.js +90 -0
  187. package/dist/commands/chunk-G75GWNNY.js +101 -0
  188. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  189. package/dist/commands/chunk-GABDPTDK.js +907 -0
  190. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  191. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  192. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  193. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  194. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  195. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  196. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  197. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  198. package/dist/commands/chunk-GOY5JECO.js +130 -0
  199. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  200. package/dist/commands/chunk-HALHQILI.js +51 -0
  201. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  202. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  203. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  204. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  205. package/dist/commands/chunk-HHS3LYLV.js +30 -0
  206. package/dist/commands/chunk-HQZ65PJE.js +167 -0
  207. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  208. package/dist/commands/chunk-HSZECERZ.js +271 -0
  209. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  210. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  211. package/dist/commands/chunk-IAGENI2U.js +42 -0
  212. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  213. package/dist/commands/chunk-IONGJJYM.js +179 -0
  214. package/dist/commands/chunk-IP23WOWP.js +126 -0
  215. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  216. package/dist/commands/chunk-IXZZSST7.js +459 -0
  217. package/dist/commands/chunk-IY3DSDRW.js +173 -0
  218. package/dist/commands/chunk-J2RUI4KN.js +47 -0
  219. package/dist/commands/chunk-J3PCRUVY.js +1223 -0
  220. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  221. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  222. package/dist/commands/chunk-JEYITIWB.js +423 -0
  223. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  224. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  225. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  226. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  227. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  228. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  229. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  230. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  231. package/dist/commands/chunk-JU2MAYQ3.js +997 -0
  232. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  233. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  234. package/dist/commands/chunk-K6P5PISC.js +114 -0
  235. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  236. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  237. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  238. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  239. package/dist/commands/chunk-KJPZPTS4.js +245 -0
  240. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  241. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  242. package/dist/commands/chunk-KN46UC77.js +114 -0
  243. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  244. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  245. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  246. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  247. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  248. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  249. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  250. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  251. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  252. package/dist/commands/chunk-LE3M42CF.js +350 -0
  253. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  254. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  255. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  256. package/dist/commands/chunk-LL6G34MF.js +93 -0
  257. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  258. package/dist/commands/chunk-LS7P324N.js +72 -0
  259. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  260. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  261. package/dist/commands/chunk-M32UPB2D.js +110 -0
  262. package/dist/commands/chunk-M3UGRNNB.js +103 -0
  263. package/dist/commands/chunk-MDGPJOLK.js +351 -0
  264. package/dist/commands/chunk-MDKRTUE4.js +288 -0
  265. package/dist/commands/chunk-MFZVRWRS.js +34 -0
  266. package/dist/commands/chunk-MHF6BDQI.js +128 -0
  267. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  268. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  269. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  270. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  271. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  272. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  273. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  274. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  275. package/dist/commands/chunk-N36NZMAL.js +79 -0
  276. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  277. package/dist/commands/chunk-N4P64UIH.js +211 -0
  278. package/dist/commands/chunk-NABSSY4P.js +204 -0
  279. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  280. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  281. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  282. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  283. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  284. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  285. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  286. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  287. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  288. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  289. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  290. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  291. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  292. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  293. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  294. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  295. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  296. package/dist/commands/chunk-O45BX4EL.js +39 -0
  297. package/dist/commands/chunk-O46T4ANI.js +229 -0
  298. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  299. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  300. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  301. package/dist/commands/chunk-OHN3QARP.js +769 -0
  302. package/dist/commands/chunk-OKBZGLD5.js +393 -0
  303. package/dist/commands/chunk-OKN63ZH5.js +109 -0
  304. package/dist/commands/chunk-ON4IKRGS.js +469 -0
  305. package/dist/commands/chunk-OT74RSQO.js +82 -0
  306. package/dist/commands/chunk-OVCVINYW.js +143 -0
  307. package/dist/commands/chunk-OZKLVTYI.js +342 -0
  308. package/dist/commands/chunk-OZN4HOZT.js +74 -0
  309. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  310. package/dist/commands/chunk-P43GWYR6.js +185 -0
  311. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  312. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  313. package/dist/commands/chunk-PCZROH3R.js +100 -0
  314. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  315. package/dist/commands/chunk-PKXTISWR.js +58 -0
  316. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  317. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  318. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  319. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  320. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  321. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  322. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  323. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  324. package/dist/commands/chunk-QSBYULSS.js +100 -0
  325. package/dist/commands/chunk-QSJCZATC.js +18 -0
  326. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  327. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  328. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  329. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  330. package/dist/commands/chunk-QXBOECGL.js +272 -0
  331. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  332. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  333. package/dist/commands/chunk-R36VZIKU.js +53 -0
  334. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  335. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  336. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  337. package/dist/commands/chunk-RAQ3E6OT.js +258 -0
  338. package/dist/commands/chunk-RESNXNDG.js +54 -0
  339. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  340. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  341. package/dist/commands/chunk-RFXON3FK.js +25 -0
  342. package/dist/commands/chunk-RGEB5L37.js +66 -0
  343. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  344. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  345. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  346. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  347. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  348. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  349. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  350. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  351. package/dist/commands/chunk-RYKK75YT.js +289 -0
  352. package/dist/commands/chunk-S4JE63QE.js +704 -0
  353. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  354. package/dist/commands/chunk-S5GX3H4P.js +91 -0
  355. package/dist/commands/chunk-SC57VV6A.js +60 -0
  356. package/dist/commands/chunk-SD4EX75H.js +177 -0
  357. package/dist/commands/chunk-SJITWFNY.js +480 -0
  358. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  359. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  360. package/dist/commands/chunk-SOETJZWH.js +7672 -0
  361. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  362. package/dist/commands/chunk-SRTEE34O.js +93 -0
  363. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  364. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  365. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  366. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  367. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  368. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  369. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  370. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  371. package/dist/commands/chunk-TROCFVCU.js +45 -0
  372. package/dist/commands/chunk-TUBBESHU.js +85 -0
  373. package/dist/commands/chunk-TVZIFZZN.js +62 -0
  374. package/dist/commands/chunk-TXRWAL63.js +144 -0
  375. package/dist/commands/chunk-U46YTYJQ.js +92 -0
  376. package/dist/commands/chunk-U5EO4QEV.js +48 -0
  377. package/dist/commands/chunk-UCO333EX.js +47 -0
  378. package/dist/commands/chunk-UIXQ4IYT.js +445 -0
  379. package/dist/commands/chunk-UJGNYPMD.js +716 -0
  380. package/dist/commands/chunk-URZ4RDC4.js +220 -0
  381. package/dist/commands/chunk-UUA63LCI.js +77 -0
  382. package/dist/commands/chunk-UUH3DE77.js +57 -0
  383. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  384. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  385. package/dist/commands/chunk-UY62WJV6.js +120 -0
  386. package/dist/commands/chunk-UZDKCGDC.js +198 -0
  387. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  388. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  389. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  390. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  391. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  392. package/dist/commands/chunk-VO25PMGS.js +58 -0
  393. package/dist/commands/chunk-VPRQFM2T.js +37 -0
  394. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  395. package/dist/commands/chunk-VUCDGQ6Y.js +260 -0
  396. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  397. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  398. package/dist/commands/chunk-W7X7MZZN.js +449 -0
  399. package/dist/commands/chunk-WCYRNNKF.js +76 -0
  400. package/dist/commands/chunk-WEUUJIWQ.js +84 -0
  401. package/dist/commands/chunk-WNBJK6QE.js +84 -0
  402. package/dist/commands/chunk-WORHUJ6T.js +73 -0
  403. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  404. package/dist/commands/chunk-WR73HTRG.js +121 -0
  405. package/dist/commands/chunk-WRHMYSW7.js +36 -0
  406. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  407. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  408. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  409. package/dist/commands/chunk-WWLCQREY.js +225 -0
  410. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  411. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  412. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  413. package/dist/commands/chunk-XAEL24EG.js +66 -0
  414. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  415. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  416. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  417. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  418. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  419. package/dist/commands/chunk-YANDBVAT.js +430 -0
  420. package/dist/commands/chunk-YD7XK2TX.js +550 -0
  421. package/dist/commands/chunk-YEAE46TS.js +98 -0
  422. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  423. package/dist/commands/chunk-YJZAD4Z5.js +103 -0
  424. package/dist/commands/chunk-YNCF66RK.js +1052 -0
  425. package/dist/commands/chunk-YOA25SII.js +210 -0
  426. package/dist/commands/chunk-YOZTZMAT.js +38 -0
  427. package/dist/commands/chunk-YSGRHVZG.js +897 -0
  428. package/dist/commands/chunk-YSLGWRQN.js +646 -0
  429. package/dist/commands/chunk-YT5JR2CB.js +105 -0
  430. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  431. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  432. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  433. package/dist/commands/chunk-Z2NUK47W.js +1314 -0
  434. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  435. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  436. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  437. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  438. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  439. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  440. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  441. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  442. package/dist/commands/chunk-ZI3SABMH.js +347 -0
  443. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  444. package/dist/commands/chunk-ZJJLROJY.js +269 -0
  445. package/dist/commands/chunk-ZNIIA275.js +59 -0
  446. package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
  447. package/dist/commands/ci-timing-cli.js +22 -3
  448. package/dist/commands/code-symbol-cli.js +21 -7
  449. package/dist/commands/codex-hook-adapter.js +124 -119
  450. package/dist/commands/command-derive.js +9 -11
  451. package/dist/commands/cost-audit-main.js +118 -119
  452. package/dist/commands/cost-main.js +5 -7
  453. package/dist/commands/cspell-cached.js +55 -57
  454. package/dist/commands/defect-origin-main.js +42 -37
  455. package/dist/commands/defect-report-main.js +33 -25
  456. package/dist/commands/diff-summary-cli.js +3 -4
  457. package/dist/commands/disposition-cli.js +117 -118
  458. package/dist/commands/doctor.js +24 -11
  459. package/dist/commands/document-read-cli.js +50 -53
  460. package/dist/commands/document-section-main.js +50 -53
  461. package/dist/commands/dogfood-commit-cli.js +19 -4
  462. package/dist/commands/effect-audit-cli.js +40 -41
  463. package/dist/commands/epic-audit-main.js +88 -86
  464. package/dist/commands/epic-bundle-main.js +122 -119
  465. package/dist/commands/epic-check.js +37 -31
  466. package/dist/commands/epic-main.js +129 -126
  467. package/dist/commands/epic-next-main.js +85 -83
  468. package/dist/commands/eval-run.js +6 -7
  469. package/dist/commands/format-edited-cli.js +71 -46
  470. package/dist/commands/format.js +41 -56
  471. package/dist/commands/fresh-machine-cli.js +24 -7
  472. package/dist/commands/gh-usage-cli.js +22 -22
  473. package/dist/commands/git-followup-workflow.js +170 -159
  474. package/dist/commands/git-gh-checks-failed-main.js +23 -15
  475. package/dist/commands/git-workflow.js +52 -53
  476. package/dist/commands/github-release-cli.js +3 -3
  477. package/dist/commands/hook-ledger-cli.js +93 -94
  478. package/dist/commands/init-main.js +40 -40
  479. package/dist/commands/inputs.json +1999 -1954
  480. package/dist/commands/issue-ack-cli.js +28 -21
  481. package/dist/commands/issue-already-done-cli.js +107 -110
  482. package/dist/commands/issue-body-cli.js +71 -73
  483. package/dist/commands/issue-cite-main.js +35 -28
  484. package/dist/commands/issue-comment-main.js +36 -30
  485. package/dist/commands/issue-consolidate-cli.js +54 -54
  486. package/dist/commands/issue-file-main.js +274 -148
  487. package/dist/commands/issue-fold-existing-cli.js +126 -123
  488. package/dist/commands/issue-fold-main.js +57 -60
  489. package/dist/commands/issue-lint-main.js +59 -61
  490. package/dist/commands/issue-measured-cli.js +108 -110
  491. package/dist/commands/issue-plan-cli.js +156 -155
  492. package/dist/commands/issue-premise-unmet-cli.js +111 -113
  493. package/dist/commands/issue-priority-cli.js +38 -32
  494. package/dist/commands/issue-read-main.js +38 -33
  495. package/dist/commands/issue-release-class-cli.js +37 -31
  496. package/dist/commands/issue-release-main.js +35 -29
  497. package/dist/commands/issue-scout-main.js +123 -120
  498. package/dist/commands/issue-spill-main.js +149 -144
  499. package/dist/commands/issue-state-main.js +36 -31
  500. package/dist/commands/issue-tick-cli.js +37 -31
  501. package/dist/commands/josh-completion.js +21 -24
  502. package/dist/commands/lane-adopt-cli.js +53 -55
  503. package/dist/commands/lane-breakdown-cli.js +193 -172
  504. package/dist/commands/lane-cli.js +199 -180
  505. package/dist/commands/lane-launch-main.js +106 -56
  506. package/dist/commands/lane-limit-cli.js +119 -116
  507. package/dist/commands/lane-measure-cli.js +408 -245
  508. package/dist/commands/lane-pause-cli.js +51 -54
  509. package/dist/commands/lane-plan-cli.js +148 -147
  510. package/dist/commands/lane-resolve-cli.js +48 -50
  511. package/dist/commands/lane-restart-cli.js +185 -168
  512. package/dist/commands/lane-why-cli.js +121 -122
  513. package/dist/commands/lane-withdraw-cli.js +84 -86
  514. package/dist/commands/latest-corepack.js +3 -2
  515. package/dist/commands/latest-if-required-cli.js +12 -15
  516. package/dist/commands/latest-lane-guard-main.js +2 -3
  517. package/dist/commands/latest-scope-main.js +5 -7
  518. package/dist/commands/latest-update.js +3 -2
  519. package/dist/commands/lines-command.js +8 -10
  520. package/dist/commands/lint-parallel-main.js +65 -67
  521. package/dist/commands/lint-related.js +149 -133
  522. package/dist/commands/lint-rule.js +64 -66
  523. package/dist/commands/lockfile-policy.js +29 -32
  524. package/dist/commands/main-merge-main.js +23 -25
  525. package/dist/commands/main-sync-main.js +23 -24
  526. package/dist/commands/managed-config-scope-cli.js +11 -10
  527. package/dist/commands/measure-rerun-cli.js +31 -26
  528. package/dist/commands/metrics-command.js +97 -100
  529. package/dist/commands/observation-record-cli.js +24 -14
  530. package/dist/commands/observations-flush-cli.js +50 -52
  531. package/dist/commands/overrides-check.js +1 -1
  532. package/dist/commands/package-scout-cli.js +70 -73
  533. package/dist/commands/pin-verify-cli.js +21 -2
  534. package/dist/commands/plan-consumers-main.js +3 -4
  535. package/dist/commands/plan-scaffold-cli.js +145 -146
  536. package/dist/commands/pr-classification-main.js +22 -3
  537. package/dist/commands/pre-commit-lint.js +30 -34
  538. package/dist/commands/pre-commit-type-check.js +55 -55
  539. package/dist/commands/pre-push-unit.js +69 -70
  540. package/dist/commands/pretool-guard-cli.js +111 -113
  541. package/dist/commands/prevent-main-commit.js +2 -3
  542. package/dist/commands/project-profile-cli.js +24 -9
  543. package/dist/commands/propagate.js +31 -23
  544. package/dist/commands/prose-stale-cli.js +48 -42
  545. package/dist/commands/publishable-range-check.js +3 -3
  546. package/dist/commands/read-set-cli.js +58 -61
  547. package/dist/commands/refactor-scan-cli.js +8 -9
  548. package/dist/commands/release-cli.js +57 -57
  549. package/dist/commands/release-scope-main.js +41 -36
  550. package/dist/commands/rename-cli.js +64 -36
  551. package/dist/commands/repo-party-cli.js +3 -4
  552. package/dist/commands/report-template-cli.js +4 -5
  553. package/dist/commands/reserved-run.js +17 -20
  554. package/dist/commands/retrospective-cli.js +126 -127
  555. package/dist/commands/review-attest-cli.js +28 -20
  556. package/dist/commands/review-brief-main.js +184 -167
  557. package/dist/commands/review-findings-cli.js +23 -13
  558. package/dist/commands/review-pair-cli.js +180 -156
  559. package/dist/commands/review-record-main.js +171 -147
  560. package/dist/commands/review-round2-cli.js +89 -91
  561. package/dist/commands/review-stops-cli.js +51 -54
  562. package/dist/commands/review-submit-cli.js +184 -167
  563. package/dist/commands/rule-list.js +78 -80
  564. package/dist/commands/rule-value-cli.js +115 -116
  565. package/dist/commands/ruleset-check-cli.js +23 -6
  566. package/dist/commands/run-add-cli.js +115 -75
  567. package/dist/commands/run-board-main.js +173 -169
  568. package/dist/commands/run-carry-cli.js +182 -174
  569. package/dist/commands/run-chain-cli.js +184 -160
  570. package/dist/commands/run-cut-cli.js +206 -168
  571. package/dist/commands/run-ending-cli.js +51 -54
  572. package/dist/commands/run-entry-cli.js +230 -283
  573. package/dist/commands/run-event-cli.js +18 -21
  574. package/dist/commands/run-handoff-cli.js +75 -78
  575. package/dist/commands/run-handoff-lanes-cli.js +48 -51
  576. package/dist/commands/run-hold-main.js +105 -107
  577. package/dist/commands/run-liveness-cli.js +47 -49
  578. package/dist/commands/run-merge-main.js +159 -151
  579. package/dist/commands/run-next-cli.js +128 -129
  580. package/dist/commands/run-park-cli.js +137 -140
  581. package/dist/commands/run-pause-cli.js +190 -186
  582. package/dist/commands/run-pickup-cli.js +49 -52
  583. package/dist/commands/run-prep-main.js +124 -125
  584. package/dist/commands/run-prime-cli.js +175 -147
  585. package/dist/commands/run-progress-main.js +149 -146
  586. package/dist/commands/run-report-cli.js +60 -60
  587. package/dist/commands/run-review-cli.js +229 -214
  588. package/dist/commands/run-ship-cli.js +258 -252
  589. package/dist/commands/run-ship-evidence-cli.js +71 -72
  590. package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
  591. package/dist/commands/run-ship-wait-main.js +83 -85
  592. package/dist/commands/run-split-cli.js +176 -172
  593. package/dist/commands/run-stale-main.js +72 -75
  594. package/dist/commands/run-status-cli.js +44 -44
  595. package/dist/commands/run-step-cli.js +213 -211
  596. package/dist/commands/run-tail-cli.js +23 -18
  597. package/dist/commands/run-tidy-main.js +67 -69
  598. package/dist/commands/run-wake-main.js +206 -187
  599. package/dist/commands/run-watcher-guard-cli.js +63 -66
  600. package/dist/commands/security-audit-main.js +21 -24
  601. package/dist/commands/security-audit-provision-main.js +9 -11
  602. package/dist/commands/selfcheck-cli.js +63 -57
  603. package/dist/commands/session-language-main.js +70 -73
  604. package/dist/commands/sonar-hotspots-cli.js +9 -8
  605. package/dist/commands/sonar-new-code-cli.js +3 -4
  606. package/dist/commands/split-assess-cli.js +55 -58
  607. package/dist/commands/split-child-recover-cli.js +38 -39
  608. package/dist/commands/start.js +64 -64
  609. package/dist/commands/stash-pop-main.js +4 -5
  610. package/dist/commands/stash-push-main.js +7 -9
  611. package/dist/commands/stop-guard.js +180 -176
  612. package/dist/commands/sync-main.js +30 -15
  613. package/dist/commands/telegram-test-main.js +29 -22
  614. package/dist/commands/test-declared.js +29 -15
  615. package/dist/commands/test-e2e-guard.js +54 -54
  616. package/dist/commands/test-pinned-main.js +57 -56
  617. package/dist/commands/test-reach-cli.js +40 -32
  618. package/dist/commands/test-red-main.js +12 -14
  619. package/dist/commands/test-related-XBDH2IOH.js +113 -0
  620. package/dist/commands/test-related-main.js +89 -89
  621. package/dist/commands/test-unit-guard-main.js +37 -37
  622. package/dist/commands/time-cli.js +54 -57
  623. package/dist/commands/time-density-cli.js +26 -29
  624. package/dist/commands/tree-status-cli.js +6 -8
  625. package/dist/commands/type-check-command.js +26 -11
  626. package/dist/commands/ui-routes-cli.js +5 -6
  627. package/dist/commands/ui-shot-cli.js +1 -1
  628. package/dist/commands/uninstall.js +44 -43
  629. package/dist/commands/unused-members-KVKZDTXD.js +329 -0
  630. package/dist/commands/unused-members-cli.js +27 -12
  631. package/dist/commands/upstream-interrupt-main.js +159 -151
  632. package/dist/commands/verification-gate.js +85 -86
  633. package/dist/commands/version-check.js +25 -8
  634. package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
  635. package/dist/hooks/chunk-46PTTMGE.js +1625 -0
  636. package/dist/hooks/chunk-5NIBRHWG.js +77 -0
  637. package/dist/hooks/chunk-76QKN2K3.js +258 -0
  638. package/dist/hooks/chunk-CHEKMGFP.js +321 -0
  639. package/dist/hooks/chunk-DCILEVDR.js +5173 -0
  640. package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
  641. package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
  642. package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
  643. package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
  644. package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
  645. package/dist/hooks/codex-hook-adapter.js +11 -12
  646. package/dist/hooks/daemon.js +2140 -1387
  647. package/dist/hooks/format-edited.js +6 -6
  648. package/dist/hooks/inputs.json +543 -518
  649. package/dist/hooks/pretool-guard.js +8 -8
  650. package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
  651. package/dist/hooks/session-lang.js +9 -7
  652. package/dist/hooks/stop-guard.js +970 -668
  653. package/dist/inputs.json +77 -68
  654. package/dist/josh.js +1029 -577
  655. package/dist/registry-migrate.mjs +33938 -0
  656. package/dist/version/index.js +4251 -175
  657. package/package.json +4 -1
  658. package/prompts/collaboration-workflow/principles.md +4 -1
  659. package/prompts/collaboration-workflow/rule-delivery.md +1 -1
  660. package/scripts/agent/codex-launch-identity.ts +70 -0
  661. package/scripts/auto-ok/auto-ok-cli.ts +2 -0
  662. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
  663. package/scripts/auto-ok/auto-ok-judge.ts +3 -1
  664. package/scripts/backlog/backlog-arrival.ts +1 -1
  665. package/scripts/backlog/backlog-budget.ts +5 -2
  666. package/scripts/backlog/backlog-defect-priority.ts +1 -1
  667. package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
  668. package/scripts/backlog/backlog-drain-flush.ts +38 -3
  669. package/scripts/backlog/backlog-drive-cli.ts +1 -1
  670. package/scripts/backlog/backlog-drive-hold.ts +28 -5
  671. package/scripts/backlog/backlog-drive-launch.ts +37 -15
  672. package/scripts/backlog/backlog-drive-listing.ts +39 -23
  673. package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
  674. package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
  675. package/scripts/backlog/backlog-hold-codes.ts +7 -0
  676. package/scripts/backlog/backlog-hold-text.ts +14 -1
  677. package/scripts/backlog/backlog-measure-close.ts +6 -0
  678. package/scripts/backlog/backlog-next-shared.ts +20 -2
  679. package/scripts/backlog/backlog-next.ts +24 -3
  680. package/scripts/backlog/backlog-offer-cli.ts +69 -16
  681. package/scripts/build/build-migration.ts +25 -0
  682. package/scripts/build/build.ts +2 -0
  683. package/scripts/epic/epic-classify.ts +6 -1
  684. package/scripts/epic/epic-live.ts +46 -0
  685. package/scripts/followup/followup-failed-tests.ts +71 -10
  686. package/scripts/followup/followup-job-rerun.ts +2 -2
  687. package/scripts/followup/git-followup-finish.ts +16 -1
  688. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  689. package/scripts/gate/change-scope-action.ts +2 -0
  690. package/scripts/gate/check-related-order.ts +6 -7
  691. package/scripts/gate/check-related.ts +18 -8
  692. package/scripts/gate/core-admission.ts +17 -30
  693. package/scripts/gate/core-budget-poll.ts +183 -0
  694. package/scripts/gate/core-budget-timing.ts +1 -1
  695. package/scripts/gate/core-budget.ts +24 -112
  696. package/scripts/gate/core-wait-record.ts +52 -7
  697. package/scripts/gate/machine-capacity.ts +6 -2
  698. package/scripts/gate/metrics-totals.ts +11 -0
  699. package/scripts/gate/path-glob.test.ts +18 -0
  700. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  701. package/scripts/gate/verification-inputs.ts +2 -1
  702. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  703. package/scripts/gh/gh-request-tally.ts +4 -0
  704. package/scripts/hooks/bash-revert.ts +79 -31
  705. package/scripts/hooks/format-edited-file.ts +6 -8
  706. package/scripts/hooks/implementation-shell.ts +3 -2
  707. package/scripts/init/distributed-paths.ts +18 -5
  708. package/scripts/init/init-actions.ts +16 -1
  709. package/scripts/init/init-bootstrap.ts +2 -0
  710. package/scripts/init/init-logic.ts +40 -8
  711. package/scripts/init/init.ts +11 -3
  712. package/scripts/issue/defect-rate-cli.ts +19 -13
  713. package/scripts/issue/issue-file-batch.ts +7 -3
  714. package/scripts/issue/issue-file-cli.ts +19 -6
  715. package/scripts/issue/issue-file-main.ts +6 -1
  716. package/scripts/issue/issue-file-pass.ts +17 -0
  717. package/scripts/issue/issue-file.ts +3 -0
  718. package/scripts/issue/issue-not-before.ts +9 -2
  719. package/scripts/issue/issue-observation-gate.ts +141 -0
  720. package/scripts/issue/issue-observation-prime.ts +83 -0
  721. package/scripts/issue/issue-publication-state.ts +61 -0
  722. package/scripts/issue/issue-publication.ts +144 -0
  723. package/scripts/issue/issue-sample-prime.ts +2 -0
  724. package/scripts/issue/issue-search-count.ts +26 -0
  725. package/scripts/issue/issue-search.ts +128 -3
  726. package/scripts/issue/issue-spill-cli.ts +4 -0
  727. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  728. package/scripts/josh/josh-commands-ai.ts +1 -1
  729. package/scripts/josh/josh-commands-development.ts +1 -1
  730. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  731. package/scripts/josh/josh-commands-run.ts +6 -1
  732. package/scripts/josh/josh-commands-ship.ts +5 -5
  733. package/scripts/josh/josh-run.ts +5 -2
  734. package/scripts/josh/shared-cache.ts +16 -1
  735. package/scripts/lane/lane-await.ts +15 -0
  736. package/scripts/lane/lane-cli.ts +2 -0
  737. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  738. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  739. package/scripts/lane/lane-dispatch.ts +44 -5
  740. package/scripts/lane/lane-early-push-count.ts +21 -0
  741. package/scripts/lane/lane-install.ts +15 -5
  742. package/scripts/lane/lane-launch-cli.ts +35 -14
  743. package/scripts/lane/lane-ledger-kind.ts +2 -0
  744. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  745. package/scripts/lane/lane-ledger-schema.ts +15 -1
  746. package/scripts/lane/lane-ledger-write.ts +4 -1
  747. package/scripts/lane/lane-relaunch.ts +25 -2
  748. package/scripts/lane/lane-state-record.ts +2 -0
  749. package/scripts/lane/lane-state.ts +8 -1
  750. package/scripts/lane/lane-stats-tables.ts +2 -0
  751. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  752. package/scripts/lib/inherited-scope.ts +48 -0
  753. package/scripts/lint/format-steps.ts +93 -0
  754. package/scripts/lint/format.ts +6 -49
  755. package/scripts/lint/lint-related-fix.ts +35 -0
  756. package/scripts/lint/lint-related.ts +22 -35
  757. package/scripts/propagate/propagate-steps.ts +9 -4
  758. package/scripts/registry-migration/migrate-cli.ts +50 -0
  759. package/scripts/registry-migration/migrate-files.ts +154 -0
  760. package/scripts/registry-migration/migrate-lock.ts +147 -0
  761. package/scripts/registry-migration/migrate.ts +235 -0
  762. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  763. package/scripts/review/review-record-cli.ts +27 -13
  764. package/scripts/review/review-record-pinned.ts +15 -6
  765. package/scripts/run/add/run-add-cli.ts +21 -3
  766. package/scripts/run/add/run-add.ts +26 -9
  767. package/scripts/run/board/run-board-layout.ts +11 -6
  768. package/scripts/run/board/run-board-read.ts +29 -69
  769. package/scripts/run/board/run-board-reason.ts +12 -0
  770. package/scripts/run/board/run-board-render-lanes.ts +26 -9
  771. package/scripts/run/board/run-board-render-lead.ts +9 -0
  772. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  773. package/scripts/run/board/run-board-root-layout.ts +69 -0
  774. package/scripts/run/board/run-board-seat.ts +9 -2
  775. package/scripts/run/board/run-board-setup.ts +6 -4
  776. package/scripts/run/board/run-board-single.ts +69 -4
  777. package/scripts/run/board/run-board-span-read.ts +85 -0
  778. package/scripts/run/board/run-board-tick.ts +12 -4
  779. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  780. package/scripts/run/carry/run-carry-session.ts +48 -0
  781. package/scripts/run/carry/run-carry.ts +21 -14
  782. package/scripts/run/cut/run-cut-resume.ts +15 -3
  783. package/scripts/run/cut/run-cut.ts +1 -1
  784. package/scripts/run/detached-launch.ts +14 -5
  785. package/scripts/run/early-push-record.ts +6 -2
  786. package/scripts/run/event/run-event-setup.ts +2 -0
  787. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  788. package/scripts/run/hold/run-hold-cli.ts +40 -5
  789. package/scripts/run/hold/run-hold-ended.ts +50 -0
  790. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  791. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  792. package/scripts/run/merge/run-merge-steps.ts +4 -57
  793. package/scripts/run/merge/run-merge-waits.ts +54 -0
  794. package/scripts/run/prime/run-prime-cli.ts +16 -2
  795. package/scripts/run/review/run-review-cli.ts +5 -7
  796. package/scripts/run/review/run-review-early-push.ts +19 -8
  797. package/scripts/run/review/run-review-join-read.ts +33 -6
  798. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  799. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  800. package/scripts/run/run-halfrun-resume.ts +49 -6
  801. package/scripts/run/run-headless.ts +3 -0
  802. package/scripts/run/run-pr-return.ts +14 -5
  803. package/scripts/run/run-repair-attempt.ts +219 -0
  804. package/scripts/run/ship/run-ship-lap.ts +5 -17
  805. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  806. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  807. package/scripts/run/startup/run-startup-schema.ts +31 -0
  808. package/scripts/run/startup/run-startup-store.ts +130 -0
  809. package/scripts/run/startup/run-startup.ts +119 -0
  810. package/scripts/run/wake/run-wake-codex.ts +144 -0
  811. package/scripts/run/wake/run-wake-driver.ts +32 -7
  812. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  813. package/scripts/run/wake/run-wake-loop.ts +23 -3
  814. package/scripts/run/wake/run-wake-ports.ts +17 -3
  815. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  816. package/scripts/run/wake/run-wake-window.ts +4 -1
  817. package/scripts/run/wake/run-wake.ts +5 -0
  818. package/scripts/sync/sync-ai-files.ts +17 -0
  819. package/scripts/sync/sync-configs.ts +11 -1
  820. package/scripts/sync/sync.ts +5 -1
  821. package/scripts/test/test-pinned-cache-logic.ts +13 -7
  822. package/scripts/test/test-pinned-cache.ts +33 -11
  823. package/scripts/test/test-related-cap.ts +7 -3
  824. package/scripts/test/test-related-imports.ts +92 -0
  825. package/scripts/test/test-runner-config.ts +19 -0
  826. package/scripts/test/vitest-failure-summary.ts +7 -0
  827. package/scripts/version/npm-registry.ts +45 -7
  828. package/scripts/version/upgrade-shell-command.ts +34 -2
  829. package/templates/workflows/ci.yml +0 -15
  830. package/templates/workflows/github-release.yml +0 -5
  831. package/dist/commands/chunk-23GH6B3D.js +0 -333
  832. package/dist/commands/chunk-24OATKOF.js +0 -7534
  833. package/dist/commands/chunk-24ZDAWML.js +0 -48
  834. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  835. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  836. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  837. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  838. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  839. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  840. package/dist/commands/chunk-2PHOLX62.js +0 -43
  841. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  842. package/dist/commands/chunk-2VRITY55.js +0 -41
  843. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  844. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  845. package/dist/commands/chunk-352KLSFX.js +0 -67
  846. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  847. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  848. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  849. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  850. package/dist/commands/chunk-3Z425MM3.js +0 -61
  851. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  852. package/dist/commands/chunk-452HWOJ7.js +0 -395
  853. package/dist/commands/chunk-475EFIJV.js +0 -178
  854. package/dist/commands/chunk-47UZB54M.js +0 -73
  855. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  856. package/dist/commands/chunk-4DVM57T7.js +0 -86
  857. package/dist/commands/chunk-4EADHJVC.js +0 -247
  858. package/dist/commands/chunk-4HERA2GY.js +0 -95
  859. package/dist/commands/chunk-4JI35CVO.js +0 -70
  860. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  861. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  862. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  863. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  864. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  865. package/dist/commands/chunk-4Q64PG46.js +0 -478
  866. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  867. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  868. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  869. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  870. package/dist/commands/chunk-54X37JEJ.js +0 -170
  871. package/dist/commands/chunk-56KW5EOK.js +0 -85
  872. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  873. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  874. package/dist/commands/chunk-5FBRMARM.js +0 -578
  875. package/dist/commands/chunk-5RG4S66L.js +0 -47
  876. package/dist/commands/chunk-5UJGACVN.js +0 -137
  877. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  878. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  879. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  880. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  881. package/dist/commands/chunk-66NX6EXR.js +0 -29
  882. package/dist/commands/chunk-66TGK5XL.js +0 -84
  883. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  884. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  885. package/dist/commands/chunk-6GQX752S.js +0 -145
  886. package/dist/commands/chunk-6HRRZANN.js +0 -55
  887. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  888. package/dist/commands/chunk-6OP63TBT.js +0 -78
  889. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  890. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  891. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  892. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  893. package/dist/commands/chunk-6YURRFRU.js +0 -461
  894. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  895. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  896. package/dist/commands/chunk-77BIN247.js +0 -122
  897. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  898. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  899. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  900. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  901. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  902. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  903. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  904. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  905. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  906. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  907. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  908. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  909. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  910. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  911. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  912. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  913. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  914. package/dist/commands/chunk-AKK56GNX.js +0 -205
  915. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  916. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  917. package/dist/commands/chunk-ANUTT56I.js +0 -85
  918. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  919. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  920. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  921. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  922. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  923. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  924. package/dist/commands/chunk-BIKGPT52.js +0 -29
  925. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  926. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  927. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  928. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  929. package/dist/commands/chunk-BRUBX64M.js +0 -33
  930. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  931. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  932. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  933. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  934. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  935. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  936. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  937. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  938. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  939. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  940. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  941. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  942. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  943. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  944. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  945. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  946. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  947. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  948. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  949. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  950. package/dist/commands/chunk-D7JRJI44.js +0 -297
  951. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  952. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  953. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  954. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  955. package/dist/commands/chunk-DMD74E3F.js +0 -39
  956. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  957. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  958. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  959. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  960. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  961. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  962. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  963. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  964. package/dist/commands/chunk-ELY76WAR.js +0 -65
  965. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  966. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  967. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  968. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  969. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  970. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  971. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  972. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  973. package/dist/commands/chunk-EXWB34R2.js +0 -238
  974. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  975. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  976. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  977. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  978. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  979. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  980. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  981. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  982. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  983. package/dist/commands/chunk-FJX7AENO.js +0 -74
  984. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  985. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  986. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  987. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  988. package/dist/commands/chunk-FROACLVU.js +0 -525
  989. package/dist/commands/chunk-FURNDIT3.js +0 -34
  990. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  991. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  992. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  993. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  994. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  995. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  996. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  997. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  998. package/dist/commands/chunk-GITT5A5A.js +0 -198
  999. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  1000. package/dist/commands/chunk-GLC47H7I.js +0 -285
  1001. package/dist/commands/chunk-GUR54ELE.js +0 -328
  1002. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  1003. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  1004. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  1005. package/dist/commands/chunk-HATKF6VX.js +0 -173
  1006. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  1007. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  1008. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  1009. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  1010. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  1011. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  1012. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  1013. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1014. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1015. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1016. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1017. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1018. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1019. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1020. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1021. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1022. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1023. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1024. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1025. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1026. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1027. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1028. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1029. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1030. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1031. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1032. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1033. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1034. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1035. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1036. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1037. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1038. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1039. package/dist/commands/chunk-K275REYP.js +0 -37
  1040. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1041. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1042. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1043. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1044. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1045. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1046. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1047. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1048. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1049. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1050. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1051. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1052. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1053. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1054. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1055. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1056. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1057. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1058. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1059. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1060. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1061. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1062. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1063. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1064. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1065. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1066. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1067. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1068. package/dist/commands/chunk-LZPPSOTP.js +0 -122
  1069. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1070. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1071. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1072. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1073. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1074. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1075. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1076. package/dist/commands/chunk-MN425CU6.js +0 -63
  1077. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1078. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1079. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1080. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1081. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1082. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1083. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1084. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1085. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1086. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1087. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1088. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1089. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1090. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1091. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1092. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1093. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1094. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1095. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1096. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1097. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1098. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1099. package/dist/commands/chunk-OIX2363L.js +0 -16
  1100. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1101. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1102. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1103. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1104. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1105. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1106. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1107. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1108. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1109. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1110. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1111. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1112. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1113. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1114. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1115. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1116. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1117. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1118. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1119. package/dist/commands/chunk-PE7B7242.js +0 -84
  1120. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1121. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1122. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1123. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1124. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1125. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1126. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1127. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1128. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1129. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1130. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1131. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1132. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1133. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1134. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1135. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1136. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1137. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1138. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1139. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1140. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1141. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1142. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1143. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1144. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1145. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1146. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1147. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1148. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1149. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1150. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1151. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1152. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1153. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1154. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1155. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1156. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1157. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1158. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1159. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1160. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1161. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1162. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1163. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1164. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1165. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1166. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1167. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1168. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1169. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1170. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1171. package/dist/commands/chunk-TLAB552K.js +0 -445
  1172. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1173. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1174. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1175. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1176. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1177. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1178. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1179. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1180. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1181. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1182. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1183. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1184. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1185. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1186. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1187. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1188. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1189. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1190. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1191. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1192. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1193. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1194. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1195. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1196. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1197. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1198. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1199. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1200. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1201. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1202. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1203. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1204. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1205. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1206. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1207. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1208. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1209. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1210. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1211. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1212. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1213. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1214. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1215. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1216. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1217. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1218. package/dist/commands/chunk-YDURQICF.js +0 -204
  1219. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1220. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1221. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1222. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1223. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1224. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1225. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1226. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1227. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1228. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1229. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1230. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1231. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1232. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1233. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1234. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1235. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1236. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1237. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1238. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1239. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1240. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1241. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1242. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1243. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1244. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1245. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1246. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1247. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1248. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1249. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1250. package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
@@ -1,995 +0,0 @@
1
- import {
2
- test_related_touched,
3
- test_related_verdict
4
- } from "./chunk-XUMYPESL.js";
5
- import {
6
- test_related_cap
7
- } from "./chunk-NEGRE5VW.js";
8
- import {
9
- related_heavy_tests
10
- } from "./chunk-QV5FKMOU.js";
11
- import {
12
- direct_importers
13
- } from "./chunk-LAR76BFA.js";
14
- import {
15
- test_pinned_reach
16
- } from "./chunk-GUR54ELE.js";
17
- import {
18
- pure_files_entries,
19
- related_scope,
20
- whole_suite_files
21
- } from "./chunk-CFHRNTE5.js";
22
- import {
23
- scoped_green
24
- } from "./chunk-WTH6NTXU.js";
25
- import {
26
- test_unit_guard
27
- } from "./chunk-J6WKZRV2.js";
28
- import {
29
- vitest_failure_summary
30
- } from "./chunk-KB3OQWDT.js";
31
- import {
32
- since_green
33
- } from "./chunk-P3H3DKTE.js";
34
- import {
35
- moved_paths
36
- } from "./chunk-RUIBQMOV.js";
37
- import {
38
- test_read_map
39
- } from "./chunk-OZZWRJQI.js";
40
- import {
41
- review_stamps
42
- } from "./chunk-MVHPRYHE.js";
43
- import {
44
- gate_tree
45
- } from "./chunk-NFPD2P3V.js";
46
- import {
47
- file_map_stamp
48
- } from "./chunk-CGLLAEKZ.js";
49
- import {
50
- changed_file_scope
51
- } from "./chunk-7LJQMM2K.js";
52
- import {
53
- import_graph
54
- } from "./chunk-FROACLVU.js";
55
- import {
56
- input_fingerprint
57
- } from "./chunk-MGF64OHV.js";
58
- import {
59
- project_checks
60
- } from "./chunk-JM6EVOFN.js";
61
- import {
62
- test_declared_logic
63
- } from "./chunk-7HCPRVMB.js";
64
- import {
65
- gate_plan
66
- } from "./chunk-HQGNXR6I.js";
67
- import {
68
- core_budget
69
- } from "./chunk-TCBUX52E.js";
70
- import {
71
- repo_discovery
72
- } from "./chunk-MDKDJF2K.js";
73
- import {
74
- gate_labels
75
- } from "./chunk-WQ6FS544.js";
76
- import {
77
- lane_ledger_write
78
- } from "./chunk-I63RNFFR.js";
79
- import {
80
- lane_paths
81
- } from "./chunk-YIA6FC3K.js";
82
- import {
83
- changed_paths
84
- } from "./chunk-V5FD7DVV.js";
85
- import {
86
- git_command
87
- } from "./chunk-AKQYYHP2.js";
88
- import {
89
- git_location_environment
90
- } from "./chunk-B77ZMVHS.js";
91
- import {
92
- json_value
93
- } from "./chunk-HIU2WXB6.js";
94
-
95
- // scripts/test/test-related.ts
96
- import { existsSync as existsSync4 } from "node:fs";
97
- import path5 from "node:path";
98
-
99
- // scripts/test/test-no-base.ts
100
- import { readFileSync } from "node:fs";
101
-
102
- // scripts/git/no-base-checkout.ts
103
- import {
104
- copyFileSync,
105
- existsSync,
106
- mkdirSync,
107
- mkdtempSync,
108
- rmSync,
109
- statSync,
110
- symlinkSync,
111
- writeFileSync
112
- } from "node:fs";
113
- import { tmpdir } from "node:os";
114
- import path from "node:path";
115
- import { execa } from "execa";
116
- var CHECKOUT_PREFIX = "josh-no-base-";
117
- var NODE_MODULES = "node_modules";
118
- var ORIGIN_URL_KEY = "remote.origin.url";
119
- async function git(cwd, arguments_) {
120
- const { stdout } = await execa("git", arguments_, {
121
- cwd,
122
- env: git_location_environment.location_free_environment(),
123
- extendEnv: true
124
- });
125
- return stdout.trim();
126
- }
127
- function copy_work(root, directory, file) {
128
- const source = path.join(root, file);
129
- const target = path.join(directory, file);
130
- if (!existsSync(source)) {
131
- rmSync(target, { force: true });
132
- return;
133
- }
134
- if (statSync(source).isDirectory()) return;
135
- mkdirSync(path.dirname(target), { recursive: true });
136
- copyFileSync(source, target);
137
- }
138
- async function borrow_objects(root, directory) {
139
- const common = await git(root, ["rev-parse", "--path-format=absolute", "--git-common-dir"]);
140
- const alternates = path.join(directory, ".git", "objects", "info", "alternates");
141
- writeFileSync(alternates, `${path.join(common, "objects")}
142
- `);
143
- }
144
- async function add_origin(root, directory) {
145
- const origin_url = repo_discovery.read_origin_url(root);
146
- if (origin_url !== void 0) await git(directory, ["config", ORIGIN_URL_KEY, origin_url]);
147
- }
148
- function link_dependencies(root, directory) {
149
- const source = path.join(root, NODE_MODULES);
150
- if (existsSync(source)) symlinkSync(source, path.join(directory, NODE_MODULES));
151
- }
152
- async function check_out(root, directory, head) {
153
- await git(directory, ["init", "--quiet"]);
154
- await add_origin(root, directory);
155
- await borrow_objects(root, directory);
156
- await git(directory, ["checkout", "--quiet", "--detach", head]);
157
- writeFileSync(path.join(directory, ".git", "shallow"), `${head}
158
- `);
159
- }
160
- async function fill(root, directory) {
161
- const head = await git_command.head_commit();
162
- await check_out(root, directory, head);
163
- link_dependencies(root, directory);
164
- const work = await changed_paths.read_changed_since(head);
165
- for (const file of work) copy_work(root, directory, file);
166
- }
167
- function remove(directory) {
168
- rmSync(directory, { force: true, recursive: true });
169
- }
170
- async function create(root) {
171
- const directory = mkdtempSync(path.join(tmpdir(), CHECKOUT_PREFIX));
172
- try {
173
- await fill(root, directory);
174
- } catch (error) {
175
- remove(directory);
176
- throw error;
177
- }
178
- return directory;
179
- }
180
- var no_base_checkout = { create, remove };
181
-
182
- // scripts/test/test-related-claim.ts
183
- async function claim_weight(files) {
184
- const tests = files === void 0 ? void 0 : await test_pinned_reach.reached_test_count(files);
185
- return tests === void 0 ? gate_plan.direct_unit_weight() : gate_plan.scoped_unit_weight(tests);
186
- }
187
- async function with_unit_claim(files, run) {
188
- if (core_budget.is_covered()) return await run();
189
- const weight = await claim_weight(files);
190
- return await core_budget.with_command_reservation(weight, run, {
191
- memory_mb: gate_plan.unit_memory(weight),
192
- command: related_scope.COMMAND_NAME,
193
- is_unit: true
194
- });
195
- }
196
- var test_related_claim = { with_unit_claim };
197
-
198
- // scripts/test/test-no-base.ts
199
- var BASE_ROOTS = /* @__PURE__ */ new Set([
200
- "scripts/git/change-base",
201
- "scripts/git/git-diff-reads"
202
- ]);
203
- var BASE_MODULES = /* @__PURE__ */ new Set([
204
- ...BASE_ROOTS,
205
- "scripts/git/changed-file-scope",
206
- "scripts/git/changed-paths",
207
- "scripts/git/changed-paths-sync"
208
- ]);
209
- var TYPE_ONLY_IMPORT = /^import type (?!from )[^"']*["'][^"']*["']/gmu;
210
- function text_of(file_path) {
211
- try {
212
- return readFileSync(file_path, "utf8");
213
- } catch {
214
- return "";
215
- }
216
- }
217
- function names_any(text, names) {
218
- return names.some((name) => text.includes(name));
219
- }
220
- function imports_base(source, file, imports) {
221
- const runtime = source.replaceAll(TYPE_ONLY_IMPORT, "");
222
- return direct_importers.names_any(runtime, file, BASE_ROOTS, imports);
223
- }
224
- function touches_base(file, reader) {
225
- if (!related_scope.is_relatable(file)) return false;
226
- if (BASE_MODULES.has(direct_importers.module_key(file))) return true;
227
- const source = reader.read_source(file);
228
- return source !== void 0 && imports_base(source, file, reader.imports);
229
- }
230
- function touching(root, changed) {
231
- const reader = direct_importers.source_reader(root);
232
- return changed.filter((file) => touches_base(file, reader));
233
- }
234
- async function run_in_checkout(root, files, flags2) {
235
- const directory = await no_base_checkout.create(root);
236
- try {
237
- return await test_unit_guard.run_vitest_in(directory, ["related", ...files, "--run", ...flags2]);
238
- } finally {
239
- no_base_checkout.remove(directory);
240
- }
241
- }
242
- async function run_if_touched(root, changed, flags2) {
243
- const files = project_checks.is_kit_repository(root) ? touching(root, changed) : [];
244
- if (files.length === 0) return 0;
245
- process.stdout.write(
246
- `josh test:related: ${String(files.length)} changed file(s) touch the base branch's resolution \u2014 their related tests run again in a checkout with no local main, as CI's has none
247
- `
248
- );
249
- return await test_related_claim.with_unit_claim(
250
- files,
251
- async () => await run_in_checkout(root, files, flags2)
252
- );
253
- }
254
- var test_no_base = { imports_base, names_any, run_if_touched, text_of, touching };
255
-
256
- // scripts/test/test-related-synced.ts
257
- import { existsSync as existsSync2 } from "node:fs";
258
- import path2 from "node:path";
259
- var NOTHING_LEFT = { left: [], shared: [], meeting: [] };
260
- var UNRESOLVED_EXTENSION = ".svelte";
261
- var FAILURE = {
262
- OWN_UNREAD: "the branch's change is not one the graph can vouch for",
263
- NOTHING_VOUCHED: "no synced module is one the graph can vouch for",
264
- NO_GRAPH: "no import graph could be built",
265
- UNRESOLVED: "the work tree holds a file TypeScript does not resolve",
266
- THREW: "building or walking the graph failed"
267
- };
268
- function failed(failure) {
269
- return { ...NOTHING_LEFT, failure };
270
- }
271
- function threw(error) {
272
- return failed(`${FAILURE.THREW}: ${error instanceof Error ? error.message : String(error)}`);
273
- }
274
- function is_unresolved(file) {
275
- return path2.extname(file) === UNRESOLVED_EXTENSION;
276
- }
277
- function is_beyond_graph(file) {
278
- return whole_suite_files.WHOLE_SUITE_FILES.has(path2.normalize(file)) || is_unresolved(file);
279
- }
280
- function is_vouched(root, file) {
281
- if (!related_scope.is_relatable(file) || is_beyond_graph(file)) return false;
282
- return existsSync2(path2.join(root, file));
283
- }
284
- function own_of(branch, map) {
285
- if (branch === void 0 || map === void 0) return void 0;
286
- const data = branch.filter((file) => !related_scope.is_relatable(file));
287
- const readers = data.flatMap((file) => test_read_map.readers_of(map, file));
288
- const code = branch.filter((file) => related_scope.is_relatable(file));
289
- return branch.some((file) => is_beyond_graph(file)) ? void 0 : [...code, ...readers];
290
- }
291
- function split_with(graph, inputs) {
292
- const { root, main_only, own, universe } = inputs;
293
- const from_branch = graph.runtime_importers(own, universe);
294
- const meeting = [...graph.runtime_importers(main_only, universe)].filter((file) => from_branch.has(file)).map((file) => path2.relative(root, file));
295
- const shared = meeting.filter((file) => test_declared_logic.is_test_file(file));
296
- return { left: main_only.map((file) => path2.relative(root, file)), shared, meeting };
297
- }
298
- function absolute_in(root, files) {
299
- return files.map((file) => path2.join(root, file));
300
- }
301
- async function split_by_graph(root, main_only, own) {
302
- const graph = await import_graph.create(root);
303
- if (graph === void 0) return failed(FAILURE.NO_GRAPH);
304
- const universe = await test_pinned_reach.code_universe();
305
- const unresolved = universe.find((file) => is_unresolved(file));
306
- if (unresolved !== void 0) {
307
- return failed(`${FAILURE.UNRESOLVED}: ${path2.relative(root, unresolved)}`);
308
- }
309
- return split_with(graph, {
310
- root,
311
- main_only: absolute_in(root, main_only),
312
- own: absolute_in(root, own),
313
- universe
314
- });
315
- }
316
- async function split(root, synced, branch, map) {
317
- const own = own_of(branch, map);
318
- if (own === void 0) return failed(FAILURE.OWN_UNREAD);
319
- const main_only = synced.filter((file) => !own.includes(file) && is_vouched(root, file));
320
- if (main_only.length === 0) return failed(FAILURE.NOTHING_VOUCHED);
321
- try {
322
- return await split_by_graph(root, main_only, own);
323
- } catch (error) {
324
- return threw(error);
325
- }
326
- }
327
- var test_related_synced = { FAILURE, own_of, split, split_with };
328
-
329
- // scripts/test/test-related-moved.ts
330
- function is_whole_suite(file) {
331
- return whole_suite_files.WHOLE_SUITE_FILES.has(file);
332
- }
333
- function synced_data(synced, branch) {
334
- const data = synced.filter((file) => !related_scope.is_relatable(file) || is_whole_suite(file));
335
- return data.filter((file) => !(branch ?? data).includes(file));
336
- }
337
- function without_own_tests(since_map, branch) {
338
- return since_map.filter(
339
- (file) => !test_declared_logic.is_test_file(file) || branch?.includes(file) === false
340
- );
341
- }
342
- function narrowed_moved(moved, split2, branch, map) {
343
- const kept = moved.filter((file) => !split2.left.includes(file));
344
- const own = split2.shared.length === 0 ? [] : test_related_synced.own_of(branch, map);
345
- return [.../* @__PURE__ */ new Set([...kept, ...own ?? []])];
346
- }
347
- function moved_reading(change, parts, branch, split2) {
348
- const since_map = [
349
- ...without_own_tests(change.since_map ?? [], branch),
350
- ...synced_data(parts.synced, branch),
351
- ...split2.left
352
- ];
353
- const changed = [.../* @__PURE__ */ new Set([...change.changed ?? [], ...split2.left])];
354
- return { ...change, changed, since_map: [...new Set(since_map)], synced: parts.synced, branch };
355
- }
356
- var test_related_moved = { is_whole_suite, moved_reading, narrowed_moved };
357
-
358
- // scripts/test/test-related-record.ts
359
- import { mkdtempSync as mkdtempSync2, rmSync as rmSync2 } from "node:fs";
360
- import { tmpdir as tmpdir2 } from "node:os";
361
- import path3 from "node:path";
362
-
363
- // scripts/test/unit-count-file.ts
364
- import { readFileSync as readFileSync2 } from "node:fs";
365
- import { writeFile } from "node:fs/promises";
366
- var COUNT_FILE_ENVIRONMENT = "JOSH_UNIT_COUNT_FILE";
367
- async function write_count(count, target) {
368
- if (target === void 0 || target === "") return;
369
- try {
370
- await writeFile(target, String(count));
371
- } catch {
372
- }
373
- }
374
- function read_count(file) {
375
- try {
376
- const text = readFileSync2(file, "utf8").trim();
377
- const count = Number(text);
378
- return text !== "" && Number.isSafeInteger(count) ? count : void 0;
379
- } catch {
380
- return void 0;
381
- }
382
- }
383
- async function write_files(files, target) {
384
- if (target === void 0 || target === "") return;
385
- try {
386
- await writeFile(`${target}.files`, JSON.stringify(files));
387
- } catch {
388
- }
389
- }
390
- function read_files(target) {
391
- try {
392
- const value = json_value.parse_or_undefined(readFileSync2(`${target}.files`, "utf8"));
393
- return Array.isArray(value) && value.every((file) => typeof file === "string") ? value : [];
394
- } catch {
395
- return [];
396
- }
397
- }
398
- var unit_count_file = { COUNT_FILE_ENVIRONMENT, read_count, read_files, write_count, write_files };
399
-
400
- // scripts/test/test-related-record.ts
401
- var COUNT_FILE_NAME = "count";
402
- function set_count_target(target) {
403
- const { COUNT_FILE_ENVIRONMENT: COUNT_FILE_ENVIRONMENT2 } = unit_count_file;
404
- if (target === void 0) Reflect.deleteProperty(process.env, COUNT_FILE_ENVIRONMENT2);
405
- else process.env[COUNT_FILE_ENVIRONMENT2] = target;
406
- }
407
- function count_directory() {
408
- try {
409
- return mkdtempSync2(path3.join(tmpdir2(), "josh-test-related-"));
410
- } catch {
411
- return void 0;
412
- }
413
- }
414
- async function with_test_count(run) {
415
- const directory = count_directory();
416
- if (directory === void 0) return { exit_code: await run(), test_files: void 0 };
417
- const file = path3.join(directory, COUNT_FILE_NAME);
418
- const previous = process.env[unit_count_file.COUNT_FILE_ENVIRONMENT];
419
- set_count_target(file);
420
- try {
421
- const exit_code = await run();
422
- return {
423
- exit_code,
424
- test_files: unit_count_file.read_count(file),
425
- passed: unit_count_file.read_files(file)
426
- };
427
- } finally {
428
- set_count_target(previous);
429
- rmSync2(directory, { recursive: true, force: true });
430
- }
431
- }
432
- function readers_of(input, counted) {
433
- if (input.scope.mode !== "related") return 0;
434
- return input.scope.files.filter((file) => !counted.has(path3.relative(input.root, file))).length;
435
- }
436
- function triggers_of(input) {
437
- if (input.scope.mode !== "all" || input.scope.files.length === 0) return {};
438
- return { trigger_files: input.scope.files.map((file) => path3.relative(input.root, file)) };
439
- }
440
- function own_of2(input) {
441
- const { changed = [], branch, synced = [], since_map = [] } = input;
442
- const joined = /* @__PURE__ */ new Set([...synced, ...since_map]);
443
- return changed.filter((file) => branch?.includes(file) ?? !joined.has(file));
444
- }
445
- function parts_of(input) {
446
- const own = own_of2(input);
447
- const rest = (input.changed ?? []).filter((file) => !own.includes(file));
448
- return {
449
- own,
450
- synced: rest.filter((file) => input.synced.includes(file)),
451
- since_map: rest.filter(
452
- (file) => input.since_map.includes(file) && !input.synced.includes(file)
453
- )
454
- };
455
- }
456
- function reuse_record(reuse) {
457
- if (reuse === void 0) return {};
458
- return {
459
- reused: reuse.reused,
460
- reuse_missed: reuse.missed,
461
- reuse_reason: reuse.reason,
462
- reuse_elapsed_ms: Math.round(reuse.elapsed_ms)
463
- };
464
- }
465
- function select_record(select_elapsed_ms) {
466
- return select_elapsed_ms === void 0 ? {} : { select_elapsed_ms: Math.round(select_elapsed_ms) };
467
- }
468
- function over_cap_record(over_cap, own) {
469
- if (over_cap === void 0) return {};
470
- const hub = test_related_cap.hub_of(over_cap, own);
471
- const count = { over_cap: over_cap.length };
472
- return hub === void 0 ? count : { ...count, over_cap_hub: hub };
473
- }
474
- function branch_parts_record(parts, own) {
475
- if (parts === void 0) return {};
476
- const branch = /* @__PURE__ */ new Set([...parts.tracked, ...parts.untracked]);
477
- const in_branch = own.filter((file) => branch.has(file)).length;
478
- return {
479
- branch_tracked: parts.tracked.length,
480
- branch_untracked: parts.untracked.length,
481
- branch_base: parts.base,
482
- changed_in_branch: in_branch,
483
- changed_off_branch: own.length - in_branch
484
- };
485
- }
486
- function record_of(input, result) {
487
- const { own, synced, since_map } = parts_of(input);
488
- const record = {
489
- ...reuse_record(input.reuse),
490
- ...branch_parts_record(input.branch_parts, own),
491
- scope: input.kind ?? related_scope.scope_kind(input.scope),
492
- changed: own.length,
493
- synced: synced.length,
494
- since_map: since_map.length,
495
- readers: readers_of(input, /* @__PURE__ */ new Set([...own, ...synced, ...since_map])),
496
- ...triggers_of(input),
497
- ...over_cap_record(input.over_cap, own),
498
- ...select_record(input.select_elapsed_ms),
499
- elapsed_ms: Math.round(result.elapsed_ms)
500
- };
501
- return result.test_files === void 0 ? record : { ...record, test_files: result.test_files };
502
- }
503
- async function record_run(input, result, ledger) {
504
- const issue = lane_paths.issue_here();
505
- await lane_ledger_write.record_test_related({ ...record_of(input, result), issue }, ledger);
506
- }
507
- var test_related_record = { own_of: own_of2, record_of, record_run, with_test_count };
508
-
509
- // scripts/test/test-related-red.ts
510
- import { existsSync as existsSync3, readFileSync as readFileSync3, statSync as statSync2 } from "node:fs";
511
- import { stripVTControlCharacters } from "node:util";
512
- var FAILED_MARK = "failed";
513
- var OWED_MARK = "no-base";
514
- var FAILED_FILE_COUNT = /Test Files\s+(?<count>\d+) failed/u;
515
- function marked(blobs2, mark) {
516
- return Object.entries(blobs2).filter(([, value]) => value === mark).map(([file]) => file);
517
- }
518
- function reading_of(parts, marks) {
519
- return parts === void 0 ? void 0 : { parts, moved: moved_paths.union_of(parts), ...marks };
520
- }
521
- function marks_on(before) {
522
- const record = review_stamps.test_related_red_stamp.read();
523
- if (record === void 0 || !file_map_stamp.describes_base(record, before.base)) return {};
524
- return record.blobs ?? {};
525
- }
526
- async function read_red(before) {
527
- if (before === void 0) return void 0;
528
- const blobs2 = marks_on(before);
529
- const failed2 = marked(blobs2, FAILED_MARK);
530
- if (failed2.length === 0) return void 0;
531
- const stamp = review_stamps.test_related_red_stamp;
532
- const parts = await since_green.read_moved_parts(stamp, gate_labels.UNIT_LABEL, void 0, before);
533
- return reading_of(parts, { failed: failed2, owed: marked(blobs2, OWED_MARK) });
534
- }
535
- function green_fallback(fallback) {
536
- return review_stamps.test_related_red_stamp.read() === void 0 ? fallback : since_green.FALLBACK.AFTER_RED;
537
- }
538
- async function narrowing(red) {
539
- if (red !== void 0) return red;
540
- const verdict = await since_green.read_verdict(
541
- review_stamps.test_related_stamp,
542
- gate_labels.UNIT_LABEL
543
- );
544
- if ("fallback" in verdict) return { fallback: green_fallback(verdict.fallback) };
545
- return { parts: verdict.parts, moved: moved_paths.union_of(verdict.parts), failed: [], owed: [] };
546
- }
547
- function is_accounted(output, failed2) {
548
- const text = stripVTControlCharacters(output);
549
- if (text.includes("Unhandled Error")) return false;
550
- const groups = FAILED_FILE_COUNT.exec(text)?.groups ?? {};
551
- const { count } = groups;
552
- return count === String(failed2.length);
553
- }
554
- function failed_of(scope, started_ms) {
555
- const log = vitest_failure_summary.unit_log_path(related_scope.vitest_arguments(scope));
556
- if (!existsSync3(log) || statSync2(log).mtimeMs < started_ms) return [];
557
- const { failed_files, failed_tests } = vitest_failure_summary;
558
- const output = readFileSync3(log, "utf8");
559
- const failed2 = failed_files(failed_tests(output));
560
- return is_accounted(output, failed2) ? failed2 : [];
561
- }
562
- function blobs_of(failed2, owed) {
563
- const entries = [
564
- ...owed.map((file) => [file, OWED_MARK]),
565
- ...failed2.map((file) => [file, FAILED_MARK])
566
- ];
567
- return Object.fromEntries(entries);
568
- }
569
- function clear() {
570
- try {
571
- review_stamps.test_related_red_stamp.remove();
572
- } catch {
573
- }
574
- }
575
- function write(before, failed2, owed) {
576
- try {
577
- review_stamps.test_related_red_stamp.write(
578
- before.files,
579
- void 0,
580
- before.base,
581
- blobs_of(failed2, owed)
582
- );
583
- } catch {
584
- clear();
585
- }
586
- }
587
- function failed_in(run) {
588
- return run.first_exit === 0 ? [] : failed_of(run.scope, run.started_ms);
589
- }
590
- async function record_red(run) {
591
- const { before } = run;
592
- if (before === void 0) return;
593
- const failed2 = failed_in(run);
594
- const is_vouched2 = failed2.length > 0 && scoped_green.is_unmoved(before, await gate_tree.read_gate_tree());
595
- if (is_vouched2) write(before, failed2, run.owed);
596
- else clear();
597
- }
598
- function no_base_files(input) {
599
- const joined = /* @__PURE__ */ new Set([...input.since_map, ...input.synced]);
600
- const own = (input.changed ?? []).filter((file) => !joined.has(file));
601
- return [.../* @__PURE__ */ new Set([...own, ...input.owed])];
602
- }
603
- function describe(reading) {
604
- const { failed: failed2, moved } = reading;
605
- const label = related_scope.COMMAND_LABEL;
606
- if (failed2.length === 0) return since_green.describe(label, moved);
607
- return `${label}: reading only the ${String(failed2.length)} test file(s) that failed in its last run and the ${String(moved.length)} file(s) changed since.`;
608
- }
609
- var test_related_red = { describe, narrowing, no_base_files, read_red, record_red };
610
-
611
- // scripts/test/test-related-reuse.ts
612
- import path4 from "node:path";
613
- var NO_RECORD = "no-comparable-green";
614
- function digest_of(graph, file) {
615
- const inputs = graph.test_inputs?.(file);
616
- return inputs === void 0 ? void 0 : input_fingerprint.of_entries(
617
- inputs.toSorted((left, right) => left.localeCompare(right)).map((input) => `${input}:${input_fingerprint.of_file(input)}`)
618
- );
619
- }
620
- function empty(reason) {
621
- return { excluded: [], reused: 0, missed: 0, reason };
622
- }
623
- function select(graph, tests, green) {
624
- const excluded = tests.filter((file) => {
625
- const digest = digest_of(graph, file);
626
- return digest !== void 0 && green[file] === digest;
627
- });
628
- return {
629
- excluded,
630
- reused: excluded.length,
631
- missed: tests.length - excluded.length,
632
- reason: "closed-inputs-unchanged"
633
- };
634
- }
635
- async function select_scope(root, scope) {
636
- const recorded = review_stamps.test_related_stamp.read()?.blobs ?? {};
637
- if (Object.keys(recorded).length === 0) return empty("no-individual-green");
638
- const graph = await import_graph.create(root);
639
- if (graph === void 0) return empty("unknown-graph");
640
- const universe = await test_pinned_reach.code_universe();
641
- const tests = [...graph.runtime_importers(scope.files, universe)].filter(
642
- (file) => test_declared_logic.is_test_file(file)
643
- );
644
- const green = Object.fromEntries(
645
- Object.entries(recorded).map(([file, digest]) => [path4.join(root, file), digest])
646
- );
647
- return select(graph, tests, green);
648
- }
649
- async function compare(root, scope, tree) {
650
- const parts = await since_green.read_moved_parts(
651
- review_stamps.test_related_stamp,
652
- gate_labels.UNIT_LABEL,
653
- void 0,
654
- tree
655
- );
656
- if (parts === void 0 || parts.synced.length === 0) return empty(NO_RECORD);
657
- const moved = moved_paths.union_of(parts);
658
- if (moved.some((file) => whole_suite_files.WHOLE_SUITE_FILES.has(file))) {
659
- return empty("whole-suite-input");
660
- }
661
- return await select_scope(root, scope);
662
- }
663
- async function blobs(root, files) {
664
- if (files.length === 0) return {};
665
- try {
666
- const graph = await import_graph.create(root);
667
- if (graph === void 0) return {};
668
- return Object.fromEntries(
669
- files.flatMap((file) => {
670
- const absolute = path4.resolve(root, file);
671
- const digest = digest_of(graph, absolute);
672
- return digest === void 0 ? [] : [[path4.relative(root, absolute), digest]];
673
- })
674
- );
675
- } catch {
676
- return {};
677
- }
678
- }
679
- async function read(root, scope, tree) {
680
- const started = performance.now();
681
- try {
682
- const result = tree === void 0 || scope.mode !== "related" ? empty(NO_RECORD) : await compare(root, scope, tree);
683
- return { ...result, elapsed_ms: performance.now() - started };
684
- } catch {
685
- return { ...empty("unreadable-inputs"), elapsed_ms: performance.now() - started };
686
- }
687
- }
688
- async function retained(root, tree) {
689
- const parts = await since_green.read_moved_parts(
690
- review_stamps.test_related_stamp,
691
- gate_labels.UNIT_LABEL,
692
- void 0,
693
- tree
694
- );
695
- if (parts === void 0 || moved_paths.union_of(parts).length > 0) return [];
696
- const recorded = review_stamps.test_related_stamp.read()?.blobs ?? {};
697
- const current = await blobs(root, Object.keys(recorded));
698
- return Object.keys(recorded).filter((file) => current[file] === recorded[file]);
699
- }
700
- function flags(reuse) {
701
- if (reuse === void 0 || reuse.excluded.length === 0) return [];
702
- return ["--passWithNoTests", ...reuse.excluded.flatMap((file) => ["--exclude", file])];
703
- }
704
- var test_related_reuse = { blobs, flags, read, retained };
705
-
706
- // scripts/test/test-related-run.ts
707
- function conclusive_tree(before) {
708
- if (before === void 0) return void 0;
709
- return test_unit_guard.is_running(process.cwd()) ? before : void 0;
710
- }
711
- async function run_vitest(scope, args, description) {
712
- return await test_related_claim.with_unit_claim(
713
- scope.mode === "related" ? scope.files : void 0,
714
- async () => await test_unit_guard.run_guarded_vitest(
715
- process.cwd(),
716
- args,
717
- related_scope.COMMAND_NAME,
718
- description
719
- )
720
- );
721
- }
722
- async function run_scope(scope, root, command_arguments, reuse) {
723
- const description = related_scope.describe_scope(scope, root);
724
- if (scope.mode === "none") {
725
- process.stdout.write(`${description}
726
- `);
727
- return 0;
728
- }
729
- const vitest_arguments = related_scope.vitest_arguments(scope, [
730
- ...changed_file_scope.flags_of(command_arguments),
731
- ...related_heavy_tests.exclude_flags(scope, root),
732
- ...test_related_reuse.flags(reuse)
733
- ]);
734
- return await run_vitest(scope, vitest_arguments, description);
735
- }
736
- async function run_and_record(input, command_arguments) {
737
- const started = performance.now();
738
- const { exit_code, test_files, passed } = await test_related_record.with_test_count(
739
- async () => await run_scope(input.scope, input.root, command_arguments, input.reuse)
740
- );
741
- input.passed = passed ?? [];
742
- await test_related_record.record_run(input, {
743
- elapsed_ms: performance.now() - started,
744
- test_files
745
- });
746
- return exit_code;
747
- }
748
- async function with_no_base_pass(input, command_arguments, exit_code) {
749
- if (exit_code !== 0) return exit_code;
750
- const flags2 = changed_file_scope.flags_of(command_arguments);
751
- return await test_no_base.run_if_touched(input.root, test_related_red.no_base_files(input), flags2);
752
- }
753
- function proven_files(input) {
754
- return [...input.passed ?? [], ...input.reuse?.excluded ?? []];
755
- }
756
- async function record_green(input, tree, exit_code) {
757
- if (exit_code !== 0 || tree === void 0) {
758
- await scoped_green.record_if_green(review_stamps.test_related_stamp, {
759
- before: tree,
760
- exit_code
761
- });
762
- return;
763
- }
764
- const files = [...proven_files(input), ...await test_related_reuse.retained(input.root, tree)];
765
- const blobs2 = await test_related_reuse.blobs(input.root, files);
766
- await scoped_green.record_if_green(review_stamps.test_related_stamp, {
767
- before: tree,
768
- exit_code,
769
- ...Object.keys(blobs2).length > 0 && { blobs: blobs2 }
770
- });
771
- }
772
- async function run_and_vouch(input, command_arguments, before) {
773
- const started_ms = Date.now();
774
- const first_exit = await run_and_record(input, command_arguments);
775
- const exit_code = await with_no_base_pass(input, command_arguments, first_exit);
776
- const tree = conclusive_tree(before);
777
- await record_green(input, tree, exit_code);
778
- await test_related_red.record_red({
779
- before: tree,
780
- scope: input.scope,
781
- first_exit,
782
- started_ms,
783
- owed: test_related_red.no_base_files(input)
784
- });
785
- return exit_code;
786
- }
787
- var test_related_run = { run_and_record, run_and_vouch };
788
-
789
- // scripts/test/test-related-whole.ts
790
- function is_whole_suite_kept(given, root, environment = process.env) {
791
- if (!given.includes(gate_labels.KEEP_WHOLE_SUITE_FLAG)) return false;
792
- return lane_paths.lane_issue_of(root, environment) === void 0;
793
- }
794
- var test_related_whole = { is_whole_suite_kept };
795
-
796
- // scripts/test/test-related.ts
797
- async function read_or_undefined(read2) {
798
- try {
799
- return await read2();
800
- } catch {
801
- return void 0;
802
- }
803
- }
804
- async function branch_change() {
805
- return await read_or_undefined(async () => await changed_paths.read_changed_paths(false));
806
- }
807
- async function change_since(root, map) {
808
- const since = await read_or_undefined(
809
- async () => await changed_paths.read_changed_since(map.commit)
810
- );
811
- if (since === void 0) return void 0;
812
- return test_read_map.changed_since_tree(
813
- map,
814
- since,
815
- input_fingerprint.of_files(root, Object.keys(map.dirty))
816
- );
817
- }
818
- async function map_change(root, map) {
819
- const changed = await change_since(root, map);
820
- if (changed === void 0) return { changed: await branch_change(), map: void 0 };
821
- const branch = await branch_change();
822
- if (branch === void 0) return { changed, map };
823
- return { changed, map, since_map: changed.filter((file) => !branch.includes(file)) };
824
- }
825
- async function explicit_change(root, explicit, map) {
826
- const since = map === void 0 ? void 0 : await change_since(root, map);
827
- if (since === void 0) return { changed: explicit, map: void 0 };
828
- const named = new Set(explicit);
829
- const since_map = since.filter((file) => !named.has(file));
830
- return { changed: [...named, ...since_map], map, since_map };
831
- }
832
- async function is_green_narrowable(is_whole) {
833
- if (!is_whole) return true;
834
- return direct_importers.every_test_imports_of(await branch_change() ?? []).length === 0;
835
- }
836
- async function since_green_change(root, map, is_whole, red) {
837
- const reading = await is_green_narrowable(is_whole) ? await test_related_red.narrowing(red) : { fallback: since_green.FALLBACK.HUB };
838
- if ("fallback" in reading) return reading.fallback;
839
- const { parts, moved, failed: failed2 } = reading;
840
- if (moved.length + failed2.length === 0) return { changed: [], map, is_unmoved: true };
841
- const branch = await branch_change();
842
- const split2 = await test_related_synced.split(root, parts.synced, branch, map);
843
- const change = await explicit_change(
844
- root,
845
- [...test_related_moved.narrowed_moved(moved, split2, branch, map), ...failed2],
846
- map
847
- );
848
- if (change.map === void 0) return since_green.FALLBACK.NO_READ_MAP;
849
- process.stdout.write(`${test_related_red.describe(reading)}
850
- `);
851
- return test_related_moved.moved_reading(change, parts, branch, split2);
852
- }
853
- async function whole_change(root, map, is_whole, red) {
854
- const since = await since_green_change(root, map, is_whole, red);
855
- if (typeof since !== "string") return since;
856
- process.stdout.write(`${since_green.fallback_line(gate_labels.UNIT_LABEL, since)}
857
- `);
858
- return map === void 0 ? { changed: await branch_change(), map } : await map_change(root, map);
859
- }
860
- function explicit_files(root, command_arguments) {
861
- return command_arguments.filter((argument) => !changed_file_scope.is_flag(argument)).map((file) => path5.relative(root, path5.resolve(file)));
862
- }
863
- async function read_change(root, command_arguments, is_whole, red) {
864
- const map = test_read_map.read_map(root);
865
- const explicit = explicit_files(root, command_arguments);
866
- return explicit.length > 0 ? await explicit_change(root, explicit, map) : await whole_change(root, map, is_whole, red);
867
- }
868
- async function recorded_files(change) {
869
- const { changed, map } = change;
870
- if (changed === void 0 || map === void 0) return /* @__PURE__ */ new Set();
871
- const dirty = new Set(Object.keys(map.dirty));
872
- const candidates = changed.filter((file) => !related_scope.is_relatable(file) && !dirty.has(file));
873
- return new Set(
874
- await read_or_undefined(async () => await changed_paths.read_held_at(map.commit, candidates))
875
- );
876
- }
877
- function naming_moved(root, change) {
878
- const { changed = [], since_map = [], branch = changed } = change;
879
- const names = changed.filter((file) => !since_map.includes(file) && branch.includes(file)).map((file) => path5.basename(file));
880
- const code = since_map.filter(
881
- (file) => related_scope.is_relatable(file) && !test_related_moved.is_whole_suite(file)
882
- );
883
- return new Set(
884
- code.filter(
885
- (file) => test_no_base.names_any(test_no_base.text_of(path5.join(root, file)), names)
886
- )
887
- );
888
- }
889
- async function scope_of(root, change, capped) {
890
- const recorded = await recorded_files(change);
891
- const naming = naming_moved(root, change);
892
- const pure_entries = await pure_files_entries.read_moved(root, change.changed);
893
- return related_scope.resolve_scope({
894
- root,
895
- ...change,
896
- recorded,
897
- naming_moved: naming,
898
- pure_entries,
899
- every_test_importers: capped.importers,
900
- is_present: existsSync4
901
- });
902
- }
903
- function report_capped(capped, change) {
904
- test_related_cap.report_over_cap(capped, test_related_record.own_of(change));
905
- }
906
- async function capped_of(root, change, is_whole) {
907
- const files = change.is_unmoved === true ? [] : change.changed ?? [];
908
- const started_ms = performance.now();
909
- const capped = await test_related_cap.capped_importers(root, files, is_whole);
910
- const select_elapsed_ms = performance.now() - started_ms;
911
- report_capped(capped, change);
912
- return { capped, select_elapsed_ms };
913
- }
914
- async function reaches_tests(root, paths) {
915
- if (paths.length === 0) return false;
916
- const change = await explicit_change(root, paths, test_read_map.read_map(root));
917
- if (change.map === void 0) return true;
918
- const scope = await scope_of(root, change, test_related_cap.NO_CAP);
919
- return scope.mode !== "none";
920
- }
921
- async function resolve_change(root, change, capped) {
922
- const { UNMOVED_REASON } = related_scope;
923
- if (change.is_unmoved === true) return { mode: "none", files: [], reason: UNMOVED_REASON };
924
- return await scope_of(root, change, capped);
925
- }
926
- function owed_of(red) {
927
- return red?.owed ?? [];
928
- }
929
- async function read_run_input(root, command_arguments, is_whole, before) {
930
- const red = await test_related_red.read_red(before);
931
- const change = await read_change(root, command_arguments, is_whole, red);
932
- const { capped, select_elapsed_ms } = await capped_of(root, change, is_whole);
933
- const { changed, synced = [], since_map = [], branch } = change;
934
- const scope = await resolve_change(root, change, capped);
935
- const reuse = await test_related_reuse.read(root, scope, red === void 0 ? before : void 0);
936
- return {
937
- scope,
938
- root,
939
- changed,
940
- synced,
941
- since_map,
942
- branch,
943
- owed: owed_of(red),
944
- reuse,
945
- over_cap: capped.over_cap,
946
- select_elapsed_ms
947
- };
948
- }
949
- function is_narrowed_argument(root, argument, over_cap) {
950
- if (direct_importers.is_every_test_import(root, argument)) return true;
951
- return over_cap.includes(path5.relative(root, path5.resolve(argument)));
952
- }
953
- function report_unhanded(root, command_arguments, input) {
954
- const over_cap = input.over_cap ?? [];
955
- changed_file_scope.report_unusable_arguments(
956
- command_arguments.filter(
957
- (argument) => related_scope.is_relatable(argument) && !is_narrowed_argument(root, argument, over_cap)
958
- ),
959
- input.scope,
960
- related_scope.COMMAND_LABEL
961
- );
962
- }
963
- async function run_touched(given) {
964
- const { TOUCHED_FLAG, TOUCHED_KIND } = test_related_touched;
965
- const command_arguments = given.filter((argument) => argument !== TOUCHED_FLAG);
966
- const root = await changed_file_scope.repository_root_or_cwd();
967
- const explicit = explicit_files(root, command_arguments);
968
- const changed = explicit.length > 0 ? explicit : await branch_change();
969
- const scope = await test_related_touched.read_scope(root, changed);
970
- const input = { scope, root, changed, synced: [], since_map: [], kind: TOUCHED_KIND };
971
- return await test_related_run.run_and_record(input, command_arguments);
972
- }
973
- async function run_fresh(given, tree) {
974
- const { KEEP_WHOLE_SUITE_FLAG } = gate_labels;
975
- const command_arguments = given.filter((argument) => argument !== KEEP_WHOLE_SUITE_FLAG);
976
- const root = await changed_file_scope.repository_root_or_cwd();
977
- const before = command_arguments.length === 0 ? tree : void 0;
978
- const is_whole = test_related_whole.is_whole_suite_kept(given, root);
979
- const input = await read_run_input(root, command_arguments, is_whole, before);
980
- const branch_parts = await read_or_undefined(changed_paths.read_changed_parts);
981
- report_unhanded(root, command_arguments, input);
982
- return await test_related_run.run_and_vouch({ ...input, branch_parts }, command_arguments, before);
983
- }
984
- async function run_related_tests(given) {
985
- return await test_related_verdict.run(
986
- given,
987
- async (before) => given.includes(test_related_touched.TOUCHED_FLAG) ? await run_touched(given) : await run_fresh(given, before)
988
- );
989
- }
990
- var test_related = { reaches_tests, run_related_tests };
991
-
992
- export {
993
- test_related_synced,
994
- test_related
995
- };