@joshuafolkken/kit 1.3000.0 → 1.3041.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 (684) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/kickoff.md +6 -0
  3. package/dist/.inputs-verified.json +1 -1
  4. package/dist/commands/adopt.js +12 -12
  5. package/dist/commands/auto-ok-judge-cli.js +18 -14
  6. package/dist/commands/auto-ok-main.js +42 -40
  7. package/dist/commands/backlog-budget-main.js +3 -3
  8. package/dist/commands/backlog-drive-cli.js +276 -188
  9. package/dist/commands/backlog-next-main.js +77 -75
  10. package/dist/commands/backlog-offer-main.js +80 -78
  11. package/dist/commands/backlog-plan-cli.js +96 -97
  12. package/dist/commands/backlog-triage-cli.js +94 -92
  13. package/dist/commands/backlogrun-cli.js +212 -206
  14. package/dist/commands/behavior-cli.js +12 -13
  15. package/dist/commands/bump-version-main.js +2 -2
  16. package/dist/commands/bytes-command.js +61 -22
  17. package/dist/commands/check-related.js +61 -60
  18. package/dist/commands/{chunk-X7PN54LZ.js → chunk-22DVQCP6.js} +16 -6
  19. package/dist/commands/{chunk-7GHOFHUS.js → chunk-24ZDAWML.js} +3 -3
  20. package/dist/commands/{chunk-HBNB3TLG.js → chunk-2BB5ZR2F.js} +13 -7
  21. package/dist/commands/{chunk-F22G3VDB.js → chunk-2BC33QPY.js} +1 -1
  22. package/dist/commands/{chunk-72EW7AVI.js → chunk-2BJJUTZA.js} +2 -2
  23. package/dist/commands/{chunk-XDQOWUVT.js → chunk-2CXT6MBR.js} +4 -4
  24. package/dist/commands/{chunk-TVJE67O2.js → chunk-2EZTYLO4.js} +6 -6
  25. package/dist/commands/{chunk-JLYW7CP6.js → chunk-2PHOLX62.js} +1 -1
  26. package/dist/commands/{chunk-6EU5ZCDP.js → chunk-2QM72JCJ.js} +23 -87
  27. package/dist/commands/{chunk-EFHSCUFN.js → chunk-2VFPUPSG.js} +2 -2
  28. package/dist/commands/{chunk-ATRMETHT.js → chunk-2XAH3MHV.js} +1 -1
  29. package/dist/commands/{chunk-T2E724HN.js → chunk-34JJYCIY.js} +2 -2
  30. package/dist/commands/{chunk-REMKUFAC.js → chunk-34KZDKQJ.js} +1 -1
  31. package/dist/commands/{chunk-GK2KY4MO.js → chunk-352KLSFX.js} +3 -3
  32. package/dist/commands/{chunk-7S6VRZOH.js → chunk-3AEDZZNL.js} +5 -5
  33. package/dist/commands/{chunk-KVJDDECB.js → chunk-3B2HEFNO.js} +2 -2
  34. package/dist/commands/{chunk-HZBTXKT2.js → chunk-3Z425MM3.js} +2 -2
  35. package/dist/commands/{chunk-J3G2R64I.js → chunk-3ZOX4G4U.js} +3 -3
  36. package/dist/commands/{chunk-LRS2OS5J.js → chunk-452HWOJ7.js} +2 -2
  37. package/dist/commands/{chunk-HRT4KWP4.js → chunk-475EFIJV.js} +1 -1
  38. package/dist/commands/{chunk-4HBVHYNL.js → chunk-47UZB54M.js} +3 -3
  39. package/dist/commands/{chunk-H4LYG37R.js → chunk-4DN4XVPL.js} +6 -6
  40. package/dist/commands/{chunk-TMLNI3YW.js → chunk-4HERA2GY.js} +1 -1
  41. package/dist/commands/{chunk-W6V4DWC5.js → chunk-4JI35CVO.js} +1 -1
  42. package/dist/commands/{chunk-YT342DRV.js → chunk-4L4LNWZ7.js} +2 -2
  43. package/dist/commands/{chunk-ZZAH3YQP.js → chunk-4N32QKJZ.js} +6 -6
  44. package/dist/commands/{chunk-GDUK5YPO.js → chunk-4NRSFLG7.js} +12 -12
  45. package/dist/commands/{chunk-O5QZ2S6X.js → chunk-4OKRPAUT.js} +4 -4
  46. package/dist/commands/{chunk-QDFDB4CF.js → chunk-4Q64PG46.js} +13 -13
  47. package/dist/commands/{chunk-HO52D6JY.js → chunk-4UDTQVDD.js} +14 -14
  48. package/dist/commands/{chunk-HPVLI26Z.js → chunk-4WR2LEZL.js} +6 -6
  49. package/dist/commands/{chunk-DP7WIGQ4.js → chunk-4ZJOC6OK.js} +4 -4
  50. package/dist/commands/{chunk-WTRDWEUQ.js → chunk-4ZQM4I7R.js} +12 -12
  51. package/dist/commands/{chunk-OTZJXU2R.js → chunk-54X37JEJ.js} +8 -8
  52. package/dist/commands/{chunk-A5V7EWIX.js → chunk-56KW5EOK.js} +2 -2
  53. package/dist/commands/chunk-5CG3XU3O.js +74 -0
  54. package/dist/commands/{chunk-FC33R5UN.js → chunk-5ESZLHDZ.js} +13 -15
  55. package/dist/commands/{chunk-OVA7STGP.js → chunk-5FBRMARM.js} +9 -9
  56. package/dist/commands/{chunk-SK2LJBFS.js → chunk-5PCK53WP.js} +3 -3
  57. package/dist/commands/{chunk-6NV2F7QH.js → chunk-5RG4S66L.js} +1 -1
  58. package/dist/commands/{chunk-JOARHU3M.js → chunk-5UJGACVN.js} +1 -1
  59. package/dist/commands/{chunk-NKOET4FB.js → chunk-5Y7B7FDL.js} +2 -2
  60. package/dist/commands/{chunk-XMBRXCIE.js → chunk-5Z6E5ZUV.js} +4 -4
  61. package/dist/commands/{chunk-RZ4OKKPM.js → chunk-5ZNUH4LV.js} +2 -2
  62. package/dist/commands/{chunk-7CHCZBNF.js → chunk-6CFHLMKM.js} +4 -4
  63. package/dist/commands/{chunk-TXXYC7EV.js → chunk-6DDK5XWK.js} +1 -1
  64. package/dist/commands/{chunk-2TQXCH2K.js → chunk-6GQX752S.js} +3 -3
  65. package/dist/commands/{chunk-RY6ZDHKB.js → chunk-6MAZ55GF.js} +107 -84
  66. package/dist/commands/{chunk-SNFLV7VV.js → chunk-6RUWU2SB.js} +2 -2
  67. package/dist/commands/{chunk-D4SZK7H2.js → chunk-6TIVDEKG.js} +2 -2
  68. package/dist/commands/{chunk-RIQ75QWR.js → chunk-6UCWAFQY.js} +55 -43
  69. package/dist/commands/{chunk-4D5KWMFL.js → chunk-6YURRFRU.js} +19 -19
  70. package/dist/commands/{chunk-7MOZEEFJ.js → chunk-6YVURZAJ.js} +1 -1
  71. package/dist/commands/{chunk-73JOEKIC.js → chunk-6Z4YZG7P.js} +5 -5
  72. package/dist/commands/{chunk-NJ53AWJU.js → chunk-77BIN247.js} +9 -9
  73. package/dist/commands/{chunk-MZHOPRI6.js → chunk-7ABHNNY3.js} +7 -7
  74. package/dist/commands/{chunk-6WTVAL4D.js → chunk-7C7FOKJK.js} +1 -1
  75. package/dist/commands/{chunk-KVSSLDA3.js → chunk-7HAGC6SW.js} +5 -5
  76. package/dist/commands/{chunk-IG22Y5MA.js → chunk-7KKUFLH5.js} +1 -1
  77. package/dist/commands/{chunk-ZQ3CKRMP.js → chunk-7MJYLUF4.js} +2 -2
  78. package/dist/commands/{chunk-6UGFS3EU.js → chunk-7NHZCI5Y.js} +11 -11
  79. package/dist/commands/{chunk-FB3D7CX5.js → chunk-7OQ56DVW.js} +5 -7
  80. package/dist/commands/{chunk-EK327QOS.js → chunk-7VWPGTZO.js} +10 -10
  81. package/dist/commands/{chunk-WSOF74K4.js → chunk-7YZXS3AK.js} +3 -3
  82. package/dist/commands/{chunk-N6TYL3B2.js → chunk-AAUDI7WJ.js} +2 -2
  83. package/dist/commands/{chunk-3GF52L5F.js → chunk-AC26ZUG5.js} +12 -24
  84. package/dist/commands/{chunk-EK2Y6B4X.js → chunk-ACZ52JPI.js} +7 -7
  85. package/dist/commands/{chunk-VD72V5VX.js → chunk-AJ65WNJB.js} +4 -4
  86. package/dist/commands/{chunk-MYWRGF5A.js → chunk-AK7SEO4Y.js} +2 -2
  87. package/dist/commands/{chunk-IBEKFLWG.js → chunk-ALDAS2WG.js} +9 -9
  88. package/dist/commands/{chunk-W32DIQEP.js → chunk-ARFBIJFS.js} +1 -1
  89. package/dist/commands/{chunk-F3WBEEYC.js → chunk-AVVMDVGO.js} +5 -5
  90. package/dist/commands/chunk-AXXEMVRJ.js +23 -0
  91. package/dist/commands/{chunk-GIGKMIPQ.js → chunk-B3M5WSGN.js} +1 -1
  92. package/dist/commands/{chunk-4Z5723GA.js → chunk-B7ZNIEDV.js} +5 -4
  93. package/dist/commands/{chunk-B3XFOHDX.js → chunk-BCUDQWYK.js} +10 -4
  94. package/dist/commands/{chunk-PR3JCPP7.js → chunk-BMKWSWWE.js} +1 -1
  95. package/dist/commands/{chunk-RZJAUVMI.js → chunk-BMM4RHCG.js} +2 -2
  96. package/dist/commands/{chunk-LAKVPOJQ.js → chunk-BMTYUJNT.js} +2 -2
  97. package/dist/commands/{chunk-DAJCUSPG.js → chunk-BRHPRDDV.js} +3 -3
  98. package/dist/commands/{chunk-UZAU6UI6.js → chunk-BRUBX64M.js} +2 -2
  99. package/dist/commands/{chunk-BFLFPKQQ.js → chunk-BTZJDHQT.js} +4 -4
  100. package/dist/commands/{chunk-AI5K4QJO.js → chunk-BYFC6MD2.js} +1 -1
  101. package/dist/commands/{chunk-JGTLNFFE.js → chunk-BYGJ3BCJ.js} +10 -10
  102. package/dist/commands/{chunk-5HWZFL4D.js → chunk-C54QXJD6.js} +51 -18
  103. package/dist/commands/{chunk-LMS6N6GE.js → chunk-CBAKBWSZ.js} +7 -7
  104. package/dist/commands/{chunk-7EAMUVIO.js → chunk-CFHRNTE5.js} +1 -1
  105. package/dist/commands/{chunk-UIWAMLQH.js → chunk-CGYDIYHD.js} +2 -2
  106. package/dist/commands/{chunk-4QYW2IL7.js → chunk-CHKYPF5O.js} +1 -1
  107. package/dist/commands/{chunk-5HCPSV45.js → chunk-CJBW6BWG.js} +8 -8
  108. package/dist/commands/chunk-CKUKK7JG.js +252 -0
  109. package/dist/commands/{chunk-4PES3BAA.js → chunk-CMHGDCGN.js} +3 -3
  110. package/dist/commands/{chunk-F6OWP2AY.js → chunk-CNGTHSUS.js} +22 -22
  111. package/dist/commands/{chunk-B2EA2HCY.js → chunk-COGKULQH.js} +4 -4
  112. package/dist/commands/{chunk-S7XWXG4M.js → chunk-CP2J4RV2.js} +175 -81
  113. package/dist/commands/{chunk-YGDNUTTI.js → chunk-CQUZ6TNQ.js} +2 -2
  114. package/dist/commands/chunk-CQZI7RIK.js +72 -0
  115. package/dist/commands/chunk-CVJHQOI3.js +153 -0
  116. package/dist/commands/{chunk-2MJ4OCDL.js → chunk-CWCKCZS6.js} +1 -1
  117. package/dist/commands/chunk-D5OHVIPM.js +17 -0
  118. package/dist/commands/{chunk-TPKFVVJQ.js → chunk-D6D6WQR6.js} +2 -2
  119. package/dist/commands/{chunk-5PAEXYIY.js → chunk-D7JRJI44.js} +69 -6
  120. package/dist/commands/{chunk-LOSOLCCW.js → chunk-D7OAU32Z.js} +1 -1
  121. package/dist/commands/{chunk-VZHC2I3T.js → chunk-DAAX7XDS.js} +8 -8
  122. package/dist/commands/{chunk-OHVAEJSM.js → chunk-DEZF7QZZ.js} +5 -5
  123. package/dist/commands/{chunk-CA6F5OXK.js → chunk-DYZOOWVW.js} +124 -21
  124. package/dist/commands/{chunk-TKGBF75Y.js → chunk-EDKOSZ3K.js} +5 -5
  125. package/dist/commands/{chunk-YPNTORQD.js → chunk-EFDVE5P5.js} +1 -1
  126. package/dist/commands/{chunk-EH3LVYOX.js → chunk-EGIHAEMT.js} +1 -1
  127. package/dist/commands/{chunk-7P4X4TQL.js → chunk-EKLU6QR7.js} +4 -4
  128. package/dist/commands/{chunk-ILQZFUDC.js → chunk-ELY76WAR.js} +2 -2
  129. package/dist/commands/{chunk-2VLHFILE.js → chunk-EM3HAZF6.js} +2 -2
  130. package/dist/commands/{chunk-F2HFWLQR.js → chunk-EMTZAGT5.js} +20 -1
  131. package/dist/commands/{chunk-GA4VIFHD.js → chunk-ERG4QRNG.js} +2 -2
  132. package/dist/commands/{chunk-ICEMFE2V.js → chunk-EUGNQCYK.js} +1 -1
  133. package/dist/commands/{chunk-3HU3LPIF.js → chunk-EXDFKKMH.js} +2 -2
  134. package/dist/commands/{chunk-ISPBJVXM.js → chunk-EXWB34R2.js} +7 -7
  135. package/dist/commands/{chunk-FNOSSXLG.js → chunk-EYMPBHDN.js} +2 -2
  136. package/dist/commands/{chunk-7V5UVKFG.js → chunk-EZ7IPKIH.js} +2 -2
  137. package/dist/commands/{chunk-KQWSENCT.js → chunk-F6IQHZYY.js} +3 -3
  138. package/dist/commands/{chunk-7ZECP3J6.js → chunk-FDS65XOJ.js} +5 -5
  139. package/dist/commands/{chunk-KXRFGPZD.js → chunk-FGG7V473.js} +21 -5
  140. package/dist/commands/{chunk-PZ6VWHOO.js → chunk-FHFWNNUC.js} +1 -1
  141. package/dist/commands/{chunk-XBRD2BDL.js → chunk-FJX7AENO.js} +2 -2
  142. package/dist/commands/{chunk-M42SLJCD.js → chunk-FKZ5E4JD.js} +4 -4
  143. package/dist/commands/{chunk-F2J6DGDM.js → chunk-FMZWRDKH.js} +8 -8
  144. package/dist/commands/{chunk-DSBK66US.js → chunk-FOKCRIAN.js} +10 -10
  145. package/dist/commands/{chunk-OI7KM4K3.js → chunk-FQGWO2ZH.js} +2 -2
  146. package/dist/commands/{chunk-2IESYBZH.js → chunk-FURNDIT3.js} +3 -3
  147. package/dist/commands/chunk-FVDQNMP6.js +93 -0
  148. package/dist/commands/{chunk-PZU6FZO6.js → chunk-FWU3H4TX.js} +1 -1
  149. package/dist/commands/{chunk-RYZ3RQRH.js → chunk-G3HBYHFA.js} +1 -1
  150. package/dist/commands/{chunk-HCA5QG2U.js → chunk-G4E4M2P4.js} +2 -2
  151. package/dist/commands/{chunk-VJLZ3IQQ.js → chunk-G5KSL2Q2.js} +1 -1
  152. package/dist/commands/{chunk-Y5ZW3KN5.js → chunk-G6XC7V6Y.js} +2 -2
  153. package/dist/commands/{chunk-73EBNBUW.js → chunk-GCPP5XIG.js} +1 -1
  154. package/dist/commands/{chunk-Q3463XNL.js → chunk-GITT5A5A.js} +3 -3
  155. package/dist/commands/{chunk-T2IO4LEB.js → chunk-GLC47H7I.js} +10 -10
  156. package/dist/commands/{chunk-GA6E4VGO.js → chunk-GUR54ELE.js} +1 -1
  157. package/dist/commands/{chunk-7IT23HIR.js → chunk-GY4DMCKS.js} +2 -2
  158. package/dist/commands/{chunk-PZ4ITSLG.js → chunk-H6JQRHDC.js} +3 -3
  159. package/dist/commands/{chunk-ZHZSZNE2.js → chunk-HATKF6VX.js} +2 -2
  160. package/dist/commands/{chunk-ELWNRE6E.js → chunk-HH3CVIFU.js} +5 -5
  161. package/dist/commands/{chunk-7GMTJDO2.js → chunk-HHMMGDMP.js} +6 -6
  162. package/dist/commands/{chunk-VD5674LW.js → chunk-HI5WPM6C.js} +2 -2
  163. package/dist/commands/{chunk-JUUBDYFZ.js → chunk-HQSWPRUF.js} +4 -4
  164. package/dist/commands/{chunk-ZAJD6T6E.js → chunk-HVCQYZVD.js} +2 -2
  165. package/dist/commands/chunk-HWEZRNPL.js +66 -0
  166. package/dist/commands/{chunk-J6GIVMXI.js → chunk-HX3FFIO5.js} +18 -3
  167. package/dist/commands/{chunk-GU5ML3Y3.js → chunk-HXDTA5VU.js} +13 -68
  168. package/dist/commands/{chunk-BNXE3NVB.js → chunk-I2KCGKJI.js} +1 -1
  169. package/dist/commands/{chunk-LC7SBONO.js → chunk-IAD4WLLI.js} +1 -1
  170. package/dist/commands/{chunk-WWC5L3AO.js → chunk-IB5TT73I.js} +2 -2
  171. package/dist/commands/{chunk-HOSZITJM.js → chunk-IBAYXCMU.js} +2 -2
  172. package/dist/commands/{chunk-UTBVTCQN.js → chunk-IF3EIFK4.js} +267 -153
  173. package/dist/commands/chunk-IGDJNXX2.js +49 -0
  174. package/dist/commands/{chunk-OJ4LGBVD.js → chunk-ILIITIMQ.js} +3 -3
  175. package/dist/commands/{chunk-CUR2WNYB.js → chunk-IRGDMSTI.js} +3 -3
  176. package/dist/commands/{chunk-PZTWQYRI.js → chunk-IYJEBWW5.js} +3 -3
  177. package/dist/commands/{chunk-A3D2XHOJ.js → chunk-J22PSIXR.js} +40 -9
  178. package/dist/commands/{chunk-O27H6NN6.js → chunk-J66YBAAM.js} +3 -5
  179. package/dist/commands/{chunk-P6RGQXHI.js → chunk-J6WKZRV2.js} +2 -2
  180. package/dist/commands/{chunk-NFEBQED3.js → chunk-J7IO3AYH.js} +2 -2
  181. package/dist/commands/{chunk-T57W3UWK.js → chunk-JAKC2BHX.js} +1 -1
  182. package/dist/commands/{chunk-3EO2XN3A.js → chunk-JCAQ7B6J.js} +4 -4
  183. package/dist/commands/{chunk-QQZOQ7AM.js → chunk-JFLFGLE4.js} +1 -1
  184. package/dist/commands/{chunk-ZDSDPKCD.js → chunk-JIGBNCDR.js} +1 -1
  185. package/dist/commands/{chunk-Q5N2J2UF.js → chunk-JJHWTFWQ.js} +5 -7
  186. package/dist/commands/{chunk-EI6JG5DF.js → chunk-JKOGWGQM.js} +1 -1
  187. package/dist/commands/{chunk-RK4HE5NW.js → chunk-JM6EVOFN.js} +4 -4
  188. package/dist/commands/{chunk-EBNIX2TC.js → chunk-JV24VP2O.js} +1 -1
  189. package/dist/commands/{chunk-BCK5LW4F.js → chunk-JVKXJ763.js} +3 -3
  190. package/dist/commands/{chunk-D5TAR6TV.js → chunk-JZHY7D6D.js} +1 -1
  191. package/dist/commands/{chunk-CRNPPKP2.js → chunk-JZK33TA5.js} +1 -1
  192. package/dist/commands/{chunk-UOAG2XQT.js → chunk-K275REYP.js} +3 -3
  193. package/dist/commands/{chunk-HESMKHEB.js → chunk-K4G3HOKS.js} +2 -2
  194. package/dist/commands/{chunk-L6XN3EXI.js → chunk-K64EIHD2.js} +1 -1
  195. package/dist/commands/{chunk-RINVPTA2.js → chunk-KCFOP5RI.js} +28 -28
  196. package/dist/commands/{chunk-O26Y2FOJ.js → chunk-KGE4AS2Y.js} +1 -1
  197. package/dist/commands/{chunk-EWA72KO7.js → chunk-KK2SL42W.js} +2 -2
  198. package/dist/commands/{chunk-MMXZKLDU.js → chunk-KK7TEL5G.js} +10 -4
  199. package/dist/commands/{chunk-UEURNXE5.js → chunk-KKIMVXAP.js} +2 -2
  200. package/dist/commands/{chunk-MAGJFH5T.js → chunk-KODXWMBX.js} +6 -6
  201. package/dist/commands/{chunk-D4HNS43Q.js → chunk-KPSKWTOS.js} +17 -17
  202. package/dist/commands/{chunk-VFJYOAOQ.js → chunk-KTV2HNWB.js} +2 -2
  203. package/dist/commands/{chunk-OWR2TCOY.js → chunk-KWYQR5MK.js} +5 -5
  204. package/dist/commands/{chunk-FNQW6NY7.js → chunk-KXK2A2HB.js} +6 -2
  205. package/dist/commands/{chunk-O5FVBIRI.js → chunk-KZ5BBBMO.js} +5 -5
  206. package/dist/commands/{chunk-JUJFIATR.js → chunk-KZ7HD37E.js} +6 -6
  207. package/dist/commands/{chunk-2YCKPX3A.js → chunk-KZZWPUJW.js} +1 -1
  208. package/dist/commands/{chunk-MYNM3YMR.js → chunk-L7DAL54N.js} +3 -3
  209. package/dist/commands/{chunk-NOXLKIPR.js → chunk-LAR76BFA.js} +1 -1
  210. package/dist/commands/{chunk-ZA3W73PF.js → chunk-LB557AHJ.js} +3 -3
  211. package/dist/commands/{chunk-LYEKT3IN.js → chunk-LEB2VP7F.js} +1 -1
  212. package/dist/commands/{chunk-WQJ7O3C3.js → chunk-LJXKVLYI.js} +1 -1
  213. package/dist/commands/{chunk-CHX4QTP4.js → chunk-LJZERYLG.js} +1 -1
  214. package/dist/commands/{chunk-PF22VUWB.js → chunk-LOOFYHUM.js} +76 -26
  215. package/dist/commands/{chunk-HIPO6HUG.js → chunk-LPSULLNK.js} +1 -1
  216. package/dist/commands/{chunk-G47ZNQVG.js → chunk-LR22UK5W.js} +1 -1
  217. package/dist/commands/{chunk-SV4FHQE7.js → chunk-LT7QSHR4.js} +14 -14
  218. package/dist/commands/{chunk-HIB5G2X6.js → chunk-LUXWDMKI.js} +7 -7
  219. package/dist/commands/{chunk-XH6BGVVP.js → chunk-LX7TIEMI.js} +9 -36
  220. package/dist/commands/{chunk-OGNTJ5JB.js → chunk-LYO6TX5L.js} +1 -1
  221. package/dist/commands/{chunk-JLREFWJ4.js → chunk-LZ5QXE5N.js} +6 -6
  222. package/dist/commands/{chunk-5WIZR5SC.js → chunk-M4UV3BEV.js} +11 -11
  223. package/dist/commands/{chunk-LNBUIOK6.js → chunk-M6JDU5EK.js} +4 -4
  224. package/dist/commands/{chunk-VZSJCFRT.js → chunk-MFBNNTBM.js} +4 -4
  225. package/dist/commands/{chunk-KHWTJ4F7.js → chunk-MI2OS6TL.js} +3 -3
  226. package/dist/commands/{chunk-VZCQZFPH.js → chunk-MLW4S35K.js} +19 -8
  227. package/dist/commands/{chunk-RIUPRMLW.js → chunk-MN425CU6.js} +1 -1
  228. package/dist/commands/{chunk-7W3D3WRW.js → chunk-MOIOSCZM.js} +2 -2
  229. package/dist/commands/{chunk-3BNNMJOT.js → chunk-MRORPFSO.js} +20 -320
  230. package/dist/commands/{chunk-LA5WTOAM.js → chunk-MUGTOJUL.js} +12 -12
  231. package/dist/commands/{chunk-L6LU2633.js → chunk-MVHPRYHE.js} +1 -1
  232. package/dist/commands/{chunk-EKCKCX5S.js → chunk-MWO6FOSZ.js} +123 -21
  233. package/dist/commands/{chunk-AVUGMOHZ.js → chunk-N7QTMTST.js} +2 -2
  234. package/dist/commands/{chunk-LMSS4ARB.js → chunk-NDBX7LSS.js} +1 -1
  235. package/dist/commands/{chunk-BEE7OAQ5.js → chunk-NDWZTWXV.js} +21 -2
  236. package/dist/commands/{chunk-6TESOL3L.js → chunk-NEGJ77RV.js} +7 -7
  237. package/dist/commands/{chunk-LCEJXF7A.js → chunk-NEGRE5VW.js} +4 -4
  238. package/dist/commands/{chunk-IXX4SXIP.js → chunk-NFPD2P3V.js} +1 -1
  239. package/dist/commands/chunk-NHIW7JE6.js +335 -0
  240. package/dist/commands/{chunk-CJSFC5YI.js → chunk-NILSN7A4.js} +7 -7
  241. package/dist/commands/{chunk-W4J6YTFE.js → chunk-NOLFSPOB.js} +2 -2
  242. package/dist/commands/chunk-NT67QTZO.js +65 -0
  243. package/dist/commands/{chunk-NJT5L6IC.js → chunk-NU7W6QGT.js} +33 -4
  244. package/dist/commands/chunk-NUR4FQHM.js +21 -0
  245. package/dist/commands/{chunk-OKKQI4ZG.js → chunk-OAAVY2JK.js} +1 -1
  246. package/dist/commands/chunk-OF4BY4N7.js +32 -0
  247. package/dist/commands/{chunk-W47I2KDY.js → chunk-OGS2DK7I.js} +3 -3
  248. package/dist/commands/{chunk-MS6Q3Z7V.js → chunk-OIPV3PWW.js} +6 -6
  249. package/dist/commands/{chunk-T33QDAWD.js → chunk-OIX2363L.js} +1 -1
  250. package/dist/commands/{chunk-GPMSYXYO.js → chunk-OJ65BZBV.js} +283 -15
  251. package/dist/commands/{chunk-34LAULSC.js → chunk-OKZWEVR4.js} +3 -3
  252. package/dist/commands/{chunk-2CXAVVST.js → chunk-OL6IF4JC.js} +1 -1
  253. package/dist/commands/{chunk-6JVNRY5A.js → chunk-OMPRILFH.js} +1 -1
  254. package/dist/commands/{chunk-VGHSZLYQ.js → chunk-OOWGH2RG.js} +1 -1
  255. package/dist/commands/{chunk-ERGZPWKP.js → chunk-OP2RFVLS.js} +1 -1
  256. package/dist/commands/{chunk-UU6GCJGM.js → chunk-ORKVN2LO.js} +2 -2
  257. package/dist/commands/{chunk-RHII5XI6.js → chunk-OSBWXZJ4.js} +24 -24
  258. package/dist/commands/{chunk-D3SHCUBC.js → chunk-OVWPZDWP.js} +2 -2
  259. package/dist/commands/{chunk-Z4HYBFZD.js → chunk-OWYK2BEJ.js} +108 -46
  260. package/dist/commands/{chunk-P4O67FP5.js → chunk-OX3VQLV2.js} +6 -6
  261. package/dist/commands/{chunk-L6TU7FC2.js → chunk-OZJP77UM.js} +4 -4
  262. package/dist/commands/{chunk-SNO7CY2B.js → chunk-P3H3DKTE.js} +2 -2
  263. package/dist/commands/{chunk-2OIX4JLA.js → chunk-P5SOYWH2.js} +3 -3
  264. package/dist/commands/{chunk-M4PEC7YW.js → chunk-PHLOTUB7.js} +54 -37
  265. package/dist/commands/{chunk-73KBUQKI.js → chunk-PTNQCCIB.js} +2 -2
  266. package/dist/commands/{chunk-4P2LCVGO.js → chunk-PTZEFQUX.js} +8 -8
  267. package/dist/commands/{chunk-DJVMC3U2.js → chunk-Q426ZSZ4.js} +1 -1
  268. package/dist/commands/{chunk-US6X7JXC.js → chunk-Q7EEIOAD.js} +4 -4
  269. package/dist/commands/{chunk-LE7TFPMU.js → chunk-QABRNGQV.js} +2 -2
  270. package/dist/commands/{chunk-NGKB632X.js → chunk-QDFVVRQP.js} +3 -3
  271. package/dist/commands/{chunk-36M2UV6C.js → chunk-QGATHT4S.js} +38 -4
  272. package/dist/commands/{chunk-DIB2Z2OS.js → chunk-QJRVDE7T.js} +1 -1
  273. package/dist/commands/{chunk-KUJQWO6M.js → chunk-QKTTKAXM.js} +2 -2
  274. package/dist/commands/{chunk-DXZW4V7J.js → chunk-QMDKDQKW.js} +3 -3
  275. package/dist/commands/{chunk-VW5SGE7A.js → chunk-QOSC5RKD.js} +1 -1
  276. package/dist/commands/{chunk-ENLWXAHD.js → chunk-QV5FKMOU.js} +1 -1
  277. package/dist/commands/{chunk-32SNWQJP.js → chunk-R2THGPI3.js} +2 -2
  278. package/dist/commands/{chunk-RVHBWSIG.js → chunk-R54Z2Z3X.js} +2 -2
  279. package/dist/commands/{chunk-CJAA5GAF.js → chunk-RG53UFNW.js} +15 -15
  280. package/dist/commands/{chunk-HJKZDDDI.js → chunk-RHKCWJQX.js} +1 -1
  281. package/dist/commands/{chunk-RPDWFUQO.js → chunk-RKIAX4DZ.js} +36 -84
  282. package/dist/commands/{chunk-LE2T3FGJ.js → chunk-RLBFEHHC.js} +2 -4
  283. package/dist/commands/{chunk-5GBZ43UA.js → chunk-RMDLFLPE.js} +1 -1
  284. package/dist/commands/{chunk-U2UH4VM4.js → chunk-RN2YDNLF.js} +2 -2
  285. package/dist/commands/{chunk-GQHUFNXN.js → chunk-RRAIRS2T.js} +1 -1
  286. package/dist/commands/{chunk-DRCTDVI2.js → chunk-RUQY5TS3.js} +3 -3
  287. package/dist/commands/{chunk-WGULS5DA.js → chunk-RW64VHEB.js} +1 -0
  288. package/dist/commands/{chunk-4G7NKNAZ.js → chunk-RXYMJPJB.js} +3 -3
  289. package/dist/commands/{chunk-B33BTNB4.js → chunk-S4M6UWR2.js} +21 -5
  290. package/dist/commands/{chunk-4Q4FXBUQ.js → chunk-SASX3W2M.js} +2 -2
  291. package/dist/commands/{chunk-TIXJY22D.js → chunk-SJ2ZN575.js} +5 -5
  292. package/dist/commands/{chunk-NSZTSCBW.js → chunk-SP7DKYGU.js} +13 -13
  293. package/dist/commands/{chunk-T3FD3Q73.js → chunk-SRG6PKVS.js} +1 -1
  294. package/dist/commands/{chunk-QA22PBCJ.js → chunk-SSL6A3Y4.js} +3 -3
  295. package/dist/commands/{chunk-4BEIYKI2.js → chunk-SV4FZR24.js} +2 -0
  296. package/dist/commands/{chunk-HZSQI6TD.js → chunk-SVTS7ACS.js} +2 -2
  297. package/dist/commands/{chunk-F7XLEK55.js → chunk-SVV4U5AR.js} +1 -1
  298. package/dist/commands/{chunk-RRQFITJE.js → chunk-SXJM4DZ5.js} +1 -1
  299. package/dist/commands/{chunk-OIDMJASD.js → chunk-SYB3M632.js} +1 -1
  300. package/dist/commands/{chunk-UJOZ2MGX.js → chunk-SYOXIKB7.js} +6 -6
  301. package/dist/commands/{chunk-5SB37YDW.js → chunk-SZG5HDNP.js} +3 -3
  302. package/dist/commands/{chunk-R2CF6VZE.js → chunk-T4F33UKZ.js} +4 -4
  303. package/dist/commands/{chunk-ESQEEL4O.js → chunk-TAEGXID2.js} +2 -2
  304. package/dist/commands/chunk-TEPYEUYG.js +585 -0
  305. package/dist/commands/{chunk-LUMCYDGE.js → chunk-TFLHYC2F.js} +2 -2
  306. package/dist/commands/{chunk-V5OIPYA6.js → chunk-TJKM56WJ.js} +4 -4
  307. package/dist/commands/{chunk-CYQ3ZF7R.js → chunk-TLAB552K.js} +86 -13
  308. package/dist/commands/{chunk-ST32OGPY.js → chunk-TP6L4W3W.js} +5 -5
  309. package/dist/commands/{chunk-C26LKDBE.js → chunk-TR7WWYD5.js} +1 -1
  310. package/dist/commands/{chunk-PWYXY46Y.js → chunk-TYNH2R66.js} +15 -15
  311. package/dist/commands/{chunk-AZUE65NT.js → chunk-U5P6G3UV.js} +2 -2
  312. package/dist/commands/{chunk-REPANBLS.js → chunk-U7Y6RKLK.js} +1 -1
  313. package/dist/commands/{chunk-55I7OYHI.js → chunk-UIMMWH7U.js} +1 -1
  314. package/dist/commands/{chunk-72J2G2E7.js → chunk-UKBBWMLE.js} +20 -20
  315. package/dist/commands/{chunk-VTLL6CKO.js → chunk-UNMSZGSG.js} +14 -14
  316. package/dist/commands/chunk-UOVUUVDK.js +18 -0
  317. package/dist/commands/{chunk-JNWHX25C.js → chunk-URDT2O2K.js} +1 -1
  318. package/dist/commands/{chunk-FGZQSSGH.js → chunk-UREXZJDB.js} +1 -1
  319. package/dist/commands/{chunk-O4WBADCX.js → chunk-UTHUX7VU.js} +3 -3
  320. package/dist/commands/{chunk-PDDKRHHS.js → chunk-V5OUZFWK.js} +3 -3
  321. package/dist/commands/{chunk-N4O5I55P.js → chunk-VCPGFBMN.js} +8 -8
  322. package/dist/commands/{chunk-WN7NK3NY.js → chunk-VGPIQNDB.js} +1 -1
  323. package/dist/commands/{chunk-HOGFJHBT.js → chunk-VJS2MCLA.js} +1 -1
  324. package/dist/commands/{chunk-4YI4SLRJ.js → chunk-VK6D5CWA.js} +8 -8
  325. package/dist/commands/{chunk-4LWRCPS5.js → chunk-VOF3N4WO.js} +3 -3
  326. package/dist/commands/{chunk-AM44D7NF.js → chunk-VQRT32JB.js} +1 -1
  327. package/dist/commands/{chunk-AS3GWVAN.js → chunk-VQVPAVQ3.js} +1 -1
  328. package/dist/commands/{chunk-6VTJO5L2.js → chunk-VV4TQYGD.js} +3 -3
  329. package/dist/commands/{chunk-WIE7VUBE.js → chunk-W7DRUOF7.js} +5 -5
  330. package/dist/commands/{chunk-HH2KDLTP.js → chunk-WAEN2RTT.js} +2 -2
  331. package/dist/commands/{chunk-NKKH3PBE.js → chunk-WB4T3VY2.js} +18 -1
  332. package/dist/commands/{chunk-DNJC7X73.js → chunk-WCEUMOKK.js} +2 -2
  333. package/dist/commands/{chunk-BK6Q4VCA.js → chunk-WTH6NTXU.js} +4 -4
  334. package/dist/commands/{chunk-WG6GYBRJ.js → chunk-WWVYEHQT.js} +2 -1
  335. package/dist/commands/{chunk-P4CWLRT2.js → chunk-X3TNPALI.js} +1 -1
  336. package/dist/commands/{chunk-LZNYHWRO.js → chunk-XC6GG5JR.js} +3 -3
  337. package/dist/commands/{chunk-RI7EQYKL.js → chunk-XFWI6WHH.js} +2 -2
  338. package/dist/commands/{chunk-BY3POLIQ.js → chunk-XHGWMD3L.js} +7 -7
  339. package/dist/commands/{chunk-BPSJSHYD.js → chunk-XI2ABCRX.js} +2 -2
  340. package/dist/commands/{chunk-TS4ZK46L.js → chunk-XKSUBUIH.js} +5 -5
  341. package/dist/commands/{chunk-K7GL3BGI.js → chunk-XPBF5DG3.js} +4 -4
  342. package/dist/commands/{chunk-6SKMZGER.js → chunk-XUMYPESL.js} +20 -8
  343. package/dist/commands/{chunk-QS5USD4T.js → chunk-XXC32PVL.js} +5 -4
  344. package/dist/commands/{chunk-ORSI7Y55.js → chunk-XXN2EZBY.js} +1 -1
  345. package/dist/commands/{chunk-IZVM2TTH.js → chunk-XZQWEVR3.js} +2 -2
  346. package/dist/commands/{chunk-E3CXOVPQ.js → chunk-Y27PTXXI.js} +1 -1
  347. package/dist/commands/{chunk-337QQM4C.js → chunk-Y4EBUI6M.js} +106 -5
  348. package/dist/commands/{chunk-WRX3MINT.js → chunk-YAU3LYNF.js} +1 -1
  349. package/dist/commands/{chunk-JB7R3A4A.js → chunk-YDURQICF.js} +4 -4
  350. package/dist/commands/{chunk-RX5JSPPH.js → chunk-YGFOGA7C.js} +11 -11
  351. package/dist/commands/{chunk-S6SXMBF2.js → chunk-YHJ2AJMA.js} +2 -2
  352. package/dist/commands/{chunk-MVPUQLN5.js → chunk-YM77CF4D.js} +4 -4
  353. package/dist/commands/{chunk-ZYIMQHCB.js → chunk-YNPRJCEO.js} +6 -6
  354. package/dist/commands/{chunk-3UKJFWKS.js → chunk-YTBQAD5W.js} +3 -3
  355. package/dist/commands/{chunk-WW3TX742.js → chunk-Z3WGHIVB.js} +3 -3
  356. package/dist/commands/{chunk-KIVOZY2J.js → chunk-ZBZ5DDCH.js} +66 -64
  357. package/dist/commands/{chunk-TAPDXK34.js → chunk-ZLRUHSOP.js} +1 -1
  358. package/dist/commands/{chunk-XYAK53TK.js → chunk-ZNR75OXP.js} +2 -1
  359. package/dist/commands/{chunk-CADFBQJJ.js → chunk-ZSOR4ISJ.js} +4 -4
  360. package/dist/commands/{chunk-6NRTLH6I.js → chunk-ZYFHYQA7.js} +1 -1
  361. package/dist/commands/{chunk-Q7TV3OV6.js → chunk-ZZFFSQF4.js} +4 -4
  362. package/dist/commands/{chunk-PDAY76AN.js → chunk-ZZULXNC2.js} +1 -1
  363. package/dist/commands/{chunk-5Y7QQYTU.js → chunk-ZZXO6TFH.js} +1 -1
  364. package/dist/commands/code-symbol-cli.js +4 -4
  365. package/dist/commands/codex-hook-adapter.js +99 -100
  366. package/dist/commands/command-derive.js +10 -10
  367. package/dist/commands/cost-audit-main.js +94 -92
  368. package/dist/commands/cspell-cached.js +24 -23
  369. package/dist/commands/defect-origin-main.js +19 -18
  370. package/dist/commands/defect-report-main.js +15 -14
  371. package/dist/commands/disposition-cli.js +67 -64
  372. package/dist/commands/doctor.js +3 -3
  373. package/dist/commands/document-read-cli.js +89 -9
  374. package/dist/commands/document-section-main.js +89 -9
  375. package/dist/commands/edit-files-cli.js +1 -1
  376. package/dist/commands/effect-audit-cli.js +20 -19
  377. package/dist/commands/epic-audit-main.js +55 -53
  378. package/dist/commands/epic-bundle-main.js +87 -85
  379. package/dist/commands/epic-check.js +16 -15
  380. package/dist/commands/epic-main.js +93 -91
  381. package/dist/commands/epic-next-main.js +51 -49
  382. package/dist/commands/format-edited-cli.js +30 -32
  383. package/dist/commands/format.js +11 -10
  384. package/dist/commands/fresh-machine-cli.js +6 -6
  385. package/dist/commands/git-followup-workflow.js +137 -122
  386. package/dist/commands/git-workflow.js +28 -27
  387. package/dist/commands/github-release-cli.js +26 -3
  388. package/dist/commands/hook-ledger-cli.js +74 -126
  389. package/dist/commands/init-main.js +20 -19
  390. package/dist/commands/inputs.json +1907 -1876
  391. package/dist/commands/issue-ack-cli.js +5 -5
  392. package/dist/commands/issue-already-done-cli.js +63 -58
  393. package/dist/commands/issue-body-cli.js +44 -42
  394. package/dist/commands/issue-cite-main.js +11 -10
  395. package/dist/commands/issue-comment-main.js +15 -11
  396. package/dist/commands/issue-consolidate-cli.js +31 -30
  397. package/dist/commands/issue-file-main.js +114 -110
  398. package/dist/commands/issue-fold-existing-cli.js +88 -86
  399. package/dist/commands/issue-fold-main.js +26 -25
  400. package/dist/commands/issue-lint-main.js +38 -37
  401. package/dist/commands/issue-measured-cli.js +66 -61
  402. package/dist/commands/issue-plan-cli.js +103 -101
  403. package/dist/commands/issue-premise-unmet-cli.js +66 -61
  404. package/dist/commands/issue-priority-cli.js +13 -12
  405. package/dist/commands/issue-read-main.js +18 -17
  406. package/dist/commands/issue-release-class-cli.js +12 -11
  407. package/dist/commands/issue-release-main.js +13 -12
  408. package/dist/commands/issue-scout-main.js +89 -87
  409. package/dist/commands/issue-spill-main.js +114 -110
  410. package/dist/commands/issue-state-main.js +16 -15
  411. package/dist/commands/issue-tick-cli.js +14 -13
  412. package/dist/commands/josh-completion.js +10 -10
  413. package/dist/commands/lane-adopt-cli.js +19 -19
  414. package/dist/commands/lane-breakdown-cli.js +154 -126
  415. package/dist/commands/lane-cli.js +131 -125
  416. package/dist/commands/lane-launch-main.js +17 -17
  417. package/dist/commands/lane-limit-cli.js +81 -79
  418. package/dist/commands/lane-measure-cli.js +246 -130
  419. package/dist/commands/lane-pause-cli.js +15 -15
  420. package/dist/commands/lane-plan-cli.js +108 -101
  421. package/dist/commands/lane-resolve-cli.js +20 -19
  422. package/dist/commands/lane-restart-cli.js +124 -118
  423. package/dist/commands/lane-why-cli.js +85 -82
  424. package/dist/commands/lane-withdraw-cli.js +49 -48
  425. package/dist/commands/latest-corepack.js +3 -3
  426. package/dist/commands/latest-if-required-cli.js +9 -9
  427. package/dist/commands/latest-scope-main.js +5 -5
  428. package/dist/commands/latest-update.js +3 -3
  429. package/dist/commands/lines-command.js +3 -3
  430. package/dist/commands/lint-parallel-main.js +32 -31
  431. package/dist/commands/lint-related.js +79 -60
  432. package/dist/commands/lint-rule.js +32 -31
  433. package/dist/commands/lockfile-policy.js +11 -11
  434. package/dist/commands/main-merge-main.js +5 -5
  435. package/dist/commands/main-sync-main.js +5 -5
  436. package/dist/commands/managed-config-scope-cli.js +3 -3
  437. package/dist/commands/measure-rerun-cli.js +10 -10
  438. package/dist/commands/metrics-command.js +91 -58
  439. package/dist/commands/observation-record-cli.js +3 -3
  440. package/dist/commands/observations-flush-cli.js +27 -25
  441. package/dist/commands/oracle-list-cli.js +2 -2
  442. package/dist/commands/overrides-check.js +4 -4
  443. package/dist/commands/package-scout-cli.js +67 -26
  444. package/dist/commands/plan-consumers-main.js +4 -4
  445. package/dist/commands/plan-scaffold-cli.js +132 -91
  446. package/dist/commands/pr-classification-main.js +3 -3
  447. package/dist/commands/pre-commit-lint.js +11 -12
  448. package/dist/commands/pre-commit-type-check.js +25 -24
  449. package/dist/commands/pre-push-unit.js +33 -33
  450. package/dist/commands/pretool-guard-cli.js +90 -91
  451. package/dist/commands/project-profile-cli.js +5 -4
  452. package/dist/commands/propagate.js +15 -15
  453. package/dist/commands/prose-stale-cli.js +20 -19
  454. package/dist/commands/publishable-range-check.js +4 -4
  455. package/dist/commands/read-files-cli.js +2 -2
  456. package/dist/commands/read-set-cli.js +61 -24
  457. package/dist/commands/refactor-scan-cli.js +6 -6
  458. package/dist/commands/release-cli.js +64 -36
  459. package/dist/commands/release-scope-main.js +19 -18
  460. package/dist/commands/rename-cli.js +27 -29
  461. package/dist/commands/reserved-run.js +3 -3
  462. package/dist/commands/retrospective-cli.js +104 -102
  463. package/dist/commands/review-attest-cli.js +6 -6
  464. package/dist/commands/review-brief-main.js +127 -109
  465. package/dist/commands/review-findings-cli.js +2 -2
  466. package/dist/commands/review-pair-cli.js +110 -84
  467. package/dist/commands/review-record-main.js +108 -83
  468. package/dist/commands/review-round2-cli.js +46 -45
  469. package/dist/commands/review-stops-cli.js +16 -16
  470. package/dist/commands/review-submit-cli.js +127 -109
  471. package/dist/commands/rule-list.js +58 -60
  472. package/dist/commands/rule-value-cli.js +226 -74
  473. package/dist/commands/run-add-cli.js +28 -27
  474. package/dist/commands/run-board-main.js +136 -132
  475. package/dist/commands/run-carry-cli.js +127 -124
  476. package/dist/commands/run-chain-cli.js +116 -93
  477. package/dist/commands/run-cut-cli.js +124 -119
  478. package/dist/commands/run-ending-cli.js +19 -22
  479. package/dist/commands/run-entry-cli.js +183 -180
  480. package/dist/commands/run-event-cli.js +5 -5
  481. package/dist/commands/run-handoff-cli.js +52 -28
  482. package/dist/commands/run-handoff-lanes-cli.js +15 -15
  483. package/dist/commands/run-hold-main.js +64 -62
  484. package/dist/commands/run-liveness-cli.js +11 -11
  485. package/dist/commands/run-merge-main.js +119 -116
  486. package/dist/commands/run-next-cli.js +87 -86
  487. package/dist/commands/run-park-cli.js +111 -92
  488. package/dist/commands/run-pause-cli.js +147 -133
  489. package/dist/commands/run-pickup-cli.js +13 -13
  490. package/dist/commands/run-prep-main.js +83 -82
  491. package/dist/commands/run-prime-cli.js +107 -87
  492. package/dist/commands/run-progress-main.js +123 -107
  493. package/dist/commands/run-report-cli.js +25 -24
  494. package/dist/commands/run-review-cli.js +168 -149
  495. package/dist/commands/run-ship-cli.js +208 -203
  496. package/dist/commands/run-ship-evidence-cli.js +38 -37
  497. package/dist/commands/run-ship-wait-main.js +40 -37
  498. package/dist/commands/run-split-cli.js +127 -125
  499. package/dist/commands/run-stale-main.js +36 -35
  500. package/dist/commands/run-status-cli.js +16 -15
  501. package/dist/commands/run-step-cli.js +173 -164
  502. package/dist/commands/run-tail-cli.js +1 -1
  503. package/dist/commands/run-tidy-main.js +30 -29
  504. package/dist/commands/run-wake-main.js +137 -119
  505. package/dist/commands/run-watcher-guard-cli.js +30 -29
  506. package/dist/commands/secretlint-scan.js +2 -2
  507. package/dist/commands/selfcheck-cli.js +27 -26
  508. package/dist/commands/session-language-main.js +48 -28
  509. package/dist/commands/sonar-hotspots-cli.js +3 -3
  510. package/dist/commands/split-assess-cli.js +24 -23
  511. package/dist/commands/split-child-recover-cli.js +13 -12
  512. package/dist/commands/start.js +37 -35
  513. package/dist/commands/stash-pop-main.js +3 -3
  514. package/dist/commands/stash-push-main.js +3 -3
  515. package/dist/commands/stop-guard.js +144 -143
  516. package/dist/commands/sync-main.js +11 -10
  517. package/dist/commands/telegram-test-main.js +5 -5
  518. package/dist/commands/test-declared.js +9 -8
  519. package/dist/commands/test-e2e-guard.js +23 -22
  520. package/dist/commands/test-pinned-main.js +26 -25
  521. package/dist/commands/test-reach-cli.js +15 -14
  522. package/dist/commands/test-red-main.js +5 -5
  523. package/dist/commands/{test-related-ZT2AO62I.js → test-related-ZCNC46MS.js} +31 -31
  524. package/dist/commands/test-related-main.js +51 -50
  525. package/dist/commands/test-unit-guard-main.js +9 -8
  526. package/dist/commands/time-cli.js +24 -27
  527. package/dist/commands/time-density-cli.js +8 -9
  528. package/dist/commands/tree-status-cli.js +4 -4
  529. package/dist/commands/type-check-command.js +8 -7
  530. package/dist/commands/ui-shot-cli.js +4 -4
  531. package/dist/commands/uninstall.js +20 -19
  532. package/dist/commands/unused-members-cli.js +9 -8
  533. package/dist/commands/upstream-interrupt-main.js +115 -111
  534. package/dist/commands/verification-gate.js +46 -46
  535. package/dist/commands/version-check.js +5 -5
  536. package/dist/hooks/{chunk-LWD43Z3C.js → chunk-5CUXGQT6.js} +1667 -107
  537. package/dist/hooks/{chunk-4YXV2REH.js → chunk-5R5YFQR5.js} +8 -8
  538. package/dist/hooks/{chunk-LKQBEKBI.js → chunk-6RLY27FT.js} +8 -8
  539. package/dist/hooks/{chunk-CICKRHTB.js → chunk-AO4TOV4V.js} +119 -2679
  540. package/dist/hooks/{chunk-NUPVO7RI.js → chunk-G5WSPYJ6.js} +4296 -1687
  541. package/dist/hooks/{chunk-UU4PTPEZ.js → chunk-HHIVWGHX.js} +250 -125
  542. package/dist/hooks/{chunk-P7BPAU26.js → chunk-IURJANNZ.js} +2 -2
  543. package/dist/hooks/{chunk-6RR6JZSB.js → chunk-OV22V63P.js} +357 -1744
  544. package/dist/hooks/{chunk-RQXECHAS.js → chunk-SXABK6UV.js} +57 -45
  545. package/dist/hooks/codex-hook-adapter.js +11 -11
  546. package/dist/hooks/daemon.js +1053 -690
  547. package/dist/hooks/format-edited.js +5 -5
  548. package/dist/hooks/inputs.json +551 -536
  549. package/dist/hooks/pretool-guard.js +7 -7
  550. package/dist/hooks/session-lang.js +292 -15
  551. package/dist/hooks/stop-guard.js +225 -48
  552. package/dist/inputs.json +65 -65
  553. package/dist/josh.js +73 -19
  554. package/dist/self-sync-guard/index.js +18 -1
  555. package/dist/version/index.js +18 -1
  556. package/package.json +3 -3
  557. package/pnpm-workspace.yaml +5 -13
  558. package/prompts/collaboration-workflow/issue-template.en.md +56 -52
  559. package/scripts/agent/agent-argv.ts +20 -6
  560. package/scripts/agent/agent-phase-profile.ts +89 -0
  561. package/scripts/agent/agent-role-profile.ts +3 -71
  562. package/scripts/agent/agent-ship-cap.ts +44 -0
  563. package/scripts/agent/agent-worker-profile.ts +154 -0
  564. package/scripts/agent/claude-agent-argv.ts +1 -1
  565. package/scripts/agent/lane-instructions.ts +29 -3
  566. package/scripts/auto-ok/auto-ok-judge-cli.ts +3 -0
  567. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -1
  568. package/scripts/auto-ok/auto-ok-judge.ts +4 -2
  569. package/scripts/backlog/backlog-drive-escalate.ts +115 -0
  570. package/scripts/backlog/backlog-drive-stalled-retry.ts +48 -10
  571. package/scripts/document/document-scan.ts +35 -1
  572. package/scripts/gh/git-pr-checks-failed.ts +24 -0
  573. package/scripts/hooks/implementation-shell-deny-expansion.ts +20 -0
  574. package/scripts/hooks/implementation-shell-deny-git.ts +128 -0
  575. package/scripts/hooks/implementation-shell-deny.ts +14 -138
  576. package/scripts/hooks/implementation-shell.ts +28 -5
  577. package/scripts/hooks/step-zero-notice.ts +9 -6
  578. package/scripts/hooks/stop-actions.ts +4 -2
  579. package/scripts/init/init-logic-workspace.ts +1 -1
  580. package/scripts/issue/issue-auto-ok.ts +43 -4
  581. package/scripts/issue/issue-body-keys.ts +4 -0
  582. package/scripts/issue/issue-comment-cli.ts +15 -2
  583. package/scripts/issue/issue-evidence-exit.ts +6 -2
  584. package/scripts/issue/issue-file-cli.ts +5 -1
  585. package/scripts/issue/issue-file-pass.ts +14 -7
  586. package/scripts/issue/issue-file-worker.ts +95 -0
  587. package/scripts/issue/issue-file.ts +1 -1
  588. package/scripts/issue/issue-outcome.ts +107 -0
  589. package/scripts/issue/issue-read.ts +12 -7
  590. package/scripts/issue/issue-watch-diff.ts +2 -1
  591. package/scripts/josh/josh-commands-ai.ts +2 -2
  592. package/scripts/josh/josh-commands-development.ts +21 -5
  593. package/scripts/josh/josh-commands-issue-write.ts +3 -2
  594. package/scripts/josh/josh-commands-lint.ts +1 -1
  595. package/scripts/josh/josh-commands-project.ts +7 -2
  596. package/scripts/josh/josh-commands-run.ts +10 -2
  597. package/scripts/josh/josh-commands-workflow.ts +5 -0
  598. package/scripts/lane/lane-breakdown-cli.ts +14 -4
  599. package/scripts/lane/lane-breakdown-text.ts +7 -0
  600. package/scripts/lane/lane-breakdown.ts +21 -1
  601. package/scripts/lane/lane-dispatch-prepare.ts +83 -0
  602. package/scripts/lane/lane-dispatch.ts +3 -53
  603. package/scripts/lane/lane-elapsed-time.ts +118 -0
  604. package/scripts/lane/lane-ledger-schema-ship.ts +4 -1
  605. package/scripts/lane/lane-net-time.ts +35 -7
  606. package/scripts/lane/lane-overrun.ts +1 -1
  607. package/scripts/lane/lane-plan-cli.ts +7 -3
  608. package/scripts/lane/lane-plan-estimate.ts +57 -0
  609. package/scripts/lane/lane-plan-size.ts +11 -20
  610. package/scripts/lane/lane-plan.ts +1 -0
  611. package/scripts/lane/lane-relaunch.ts +9 -4
  612. package/scripts/lane/lane-stage-budget.ts +6 -1
  613. package/scripts/lane/lane-stage-events.ts +103 -0
  614. package/scripts/lane/lane-stats-tables.ts +3 -0
  615. package/scripts/lane/lane-stop-check-stats.ts +117 -0
  616. package/scripts/lane/lane-stop-stats.ts +30 -6
  617. package/scripts/lane/lane-why-causes.ts +3 -11
  618. package/scripts/lane/openai-lane-supervisor-owner.ts +12 -0
  619. package/scripts/lane/openai-lane-supervisor.ts +36 -1
  620. package/scripts/lib/home-tilde.ts +24 -0
  621. package/scripts/lib/package-manifest.ts +27 -1
  622. package/scripts/observations/observation-ledger-archive.ts +180 -0
  623. package/scripts/observations/observation-ledger-home.ts +1 -0
  624. package/scripts/observations/observation-ledger.ts +5 -0
  625. package/scripts/observations/observations-flush-transaction.ts +358 -0
  626. package/scripts/observations/observations-flush.ts +72 -172
  627. package/scripts/plan/plan-scaffold-cli.ts +17 -6
  628. package/scripts/plan/plan-scaffold.ts +11 -0
  629. package/scripts/release/github-release-notes.ts +24 -0
  630. package/scripts/release/github-release-runs.ts +32 -6
  631. package/scripts/release/github-release.ts +10 -2
  632. package/scripts/release/release-progress.ts +22 -10
  633. package/scripts/release/release-publish-run.ts +39 -6
  634. package/scripts/repo/repository-labels.ts +23 -11
  635. package/scripts/review/review-comment-round.ts +10 -5
  636. package/scripts/rules/broad-investigation-shell.ts +2 -2
  637. package/scripts/rules/codex-prompt.ts +63 -0
  638. package/scripts/rules/direct-issue-comment.ts +62 -2
  639. package/scripts/rules/direct-issue-read.ts +55 -2
  640. package/scripts/rules/guard-remedy.ts +10 -4
  641. package/scripts/rules/issue-citation.ts +20 -9
  642. package/scripts/rules/last-prompt.ts +8 -4
  643. package/scripts/rules/rule-value-cli.ts +85 -4
  644. package/scripts/rules/rule-value-trend.ts +108 -0
  645. package/scripts/rules/shell-redirects.ts +19 -7
  646. package/scripts/rules/shell-segments.ts +145 -20
  647. package/scripts/rules/shell-tokens.ts +66 -0
  648. package/scripts/rules/standalone-gh-call.ts +63 -0
  649. package/scripts/rules/unasked-filing.ts +12 -4
  650. package/scripts/run/board/run-board-closed.ts +10 -1
  651. package/scripts/run/board/run-board-decision-read.ts +52 -12
  652. package/scripts/run/board/run-board-decision.ts +5 -0
  653. package/scripts/run/board/run-board-ending-reason.ts +21 -7
  654. package/scripts/run/board/run-board-github.ts +8 -1
  655. package/scripts/run/board/run-board-layout.ts +5 -3
  656. package/scripts/run/board/run-board-link.ts +2 -0
  657. package/scripts/run/board/run-board-operation.ts +6 -2
  658. package/scripts/run/board/run-board-pause-fixture.json +12 -0
  659. package/scripts/run/board/run-board-pause.ts +87 -0
  660. package/scripts/run/board/run-board-plan-shared.ts +2 -0
  661. package/scripts/run/board/run-board-render-condition.ts +10 -1
  662. package/scripts/run/board/run-board-render-title.ts +7 -0
  663. package/scripts/run/board/run-board-settle.ts +16 -2
  664. package/scripts/run/board/run-board-snapshot.ts +4 -0
  665. package/scripts/run/board/run-board-status.ts +11 -1
  666. package/scripts/run/cut/run-cut-cli.ts +2 -1
  667. package/scripts/run/park/run-park-cli.ts +13 -1
  668. package/scripts/run/park/run-park-escalate.ts +102 -0
  669. package/scripts/run/park/run-stalled.ts +29 -7
  670. package/scripts/run/review/run-review-early-push.ts +6 -6
  671. package/scripts/run/ship/run-ship-stop-cause.ts +12 -1
  672. package/scripts/split/split-assess.ts +14 -5
  673. package/scripts/test/test-related-touched.ts +21 -3
  674. package/scripts/test/test-related.ts +1 -1
  675. package/dist/commands/chunk-6WEVLIZE.js +0 -29
  676. package/dist/commands/chunk-E2ZCUKHT.js +0 -274
  677. package/dist/commands/chunk-NMLCPYBN.js +0 -134
  678. package/dist/commands/chunk-QEIO2ZNQ.js +0 -324
  679. package/dist/commands/chunk-QWX7EBC6.js +0 -112
  680. package/dist/commands/chunk-RQRLW4XK.js +0 -20
  681. package/dist/commands/chunk-UCQJDYE3.js +0 -21
  682. package/dist/commands/chunk-W4YH2DF3.js +0 -58
  683. package/dist/commands/{chunk-LRA3PXHS.js → chunk-ENKFCOVY.js} +3 -3
  684. package/dist/commands/{chunk-RUWV4INF.js → chunk-HQGNXR6I.js} +3 -3
@@ -0,0 +1,335 @@
1
+ import {
2
+ run_ship_review,
3
+ run_ship_stop_cause
4
+ } from "./chunk-MRORPFSO.js";
5
+ import {
6
+ lane_relaunch
7
+ } from "./chunk-AC26ZUG5.js";
8
+ import {
9
+ api_auth
10
+ } from "./chunk-NUR4FQHM.js";
11
+ import {
12
+ lane_parked
13
+ } from "./chunk-FWU3H4TX.js";
14
+ import {
15
+ review_round
16
+ } from "./chunk-EKLU6QR7.js";
17
+ import {
18
+ review_attest
19
+ } from "./chunk-KIILCKQR.js";
20
+ import {
21
+ agent_argv
22
+ } from "./chunk-NU7W6QGT.js";
23
+ import {
24
+ review_prompt_level
25
+ } from "./chunk-E33LSO2W.js";
26
+ import {
27
+ agent_role_profile
28
+ } from "./chunk-6UCWAFQY.js";
29
+ import {
30
+ core_priority
31
+ } from "./chunk-TCBUX52E.js";
32
+ import {
33
+ detached_launch
34
+ } from "./chunk-C2SEDMZ3.js";
35
+ import {
36
+ lane_child_marker
37
+ } from "./chunk-QAHFPCFR.js";
38
+ import {
39
+ distributed_paths
40
+ } from "./chunk-66TGK5XL.js";
41
+ import {
42
+ agent_profile_schema
43
+ } from "./chunk-EZSO25UZ.js";
44
+ import {
45
+ lane_child_invocation,
46
+ run_ship_stop_context
47
+ } from "./chunk-EW4NPUMQ.js";
48
+ import {
49
+ run_ship_stage
50
+ } from "./chunk-OHNP3QL2.js";
51
+ import {
52
+ parse_json
53
+ } from "./chunk-XDF25GSU.js";
54
+ import {
55
+ error_text
56
+ } from "./chunk-CDY4NFQG.js";
57
+ import {
58
+ stamp_file
59
+ } from "./chunk-QWWTC3XR.js";
60
+ import {
61
+ PROJECT_ROOT
62
+ } from "./chunk-3CCGKX7Y.js";
63
+
64
+ // scripts/review/review-pair.ts
65
+ var PAIRED_ENV = "JOSH_REVIEWER_PAIRED";
66
+ var ENABLED_VALUE = "1";
67
+ var BRIEF_PREFIX = "josh-review-paired-brief-";
68
+ var FINDINGS_PREFIX = "josh-review-paired-findings-";
69
+ var LOG_PREFIX = "josh-review-paired-log-";
70
+ var PAIRED_PROFILE = agent_role_profile.VERIFICATION_PROFILES.anthropic;
71
+ function is_enabled(environment = process.env) {
72
+ return environment[PAIRED_ENV] === ENABLED_VALUE;
73
+ }
74
+ function paths(directory = PROJECT_ROOT) {
75
+ return {
76
+ brief: stamp_file.stamp_path(BRIEF_PREFIX, directory, ".md"),
77
+ findings: stamp_file.stamp_path(FINDINGS_PREFIX, directory, ".txt"),
78
+ log: stamp_file.stamp_path(LOG_PREFIX, directory, ".log")
79
+ };
80
+ }
81
+ function paired_brief(text, findings) {
82
+ const [level = "", ...rest] = text.split("\n");
83
+ return [
84
+ level,
85
+ "",
86
+ "## Paired comparison run \u2014 recorded only, never gating",
87
+ "",
88
+ `This overrides every attest and submit step below and your agent definition: never run \`review:attest\` or \`review:submit\`. Write your findings to ${findings}, one per line as \`<category>:<severity>:<file>[:<line>] \u2014 <sentence>\`, or the single line \`none\`.`,
89
+ "",
90
+ ...rest
91
+ ].join("\n");
92
+ }
93
+ function paired_opening(brief) {
94
+ return [
95
+ `${review_prompt_level.opening(brief)}Review this checkout as a paired /code-review, recorded only: read the review brief at ${brief}`,
96
+ "and follow its first section over everything else \u2014 never run review:attest or review:submit.",
97
+ "Review it yourself in this session and never launch a second reviewer."
98
+ ].join(" ");
99
+ }
100
+ function launch_note(brief) {
101
+ const opening = paired_opening(brief);
102
+ return [
103
+ `paired brief: ${brief}`,
104
+ `paired model: ${PAIRED_PROFILE.model} \xB7 effort ${PAIRED_PROFILE.effort}`,
105
+ `paired prompt: ${opening}`,
106
+ "Paired comparison on: launch a third `reviewer` beside round 1 with the paired model and prompt; when both return, run `pnpm josh review:pair --issue <N> --opus-agent <id> --sonnet-agent <id>` before `review:record`. Its result never gates."
107
+ ].join("\n");
108
+ }
109
+ function offer(text, environment = process.env, directory = PROJECT_ROOT) {
110
+ const { brief, findings } = paths(directory);
111
+ stamp_file.remove_stamp(findings);
112
+ if (!is_enabled(environment) || review_round.from_brief(text) === "2") {
113
+ stamp_file.remove_stamp(brief);
114
+ return void 0;
115
+ }
116
+ stamp_file.write_text_stamp(brief, `${paired_brief(text, findings)}
117
+ `);
118
+ return launch_note(brief);
119
+ }
120
+ function is_offered(directory = PROJECT_ROOT) {
121
+ return stamp_file.read_stamp_text(paths(directory).brief) !== void 0;
122
+ }
123
+ var review_pair = {
124
+ PAIRED_ENV,
125
+ PAIRED_PROFILE,
126
+ is_enabled,
127
+ is_offered,
128
+ offer,
129
+ opening: paired_opening,
130
+ paths
131
+ };
132
+
133
+ // scripts/lane/lane-session-action.ts
134
+ import { existsSync } from "node:fs";
135
+ import path from "node:path";
136
+
137
+ // scripts/review/review-pair-session.ts
138
+ import { z } from "zod";
139
+ var PAIR_COMMAND = "review:pair";
140
+ var OBJECT_OPENING = "{";
141
+ var record_schema = z.looseObject({});
142
+ var init_schema = z.object({
143
+ type: z.literal("system"),
144
+ subtype: z.literal("init"),
145
+ session_id: z.string().min(1)
146
+ });
147
+ function note(text) {
148
+ process.stderr.write(`paired reviewer: ${text}
149
+ `);
150
+ }
151
+ function session_in(line) {
152
+ if (!line.startsWith(OBJECT_OPENING)) return void 0;
153
+ const record = parse_json.parse_json_object_or_undefined(line, record_schema);
154
+ return init_schema.safeParse(record).data?.session_id;
155
+ }
156
+ function session_of(log_path) {
157
+ const lines = stamp_file.read_stamp_text(log_path)?.split("\n") ?? [];
158
+ return lines.map((line) => session_in(line.trim())).findLast((id) => id !== void 0);
159
+ }
160
+ async function run(directory, environment) {
161
+ const { brief, log } = review_pair.paths(directory);
162
+ const opening = review_pair.opening(brief);
163
+ const built = agent_argv.with_profile_in(opening, review_pair.PAIRED_PROFILE, directory);
164
+ if (built.kind === "rejected") {
165
+ note(`not started \u2014 ${built.note}`);
166
+ return;
167
+ }
168
+ stamp_file.remove_stamp(log);
169
+ const request = {
170
+ argv: built.argv,
171
+ cwd: directory,
172
+ log_path: log,
173
+ profile: built.profile,
174
+ env: environment
175
+ };
176
+ const result = await detached_launch.launch_attached(request, note);
177
+ if (result.kind === "failed") note(`not started \u2014 ${result.note}`);
178
+ }
179
+ async function launch(directory, environment) {
180
+ if (!review_pair.is_offered(directory)) return;
181
+ try {
182
+ await run(directory, environment);
183
+ } catch (error) {
184
+ note(`failed \u2014 ${error_text.message_of(error)}`);
185
+ }
186
+ }
187
+ function pair_argv(issue, code_log, directory) {
188
+ if (!review_pair.is_offered(directory)) return void 0;
189
+ const opus = session_of(code_log);
190
+ const sonnet = session_of(review_pair.paths(directory).log);
191
+ if (opus === void 0 || sonnet === void 0) return void 0;
192
+ return [PAIR_COMMAND, "--issue", issue, "--opus-agent", opus, "--sonnet-agent", sonnet];
193
+ }
194
+ var review_pair_session = { launch, pair_argv, session_of };
195
+
196
+ // scripts/lane/lane-session-action.ts
197
+ import { z as z2 } from "zod";
198
+ var BRIEF_PREFIX2 = "josh-ship-review-brief-";
199
+ var FINDINGS_PREFIX2 = "josh-ship-review-findings-";
200
+ var LOG_PREFIX2 = "josh-ship-review-log-";
201
+ var SUBMIT_SCRIPT = "scripts/review/review-submit-cli.ts";
202
+ var ANTHROPIC_PROVIDER = "anthropic";
203
+ var stop_schema = z2.object({
204
+ stage: z2.enum(run_ship_stage.STAGE),
205
+ title: z2.string(),
206
+ flags: z2.array(z2.string()).readonly(),
207
+ is_review: z2.boolean(),
208
+ unpinned_ok: z2.array(z2.string()).readonly().exactOptional(),
209
+ conflicts: z2.array(z2.string()).readonly().default([]),
210
+ cause: z2.enum(run_ship_stop_cause.CAUSE).exactOptional(),
211
+ is_review_stale: z2.boolean().exactOptional(),
212
+ context: run_ship_stop_context.stop_context_schema.exactOptional()
213
+ }).strict();
214
+ var slots_schema = z2.array(z2.enum(review_attest.REVIEW_SLOTS)).readonly();
215
+ var action_schema = z2.discriminatedUnion("kind", [
216
+ z2.object({
217
+ kind: z2.literal("review"),
218
+ round: z2.enum(["1", "2"]),
219
+ slots: slots_schema.exactOptional()
220
+ }).strict(),
221
+ z2.object({ kind: z2.literal("relaunch"), stop: stop_schema }).strict()
222
+ ]);
223
+ var request_schema = z2.object({ session: z2.uuid(), nonce: z2.uuid(), action: action_schema }).strict();
224
+ var SUCCESS = { is_success: true };
225
+ function failure(reason) {
226
+ return { is_success: false, reason };
227
+ }
228
+ function review_paths(directory, slot = review_attest.REVIEW_SLOT.CODE) {
229
+ const prefix = slot === review_attest.REVIEW_SLOT.CODE ? "" : "interaction-";
230
+ return {
231
+ brief: stamp_file.stamp_path(`${BRIEF_PREFIX2}${prefix}`, directory, ".md"),
232
+ findings: stamp_file.stamp_path(`${FINDINGS_PREFIX2}${prefix}`, directory, ".txt"),
233
+ log: stamp_file.stamp_path(`${LOG_PREFIX2}${prefix}`, directory, ".log")
234
+ };
235
+ }
236
+ function provider_of(lane) {
237
+ return lane.profile?.provider ?? ANTHROPIC_PROVIDER;
238
+ }
239
+ function action_slots(action) {
240
+ return action.slots ?? [review_attest.REVIEW_SLOT.CODE];
241
+ }
242
+ function has_submit(directory) {
243
+ return [SUBMIT_SCRIPT, `${distributed_paths.KIT_PACKAGE_PATH_PREFIX}${SUBMIT_SCRIPT}`].some(
244
+ (script) => existsSync(path.join(directory, script))
245
+ );
246
+ }
247
+ function review_prompt(lane, action, slot) {
248
+ const { brief, findings } = review_paths(lane.directory, slot);
249
+ const round_prompt = action.round === "1" ? run_ship_review.reviewer_prompt : run_ship_review.verification_prompt;
250
+ const prompt_of = run_ship_review.slot_prompt(round_prompt, slot, action_slots(action));
251
+ const tail = lane_child_invocation.review_invocation(lane.issue);
252
+ const findings_path = has_submit(lane.directory) ? void 0 : findings;
253
+ return `${prompt_of(brief, slot, lane.issue, findings_path)} This is ${tail}`;
254
+ }
255
+ function exited_answer(exit_code, log_path) {
256
+ const exited = `the reviewer exited with code ${String(exit_code)}`;
257
+ if (!api_auth.is_auth_failed_transcript(stamp_file.read_stamp_text(log_path))) {
258
+ return failure(exited);
259
+ }
260
+ return failure(`${api_auth.AUTH_FAILURE_NOTE}: ${exited}`);
261
+ }
262
+ function reviewer_answer(result, log_path) {
263
+ if (result.kind === "failed") return failure(`the reviewer could not start: ${result.note}`);
264
+ return result.exit_code === 0 ? SUCCESS : exited_answer(result.exit_code, log_path);
265
+ }
266
+ function reviewer_environment(lane) {
267
+ return { ...lane_child_marker.env_for(lane.issue), ...core_priority.PRIORITY_ENVIRONMENT };
268
+ }
269
+ async function launch_review(lane, action, slot) {
270
+ const target = review_paths(lane.directory, slot);
271
+ const prompt = review_prompt(lane, action, slot);
272
+ const built = agent_argv.review_in(prompt, Number(action.round), lane.directory);
273
+ if (built.kind === "rejected") return failure(`the reviewer profile was rejected: ${built.note}`);
274
+ if (built.profile.provider !== provider_of(lane)) {
275
+ return failure(`the reviewer resolved to ${built.profile.provider}, not the lane's provider`);
276
+ }
277
+ console.error(agent_profile_schema.describe_review(Number(action.round), built.profile));
278
+ const result = await detached_launch.launch_attached(
279
+ {
280
+ argv: built.argv,
281
+ cwd: lane.directory,
282
+ log_path: target.log,
283
+ profile: built.profile,
284
+ env: reviewer_environment(lane)
285
+ },
286
+ console.error
287
+ );
288
+ return reviewer_answer(result, target.log);
289
+ }
290
+ async function launch_pair(lane, action) {
291
+ if (action.round !== "1" || !action_slots(action).includes(review_attest.REVIEW_SLOT.CODE)) return;
292
+ await review_pair_session.launch(lane.directory, reviewer_environment(lane));
293
+ }
294
+ async function launch_reviews(lane, action) {
295
+ const [answers] = await Promise.all([
296
+ Promise.all(action_slots(action).map(async (slot) => await launch_review(lane, action, slot))),
297
+ launch_pair(lane, action)
298
+ ]);
299
+ return answers.find((reply) => !reply.is_success) ?? SUCCESS;
300
+ }
301
+ async function relaunch(lane, stop) {
302
+ if (lane_relaunch.is_openai_lane(lane)) {
303
+ return failure("an OpenAI lane is relaunched by its own supervisor");
304
+ }
305
+ const invocation = lane_child_invocation.ship_stop_invocation(lane.issue, stop);
306
+ const phase = agent_profile_schema.IMPLEMENTATION_PHASE;
307
+ const result = await lane_relaunch.relaunch(lane, invocation, phase, console.error);
308
+ return result.kind === "launched" ? SUCCESS : failure(`the relaunch did not start: ${result.note}`);
309
+ }
310
+ async function perform(lane, action) {
311
+ if (await lane_parked.is_parked(lane.issue)) return failure("the issue is parked");
312
+ if (action.kind === "relaunch") return await relaunch(lane, action.stop);
313
+ return await launch_reviews(lane, action);
314
+ }
315
+ async function answer(lane, action) {
316
+ try {
317
+ return await perform(lane, action);
318
+ } catch (error) {
319
+ return failure(`the broker failed: ${error_text.message_of(error)}`);
320
+ }
321
+ }
322
+ var lane_session_action = {
323
+ SUCCESS,
324
+ action_schema,
325
+ answer,
326
+ failure,
327
+ request_schema,
328
+ review_paths
329
+ };
330
+
331
+ export {
332
+ review_pair,
333
+ review_pair_session,
334
+ lane_session_action
335
+ };
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  review_reviewed_tree
3
- } from "./chunk-Q3463XNL.js";
3
+ } from "./chunk-GITT5A5A.js";
4
4
  import {
5
5
  review_record
6
- } from "./chunk-BCK5LW4F.js";
6
+ } from "./chunk-JVKXJ763.js";
7
7
  import {
8
8
  issue_watch_gate
9
- } from "./chunk-D3SHCUBC.js";
9
+ } from "./chunk-OVWPZDWP.js";
10
10
  import {
11
11
  run_preflight
12
- } from "./chunk-VD72V5VX.js";
13
- import {
14
- run_hold
15
- } from "./chunk-P4CWLRT2.js";
12
+ } from "./chunk-AJ65WNJB.js";
16
13
  import {
17
14
  git_worktree
18
15
  } from "./chunk-W3FX7FYN.js";
16
+ import {
17
+ run_hold
18
+ } from "./chunk-X3TNPALI.js";
19
19
  import {
20
20
  run_ship_stage
21
21
  } from "./chunk-OHNP3QL2.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  scoped_green
3
- } from "./chunk-BK6Q4VCA.js";
3
+ } from "./chunk-WTH6NTXU.js";
4
4
  import {
5
5
  verification_inputs
6
- } from "./chunk-REMKUFAC.js";
6
+ } from "./chunk-34KZDKQJ.js";
7
7
  import {
8
8
  input_fingerprint
9
9
  } from "./chunk-MGF64OHV.js";
@@ -0,0 +1,65 @@
1
+ import {
2
+ observation_ledger_home
3
+ } from "./chunk-WWVYEHQT.js";
4
+ import {
5
+ json_value
6
+ } from "./chunk-HIU2WXB6.js";
7
+
8
+ // scripts/hooks/hook-ledger-read.ts
9
+ import { readFile } from "node:fs/promises";
10
+ import path from "node:path";
11
+ import { z } from "zod";
12
+ var LEDGER_EXTENSION = ".jsonl";
13
+ var HOURS_PER_DAY = 24;
14
+ var MS_PER_HOUR = 36e5;
15
+ var MS_PER_DAY = HOURS_PER_DAY * MS_PER_HOUR;
16
+ var KEY_SEPARATOR = " ";
17
+ var line_schema = z.object({
18
+ at: z.string(),
19
+ hook: z.string(),
20
+ rule: z.string(),
21
+ tool: z.string(),
22
+ session: z.string(),
23
+ command: z.string()
24
+ });
25
+ function period_start(period_days, now) {
26
+ return now.getTime() - period_days * MS_PER_DAY;
27
+ }
28
+ function day_files(directory, period_days, now) {
29
+ const count = Math.ceil(period_days) + 1;
30
+ const days = Array.from(
31
+ { length: count },
32
+ (_, index) => observation_ledger_home.ledger_date(new Date(now.getTime() - (count - 1 - index) * MS_PER_DAY))
33
+ );
34
+ return days.map((day) => path.join(directory, `${day}${LEDGER_EXTENSION}`));
35
+ }
36
+ async function read_text(file) {
37
+ try {
38
+ return await readFile(file, "utf8");
39
+ } catch {
40
+ return "";
41
+ }
42
+ }
43
+ function lines_of(text) {
44
+ return text.split("\n").map((line) => json_value.parse_with(line, line_schema)).filter((line) => line !== void 0);
45
+ }
46
+ async function read_lines(directory, period_days, now) {
47
+ const files = day_files(directory, period_days, now);
48
+ const texts = await Promise.all(files.map(async (file) => await read_text(file)));
49
+ const start = period_start(period_days, now);
50
+ return texts.flatMap((text) => lines_of(text)).filter((line) => Date.parse(line.at) >= start);
51
+ }
52
+ function group(lines) {
53
+ const groups = /* @__PURE__ */ new Map();
54
+ for (const line of lines) {
55
+ const key = `${line.hook}${KEY_SEPARATOR}${line.rule}`;
56
+ const found = groups.get(key) ?? { hook: line.hook, rule: line.rule, lines: [] };
57
+ groups.set(key, { ...found, lines: [...found.lines, line] });
58
+ }
59
+ return [...groups.values()].toSorted((left, right) => right.lines.length - left.lines.length);
60
+ }
61
+ var hook_ledger_read = { group, period_start, read_lines };
62
+
63
+ export {
64
+ hook_ledger_read
65
+ };
@@ -1,13 +1,17 @@
1
1
  import {
2
2
  agent_diagnostics,
3
3
  claude_agent_argv
4
- } from "./chunk-OHVAEJSM.js";
4
+ } from "./chunk-DEZF7QZZ.js";
5
5
  import {
6
6
  review_prompt_level
7
7
  } from "./chunk-E33LSO2W.js";
8
8
  import {
9
+ agent_worker_profile
10
+ } from "./chunk-FVDQNMP6.js";
11
+ import {
12
+ agent_phase_profile,
9
13
  agent_role_profile
10
- } from "./chunk-RIQ75QWR.js";
14
+ } from "./chunk-6UCWAFQY.js";
11
15
  import {
12
16
  agent_session_role
13
17
  } from "./chunk-U3IVVR4W.js";
@@ -15,6 +19,26 @@ import {
15
19
  agent_profile_schema
16
20
  } from "./chunk-EZSO25UZ.js";
17
21
 
22
+ // scripts/agent/agent-ship-cap.ts
23
+ function has_phase_model(profile, phase) {
24
+ return agent_phase_profile.phase_model(profile.role, profile.provider, phase, {}) !== void 0;
25
+ }
26
+ function weaker(profile, resolved) {
27
+ const { worker, settings } = resolved;
28
+ const rank = settings.profiles.findIndex((entry) => entry.agent.model === profile.model);
29
+ const limit = settings.profiles.findIndex((entry) => entry.name === worker.name);
30
+ return rank <= limit ? profile : { ...profile, model: worker.agent.model };
31
+ }
32
+ function capped_by(profile, result) {
33
+ if (result.kind === "unset") return { kind: "profile", profile };
34
+ return result.kind === "rejected" ? result : { kind: "profile", profile: weaker(profile, result) };
35
+ }
36
+ async function capped(resolved, phase, worker) {
37
+ if (resolved.kind === "rejected" || !has_phase_model(resolved.profile, phase)) return resolved;
38
+ return capped_by(resolved.profile, await worker());
39
+ }
40
+ var agent_ship_cap = { capped };
41
+
18
42
  // scripts/agent/codex-agent-argv.ts
19
43
  import path from "node:path";
20
44
  var AGENT_COMMAND = "codex";
@@ -96,9 +120,14 @@ function resolve(invocation, role, environment = process.env) {
96
120
  function profiled_in(invocation, resolved, cwd) {
97
121
  return resolved.kind === "rejected" ? resolved : with_profile_in(invocation, resolved.profile, cwd);
98
122
  }
99
- function resume_argv(invocation, profile, phase, cwd) {
123
+ async function resume_argv(invocation, profile, phase, site) {
100
124
  const resolved = profile === void 0 ? agent_role_profile.resolve(agent_role_profile.WORKER, process.env, phase) : agent_role_profile.with_phase(profile, phase);
101
- return profiled_in(invocation, resolved, cwd);
125
+ const capped2 = await agent_ship_cap.capped(
126
+ resolved,
127
+ phase,
128
+ async () => await agent_worker_profile.resolve(site.cwd, site.labels)
129
+ );
130
+ return profiled_in(invocation, capped2, site.cwd);
102
131
  }
103
132
  function resolve_in(invocation, role, cwd, environment = process.env) {
104
133
  return profiled_in(invocation, agent_role_profile.resolve(role, environment), cwd);
@@ -0,0 +1,21 @@
1
+ import {
2
+ agent_exit_record
3
+ } from "./chunk-GPTO6IZG.js";
4
+
5
+ // scripts/agent/api-auth.ts
6
+ var AUTH_MARKERS = ["failed to authenticate"];
7
+ var AUTH_FAILURE_NOTE = "the session could not authenticate \u2014 a person has to run /login";
8
+ function is_auth_failure(record) {
9
+ if (record === void 0 || !record.is_error || record.reason === void 0) return false;
10
+ const lower = record.reason.toLowerCase();
11
+ return AUTH_MARKERS.some((marker) => lower.includes(marker));
12
+ }
13
+ function is_auth_failed_transcript(transcript) {
14
+ if (transcript === void 0 || !agent_exit_record.ends_on_exit_record(transcript)) return false;
15
+ return is_auth_failure(agent_exit_record.read_exit_record(transcript));
16
+ }
17
+ var api_auth = { AUTH_FAILURE_NOTE, is_auth_failed_transcript, is_auth_failure };
18
+
19
+ export {
20
+ api_auth
21
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  delivered_rules
3
- } from "./chunk-S7XWXG4M.js";
3
+ } from "./chunk-CP2J4RV2.js";
4
4
 
5
5
  // scripts/rules/stop-rule-rows.ts
6
6
  var STOP_GUARD = "pnpm josh stop:guard";
@@ -0,0 +1,32 @@
1
+ // scripts/init/hook-launch.ts
2
+ var HOOK_DIST_DIR = "dist/hooks";
3
+ var RUN_HOOK_SCRIPT = "scripts/hooks/run-hook.sh";
4
+ var ROOT_LOOKUP = "git rev-parse --show-toplevel";
5
+ var CLAUDE_ROOT = "$CLAUDE_PROJECT_DIR";
6
+ var CODEX_ROOT = `$( (unset GIT_DIR GIT_WORK_TREE; ${ROOT_LOOKUP} 2>/dev/null) || ${ROOT_LOOKUP})`;
7
+ function rooted_path(root, relative_path) {
8
+ return `"${root}/${relative_path}"`;
9
+ }
10
+ function hook_launch_command(name, root = CLAUDE_ROOT) {
11
+ return `sh ${rooted_path(root, RUN_HOOK_SCRIPT)} ${name}`;
12
+ }
13
+ function codex_command(command) {
14
+ return command.split(`"${CLAUDE_ROOT}/`).join(`"${CODEX_ROOT}/`);
15
+ }
16
+ function fallback_command(name) {
17
+ return name.replace("-", ":");
18
+ }
19
+ var hook_launch = {
20
+ CLAUDE_ROOT,
21
+ codex_command,
22
+ CODEX_ROOT,
23
+ fallback_command,
24
+ HOOK_DIST_DIR,
25
+ hook_launch_command,
26
+ rooted_path,
27
+ RUN_HOOK_SCRIPT
28
+ };
29
+
30
+ export {
31
+ hook_launch
32
+ };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  run_hold_cli
3
- } from "./chunk-WTRDWEUQ.js";
3
+ } from "./chunk-4ZQM4I7R.js";
4
4
  import {
5
5
  run_hold
6
- } from "./chunk-P4CWLRT2.js";
6
+ } from "./chunk-X3TNPALI.js";
7
7
  import {
8
8
  session_cite
9
- } from "./chunk-X7PN54LZ.js";
9
+ } from "./chunk-22DVQCP6.js";
10
10
 
11
11
  // scripts/run/park/run-park-release.ts
12
12
  var SUCCESS_EXIT_CODE = 0;
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  repository_labels
3
- } from "./chunk-DSBK66US.js";
3
+ } from "./chunk-FOKCRIAN.js";
4
4
  import {
5
5
  auto_merge_setting,
6
6
  security_updates
7
7
  } from "./chunk-A6T2N7VC.js";
8
8
  import {
9
9
  self_sync_guard
10
- } from "./chunk-OGNTJ5JB.js";
10
+ } from "./chunk-LYO6TX5L.js";
11
11
  import {
12
12
  package_manager_version
13
13
  } from "./chunk-AWLYN2SP.js";
14
14
  import {
15
15
  project_checks
16
- } from "./chunk-RK4HE5NW.js";
16
+ } from "./chunk-JM6EVOFN.js";
17
17
  import {
18
18
  DEFAULT_RELEASE_AGE_MINUTES,
19
19
  copy_directory_failure,
@@ -30,7 +30,7 @@ import {
30
30
  sonar_file,
31
31
  transform_copied_content,
32
32
  vscode_tasks
33
- } from "./chunk-XH6BGVVP.js";
33
+ } from "./chunk-LX7TIEMI.js";
34
34
  import {
35
35
  gh_spawn
36
36
  } from "./chunk-3PEXBHRN.js";
@@ -38,7 +38,7 @@ import {
38
38
  PLUGIN_SKILL_DIRECTORIES,
39
39
  init_logic,
40
40
  json_format
41
- } from "./chunk-RZ4OKKPM.js";
41
+ } from "./chunk-5ZNUH4LV.js";
42
42
  import {
43
43
  KIT_PACKAGE_NAME
44
44
  } from "./chunk-PBOS7MTW.js";
@@ -54,7 +54,7 @@ import {
54
54
  import {
55
55
  PACKAGE_JSON,
56
56
  package_manifest
57
- } from "./chunk-NKKH3PBE.js";
57
+ } from "./chunk-WB4T3VY2.js";
58
58
  import {
59
59
  file_reader
60
60
  } from "./chunk-ZNX2LJCQ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  git_gh_issue_write
3
- } from "./chunk-U2UH4VM4.js";
3
+ } from "./chunk-RN2YDNLF.js";
4
4
 
5
5
  // scripts/issue/issue-park.ts
6
6
  async function apply(issue, label, body) {