@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
@@ -16,8 +16,8 @@ import { execa } from 'execa'
16
16
  // average trails by a minute, so a gate started just after another one finished would see the finished
17
17
  // one's load as external and wait out the decay. `os.cpus()` is one read with no process spawned.
18
18
  //
19
- // A failed reading answers undefined so CI runners and containers, whose host CPU times may not
20
- // describe their quota, can budget by core count without a misleading memory constraint.
19
+ // Unavailable readings stay undefined. Admission distinguishes an unsupported memory probe from a
20
+ // failed supported probe; CPU quotas still fall back to the declared core count.
21
21
  //
22
22
  // **`run:board` draws its machine gauges from the same reading**, so what the
23
23
  // board shows a person is what the gate admits against — the gate reading the free memory as none
@@ -84,6 +84,8 @@ const SYSCTL_LINE = /^(?<name>[\w.]+): (?<value>\d+)$/gmu
84
84
  interface MachineReading {
85
85
  busy_cores: number | undefined
86
86
  available_mb: number | undefined
87
+ memory_supported?: boolean | undefined
88
+ total_mb?: number | undefined
87
89
  memory_pressured?: boolean | undefined
88
90
  run_queue?: number | undefined
89
91
  }
@@ -328,6 +330,8 @@ async function read_machine(
328
330
  run_queue: is_host ? loadavg()[0] : undefined,
329
331
  available_mb: pressured_available(memory_after, memory_before),
330
332
  memory_pressured: is_pressured(memory_before, memory_after),
333
+ memory_supported: process.platform === 'darwin' || process.platform === 'linux',
334
+ total_mb: totalmem() / BYTES_PER_MB,
331
335
  }
332
336
  }
333
337
 
@@ -1,5 +1,6 @@
1
1
  import { buffered_process, type BufferedProcessResult } from '#scripts/lib/buffered-process'
2
2
  import { release_approval_prune } from '#scripts/release/release-approval-prune'
3
+ import { gate_tree, type GateTree } from './gate-tree'
3
4
  import { project_checks } from './project-checks'
4
5
 
5
6
  // kit's metrics ratchet totals (`josh metrics --totals-only`), brought forward from the detached
@@ -78,6 +79,16 @@ const metrics_totals = {
78
79
  REVIEW_REFUSAL_HEADING,
79
80
  growth_notice,
80
81
  rerecord,
82
+ // Finish the existing approval writer before fixing the tree any verification will read.
83
+ async rerecorded_tree(
84
+ read: () => Promise<GateTree> = gate_tree.read_gate_tree,
85
+ directory: string = process.cwd(),
86
+ ): Promise<GateTree> {
87
+ const tree = await read()
88
+ const is_rerecorded = await metrics_totals.rerecord(directory, tree.files)
89
+
90
+ return is_rerecorded ? await read() : tree
91
+ },
81
92
  totals_check,
82
93
  totals_refusal,
83
94
  }
@@ -0,0 +1,18 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { path_glob } from './path-glob'
3
+
4
+ const RUST_SOURCES = 'src/**/*.rs'
5
+ const CRATE = 'crates/core'
6
+ const MANIFEST = 'Cargo.toml'
7
+
8
+ describe('path_glob.matches', () => {
9
+ it.each([
10
+ ['a glob', 'src/lib/parse.rs', RUST_SOURCES, true],
11
+ ['a bare directory, over a file under it', `${CRATE}/src/lib.rs`, CRATE, true],
12
+ ['an exact file', MANIFEST, MANIFEST, true],
13
+ ['a glob, over a path outside it', 'docs/guide.md', RUST_SOURCES, false],
14
+ ['a bare directory, over a sibling sharing its prefix', `${CRATE}-x/a.rs`, CRATE, false],
15
+ ])('answers %s', (_case, file, pattern, expected) => {
16
+ expect(path_glob.matches(file, pattern)).toBe(expected)
17
+ })
18
+ })
@@ -0,0 +1,36 @@
1
+ import { mkdirSync, mkdtempSync, rmSync, symlinkSync, writeFileSync } from 'node:fs'
2
+ import { tmpdir } from 'node:os'
3
+ import path from 'node:path'
4
+ import { expect, it, onTestFinished } from 'vitest'
5
+ import { toolchain_inputs } from './toolchain-inputs'
6
+
7
+ const MANIFEST = 'package.json'
8
+ const RULE = 'eslint/rule.js'
9
+ const CONFIG = 'tsconfig.json'
10
+
11
+ function inputs(): string {
12
+ // Distributed tests cannot import kit's unpublished tools/test helper; cleanup is registered below.
13
+ // eslint-disable-next-line no-restricted-syntax
14
+ const root = mkdtempSync(path.join(tmpdir(), 'consumer-toolchain-'))
15
+
16
+ onTestFinished(() => rmSync(root, { recursive: true, force: true }))
17
+ mkdirSync(path.join(root, 'eslint'))
18
+ writeFileSync(path.join(root, RULE), 'export default {}\n')
19
+ writeFileSync(path.join(root, MANIFEST), '{}\n')
20
+ symlinkSync(path.join(root, 'missing.json'), path.join(root, CONFIG))
21
+
22
+ return root
23
+ }
24
+
25
+ it('verifies every distributed toolchain operation without kit internals (ac-07c1d077)', () => {
26
+ const root = inputs()
27
+
28
+ expect(toolchain_inputs.paths(root)).toEqual([RULE, MANIFEST, CONFIG])
29
+ expect(toolchain_inputs.is_input(RULE)).toBe(true)
30
+ expect(toolchain_inputs.is_input(MANIFEST)).toBe(true)
31
+ expect(toolchain_inputs.is_input('eslint/rule.test.ts')).toBe(false)
32
+ const before = toolchain_inputs.digest(root)
33
+
34
+ writeFileSync(path.join(root, RULE), 'export default { changed: true }\n')
35
+ expect(toolchain_inputs.digest(root)).not.toBe(before)
36
+ })
@@ -3,6 +3,7 @@ import path from 'node:path'
3
3
  import { config_fingerprint } from '#eslint/config-fingerprint.js'
4
4
  import { PROJECT_ROOT } from '#scripts/init/init-paths'
5
5
  import { lint_related_scope } from '#scripts/lint/lint-related-scope'
6
+ import { test_runner_config } from '#scripts/test/test-runner-config'
6
7
  import { gate_labels } from './gate-labels'
7
8
  import { input_fingerprint } from './input-fingerprint'
8
9
  import { toolchain_inputs } from './toolchain-inputs'
@@ -52,7 +53,7 @@ const PRETTIER_CONFIG_PREFIX = '.prettierrc'
52
53
  // A file name starting with one of these configures the TypeScript program a check compiles, and the
53
54
  // test runner for the unit step.
54
55
  const COMPILER_CONFIG_PREFIXES = ['tsconfig', 'svelte.config.'] as const
55
- const TEST_CONFIG_PREFIXES = [...COMPILER_CONFIG_PREFIXES, 'vitest.config.', 'vite.config.']
56
+ const TEST_CONFIG_PREFIXES = [...COMPILER_CONFIG_PREFIXES, ...test_runner_config.PREFIXES]
56
57
 
57
58
  // A file name starting with one of these, a path under one of the directories, or a module the eslint
58
59
  // config imports configures prettier, eslint or the TypeScript program its type-aware rules read.
@@ -8,7 +8,7 @@ const TARBALL_PREFIX = ' tarball: '
8
8
  const FLOW_RESOLUTION_LINE_START = '\n resolution: {'
9
9
  const FLOW_TARBALL_KEY = ', tarball: '
10
10
  const NPMRC_AUTH_TOKEN_PREFIX = `//${GH_PACKAGES_HOST}/:_authToken=`
11
- const REGISTRY_KEY = ':registry='
11
+ const REGISTRY_KEY = ':registry'
12
12
 
13
13
  interface PackageResolution {
14
14
  integrity?: string | undefined
@@ -44,29 +44,35 @@ function parse_lockfile_packages(raw: string): Record<string, LockfilePackage> {
44
44
  return merged
45
45
  }
46
46
 
47
- function extract_gh_registry_scope(line: string): string | undefined {
47
+ function registry_entry(line: string): [string, string] | undefined {
48
48
  const trimmed = line.trim()
49
49
  if (!trimmed.startsWith('@')) return undefined
50
- const eq_index = trimmed.indexOf(REGISTRY_KEY)
51
- if (eq_index === -1) return undefined
52
- const registry = trimmed
53
- .slice(eq_index + REGISTRY_KEY.length)
54
- .trim()
55
- .replace(/\/$/u, '')
56
- if (registry !== `https://${GH_PACKAGES_HOST}`) return undefined
50
+ const eq_index = trimmed.indexOf('=')
51
+ const key = trimmed.slice(0, eq_index).trim()
52
+ if (eq_index === -1 || !key.endsWith(REGISTRY_KEY)) return undefined
57
53
 
58
- return trimmed.slice(0, eq_index)
54
+ return [key.slice(0, -REGISTRY_KEY.length), trimmed.slice(eq_index + 1).trim()]
59
55
  }
60
56
 
61
- function parse_gh_scopes(npmrc: string): Set<string> {
62
- const scopes = new Set<string>()
57
+ function parse_scope_registries(npmrc: string): Map<string, string> {
58
+ const registries = new Map<string, string>()
63
59
 
64
60
  for (const line of npmrc.split('\n')) {
65
- const scope = extract_gh_registry_scope(line)
66
- if (scope !== undefined) scopes.add(scope)
61
+ const entry = registry_entry(line)
62
+ if (entry !== undefined) registries.set(...entry)
67
63
  }
68
64
 
69
- return scopes
65
+ return registries
66
+ }
67
+
68
+ function parse_gh_scopes(npmrc: string): Set<string> {
69
+ const entries = [...parse_scope_registries(npmrc)]
70
+
71
+ return new Set(
72
+ entries
73
+ .filter(([, registry]) => registry.replace(/\/$/u, '') === `https://${GH_PACKAGES_HOST}`)
74
+ .map(([scope]) => scope),
75
+ )
70
76
  }
71
77
 
72
78
  function extract_auth_token_from_line(line: string): string | undefined {
@@ -218,6 +224,7 @@ function resolve_token(
218
224
 
219
225
  const fix_gh_packages_logic = {
220
226
  parse_gh_scopes,
227
+ parse_scope_registries,
221
228
  parse_npmrc_auth_token,
222
229
  parse_lockfile_packages,
223
230
  package_path_from_key,
@@ -15,6 +15,9 @@
15
15
  // include that call's cost. The difference is an upper bound for this process: the account's other
16
16
  // processes spend the same allowance.
17
17
 
18
+ import { run_startup } from '#scripts/run/startup/run-startup'
19
+ import { gh_call_kind } from './gh-call-kind'
20
+
18
21
  interface CallCount {
19
22
  calls: number
20
23
  not_modified: number
@@ -97,6 +100,7 @@ function snapshot(): GhRequestTally {
97
100
 
98
101
  // `kind` is the call's `gh_call_kind` key.
99
102
  function count_call(kind: string): void {
103
+ run_startup.metric('api', gh_call_kind.class_of(kind))
100
104
  if (core.read !== undefined) core.start ??= core.read()
101
105
  tally.calls += 1
102
106
  endpoint_of(kind).calls += 1
@@ -5,6 +5,8 @@ import { git_spawn_sync } from '#scripts/git/git-spawn-sync'
5
5
  import { hook_decision } from '#scripts/josh/hook-decision'
6
6
  import { stamp_file } from '#scripts/josh/stamp-file'
7
7
  import { json_value } from '#scripts/lib/json-value'
8
+ import { time_bundle_call } from '#scripts/time-runtime/time-bundle-call'
9
+ import { time_shell } from '#scripts/time-runtime/time-shell'
8
10
  import { z } from 'zod'
9
11
  import { step_zero_notice } from './step-zero-notice'
10
12
 
@@ -16,7 +18,9 @@ import { step_zero_notice } from './step-zero-notice'
16
18
  // the edit it carried survives (#6812); a dirty file whose saved copy no longer matches its stamp is
17
19
  // only named — and the session is told which paths it may not write. A session that can
18
20
  // implement is never stamped nor reverted, and a path outside the runtime set (`.josh/`, a doc) is
19
- // left as the shell wrote it.
21
+ // left as the shell wrote it. **Only a change the call's own command names is this shell's**
22
+ // (joshuafolkken/kit#7495): another session sharing the checkout writes in the same window and a hash
23
+ // cannot tell the writers apart, so a change the command does not name is left in place and named.
20
24
 
21
25
  const STAMP_PREFIX = 'josh-bash-revert-'
22
26
  const UNTRACKED = '??'
@@ -28,21 +32,27 @@ const OPERATIONAL_RECORDS = '.josh/'
28
32
  const BACKUP_DIRECTORY = '.josh/tmp/bash-revert'
29
33
  const BEFORE_CALL_DIRECTORY = 'before-call'
30
34
  const STAMP_EXTENSION = '.json'
35
+ // Any run of characters a path word does not carry: quotes, spaces, operators.
36
+ const PATH_BREAK = /[^\w./-]+/u
31
37
  const snapshot_schema = z.record(z.string(), z.string())
32
38
 
33
39
  type Snapshot = Record<string, string>
34
40
 
35
41
  // `revert` holds the dirty entries clean before the call; `restore` the files dirty before it whose
36
- // saved content matches the stamp; `keep` the rest dirty before it, which nothing can put back.
42
+ // saved content matches the stamp; `keep` the rest dirty before it, which nothing can put back;
43
+ // `unknown` the changed files the command does not name, whose writer may be another process.
37
44
  interface Moved {
38
45
  revert: Array<string>
39
46
  restore: Array<string>
40
47
  keep: Array<string>
48
+ unknown: Array<string>
41
49
  }
42
50
 
43
- const NONE_MOVED: Moved = { revert: [], restore: [], keep: [] }
51
+ const NONE_MOVED: Moved = { revert: [], restore: [], keep: [], unknown: [] }
44
52
 
45
53
  const HANDOFF = 'This shell wrote runtime files; hand implementation to a worker lane.'
54
+ const UNKNOWN_WRITER =
55
+ 'Changed during the call by a writer its command does not name, so left in place:'
46
56
 
47
57
  function content_hash(file: string): string {
48
58
  return existsSync(file) ? stamp_file.digest(readFileSync(file)) : ABSENT
@@ -74,13 +84,23 @@ function snapshot(root: string, entries: Array<string> = dirty_entries(root)): S
74
84
  return Object.fromEntries(runtime.map((file) => [file, content_hash(path.join(root, file))]))
75
85
  }
76
86
 
77
- // The transcript of a consultation session's `Bash` call, the only call this guards.
78
- function guarded_transcript(raw_payload: string): string | undefined {
87
+ interface GuardedCall {
88
+ transcript: string
89
+ command: string
90
+ }
91
+
92
+ // The transcript and command of a consultation session's `Bash` call, the only call this guards.
93
+ function guarded_call(raw_payload: string): GuardedCall | undefined {
79
94
  if (agent_session_role.can_implement()) return undefined
80
95
 
81
96
  const payload = hook_decision.parse_hook_payload(raw_payload)
82
97
 
83
- return payload?.tool_name === 'Bash' ? payload.transcript_path : undefined
98
+ if (payload?.tool_name !== 'Bash') return undefined
99
+
100
+ return {
101
+ transcript: payload.transcript_path,
102
+ command: time_shell.bash_command(payload.tool_input),
103
+ }
84
104
  }
85
105
 
86
106
  function copy_into(source: string, destination: string): void {
@@ -104,7 +124,7 @@ function save_dirty(before: Snapshot, root: string, saved: string): void {
104
124
  }
105
125
 
106
126
  function stamp(raw_payload: string, root: string = process.cwd()): void {
107
- const transcript = guarded_transcript(raw_payload)
127
+ const transcript = guarded_call(raw_payload)?.transcript
108
128
 
109
129
  if (transcript === undefined) return
110
130
 
@@ -158,6 +178,32 @@ function moved_entries(transcript: string, root: string): Moved {
158
178
  }),
159
179
  restore: intact,
160
180
  keep: dirty.filter((file) => !intact.includes(file)),
181
+ unknown: [],
182
+ }
183
+ }
184
+
185
+ // A whole word of `command` is `file`, relative or under an absolute root — `src/app.ts` does not
186
+ // name `src/app.tsx`. A read (`cat`, `grep`, a reading `josh` command — `time_bundle_call`'s reading)
187
+ // names a file without writing it, so a change to one it reads is another writer's.
188
+ function names(command: string, file: string): boolean {
189
+ if (time_bundle_call.bash_facts(command).is_bundleable) return false
190
+
191
+ return command.split(PATH_BREAK).some((word) => word === file || word.endsWith(`/${file}`))
192
+ }
193
+
194
+ // Splits the moved files into the ones `command` names, this shell's, and the rest, `unknown`.
195
+ function attributed(moved: Moved, command: string): Moved {
196
+ const changed = [
197
+ ...moved.revert.map((entry) => entry_file(entry)),
198
+ ...moved.restore,
199
+ ...moved.keep,
200
+ ]
201
+
202
+ return {
203
+ revert: moved.revert.filter((entry) => names(command, entry_file(entry))),
204
+ restore: moved.restore.filter((file) => names(command, file)),
205
+ keep: moved.keep.filter((file) => names(command, file)),
206
+ unknown: changed.filter((file) => !names(command, file)),
161
207
  }
162
208
  }
163
209
 
@@ -199,41 +245,43 @@ function put_back(moved: Moved, root: string, backup: string, saved: string): vo
199
245
  for (const file of moved.restore) restore_saved(file, root, backup, saved)
200
246
  }
201
247
 
202
- function block_reason(moved: Moved, backup: string): string {
203
- const parts = [HANDOFF]
204
-
205
- if (moved.revert.length > 0) {
206
- parts.push(`Reverted: ${moved.revert.map((entry) => entry_file(entry)).join(', ')}.`)
207
- }
208
-
209
- if (moved.restore.length > 0) {
210
- parts.push(`Restored to their content before the call: ${moved.restore.join(', ')}.`)
211
- }
212
-
213
- if (moved.revert.length + moved.restore.length > 0) {
214
- parts.push(`Their content before the revert: ${backup}/.`)
215
- }
216
-
217
- if (moved.keep.length > 0) {
218
- parts.push(`Changed, kept as dirty before the call: ${moved.keep.join(', ')}.`)
219
- }
248
+ // Each sentence of the block with the files it is about; one about no file is left out.
249
+ function reason_parts(moved: Moved, backup: string): Array<[Array<string>, string]> {
250
+ const reverted = moved.revert.map((entry) => entry_file(entry))
251
+ const put_back_files = [...reverted, ...moved.restore]
252
+
253
+ return [
254
+ [[...put_back_files, ...moved.keep], HANDOFF],
255
+ [reverted, `Reverted: ${reverted.join(', ')}.`],
256
+ [moved.restore, `Restored to their content before the call: ${moved.restore.join(', ')}.`],
257
+ [put_back_files, `Their content before the revert: ${backup}/.`],
258
+ [moved.keep, `Changed, kept as dirty before the call: ${moved.keep.join(', ')}.`],
259
+ [moved.unknown, `${UNKNOWN_WRITER} ${moved.unknown.join(', ')}.`],
260
+ ]
261
+ }
220
262
 
221
- return parts.join(' ')
263
+ function block_reason(moved: Moved, backup: string): string {
264
+ return reason_parts(moved, backup)
265
+ .filter(([files]) => files.length > 0)
266
+ .map(([, sentence]) => sentence)
267
+ .join(' ')
222
268
  }
223
269
 
224
270
  // The block a `PostToolUse` hook answers with, naming the moved paths, or nothing to say.
225
271
  function revert(raw_payload: string, root: string = process.cwd()): string | undefined {
226
- const transcript = guarded_transcript(raw_payload)
272
+ const call = guarded_call(raw_payload)
273
+
274
+ if (call === undefined) return undefined
227
275
 
228
- if (transcript === undefined) return undefined
276
+ const moved = attributed(moved_entries(call.transcript, root), call.command)
229
277
 
230
- const moved = moved_entries(transcript, root)
278
+ const { revert: reverted, restore: restored, keep, unknown } = moved
231
279
 
232
- if (moved.revert.length + moved.restore.length + moved.keep.length === 0) return undefined
280
+ if ([reverted, restored, keep, unknown].every((files) => files.length === 0)) return undefined
233
281
 
234
282
  const backup = path.join(BACKUP_DIRECTORY, new Date().toISOString().replaceAll(':', '-'))
235
283
 
236
- put_back(moved, root, path.join(root, backup), saved_directory(transcript, root))
284
+ put_back(moved, root, path.join(root, backup), saved_directory(call.transcript, root))
237
285
 
238
286
  return JSON.stringify({ decision: 'block', reason: block_reason(moved, backup) })
239
287
  }
@@ -8,6 +8,7 @@ import { HOOK_PROCESS_TIMEOUT_MS } from '#scripts/lib/timeouts'
8
8
  import { eslint_daemon } from '#scripts/lint/eslint-daemon'
9
9
  import { eslint_daemon_calls } from '#scripts/lint/eslint-daemon-calls'
10
10
  import { eslint_trim } from '#scripts/lint/eslint-trim'
11
+ import { format_steps } from '#scripts/lint/format-steps'
11
12
  import { time_density_hook } from '#scripts/time-runtime/time-density-hook'
12
13
  import { execa } from 'execa'
13
14
  import { z } from 'zod'
@@ -343,20 +344,17 @@ async function collect_unfixed(
343
344
  runner: CommandRunner,
344
345
  project_root: string,
345
346
  ): Promise<string> {
346
- let unfixed = ''
347
-
348
- for (const command of plan) {
347
+ const results = await format_steps.in_order(plan, async (command) => {
349
348
  try {
350
- // eslint-disable-next-line no-await-in-loop -- formatters rewrite the same file, in plan order
351
- unfixed = eslint_unfixed(command, await runner(command, project_root)) ?? unfixed
349
+ return eslint_unfixed(command, await runner(command, project_root))
352
350
  } catch {
353
351
  // One formatter failing to start is not a reason to skip the next: prettier runs last, and
354
352
  // it is the one whose output the project's own lint step checks.
355
- continue
353
+ return ''
356
354
  }
357
- }
355
+ })
358
356
 
359
- return unfixed
357
+ return results.findLast(Boolean) ?? ''
360
358
  }
361
359
 
362
360
  // The edited file as the daemon read it, or nothing when no eslint command linted it — a `.json`
@@ -7,8 +7,9 @@ import { implementation_shell_nested } from './implementation-shell-nested'
7
7
  import { step_zero_notice } from './step-zero-notice'
8
8
 
9
9
  // A consultation scope's pre-execution check (joshuafolkken/kit#6586): a shell runs unless it makes a
10
- // change no later check takes back. A runtime file a call changes is restored after it
11
- // (`bash-revert.ts`); a visible write to one is still refused here, as is every call
10
+ // change no later check takes back. A runtime file a call changes and names is restored after it
11
+ // (`bash-revert.ts`; one it does not name is only reported, #7495); a visible write to one is still
12
+ // refused here, as is every call
12
13
  // `implementation-shell-deny.ts` names — in a segment, a substitution or a program another one launches.
13
14
  const FILE_PROGRAMS: ReadonlySet<string> = new Set(['tee', 'touch', 'rm', 'truncate'])
14
15
  // The other programs that write the files their arguments name. `bash-revert.ts` restores only the
@@ -20,10 +20,13 @@ const GITHUB_REPO_TREE_BASE = 'https://github.com/joshuafolkken/kit/tree/main/'
20
20
  // The consumer imports kit's published, already path-transformed rules. A tracked bootstrap note
21
21
  // remains readable before installation, while the rule body stays in the package (kit#1878).
22
22
  const CLAUDE_MD_IMPORT_LINE = '@node_modules/@joshuafolkken/kit/dist/CLAUDE.md'
23
- const OLD_CLAUDE_MD_BOOTSTRAP =
24
- '> Fresh checkout: if kit is not installed, run `pnpm install` first, then reread this file before doing any other work.'
23
+ // Earlier bootstrap notes, oldest first. Sync replaces each in place with the current one.
24
+ const OLD_CLAUDE_MD_BOOTSTRAPS = [
25
+ '> Fresh checkout: if kit is not installed, run `pnpm install` first, then reread this file before doing any other work.',
26
+ '> Fresh checkout: before `pnpm install`, run `pnpm config get "@joshuafolkken:registry"` from the project root to check the effective registry, including user-level settings. If it points to GitHub Packages, [set up authentication](https://github.com/joshuafolkken/kit/blob/main/docs/authentication.md#1-get-a-token-from-the-gh-cli) first. Then run `pnpm install` and reread this file before doing any other work.',
27
+ ]
25
28
  const CLAUDE_MD_BOOTSTRAP =
26
- '> Fresh checkout: before `pnpm install`, run `pnpm config get "@joshuafolkken:registry"` from the project root to check the effective registry, including user-level settings. If it points to GitHub Packages, [set up authentication](https://github.com/joshuafolkken/kit/blob/main/docs/authentication.md#1-get-a-token-from-the-gh-cli) first. Then run `pnpm install` and reread this file before doing any other work.'
29
+ '> Fresh checkout: before `pnpm install`, run `pnpm config get "@joshuafolkken:registry"` from the project root to check the effective registry, including user-level settings. If it points to GitHub Packages, [migrate the project to npm](https://github.com/joshuafolkken/kit/blob/main/docs/registry-migration.md) first, or [set up authentication](https://github.com/joshuafolkken/kit/blob/main/docs/authentication.md#1-get-a-token-from-the-gh-cli) while it still installs from there. Then run `pnpm install` and reread this file before doing any other work.'
27
30
 
28
31
  // A span containing `*` is excluded: it is a **glob**, not a reference to a file a consumer can
29
32
  // open. A distributed document that writes a directory set as `prompts/**` means "anything beneath
@@ -81,12 +84,22 @@ function transform_distributed_paths(content: string): string {
81
84
  return transform_documentation_paths(with_tests)
82
85
  }
83
86
 
87
+ function replace_old_bootstraps(content: string): string {
88
+ let updated = content
89
+
90
+ for (const old of OLD_CLAUDE_MD_BOOTSTRAPS) {
91
+ updated = updated.replace(old, () => CLAUDE_MD_BOOTSTRAP)
92
+ }
93
+
94
+ return updated
95
+ }
96
+
84
97
  // Keep the bootstrap note ahead of the import so an agent can read it in a fresh checkout. Preserve
85
98
  // project additions and update older one-line files without duplicating either line.
86
99
  function ensure_claude_md_import(existing: string | undefined): string {
87
100
  if (existing === undefined) return `${CLAUDE_MD_BOOTSTRAP}\n\n${CLAUDE_MD_IMPORT_LINE}\n`
88
101
 
89
- const updated = existing.replace(OLD_CLAUDE_MD_BOOTSTRAP, () => CLAUDE_MD_BOOTSTRAP)
102
+ const updated = replace_old_bootstraps(existing)
90
103
 
91
104
  if (updated.includes(CLAUDE_MD_IMPORT_LINE)) {
92
105
  if (updated.includes(CLAUDE_MD_BOOTSTRAP)) return updated
@@ -101,7 +114,7 @@ function ensure_claude_md_import(existing: string | undefined): string {
101
114
  // or a switch from full, leaves these behind for it to remove.
102
115
  const FULL_CLAUDE_MD_LINES = new Set([
103
116
  CLAUDE_MD_BOOTSTRAP,
104
- OLD_CLAUDE_MD_BOOTSTRAP,
117
+ ...OLD_CLAUDE_MD_BOOTSTRAPS,
105
118
  CLAUDE_MD_IMPORT_LINE,
106
119
  ])
107
120
 
@@ -2,6 +2,8 @@ import { readFileSync } from 'node:fs'
2
2
  import path from 'node:path'
3
3
  import { json_format } from '#scripts/config-merge/json-format'
4
4
  import { string_array_schema, vscode_settings_schema } from '#scripts/lib/schemas'
5
+ import { migrate_lock } from '#scripts/registry-migration/migrate-lock'
6
+ import { npm_acquisition } from '#scripts/registry-migration/npm-acquisition'
5
7
  import { init_logic } from './init-logic'
6
8
  import { package_path, PROJECT_ROOT } from './init-paths'
7
9
  import type { ProjectShape } from './project-profile'
@@ -201,8 +203,20 @@ function build_gitignore_action(): FileAction {
201
203
  )
202
204
  }
203
205
 
206
+ function build_npmrc_actions(): Array<FileAction> {
207
+ if (!npm_acquisition.can_manage(PROJECT_ROOT)) return []
208
+
209
+ return [
210
+ build_action(
211
+ '.npmrc',
212
+ () => migrate_lock.npmrc(''),
213
+ (existing) => init_logic.merge_npmrc(existing, PROJECT_ROOT),
214
+ ),
215
+ ]
216
+ }
217
+
204
218
  function build_basic_actions(shape: ProjectShape): ReadonlyArray<FileAction> {
205
- const actions: Array<FileAction> = []
219
+ const actions: Array<FileAction> = [...build_npmrc_actions()]
206
220
  if (shape.has_git) actions.push(build_gitignore_action())
207
221
  if (shape.has_typescript) actions.push(build_basic_tsconfig_action())
208
222
 
@@ -226,6 +240,7 @@ function build_file_actions(shape?: ProjectShape): ReadonlyArray<FileAction> {
226
240
  if (shape?.profile === 'basic') return build_basic_actions(shape)
227
241
 
228
242
  return [
243
+ ...build_npmrc_actions(),
229
244
  ...(shape?.has_git === false ? [] : [build_gitignore_action()]),
230
245
  build_eslint_action(),
231
246
  build_action(
@@ -2,6 +2,7 @@ import { existsSync, readFileSync, realpathSync } from 'node:fs'
2
2
  import path from 'node:path'
3
3
  import { package_manifest } from '#scripts/lib/package-manifest'
4
4
  import { file_content } from '#scripts/sync/file-content'
5
+ import { sync_configs } from '#scripts/sync/sync-configs'
5
6
  import { z } from 'zod'
6
7
  import { init_basic } from './init-basic'
7
8
  import { init_install, type InstallStep } from './init-install'
@@ -130,6 +131,7 @@ function hand_off(
130
131
  const install = kit_install_step(has_kit_dependency(project_root), template)
131
132
 
132
133
  ensure_project_manifest(project_root)
134
+ sync_configs.sync_npmrc(path.join(project_root, NPMRC_FILE))
133
135
  ensure_release_age(project_root, template)
134
136
  if (!init_install.did_step_succeed(install, project_root)) return install_failure(install)
135
137
  if (!init_install.did_step_succeed(handoff_step(args), project_root)) return HANDOFF_FAILURE