@joshuafolkken/kit 1.2116.0 → 1.3000.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 (2163) hide show
  1. package/.claude/agents/design-consultant.md +19 -0
  2. package/.claude/agents/investigator.md +12 -2
  3. package/.claude/agents/reviewer-verification.md +13 -2
  4. package/.claude/agents/reviewer.md +13 -2
  5. package/.claude/settings.json +32 -9
  6. package/.claude/skills/dependency-update/SKILL.md +11 -14
  7. package/.claude/skills/epic-commands/SKILL.md +8 -6
  8. package/.claude/skills/epic-commands/epic-bundle.md +6 -7
  9. package/.claude/skills/verify-ui/SKILL.md +13 -23
  10. package/.claude/skills/workflow-commands/SKILL.md +19 -18
  11. package/.claude/skills/workflow-commands/background-commands.md +7 -4
  12. package/.claude/skills/workflow-commands/backlogrun-child.md +31 -64
  13. package/.claude/skills/workflow-commands/backlogrun-lanes.md +54 -62
  14. package/.claude/skills/workflow-commands/backlogrun-park.md +65 -64
  15. package/.claude/skills/workflow-commands/backlogrun-progress.md +30 -44
  16. package/.claude/skills/workflow-commands/backlogrun-recovery.md +18 -33
  17. package/.claude/skills/workflow-commands/backlogrun-steps.md +62 -50
  18. package/.claude/skills/workflow-commands/backlogrun.md +13 -18
  19. package/.claude/skills/workflow-commands/chain-rule.md +54 -53
  20. package/.claude/skills/workflow-commands/delegation.md +11 -11
  21. package/.claude/skills/workflow-commands/entry-sequence.md +23 -34
  22. package/.claude/skills/workflow-commands/followup.md +19 -17
  23. package/.claude/skills/workflow-commands/fullrun-lane.md +11 -0
  24. package/.claude/skills/workflow-commands/fullrun-steps.md +27 -34
  25. package/.claude/skills/workflow-commands/fullrun.md +5 -6
  26. package/.claude/skills/workflow-commands/halfrun.md +4 -7
  27. package/.claude/skills/workflow-commands/issue-comments.md +29 -15
  28. package/.claude/skills/workflow-commands/issue-fold-existing.md +9 -14
  29. package/.claude/skills/workflow-commands/issue-scout.md +5 -8
  30. package/.claude/skills/workflow-commands/kickoff.md +25 -34
  31. package/.claude/skills/workflow-commands/latest-gate.md +6 -14
  32. package/.claude/skills/workflow-commands/needs-human-review.md +3 -3
  33. package/.claude/skills/workflow-commands/observation-filing.md +9 -7
  34. package/.claude/skills/workflow-commands/observation-ledger.md +4 -1
  35. package/.claude/skills/workflow-commands/pre-gate-cut.md +21 -26
  36. package/.claude/skills/workflow-commands/prerequisite.md +21 -6
  37. package/.claude/skills/workflow-commands/progress-watcher.md +8 -18
  38. package/.claude/skills/workflow-commands/prrun.md +1 -1
  39. package/.claude/skills/workflow-commands/retrospective.md +16 -15
  40. package/.claude/skills/workflow-commands/split-assessment.md +32 -22
  41. package/.claude/skills/workflow-commands/target-repository.md +2 -2
  42. package/.claude/skills/workflow-commands/working-tree-hold.md +3 -2
  43. package/.codex/hooks.json +18 -8
  44. package/.cursorrules +1 -2
  45. package/.github/actions/change-scope/action.yml +19 -0
  46. package/.github/actions/setup-pnpm/action.yml +87 -14
  47. package/.github/dependabot.yml +1 -0
  48. package/.github/workflows/ci.yml +74 -30
  49. package/.github/workflows/publish.yml +56 -14
  50. package/.github/workflows/sonar-qube.yml +28 -1
  51. package/.prettierignore +2 -0
  52. package/AGENTS.md +1 -2
  53. package/CLAUDE.md +8 -8
  54. package/GEMINI.md +1 -2
  55. package/README.md +1 -1
  56. package/SECURITY.md +11 -1
  57. package/cspell/index.yaml +11 -0
  58. package/dist/.inputs-verified.json +1 -0
  59. package/dist/CLAUDE.md +8 -8
  60. package/dist/commands/adopt.js +222 -0
  61. package/dist/commands/auth-setup-cli.js +127 -0
  62. package/dist/commands/auto-ok-judge-cli.js +223 -0
  63. package/dist/commands/auto-ok-main.js +136 -0
  64. package/dist/commands/backlog-budget-main.js +146 -0
  65. package/dist/commands/backlog-drive-cli.js +1935 -0
  66. package/dist/commands/backlog-next-main.js +186 -0
  67. package/dist/commands/backlog-offer-main.js +190 -0
  68. package/dist/commands/backlog-plan-cli.js +329 -0
  69. package/dist/commands/backlog-triage-cli.js +642 -0
  70. package/dist/commands/backlogrun-cli.js +829 -0
  71. package/dist/commands/behavior-cli.js +216 -0
  72. package/dist/commands/bump-version-main.js +22 -0
  73. package/dist/commands/bytes-command.js +208 -0
  74. package/dist/commands/cases-cli.js +57 -0
  75. package/dist/commands/check-commit-message-main.js +22 -0
  76. package/dist/commands/check-related.js +551 -0
  77. package/dist/commands/chunk-23GH6B3D.js +333 -0
  78. package/dist/commands/chunk-2ADQ5XRD.js +36 -0
  79. package/dist/commands/chunk-2CXAVVST.js +20 -0
  80. package/dist/commands/chunk-2DJLAUYB.js +109 -0
  81. package/dist/commands/chunk-2FE3C4PH.js +112 -0
  82. package/dist/commands/chunk-2FJJYCBD.js +149 -0
  83. package/dist/commands/chunk-2IESYBZH.js +34 -0
  84. package/dist/commands/chunk-2MJ4OCDL.js +188 -0
  85. package/dist/commands/chunk-2NSB5ZYQ.js +26 -0
  86. package/dist/commands/chunk-2OIX4JLA.js +37 -0
  87. package/dist/commands/chunk-2TQXCH2K.js +145 -0
  88. package/dist/commands/chunk-2VLHFILE.js +52 -0
  89. package/dist/commands/chunk-2VRITY55.js +41 -0
  90. package/dist/commands/chunk-2YCKPX3A.js +25 -0
  91. package/dist/commands/chunk-32SNWQJP.js +99 -0
  92. package/dist/commands/chunk-337QQM4C.js +136 -0
  93. package/dist/commands/chunk-34DND4BA.js +104 -0
  94. package/dist/commands/chunk-34LAULSC.js +352 -0
  95. package/dist/commands/chunk-36LOGVJ7.js +38 -0
  96. package/dist/commands/chunk-36M2UV6C.js +80 -0
  97. package/dist/commands/chunk-3BNNMJOT.js +702 -0
  98. package/dist/commands/chunk-3CCGKX7Y.js +20 -0
  99. package/dist/commands/chunk-3EO2XN3A.js +124 -0
  100. package/dist/commands/chunk-3GF52L5F.js +271 -0
  101. package/dist/commands/chunk-3HU3LPIF.js +113 -0
  102. package/dist/commands/chunk-3LZXX5GL.js +50 -0
  103. package/dist/commands/chunk-3NWAGIA6.js +39 -0
  104. package/dist/commands/chunk-3PEXBHRN.js +33 -0
  105. package/dist/commands/chunk-3RIQ36LH.js +110 -0
  106. package/dist/commands/chunk-3UKJFWKS.js +170 -0
  107. package/dist/commands/chunk-3WRQP3QE.js +47 -0
  108. package/dist/commands/chunk-3WWQFCGX.js +18 -0
  109. package/dist/commands/chunk-3ZEO3KOM.js +35 -0
  110. package/dist/commands/chunk-4BEIYKI2.js +76 -0
  111. package/dist/commands/chunk-4D5KWMFL.js +461 -0
  112. package/dist/commands/chunk-4DVM57T7.js +86 -0
  113. package/dist/commands/chunk-4EADHJVC.js +247 -0
  114. package/dist/commands/chunk-4G7NKNAZ.js +114 -0
  115. package/dist/commands/chunk-4HBVHYNL.js +73 -0
  116. package/dist/commands/chunk-4LWRCPS5.js +114 -0
  117. package/dist/commands/chunk-4P2LCVGO.js +211 -0
  118. package/dist/commands/chunk-4PES3BAA.js +263 -0
  119. package/dist/commands/chunk-4PUKDAXL.js +42 -0
  120. package/dist/commands/chunk-4Q4FXBUQ.js +99 -0
  121. package/dist/commands/chunk-4QYW2IL7.js +82 -0
  122. package/dist/commands/chunk-4YI4SLRJ.js +161 -0
  123. package/dist/commands/chunk-4Z5723GA.js +350 -0
  124. package/dist/commands/chunk-4ZHWTTQW.js +99 -0
  125. package/dist/commands/chunk-55I7OYHI.js +98 -0
  126. package/dist/commands/chunk-5GBZ43UA.js +58 -0
  127. package/dist/commands/chunk-5HCPSV45.js +800 -0
  128. package/dist/{hooks/chunk-OPSRGWFU.js → commands/chunk-5HVYOIIK.js} +1 -1
  129. package/dist/commands/chunk-5HWZFL4D.js +4175 -0
  130. package/dist/commands/chunk-5PAEXYIY.js +234 -0
  131. package/dist/commands/chunk-5SB37YDW.js +321 -0
  132. package/dist/commands/chunk-5TMAPYQD.js +19 -0
  133. package/dist/commands/chunk-5WIZR5SC.js +313 -0
  134. package/dist/commands/chunk-5Y7QQYTU.js +232 -0
  135. package/dist/commands/chunk-5ZTQX7OS.js +125 -0
  136. package/dist/commands/chunk-65E4OZJ7.js +9 -0
  137. package/dist/commands/chunk-66NX6EXR.js +29 -0
  138. package/dist/commands/chunk-66TGK5XL.js +84 -0
  139. package/dist/commands/chunk-6CJXLPRI.js +72 -0
  140. package/dist/commands/chunk-6EU5ZCDP.js +402 -0
  141. package/dist/commands/chunk-6FWV56B3.js +40 -0
  142. package/dist/commands/chunk-6HRRZANN.js +55 -0
  143. package/dist/commands/chunk-6I2JM5UX.js +134 -0
  144. package/dist/commands/chunk-6JVNRY5A.js +29 -0
  145. package/dist/commands/chunk-6NGNMIMT.js +20 -0
  146. package/dist/commands/chunk-6NRTLH6I.js +51 -0
  147. package/dist/commands/chunk-6NV2F7QH.js +47 -0
  148. package/dist/commands/chunk-6OP63TBT.js +78 -0
  149. package/dist/commands/chunk-6Q3XUCLM.js +204 -0
  150. package/dist/commands/chunk-6SKMZGER.js +148 -0
  151. package/dist/commands/chunk-6TESOL3L.js +173 -0
  152. package/dist/commands/chunk-6UGFS3EU.js +704 -0
  153. package/dist/commands/chunk-6VTJO5L2.js +38 -0
  154. package/dist/commands/chunk-6WEVLIZE.js +29 -0
  155. package/dist/commands/chunk-6WKJ3GDA.js +408 -0
  156. package/dist/commands/chunk-6WTVAL4D.js +115 -0
  157. package/dist/commands/chunk-72EW7AVI.js +59 -0
  158. package/dist/commands/chunk-72J2G2E7.js +1189 -0
  159. package/dist/commands/chunk-73EBNBUW.js +90 -0
  160. package/dist/commands/chunk-73JOEKIC.js +169 -0
  161. package/dist/commands/chunk-73KBUQKI.js +41 -0
  162. package/dist/commands/chunk-7CHCZBNF.js +555 -0
  163. package/dist/commands/chunk-7EAMUVIO.js +326 -0
  164. package/dist/commands/chunk-7GHOFHUS.js +48 -0
  165. package/dist/commands/chunk-7GMTJDO2.js +469 -0
  166. package/dist/commands/chunk-7HCPRVMB.js +76 -0
  167. package/dist/commands/chunk-7IT23HIR.js +306 -0
  168. package/dist/commands/chunk-7IZJ5MG2.js +72 -0
  169. package/dist/commands/chunk-7LJQMM2K.js +102 -0
  170. package/dist/commands/chunk-7MOZEEFJ.js +350 -0
  171. package/dist/commands/chunk-7P4X4TQL.js +507 -0
  172. package/dist/commands/chunk-7S6VRZOH.js +223 -0
  173. package/dist/commands/chunk-7V5UVKFG.js +20 -0
  174. package/dist/commands/chunk-7W3D3WRW.js +171 -0
  175. package/dist/commands/chunk-7ZECP3J6.js +212 -0
  176. package/dist/commands/chunk-A3D2XHOJ.js +387 -0
  177. package/dist/commands/chunk-A4HOQKOG.js +85 -0
  178. package/dist/commands/chunk-A5V7EWIX.js +85 -0
  179. package/dist/commands/chunk-A6T2N7VC.js +159 -0
  180. package/dist/commands/chunk-AI5K4QJO.js +72 -0
  181. package/dist/commands/chunk-AJWR7D3H.js +15 -0
  182. package/dist/commands/chunk-AKK56GNX.js +205 -0
  183. package/dist/commands/chunk-AKQYYHP2.js +461 -0
  184. package/dist/commands/chunk-AM44D7NF.js +52 -0
  185. package/dist/commands/chunk-ANUTT56I.js +85 -0
  186. package/dist/commands/chunk-AQ3PMSXK.js +76 -0
  187. package/dist/commands/chunk-AS3GWVAN.js +45 -0
  188. package/dist/commands/chunk-ATRMETHT.js +23 -0
  189. package/dist/commands/chunk-AVUGMOHZ.js +210 -0
  190. package/dist/commands/chunk-AWLYN2SP.js +64 -0
  191. package/dist/commands/chunk-AZUE65NT.js +77 -0
  192. package/dist/commands/chunk-B2EA2HCY.js +119 -0
  193. package/dist/commands/chunk-B33BTNB4.js +87 -0
  194. package/dist/commands/chunk-B3XFOHDX.js +71 -0
  195. package/dist/commands/chunk-B5GXZK3E.js +34 -0
  196. package/dist/commands/chunk-B77ZMVHS.js +80 -0
  197. package/dist/commands/chunk-BCK5LW4F.js +45 -0
  198. package/dist/commands/chunk-BEE7OAQ5.js +210 -0
  199. package/dist/commands/chunk-BF6YX4HE.js +70 -0
  200. package/dist/commands/chunk-BFLFPKQQ.js +46 -0
  201. package/dist/commands/chunk-BHRS7HAM.js +272 -0
  202. package/dist/commands/chunk-BIKGPT52.js +29 -0
  203. package/dist/commands/chunk-BJA5U4Q7.js +75 -0
  204. package/dist/commands/chunk-BJKEXXY6.js +15 -0
  205. package/dist/commands/chunk-BK6Q4VCA.js +128 -0
  206. package/dist/commands/chunk-BNXE3NVB.js +107 -0
  207. package/dist/commands/chunk-BPSJSHYD.js +209 -0
  208. package/dist/commands/chunk-BRFQBJ5Y.js +132 -0
  209. package/dist/commands/chunk-BY3POLIQ.js +104 -0
  210. package/dist/commands/chunk-BYSPYVLD.js +130 -0
  211. package/dist/commands/chunk-C26LKDBE.js +60 -0
  212. package/dist/commands/chunk-C2SEDMZ3.js +238 -0
  213. package/dist/commands/chunk-C6QSVO5K.js +56 -0
  214. package/dist/commands/chunk-CA6F5OXK.js +809 -0
  215. package/dist/commands/chunk-CADFBQJJ.js +75 -0
  216. package/dist/commands/chunk-CDY4NFQG.js +15 -0
  217. package/dist/commands/chunk-CGLLAEKZ.js +110 -0
  218. package/dist/commands/chunk-CHX4QTP4.js +133 -0
  219. package/dist/commands/chunk-CJAA5GAF.js +418 -0
  220. package/dist/commands/chunk-CJKPF5DJ.js +156 -0
  221. package/dist/commands/chunk-CJSFC5YI.js +158 -0
  222. package/dist/commands/chunk-CRNPPKP2.js +99 -0
  223. package/dist/commands/chunk-CUR2WNYB.js +42 -0
  224. package/dist/commands/chunk-CYQ3ZF7R.js +372 -0
  225. package/dist/commands/chunk-D3SHCUBC.js +64 -0
  226. package/dist/commands/chunk-D4HNS43Q.js +208 -0
  227. package/dist/commands/chunk-D4SZK7H2.js +34 -0
  228. package/dist/commands/chunk-D5HIP4HT.js +289 -0
  229. package/dist/commands/chunk-D5TAR6TV.js +71 -0
  230. package/dist/commands/chunk-DAJCUSPG.js +127 -0
  231. package/dist/commands/chunk-DBKTFB5V.js +18 -0
  232. package/dist/commands/chunk-DIB2Z2OS.js +307 -0
  233. package/dist/commands/chunk-DJVMC3U2.js +131 -0
  234. package/dist/commands/chunk-DKM4UJQU.js +10 -0
  235. package/dist/commands/chunk-DMD74E3F.js +39 -0
  236. package/dist/commands/chunk-DNJC7X73.js +84 -0
  237. package/dist/commands/chunk-DP7WIGQ4.js +298 -0
  238. package/dist/commands/chunk-DPJVKTO4.js +41 -0
  239. package/dist/commands/chunk-DRCTDVI2.js +83 -0
  240. package/dist/commands/chunk-DSBK66US.js +67 -0
  241. package/dist/commands/chunk-DXJQHJQ4.js +73 -0
  242. package/dist/commands/chunk-DXZW4V7J.js +114 -0
  243. package/dist/commands/chunk-E2ZCUKHT.js +274 -0
  244. package/dist/commands/chunk-E33LSO2W.js +20 -0
  245. package/dist/commands/chunk-E3CXOVPQ.js +258 -0
  246. package/dist/commands/chunk-EBI2BAKQ.js +47 -0
  247. package/dist/commands/chunk-EBNIX2TC.js +81 -0
  248. package/dist/commands/chunk-EBVS2LKX.js +60 -0
  249. package/dist/commands/chunk-EFHSCUFN.js +170 -0
  250. package/dist/commands/chunk-EH3LVYOX.js +72 -0
  251. package/dist/commands/chunk-EI6JG5DF.js +92 -0
  252. package/dist/commands/chunk-EK2Y6B4X.js +140 -0
  253. package/dist/commands/chunk-EK327QOS.js +260 -0
  254. package/dist/commands/chunk-EKCKCX5S.js +291 -0
  255. package/dist/commands/chunk-ELWNRE6E.js +93 -0
  256. package/dist/commands/chunk-ENFPR7J2.js +53 -0
  257. package/dist/commands/chunk-ENLWXAHD.js +80 -0
  258. package/dist/commands/chunk-ERGZPWKP.js +102 -0
  259. package/dist/commands/chunk-ESQEEL4O.js +58 -0
  260. package/dist/commands/chunk-EW4NPUMQ.js +363 -0
  261. package/dist/commands/chunk-EWA72KO7.js +241 -0
  262. package/dist/commands/chunk-EWVR5AEX.js +140 -0
  263. package/dist/commands/chunk-EZSO25UZ.js +80 -0
  264. package/dist/commands/chunk-F22G3VDB.js +183 -0
  265. package/dist/commands/chunk-F2HFWLQR.js +32 -0
  266. package/dist/commands/chunk-F2J6DGDM.js +302 -0
  267. package/dist/commands/chunk-F3WBEEYC.js +68 -0
  268. package/dist/commands/chunk-F6OWP2AY.js +750 -0
  269. package/dist/commands/chunk-F7XLEK55.js +62 -0
  270. package/dist/commands/chunk-FB3D7CX5.js +241 -0
  271. package/dist/commands/chunk-FC33R5UN.js +516 -0
  272. package/dist/commands/chunk-FCINBCKB.js +77 -0
  273. package/dist/commands/chunk-FFHEGWPK.js +91 -0
  274. package/dist/commands/chunk-FGL6DBZU.js +71 -0
  275. package/dist/commands/chunk-FGZQSSGH.js +210 -0
  276. package/dist/{hooks/chunk-VVNYJWEI.js → commands/chunk-FIUCHMCF.js} +4 -2
  277. package/dist/commands/chunk-FNOSSXLG.js +61 -0
  278. package/dist/commands/chunk-FNQW6NY7.js +154 -0
  279. package/dist/commands/chunk-FROACLVU.js +525 -0
  280. package/dist/commands/chunk-FVVZIJUC.js +425 -0
  281. package/dist/commands/chunk-G47ZNQVG.js +17 -0
  282. package/dist/commands/chunk-G6BXCWPH.js +141 -0
  283. package/dist/commands/chunk-GA4VIFHD.js +224 -0
  284. package/dist/commands/chunk-GA6E4VGO.js +328 -0
  285. package/dist/commands/chunk-GDUK5YPO.js +185 -0
  286. package/dist/commands/chunk-GIGKMIPQ.js +72 -0
  287. package/dist/commands/chunk-GJYMI2CM.js +48 -0
  288. package/dist/commands/chunk-GK2KY4MO.js +67 -0
  289. package/dist/commands/chunk-GM3XLC4W.js +63 -0
  290. package/dist/commands/chunk-GO3GH7FG.js +75 -0
  291. package/dist/commands/chunk-GPMSYXYO.js +378 -0
  292. package/dist/commands/chunk-GPTO6IZG.js +29 -0
  293. package/dist/commands/chunk-GQHUFNXN.js +54 -0
  294. package/dist/commands/chunk-GU5ML3Y3.js +263 -0
  295. package/dist/commands/chunk-GW4UWR3O.js +126 -0
  296. package/dist/commands/chunk-H4LYG37R.js +716 -0
  297. package/dist/commands/chunk-HBNB3TLG.js +122 -0
  298. package/dist/commands/chunk-HCA5QG2U.js +299 -0
  299. package/dist/commands/chunk-HE5S4XRE.js +21 -0
  300. package/dist/commands/chunk-HESMKHEB.js +105 -0
  301. package/dist/commands/chunk-HG2NZQD5.js +135 -0
  302. package/dist/commands/chunk-HH2KDLTP.js +161 -0
  303. package/dist/commands/chunk-HHBC6QZE.js +95 -0
  304. package/dist/commands/chunk-HIB5G2X6.js +426 -0
  305. package/dist/commands/chunk-HIPO6HUG.js +45 -0
  306. package/dist/commands/chunk-HIU2WXB6.js +26 -0
  307. package/dist/commands/chunk-HJKZDDDI.js +62 -0
  308. package/dist/commands/chunk-HLKAFSN4.js +76 -0
  309. package/dist/commands/chunk-HLUS2M3D.js +7 -0
  310. package/dist/commands/chunk-HO52D6JY.js +278 -0
  311. package/dist/commands/chunk-HOGFJHBT.js +412 -0
  312. package/dist/commands/chunk-HOSZITJM.js +156 -0
  313. package/dist/commands/chunk-HPVLI26Z.js +123 -0
  314. package/dist/commands/chunk-HQ2HSZBN.js +69 -0
  315. package/dist/commands/chunk-HRLGFRAV.js +21 -0
  316. package/dist/commands/chunk-HRT4KWP4.js +178 -0
  317. package/dist/commands/chunk-HTIDHEEN.js +108 -0
  318. package/dist/commands/chunk-HXCZ3KWS.js +41 -0
  319. package/dist/commands/chunk-HZBTXKT2.js +61 -0
  320. package/dist/commands/chunk-HZSQI6TD.js +18 -0
  321. package/dist/commands/chunk-I63RNFFR.js +213 -0
  322. package/dist/commands/chunk-IBEKFLWG.js +137 -0
  323. package/dist/commands/chunk-ICEMFE2V.js +139 -0
  324. package/dist/commands/chunk-IG22Y5MA.js +56 -0
  325. package/dist/commands/chunk-IGD6QJPH.js +91 -0
  326. package/dist/commands/chunk-ILGPZ47M.js +33 -0
  327. package/dist/commands/chunk-ILQZFUDC.js +65 -0
  328. package/dist/commands/chunk-ISPBJVXM.js +238 -0
  329. package/dist/commands/chunk-IW6NWCSN.js +10 -0
  330. package/dist/commands/chunk-IXX4SXIP.js +53 -0
  331. package/dist/commands/chunk-IZVM2TTH.js +84 -0
  332. package/dist/commands/chunk-J3G2R64I.js +88 -0
  333. package/dist/commands/chunk-J3TKZLHA.js +11 -0
  334. package/dist/commands/chunk-J6GIVMXI.js +59 -0
  335. package/dist/commands/chunk-JB7R3A4A.js +204 -0
  336. package/dist/commands/chunk-JGTLNFFE.js +803 -0
  337. package/dist/commands/chunk-JHN6RCE6.js +123 -0
  338. package/dist/commands/chunk-JJRKTWLK.js +64 -0
  339. package/dist/commands/chunk-JLREFWJ4.js +244 -0
  340. package/dist/commands/chunk-JLYW7CP6.js +43 -0
  341. package/dist/commands/chunk-JNWHX25C.js +36 -0
  342. package/dist/commands/chunk-JOARHU3M.js +137 -0
  343. package/dist/commands/chunk-JQXPLMCO.js +81 -0
  344. package/dist/commands/chunk-JTU5A4JI.js +55 -0
  345. package/dist/commands/chunk-JUJFIATR.js +121 -0
  346. package/dist/commands/chunk-JUUBDYFZ.js +61 -0
  347. package/dist/commands/chunk-JZOTCPX2.js +115 -0
  348. package/dist/commands/chunk-K2WVYHCP.js +18 -0
  349. package/dist/commands/chunk-K7GL3BGI.js +419 -0
  350. package/dist/commands/chunk-KB3OQWDT.js +71 -0
  351. package/dist/commands/chunk-KHWTJ4F7.js +132 -0
  352. package/dist/commands/chunk-KIILCKQR.js +220 -0
  353. package/dist/commands/chunk-KIVOZY2J.js +1864 -0
  354. package/dist/commands/chunk-KQWSENCT.js +94 -0
  355. package/dist/commands/chunk-KSR23NYN.js +33 -0
  356. package/dist/commands/chunk-KTLR4Y32.js +21 -0
  357. package/dist/commands/chunk-KUJQWO6M.js +119 -0
  358. package/dist/commands/chunk-KVHNQHX3.js +100 -0
  359. package/dist/commands/chunk-KVJDDECB.js +51 -0
  360. package/dist/commands/chunk-KVSSLDA3.js +1062 -0
  361. package/dist/commands/chunk-KVURNO74.js +187 -0
  362. package/dist/commands/chunk-KXHXMERX.js +214 -0
  363. package/dist/commands/chunk-KXRFGPZD.js +69 -0
  364. package/dist/commands/chunk-KZSM5M5P.js +89 -0
  365. package/dist/commands/chunk-L6LU2633.js +91 -0
  366. package/dist/commands/chunk-L6TU7FC2.js +103 -0
  367. package/dist/commands/chunk-L6XN3EXI.js +138 -0
  368. package/dist/commands/chunk-LA5WTOAM.js +319 -0
  369. package/dist/commands/chunk-LAKVPOJQ.js +59 -0
  370. package/dist/commands/chunk-LAYSCY4L.js +6 -0
  371. package/dist/commands/chunk-LBLII7BS.js +14 -0
  372. package/dist/commands/chunk-LC7SBONO.js +98 -0
  373. package/dist/commands/chunk-LCEJXF7A.js +101 -0
  374. package/dist/commands/chunk-LE2T3FGJ.js +302 -0
  375. package/dist/commands/chunk-LE7TFPMU.js +88 -0
  376. package/dist/commands/chunk-LHKXJD6L.js +303 -0
  377. package/dist/commands/chunk-LMS6N6GE.js +332 -0
  378. package/dist/commands/chunk-LMSS4ARB.js +32 -0
  379. package/dist/commands/chunk-LNBUIOK6.js +133 -0
  380. package/dist/commands/chunk-LOSOLCCW.js +119 -0
  381. package/dist/commands/chunk-LQXFVZTS.js +13 -0
  382. package/dist/commands/chunk-LRA3PXHS.js +472 -0
  383. package/dist/commands/chunk-LRS2OS5J.js +395 -0
  384. package/dist/commands/chunk-LULJUD6P.js +131 -0
  385. package/dist/commands/chunk-LUMCYDGE.js +141 -0
  386. package/dist/commands/chunk-LWAXXZPS.js +118 -0
  387. package/dist/commands/chunk-LYEKT3IN.js +77 -0
  388. package/dist/commands/chunk-LZNYHWRO.js +78 -0
  389. package/dist/commands/chunk-M3ZDYCUF.js +117 -0
  390. package/dist/commands/chunk-M42SLJCD.js +97 -0
  391. package/dist/commands/chunk-M4PEC7YW.js +349 -0
  392. package/dist/commands/chunk-MAGJFH5T.js +77 -0
  393. package/dist/commands/chunk-MDKDJF2K.js +160 -0
  394. package/dist/commands/chunk-MDLOETXL.js +211 -0
  395. package/dist/commands/chunk-MGF64OHV.js +32 -0
  396. package/dist/commands/chunk-MMTVQOCP.js +211 -0
  397. package/dist/commands/chunk-MMXZKLDU.js +115 -0
  398. package/dist/commands/chunk-MPGJ4ONJ.js +634 -0
  399. package/dist/commands/chunk-MS6Q3Z7V.js +870 -0
  400. package/dist/commands/chunk-MSPIR3OA.js +32 -0
  401. package/dist/commands/chunk-MVPUQLN5.js +183 -0
  402. package/dist/commands/chunk-MXC4IBZ7.js +104 -0
  403. package/dist/commands/chunk-MY3RSOS5.js +52 -0
  404. package/dist/commands/chunk-MYNM3YMR.js +347 -0
  405. package/dist/commands/chunk-MYWRGF5A.js +177 -0
  406. package/dist/commands/chunk-MZHOPRI6.js +529 -0
  407. package/dist/commands/chunk-N4O5I55P.js +655 -0
  408. package/dist/commands/chunk-N6TYL3B2.js +250 -0
  409. package/dist/commands/chunk-NFEBQED3.js +179 -0
  410. package/dist/commands/chunk-NFKULY26.js +48 -0
  411. package/dist/commands/chunk-NGKB632X.js +92 -0
  412. package/dist/commands/chunk-NJ53AWJU.js +122 -0
  413. package/dist/commands/chunk-NJT5L6IC.js +126 -0
  414. package/dist/commands/chunk-NKKH3PBE.js +87 -0
  415. package/dist/commands/chunk-NKOET4FB.js +44 -0
  416. package/dist/commands/chunk-NMLCPYBN.js +134 -0
  417. package/dist/commands/chunk-NOXLKIPR.js +114 -0
  418. package/dist/commands/chunk-NSAVEXVR.js +353 -0
  419. package/dist/commands/chunk-NSZTSCBW.js +1263 -0
  420. package/dist/commands/chunk-NYWGJLBU.js +19 -0
  421. package/dist/commands/chunk-O26Y2FOJ.js +134 -0
  422. package/dist/commands/chunk-O27H6NN6.js +163 -0
  423. package/dist/commands/chunk-O3NDWYNT.js +68 -0
  424. package/dist/commands/chunk-O4WBADCX.js +88 -0
  425. package/dist/commands/chunk-O5FVBIRI.js +271 -0
  426. package/dist/commands/chunk-O5QZ2S6X.js +98 -0
  427. package/dist/commands/chunk-OGNTJ5JB.js +47 -0
  428. package/dist/commands/chunk-OHNP3QL2.js +186 -0
  429. package/dist/commands/chunk-OHVAEJSM.js +184 -0
  430. package/dist/commands/chunk-OI7KM4K3.js +43 -0
  431. package/dist/commands/chunk-OIDMJASD.js +62 -0
  432. package/dist/commands/chunk-OJ4LGBVD.js +126 -0
  433. package/dist/commands/chunk-OKKQI4ZG.js +49 -0
  434. package/dist/commands/chunk-OKYFQJW3.js +22 -0
  435. package/dist/commands/chunk-ORSI7Y55.js +133 -0
  436. package/dist/commands/chunk-OT3UMEWK.js +47 -0
  437. package/dist/commands/chunk-OTZJXU2R.js +170 -0
  438. package/dist/commands/chunk-OVA7STGP.js +578 -0
  439. package/dist/commands/chunk-OWR2TCOY.js +269 -0
  440. package/dist/commands/chunk-OZZWRJQI.js +246 -0
  441. package/dist/commands/chunk-P4CWLRT2.js +213 -0
  442. package/dist/commands/chunk-P4D5RESF.js +88 -0
  443. package/dist/commands/chunk-P4KIQRSL.js +119 -0
  444. package/dist/commands/chunk-P4O67FP5.js +488 -0
  445. package/dist/commands/chunk-P6RGQXHI.js +391 -0
  446. package/dist/commands/chunk-P7FPXAHP.js +29 -0
  447. package/dist/commands/chunk-PBOS7MTW.js +6 -0
  448. package/dist/commands/chunk-PDAY76AN.js +47 -0
  449. package/dist/commands/chunk-PDDKRHHS.js +128 -0
  450. package/dist/commands/chunk-PE7B7242.js +84 -0
  451. package/dist/commands/chunk-PF22VUWB.js +723 -0
  452. package/dist/commands/chunk-PFO7EYAP.js +45 -0
  453. package/dist/commands/chunk-PR3JCPP7.js +126 -0
  454. package/dist/commands/chunk-PWYXY46Y.js +1150 -0
  455. package/dist/commands/chunk-PYOK73QE.js +44 -0
  456. package/dist/commands/chunk-PZ4ITSLG.js +80 -0
  457. package/dist/commands/chunk-PZ6VWHOO.js +144 -0
  458. package/dist/commands/chunk-PZTWQYRI.js +44 -0
  459. package/dist/commands/chunk-PZU6FZO6.js +17 -0
  460. package/dist/commands/chunk-Q3463XNL.js +198 -0
  461. package/dist/commands/chunk-Q5N2J2UF.js +78 -0
  462. package/dist/commands/chunk-Q5Q2QYVU.js +112 -0
  463. package/dist/commands/chunk-Q6SKKQVJ.js +34 -0
  464. package/dist/commands/chunk-Q7TV3OV6.js +218 -0
  465. package/dist/commands/chunk-QA22PBCJ.js +165 -0
  466. package/dist/commands/chunk-QAHFPCFR.js +50 -0
  467. package/dist/commands/chunk-QDFDB4CF.js +478 -0
  468. package/dist/commands/chunk-QEIO2ZNQ.js +324 -0
  469. package/dist/commands/chunk-QF4WC2AE.js +10 -0
  470. package/dist/commands/chunk-QGAERR7D.js +99 -0
  471. package/dist/commands/chunk-QHWJJ6X5.js +53 -0
  472. package/dist/commands/chunk-QQ4CIYMF.js +132 -0
  473. package/dist/commands/chunk-QQBMVC5W.js +227 -0
  474. package/dist/commands/chunk-QQZOQ7AM.js +32 -0
  475. package/dist/commands/chunk-QS5USD4T.js +540 -0
  476. package/dist/commands/chunk-QVOFWFWC.js +134 -0
  477. package/dist/commands/chunk-QWWTC3XR.js +109 -0
  478. package/dist/commands/chunk-QWX7EBC6.js +112 -0
  479. package/dist/commands/chunk-QX2R6UJG.js +15 -0
  480. package/dist/commands/chunk-QXQ56E56.js +27 -0
  481. package/dist/commands/chunk-R2CF6VZE.js +114 -0
  482. package/dist/commands/chunk-R6QE5VJG.js +46 -0
  483. package/dist/commands/chunk-R7IT5VOL.js +27 -0
  484. package/dist/commands/chunk-RBU2NKHF.js +44 -0
  485. package/dist/commands/chunk-RDRN56E4.js +92 -0
  486. package/dist/commands/chunk-REMKUFAC.js +304 -0
  487. package/dist/commands/chunk-REPANBLS.js +168 -0
  488. package/dist/commands/chunk-RGDFWJPZ.js +135 -0
  489. package/dist/commands/chunk-RGGEQM6G.js +140 -0
  490. package/dist/commands/chunk-RH6ZWJOA.js +77 -0
  491. package/dist/commands/chunk-RHII5XI6.js +492 -0
  492. package/dist/commands/chunk-RI7EQYKL.js +60 -0
  493. package/dist/commands/chunk-RINVPTA2.js +1310 -0
  494. package/dist/commands/chunk-RIQ75QWR.js +233 -0
  495. package/dist/commands/chunk-RIUPRMLW.js +63 -0
  496. package/dist/commands/chunk-RK4HE5NW.js +172 -0
  497. package/dist/commands/chunk-ROJXMBXP.js +85 -0
  498. package/dist/commands/chunk-RPDWFUQO.js +239 -0
  499. package/dist/commands/chunk-RQRLW4XK.js +20 -0
  500. package/dist/commands/chunk-RRQFITJE.js +40 -0
  501. package/dist/commands/chunk-RS764ZMU.js +46 -0
  502. package/dist/commands/chunk-RSSJWMQS.js +30 -0
  503. package/dist/commands/chunk-RUIBQMOV.js +38 -0
  504. package/dist/commands/chunk-RUWV4INF.js +245 -0
  505. package/dist/commands/chunk-RVHBWSIG.js +114 -0
  506. package/dist/commands/chunk-RVUJ6F5L.js +181 -0
  507. package/dist/commands/chunk-RX5JSPPH.js +1153 -0
  508. package/dist/commands/chunk-RXAZJMSZ.js +18 -0
  509. package/dist/commands/chunk-RY6ZDHKB.js +1218 -0
  510. package/dist/commands/chunk-RYZ3RQRH.js +16 -0
  511. package/dist/commands/chunk-RZ4OKKPM.js +1722 -0
  512. package/dist/commands/chunk-RZJAUVMI.js +69 -0
  513. package/dist/commands/chunk-S4X5PJV7.js +40 -0
  514. package/dist/commands/chunk-S6SXMBF2.js +66 -0
  515. package/dist/commands/chunk-S7XWXG4M.js +3893 -0
  516. package/dist/commands/chunk-SADJPNDB.js +67 -0
  517. package/dist/commands/chunk-SBGTCT2C.js +89 -0
  518. package/dist/commands/chunk-SFNBUB6D.js +110 -0
  519. package/dist/commands/chunk-SK2LJBFS.js +168 -0
  520. package/dist/commands/chunk-SNFLV7VV.js +45 -0
  521. package/dist/commands/chunk-SNO7CY2B.js +69 -0
  522. package/dist/commands/chunk-ST32OGPY.js +82 -0
  523. package/dist/commands/chunk-SV4FHQE7.js +995 -0
  524. package/dist/commands/chunk-SVAKCXZ7.js +44 -0
  525. package/dist/commands/chunk-SXULS6DX.js +112 -0
  526. package/dist/commands/chunk-T25S4QHL.js +52 -0
  527. package/dist/commands/chunk-T2E724HN.js +117 -0
  528. package/dist/commands/chunk-T2IO4LEB.js +285 -0
  529. package/dist/commands/chunk-T33QDAWD.js +16 -0
  530. package/dist/commands/chunk-T3FD3Q73.js +49 -0
  531. package/dist/commands/chunk-T4UYEHWG.js +50 -0
  532. package/dist/commands/chunk-T57W3UWK.js +88 -0
  533. package/dist/commands/chunk-TAPDXK34.js +48 -0
  534. package/dist/commands/chunk-TBIX5FRN.js +106 -0
  535. package/dist/commands/chunk-TBNQIFWL.js +101 -0
  536. package/dist/commands/chunk-TCBUX52E.js +701 -0
  537. package/dist/commands/chunk-TIXJY22D.js +90 -0
  538. package/dist/commands/chunk-TKGBF75Y.js +88 -0
  539. package/dist/commands/chunk-TMLNI3YW.js +95 -0
  540. package/dist/commands/chunk-TPKFVVJQ.js +125 -0
  541. package/dist/commands/chunk-TS4ZK46L.js +116 -0
  542. package/dist/commands/chunk-TUIFS5E7.js +72 -0
  543. package/dist/commands/chunk-TVJE67O2.js +179 -0
  544. package/dist/commands/chunk-TVZXG4Y4.js +197 -0
  545. package/dist/commands/chunk-TXXYC7EV.js +74 -0
  546. package/dist/commands/chunk-U2UH4VM4.js +229 -0
  547. package/dist/commands/chunk-U3IVVR4W.js +33 -0
  548. package/dist/commands/chunk-U5HQQWRE.js +20 -0
  549. package/dist/commands/chunk-U7XU5RG3.js +86 -0
  550. package/dist/commands/chunk-UCI4AL3Q.js +35 -0
  551. package/dist/commands/chunk-UCQJDYE3.js +21 -0
  552. package/dist/commands/chunk-UCUSCLEK.js +90 -0
  553. package/dist/commands/chunk-UEURNXE5.js +280 -0
  554. package/dist/commands/chunk-UGCUSRZF.js +17 -0
  555. package/dist/commands/chunk-UIWAMLQH.js +49 -0
  556. package/dist/commands/chunk-UJOZ2MGX.js +705 -0
  557. package/dist/commands/chunk-ULVVGGTY.js +64 -0
  558. package/dist/commands/chunk-UOAG2XQT.js +37 -0
  559. package/dist/commands/chunk-US6X7JXC.js +120 -0
  560. package/dist/commands/chunk-UTBVTCQN.js +7401 -0
  561. package/dist/commands/chunk-UU6GCJGM.js +56 -0
  562. package/dist/commands/chunk-UWLLZQJB.js +110 -0
  563. package/dist/commands/chunk-UZAU6UI6.js +33 -0
  564. package/dist/commands/chunk-V4Z7G4UH.js +73 -0
  565. package/dist/commands/chunk-V5FD7DVV.js +48 -0
  566. package/dist/commands/chunk-V5OIPYA6.js +109 -0
  567. package/dist/commands/chunk-VCR77BHO.js +8 -0
  568. package/dist/commands/chunk-VD5674LW.js +127 -0
  569. package/dist/commands/chunk-VD72V5VX.js +230 -0
  570. package/dist/commands/chunk-VDGNXSP3.js +174 -0
  571. package/dist/commands/chunk-VFJYOAOQ.js +339 -0
  572. package/dist/commands/chunk-VGHSZLYQ.js +85 -0
  573. package/dist/commands/chunk-VHRNXWVP.js +28 -0
  574. package/dist/commands/chunk-VJE3RJAX.js +23 -0
  575. package/dist/commands/chunk-VJLZ3IQQ.js +151 -0
  576. package/dist/commands/chunk-VTLL6CKO.js +269 -0
  577. package/dist/commands/chunk-VW5SGE7A.js +18 -0
  578. package/dist/commands/chunk-VZCQZFPH.js +378 -0
  579. package/dist/commands/chunk-VZHC2I3T.js +1208 -0
  580. package/dist/commands/chunk-VZSJCFRT.js +44 -0
  581. package/dist/commands/chunk-W2IA2LV3.js +15 -0
  582. package/dist/commands/chunk-W32DIQEP.js +43 -0
  583. package/dist/commands/chunk-W3FX7FYN.js +84 -0
  584. package/dist/commands/chunk-W47I2KDY.js +47 -0
  585. package/dist/commands/chunk-W4J6YTFE.js +74 -0
  586. package/dist/commands/chunk-W4YH2DF3.js +58 -0
  587. package/dist/commands/chunk-W6MVQEMO.js +109 -0
  588. package/dist/commands/chunk-W6V4DWC5.js +70 -0
  589. package/dist/commands/chunk-WG6GYBRJ.js +271 -0
  590. package/dist/commands/chunk-WGULS5DA.js +129 -0
  591. package/dist/commands/chunk-WIE7VUBE.js +122 -0
  592. package/dist/commands/chunk-WJ4NEDNI.js +288 -0
  593. package/dist/commands/chunk-WL5JHB3I.js +12 -0
  594. package/dist/commands/chunk-WMMGXJXP.js +92 -0
  595. package/dist/commands/chunk-WN7NK3NY.js +24 -0
  596. package/dist/commands/chunk-WOFLW2LX.js +26 -0
  597. package/dist/commands/chunk-WPAQUMHC.js +28 -0
  598. package/dist/commands/chunk-WQ6FS544.js +35 -0
  599. package/dist/commands/chunk-WQJ7O3C3.js +229 -0
  600. package/dist/commands/chunk-WRX3MINT.js +60 -0
  601. package/dist/commands/chunk-WSOF74K4.js +30 -0
  602. package/dist/commands/chunk-WTRDWEUQ.js +533 -0
  603. package/dist/commands/chunk-WVR4RUFP.js +327 -0
  604. package/dist/commands/chunk-WW3TX742.js +122 -0
  605. package/dist/commands/chunk-WWC5L3AO.js +177 -0
  606. package/dist/commands/chunk-X5XYKDOD.js +7 -0
  607. package/dist/commands/chunk-X7PN54LZ.js +143 -0
  608. package/dist/commands/chunk-XBRD2BDL.js +74 -0
  609. package/dist/commands/chunk-XDF25GSU.js +536 -0
  610. package/dist/commands/chunk-XDQOWUVT.js +51 -0
  611. package/dist/commands/chunk-XFPEUYDV.js +67 -0
  612. package/dist/commands/chunk-XGMRAKSL.js +85 -0
  613. package/dist/commands/chunk-XH6BGVVP.js +1639 -0
  614. package/dist/commands/chunk-XMBRXCIE.js +89 -0
  615. package/dist/commands/chunk-XSKB6ZUA.js +123 -0
  616. package/dist/commands/chunk-XXNEY4B3.js +110 -0
  617. package/dist/commands/chunk-XYAK53TK.js +443 -0
  618. package/dist/commands/chunk-Y2RNUX4W.js +8 -0
  619. package/dist/commands/chunk-Y5ZW3KN5.js +58 -0
  620. package/dist/commands/chunk-YGDNUTTI.js +120 -0
  621. package/dist/commands/chunk-YIA6FC3K.js +78 -0
  622. package/dist/commands/chunk-YPNTORQD.js +121 -0
  623. package/dist/commands/chunk-YT342DRV.js +143 -0
  624. package/dist/commands/chunk-YVH2OLDS.js +104 -0
  625. package/dist/commands/chunk-Z4HYBFZD.js +1160 -0
  626. package/dist/commands/chunk-ZA3W73PF.js +192 -0
  627. package/dist/commands/chunk-ZAAHZY2A.js +19 -0
  628. package/dist/commands/chunk-ZAJD6T6E.js +38 -0
  629. package/dist/commands/chunk-ZBFNQUY7.js +12 -0
  630. package/dist/commands/chunk-ZDSDPKCD.js +88 -0
  631. package/dist/commands/chunk-ZECFKW7D.js +60 -0
  632. package/dist/commands/chunk-ZHZSZNE2.js +173 -0
  633. package/dist/commands/chunk-ZNX2LJCQ.js +29 -0
  634. package/dist/commands/chunk-ZQ3CKRMP.js +99 -0
  635. package/dist/commands/chunk-ZVAIIHBE.js +63 -0
  636. package/dist/commands/chunk-ZYGOZT4J.js +39 -0
  637. package/dist/commands/chunk-ZYIMQHCB.js +81 -0
  638. package/dist/commands/chunk-ZZAH3YQP.js +170 -0
  639. package/dist/commands/ci-timing-cli.js +76 -0
  640. package/dist/commands/clone-scan-cli.js +189 -0
  641. package/dist/commands/code-symbol-cli.js +185 -0
  642. package/dist/commands/codex-hook-adapter.js +357 -0
  643. package/dist/commands/command-derive.js +802 -0
  644. package/dist/commands/cost-audit-main.js +207 -0
  645. package/dist/commands/cost-main.js +28 -0
  646. package/dist/commands/cspell-cached.js +158 -0
  647. package/dist/commands/defect-origin-main.js +221 -0
  648. package/dist/commands/defect-report-main.js +288 -0
  649. package/dist/commands/delegation-cli.js +65 -0
  650. package/dist/commands/diff-summary-cli.js +147 -0
  651. package/dist/commands/disposition-cli.js +408 -0
  652. package/dist/commands/doctor.js +267 -0
  653. package/dist/commands/document-read-cli.js +39 -844
  654. package/dist/commands/document-section-main.js +26 -835
  655. package/dist/commands/dogfood-commit-cli.js +102 -0
  656. package/dist/commands/e2e-retry-check.js +79 -0
  657. package/dist/commands/edit-files-cli.js +147 -0
  658. package/dist/commands/effect-audit-cli.js +319 -0
  659. package/dist/commands/epic-audit-main.js +158 -0
  660. package/dist/commands/epic-bundle-main.js +199 -0
  661. package/dist/commands/epic-check.js +90 -0
  662. package/dist/commands/epic-main.js +222 -0
  663. package/dist/commands/epic-next-main.js +157 -0
  664. package/dist/commands/eval-run.js +838 -0
  665. package/dist/commands/fanout-cli.js +86 -0
  666. package/dist/commands/format-edited-cli.js +120 -0
  667. package/dist/commands/format.js +139 -0
  668. package/dist/commands/fresh-machine-cli.js +691 -0
  669. package/dist/commands/gh-usage-cli.js +224 -0
  670. package/dist/commands/git-followup-workflow.js +2012 -0
  671. package/dist/commands/git-gh-checks-failed-main.js +156 -0
  672. package/dist/commands/git-workflow.js +602 -0
  673. package/dist/commands/github-release-cli.js +253 -0
  674. package/dist/commands/hook-ledger-cli.js +416 -0
  675. package/dist/commands/init-main.js +98 -0
  676. package/dist/commands/inputs.json +2764 -0
  677. package/dist/commands/issue-ack-cli.js +106 -0
  678. package/dist/commands/issue-already-done-cli.js +305 -0
  679. package/dist/commands/issue-body-cli.js +184 -0
  680. package/dist/commands/issue-cite-main.js +162 -0
  681. package/dist/commands/issue-comment-main.js +72 -0
  682. package/dist/commands/issue-consolidate-cli.js +329 -0
  683. package/dist/commands/issue-file-main.js +419 -0
  684. package/dist/commands/issue-fold-existing-cli.js +506 -0
  685. package/dist/commands/issue-fold-main.js +113 -0
  686. package/dist/commands/issue-lint-main.js +126 -0
  687. package/dist/commands/issue-measured-cli.js +205 -0
  688. package/dist/commands/issue-plan-cli.js +352 -0
  689. package/dist/commands/issue-premise-unmet-cli.js +268 -0
  690. package/dist/commands/issue-priority-cli.js +184 -0
  691. package/dist/commands/issue-read-main.js +79 -0
  692. package/dist/commands/issue-release-class-cli.js +119 -0
  693. package/dist/commands/issue-release-main.js +71 -0
  694. package/dist/commands/issue-scout-main.js +203 -0
  695. package/dist/commands/issue-spill-main.js +564 -0
  696. package/dist/commands/issue-state-main.js +76 -0
  697. package/dist/commands/issue-tick-cli.js +112 -0
  698. package/dist/commands/josh-completion.js +153 -0
  699. package/dist/commands/lane-adopt-cli.js +275 -0
  700. package/dist/commands/lane-breakdown-cli.js +703 -0
  701. package/dist/commands/lane-cli.js +863 -0
  702. package/dist/commands/lane-launch-main.js +103 -0
  703. package/dist/commands/lane-limit-cli.js +286 -0
  704. package/dist/commands/lane-measure-cli.js +1797 -0
  705. package/dist/commands/lane-pause-cli.js +255 -0
  706. package/dist/commands/lane-plan-cli.js +322 -0
  707. package/dist/commands/lane-resolve-cli.js +300 -0
  708. package/dist/commands/lane-restart-cli.js +387 -0
  709. package/dist/commands/lane-why-cli.js +307 -0
  710. package/dist/commands/lane-withdraw-cli.js +191 -0
  711. package/dist/commands/latest-corepack.js +278 -0
  712. package/dist/commands/latest-if-required-cli.js +124 -0
  713. package/dist/commands/latest-lane-guard-main.js +16 -0
  714. package/dist/commands/latest-scope-main.js +38 -0
  715. package/dist/commands/latest-update.js +449 -0
  716. package/dist/commands/lines-command.js +121 -0
  717. package/dist/commands/lint-parallel-main.js +134 -0
  718. package/dist/commands/lint-related.js +565 -0
  719. package/dist/commands/lint-rule.js +305 -0
  720. package/dist/commands/lockfile-policy.js +107 -0
  721. package/dist/commands/main-merge-main.js +61 -0
  722. package/dist/commands/main-sync-main.js +60 -0
  723. package/dist/commands/managed-config-scope-cli.js +66 -0
  724. package/dist/commands/measure-rerun-cli.js +124 -0
  725. package/dist/commands/metrics-command.js +859 -0
  726. package/dist/commands/observation-depth-cli.js +109 -0
  727. package/dist/commands/observation-record-cli.js +87 -0
  728. package/dist/commands/observations-flush-cli.js +115 -0
  729. package/dist/commands/oracle-list-cli.js +73 -0
  730. package/dist/commands/overrides-check.js +112 -0
  731. package/dist/commands/package-scout-cli.js +496 -0
  732. package/dist/commands/pin-verify-cli.js +88 -0
  733. package/dist/commands/plan-consumers-main.js +49 -0
  734. package/dist/commands/plan-scaffold-cli.js +367 -0
  735. package/dist/commands/port-command.js +64 -0
  736. package/dist/commands/pr-classification-main.js +37 -0
  737. package/dist/commands/pre-commit-lint.js +163 -0
  738. package/dist/commands/pre-commit-type-check.js +210 -0
  739. package/dist/commands/pre-push-unit.js +271 -0
  740. package/dist/commands/pretool-guard-cli.js +205 -0
  741. package/dist/commands/prevent-main-commit.js +42 -0
  742. package/dist/commands/project-profile-cli.js +58 -0
  743. package/dist/commands/propagate.js +368 -0
  744. package/dist/commands/prose-stale-cli.js +128 -0
  745. package/dist/commands/publish-tag-cli.js +30 -0
  746. package/dist/commands/publishable-range-check.js +191 -0
  747. package/dist/commands/read-files-cli.js +81 -0
  748. package/dist/commands/read-set-cli.js +121 -1745
  749. package/dist/commands/reconcile-templates.js +135 -0
  750. package/dist/commands/refactor-scan-cli.js +175 -0
  751. package/dist/commands/release-cli.js +724 -0
  752. package/dist/commands/release-scope-main.js +81 -0
  753. package/dist/commands/rename-cli.js +432 -0
  754. package/dist/commands/repo-party-cli.js +58 -0
  755. package/dist/commands/report-lint-cli.js +124 -0
  756. package/dist/commands/report-template-cli.js +69 -0
  757. package/dist/commands/reserved-run.js +127 -0
  758. package/dist/commands/retrospective-cli.js +555 -0
  759. package/dist/commands/review-attest-cli.js +118 -0
  760. package/dist/commands/review-brief-main.js +247 -0
  761. package/dist/commands/review-findings-cli.js +114 -0
  762. package/dist/commands/review-pair-cli.js +366 -0
  763. package/dist/commands/review-record-main.js +222 -0
  764. package/dist/commands/review-round2-cli.js +349 -0
  765. package/dist/commands/review-stops-cli.js +149 -0
  766. package/dist/commands/review-submit-cli.js +610 -0
  767. package/dist/commands/rule-list.js +184 -0
  768. package/dist/commands/rule-value-cli.js +908 -0
  769. package/dist/commands/ruleset-check-cli.js +67 -0
  770. package/dist/commands/run-add-cli.js +273 -0
  771. package/dist/commands/run-board-main.js +272 -0
  772. package/dist/commands/run-carry-cli.js +641 -0
  773. package/dist/commands/run-chain-cli.js +537 -0
  774. package/dist/commands/run-cut-cli.js +709 -0
  775. package/dist/commands/run-ending-cli.js +169 -0
  776. package/dist/commands/run-entry-cli.js +1060 -0
  777. package/dist/commands/run-event-cli.js +298 -0
  778. package/dist/commands/run-handoff-cli.js +344 -0
  779. package/dist/commands/run-handoff-lanes-cli.js +233 -0
  780. package/dist/commands/run-hold-main.js +203 -0
  781. package/dist/commands/run-liveness-cli.js +190 -0
  782. package/dist/commands/run-merge-main.js +246 -0
  783. package/dist/commands/run-next-cli.js +240 -0
  784. package/dist/commands/run-park-cli.js +393 -0
  785. package/dist/commands/run-pause-cli.js +334 -0
  786. package/dist/commands/run-pickup-cli.js +196 -0
  787. package/dist/commands/run-prep-main.js +209 -21168
  788. package/dist/commands/run-prime-cli.js +281 -0
  789. package/dist/commands/run-progress-main.js +655 -0
  790. package/dist/commands/run-report-cli.js +376 -0
  791. package/dist/commands/run-review-cli.js +777 -0
  792. package/dist/commands/run-ship-cli.js +2615 -0
  793. package/dist/commands/run-ship-evidence-cli.js +288 -0
  794. package/dist/commands/run-ship-lap-W5T2VHFC.js +30 -0
  795. package/dist/commands/run-ship-wait-main.js +145 -0
  796. package/dist/commands/run-split-cli.js +525 -0
  797. package/dist/commands/run-stale-main.js +254 -0
  798. package/dist/commands/run-status-cli.js +216 -0
  799. package/dist/commands/run-step-cli.js +419 -27653
  800. package/dist/commands/run-tail-cli.js +119 -0
  801. package/dist/commands/run-tidy-main.js +402 -0
  802. package/dist/commands/run-wake-main.js +272 -0
  803. package/dist/commands/run-watcher-guard-cli.js +128 -0
  804. package/dist/commands/secretlint-scan.js +84 -0
  805. package/dist/commands/security-audit-main.js +151 -0
  806. package/dist/commands/security-audit-provision-main.js +52 -0
  807. package/dist/commands/selfcheck-cli.js +409 -0
  808. package/dist/commands/session-language-main.js +120 -0
  809. package/dist/commands/sonar-hotspots-cli.js +133 -0
  810. package/dist/commands/sonar-new-code-cli.js +143 -0
  811. package/dist/commands/split-assess-cli.js +138 -0
  812. package/dist/commands/split-child-recover-cli.js +168 -0
  813. package/dist/commands/start.js +707 -0
  814. package/dist/commands/stash-pop-main.js +26 -0
  815. package/dist/commands/stash-push-main.js +30 -0
  816. package/dist/commands/stop-guard.js +567 -0
  817. package/dist/commands/sync-main.js +57 -0
  818. package/dist/commands/telegram-test-main.js +64 -0
  819. package/dist/commands/test-declared.js +255 -0
  820. package/dist/commands/test-e2e-guard.js +200 -0
  821. package/dist/commands/test-pinned-main.js +189 -0
  822. package/dist/commands/test-reach-cli.js +111 -0
  823. package/dist/commands/test-red-main.js +46 -0
  824. package/dist/commands/test-related-ZT2AO62I.js +113 -0
  825. package/dist/commands/test-related-main.js +223 -0
  826. package/dist/commands/test-unit-guard-main.js +87 -0
  827. package/dist/commands/time-cli.js +356 -0
  828. package/dist/commands/time-density-cli.js +183 -0
  829. package/dist/commands/tree-status-cli.js +172 -0
  830. package/dist/commands/type-check-command.js +74 -0
  831. package/dist/commands/ui-routes-cli.js +135 -0
  832. package/dist/commands/ui-shot-cli.js +131 -0
  833. package/dist/commands/uninstall.js +424 -0
  834. package/dist/commands/unused-members-STULPRBU.js +331 -0
  835. package/dist/commands/unused-members-cli.js +54 -0
  836. package/dist/commands/upstream-interrupt-main.js +449 -0
  837. package/dist/commands/usage-tee-cli.js +60 -0
  838. package/dist/commands/verification-gate.js +808 -0
  839. package/dist/commands/version-check.js +497 -0
  840. package/dist/hooks/audit-provision.js +20 -9
  841. package/dist/hooks/{chunk-UJ3FPMMM.js → chunk-4YXV2REH.js} +444 -141
  842. package/dist/hooks/chunk-6RR6JZSB.js +12367 -0
  843. package/dist/hooks/chunk-6YGMIODI.js +86 -0
  844. package/dist/hooks/chunk-CICKRHTB.js +7586 -0
  845. package/dist/hooks/chunk-CY3ADSDR.js +28580 -0
  846. package/dist/hooks/chunk-FOW4B7OQ.js +1795 -0
  847. package/dist/hooks/chunk-LKQBEKBI.js +232 -0
  848. package/dist/hooks/chunk-LRD2ERRI.js +299 -0
  849. package/dist/hooks/chunk-LWD43Z3C.js +6793 -0
  850. package/dist/hooks/chunk-NUPVO7RI.js +3054 -0
  851. package/dist/hooks/chunk-P7BPAU26.js +1082 -0
  852. package/dist/hooks/chunk-RQXECHAS.js +309 -0
  853. package/dist/hooks/chunk-SAAPRHTK.js +43 -0
  854. package/dist/hooks/chunk-U3ON2GBN.js +12 -0
  855. package/dist/hooks/{chunk-CQD4LJE6.js → chunk-UU4PTPEZ.js} +3143 -1257
  856. package/dist/hooks/chunk-YEURBB4L.js +32 -0
  857. package/dist/hooks/codex-hook-adapter.js +61 -25
  858. package/dist/hooks/daemon.js +67304 -0
  859. package/dist/hooks/format-edited.js +15 -5
  860. package/dist/hooks/inputs.json +584 -401
  861. package/dist/hooks/pretool-guard.js +11 -7
  862. package/dist/hooks/ready.js +300 -0
  863. package/dist/hooks/run-ship-lap-VCEOUHQI.js +8 -0
  864. package/dist/hooks/session-lang.js +226 -121
  865. package/dist/hooks/stop-guard.js +9188 -4508
  866. package/dist/inputs.json +169 -0
  867. package/dist/josh.js +9617 -6711
  868. package/dist/self-sync-guard/index.js +68 -14
  869. package/dist/version/index.js +642 -85
  870. package/eslint/base.js +36 -11
  871. package/eslint/config-fingerprint.js +164 -21
  872. package/eslint/rules/code-quality.js +6 -0
  873. package/eslint/rules/comment-why-only.js +40 -16
  874. package/eslint/rules/english-only-prose.js +10 -3
  875. package/eslint/rules/import.js +3 -17
  876. package/eslint/rules/test-helper-bans.js +34 -0
  877. package/eslint/untyped-environment.js +21 -0
  878. package/eslint/untyped.js +60 -0
  879. package/lefthook/base.yml +4 -5
  880. package/package.json +15 -13
  881. package/pnpm-workspace.yaml +15 -0
  882. package/ports/index.js +8 -15
  883. package/prompts/coding-standards.md +4 -43
  884. package/prompts/collaboration-workflow/file-edits.md +10 -10
  885. package/prompts/collaboration-workflow/gh-rest.md +14 -7
  886. package/prompts/collaboration-workflow/issue-template.en.md +125 -0
  887. package/prompts/collaboration-workflow/issue-template.md +49 -56
  888. package/prompts/collaboration-workflow/lane-instructions.md +1 -0
  889. package/prompts/collaboration-workflow/measurement.md +13 -17
  890. package/prompts/collaboration-workflow/operating-rules.md +10 -7
  891. package/prompts/collaboration-workflow/output-bounds.md +3 -3
  892. package/prompts/collaboration-workflow/overview.md +8 -17
  893. package/prompts/collaboration-workflow/plan-comment.md +1 -1
  894. package/prompts/collaboration-workflow/principles.md +17 -19
  895. package/prompts/collaboration-workflow/report-format.md +6 -5
  896. package/prompts/collaboration-workflow/residency.md +1 -0
  897. package/prompts/collaboration-workflow/rule-delivery.md +4 -12
  898. package/prompts/collaboration-workflow/shell-body.md +7 -7
  899. package/prompts/collaboration-workflow/turn-batching.md +2 -2
  900. package/prompts/collaboration-workflow/upstream-interrupt.md +8 -8
  901. package/prompts/collaboration-workflow/wip-cap.md +3 -3
  902. package/prompts/refactoring.md +4 -3
  903. package/prompts/review-rubric.md +8 -21
  904. package/prompts/review.md +52 -80
  905. package/prompts/sonar-hotspot-handling.md +1 -1
  906. package/prompts/testing-guide.md +15 -2
  907. package/scripts/agent/agent-argv.ts +11 -4
  908. package/scripts/agent/agent-consultation-model.ts +47 -0
  909. package/scripts/agent/agent-event.ts +11 -2
  910. package/scripts/agent/agent-launch-environment.ts +6 -57
  911. package/scripts/agent/agent-model-alias.ts +19 -0
  912. package/scripts/agent/agent-profile-schema.ts +98 -0
  913. package/scripts/agent/agent-role-profile.ts +105 -82
  914. package/scripts/agent/agent-safe-text.ts +2 -2
  915. package/scripts/agent/agent-session-role.ts +25 -3
  916. package/scripts/agent/answer-judge.ts +174 -0
  917. package/scripts/agent/answer-verdict.ts +122 -0
  918. package/scripts/agent/claude-agent-argv.ts +12 -6
  919. package/scripts/agent/codex-agent-argv.ts +17 -143
  920. package/scripts/agent/codex-home-source.ts +1 -1
  921. package/scripts/agent/codex-hooks.ts +29 -6
  922. package/scripts/agent/judgment-agent-argv.ts +49 -0
  923. package/scripts/agent/lane-instructions.ts +4 -1
  924. package/scripts/auto-ok/auto-ok-author.ts +14 -3
  925. package/scripts/auto-ok/auto-ok-cli.ts +20 -12
  926. package/scripts/auto-ok/auto-ok-judge-cli.ts +7 -14
  927. package/scripts/auto-ok/auto-ok-judge-read.ts +3 -3
  928. package/scripts/auto-ok/auto-ok-judge-write.ts +18 -16
  929. package/scripts/backlog/backlog-arrival-added.ts +47 -11
  930. package/scripts/backlog/backlog-arrival.ts +90 -23
  931. package/scripts/backlog/backlog-auto-triage.ts +130 -0
  932. package/scripts/backlog/backlog-budget-cli.ts +2 -1
  933. package/scripts/backlog/backlog-budget.ts +31 -5
  934. package/scripts/backlog/backlog-defect-priority.ts +32 -19
  935. package/scripts/backlog/backlog-drain-flush.ts +22 -0
  936. package/scripts/backlog/backlog-drive-adopt.ts +2 -2
  937. package/scripts/backlog/backlog-drive-after-merge.ts +123 -0
  938. package/scripts/backlog/backlog-drive-args.ts +60 -7
  939. package/scripts/backlog/backlog-drive-cli.ts +69 -64
  940. package/scripts/backlog/backlog-drive-collect.ts +46 -0
  941. package/scripts/backlog/backlog-drive-epic.ts +1 -1
  942. package/scripts/backlog/backlog-drive-hold.ts +32 -8
  943. package/scripts/backlog/backlog-drive-idle.ts +21 -10
  944. package/scripts/backlog/backlog-drive-launch-pass.ts +79 -23
  945. package/scripts/backlog/backlog-drive-launch.ts +73 -7
  946. package/scripts/backlog/backlog-drive-listing.ts +59 -0
  947. package/scripts/backlog/backlog-drive-memory.ts +4 -5
  948. package/scripts/backlog/backlog-drive-named-offer.ts +112 -22
  949. package/scripts/backlog/backlog-drive-named.ts +11 -4
  950. package/scripts/backlog/backlog-drive-offer-argv.ts +10 -2
  951. package/scripts/backlog/backlog-drive-park-triage.ts +57 -0
  952. package/scripts/backlog/backlog-drive-paused.ts +2 -1
  953. package/scripts/backlog/backlog-drive-rate-limit.ts +29 -0
  954. package/scripts/backlog/backlog-drive-rate.ts +73 -0
  955. package/scripts/backlog/backlog-drive-record.ts +58 -0
  956. package/scripts/backlog/backlog-drive-restore.ts +38 -8
  957. package/scripts/backlog/backlog-drive-retrospective-unit.ts +80 -0
  958. package/scripts/backlog/backlog-drive-retrospective.ts +35 -1
  959. package/scripts/backlog/backlog-drive-retry.ts +85 -0
  960. package/scripts/backlog/backlog-drive-seats.ts +4 -7
  961. package/scripts/backlog/backlog-drive-split-unit.ts +108 -0
  962. package/scripts/backlog/backlog-drive-stalled-retry.ts +194 -0
  963. package/scripts/backlog/backlog-drive-state.ts +28 -0
  964. package/scripts/backlog/backlog-drive-tick.ts +77 -0
  965. package/scripts/backlog/backlog-drive-token-handling.ts +2 -2
  966. package/scripts/backlog/backlog-drive-trace.ts +45 -0
  967. package/scripts/backlog/backlog-drive-unit.ts +54 -0
  968. package/scripts/backlog/backlog-drive-unread.ts +1 -1
  969. package/scripts/backlog/backlog-drive.ts +142 -99
  970. package/scripts/backlog/backlog-gate-scope.ts +15 -3
  971. package/scripts/backlog/backlog-hold-codes.ts +23 -0
  972. package/scripts/backlog/backlog-hold-text.ts +107 -0
  973. package/scripts/backlog/backlog-measure-close.ts +61 -31
  974. package/scripts/backlog/backlog-named.ts +1 -1
  975. package/scripts/backlog/backlog-next-offer.ts +138 -0
  976. package/scripts/backlog/backlog-next-report.ts +221 -0
  977. package/scripts/backlog/backlog-next-shared.ts +22 -4
  978. package/scripts/backlog/backlog-next-size.ts +108 -0
  979. package/scripts/backlog/backlog-next.ts +52 -187
  980. package/scripts/backlog/backlog-occupied.ts +7 -7
  981. package/scripts/backlog/backlog-offer-cli.ts +13 -2
  982. package/scripts/backlog/backlog-offer-timing.ts +141 -0
  983. package/scripts/backlog/backlog-offer.ts +26 -6
  984. package/scripts/backlog/backlog-overlap.ts +7 -1
  985. package/scripts/backlog/backlog-plan-cli.ts +27 -3
  986. package/scripts/backlog/backlog-plan-comment.ts +36 -14
  987. package/scripts/backlog/backlog-plan-words.ts +69 -0
  988. package/scripts/backlog/backlog-plan.ts +63 -46
  989. package/scripts/backlog/backlog-pool.ts +42 -13
  990. package/scripts/backlog/backlog-preflight.ts +67 -0
  991. package/scripts/backlog/backlog-ready.ts +7 -69
  992. package/scripts/backlog/backlog-resumable.ts +65 -0
  993. package/scripts/backlog/backlog-resume-reads.ts +119 -0
  994. package/scripts/backlog/backlog-stalled-detect.ts +4 -3
  995. package/scripts/backlog/backlog-stalled.ts +3 -2
  996. package/scripts/backlog/backlog-triage-adopt.ts +239 -0
  997. package/scripts/backlog/backlog-triage-approval.ts +94 -0
  998. package/scripts/backlog/backlog-triage-cli.ts +270 -0
  999. package/scripts/backlog/backlog-triage-decision.ts +49 -0
  1000. package/scripts/backlog/backlog-triage-park.ts +53 -0
  1001. package/scripts/backlog/backlog-triage-pass.ts +113 -0
  1002. package/scripts/backlog/backlog-triage-unblock.ts +68 -0
  1003. package/scripts/backlog/backlog-wait-cause.ts +76 -16
  1004. package/scripts/backlog/backlog-yield-cap.ts +108 -0
  1005. package/scripts/backlog/backlogrun-args.ts +45 -16
  1006. package/scripts/backlog/backlogrun-cli.ts +82 -18
  1007. package/scripts/backlog/backlogrun-launch.ts +12 -4
  1008. package/scripts/backlog/backlogrun-replace.ts +44 -4
  1009. package/scripts/build/build-bin.ts +25 -2
  1010. package/scripts/build/build-codex-hooks.ts +2 -2
  1011. package/scripts/build/build-commands.ts +27 -19
  1012. package/scripts/build/build-hooks.ts +117 -22
  1013. package/scripts/build/hook-bundle-stamp.ts +15 -5
  1014. package/scripts/build/local-bin.ts +27 -1
  1015. package/scripts/build/source-location.ts +82 -0
  1016. package/scripts/ci/ci-timing-cli.ts +73 -0
  1017. package/scripts/ci/ci-timing-table.ts +84 -0
  1018. package/scripts/ci/ci-timing.ts +104 -0
  1019. package/scripts/ci/composite-actions.ts +1 -1
  1020. package/scripts/ci/pr-classification.ts +89 -11
  1021. package/scripts/code/code-symbol-cli.ts +121 -0
  1022. package/scripts/code/code-symbol.ts +127 -0
  1023. package/scripts/config-merge/patch-json-key.ts +4 -7
  1024. package/scripts/cost-runtime/cost-blocks.ts +3 -4
  1025. package/scripts/cost-runtime/cost-cli.ts +4 -7
  1026. package/scripts/cost-runtime/cost-pricing.ts +2 -2
  1027. package/scripts/cost-runtime/cost-tokens.ts +7 -6
  1028. package/scripts/delegation/delegation-policy.ts +2 -2
  1029. package/scripts/delegation/duplicate-read-guard.ts +41 -28
  1030. package/scripts/delegation/investigation-guard.ts +13 -5
  1031. package/scripts/delegation/investigation-reads.ts +52 -34
  1032. package/scripts/delegation/large-read-guard.ts +150 -0
  1033. package/scripts/discovery/git-directory.ts +61 -0
  1034. package/scripts/discovery/pin-verify-cli.ts +115 -0
  1035. package/scripts/discovery/repo-discovery.ts +10 -58
  1036. package/scripts/discovery/repo-party.ts +1 -0
  1037. package/scripts/document/backlogrun-parent-read-set.ts +37 -6
  1038. package/scripts/document/capped-print.ts +3 -3
  1039. package/scripts/document/command-reference-line-budget.ts +4 -1
  1040. package/scripts/document/document-byte-budget.ts +34 -16
  1041. package/scripts/document/document-byte-check.ts +1 -1
  1042. package/scripts/document/document-reachability.ts +4 -3
  1043. package/scripts/document/document-scan.ts +2 -5
  1044. package/scripts/document/document-section-cli.ts +13 -1
  1045. package/scripts/document/edit-files-cli.ts +3 -7
  1046. package/scripts/document/entry-read-budget.ts +12 -4
  1047. package/scripts/document/entry-read-set.ts +9 -2
  1048. package/scripts/document/issue-citation-budget.ts +3 -3
  1049. package/scripts/document/lane-child-read-set.ts +21 -29
  1050. package/scripts/document/read-set-cli.ts +17 -10
  1051. package/scripts/document/read-set-point-of-use.ts +13 -9
  1052. package/scripts/document/read-set-trim.ts +42 -2
  1053. package/scripts/epic/epic-audit-checks.ts +1 -1
  1054. package/scripts/epic/epic-audit-cli.ts +19 -21
  1055. package/scripts/epic/epic-audit-main.ts +17 -0
  1056. package/scripts/epic/epic-audit-orphans.ts +1 -1
  1057. package/scripts/epic/epic-audit.ts +6 -3
  1058. package/scripts/epic/epic-blocked-by.ts +198 -0
  1059. package/scripts/epic/epic-body.ts +6 -6
  1060. package/scripts/epic/epic-bundle-apply.ts +41 -10
  1061. package/scripts/epic/epic-bundle-cli.ts +40 -99
  1062. package/scripts/epic/epic-bundle-evidence.ts +2 -2
  1063. package/scripts/epic/epic-bundle-format.ts +21 -7
  1064. package/scripts/epic/epic-bundle-recommend.ts +56 -0
  1065. package/scripts/epic/epic-bundle-referenced.ts +42 -17
  1066. package/scripts/epic/epic-bundle.ts +31 -4
  1067. package/scripts/epic/epic-busy.ts +11 -9
  1068. package/scripts/epic/epic-chains.ts +59 -23
  1069. package/scripts/epic/epic-child-source.ts +111 -0
  1070. package/scripts/epic/epic-cli-untrack.ts +38 -0
  1071. package/scripts/epic/epic-cli.ts +26 -7
  1072. package/scripts/epic/epic-close-comment.ts +4 -2
  1073. package/scripts/epic/epic-close.ts +25 -11
  1074. package/scripts/epic/epic-decide.ts +39 -3
  1075. package/scripts/epic/epic-fetch.ts +116 -24
  1076. package/scripts/epic/epic-graph.ts +1 -0
  1077. package/scripts/epic/epic-label-age.ts +55 -13
  1078. package/scripts/epic/epic-lane-occupancy.ts +75 -0
  1079. package/scripts/epic/epic-lane-offer.ts +49 -13
  1080. package/scripts/epic/epic-main.ts +23 -0
  1081. package/scripts/epic/epic-next-main.ts +2 -4
  1082. package/scripts/epic/epic-next-read.ts +12 -3
  1083. package/scripts/epic/epic-next-views.ts +1 -1
  1084. package/scripts/epic/epic-notify.ts +72 -0
  1085. package/scripts/epic/epic-parse.ts +1 -1
  1086. package/scripts/epic/epic-rank.ts +6 -2
  1087. package/scripts/epic/epic-reference.ts +1 -1
  1088. package/scripts/epic/epic-run.ts +14 -1
  1089. package/scripts/epic/epic-shape.ts +2 -2
  1090. package/scripts/epic/epic-solo-stale.ts +1 -1
  1091. package/scripts/epic/epic-solo.ts +11 -5
  1092. package/scripts/epic/epic-split-reach.ts +107 -0
  1093. package/scripts/epic/epic-triage.ts +29 -5
  1094. package/scripts/epic/epic-untrack-plan.ts +75 -0
  1095. package/scripts/epic/epic-untrack.ts +42 -0
  1096. package/scripts/epic/epic.ts +65 -31
  1097. package/scripts/followup/followup-check-report.ts +70 -0
  1098. package/scripts/followup/followup-ci-path.ts +27 -7
  1099. package/scripts/followup/followup-coderabbit-retrigger.ts +61 -23
  1100. package/scripts/followup/followup-failed-tests.ts +4 -0
  1101. package/scripts/followup/followup-human-merge.ts +109 -0
  1102. package/scripts/followup/followup-job-needs.ts +92 -14
  1103. package/scripts/followup/followup-job-rerun.ts +162 -43
  1104. package/scripts/followup/followup-run-rerun.ts +183 -0
  1105. package/scripts/followup/followup-section.ts +30 -0
  1106. package/scripts/followup/followup-ship-environment.ts +17 -0
  1107. package/scripts/followup/git-followup-finish.ts +52 -1
  1108. package/scripts/followup/git-followup-flush.ts +6 -8
  1109. package/scripts/followup/git-followup-stages.ts +3 -0
  1110. package/scripts/followup/git-followup-workflow.ts +29 -9
  1111. package/scripts/followup/git-pr-followup-checks.ts +65 -8
  1112. package/scripts/followup/git-pr-followup-wrapup.ts +11 -9
  1113. package/scripts/followup/git-pr-followup.ts +18 -12
  1114. package/scripts/fresh-machine/fresh-machine-cli.ts +2 -1
  1115. package/scripts/fresh-machine/fresh-machine-image.ts +3 -1
  1116. package/scripts/fresh-machine/fresh-machine-patterns.ts +25 -4
  1117. package/scripts/fresh-machine/fresh-machine-registry.ts +85 -0
  1118. package/scripts/fresh-machine/fresh-machine-script.ts +3 -1
  1119. package/scripts/fresh-machine/fresh-machine-spec.ts +2 -2
  1120. package/scripts/fresh-machine/specs/kit-test-backlogrun-python.json +0 -1
  1121. package/scripts/fresh-machine/specs/kit-test-backlogrun.json +0 -1
  1122. package/scripts/gate/busy-average.ts +26 -3
  1123. package/scripts/gate/change-scope-action.ts +101 -0
  1124. package/scripts/gate/check-inputs.ts +1 -1
  1125. package/scripts/gate/check-related-order.ts +65 -0
  1126. package/scripts/gate/check-related-pinned.ts +3 -2
  1127. package/scripts/gate/check-related-reuse.ts +34 -6
  1128. package/scripts/gate/check-related-section.ts +8 -1
  1129. package/scripts/gate/check-related-unplanned.ts +11 -1
  1130. package/scripts/gate/check-related.ts +122 -34
  1131. package/scripts/gate/check-reuse.ts +63 -31
  1132. package/scripts/gate/command-memory.ts +10 -4
  1133. package/scripts/gate/core-admission.ts +34 -8
  1134. package/scripts/gate/core-budget.ts +55 -65
  1135. package/scripts/gate/core-priority.ts +28 -0
  1136. package/scripts/gate/core-reservation.ts +85 -0
  1137. package/scripts/gate/core-wait.ts +90 -19
  1138. package/scripts/gate/core-weights.ts +25 -16
  1139. package/scripts/gate/gate-checks.ts +196 -0
  1140. package/scripts/gate/gate-labels.ts +4 -0
  1141. package/scripts/gate/gate-plan.ts +34 -164
  1142. package/scripts/gate/gate-report.ts +14 -10
  1143. package/scripts/gate/gate-run-steps.ts +38 -6
  1144. package/scripts/gate/gate-skip.ts +1 -1
  1145. package/scripts/gate/gate-static-group.ts +35 -6
  1146. package/scripts/gate/machine-capacity.ts +20 -25
  1147. package/scripts/gate/metrics-totals.ts +30 -4
  1148. package/scripts/gate/path-glob.ts +15 -0
  1149. package/scripts/gate/pre-commit-type-check.ts +2 -6
  1150. package/scripts/gate/project-checks.ts +33 -2
  1151. package/scripts/gate/project-gate-steps.ts +206 -0
  1152. package/scripts/gate/project-step-reuse.ts +69 -0
  1153. package/scripts/gate/scoped-green.ts +10 -4
  1154. package/scripts/gate/since-green.ts +76 -20
  1155. package/scripts/gate/tree-verdict.ts +111 -0
  1156. package/scripts/gate/tsc-arguments.ts +9 -0
  1157. package/scripts/gate/type-check-command.ts +4 -7
  1158. package/scripts/gate/type-check-step.ts +4 -1
  1159. package/scripts/gate/type-program-serial.ts +52 -0
  1160. package/scripts/gate/verification-gate.ts +47 -17
  1161. package/scripts/gate/verification-inputs.ts +46 -11
  1162. package/scripts/gate/whole-tree-reuse.ts +24 -0
  1163. package/scripts/gh/gh-author-association.ts +40 -14
  1164. package/scripts/gh/gh-call-kind.ts +97 -0
  1165. package/scripts/gh/gh-comment-input.ts +26 -0
  1166. package/scripts/gh/gh-core-rate-limit.ts +151 -0
  1167. package/scripts/gh/gh-permission-cache.ts +44 -0
  1168. package/scripts/gh/gh-request-tally.ts +143 -0
  1169. package/scripts/gh/gh-spawn.ts +2 -2
  1170. package/scripts/gh/gh-usage-cli.ts +71 -0
  1171. package/scripts/gh/gh-usage-event.ts +82 -0
  1172. package/scripts/gh/gh-usage-log.ts +48 -0
  1173. package/scripts/gh/gh-usage-tally.ts +209 -0
  1174. package/scripts/gh/git-gh-api-path.ts +17 -2
  1175. package/scripts/gh/git-gh-blocked-by-graphql.ts +107 -0
  1176. package/scripts/gh/git-gh-checks-failed-main.ts +24 -0
  1177. package/scripts/gh/git-gh-checks-failed.ts +141 -0
  1178. package/scripts/gh/git-gh-code-scanning.ts +81 -0
  1179. package/scripts/gh/git-gh-conditional.ts +36 -4
  1180. package/scripts/gh/git-gh-etag-read.ts +107 -0
  1181. package/scripts/gh/git-gh-exec.ts +74 -25
  1182. package/scripts/gh/git-gh-failure.ts +16 -2
  1183. package/scripts/gh/git-gh-helpers.ts +2 -6
  1184. package/scripts/gh/git-gh-issue-alias-graphql.ts +113 -0
  1185. package/scripts/gh/git-gh-issue-batch-graphql.ts +155 -0
  1186. package/scripts/gh/git-gh-issue-batch-read.ts +66 -0
  1187. package/scripts/gh/git-gh-issue-graphql.ts +229 -0
  1188. package/scripts/gh/git-gh-issue-list-graphql.ts +103 -0
  1189. package/scripts/gh/git-gh-issue-list.ts +126 -34
  1190. package/scripts/gh/git-gh-issue-memo.ts +53 -0
  1191. package/scripts/gh/git-gh-issue-read.ts +87 -14
  1192. package/scripts/gh/git-gh-issue-rest.ts +5 -8
  1193. package/scripts/gh/git-gh-issue-write.ts +31 -10
  1194. package/scripts/gh/git-gh-issue.ts +25 -4
  1195. package/scripts/gh/git-gh-poll-read.ts +43 -18
  1196. package/scripts/gh/git-gh-pr-auto-merge.ts +1 -4
  1197. package/scripts/gh/git-gh-pr-graphql-snapshot.ts +369 -0
  1198. package/scripts/gh/git-gh-pr-graphql-state.ts +21 -26
  1199. package/scripts/gh/git-gh-pr-read.ts +4 -1
  1200. package/scripts/gh/git-gh-pr-rollup.ts +10 -3
  1201. package/scripts/gh/git-gh-pr-snapshot.ts +78 -22
  1202. package/scripts/gh/git-gh-pr.ts +51 -17
  1203. package/scripts/gh/git-gh-rate-limit.ts +91 -0
  1204. package/scripts/gh/git-gh-repo.ts +37 -20
  1205. package/scripts/gh/git-gh-retry.ts +60 -24
  1206. package/scripts/gh/git-gh-spawn-width.ts +6 -0
  1207. package/scripts/gh/git-gh-transport.ts +213 -0
  1208. package/scripts/gh/git-pr-ai-review.ts +8 -5
  1209. package/scripts/gh/git-pr-checks-eval.ts +16 -17
  1210. package/scripts/gh/git-pr-checks-gate.ts +129 -0
  1211. package/scripts/gh/git-pr-checks-missing.ts +165 -0
  1212. package/scripts/gh/git-pr-checks-parse.ts +4 -0
  1213. package/scripts/gh/git-pr-checks-watch.ts +22 -6
  1214. package/scripts/gh/git-pr-checks.ts +105 -76
  1215. package/scripts/gh/git-pr-merge-checked.ts +26 -12
  1216. package/scripts/gh/git-pr.ts +9 -23
  1217. package/scripts/git/base-tree.ts +18 -10
  1218. package/scripts/git/changed-paths-sync.ts +4 -12
  1219. package/scripts/git/changed-paths.ts +31 -6
  1220. package/scripts/git/git-command.ts +9 -1
  1221. package/scripts/git/git-common-directory.ts +17 -3
  1222. package/scripts/git/git-issue.ts +3 -3
  1223. package/scripts/git/git-merge-conflicts.ts +8 -3
  1224. package/scripts/git/git-path-quoting.ts +54 -0
  1225. package/scripts/git/git-push-transport.ts +8 -10
  1226. package/scripts/git/git-schemas.ts +1 -0
  1227. package/scripts/git/git-spawn-sync.ts +11 -7
  1228. package/scripts/git/git-spawn.ts +1 -1
  1229. package/scripts/git/git-ssh-keepalive.ts +3 -3
  1230. package/scripts/git/git-workflow.ts +32 -9
  1231. package/scripts/git/git-worktree.ts +12 -4
  1232. package/scripts/git/main-merge.ts +3 -36
  1233. package/scripts/git/main-sync.ts +2 -13
  1234. package/scripts/git/repository-lock.ts +8 -7
  1235. package/scripts/git/stash/git-stash.ts +38 -5
  1236. package/scripts/git/stash/stash-pop-cli.ts +43 -6
  1237. package/scripts/hooks/bash-revert.ts +253 -0
  1238. package/scripts/hooks/batch-guard.ts +28 -16
  1239. package/scripts/hooks/check-commit-message.ts +5 -7
  1240. package/scripts/hooks/codex-hook-adapter.ts +58 -13
  1241. package/scripts/hooks/direct-gh-usage.ts +130 -0
  1242. package/scripts/hooks/edited-cspell.ts +8 -11
  1243. package/scripts/hooks/fixtures/claude-Agent.json +16 -0
  1244. package/scripts/hooks/fixtures/claude-Bash.json +12 -0
  1245. package/scripts/hooks/fixtures/claude-Edit.json +17 -0
  1246. package/scripts/hooks/fixtures/claude-Read.json +12 -0
  1247. package/scripts/hooks/fixtures/claude-Write.json +12 -0
  1248. package/scripts/hooks/fixtures/codex-Bash-cat.json +12 -0
  1249. package/scripts/hooks/fixtures/codex-Bash.json +12 -0
  1250. package/scripts/hooks/fixtures/codex-apply_patch.json +14 -0
  1251. package/scripts/hooks/format-edited-cli.ts +8 -1
  1252. package/scripts/hooks/format-edited-file.ts +33 -27
  1253. package/scripts/hooks/hook-context.ts +22 -0
  1254. package/scripts/hooks/hook-demoted.ts +84 -0
  1255. package/scripts/hooks/hook-lap.ts +61 -0
  1256. package/scripts/hooks/hook-ledger-cli.ts +246 -0
  1257. package/scripts/hooks/hook-ledger-demote.ts +58 -0
  1258. package/scripts/hooks/hook-ledger-issues.ts +61 -0
  1259. package/scripts/hooks/hook-ledger-read.ts +97 -0
  1260. package/scripts/hooks/hook-ledger.ts +163 -0
  1261. package/scripts/hooks/implementation-authority.ts +48 -0
  1262. package/scripts/hooks/implementation-shell-deny.ts +344 -0
  1263. package/scripts/hooks/implementation-shell-nested.ts +148 -0
  1264. package/scripts/hooks/implementation-shell.ts +253 -0
  1265. package/scripts/hooks/lane-plan-guard.ts +1 -1
  1266. package/scripts/hooks/pre-commit-lint.ts +10 -5
  1267. package/scripts/hooks/pre-push-unit.ts +49 -13
  1268. package/scripts/hooks/pretool-guard.ts +184 -70
  1269. package/scripts/hooks/reserved-run.ts +13 -13
  1270. package/scripts/hooks/run-hook.sh +84 -30
  1271. package/scripts/hooks/step-zero-notice.ts +52 -14
  1272. package/scripts/hooks/stop-actions.ts +10 -3
  1273. package/scripts/hooks/stop-guard.ts +29 -8
  1274. package/scripts/init/claude-kit-only-settings.ts +1 -1
  1275. package/scripts/init/hook-command-rewrite.ts +90 -65
  1276. package/scripts/init/hook-launch.ts +27 -22
  1277. package/scripts/init/init-ai-copy.ts +14 -4
  1278. package/scripts/init/init-bootstrap.ts +40 -8
  1279. package/scripts/init/init-copy-content.ts +2 -2
  1280. package/scripts/init/init-install.ts +9 -1
  1281. package/scripts/init/init-logic-deploy-vps.ts +5 -3
  1282. package/scripts/init/init-logic-workspace.ts +16 -1
  1283. package/scripts/init/init-logic.ts +11 -18
  1284. package/scripts/init/npm-publish-files.ts +25 -0
  1285. package/scripts/init/start-setup-pr.ts +1 -1
  1286. package/scripts/init/tsconfig-preset-migration.ts +5 -10
  1287. package/scripts/issue/aggregation-split.ts +4 -2
  1288. package/scripts/issue/already-done-citation.ts +103 -0
  1289. package/scripts/issue/baseline-measure.ts +2 -1
  1290. package/scripts/issue/behavior-change-lint.ts +5 -4
  1291. package/scripts/issue/defect-origin-line.ts +11 -10
  1292. package/scripts/issue/defect-origin.ts +4 -3
  1293. package/scripts/issue/defect-rate.ts +2 -1
  1294. package/scripts/issue/defect-report-format.ts +1 -1
  1295. package/scripts/issue/effect-audit.ts +12 -11
  1296. package/scripts/issue/enforcement-lint.ts +48 -0
  1297. package/scripts/issue/expected-effect-lint.ts +6 -5
  1298. package/scripts/issue/figure-source-lint.ts +59 -0
  1299. package/scripts/issue/git-next-issues.ts +15 -17
  1300. package/scripts/issue/issue-already-done-cli.ts +24 -4
  1301. package/scripts/issue/issue-auto-ok.ts +23 -6
  1302. package/scripts/issue/issue-body-cli.ts +75 -0
  1303. package/scripts/issue/issue-body-keys.ts +223 -0
  1304. package/scripts/issue/issue-body-or-comment.ts +1 -1
  1305. package/scripts/issue/issue-bug-label.ts +5 -2
  1306. package/scripts/issue/issue-cap-files.ts +111 -0
  1307. package/scripts/issue/issue-cite-cli.ts +2 -2
  1308. package/scripts/issue/issue-cite.ts +20 -3
  1309. package/scripts/issue/issue-classification.ts +66 -7
  1310. package/scripts/issue/issue-closing-pr.ts +51 -16
  1311. package/scripts/issue/issue-consolidate-cli.ts +81 -0
  1312. package/scripts/issue/issue-consolidate.ts +246 -0
  1313. package/scripts/issue/issue-declared-size.ts +21 -0
  1314. package/scripts/issue/issue-evidence-exit.ts +6 -3
  1315. package/scripts/issue/issue-file-batch-entries.ts +107 -0
  1316. package/scripts/issue/issue-file-batch.ts +206 -0
  1317. package/scripts/issue/issue-file-cli.ts +147 -208
  1318. package/scripts/issue/issue-file-fold.ts +4 -8
  1319. package/scripts/issue/issue-file-interrupt.ts +68 -9
  1320. package/scripts/issue/issue-file-lane-hint.ts +3 -2
  1321. package/scripts/issue/issue-file-main.ts +17 -0
  1322. package/scripts/issue/issue-file-pass.ts +242 -0
  1323. package/scripts/issue/issue-file.ts +24 -5
  1324. package/scripts/issue/issue-fold-apply.ts +102 -0
  1325. package/scripts/issue/issue-fold-existing-cli.ts +226 -19
  1326. package/scripts/issue/issue-human-stops.ts +102 -0
  1327. package/scripts/issue/issue-labels.ts +14 -3
  1328. package/scripts/issue/issue-lint-cli.ts +20 -6
  1329. package/scripts/issue/issue-lint.ts +4 -6
  1330. package/scripts/issue/issue-merged.ts +75 -9
  1331. package/scripts/issue/issue-not-before.ts +34 -4
  1332. package/scripts/issue/issue-number-shape.ts +8 -0
  1333. package/scripts/issue/issue-plan-cli.ts +33 -5
  1334. package/scripts/issue/issue-plan-notify.ts +100 -0
  1335. package/scripts/issue/issue-premise-unmet-cli.ts +110 -0
  1336. package/scripts/issue/issue-priority-cli.ts +103 -16
  1337. package/scripts/issue/issue-priority-instructed.ts +55 -0
  1338. package/scripts/issue/issue-priority-raise.ts +70 -12
  1339. package/scripts/issue/issue-priority.ts +56 -16
  1340. package/scripts/issue/issue-rank.ts +48 -15
  1341. package/scripts/issue/issue-read-cli.ts +66 -33
  1342. package/scripts/issue/issue-read.ts +20 -5
  1343. package/scripts/issue/issue-release-class-cli.ts +79 -0
  1344. package/scripts/issue/issue-report-failures.ts +14 -5
  1345. package/scripts/issue/issue-run-hold.ts +13 -0
  1346. package/scripts/issue/issue-run-verdict.ts +68 -0
  1347. package/scripts/issue/issue-sample-gate.ts +18 -7
  1348. package/scripts/issue/issue-sample-required.ts +20 -3
  1349. package/scripts/issue/issue-sample-source.ts +2 -1
  1350. package/scripts/issue/issue-scout-cli.ts +34 -18
  1351. package/scripts/issue/issue-scout.ts +25 -4
  1352. package/scripts/issue/issue-search.ts +3 -0
  1353. package/scripts/issue/issue-sources.ts +98 -0
  1354. package/scripts/issue/issue-spill-cli.ts +292 -0
  1355. package/scripts/issue/issue-spill-main.ts +11 -0
  1356. package/scripts/issue/issue-spill.ts +193 -0
  1357. package/scripts/issue/issue-state-cli.ts +9 -17
  1358. package/scripts/issue/issue-template-section.ts +8 -3
  1359. package/scripts/issue/issue-tick-cli.ts +59 -0
  1360. package/scripts/issue/issue-watch-diff.ts +22 -7
  1361. package/scripts/issue/issue-watch-hook.ts +11 -9
  1362. package/scripts/issue/issue-watch.ts +25 -5
  1363. package/scripts/issue/issue-wip.ts +44 -9
  1364. package/scripts/issue/markdown-section.ts +66 -10
  1365. package/scripts/issue/measure-declaration.ts +70 -13
  1366. package/scripts/issue/measure-rerun-cli.ts +9 -8
  1367. package/scripts/issue/measure-twin.ts +37 -0
  1368. package/scripts/issue/reproduction-measure.ts +2 -1
  1369. package/scripts/issue/session-cite.ts +1 -1
  1370. package/scripts/issue/size-estimate.ts +317 -22
  1371. package/scripts/issue/trusted-measure-source.ts +43 -0
  1372. package/scripts/issue/trusted-measure.ts +79 -35
  1373. package/scripts/issue/upstream-interrupt-cli.ts +280 -0
  1374. package/scripts/issue/upstream-interrupt-main.ts +11 -0
  1375. package/scripts/josh/agent-session-environment.ts +19 -1
  1376. package/scripts/josh/cli-body.ts +46 -9
  1377. package/scripts/josh/command-usage.ts +3 -0
  1378. package/scripts/josh/durable-state-migrate.ts +11 -4
  1379. package/scripts/josh/durable-state-root.ts +60 -0
  1380. package/scripts/josh/durable-state.ts +9 -44
  1381. package/scripts/josh/hook-decision.ts +55 -113
  1382. package/scripts/josh/hook-envelope.ts +62 -0
  1383. package/scripts/josh/hook-payload-capture.ts +78 -0
  1384. package/scripts/josh/hook-tool-payload.ts +15 -0
  1385. package/scripts/josh/josh-aliases.ts +7 -0
  1386. package/scripts/josh/josh-command-map.ts +15 -0
  1387. package/scripts/josh/josh-command-types.ts +28 -4
  1388. package/scripts/josh/josh-commands-agent-hooks.ts +39 -7
  1389. package/scripts/josh/josh-commands-ai.ts +420 -9
  1390. package/scripts/josh/josh-commands-backlog.ts +79 -11
  1391. package/scripts/josh/josh-commands-clone.ts +2 -5
  1392. package/scripts/josh/josh-commands-development.ts +25 -8
  1393. package/scripts/josh/josh-commands-document.ts +22 -10
  1394. package/scripts/josh/josh-commands-epic.ts +30 -11
  1395. package/scripts/josh/josh-commands-hooks.ts +0 -1
  1396. package/scripts/josh/josh-commands-issue-write.ts +190 -18
  1397. package/scripts/josh/josh-commands-issue.ts +57 -17
  1398. package/scripts/josh/josh-commands-lint.ts +52 -19
  1399. package/scripts/josh/josh-commands-maintenance.ts +37 -4
  1400. package/scripts/josh/josh-commands-pause.ts +53 -5
  1401. package/scripts/josh/josh-commands-prime.ts +28 -0
  1402. package/scripts/josh/josh-commands-progress.ts +59 -7
  1403. package/scripts/josh/josh-commands-project.ts +8 -5
  1404. package/scripts/josh/josh-commands-review.ts +83 -5
  1405. package/scripts/josh/josh-commands-run.ts +20 -31
  1406. package/scripts/josh/josh-commands-ship.ts +95 -13
  1407. package/scripts/josh/josh-commands-test-check.ts +0 -2
  1408. package/scripts/josh/josh-commands-versioning.ts +11 -2
  1409. package/scripts/josh/josh-commands-workflow.ts +41 -11
  1410. package/scripts/josh/josh-completion-scripts.ts +81 -0
  1411. package/scripts/josh/josh-completion.ts +29 -0
  1412. package/scripts/josh/josh-environment-file.ts +8 -10
  1413. package/scripts/josh/josh-gh-usage.ts +53 -0
  1414. package/scripts/josh/josh-in-process.ts +21 -21
  1415. package/scripts/josh/josh-logic.ts +22 -46
  1416. package/scripts/josh/josh-read-only.ts +51 -0
  1417. package/scripts/josh/josh-run.ts +30 -6
  1418. package/scripts/josh/josh.ts +9 -11
  1419. package/scripts/josh/path-decision.ts +2 -2
  1420. package/scripts/josh/process-identity.ts +5 -0
  1421. package/scripts/josh/session-handoff-line.ts +88 -0
  1422. package/scripts/josh/session-language-cli.ts +18 -4
  1423. package/scripts/josh/session-model-record.ts +62 -0
  1424. package/scripts/lane/historical-evidence.ts +136 -0
  1425. package/scripts/lane/historical-log-evidence.ts +47 -0
  1426. package/scripts/lane/lane-adopt-cli.ts +1 -1
  1427. package/scripts/lane/lane-await.ts +8 -3
  1428. package/scripts/lane/lane-breakdown-calls.ts +165 -0
  1429. package/scripts/lane/lane-breakdown-cli.ts +77 -9
  1430. package/scripts/lane/lane-breakdown-estimate.ts +136 -0
  1431. package/scripts/lane/lane-breakdown-implement.ts +166 -29
  1432. package/scripts/lane/lane-breakdown-laps.ts +116 -24
  1433. package/scripts/lane/lane-breakdown-pause.ts +127 -0
  1434. package/scripts/lane/lane-breakdown-pinned.ts +19 -3
  1435. package/scripts/lane/lane-breakdown-related.ts +40 -0
  1436. package/scripts/lane/lane-breakdown-text.ts +129 -15
  1437. package/scripts/lane/lane-breakdown.ts +194 -30
  1438. package/scripts/lane/lane-broker-server.ts +1 -1
  1439. package/scripts/lane/lane-capacity.ts +27 -16
  1440. package/scripts/lane/lane-chain-stop-stats.ts +110 -0
  1441. package/scripts/lane/lane-check-stats.ts +25 -5
  1442. package/scripts/lane/lane-child-invocation.ts +9 -9
  1443. package/scripts/lane/lane-ci-path-stats.ts +15 -4
  1444. package/scripts/lane/lane-cli.ts +2 -2
  1445. package/scripts/lane/lane-concurrency-stats.ts +110 -0
  1446. package/scripts/lane/lane-cut-stats.ts +101 -0
  1447. package/scripts/lane/lane-dispatch.ts +25 -20
  1448. package/scripts/lane/lane-early-push-stats.ts +25 -0
  1449. package/scripts/lane/lane-environment.ts +2 -2
  1450. package/scripts/lane/lane-gap-stats.ts +69 -8
  1451. package/scripts/lane/lane-guard-policy.ts +1 -1
  1452. package/scripts/lane/lane-hand-back-held.ts +51 -0
  1453. package/scripts/lane/lane-hand-back-hold.ts +103 -0
  1454. package/scripts/lane/lane-held-stats.ts +13 -1
  1455. package/scripts/lane/lane-implement-rate-read.ts +50 -0
  1456. package/scripts/lane/lane-implement-rate.ts +74 -0
  1457. package/scripts/lane/lane-implement-read.ts +129 -0
  1458. package/scripts/lane/lane-implement-signals-record.ts +56 -0
  1459. package/scripts/lane/lane-implement-signals.ts +161 -0
  1460. package/scripts/lane/lane-implement-stats.ts +93 -18
  1461. package/scripts/lane/lane-launch-admission.ts +61 -0
  1462. package/scripts/lane/lane-launch-cli.ts +63 -27
  1463. package/scripts/lane/lane-launch-pending.ts +44 -0
  1464. package/scripts/lane/lane-ledger-archive.ts +200 -0
  1465. package/scripts/lane/lane-ledger-kind.ts +5 -0
  1466. package/scripts/lane/lane-ledger-pinned-origin.ts +10 -0
  1467. package/scripts/lane/lane-ledger-schema-load.ts +45 -0
  1468. package/scripts/lane/lane-ledger-schema-offer.ts +30 -0
  1469. package/scripts/lane/lane-ledger-schema-ship.ts +70 -4
  1470. package/scripts/lane/lane-ledger-schema.ts +53 -30
  1471. package/scripts/lane/lane-ledger-tail.ts +124 -0
  1472. package/scripts/lane/lane-ledger-write.ts +60 -27
  1473. package/scripts/lane/lane-ledger.ts +6 -31
  1474. package/scripts/lane/lane-limit-cli.ts +11 -1
  1475. package/scripts/lane/lane-limit-history.ts +77 -0
  1476. package/scripts/lane/lane-limit-override.ts +49 -8
  1477. package/scripts/lane/lane-listening-ports.ts +77 -0
  1478. package/scripts/lane/lane-load.ts +62 -2
  1479. package/scripts/lane/lane-measure-cli.ts +134 -55
  1480. package/scripts/lane/lane-net-read.ts +22 -10
  1481. package/scripts/lane/lane-net-time.ts +103 -18
  1482. package/scripts/lane/lane-open.ts +19 -113
  1483. package/scripts/lane/lane-over-causes.ts +130 -0
  1484. package/scripts/lane/lane-over.ts +177 -0
  1485. package/scripts/lane/lane-overrun-prompt.ts +4 -3
  1486. package/scripts/lane/lane-overrun.ts +22 -9
  1487. package/scripts/lane/lane-pairs.ts +128 -0
  1488. package/scripts/lane/lane-paths.ts +26 -0
  1489. package/scripts/lane/lane-pause-cli.ts +4 -2
  1490. package/scripts/lane/lane-paused-spans.ts +11 -4
  1491. package/scripts/lane/lane-phase.ts +36 -7
  1492. package/scripts/lane/lane-plan-approval.ts +113 -0
  1493. package/scripts/lane/lane-plan-auto.ts +53 -0
  1494. package/scripts/lane/lane-plan-check.ts +196 -54
  1495. package/scripts/lane/lane-plan-cli.ts +37 -10
  1496. package/scripts/lane/lane-plan-imports.ts +53 -0
  1497. package/scripts/lane/lane-plan-premise.ts +83 -0
  1498. package/scripts/lane/lane-plan-probe.ts +115 -0
  1499. package/scripts/lane/lane-plan-signals.ts +119 -0
  1500. package/scripts/lane/lane-plan-size.ts +389 -0
  1501. package/scripts/lane/lane-plan-wait-event.ts +124 -0
  1502. package/scripts/lane/lane-plan-wait-until.ts +22 -0
  1503. package/scripts/lane/lane-plan-wait.ts +125 -0
  1504. package/scripts/lane/lane-plan.ts +113 -14
  1505. package/scripts/lane/lane-preserve.ts +58 -13
  1506. package/scripts/lane/lane-process-load.ts +130 -19
  1507. package/scripts/lane/lane-process-stats.ts +51 -10
  1508. package/scripts/lane/lane-reap.ts +4 -2
  1509. package/scripts/lane/lane-registry.ts +19 -14
  1510. package/scripts/lane/lane-relaunch.ts +32 -14
  1511. package/scripts/lane/lane-report.ts +2 -0
  1512. package/scripts/lane/lane-resolve-cli.ts +88 -0
  1513. package/scripts/lane/lane-resolve-hunks.ts +63 -0
  1514. package/scripts/lane/lane-resolve-record.ts +59 -0
  1515. package/scripts/lane/lane-resolve.ts +122 -0
  1516. package/scripts/lane/lane-restart.ts +1 -1
  1517. package/scripts/lane/lane-room.ts +58 -0
  1518. package/scripts/lane/lane-round-one-stats.ts +2 -1
  1519. package/scripts/lane/lane-sampler.ts +53 -3
  1520. package/scripts/lane/lane-seat-ownership.ts +57 -0
  1521. package/scripts/lane/lane-seat-start.ts +52 -0
  1522. package/scripts/lane/lane-seat-stop.ts +20 -0
  1523. package/scripts/lane/lane-seat.ts +174 -0
  1524. package/scripts/lane/lane-seed.ts +2 -5
  1525. package/scripts/lane/lane-session-action.ts +26 -10
  1526. package/scripts/lane/lane-session-broker.ts +1 -1
  1527. package/scripts/lane/lane-session-reread.ts +2 -1
  1528. package/scripts/lane/lane-setup.ts +59 -0
  1529. package/scripts/lane/lane-ship-lap-stats.ts +3 -1
  1530. package/scripts/lane/lane-sinks-issues.ts +52 -0
  1531. package/scripts/lane/lane-sinks.ts +165 -0
  1532. package/scripts/lane/lane-size-record.ts +39 -0
  1533. package/scripts/lane/lane-size-stats.ts +111 -0
  1534. package/scripts/lane/lane-split-stats.ts +33 -9
  1535. package/scripts/lane/lane-stage-budget.ts +27 -0
  1536. package/scripts/lane/lane-stage-stats.ts +94 -25
  1537. package/scripts/lane/lane-state-record.ts +74 -0
  1538. package/scripts/lane/lane-state.ts +21 -33
  1539. package/scripts/lane/lane-stats-request.ts +163 -0
  1540. package/scripts/lane/lane-stats-tables.ts +44 -3
  1541. package/scripts/lane/lane-stats.ts +9 -2
  1542. package/scripts/lane/lane-stop-stats.ts +3 -2
  1543. package/scripts/lane/lane-test-related-stats.ts +5 -2
  1544. package/scripts/lane/lane-timeline.ts +251 -0
  1545. package/scripts/lane/lane-transcript-calls.ts +73 -4
  1546. package/scripts/lane/lane-transcript-stats.ts +8 -3
  1547. package/scripts/lane/lane-turn-stats.ts +171 -0
  1548. package/scripts/lane/lane-value-cell.ts +87 -13
  1549. package/scripts/lane/lane-value-missing.ts +21 -0
  1550. package/scripts/lane/lane-why-causes.ts +102 -0
  1551. package/scripts/lane/lane-why-ci.ts +50 -0
  1552. package/scripts/lane/lane-why-cli.ts +83 -0
  1553. package/scripts/lane/lane-why-period.ts +187 -0
  1554. package/scripts/lane/lane-why-ship.ts +67 -0
  1555. package/scripts/lane/lane-why.ts +192 -0
  1556. package/scripts/lane/lane-withdraw.ts +12 -1
  1557. package/scripts/lane/lane-yield-split.ts +218 -0
  1558. package/scripts/lane/lane-yield.ts +38 -4
  1559. package/scripts/lane/openai-lane-ship.ts +2 -2
  1560. package/scripts/lane/openai-lane-supervisor-cli.ts +17 -8
  1561. package/scripts/lane/openai-lane-supervisor-decision.ts +10 -4
  1562. package/scripts/lane/openai-lane-supervisor-entry.ts +6 -0
  1563. package/scripts/lane/openai-lane-supervisor-owner.ts +19 -3
  1564. package/scripts/lane/openai-lane-supervisor.ts +26 -4
  1565. package/scripts/lane/process-directories.ts +3 -1
  1566. package/scripts/lane/process-lane-marks.ts +11 -5
  1567. package/scripts/lane/process-linux.ts +81 -0
  1568. package/scripts/lane/process-tools.ts +2 -5
  1569. package/scripts/lib/bounded-pool.ts +38 -7
  1570. package/scripts/lib/buffered-process.ts +34 -9
  1571. package/scripts/lib/claude-installer.ts +29 -0
  1572. package/scripts/lib/import-closure.ts +72 -0
  1573. package/scripts/lib/josh-temporary-directory.ts +7 -0
  1574. package/scripts/lib/main-guard.ts +29 -0
  1575. package/scripts/lib/package-manifest.ts +54 -3
  1576. package/scripts/lib/pnpm-installer.ts +16 -0
  1577. package/scripts/lib/poll.ts +130 -20
  1578. package/scripts/lib/schemas.ts +1 -1
  1579. package/scripts/lib/stamped-memo.ts +1 -1
  1580. package/scripts/lib/stamped-store.ts +82 -0
  1581. package/scripts/lib/stdin-text.ts +68 -0
  1582. package/scripts/lib/timeouts.ts +4 -4
  1583. package/scripts/lib/transcript-record.ts +4 -0
  1584. package/scripts/lib/verified-download.ts +17 -0
  1585. package/scripts/lines/bytes-command.ts +1 -1
  1586. package/scripts/lint/cspell-cached.ts +1 -1
  1587. package/scripts/lint/eslint-cache-dependencies.ts +38 -8
  1588. package/scripts/lint/eslint-daemon-calls.ts +83 -0
  1589. package/scripts/lint/eslint-daemon.ts +101 -13
  1590. package/scripts/lint/eslint-heap.ts +50 -0
  1591. package/scripts/lint/eslint-memory.js +45 -0
  1592. package/scripts/lint/eslint-trim.ts +44 -0
  1593. package/scripts/lint/eslint-warm.ts +5 -2
  1594. package/scripts/lint/format.ts +30 -5
  1595. package/scripts/lint/import-graph-store.ts +245 -0
  1596. package/scripts/lint/import-graph.ts +54 -65
  1597. package/scripts/lint/import-move.ts +275 -0
  1598. package/scripts/lint/import-test-inputs.ts +97 -0
  1599. package/scripts/lint/lint-gate-scope.ts +1 -0
  1600. package/scripts/lint/lint-parallel.ts +148 -43
  1601. package/scripts/lint/lint-related-scope.ts +6 -1
  1602. package/scripts/lint/lint-related.ts +66 -25
  1603. package/scripts/lint/lint-rule.ts +293 -0
  1604. package/scripts/lint/lint-shard.ts +91 -0
  1605. package/scripts/lint/lint-timing.ts +39 -0
  1606. package/scripts/lint/rename-cli.ts +36 -10
  1607. package/scripts/lint/rename-identifier.ts +2 -2
  1608. package/scripts/lint/type-only-imports.ts +20 -1
  1609. package/scripts/notify/git-notify.ts +3 -1
  1610. package/scripts/notify/telegram-notify.ts +33 -35
  1611. package/scripts/notify/telegram-test.ts +9 -4
  1612. package/scripts/observations/observation-depth-cli.ts +78 -0
  1613. package/scripts/observations/observation-depth.ts +85 -0
  1614. package/scripts/observations/observation-ledger-home.ts +14 -7
  1615. package/scripts/observations/observations-flush-landing.ts +1 -1
  1616. package/scripts/overrides/overrides-check.ts +33 -10
  1617. package/scripts/overrides/overrides-diff-report.ts +91 -0
  1618. package/scripts/overrides/overrides-diff.ts +98 -0
  1619. package/scripts/package/package-scout-cli.ts +37 -11
  1620. package/scripts/package/package-scout-format.ts +20 -6
  1621. package/scripts/package/package-scout-reuse.ts +207 -0
  1622. package/scripts/plan/plan-scaffold-cli.ts +125 -0
  1623. package/scripts/plan/plan-scaffold.ts +112 -0
  1624. package/scripts/ports/port-command.ts +2 -5
  1625. package/scripts/propagate/propagate-git.ts +3 -3
  1626. package/scripts/propagate/propagate-publish.ts +8 -7
  1627. package/scripts/propagate/propagate-steps.ts +2 -3
  1628. package/scripts/refactor/import-graph.ts +2 -4
  1629. package/scripts/refactor/refactor-lint.ts +47 -30
  1630. package/scripts/refactor/refactor-scan.ts +16 -9
  1631. package/scripts/refactor/refactor-targets.ts +2 -3
  1632. package/scripts/release/github-release.ts +10 -10
  1633. package/scripts/release/publish-tag-cli.ts +13 -3
  1634. package/scripts/release/release-cli.ts +2 -0
  1635. package/scripts/release/release-progress.ts +44 -36
  1636. package/scripts/release/release-request.ts +42 -0
  1637. package/scripts/release/release-scope-cli.ts +31 -2
  1638. package/scripts/release/release-workflow-check.ts +59 -0
  1639. package/scripts/report/markdown-shape.ts +2 -1
  1640. package/scripts/report/report-template-cli.ts +2 -2
  1641. package/scripts/report/report-template.ts +17 -4
  1642. package/scripts/review/acceptance-map.ts +87 -8
  1643. package/scripts/review/diff-summary-cli.ts +81 -0
  1644. package/scripts/review/diff-summary.ts +109 -0
  1645. package/scripts/review/disposition-batch-filing.ts +150 -0
  1646. package/scripts/review/disposition-batch.ts +103 -0
  1647. package/scripts/review/disposition-cli.ts +35 -1
  1648. package/scripts/review/import-specifiers.ts +38 -0
  1649. package/scripts/review/prose-stale-cli.ts +7 -37
  1650. package/scripts/review/prose-stale-read.ts +105 -0
  1651. package/scripts/review/prose-stale-scan.ts +121 -17
  1652. package/scripts/review/removed-tests-check.ts +28 -4
  1653. package/scripts/review/review-brief-cli.ts +69 -71
  1654. package/scripts/review/review-brief.ts +38 -42
  1655. package/scripts/review/review-code-tree.ts +80 -16
  1656. package/scripts/review/review-comment-carry.ts +30 -0
  1657. package/scripts/review/review-diff-pack.ts +70 -0
  1658. package/scripts/review/review-diff-write.ts +23 -22
  1659. package/scripts/review/review-final-record.ts +47 -0
  1660. package/scripts/review/review-finding-ledger.ts +72 -10
  1661. package/scripts/review/review-findings-cli.ts +88 -8
  1662. package/scripts/review/review-fix-hunks.ts +115 -0
  1663. package/scripts/review/review-fix-round.ts +144 -0
  1664. package/scripts/review/review-gate-mode.ts +25 -0
  1665. package/scripts/review/review-interaction.ts +69 -11
  1666. package/scripts/review/review-lane-handover.ts +29 -4
  1667. package/scripts/review/review-level.ts +35 -34
  1668. package/scripts/review/review-lint-findings.ts +3 -3
  1669. package/scripts/review/review-lint-sections.ts +2 -2
  1670. package/scripts/review/review-lint.ts +7 -1
  1671. package/scripts/review/review-pair-cli.ts +157 -0
  1672. package/scripts/review/review-pair-log.ts +75 -0
  1673. package/scripts/review/review-pair-session.ts +98 -0
  1674. package/scripts/review/review-pair.ts +112 -0
  1675. package/scripts/review/review-prior-findings.ts +2 -4
  1676. package/scripts/review/review-prompt-level.ts +28 -0
  1677. package/scripts/review/review-readers-scan.ts +25 -3
  1678. package/scripts/review/review-record-cli.ts +46 -68
  1679. package/scripts/review/review-record-interaction.ts +2 -2
  1680. package/scripts/review/review-record-main.ts +7 -2
  1681. package/scripts/review/review-record-pinned.ts +5 -0
  1682. package/scripts/review/review-record-slot.ts +155 -0
  1683. package/scripts/review/review-reviewed-tree.ts +60 -13
  1684. package/scripts/review/review-round-one-blobs.ts +43 -9
  1685. package/scripts/review/review-round-one-skip.ts +72 -0
  1686. package/scripts/review/review-round-reuse.ts +13 -6
  1687. package/scripts/review/review-round.ts +57 -0
  1688. package/scripts/review/review-round2-cli.ts +5 -0
  1689. package/scripts/review/review-round2-skip-comment.ts +3 -1
  1690. package/scripts/review/review-round2.ts +18 -6
  1691. package/scripts/review/review-size.ts +92 -0
  1692. package/scripts/review/review-stamps.ts +8 -0
  1693. package/scripts/review/review-submit-args.ts +91 -0
  1694. package/scripts/review/review-submit-cli.ts +55 -29
  1695. package/scripts/review/selfcheck-cli.ts +193 -0
  1696. package/scripts/review/selfcheck-commands.ts +175 -0
  1697. package/scripts/review/selfcheck-report.ts +98 -0
  1698. package/scripts/rules/bash-triggers.ts +24 -13
  1699. package/scripts/rules/broad-investigation-shell.ts +183 -0
  1700. package/scripts/rules/broad-investigation.ts +116 -0
  1701. package/scripts/rules/consultation-handoff.ts +81 -0
  1702. package/scripts/rules/consultation-investigation.ts +99 -0
  1703. package/scripts/rules/decision-oracle.ts +1 -1
  1704. package/scripts/rules/delivered-rules-guard.ts +94 -0
  1705. package/scripts/rules/delivered-rules.ts +46 -87
  1706. package/scripts/rules/destructive-command.ts +2 -1
  1707. package/scripts/rules/direct-git-status.ts +81 -0
  1708. package/scripts/rules/direct-issue-comment.ts +9 -1
  1709. package/scripts/rules/direct-vitest-run.ts +98 -0
  1710. package/scripts/rules/egress-guard.ts +308 -0
  1711. package/scripts/rules/firing-point.ts +9 -12
  1712. package/scripts/rules/gh-api.ts +19 -4
  1713. package/scripts/rules/gh-repo-selector.ts +1 -1
  1714. package/scripts/rules/git-argv.ts +57 -10
  1715. package/scripts/rules/guard-remedy.ts +9 -0
  1716. package/scripts/rules/guard-rule-rows.ts +13 -0
  1717. package/scripts/rules/implementation-cut-verdict.ts +1 -1
  1718. package/scripts/rules/implementation-cut.ts +94 -31
  1719. package/scripts/rules/interpreter-options.ts +179 -0
  1720. package/scripts/rules/investigator-foreground.ts +13 -7
  1721. package/scripts/rules/josh-git-bare.ts +1 -1
  1722. package/scripts/rules/keychain-read.ts +73 -0
  1723. package/scripts/rules/lane-background.ts +15 -14
  1724. package/scripts/rules/lane-carry-conflict.ts +15 -8
  1725. package/scripts/rules/lane-direct-tool.ts +18 -11
  1726. package/scripts/rules/lane-interactive-ask.ts +3 -5
  1727. package/scripts/rules/lane-park.ts +25 -10
  1728. package/scripts/rules/lane-spilled-read.ts +3 -5
  1729. package/scripts/rules/lane-split-park.ts +7 -6
  1730. package/scripts/rules/lane-switch-main.ts +10 -3
  1731. package/scripts/rules/launched-call.ts +135 -0
  1732. package/scripts/rules/main-model.ts +54 -0
  1733. package/scripts/rules/nested-commands.ts +71 -0
  1734. package/scripts/rules/permission-guards.ts +6 -2
  1735. package/scripts/rules/pr-merge.ts +1 -1
  1736. package/scripts/rules/pre-gate-cut.ts +20 -11
  1737. package/scripts/rules/protected-files.ts +34 -98
  1738. package/scripts/rules/repeat-check-related.ts +66 -0
  1739. package/scripts/rules/reviewer-foreground.ts +11 -7
  1740. package/scripts/rules/round-one-check-related.ts +59 -19
  1741. package/scripts/rules/rule-list.ts +3 -4
  1742. package/scripts/rules/rule-rephrase.ts +43 -0
  1743. package/scripts/rules/rule-rewrite.ts +16 -6
  1744. package/scripts/rules/rule-value-cache.ts +10 -1
  1745. package/scripts/rules/rule-value-cli.ts +62 -54
  1746. package/scripts/rules/rule-value-prose.ts +186 -0
  1747. package/scripts/rules/rule-value-runs.ts +171 -0
  1748. package/scripts/rules/rule-value.ts +38 -13
  1749. package/scripts/rules/run-tail-rule.ts +19 -2
  1750. package/scripts/rules/secret-paths.ts +92 -0
  1751. package/scripts/rules/sed-in-place.ts +1 -1
  1752. package/scripts/rules/shell-permissions.ts +91 -0
  1753. package/scripts/rules/shell-redirects.ts +54 -0
  1754. package/scripts/rules/shell-segments.ts +3 -2
  1755. package/scripts/rules/stop-decision.ts +7 -1
  1756. package/scripts/rules/stop-rules.ts +1 -1
  1757. package/scripts/rules/unasked-filing.ts +158 -0
  1758. package/scripts/run/add/run-add-cli.ts +114 -36
  1759. package/scripts/run/add/run-add-epic.ts +45 -0
  1760. package/scripts/run/add/run-add-issue.ts +17 -0
  1761. package/scripts/run/add/run-add.ts +159 -21
  1762. package/scripts/run/attached-log.ts +38 -0
  1763. package/scripts/run/board/run-board-cli.ts +34 -9
  1764. package/scripts/run/board/run-board-closed-graphql.ts +129 -0
  1765. package/scripts/run/board/run-board-closed.ts +68 -10
  1766. package/scripts/run/board/run-board-decision-graphql.ts +136 -0
  1767. package/scripts/run/board/run-board-decision-read.ts +195 -0
  1768. package/scripts/run/board/run-board-decision.ts +92 -0
  1769. package/scripts/run/board/run-board-earlier.ts +27 -3
  1770. package/scripts/run/board/run-board-ending-reason.ts +98 -9
  1771. package/scripts/run/board/run-board-ending-states.ts +34 -0
  1772. package/scripts/run/board/run-board-every.ts +19 -9
  1773. package/scripts/run/board/run-board-first-lane.ts +26 -0
  1774. package/scripts/run/board/run-board-fit.ts +47 -11
  1775. package/scripts/run/board/run-board-fold-store.ts +62 -0
  1776. package/scripts/run/board/run-board-fold.ts +41 -9
  1777. package/scripts/run/board/run-board-gather-live.ts +2 -0
  1778. package/scripts/run/board/run-board-gather-thread.ts +14 -3
  1779. package/scripts/run/board/run-board-gather-worker.ts +10 -8
  1780. package/scripts/run/board/run-board-gather.ts +10 -3
  1781. package/scripts/run/board/run-board-github.ts +117 -29
  1782. package/scripts/run/board/run-board-header.ts +33 -24
  1783. package/scripts/run/board/run-board-held.ts +53 -0
  1784. package/scripts/run/board/run-board-human-merge.ts +113 -0
  1785. package/scripts/run/board/run-board-human.ts +37 -0
  1786. package/scripts/run/board/run-board-idle.ts +9 -6
  1787. package/scripts/run/board/run-board-issue-count.ts +101 -0
  1788. package/scripts/run/board/run-board-keys.ts +19 -4
  1789. package/scripts/run/board/run-board-labels.ts +20 -4
  1790. package/scripts/run/board/run-board-lane-event.ts +23 -2
  1791. package/scripts/run/board/run-board-lane-result.ts +58 -0
  1792. package/scripts/run/board/run-board-lane-state.ts +52 -7
  1793. package/scripts/run/board/run-board-lane-stop.ts +108 -0
  1794. package/scripts/run/board/run-board-lane-time.ts +1 -0
  1795. package/scripts/run/board/run-board-layout.ts +64 -74
  1796. package/scripts/run/board/run-board-link.ts +42 -2
  1797. package/scripts/run/board/run-board-notes.ts +1 -1
  1798. package/scripts/run/board/run-board-now.ts +1 -1
  1799. package/scripts/run/board/run-board-operation-codex.ts +37 -0
  1800. package/scripts/run/board/run-board-operation-read.ts +2 -2
  1801. package/scripts/run/board/run-board-operation.ts +8 -5
  1802. package/scripts/run/board/run-board-plan-shared.ts +3 -0
  1803. package/scripts/run/board/run-board-plan.ts +6 -1
  1804. package/scripts/run/board/run-board-process-groups.ts +1 -1
  1805. package/scripts/run/board/run-board-quota-held.ts +319 -0
  1806. package/scripts/run/board/run-board-quota-lane.ts +23 -0
  1807. package/scripts/run/board/run-board-quota-read.ts +422 -0
  1808. package/scripts/run/board/run-board-quota-spent.ts +162 -0
  1809. package/scripts/run/board/run-board-quota-status.ts +67 -0
  1810. package/scripts/run/board/run-board-read.ts +112 -36
  1811. package/scripts/run/board/run-board-reason.ts +40 -20
  1812. package/scripts/run/board/run-board-render-condition.ts +18 -2
  1813. package/scripts/run/board/run-board-render-drawn.ts +5 -1
  1814. package/scripts/run/board/run-board-render-foot.ts +5 -1
  1815. package/scripts/run/board/run-board-render-found.ts +21 -2
  1816. package/scripts/run/board/run-board-render-icon.ts +3 -6
  1817. package/scripts/run/board/run-board-render-lanes.ts +49 -9
  1818. package/scripts/run/board/run-board-render-lead.ts +20 -1
  1819. package/scripts/run/board/run-board-render-legend.ts +4 -0
  1820. package/scripts/run/board/run-board-render-none.ts +35 -0
  1821. package/scripts/run/board/run-board-render-notes.ts +5 -3
  1822. package/scripts/run/board/run-board-render-processes.ts +6 -5
  1823. package/scripts/run/board/run-board-render-quota-cell.ts +81 -0
  1824. package/scripts/run/board/run-board-render-quota-github.ts +112 -0
  1825. package/scripts/run/board/run-board-render-quota.ts +285 -0
  1826. package/scripts/run/board/run-board-render-section.ts +50 -6
  1827. package/scripts/run/board/run-board-render-tail.ts +53 -7
  1828. package/scripts/run/board/run-board-render-throughput.ts +140 -0
  1829. package/scripts/run/board/run-board-render-title.ts +26 -4
  1830. package/scripts/run/board/run-board-render.ts +59 -57
  1831. package/scripts/run/board/run-board-row-yield.ts +1 -0
  1832. package/scripts/run/board/run-board-scope.ts +13 -6
  1833. package/scripts/run/board/run-board-seat.ts +107 -0
  1834. package/scripts/run/board/run-board-settle.ts +33 -0
  1835. package/scripts/run/board/run-board-setup.ts +30 -15
  1836. package/scripts/run/board/run-board-single.ts +123 -0
  1837. package/scripts/run/board/run-board-snapshot.ts +7 -1
  1838. package/scripts/run/board/run-board-span.ts +18 -3
  1839. package/scripts/run/board/run-board-spin.ts +12 -6
  1840. package/scripts/run/board/run-board-standing-waits.ts +52 -0
  1841. package/scripts/run/board/run-board-state.ts +23 -0
  1842. package/scripts/run/board/run-board-status.ts +86 -99
  1843. package/scripts/run/board/run-board-throughput.ts +215 -0
  1844. package/scripts/run/board/run-board-tick.ts +76 -30
  1845. package/scripts/run/board/run-board-usage-read.ts +3 -3
  1846. package/scripts/run/board/run-board-usage-top.ts +12 -35
  1847. package/scripts/run/board/run-board-usual.ts +18 -1
  1848. package/scripts/run/carry/run-carry-added.ts +6 -1
  1849. package/scripts/run/carry/run-carry-args.ts +22 -8
  1850. package/scripts/run/carry/run-carry-cli.ts +31 -1
  1851. package/scripts/run/carry/run-carry-conversation.ts +12 -4
  1852. package/scripts/run/carry/run-carry-ended.ts +3 -0
  1853. package/scripts/run/carry/run-carry-reclaim.ts +2 -1
  1854. package/scripts/run/carry/run-carry.ts +40 -20
  1855. package/scripts/run/cut/run-cut-adoption.ts +67 -0
  1856. package/scripts/run/cut/run-cut-cli.ts +88 -34
  1857. package/scripts/run/cut/run-cut-decline.ts +1 -1
  1858. package/scripts/run/cut/run-cut-handoff.ts +2 -1
  1859. package/scripts/run/cut/run-cut-next.ts +20 -0
  1860. package/scripts/run/cut/run-cut-ready.ts +7 -5
  1861. package/scripts/run/cut/run-cut-report.ts +13 -14
  1862. package/scripts/run/cut/run-cut-resume.ts +1 -1
  1863. package/scripts/run/cut/run-cut.ts +36 -23
  1864. package/scripts/run/detached-launch.ts +12 -7
  1865. package/scripts/run/early-push-record.ts +22 -0
  1866. package/scripts/run/entry/run-entry-children.ts +126 -0
  1867. package/scripts/run/entry/run-entry-cli.ts +126 -82
  1868. package/scripts/run/entry/run-entry-dispatch.ts +20 -0
  1869. package/scripts/run/entry/run-entry-lane-plan.ts +39 -0
  1870. package/scripts/run/entry/run-entry-spill.ts +67 -22
  1871. package/scripts/run/entry/run-entry-stop.ts +9 -8
  1872. package/scripts/run/entry/run-entry-sync.ts +149 -0
  1873. package/scripts/run/entry/run-entry-trust.ts +1 -1
  1874. package/scripts/run/entry/run-entry.ts +9 -0
  1875. package/scripts/run/event/run-event-checks.ts +1 -1
  1876. package/scripts/run/event/run-event-filed.ts +1 -1
  1877. package/scripts/run/event/run-event-follow.ts +9 -5
  1878. package/scripts/run/event/run-event-overrun.ts +7 -7
  1879. package/scripts/run/event/run-event-plan.ts +1 -1
  1880. package/scripts/run/event/run-event-render.ts +5 -0
  1881. package/scripts/run/event/run-event-retry.ts +34 -0
  1882. package/scripts/run/event/run-event-scope.ts +4 -1
  1883. package/scripts/run/event/run-event-setup.ts +55 -5
  1884. package/scripts/run/event/run-event-step.ts +81 -0
  1885. package/scripts/run/event/run-event-stream-emit.ts +63 -23
  1886. package/scripts/run/event/run-event-stream.ts +69 -21
  1887. package/scripts/run/event/run-event-tail.ts +122 -0
  1888. package/scripts/run/event/run-event-watch.ts +12 -7
  1889. package/scripts/run/handoff/run-handoff-args.ts +93 -0
  1890. package/scripts/run/handoff/run-handoff-cli.ts +320 -0
  1891. package/scripts/run/handoff/run-handoff-final.ts +38 -0
  1892. package/scripts/run/handoff/run-handoff-launch.ts +113 -0
  1893. package/scripts/run/handoff/run-handoff-retrospective.ts +48 -0
  1894. package/scripts/run/handoff-lanes/run-handoff-lanes-cli.ts +31 -0
  1895. package/scripts/run/handoff-lanes/run-handoff-lanes.ts +183 -0
  1896. package/scripts/run/hold/run-hold-block.ts +35 -0
  1897. package/scripts/run/hold/run-hold-cli.ts +20 -36
  1898. package/scripts/run/hold/run-hold-main.ts +16 -1
  1899. package/scripts/run/hold/run-hold.ts +12 -8
  1900. package/scripts/run/hold/run-stop-notify.ts +1 -1
  1901. package/scripts/run/launch-priority.ts +4 -7
  1902. package/scripts/run/merge/run-merge-auth.ts +38 -13
  1903. package/scripts/run/merge/run-merge-cap.ts +11 -6
  1904. package/scripts/run/merge/run-merge-cli.ts +55 -58
  1905. package/scripts/run/merge/run-merge-dated.ts +64 -0
  1906. package/scripts/run/merge/run-merge-decision.ts +183 -0
  1907. package/scripts/run/merge/run-merge-driver.ts +2 -0
  1908. package/scripts/run/merge/run-merge-github-limit.ts +98 -0
  1909. package/scripts/run/merge/run-merge-health.ts +137 -0
  1910. package/scripts/run/merge/run-merge-human-review.ts +26 -0
  1911. package/scripts/run/merge/run-merge-restart.ts +10 -3
  1912. package/scripts/run/merge/run-merge-signals.ts +34 -9
  1913. package/scripts/run/merge/run-merge-steps.ts +49 -50
  1914. package/scripts/run/merge/run-merge-token.ts +3 -4
  1915. package/scripts/run/merge/run-merge-usage-limit.ts +22 -9
  1916. package/scripts/run/merge/run-merge-withdrawn.ts +4 -3
  1917. package/scripts/run/merge/run-merge.ts +36 -18
  1918. package/scripts/run/park/run-park-answered.ts +84 -0
  1919. package/scripts/run/park/run-park-body.ts +346 -0
  1920. package/scripts/run/park/run-park-cli.ts +37 -12
  1921. package/scripts/run/park/run-park-lane.ts +41 -0
  1922. package/scripts/run/park/run-park-release.ts +61 -0
  1923. package/scripts/run/park/run-park-write.ts +41 -0
  1924. package/scripts/run/park/run-park.ts +2 -4
  1925. package/scripts/run/park/run-stalled-park.ts +32 -0
  1926. package/scripts/run/park/run-stalled.ts +75 -12
  1927. package/scripts/run/pause/run-pause-cli.ts +4 -3
  1928. package/scripts/run/pause/run-pause-comment.ts +30 -0
  1929. package/scripts/run/pause/run-pause.ts +35 -223
  1930. package/scripts/run/pause/run-set-aside-commit.ts +52 -0
  1931. package/scripts/run/pause/run-set-aside.ts +139 -0
  1932. package/scripts/run/prime/run-prime-cli.ts +105 -0
  1933. package/scripts/run/progress/run-progress-cli.ts +44 -27
  1934. package/scripts/run/progress/run-progress-config.ts +7 -18
  1935. package/scripts/run/progress/run-progress.ts +16 -7
  1936. package/scripts/run/review/run-chain-cli.ts +162 -0
  1937. package/scripts/run/review/run-chain-join.ts +108 -0
  1938. package/scripts/run/review/run-chain-review-fix.ts +70 -0
  1939. package/scripts/run/review/run-chain.ts +167 -0
  1940. package/scripts/run/review/run-review-cli.ts +127 -53
  1941. package/scripts/run/review/run-review-early-push.ts +41 -7
  1942. package/scripts/run/review/run-review-join-ready.ts +88 -0
  1943. package/scripts/run/review/run-review-pinned-accepted.ts +15 -1
  1944. package/scripts/run/review/run-review-pinned-join.ts +8 -4
  1945. package/scripts/run/review/run-review-pinned-steps.ts +12 -7
  1946. package/scripts/run/review/run-review-pinned.ts +8 -3
  1947. package/scripts/run/review/run-review-steps.ts +29 -14
  1948. package/scripts/run/review/run-review-unplanned.ts +75 -0
  1949. package/scripts/run/review/run-review.ts +4 -4
  1950. package/scripts/run/run-halfrun-resume.ts +9 -1
  1951. package/scripts/run/run-headless-keys.ts +23 -0
  1952. package/scripts/run/run-headless.ts +77 -13
  1953. package/scripts/run/run-investigation-record.ts +66 -0
  1954. package/scripts/run/run-label-main.ts +55 -0
  1955. package/scripts/run/run-label.ts +20 -4
  1956. package/scripts/run/run-liveness-cli.ts +1 -1
  1957. package/scripts/run/run-liveness.ts +6 -5
  1958. package/scripts/run/run-maintenance.ts +66 -0
  1959. package/scripts/run/run-open-pr.ts +19 -0
  1960. package/scripts/run/run-parent-cut-hook.ts +17 -9
  1961. package/scripts/run/run-pickup-cli.ts +86 -0
  1962. package/scripts/run/run-pickup-launch.ts +85 -0
  1963. package/scripts/run/run-poll-hook.ts +14 -7
  1964. package/scripts/run/run-pr-return.ts +99 -0
  1965. package/scripts/run/run-prep-cli.ts +54 -7
  1966. package/scripts/run/run-prep-locate.ts +8 -3
  1967. package/scripts/run/run-prep-summary.ts +55 -0
  1968. package/scripts/run/run-prep.ts +37 -1
  1969. package/scripts/run/run-report-cli.ts +13 -2
  1970. package/scripts/run/run-report-end.ts +133 -0
  1971. package/scripts/run/run-report-handoff.ts +1 -1
  1972. package/scripts/run/run-report.ts +7 -1
  1973. package/scripts/run/run-stage-read.ts +38 -4
  1974. package/scripts/run/run-stage.ts +18 -6
  1975. package/scripts/run/run-status.ts +2 -1
  1976. package/scripts/run/run-step-cli.ts +38 -10
  1977. package/scripts/run/run-step-lane-plan.ts +26 -12
  1978. package/scripts/run/run-step-progress.ts +61 -0
  1979. package/scripts/run/run-step-section-driver.ts +27 -0
  1980. package/scripts/run/run-step-section-once.ts +83 -0
  1981. package/scripts/run/run-step-section-table.ts +120 -0
  1982. package/scripts/run/run-step-section.ts +39 -53
  1983. package/scripts/run/run-step.ts +4 -3
  1984. package/scripts/run/run-stop-notify.ts +1 -1
  1985. package/scripts/run/run-tail-cli.ts +14 -6
  1986. package/scripts/run/run-tail.ts +22 -0
  1987. package/scripts/run/run-watcher-guard.ts +15 -5
  1988. package/scripts/run/run-watcher-hook.ts +12 -6
  1989. package/scripts/run/ship/run-ship-args.ts +8 -1
  1990. package/scripts/run/ship/run-ship-cli.ts +68 -65
  1991. package/scripts/run/ship/run-ship-conflict-probe.ts +12 -14
  1992. package/scripts/run/ship/run-ship-detach-wait.ts +25 -0
  1993. package/scripts/run/ship/run-ship-detach.ts +29 -35
  1994. package/scripts/run/ship/run-ship-early-push.ts +34 -0
  1995. package/scripts/run/ship/run-ship-evidence-cli.ts +133 -0
  1996. package/scripts/run/ship/run-ship-evidence.ts +71 -0
  1997. package/scripts/run/ship/run-ship-final-review.ts +28 -0
  1998. package/scripts/run/ship/run-ship-gate-runs.ts +58 -0
  1999. package/scripts/run/ship/run-ship-group.ts +38 -0
  2000. package/scripts/run/ship/run-ship-handover.ts +1 -1
  2001. package/scripts/run/ship/run-ship-lap.ts +100 -12
  2002. package/scripts/run/ship/run-ship-narrowed.ts +104 -0
  2003. package/scripts/run/ship/run-ship-next.ts +3 -3
  2004. package/scripts/run/ship/run-ship-pair-runs.ts +127 -0
  2005. package/scripts/run/ship/run-ship-place.ts +9 -8
  2006. package/scripts/run/ship/run-ship-planned.ts +1 -1
  2007. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +7 -1
  2008. package/scripts/run/ship/run-ship-pre-detach.ts +18 -12
  2009. package/scripts/run/ship/run-ship-preflight-reuse.ts +53 -0
  2010. package/scripts/run/ship/run-ship-preflight.ts +21 -2
  2011. package/scripts/run/ship/run-ship-probe.ts +5 -15
  2012. package/scripts/run/ship/run-ship-record-wait.ts +30 -0
  2013. package/scripts/run/ship/run-ship-relaunch-cap.ts +107 -14
  2014. package/scripts/run/ship/run-ship-relaunch.ts +7 -1
  2015. package/scripts/run/ship/run-ship-removed-rows.ts +34 -10
  2016. package/scripts/run/ship/run-ship-reship.ts +125 -0
  2017. package/scripts/run/ship/run-ship-return.ts +68 -22
  2018. package/scripts/run/ship/run-ship-review-checkpoint.ts +112 -0
  2019. package/scripts/run/ship/run-ship-review-reason.ts +3 -1
  2020. package/scripts/run/ship/run-ship-review-steps.ts +80 -31
  2021. package/scripts/run/ship/run-ship-review.ts +13 -9
  2022. package/scripts/run/ship/run-ship-reviewer.ts +59 -7
  2023. package/scripts/run/ship/run-ship-scoped.ts +232 -21
  2024. package/scripts/run/ship/run-ship-stage.ts +3 -5
  2025. package/scripts/run/ship/run-ship-steps.ts +65 -20
  2026. package/scripts/run/ship/run-ship-stop-cause.ts +52 -1
  2027. package/scripts/run/ship/run-ship-stop-context.ts +5 -5
  2028. package/scripts/run/ship/run-ship-stop-text.ts +1 -1
  2029. package/scripts/run/ship/run-ship-supervised.ts +38 -0
  2030. package/scripts/run/ship/run-ship-sync.ts +114 -19
  2031. package/scripts/run/ship/run-ship-synced-scope.ts +162 -58
  2032. package/scripts/run/ship/run-ship-tree-stamp.ts +35 -0
  2033. package/scripts/run/ship/run-ship-wait-cli.ts +23 -25
  2034. package/scripts/run/ship/run-ship-wait-main.ts +12 -0
  2035. package/scripts/run/ship/run-ship-waiter.ts +8 -6
  2036. package/scripts/run/ship/run-ship.ts +12 -0
  2037. package/scripts/run/split/run-split-cli.ts +134 -0
  2038. package/scripts/run/split/run-split-prerequisite.ts +75 -0
  2039. package/scripts/run/split/run-split.ts +213 -0
  2040. package/scripts/run/stale/run-stale-cli.ts +86 -0
  2041. package/scripts/run/stale/run-stale-main.ts +7 -0
  2042. package/scripts/run/stale/run-stale.ts +117 -0
  2043. package/scripts/run/tidy/run-tidy-cli.ts +24 -2
  2044. package/scripts/run/tree-status-cli.ts +131 -0
  2045. package/scripts/run/tree-status.ts +77 -0
  2046. package/scripts/run/ts-entry-loader.ts +34 -0
  2047. package/scripts/run/wake/run-wake-await.ts +22 -2
  2048. package/scripts/run/wake/run-wake-cli.ts +3 -3
  2049. package/scripts/run/wake/run-wake-describe.ts +1 -1
  2050. package/scripts/run/wake/run-wake-driver.ts +158 -61
  2051. package/scripts/run/wake/run-wake-handoff.ts +65 -14
  2052. package/scripts/run/wake/run-wake-loop.ts +63 -23
  2053. package/scripts/run/wake/run-wake-ports.ts +99 -17
  2054. package/scripts/run/wake/run-wake-resume.ts +98 -0
  2055. package/scripts/run/wake/run-wake-session.ts +16 -14
  2056. package/scripts/run/wake/run-wake-window.ts +15 -0
  2057. package/scripts/run/wake/run-wake.ts +7 -6
  2058. package/scripts/safe-chain/preinstall-command.ts +3 -6
  2059. package/scripts/safe-chain/project-config.ts +2 -2
  2060. package/scripts/security/security-audit-cache.ts +157 -0
  2061. package/scripts/security/security-audit-main.ts +4 -2
  2062. package/scripts/security/security-audit-provision-logic.ts +4 -4
  2063. package/scripts/security/security-audit-provision-main.ts +19 -5
  2064. package/scripts/split/declared-growth.ts +22 -0
  2065. package/scripts/split/split-assess.ts +220 -37
  2066. package/scripts/split/split-child-recover-cli.ts +118 -0
  2067. package/scripts/split/split-direction.ts +172 -0
  2068. package/scripts/split/split-measure.ts +28 -14
  2069. package/scripts/split/split-relocations.ts +108 -0
  2070. package/scripts/split/split-resolution.ts +63 -61
  2071. package/scripts/sync/claude-settings-merge.ts +8 -4
  2072. package/scripts/sync/managed-config-scope.ts +13 -1
  2073. package/scripts/sync/sync-ai-files.ts +2 -2
  2074. package/scripts/sync/sync-configs.ts +3 -5
  2075. package/scripts/test/test-e2e-guard.ts +2 -1
  2076. package/scripts/test/test-inputs.ts +119 -0
  2077. package/scripts/test/test-no-base.ts +35 -16
  2078. package/scripts/test/test-pinned-cache-logic.ts +4 -0
  2079. package/scripts/test/test-pinned-cache.ts +8 -15
  2080. package/scripts/test/test-pinned-carry.ts +93 -0
  2081. package/scripts/test/test-pinned-emit.ts +2 -1
  2082. package/scripts/test/test-pinned-ledger.ts +15 -9
  2083. package/scripts/test/test-pinned-logic.ts +66 -4
  2084. package/scripts/test/test-pinned-main.ts +6 -30
  2085. package/scripts/test/test-pinned-moves.ts +43 -0
  2086. package/scripts/test/test-pinned-probe.ts +61 -17
  2087. package/scripts/test/test-pinned-prune-logic.ts +2 -1
  2088. package/scripts/test/test-pinned-reach.ts +11 -3
  2089. package/scripts/test/test-pinned-record.ts +36 -4
  2090. package/scripts/test/test-pinned-snapshot.ts +110 -0
  2091. package/scripts/test/test-pinned-spawn.ts +32 -7
  2092. package/scripts/test/test-pinned-stage.ts +43 -16
  2093. package/scripts/test/test-pinned-type-check.ts +110 -0
  2094. package/scripts/test/test-pinned.ts +92 -35
  2095. package/scripts/test/test-red-logic.ts +40 -2
  2096. package/scripts/test/test-red.ts +131 -19
  2097. package/scripts/test/test-related-cap.ts +182 -0
  2098. package/scripts/test/test-related-main.ts +2 -4
  2099. package/scripts/test/test-related-pins.ts +33 -0
  2100. package/scripts/test/test-related-record.ts +84 -8
  2101. package/scripts/test/test-related-red.ts +218 -0
  2102. package/scripts/test/test-related-reuse.ts +167 -0
  2103. package/scripts/test/test-related-run.ts +144 -0
  2104. package/scripts/test/test-related-synced.ts +31 -8
  2105. package/scripts/test/test-related-touched.ts +10 -5
  2106. package/scripts/test/test-related-verdict.ts +127 -0
  2107. package/scripts/test/test-related-whole.ts +22 -0
  2108. package/scripts/test/test-related.ts +123 -146
  2109. package/scripts/test/test-type-logic.ts +1 -2
  2110. package/scripts/test/test-unit-guard.ts +12 -3
  2111. package/scripts/test/unit-count-file.ts +25 -1
  2112. package/scripts/test/unit-lane-count.ts +63 -0
  2113. package/scripts/test/unit-run-marker.ts +11 -1
  2114. package/scripts/test/unit-update-arguments.ts +73 -0
  2115. package/scripts/test/unit-worker-share.ts +28 -13
  2116. package/scripts/test/whole-suite-files.ts +2 -0
  2117. package/scripts/time-runtime/guard-rephrase.ts +66 -0
  2118. package/scripts/time-runtime/time-agent-bundles.ts +5 -5
  2119. package/scripts/time-runtime/time-bundle-call.ts +2 -2
  2120. package/scripts/time-runtime/time-bundles.ts +2 -2
  2121. package/scripts/time-runtime/time-command-key.ts +2 -5
  2122. package/scripts/time-runtime/time-density-hook.ts +2 -31
  2123. package/scripts/time-runtime/time-format.ts +4 -4
  2124. package/scripts/time-runtime/time-josh-names.ts +51 -0
  2125. package/scripts/time-runtime/time-markers.ts +4 -4
  2126. package/scripts/time-runtime/time-phase-names.ts +2 -2
  2127. package/scripts/time-runtime/time-shell.ts +28 -17
  2128. package/scripts/time-runtime/time-single-check.ts +4 -4
  2129. package/scripts/time-runtime/time-spans.ts +8 -8
  2130. package/scripts/time-runtime/time-tool-call.ts +4 -3
  2131. package/scripts/time-runtime/time-transcript-block.ts +172 -0
  2132. package/scripts/time-runtime/time-transcript-line.ts +26 -158
  2133. package/scripts/time-runtime/transcript-tail.ts +39 -0
  2134. package/scripts/ui/ui-shot-cli.ts +90 -0
  2135. package/scripts/ui/ui-shot.ts +95 -0
  2136. package/scripts/usage/usage-state-path.ts +22 -0
  2137. package/scripts/usage/usage-tee-cli.ts +5 -0
  2138. package/scripts/usage/usage-tee.ts +48 -0
  2139. package/scripts/version/development-engines-verdict.ts +7 -1
  2140. package/scripts/version/fresh-metadata-cache.ts +4 -3
  2141. package/scripts/version/latest-corepack.ts +3 -3
  2142. package/scripts/version/latest-if-required-cli.ts +32 -4
  2143. package/scripts/version/latest-scope-cli.ts +12 -2
  2144. package/scripts/version/latest-stamp.ts +5 -4
  2145. package/scripts/version/npm-registry.ts +19 -0
  2146. package/scripts/version/playwright-browsers.ts +1 -1
  2147. package/scripts/version/release-hold.ts +2 -2
  2148. package/scripts/version/upgrade-command-guard.ts +1 -1
  2149. package/templates/prettierignore.basic +3 -0
  2150. package/templates/sonar-project.properties +2 -1
  2151. package/templates/workflows/ci.yml +5 -4
  2152. package/tsconfig/base.json +1 -0
  2153. package/dist/hooks/chunk-3GKE653K.js +0 -6204
  2154. package/dist/hooks/chunk-45CJJOO7.js +0 -1243
  2155. package/dist/hooks/chunk-5PM2JRGV.js +0 -7780
  2156. package/dist/hooks/chunk-7SIUNQXK.js +0 -3591
  2157. package/dist/hooks/chunk-Z6DQJKH3.js +0 -2806
  2158. package/prompts/collaboration-workflow.md +0 -28
  2159. package/scripts/epic/epic-bundle-poll.ts +0 -41
  2160. package/scripts/josh/josh-commands-lane.ts +0 -310
  2161. package/scripts/josh/josh-commands-split.ts +0 -28
  2162. package/scripts/review/review-lint-cli.ts +0 -57
  2163. package/scripts/split/split-early-notice.ts +0 -116
@@ -2,6 +2,7 @@ import { cost_blocks } from '#scripts/cost-runtime/cost-blocks'
2
2
  import type { FollowupStage } from '#scripts/followup/git-followup-stages'
3
3
  import { time_background } from './time-background'
4
4
  import { time_followup_stage } from './time-followup-stage'
5
+ import { time_josh_names } from './time-josh-names'
5
6
  import { time_reported_failure } from './time-reported-failure'
6
7
  import { time_shell } from './time-shell'
7
8
  import { time_tool_call, type ToolCall } from './time-tool-call'
@@ -28,8 +29,8 @@ const { NO_CALL, UNKNOWN_CALL, UNKNOWN_TOOL, to_tool_call } = time_tool_call
28
29
  // ending at a tool result is that tool's execution, one ending at a user prompt is human wait.
29
30
  // Classifying by pairs instead would double-count parallel tool calls and leave the three shares
30
31
  // summing to something other than the elapsed time — the property that makes two runs comparable.
31
- // Measured against three sessions restored by hand: 49.6 / 73.3 / 54.6 minutes, every share within
32
- // 0.4 points of the hand figure.
32
+ // Measured against three sessions restored by hand, every share within 0.4 points of the hand
33
+ // figure.
33
34
 
34
35
  const ASSISTANT_TYPE = 'assistant'
35
36
  const USER_TYPE = 'user'
@@ -372,10 +373,9 @@ function parse_timeline(text: string): Timeline {
372
373
  }
373
374
 
374
375
  // **"No span was read" is the one criterion every scope withholds a transcript figure on**.
375
- // A run whose transcript could not be attributed, a child of an epic in
376
- // that state, and a batch no child contributed to are the same fact asked at three scales, and each
377
- // used to spell it out for itself — which is how the run scope came to print three `0.0 min` rows
378
- // beside the epic scope's `not measured` for the very same child.
376
+ // A run without an attributed transcript, an epic child in that state, and a batch without child
377
+ // contributions are the same missing measurement at three scales. Sharing the criterion keeps
378
+ // every scope from presenting missing data as a zero duration.
379
379
  //
380
380
  // It takes the count rather than the array so the three callers can pass what they hold: the spans
381
381
  // themselves before a report exists, and `TimeReport.span_count` afterwards.
@@ -399,8 +399,8 @@ const time_spans = {
399
399
  // Re-exported so the suites that measure how a command is read keep asking one namespace, and so
400
400
  // `time-shell.ts` moving out of this file changed no call site.
401
401
  bash_label: time_shell.bash_label,
402
- josh_command_of: time_shell.josh_command_of,
403
- josh_commands_of: time_shell.josh_commands_of,
402
+ josh_command_of: time_josh_names.josh_command_of,
403
+ josh_commands_of: time_josh_names.josh_commands_of,
404
404
  to_tool_call,
405
405
  parse_line,
406
406
  parse_timeline,
@@ -1,6 +1,7 @@
1
1
  import { cost_blocks } from '#scripts/cost-runtime/cost-blocks'
2
2
  import { time_background } from './time-background'
3
3
  import { time_bundle_call } from './time-bundle-call'
4
+ import { time_josh_names } from './time-josh-names'
4
5
  import { time_markers, type PhaseMarker } from './time-markers'
5
6
  import { time_shell } from './time-shell'
6
7
  import { time_single_check } from './time-single-check'
@@ -132,13 +133,13 @@ function non_bash_call(name: string, input: unknown, message_id: string): ToolCa
132
133
 
133
134
  function bash_call(input: unknown, message_id: string): ToolCall {
134
135
  const command = time_shell.bash_command(input)
135
- const josh_command = time_shell.josh_command_of(command)
136
+ const josh_command = time_josh_names.josh_command_of(command)
136
137
 
137
138
  return {
138
139
  label: time_shell.bash_label(command),
139
140
  josh_command,
140
- josh_commands: time_shell.josh_commands_of(command),
141
- josh_signatures: time_shell.josh_signatures_of(command),
141
+ josh_commands: time_josh_names.josh_commands_of(command),
142
+ josh_signatures: time_josh_names.josh_signatures_of(command),
142
143
  check_key: time_single_check.check_key(josh_command, command),
143
144
  marker: time_markers.bash_marker(command),
144
145
  message_id,
@@ -0,0 +1,172 @@
1
+ import type { FollowupStage } from '#scripts/followup/git-followup-stages'
2
+ import type { TranscriptBlock, TranscriptContent } from '#scripts/lib/transcript-record'
3
+ import { time_background } from './time-background'
4
+ import { time_followup_stage } from './time-followup-stage'
5
+ import { time_reported_failure } from './time-reported-failure'
6
+
7
+ // One content block of a transcript line, read into the shape the span walk works on.
8
+ //
9
+ // It moved out of `time-transcript-line.ts` when that file reached its length limit
10
+ // (joshuafolkken/kit#7055): the block is read on its own, and the line only gathers its blocks beside
11
+ // the fields read off the line itself.
12
+ //
13
+ // **The block reader is not `cost-blocks.ts` and could not have been.** That module flattens every
14
+ // line into one list of blocks for a token estimate, dropping the `id` / `tool_use_id` pair a call is
15
+ // matched to its result by. A `tool_result`'s `is_error` is read as three answers — absent for the
16
+ // tools that never report one — and its `content` only to recover the outcome a pipeline threw away.
17
+
18
+ // How much of an errored body is kept. A refusal's body *is* the reason the
19
+ // harness wrote back, from its first character, so an opening this long identifies the speaker
20
+ // without retaining the output of every failed command a session ran.
21
+ const ERROR_TEXT_LIMIT = 256
22
+ // The icon every guard refusal opens with. It is not `status_icons.FAIL_ICON`
23
+ // — that one (`✗`) marks a josh check's failing item, which `has_failure_line` scans for; this one
24
+ // marks a PreToolUse hook's *deny* reason, which is a different body carried in a different result. No
25
+ // shared constant exists because each guard writes the literal in its own reason, so the one place a
26
+ // refusal is *detected* names it here.
27
+ const REFUSAL_MARKER = '⛔'
28
+ // The label the harness puts in front of a PreToolUse hook's deny reason, naming the hook and the tool.
29
+ const HOOK_ERROR_LABEL = /^PreToolUse:\S+ hook error: /u
30
+ // A line that is one bare verdict token — `cut`, `busy`, `not-a-lane` — the single word a josh verdict
31
+ // command prints on standard output. How many are kept bounds the field the
32
+ // way `ERROR_TEXT_LIMIT` bounds `error_text`.
33
+ const TOKEN_LINE = /^[a-z][a-z-]*$/u
34
+ const TOKEN_LINE_LIMIT = 8
35
+
36
+ interface Block {
37
+ type: string
38
+ name: string
39
+ id: string
40
+ result_id: string
41
+ input: unknown
42
+ // `undefined` where the block carried no `is_error` field, which is a different fact from
43
+ // `false`: one is a tool that reports no outcome, the other a call that succeeded.
44
+ is_error: boolean | undefined
45
+ // Whether the body carried a line opening with josh's failure icon — the one bit of it anything
46
+ // reads. The text itself is deliberately not kept: a field holding it
47
+ // would retain every byte the session's tools printed for the length of the parse.
48
+ has_failure_line: boolean
49
+ // The stage rows a `pnpm josh followup` call printed into its own output.
50
+ // Read here for the same reason the bit above is, and it obeys the same
51
+ // prohibition: what is kept is the ten-odd parsed laps, never the body they were read from. Empty
52
+ // for every other tool result, which is nearly all of them.
53
+ followup_stages: ReadonlyArray<FollowupStage>
54
+ // The opening of the body of a result the harness wrote back as a failure, and `''` for every
55
+ // other block. It obeys the same prohibition as the two fields above —
56
+ // what is kept is a bounded opening, never the whole body — and it exists so a reader asking
57
+ // which refusal a line carried can be answered from the parsed block rather than by matching
58
+ // `"is_error":true` against the raw line, a test one whitespace in the serializer defeats and
59
+ // which cannot tell one errored block from another on the same line.
60
+ error_text: string
61
+ // Which guard refused this call, read off the opening of an errored result and `''` for every other
62
+ // block. It obeys the same prohibition as `error_text` — what is kept is a
63
+ // short label, never the body — and it exists so the per-guard refusal breakdown can be answered from
64
+ // the parsed block rather than by re-scanning the body downstream. `''` where the result was not a
65
+ // `⛔` refusal, so a reader tells "no guard spoke" from "this guard spoke" without a second parse.
66
+ refusal_guard: string
67
+ // The bare-token lines of a result that did not fail, and `[]` for every other block.
68
+ // It obeys the same prohibition as `error_text` — what is kept is a few
69
+ // single words, never the body — and it exists so the verdict a josh command answered with
70
+ // (`run:cut`'s `cut`) is read from the parsed block rather than by searching the raw line.
71
+ token_lines: ReadonlyArray<string>
72
+ // The id the harness assigned to a command it took into the background, and `''` for every other
73
+ // block. It is the fourth field read off the body under the same
74
+ // prohibition as the three above — what is kept is the id, never the text it was read from — and
75
+ // it is what pairs a launch with the call that later reads its output, so the minutes the command
76
+ // actually ran can be placed on the timeline instead of only the seconds its launch call took.
77
+ background_id: string
78
+ // The id of a subagent this block launched into the background, and `''` for every other block
79
+ // — apart from `background_id` so the timeline windows stay commands only.
80
+ agent_id: string
81
+ // How many characters the body carried, and `0` for a block with none — the size a tool result
82
+ // adds to every later request's context, which `cost:audit` sums per tool (joshuafolkken/kit#7055).
83
+ // It obeys the same prohibition: the count is kept, never the body.
84
+ result_chars: number
85
+ }
86
+
87
+ // The four string fields, defaulted together and apart from the two that are not strings. Split out
88
+ // so neither half carries every `??` in the block: read as one function the defaulting alone reached
89
+ // the complexity limit, and the next field added would have had to be squeezed in beside them.
90
+ function block_names(raw: TranscriptBlock): Pick<Block, 'type' | 'name' | 'id' | 'result_id'> {
91
+ return {
92
+ type: raw.type ?? '',
93
+ name: raw.name ?? '',
94
+ id: raw.id ?? '',
95
+ result_id: raw.tool_use_id ?? '',
96
+ }
97
+ }
98
+
99
+ // The body a refusal opens with, the harness's own label stripped — shared with `rule-value.ts`.
100
+ function refusal_body(text: string): string {
101
+ return text.trimStart().replace(HOOK_ERROR_LABEL, '')
102
+ }
103
+
104
+ // **A refusal is identified by what its body opens with, never by what it carries inside**.
105
+ // The hook denies a call on behalf of the one guard whose trigger fired and
106
+ // writes that guard's reason back as the whole result, so the speaker is the token after the `⛔` and
107
+ // before the first `:` — `⛔ pre-gate cut: …` is `pre-gate cut`. A reason with no colon (a headline
108
+ // like `⛔ scoped checks not green on this tree`) is taken whole. Reading the opening rather than
109
+ // searching the body is what stops a result that merely quoted a reason being read as a refusal.
110
+ //
111
+ // **The harness writes the reason behind its own label** — `PreToolUse:Edit hook error: ⛔ …` — so that
112
+ // label is stripped before the opening is read. Without it no live refusal
113
+ // carried a guard: the fixtures wrote the bare `⛔` body and passed while every recorded one read `''`.
114
+ function guard_from_refusal(text: string): string {
115
+ const trimmed = refusal_body(text)
116
+ if (!trimmed.startsWith(REFUSAL_MARKER)) return ''
117
+
118
+ const headline = trimmed.slice(REFUSAL_MARKER.length).split('\n', 1)[0]?.trimStart() ?? ''
119
+ const colon = headline.indexOf(':')
120
+
121
+ return (colon === -1 ? headline : headline.slice(0, colon)).trim()
122
+ }
123
+
124
+ function token_lines_of(text: string): Array<string> {
125
+ return text
126
+ .split('\n')
127
+ .map((line) => line.trim())
128
+ .filter((line) => TOKEN_LINE.test(line))
129
+ .slice(0, TOKEN_LINE_LIMIT)
130
+ }
131
+
132
+ // **The body is flattened once and every reader is handed the text.** `result_text` is what turns a
133
+ // content field that may be a string or a list of blocks into one string, and it is idempotent on a
134
+ // string — so passing its own output back to `has_failure_line` reads exactly as passing the raw
135
+ // field did, at one flattening instead of two.
136
+ function to_block(raw: TranscriptBlock): Block {
137
+ const text = time_reported_failure.result_text(raw.content)
138
+ const is_error = raw.is_error ?? undefined
139
+
140
+ return {
141
+ ...block_names(raw),
142
+ input: raw.input,
143
+ is_error,
144
+ has_failure_line: time_reported_failure.has_failure_line(text),
145
+ followup_stages: time_followup_stage.read_stages(text),
146
+ error_text: is_error === true ? text.slice(0, ERROR_TEXT_LIMIT) : '',
147
+ refusal_guard: is_error === true ? guard_from_refusal(text) : '',
148
+ token_lines: is_error === true ? [] : token_lines_of(text),
149
+ background_id: time_background.launch_id(text),
150
+ agent_id: time_background.agent_launch_id(text),
151
+ result_chars: text.length,
152
+ }
153
+ }
154
+
155
+ // A user turn written as a bare string carries no blocks, which is exactly right: it is a prompt,
156
+ // and a prompt has no tool result to match.
157
+ function to_blocks(content: TranscriptContent | null | undefined): Array<Block> {
158
+ return typeof content === 'string' || content === null || content === undefined
159
+ ? []
160
+ : content.map((block) => to_block(block))
161
+ }
162
+
163
+ const time_transcript_block = {
164
+ ERROR_TEXT_LIMIT,
165
+ TOKEN_LINE_LIMIT,
166
+ guard_from_refusal,
167
+ refusal_body,
168
+ to_blocks,
169
+ }
170
+
171
+ export type { Block }
172
+ export { time_transcript_block }
@@ -1,107 +1,36 @@
1
- import type { FollowupStage } from '#scripts/followup/git-followup-stages'
2
1
  import { json_value } from '#scripts/lib/json-value'
3
2
  import {
4
3
  transcript_record,
5
- type TranscriptBlock,
6
4
  type TranscriptContent,
7
5
  type TranscriptMessage,
8
6
  type TranscriptRecord,
9
7
  } from '#scripts/lib/transcript-record'
10
8
  import { time_background } from './time-background'
11
- import { time_followup_stage } from './time-followup-stage'
12
9
  import { time_instant } from './time-instant'
13
- import { time_reported_failure } from './time-reported-failure'
10
+ import { time_transcript_block, type Block } from './time-transcript-block'
14
11
 
15
12
  // One line of a session transcript, read into the shape the span walk works on.
16
13
  //
17
14
  // It moved out of `time-spans.ts` when that file passed its length limit — the seam that file is
18
15
  // already cut along elsewhere (`time-shell.ts`, `time-single-check.ts`), where the *reading* of a
19
16
  // field lives beside the field and the arithmetic stays next door. What is here is nothing about
20
- // time: the two records a line yields, and the read that turns a parsed line into one.
21
- //
22
- // **The block reader is not `cost-blocks.ts` and could not have been.** That module flattens every
23
- // line into one list of blocks for a token estimate, dropping the `id` / `tool_use_id` pair a call is
24
- // matched to its result by and the line boundary a timestamp belongs to. Both are the whole input
25
- // here.
17
+ // time: the record a line yields, and the read that turns a parsed line into one. Its blocks are read
18
+ // by `time-transcript-block.ts`, split out when this file reached its length limit
19
+ // (joshuafolkken/kit#7055).
26
20
  //
27
21
  // The line's schema is `transcript-record.ts`'s, shared with every other reader of these lines. A
28
22
  // message `id` groups the lines of one assistant turn — Claude Code writes one line per content block
29
23
  // — so "how many calls did that turn make" groups by it. `gitBranch` is where the issue number lives
30
24
  // (`josh git` names a branch `<N>-<slug>`), read here so `josh time --issue` and `josh cost --issue`
31
- // answer from the same field. A `tool_result`'s `is_error` is read as three answers — absent for the
32
- // tools that never report one — and its `content` only to recover the outcome a pipeline threw away.
25
+ // answer from the same field.
33
26
 
34
27
  const UNKNOWN_BRANCH = ''
35
28
  // The field an attachment line carries the notice in, named rather than written as a literal.
36
29
  const PROMPT_KEY = 'prompt'
37
30
  const NO_MESSAGE_ID = ''
38
- // How much of an errored body is kept. A refusal's body *is* the reason the
39
- // harness wrote back, from its first character, so an opening this long identifies the speaker
40
- // without retaining the output of every failed command a session ran.
41
- const ERROR_TEXT_LIMIT = 256
42
- // The icon every guard refusal opens with. It is not `status_icons.FAIL_ICON`
43
- // — that one (`✗`) marks a josh check's failing item, which `has_failure_line` scans for; this one
44
- // marks a PreToolUse hook's *deny* reason, which is a different body carried in a different result. No
45
- // shared constant exists because each guard writes the literal in its own reason, so the one place a
46
- // refusal is *detected* names it here.
47
- const REFUSAL_MARKER = '⛔'
48
- // The label the harness puts in front of a PreToolUse hook's deny reason, naming the hook and the tool.
49
- const HOOK_ERROR_LABEL = /^PreToolUse:\S+ hook error: /u
50
31
  // The label the harness puts in front of a Stop hook's block reason when it sends the turn back.
51
32
  // The reason follows on the next line, opening with the same `⛔` a deny does.
52
33
  const STOP_FEEDBACK_LABEL = /^Stop hook feedback:\s*/u
53
- // A line that is one bare verdict token — `cut`, `busy`, `not-a-lane` — the single word a josh verdict
54
- // command prints on standard output. How many are kept bounds the field the
55
- // way `ERROR_TEXT_LIMIT` bounds `error_text`.
56
- const TOKEN_LINE = /^[a-z][a-z-]*$/u
57
- const TOKEN_LINE_LIMIT = 8
58
-
59
- interface Block {
60
- type: string
61
- name: string
62
- id: string
63
- result_id: string
64
- input: unknown
65
- // `undefined` where the block carried no `is_error` field, which is a different fact from
66
- // `false`: one is a tool that reports no outcome, the other a call that succeeded.
67
- is_error: boolean | undefined
68
- // Whether the body carried a line opening with josh's failure icon — the one bit of it anything
69
- // reads. The text itself is deliberately not kept: a field holding it
70
- // would retain every byte the session's tools printed for the length of the parse.
71
- has_failure_line: boolean
72
- // The stage rows a `pnpm josh followup` call printed into its own output.
73
- // Read here for the same reason the bit above is, and it obeys the same
74
- // prohibition: what is kept is the ten-odd parsed laps, never the body they were read from. Empty
75
- // for every other tool result, which is nearly all of them.
76
- followup_stages: ReadonlyArray<FollowupStage>
77
- // The opening of the body of a result the harness wrote back as a failure, and `''` for every
78
- // other block. It obeys the same prohibition as the two fields above —
79
- // what is kept is a bounded opening, never the whole body — and it exists so a reader asking
80
- // which refusal a line carried can be answered from the parsed block rather than by matching
81
- // `"is_error":true` against the raw line, a test one whitespace in the serializer defeats and
82
- // which cannot tell one errored block from another on the same line.
83
- error_text: string
84
- // Which guard refused this call, read off the opening of an errored result and `''` for every other
85
- // block. It obeys the same prohibition as `error_text` — what is kept is a
86
- // short label, never the body — and it exists so the per-guard refusal breakdown can be answered from
87
- // the parsed block rather than by re-scanning the body downstream. `''` where the result was not a
88
- // `⛔` refusal, so a reader tells "no guard spoke" from "this guard spoke" without a second parse.
89
- refusal_guard: string
90
- // The bare-token lines of a result that did not fail, and `[]` for every other block.
91
- // It obeys the same prohibition as `error_text` — what is kept is a few
92
- // single words, never the body — and it exists so the verdict a josh command answered with
93
- // (`run:cut`'s `cut`) is read from the parsed block rather than by searching the raw line.
94
- token_lines: ReadonlyArray<string>
95
- // The id the harness assigned to a command it took into the background, and `''` for every other
96
- // block. It is the fourth field read off the body under the same
97
- // prohibition as the three above — what is kept is the id, never the text it was read from — and
98
- // it is what pairs a launch with the call that later reads its output, so the minutes the command
99
- // actually ran can be placed on the timeline instead of only the seconds its launch call took.
100
- background_id: string
101
- // The id of a subagent this block launched into the background, and `''` for every other block
102
- // — apart from `background_id` so the timeline windows stay commands only.
103
- agent_id: string
104
- }
105
34
 
106
35
  interface TranscriptLine {
107
36
  type: string
@@ -124,43 +53,10 @@ interface TranscriptLine {
124
53
  // The guard whose Stop-hook block sent this turn back, or `''` for every other line
125
54
  // — read the way `Block.refusal_guard` is, off the reason's opening.
126
55
  stop_guard: string
127
- }
128
-
129
- // The four string fields, defaulted together and apart from the two that are not strings. Split out
130
- // so neither half carries every `??` in the block: read as one function the defaulting alone reached
131
- // the complexity limit, and the next field added would have had to be squeezed in beside them.
132
- function block_names(raw: TranscriptBlock): Pick<Block, 'type' | 'name' | 'id' | 'result_id'> {
133
- return {
134
- type: raw.type ?? '',
135
- name: raw.name ?? '',
136
- id: raw.id ?? '',
137
- result_id: raw.tool_use_id ?? '',
138
- }
139
- }
140
-
141
- // The body a refusal opens with, the harness's own label stripped — shared with `rule-value.ts`.
142
- function refusal_body(text: string): string {
143
- return text.trimStart().replace(HOOK_ERROR_LABEL, '')
144
- }
145
-
146
- // **A refusal is identified by what its body opens with, never by what it carries inside**.
147
- // The hook denies a call on behalf of the one guard whose trigger fired and
148
- // writes that guard's reason back as the whole result, so the speaker is the token after the `⛔` and
149
- // before the first `:` — `⛔ pre-gate cut: …` is `pre-gate cut`. A reason with no colon (a headline
150
- // like `⛔ scoped checks not green on this tree`) is taken whole. Reading the opening rather than
151
- // searching the body is what stops a result that merely quoted a reason being read as a refusal.
152
- //
153
- // **The harness writes the reason behind its own label** — `PreToolUse:Edit hook error: ⛔ …` — so that
154
- // label is stripped before the opening is read. Without it no live refusal
155
- // carried a guard: the fixtures wrote the bare `⛔` body and passed while every recorded one read `''`.
156
- function guard_from_refusal(text: string): string {
157
- const trimmed = refusal_body(text)
158
- if (!trimmed.startsWith(REFUSAL_MARKER)) return ''
159
-
160
- const headline = trimmed.slice(REFUSAL_MARKER.length).split('\n', 1)[0]?.trimStart() ?? ''
161
- const colon = headline.indexOf(':')
162
-
163
- return (colon === -1 ? headline : headline.slice(0, colon)).trim()
56
+ // The billed request an assistant line belongs to and the reasoning effort it ran at, `''` on every
57
+ // other line — the pair `cost:audit` prices its effort breakdown by (joshuafolkken/kit#7055).
58
+ request_id: string
59
+ effort: string
164
60
  }
165
61
 
166
62
  // **Only the harness's own feedback line counts.** It writes a Stop block back as a user turn whose
@@ -173,51 +69,16 @@ function stop_feedback_of(data: TranscriptRecord): string {
173
69
  return content.replace(STOP_FEEDBACK_LABEL, '').trim()
174
70
  }
175
71
 
176
- function token_lines_of(text: string): Array<string> {
177
- return text
178
- .split('\n')
179
- .map((line) => line.trim())
180
- .filter((line) => TOKEN_LINE.test(line))
181
- .slice(0, TOKEN_LINE_LIMIT)
182
- }
183
-
184
- // **The body is flattened once and both readers are handed the text.** `result_text` is what turns a
185
- // content field that may be a string or a list of blocks into one string, and it is idempotent on a
186
- // string — so passing its own output back to `has_failure_line` reads exactly as passing the raw
187
- // field did, at one flattening instead of two.
188
- function to_block(raw: TranscriptBlock): Block {
189
- const text = time_reported_failure.result_text(raw.content)
190
- const is_error = raw.is_error ?? undefined
191
-
192
- return {
193
- ...block_names(raw),
194
- input: raw.input,
195
- is_error,
196
- has_failure_line: time_reported_failure.has_failure_line(text),
197
- followup_stages: time_followup_stage.read_stages(text),
198
- error_text: is_error === true ? text.slice(0, ERROR_TEXT_LIMIT) : '',
199
- refusal_guard: is_error === true ? guard_from_refusal(text) : '',
200
- token_lines: is_error === true ? [] : token_lines_of(text),
201
- background_id: time_background.launch_id(text),
202
- agent_id: time_background.agent_launch_id(text),
203
- }
204
- }
205
-
206
- // A user turn written as a bare string carries no blocks, which is exactly right: it is a prompt,
207
- // and a prompt has no tool result to match.
208
- function to_blocks(content: TranscriptContent | null | undefined): Array<Block> {
209
- return typeof content === 'string' || content === null || content === undefined
210
- ? []
211
- : content.map((block) => to_block(block))
212
- }
213
-
214
72
  // The two fields read off `message`, taken together because they are one reading: an assistant turn
215
73
  // is written as one line per content block with the message's id repeated on each, so the id is what
216
74
  // says which blocks belonged to the same turn.
217
75
  function message_fields(
218
76
  message: TranscriptMessage | null | undefined,
219
77
  ): Pick<TranscriptLine, 'message_id' | 'blocks'> {
220
- return { message_id: message?.id ?? NO_MESSAGE_ID, blocks: to_blocks(message?.content) }
78
+ return {
79
+ message_id: message?.id ?? NO_MESSAGE_ID,
80
+ blocks: time_transcript_block.to_blocks(message?.content),
81
+ }
221
82
  }
222
83
 
223
84
  // **One notice reaches the transcript on any of three line kinds, and which of them a session holds
@@ -255,6 +116,10 @@ function finished_background(data: TranscriptRecord): string {
255
116
  : notice
256
117
  }
257
118
 
119
+ function request_fields(data: TranscriptRecord): Pick<TranscriptLine, 'request_id' | 'effort'> {
120
+ return { request_id: data.requestId ?? '', effort: data.effort ?? '' }
121
+ }
122
+
258
123
  // A line without a parseable timestamp is dropped rather than dated: it has no place on a timeline,
259
124
  // and inventing one would move every span around it.
260
125
  function to_line(data: TranscriptRecord): TranscriptLine | undefined {
@@ -270,7 +135,8 @@ function to_line(data: TranscriptRecord): TranscriptLine | undefined {
270
135
  branch: data.gitBranch ?? UNKNOWN_BRANCH,
271
136
  finished_background: finished_background(data),
272
137
  stop_feedback,
273
- stop_guard: guard_from_refusal(stop_feedback),
138
+ stop_guard: time_transcript_block.guard_from_refusal(stop_feedback),
139
+ ...request_fields(data),
274
140
  ...message_fields(data.message),
275
141
  }
276
142
  }
@@ -287,14 +153,16 @@ function parse_text(text: string): Array<TranscriptLine> {
287
153
  }
288
154
 
289
155
  const time_transcript_line = {
290
- ERROR_TEXT_LIMIT,
156
+ ERROR_TEXT_LIMIT: time_transcript_block.ERROR_TEXT_LIMIT,
291
157
  NO_MESSAGE_ID,
292
- TOKEN_LINE_LIMIT,
293
- guard_from_refusal,
158
+ TOKEN_LINE_LIMIT: time_transcript_block.TOKEN_LINE_LIMIT,
159
+ guard_from_refusal: time_transcript_block.guard_from_refusal,
294
160
  parse_line,
295
161
  parse_text,
296
- refusal_body,
162
+ refusal_body: time_transcript_block.refusal_body,
297
163
  }
298
164
 
299
- export type { Block, TranscriptLine }
165
+ export type { TranscriptLine }
300
166
  export { time_transcript_line }
167
+
168
+ export type { Block } from './time-transcript-block'
@@ -0,0 +1,39 @@
1
+ import { closeSync, fstatSync, openSync, readSync } from 'node:fs'
2
+
3
+ // **The transcript's tail, read with no reader attached** (joshuafolkken/kit#6151): `hook-decision.ts`
4
+ // needs these bytes and nothing else, and reading them through `time-density-hook.ts` pulled the batch
5
+ // guard, the shell parser and the josh alias table into every hook's import graph — a one-line alias
6
+ // edit reached 551 test files.
7
+
8
+ // How much of the transcript's end is read. The file grows to several megabytes over a long run,
9
+ // and reading all of it on every edit would put the run's own history in front of every write. A
10
+ // quarter of a megabyte is far more than the ten round trips the reading needs and is read in a
11
+ // couple of milliseconds.
12
+ const TAIL_BYTES = 262_144
13
+ const FILE_START = 0
14
+
15
+ // The last `max_bytes` of a file, as text. The leading line is usually cut mid-way, which every
16
+ // reader already handles: an unparseable line is dropped rather than dated.
17
+ //
18
+ // **Only the bytes `readSync` reports are decoded.** `Buffer.alloc` zero-fills, and a short read — a
19
+ // real possibility on the network- and FUSE-backed home directories these transcripts can live on —
20
+ // would otherwise leave NUL padding on the end of the text, making the *last* line unparseable. That
21
+ // is the one line the turn's call count is read from.
22
+ function read_tail(file_path: string, max_bytes: number = TAIL_BYTES): string {
23
+ const descriptor = openSync(file_path, 'r')
24
+
25
+ try {
26
+ const { size } = fstatSync(descriptor)
27
+ const length = Math.min(size, max_bytes)
28
+ const buffer = Buffer.alloc(length)
29
+ const read = readSync(descriptor, buffer, FILE_START, length, size - length)
30
+
31
+ return buffer.subarray(FILE_START, read).toString('utf8')
32
+ } finally {
33
+ closeSync(descriptor)
34
+ }
35
+ }
36
+
37
+ const transcript_tail = { TAIL_BYTES, read_tail }
38
+
39
+ export { transcript_tail }
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env tsx
2
+ import { fileURLToPath } from 'node:url'
3
+ import { find_local_bin_upwards } from '#scripts/build/local-bin'
4
+ import { TOOLKIT_BINS, type_check_step } from '#scripts/gate/type-check-step'
5
+ import { find_package_directory } from '#scripts/josh/package-directory'
6
+ import { package_manifest } from '#scripts/lib/package-manifest'
7
+ import { execa } from 'execa'
8
+ import { z } from 'zod'
9
+ import { ui_shot, type ShotCommand, type ToolkitProbe } from './ui-shot'
10
+
11
+ // `josh ui:shot <route> [route...]` — the I/O around `ui-shot.ts`: probe the project's toolkit bins
12
+ // and `package.json` scripts, then run the resolved command with the terminal attached, so its image
13
+ // paths and its exit status are the result.
14
+
15
+ const ARGV_OFFSET = 2
16
+ const USAGE = 'Usage: josh ui:shot <route> [route...]'
17
+ const FAILURE_EXIT_CODE = 1
18
+
19
+ const SCRIPTS_MANIFEST_SCHEMA = z.object({ scripts: z.record(z.string(), z.string()).optional() })
20
+
21
+ // The nearest `package.json` upwards, the one `pnpm run` itself would read from `directory`.
22
+ function read_scripts(directory: string): ReadonlyArray<string> {
23
+ const manifest = package_manifest.read_manifest_if_valid(
24
+ find_package_directory(directory),
25
+ SCRIPTS_MANIFEST_SCHEMA,
26
+ )
27
+
28
+ return Object.keys(manifest?.scripts ?? {})
29
+ }
30
+
31
+ async function probe_toolkit(
32
+ directory: string,
33
+ bin_name: string,
34
+ ): Promise<ToolkitProbe | undefined> {
35
+ const bin_path = find_local_bin_upwards(directory, bin_name)
36
+ if (bin_path === undefined) return undefined
37
+
38
+ return { path: bin_path, commands: await type_check_step.read_toolkit_commands(bin_path) }
39
+ }
40
+
41
+ async function run_command(command: ShotCommand, directory: string): Promise<number> {
42
+ const result = await execa(command.file, command.args, {
43
+ cwd: directory,
44
+ stdio: 'inherit',
45
+ reject: false,
46
+ })
47
+
48
+ return result.exitCode ?? FAILURE_EXIT_CODE
49
+ }
50
+
51
+ async function run(argv: ReadonlyArray<string>, directory: string): Promise<number> {
52
+ if (argv.length === 0) {
53
+ console.error(USAGE)
54
+
55
+ return FAILURE_EXIT_CODE
56
+ }
57
+
58
+ const resolution = await ui_shot.resolve_shot_command(
59
+ {
60
+ toolkit_bins: TOOLKIT_BINS,
61
+ probe_toolkit: async (bin_name) => await probe_toolkit(directory, bin_name),
62
+ scripts: read_scripts(directory),
63
+ },
64
+ argv,
65
+ )
66
+
67
+ if (resolution.kind === 'missing') {
68
+ console.error(ui_shot.describe_missing(resolution.tried))
69
+
70
+ return FAILURE_EXIT_CODE
71
+ }
72
+
73
+ return await run_command(resolution.command, directory)
74
+ }
75
+
76
+ async function main(argv: ReadonlyArray<string>, directory: string): Promise<void> {
77
+ process.exitCode = await run(argv, directory)
78
+ }
79
+
80
+ const ui_shot_cli = {
81
+ main,
82
+ run,
83
+ USAGE,
84
+ }
85
+
86
+ if (process.argv[1] === fileURLToPath(import.meta.url)) {
87
+ await main(process.argv.slice(ARGV_OFFSET), process.cwd())
88
+ }
89
+
90
+ export { ui_shot_cli }