@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
@@ -0,0 +1,907 @@
1
+ import {
2
+ test_pinned,
3
+ test_pinned_ledger,
4
+ test_pinned_record
5
+ } from "./chunk-J3PCRUVY.js";
6
+ import {
7
+ run_ship_planned
8
+ } from "./chunk-PKXTISWR.js";
9
+ import {
10
+ gate_skip
11
+ } from "./chunk-F57LACNC.js";
12
+ import {
13
+ test_pinned_logic
14
+ } from "./chunk-RAQ3E6OT.js";
15
+ import {
16
+ review_finding_ledger
17
+ } from "./chunk-KVURNO74.js";
18
+ import {
19
+ observation_ledger_home
20
+ } from "./chunk-QXBOECGL.js";
21
+ import {
22
+ review_stamps
23
+ } from "./chunk-S5GX3H4P.js";
24
+ import {
25
+ gate_tree,
26
+ review_tree
27
+ } from "./chunk-R36VZIKU.js";
28
+ import {
29
+ file_map_stamp
30
+ } from "./chunk-M32UPB2D.js";
31
+ import {
32
+ run_record_path
33
+ } from "./chunk-WL5JHB3I.js";
34
+ import {
35
+ core_budget,
36
+ core_priority
37
+ } from "./chunk-ZCHZU6NX.js";
38
+ import {
39
+ run_ship_detach
40
+ } from "./chunk-FJM2HWKW.js";
41
+ import {
42
+ detached_launch
43
+ } from "./chunk-HDVSZ6CZ.js";
44
+ import {
45
+ poll
46
+ } from "./chunk-SBGTCT2C.js";
47
+ import {
48
+ GATE_COMMAND
49
+ } from "./chunk-TBIX5FRN.js";
50
+ import {
51
+ error_text
52
+ } from "./chunk-CDY4NFQG.js";
53
+ import {
54
+ lane_ledger_write
55
+ } from "./chunk-KIS7JFNP.js";
56
+ import {
57
+ lane_child_marker
58
+ } from "./chunk-XXPDFJRI.js";
59
+ import {
60
+ process_identity
61
+ } from "./chunk-F2RDEF2J.js";
62
+ import {
63
+ stamp_file
64
+ } from "./chunk-VLN6TSPJ.js";
65
+ import {
66
+ PROJECT_ROOT
67
+ } from "./chunk-3CCGKX7Y.js";
68
+ import {
69
+ git_command
70
+ } from "./chunk-IXZZSST7.js";
71
+ import {
72
+ git_location_environment
73
+ } from "./chunk-B77ZMVHS.js";
74
+ import {
75
+ MS_PER_SECOND
76
+ } from "./chunk-WPAQUMHC.js";
77
+
78
+ // scripts/gate/check-related-unplanned.ts
79
+ async function read_unplanned() {
80
+ try {
81
+ return await run_ship_planned.unplanned();
82
+ } catch (error) {
83
+ error_text.trace_swallowed("check_related_unplanned.notice", error);
84
+ return void 0;
85
+ }
86
+ }
87
+ async function notice() {
88
+ const found = await read_unplanned();
89
+ if (found === void 0) return void 0;
90
+ await lane_ledger_write.record_unplanned_notice({ issue: found.issue, files: [...found.files] });
91
+ return found.text;
92
+ }
93
+ async function show() {
94
+ const text = await notice();
95
+ if (text !== void 0) console.info(text);
96
+ }
97
+ var check_related_unplanned = { notice, read_unplanned, show };
98
+
99
+ // scripts/run/review/run-review-pinned.ts
100
+ var UNPINNED_OK_FLAG = "--unpinned-ok";
101
+ var OK_ARGUMENT_COUNT = 2;
102
+ var STOP_NOTE = 'Pin each unpinned place with a test that turns red without it, then re-run `pnpm josh run:review`; for a change no test can pin, leave the tree as it is and pass the reason with `pnpm josh run:review --unpinned-ok "<reason>"` \u2014 on this tree and a green gate it judges this answer (or, cut at its first unpinned place, checks the whole change) and re-runs neither the gate nor the pair (`pnpm josh ship --review` forwards it).';
103
+ function ok_reason_of(argv) {
104
+ const [flag, reason = ""] = argv;
105
+ if (flag !== UNPINNED_OK_FLAG || argv.length !== OK_ARGUMENT_COUNT) return void 0;
106
+ return reason.trim() === "" ? void 0 : reason;
107
+ }
108
+ function verdict_of(summary, reason) {
109
+ const { report_text } = test_pinned_logic;
110
+ if (summary.unpinned.length === 0) {
111
+ return summary.is_unchecked === true ? { kind: "unchecked", text: report_text(summary, test_pinned_record.UNCHECKED_NOTE) } : { kind: "clear", text: report_text(summary) };
112
+ }
113
+ if (reason === void 0) return { kind: "stop", text: report_text(summary, `${STOP_NOTE}
114
+ `) };
115
+ const note = `Unpinned accepted by the implementer: ${reason}
116
+ `;
117
+ return { kind: "accepted", text: report_text(summary, note) };
118
+ }
119
+ var run_review_pinned = { STOP_NOTE, UNPINNED_OK_FLAG, ok_reason_of, verdict_of };
120
+
121
+ // scripts/run/review/run-review-pinned-accepted.ts
122
+ import path from "node:path";
123
+ var RECORD_NAME = "josh-unpinned-ok.json";
124
+ var RECORDED_NOTE = "Unpinned accepted by an earlier run on this branch: ";
125
+ async function record_path() {
126
+ const [git_directory] = await git_command.git_directories();
127
+ return git_directory === void 0 ? void 0 : path.join(git_directory, RECORD_NAME);
128
+ }
129
+ async function write(reason, unpinned) {
130
+ const target = await record_path();
131
+ if (target === void 0) return;
132
+ stamp_file.replace_stamp(target, { branch: await git_command.branch(), reason, unpinned });
133
+ }
134
+ function to_accepted(record) {
135
+ const { branch, reason, unpinned } = record;
136
+ if (typeof branch !== "string" || typeof reason !== "string") return void 0;
137
+ return test_pinned_record.is_text_list(unpinned) ? { branch, reason, unpinned } : void 0;
138
+ }
139
+ function read_record(target) {
140
+ const raw = target === void 0 ? void 0 : stamp_file.read_stamp_text(target);
141
+ const record = raw === void 0 ? void 0 : test_pinned_record.parsed(raw);
142
+ return record === void 0 ? void 0 : to_accepted(record);
143
+ }
144
+ async function recorded() {
145
+ const accepted = read_record(await record_path());
146
+ return accepted?.branch === await git_command.branch() ? accepted : void 0;
147
+ }
148
+ function covering_reason(accepted, unpinned) {
149
+ const known = new Set(accepted?.unpinned);
150
+ return unpinned.every((site) => known.has(site)) ? accepted?.reason : void 0;
151
+ }
152
+ async function remember(reason, unpinned) {
153
+ try {
154
+ await write(reason, unpinned);
155
+ } catch (error) {
156
+ error_text.trace_swallowed("run_review_pinned_accepted.remember", error);
157
+ }
158
+ }
159
+ async function keep_reason(reason) {
160
+ try {
161
+ const accepted = await recorded();
162
+ await write(reason, accepted?.unpinned ?? []);
163
+ } catch (error) {
164
+ error_text.trace_swallowed("run_review_pinned_accepted.keep_reason", error);
165
+ }
166
+ }
167
+ async function earlier_reason(unpinned) {
168
+ try {
169
+ return covering_reason(await recorded(), unpinned);
170
+ } catch (error) {
171
+ error_text.trace_swallowed("run_review_pinned_accepted.earlier_reason", error);
172
+ return void 0;
173
+ }
174
+ }
175
+ async function recorded_reason() {
176
+ try {
177
+ const accepted = await recorded();
178
+ return accepted?.reason;
179
+ } catch (error) {
180
+ error_text.trace_swallowed("run_review_pinned_accepted.recorded_reason", error);
181
+ return void 0;
182
+ }
183
+ }
184
+ async function judge(summary, reason) {
185
+ if (summary.unpinned.length === 0) return run_review_pinned.verdict_of(summary, reason);
186
+ if (reason !== void 0) {
187
+ await remember(reason, summary.unpinned);
188
+ return run_review_pinned.verdict_of(summary, reason);
189
+ }
190
+ const earlier = summary.is_cut === true ? void 0 : await earlier_reason(summary.unpinned);
191
+ if (earlier === void 0) return run_review_pinned.verdict_of(summary, void 0);
192
+ const note = `${RECORDED_NOTE}${earlier}
193
+ `;
194
+ return { kind: "accepted", text: test_pinned_logic.report_text(summary, note) };
195
+ }
196
+ var run_review_pinned_accepted = { RECORD_NAME, judge, keep_reason, recorded_reason };
197
+
198
+ // scripts/run/review/run-review.ts
199
+ var ADOPT = "adopt";
200
+ var BLOCKED = "blocked";
201
+ function adopt_verdict(is_gate_green) {
202
+ return is_gate_green ? ADOPT : BLOCKED;
203
+ }
204
+ var GATE_GREEN = "green";
205
+ var GATE_RUNNING = "running";
206
+ var GATE_RED = "red";
207
+ var GATE_MOVED = "moved";
208
+ function gate_state(is_green, is_running, is_moved = false) {
209
+ if (is_green) return GATE_GREEN;
210
+ if (is_running) return GATE_RUNNING;
211
+ if (is_moved) return GATE_MOVED;
212
+ return GATE_RED;
213
+ }
214
+ var MOVED_EXIT_CODE = 2;
215
+ var UNPINNED_EXIT_CODE = 3;
216
+ var CODE_ONLY_FLAG = "--code-only";
217
+ function is_gate_settled(state) {
218
+ return state !== GATE_RUNNING;
219
+ }
220
+ var SECONDS_DECIMALS = 1;
221
+ var NO_OVERLAP = 0;
222
+ function format_seconds(seconds) {
223
+ return `${seconds.toFixed(SECONDS_DECIMALS)}s`;
224
+ }
225
+ function span_seconds(from, to) {
226
+ return Math.max(NO_OVERLAP, (Date.parse(to) - Date.parse(from)) / MS_PER_SECOND);
227
+ }
228
+ function overlap_seconds(timing) {
229
+ const start2 = Math.max(Date.parse(timing.gate_started_at), Date.parse(timing.review_started_at));
230
+ const end = Math.min(Date.parse(timing.gate_ended_at), Date.parse(timing.review_ended_at));
231
+ return Math.max(NO_OVERLAP, (end - start2) / MS_PER_SECOND);
232
+ }
233
+ function format_timing(timing) {
234
+ const gate = span_seconds(timing.gate_started_at, timing.gate_ended_at);
235
+ const review = span_seconds(timing.review_started_at, timing.review_ended_at);
236
+ return [
237
+ `gate: ${timing.gate_started_at} \u2192 ${timing.gate_ended_at} (${format_seconds(gate)})`,
238
+ `review: ${timing.review_started_at} \u2192 ${timing.review_ended_at} (${format_seconds(review)})`,
239
+ `overlap: ${format_seconds(overlap_seconds(timing))}`
240
+ ].join("\n");
241
+ }
242
+ var run_review = {
243
+ ADOPT,
244
+ BLOCKED,
245
+ CODE_ONLY_FLAG,
246
+ GATE_GREEN,
247
+ GATE_MOVED,
248
+ GATE_RED,
249
+ GATE_RUNNING,
250
+ MOVED_EXIT_CODE,
251
+ UNPINNED_EXIT_CODE,
252
+ adopt_verdict,
253
+ format_timing,
254
+ gate_state,
255
+ is_gate_settled,
256
+ overlap_seconds
257
+ };
258
+
259
+ // scripts/run/review/run-review-steps.ts
260
+ import { setTimeout as sleep } from "node:timers/promises";
261
+ var PNPM = "pnpm";
262
+ var DIRECTORY_FLAG = "--dir";
263
+ var JOSH_SCRIPT = "josh";
264
+ var GATE_LOG_PREFIX = "josh-run-review-gate-log-";
265
+ var TIMING_PREFIX = "josh-run-review-timing-";
266
+ var START_TREE_PREFIX = "josh-run-review-start-tree-";
267
+ var start_tree_stamp = file_map_stamp.create(START_TREE_PREFIX, PROJECT_ROOT);
268
+ var POLL_INTERVAL_MS = 1e3;
269
+ var MAX_JOIN_WAIT_MS = 6e5;
270
+ var MAX_OPEN_WAIT_MS = 42e4;
271
+ function gate_log_path(root = PROJECT_ROOT) {
272
+ return stamp_file.stamp_path(GATE_LOG_PREFIX, root);
273
+ }
274
+ function timing_path(target = PROJECT_ROOT) {
275
+ return stamp_file.stamp_path(TIMING_PREFIX, target);
276
+ }
277
+ function josh_argv(root, josh_args) {
278
+ return {
279
+ command: PNPM,
280
+ args: [DIRECTORY_FLAG, root, JOSH_SCRIPT, ...josh_args]
281
+ };
282
+ }
283
+ function launch_josh(josh_args, log_path2, root = PROJECT_ROOT) {
284
+ return detached_launch.launch(
285
+ {
286
+ argv: josh_argv(root, josh_args),
287
+ cwd: root,
288
+ log_path: log_path2,
289
+ env: {
290
+ ...git_location_environment.location_free_environment(),
291
+ ...core_priority.UNMARKED_ENVIRONMENT
292
+ }
293
+ },
294
+ (note) => process.stderr.write(`${note}
295
+ `)
296
+ );
297
+ }
298
+ function launch_gate(root = PROJECT_ROOT) {
299
+ return launch_josh([GATE_COMMAND], gate_log_path(root), root);
300
+ }
301
+ function to_timing(value) {
302
+ if (typeof value !== "object" || value === null) return void 0;
303
+ const { gate_started_at, review_started_at } = value;
304
+ if (typeof gate_started_at !== "string" || typeof review_started_at !== "string") return void 0;
305
+ return { gate_started_at, review_started_at };
306
+ }
307
+ function read_timing_start(target = PROJECT_ROOT) {
308
+ const raw = stamp_file.read_stamp_text(timing_path(target));
309
+ if (raw === void 0) return void 0;
310
+ try {
311
+ return to_timing(JSON.parse(raw));
312
+ } catch {
313
+ return void 0;
314
+ }
315
+ }
316
+ function is_green_on_start_tree(base) {
317
+ const start2 = start_tree_stamp.read();
318
+ if (start2 === void 0) return false;
319
+ return gate_skip.reusable_green_gate(start2.files, base) !== void 0;
320
+ }
321
+ async function read_gate_state() {
322
+ const is_running = file_map_stamp.is_writer_running(review_stamps.in_flight_stamp.read());
323
+ const tree = await gate_tree.read_gate_tree();
324
+ const is_green = gate_skip.reusable_green_gate(tree.files, tree.base) !== void 0;
325
+ return run_review.gate_state(is_green, is_running, is_green_on_start_tree(tree.base));
326
+ }
327
+ async function mark_gate_starting() {
328
+ const tree = await review_tree.read_changed_tree();
329
+ review_stamps.in_flight_stamp.write(tree);
330
+ start_tree_stamp.write(tree);
331
+ }
332
+ async function wait_for_gate_finish(max_wait_ms = MAX_JOIN_WAIT_MS, now = () => Date.now()) {
333
+ const started = now();
334
+ let state = await read_gate_state();
335
+ await poll.poll_until(() => run_review.is_gate_settled(state) || now() - started >= max_wait_ms, {
336
+ attempts: Infinity,
337
+ interval_ms: POLL_INTERVAL_MS,
338
+ sleeper: async (milliseconds) => {
339
+ await sleep(milliseconds);
340
+ state = await read_gate_state();
341
+ }
342
+ });
343
+ return state;
344
+ }
345
+ function read_gate_log(root = PROJECT_ROOT) {
346
+ return stamp_file.read_stamp_text(gate_log_path(root));
347
+ }
348
+ function write_timing_start(start2, target = PROJECT_ROOT) {
349
+ stamp_file.write_stamp(timing_path(target), start2);
350
+ }
351
+ function complete_timing(ended, target = PROJECT_ROOT) {
352
+ const start2 = read_timing_start(target);
353
+ if (start2 === void 0) return void 0;
354
+ return { ...start2, ...ended };
355
+ }
356
+ var run_review_steps = {
357
+ MAX_JOIN_WAIT_MS,
358
+ MAX_OPEN_WAIT_MS,
359
+ POLL_INTERVAL_MS,
360
+ complete_timing,
361
+ gate_log_path,
362
+ launch_gate,
363
+ launch_josh,
364
+ mark_gate_starting,
365
+ read_gate_log,
366
+ read_gate_state,
367
+ read_timing_start,
368
+ start_tree_stamp,
369
+ timing_path,
370
+ wait_for_gate_finish,
371
+ write_timing_start
372
+ };
373
+
374
+ // scripts/run/review/run-review-pinned-steps.ts
375
+ import { randomUUID } from "node:crypto";
376
+ import { setTimeout as sleep2 } from "node:timers/promises";
377
+ var PINNED_COMMAND = "test:pinned";
378
+ var REMAINING_ORIGIN = "pre-detach";
379
+ var LAUNCH_PREFIX = "josh-run-review-pinned-launch-";
380
+ var LOG_PREFIX = "josh-run-review-pinned-log-";
381
+ var MS_PER_SECOND2 = 1e3;
382
+ var LOST_NOTE = "its process ended without an answer";
383
+ var STOP_SIGNAL = "SIGTERM";
384
+ var GRACE_MS = 12e4;
385
+ var READ_COMMAND = "pnpm josh run:review --pinned";
386
+ var STILL_RUNNING_NOTE = `it is still running on this tree; wait for its answer with \`${READ_COMMAND}\` (a lane child: the ship's pre-detach reads it)`;
387
+ var TIMED_OUT_NOTE = `no answer within ${String(GRACE_MS / MS_PER_SECOND2)}s of the gate and the review`;
388
+ var QUEUED_NOTE = "it was still waiting for cores when the gate and the review ended";
389
+ var FIXING_NOTE = "round 1 has fixes to make \u2014 it is left running, and the round's `josh review:record` starts it again on the fixed tree for the ship's pre-detach to read";
390
+ var ALONE_GRACE_MS = 9e5;
391
+ var ALONE_TIMED_OUT_NOTE = `no answer within ${String(ALONE_GRACE_MS / MS_PER_SECOND2)}s of the read`;
392
+ function launch_path(root = PROJECT_ROOT) {
393
+ return stamp_file.stamp_path(LAUNCH_PREFIX, root);
394
+ }
395
+ function log_path(root = PROJECT_ROOT) {
396
+ return stamp_file.stamp_path(LOG_PREFIX, root, ".log");
397
+ }
398
+ function launch_with({ root, token, argv, origin, reason, tree }) {
399
+ const launched = run_review_steps.launch_josh(argv, log_path(root), root);
400
+ if (launched.kind === "launched") {
401
+ const { pid } = launched;
402
+ stamp_file.write_stamp(launch_path(root), {
403
+ pid,
404
+ token,
405
+ reason,
406
+ start: process_identity.read_start(pid),
407
+ tree,
408
+ launched_at: Date.now(),
409
+ origin
410
+ });
411
+ }
412
+ return launched;
413
+ }
414
+ function launch(root = PROJECT_ROOT, reason, tree) {
415
+ const token = randomUUID();
416
+ const origin = test_pinned_ledger.BACKGROUND_ORIGIN;
417
+ const argv = test_pinned_record.launch_argv(token, reason, origin);
418
+ return launch_with({ root, token, argv, origin, reason, tree });
419
+ }
420
+ function launch_remaining(root = PROJECT_ROOT, tree) {
421
+ const token = randomUUID();
422
+ const origin = REMAINING_ORIGIN;
423
+ const argv = test_pinned_record.launch_argv(token, void 0, origin, true);
424
+ return launch_with({ root, token, argv, origin, tree });
425
+ }
426
+ function optional_text(value) {
427
+ return typeof value === "string" ? value : void 0;
428
+ }
429
+ function origin_of(value) {
430
+ return typeof value === "string" ? test_pinned_ledger.origin_of(value) : void 0;
431
+ }
432
+ function to_launch(value) {
433
+ const { pid, token, reason, start: start2, tree, launched_at, origin } = value;
434
+ if (typeof pid !== "number" || typeof token !== "string") return void 0;
435
+ return {
436
+ pid,
437
+ token,
438
+ reason: optional_text(reason),
439
+ start: optional_text(start2),
440
+ tree: optional_text(tree),
441
+ launched_at: typeof launched_at === "number" ? launched_at : void 0,
442
+ origin: origin_of(origin)
443
+ };
444
+ }
445
+ function read_launch(root) {
446
+ const raw = stamp_file.read_stamp_text(launch_path(root));
447
+ if (raw === void 0) return void 0;
448
+ try {
449
+ return to_launch(JSON.parse(raw));
450
+ } catch {
451
+ return void 0;
452
+ }
453
+ }
454
+ function read_answer(root, { pid, token, start: start2 }) {
455
+ const summary = test_pinned_record.read(token, root);
456
+ if (summary !== void 0) return summary;
457
+ if (process_identity.is_same_process(pid, start2) !== false) return void 0;
458
+ return test_pinned_record.read(token, root) ?? test_pinned_record.not_run_summary(new Error(LOST_NOTE));
459
+ }
460
+ function signal_group(pid) {
461
+ try {
462
+ process.kill(-pid, STOP_SIGNAL);
463
+ } catch {
464
+ }
465
+ }
466
+ function discard(launched) {
467
+ signal_group(launched.pid);
468
+ if (launched.launched_at === void 0) return;
469
+ void test_pinned_ledger.record_discarded(Date.now() - launched.launched_at, launched.origin);
470
+ }
471
+ function stop_last(launched) {
472
+ if (process_identity.is_same_process(launched.pid, launched.start) === true) discard(launched);
473
+ }
474
+ function stop_current(launched) {
475
+ if (process_identity.is_same_process(launched.pid, launched.start) !== false) discard(launched);
476
+ }
477
+ function clear(root = PROJECT_ROOT) {
478
+ const last = read_launch(root);
479
+ if (last !== void 0) {
480
+ stop_last(last);
481
+ test_pinned_record.clear(last.token, root);
482
+ }
483
+ stamp_file.remove_stamp(launch_path(root));
484
+ }
485
+ function is_queued(root) {
486
+ return core_budget.live_reservations().some(
487
+ ({ reservation }) => reservation.command === PINNED_COMMAND && reservation.checkout === root && reservation.admitted_at === void 0
488
+ );
489
+ }
490
+ function stopped(launched, note) {
491
+ stop_current(launched);
492
+ return test_pinned_record.not_run_summary(new Error(note));
493
+ }
494
+ async function poll_within_grace(root, launched, now, grace_ms = GRACE_MS) {
495
+ const started = now();
496
+ let summary = read_answer(root, launched);
497
+ await poll.poll_until(() => summary !== void 0 || now() - started >= grace_ms, {
498
+ attempts: Infinity,
499
+ interval_ms: run_review_steps.POLL_INTERVAL_MS,
500
+ sleeper: async (milliseconds) => {
501
+ await sleep2(milliseconds);
502
+ summary = read_answer(root, launched);
503
+ }
504
+ });
505
+ return summary;
506
+ }
507
+ function given_up(launched, note, is_left_running) {
508
+ if (!is_left_running) return stopped(launched, note);
509
+ return test_pinned_record.not_run_summary(new Error(`${note} \u2014 ${STILL_RUNNING_NOTE}`));
510
+ }
511
+ async function poll_answer(root, launched, now, is_left_running) {
512
+ const summary = read_answer(root, launched);
513
+ if (summary !== void 0) return summary;
514
+ if (is_queued(root)) return given_up(launched, QUEUED_NOTE, is_left_running);
515
+ const late = await poll_within_grace(root, launched, now);
516
+ return late ?? given_up(launched, TIMED_OUT_NOTE, is_left_running);
517
+ }
518
+ function launched_reason(root = PROJECT_ROOT) {
519
+ return read_launch(root)?.reason;
520
+ }
521
+ function carry_reason(reason, root = PROJECT_ROOT) {
522
+ const launched = read_launch(root);
523
+ if (launched !== void 0) stamp_file.write_stamp(launch_path(root), { ...launched, reason });
524
+ }
525
+ function launched_tree(root = PROJECT_ROOT) {
526
+ return read_launch(root)?.tree;
527
+ }
528
+ function is_remaining(root = PROJECT_ROOT) {
529
+ return read_launch(root)?.origin === REMAINING_ORIGIN;
530
+ }
531
+ async function wait_for_answer(root = PROJECT_ROOT, now = () => Date.now(), is_left_running = true) {
532
+ const launched = read_launch(root);
533
+ if (launched === void 0) return void 0;
534
+ return await poll_answer(root, launched, now, is_left_running);
535
+ }
536
+ function answer_now(root = PROJECT_ROOT, pending_note = FIXING_NOTE) {
537
+ const launched = read_launch(root);
538
+ if (launched === void 0) return void 0;
539
+ return read_answer(root, launched) ?? test_pinned_record.not_run_summary(new Error(pending_note));
540
+ }
541
+ function is_answered(root = PROJECT_ROOT) {
542
+ const launched = read_launch(root);
543
+ return launched !== void 0 && test_pinned_record.read(launched.token, root) !== void 0;
544
+ }
545
+ function is_pending(root = PROJECT_ROOT) {
546
+ const launched = read_launch(root);
547
+ return launched !== void 0 && read_answer(root, launched) === void 0;
548
+ }
549
+ function is_live(root = PROJECT_ROOT) {
550
+ const launched = read_launch(root);
551
+ return launched !== void 0 && process_identity.is_same_process(launched.pid, launched.start) === true;
552
+ }
553
+ async function wait_alone(root = PROJECT_ROOT, now = () => Date.now()) {
554
+ const launched = read_launch(root);
555
+ if (launched === void 0) return void 0;
556
+ const summary = await poll_within_grace(root, launched, now, ALONE_GRACE_MS);
557
+ return summary ?? stopped(launched, ALONE_TIMED_OUT_NOTE);
558
+ }
559
+ var run_review_pinned_steps = {
560
+ FIXING_NOTE,
561
+ answer_now,
562
+ carry_reason,
563
+ clear,
564
+ is_answered,
565
+ is_live,
566
+ is_pending,
567
+ is_remaining,
568
+ launch,
569
+ launch_remaining,
570
+ launched_reason,
571
+ launched_tree,
572
+ log_path,
573
+ wait_alone,
574
+ wait_for_answer
575
+ };
576
+
577
+ // scripts/run/review/run-review-pinned-tree.ts
578
+ import { createHash } from "node:crypto";
579
+ function digest_of({ files, base }) {
580
+ const entries = Object.entries(files);
581
+ if (base === void 0 || entries.length === 0) return void 0;
582
+ const code = entries.filter(([file]) => !run_record_path.is_run_record(file)).toSorted(([left], [right]) => left.localeCompare(right));
583
+ return createHash("sha256").update(JSON.stringify([base, code])).digest("hex");
584
+ }
585
+ async function key() {
586
+ return digest_of(await gate_tree.read_gate_tree());
587
+ }
588
+ var run_review_pinned_tree = { digest_of, key };
589
+
590
+ // scripts/run/review/run-review-pinned-join.ts
591
+ import { setTimeout as sleep3 } from "node:timers/promises";
592
+ var PENDING_NOTE = "`josh test:pinned` is still running; the hunks below are unpinned by the verdicts it already reached; the round is not stopped on them:";
593
+ var RESTARTED_NOTE = "started again on the moved tree \u2014 it is left running for the ship's pre-detach to read";
594
+ async function moved_tree(root) {
595
+ const launched = run_review_pinned_steps.launched_tree(root);
596
+ if (launched === void 0) return void 0;
597
+ const current = await run_review_pinned_tree.key();
598
+ return current === launched ? void 0 : current;
599
+ }
600
+ function restart(root, tree) {
601
+ const reason = run_review_pinned_steps.launched_reason(root);
602
+ run_review_pinned_steps.clear(root);
603
+ return run_review_pinned_steps.launch(root, reason, tree).kind === "launched";
604
+ }
605
+ async function restart_if_moved(root = PROJECT_ROOT) {
606
+ const tree = await moved_tree(root);
607
+ return tree !== void 0 && restart(root, tree);
608
+ }
609
+ async function is_restarted(root) {
610
+ try {
611
+ return await restart_if_moved(root);
612
+ } catch (error) {
613
+ error_text.trace_swallowed("run_review_pinned_join.is_restarted", error);
614
+ return false;
615
+ }
616
+ }
617
+ async function cached_summary() {
618
+ try {
619
+ const report = await test_pinned.cached(test_pinned_logic.DEFAULT_MAX_HUNKS);
620
+ return report.unpinned.length === 0 && !test_pinned_logic.has_unchecked(report) ? void 0 : test_pinned_record.partial_summary(report, PENDING_NOTE);
621
+ } catch (error) {
622
+ error_text.trace_swallowed("run_review_pinned_join.cached_summary", error);
623
+ return void 0;
624
+ }
625
+ }
626
+ async function fixing_answer(root, note) {
627
+ const cached = run_review_pinned_steps.is_pending(root) ? await cached_summary() : void 0;
628
+ return cached ?? run_review_pinned_steps.answer_now(root, note);
629
+ }
630
+ async function graceless_note(root, is_fixing) {
631
+ const is_fresh = await is_restarted(root);
632
+ if (is_fixing) return run_review_pinned_steps.FIXING_NOTE;
633
+ return is_fresh ? RESTARTED_NOTE : void 0;
634
+ }
635
+ async function wait_for_join(root = PROJECT_ROOT, now, is_fixing = false) {
636
+ if (run_ship_detach.is_supervised()) {
637
+ return await run_review_pinned_steps.wait_for_answer(root, now, false);
638
+ }
639
+ const note = await graceless_note(root, is_fixing);
640
+ return note === void 0 ? await run_review_pinned_steps.wait_for_answer(root, now) : await fixing_answer(root, note);
641
+ }
642
+ async function is_launched_on_current_tree(root) {
643
+ const launched = run_review_pinned_steps.launched_tree(root);
644
+ if (launched === void 0) return false;
645
+ try {
646
+ return launched === await run_review_pinned_tree.key();
647
+ } catch (error) {
648
+ error_text.trace_swallowed("run_review_pinned_join.is_launched_on_current_tree", error);
649
+ return false;
650
+ }
651
+ }
652
+ async function waited_answer(root) {
653
+ const summary = await run_review_pinned_steps.wait_alone(root);
654
+ return run_review_pinned_steps.is_answered(root) ? summary : void 0;
655
+ }
656
+ async function settle_elsewhere(root) {
657
+ if (run_review_pinned_steps.is_live(root)) await run_review_pinned_steps.wait_alone(root);
658
+ run_review_pinned_steps.clear(root);
659
+ }
660
+ async function answer_on_tree(root = PROJECT_ROOT) {
661
+ if (await is_launched_on_current_tree(root)) return await waited_answer(root);
662
+ await settle_elsewhere(root);
663
+ return void 0;
664
+ }
665
+ async function finished_on_tree(root = PROJECT_ROOT) {
666
+ if (!run_review_pinned_steps.is_answered(root)) return void 0;
667
+ return await is_launched_on_current_tree(root) ? run_review_pinned_steps.answer_now(root) : void 0;
668
+ }
669
+ async function poll_pause() {
670
+ await sleep3(run_review_steps.POLL_INTERVAL_MS);
671
+ }
672
+ function is_ended(root) {
673
+ return run_review_pinned_steps.is_answered(root) || !run_review_pinned_steps.is_live(root);
674
+ }
675
+ async function is_coming_on_tree(root) {
676
+ return !is_ended(root) && await is_launched_on_current_tree(root);
677
+ }
678
+ async function wait_on_tree(root, is_within, pause) {
679
+ await poll.poll_until(async () => !is_within() || !await is_coming_on_tree(root), {
680
+ attempts: Infinity,
681
+ interval_ms: run_review_steps.POLL_INTERVAL_MS,
682
+ sleeper: pause
683
+ });
684
+ }
685
+ async function settled_on_tree(root, grace_ms, now = () => Date.now(), pause = poll_pause) {
686
+ const started = now();
687
+ await wait_on_tree(root, () => now() - started < grace_ms, pause);
688
+ return await finished_on_tree(root);
689
+ }
690
+ var run_review_pinned_join = {
691
+ answer_on_tree,
692
+ finished_on_tree,
693
+ restart_if_moved,
694
+ settled_on_tree,
695
+ wait_for_join
696
+ };
697
+
698
+ // scripts/run/review/run-review-pinned-remaining.ts
699
+ var MOVED_NOTE = "the tree moved while collecting remaining verdicts";
700
+ async function is_current(tree) {
701
+ return tree !== void 0 && tree === await run_review_pinned_tree.key();
702
+ }
703
+ async function start(root = PROJECT_ROOT) {
704
+ try {
705
+ const tree = await run_review_pinned_tree.key();
706
+ if (tree === void 0) return { kind: "failed", note: "could not read the current tree" };
707
+ run_review_pinned_steps.clear(root);
708
+ return run_review_pinned_steps.launch_remaining(root, tree);
709
+ } catch (error) {
710
+ error_text.trace_swallowed("run_review_pinned_remaining.start", error);
711
+ return { kind: "failed", note: String(error) };
712
+ }
713
+ }
714
+ function is_failed(summary) {
715
+ return summary?.counts === void 0 && summary?.is_unchecked === true;
716
+ }
717
+ async function recover_failed(summary, root) {
718
+ try {
719
+ const report = await test_pinned.cached(test_pinned_logic.DEFAULT_MAX_HUNKS);
720
+ if (report.is_stale === true || report.unpinned.length === 0) return summary;
721
+ const known = test_pinned_record.summary_of(report, root);
722
+ return { ...known, is_cut: true, is_unchecked: true, text: `${known.text}${summary.text}` };
723
+ } catch (error) {
724
+ error_text.trace_swallowed("run_review_pinned_remaining.recover_failed", error);
725
+ return summary;
726
+ }
727
+ }
728
+ async function current_answer(root) {
729
+ const summary = await run_review_pinned_steps.wait_alone(root);
730
+ const tree = await run_review_pinned_tree.key();
731
+ if (tree === void 0 || run_review_pinned_steps.launched_tree(root) !== tree) {
732
+ return test_pinned_record.not_run_summary(MOVED_NOTE);
733
+ }
734
+ const answer = is_failed(summary) ? await recover_failed(summary, root) : summary;
735
+ return await is_current(tree) ? answer : test_pinned_record.not_run_summary(MOVED_NOTE);
736
+ }
737
+ async function relaunched_answer(root) {
738
+ const launched = await start(root);
739
+ return launched.kind === "launched" ? await current_answer(root) : test_pinned_record.not_run_summary(launched.note);
740
+ }
741
+ async function read(root = PROJECT_ROOT) {
742
+ if (!run_review_pinned_steps.is_remaining(root)) return void 0;
743
+ if (run_review_pinned_steps.launched_tree(root) === await run_review_pinned_tree.key()) {
744
+ return await current_answer(root);
745
+ }
746
+ return await run_review_pinned_join.answer_on_tree(root) ?? await relaunched_answer(root);
747
+ }
748
+ function incomplete(summary) {
749
+ return {
750
+ ...summary,
751
+ text: `${summary.text}Remaining probe incomplete: no current-tree answer
752
+ `
753
+ };
754
+ }
755
+ function collected(summary, answer) {
756
+ if (answer === void 0) return incomplete(summary);
757
+ return answer.counts === void 0 && answer.is_unchecked === true ? { ...summary, text: `${summary.text}${answer.text}` } : answer;
758
+ }
759
+ function is_collectable(summary, root) {
760
+ return summary.is_cut === true && run_review_pinned_steps.launched_reason(root) === void 0;
761
+ }
762
+ async function collect_current(summary, root) {
763
+ const tree = await run_review_pinned_tree.key();
764
+ const answer = await read(root) ?? await relaunched_answer(root);
765
+ return await is_current(tree) ? collected(summary, answer) : test_pinned_record.not_run_summary(MOVED_NOTE);
766
+ }
767
+ async function collect(summary, root = PROJECT_ROOT) {
768
+ return summary !== void 0 && is_collectable(summary, root) ? await collect_current(summary, root) : summary;
769
+ }
770
+ var run_review_pinned_remaining = { collect, read, start };
771
+
772
+ // scripts/run/review/run-review-join-read.ts
773
+ var DUE_PREFIX = "josh-run-review-join-due-";
774
+ function due_path(root) {
775
+ return stamp_file.stamp_path(DUE_PREFIX, root);
776
+ }
777
+ function mark_due(root = PROJECT_ROOT) {
778
+ try {
779
+ stamp_file.replace_stamp(due_path(root), { due: true });
780
+ } catch (error) {
781
+ error_text.trace_swallowed("run_review_join_read.mark_due", error);
782
+ }
783
+ }
784
+ function is_due(root = PROJECT_ROOT) {
785
+ return stamp_file.read_stamp_text(due_path(root)) !== void 0;
786
+ }
787
+ async function verdict(wait) {
788
+ const summary = await wait();
789
+ if (summary === void 0) return void 0;
790
+ if (summary.is_partial === true) {
791
+ return { summary, is_stop: false, text: test_pinned_logic.report_text(summary) };
792
+ }
793
+ const judged = await run_review_pinned_accepted.judge(
794
+ summary,
795
+ run_review_pinned_steps.launched_reason()
796
+ );
797
+ return { summary, is_stop: judged.kind === "stop", text: judged.text };
798
+ }
799
+ async function read_with(wait, root = PROJECT_ROOT) {
800
+ stamp_file.remove_stamp(due_path(root));
801
+ return await verdict(wait);
802
+ }
803
+ async function read2(root = PROJECT_ROOT, is_fixing = false) {
804
+ return await read_with(
805
+ async () => await run_review_pinned_remaining.collect(
806
+ await run_review_pinned_join.wait_for_join(root, void 0, is_fixing),
807
+ root
808
+ ),
809
+ root
810
+ );
811
+ }
812
+ async function read_finished(root = PROJECT_ROOT) {
813
+ return await read_with(
814
+ async () => await run_review_pinned_remaining.read(root) ?? await run_review_pinned_remaining.collect(
815
+ await run_review_pinned_join.finished_on_tree(root),
816
+ root
817
+ ),
818
+ root
819
+ );
820
+ }
821
+ async function read_remaining() {
822
+ return await read_with(
823
+ async () => await run_review_pinned_remaining.read() ?? await run_review_pinned_remaining.collect(await run_review_pinned_steps.wait_alone())
824
+ );
825
+ }
826
+ var run_review_join_read = {
827
+ is_due,
828
+ mark_due,
829
+ read: read2,
830
+ read_finished,
831
+ read_remaining,
832
+ read_with,
833
+ verdict
834
+ };
835
+
836
+ // scripts/review/review-record-pinned.ts
837
+ function started_line() {
838
+ return `test:pinned restarted in the background on the tree this round's fixes moved. Where it names unpinned places, the ship's pre-detach stops on them: pin each with a test that turns red without it, or ship with \`--unpinned-ok "<reason>"\`.`;
839
+ }
840
+ async function restart_if_moved2(root = PROJECT_ROOT) {
841
+ try {
842
+ const is_started = await run_review_pinned_join.restart_if_moved(root);
843
+ if (is_started) console.info(started_line());
844
+ return is_started;
845
+ } catch (error) {
846
+ error_text.trace_swallowed("review_record_pinned.restart_if_moved", error);
847
+ return false;
848
+ }
849
+ }
850
+ var CHOICE_LINE = 'Unpinned before the ship: pin each place above with a test that turns red without it, or ship with `--unpinned-ok "<reason>"`.\n';
851
+ function show_stop(joined) {
852
+ if (joined === void 0) return;
853
+ const text = joined.is_stop ? test_pinned_logic.report_text(joined.summary, CHOICE_LINE) : joined.text;
854
+ if (joined.is_stop || [joined.summary.is_unchecked, joined.summary.is_partial].includes(true)) {
855
+ console.info(text.trimEnd());
856
+ }
857
+ }
858
+ async function read_skipped_join(root = PROJECT_ROOT) {
859
+ try {
860
+ if (run_review_join_read.is_due(root) || run_review_pinned_steps.is_remaining(root)) {
861
+ show_stop(await run_review_join_read.read_finished(root));
862
+ }
863
+ } catch (error) {
864
+ error_text.trace_swallowed("review_record_pinned.read_skipped_join", error);
865
+ }
866
+ await check_related_unplanned.show();
867
+ }
868
+ async function is_round_recorded(root) {
869
+ const issue = lane_child_marker.marked_issue();
870
+ if (issue === void 0) return false;
871
+ const content = await observation_ledger_home.read(root);
872
+ return content !== void 0 && review_finding_ledger.has_issue_record(content, Number(issue));
873
+ }
874
+ async function is_restartable_before_record(root) {
875
+ if (!lane_child_marker.is_child_of(root) || run_ship_detach.is_supervised()) return false;
876
+ return !await is_round_recorded(root);
877
+ }
878
+ async function restart_in_lane(root = PROJECT_ROOT) {
879
+ try {
880
+ return await is_restartable_before_record(root) && await restart_if_moved2(root);
881
+ } catch (error) {
882
+ error_text.trace_swallowed("review_record_pinned.restart_in_lane", error);
883
+ return false;
884
+ }
885
+ }
886
+ var review_record_pinned = {
887
+ CHOICE_LINE,
888
+ read_skipped_join,
889
+ restart_if_moved: restart_if_moved2,
890
+ restart_in_lane,
891
+ started_line
892
+ };
893
+
894
+ export {
895
+ check_related_unplanned,
896
+ run_review_pinned,
897
+ run_review_pinned_accepted,
898
+ GATE_GREEN,
899
+ run_review,
900
+ run_review_steps,
901
+ run_review_pinned_steps,
902
+ run_review_pinned_tree,
903
+ run_review_pinned_join,
904
+ run_review_pinned_remaining,
905
+ run_review_join_read,
906
+ review_record_pinned
907
+ };