@joshuafolkken/kit 1.2116.0 → 1.3041.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2206) 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 +31 -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 +227 -0
  63. package/dist/commands/auto-ok-main.js +138 -0
  64. package/dist/commands/backlog-budget-main.js +146 -0
  65. package/dist/commands/backlog-drive-cli.js +2023 -0
  66. package/dist/commands/backlog-next-main.js +188 -0
  67. package/dist/commands/backlog-offer-main.js +192 -0
  68. package/dist/commands/backlog-plan-cli.js +328 -0
  69. package/dist/commands/backlog-triage-cli.js +644 -0
  70. package/dist/commands/backlogrun-cli.js +835 -0
  71. package/dist/commands/behavior-cli.js +215 -0
  72. package/dist/commands/bump-version-main.js +22 -0
  73. package/dist/commands/bytes-command.js +247 -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 +552 -0
  77. package/dist/commands/chunk-22DVQCP6.js +153 -0
  78. package/dist/commands/chunk-23GH6B3D.js +333 -0
  79. package/dist/commands/chunk-24ZDAWML.js +48 -0
  80. package/dist/commands/chunk-2ADQ5XRD.js +36 -0
  81. package/dist/commands/chunk-2BB5ZR2F.js +128 -0
  82. package/dist/commands/chunk-2BC33QPY.js +183 -0
  83. package/dist/commands/chunk-2BJJUTZA.js +59 -0
  84. package/dist/commands/chunk-2CXT6MBR.js +51 -0
  85. package/dist/commands/chunk-2DJLAUYB.js +109 -0
  86. package/dist/commands/chunk-2EZTYLO4.js +179 -0
  87. package/dist/commands/chunk-2FE3C4PH.js +112 -0
  88. package/dist/commands/chunk-2FJJYCBD.js +149 -0
  89. package/dist/commands/chunk-2NSB5ZYQ.js +26 -0
  90. package/dist/commands/chunk-2PHOLX62.js +43 -0
  91. package/dist/commands/chunk-2QM72JCJ.js +338 -0
  92. package/dist/commands/chunk-2VFPUPSG.js +170 -0
  93. package/dist/commands/chunk-2VRITY55.js +41 -0
  94. package/dist/commands/chunk-2XAH3MHV.js +23 -0
  95. package/dist/commands/chunk-34DND4BA.js +104 -0
  96. package/dist/commands/chunk-34JJYCIY.js +117 -0
  97. package/dist/commands/chunk-34KZDKQJ.js +304 -0
  98. package/dist/commands/chunk-352KLSFX.js +67 -0
  99. package/dist/commands/chunk-36LOGVJ7.js +38 -0
  100. package/dist/commands/chunk-3AEDZZNL.js +223 -0
  101. package/dist/commands/chunk-3B2HEFNO.js +51 -0
  102. package/dist/commands/chunk-3CCGKX7Y.js +20 -0
  103. package/dist/commands/chunk-3LZXX5GL.js +50 -0
  104. package/dist/commands/chunk-3NWAGIA6.js +39 -0
  105. package/dist/commands/chunk-3PEXBHRN.js +33 -0
  106. package/dist/commands/chunk-3RIQ36LH.js +110 -0
  107. package/dist/commands/chunk-3WRQP3QE.js +47 -0
  108. package/dist/commands/chunk-3WWQFCGX.js +18 -0
  109. package/dist/commands/chunk-3Z425MM3.js +61 -0
  110. package/dist/commands/chunk-3ZEO3KOM.js +35 -0
  111. package/dist/commands/chunk-3ZOX4G4U.js +88 -0
  112. package/dist/commands/chunk-452HWOJ7.js +395 -0
  113. package/dist/commands/chunk-475EFIJV.js +178 -0
  114. package/dist/commands/chunk-47UZB54M.js +73 -0
  115. package/dist/commands/chunk-4DN4XVPL.js +716 -0
  116. package/dist/commands/chunk-4DVM57T7.js +86 -0
  117. package/dist/commands/chunk-4EADHJVC.js +247 -0
  118. package/dist/commands/chunk-4HERA2GY.js +95 -0
  119. package/dist/commands/chunk-4JI35CVO.js +70 -0
  120. package/dist/commands/chunk-4L4LNWZ7.js +143 -0
  121. package/dist/commands/chunk-4N32QKJZ.js +170 -0
  122. package/dist/commands/chunk-4NRSFLG7.js +185 -0
  123. package/dist/commands/chunk-4OKRPAUT.js +98 -0
  124. package/dist/commands/chunk-4PUKDAXL.js +42 -0
  125. package/dist/commands/chunk-4Q64PG46.js +478 -0
  126. package/dist/commands/chunk-4UDTQVDD.js +278 -0
  127. package/dist/commands/chunk-4WR2LEZL.js +123 -0
  128. package/dist/commands/chunk-4ZHWTTQW.js +99 -0
  129. package/dist/commands/chunk-4ZJOC6OK.js +298 -0
  130. package/dist/commands/chunk-4ZQM4I7R.js +533 -0
  131. package/dist/commands/chunk-54X37JEJ.js +170 -0
  132. package/dist/commands/chunk-56KW5EOK.js +85 -0
  133. package/dist/commands/chunk-5CG3XU3O.js +74 -0
  134. package/dist/commands/chunk-5ESZLHDZ.js +514 -0
  135. package/dist/commands/chunk-5FBRMARM.js +578 -0
  136. package/dist/{hooks/chunk-OPSRGWFU.js → commands/chunk-5HVYOIIK.js} +1 -1
  137. package/dist/commands/chunk-5PCK53WP.js +168 -0
  138. package/dist/commands/chunk-5RG4S66L.js +47 -0
  139. package/dist/commands/chunk-5TMAPYQD.js +19 -0
  140. package/dist/commands/chunk-5UJGACVN.js +137 -0
  141. package/dist/commands/chunk-5Y7B7FDL.js +44 -0
  142. package/dist/commands/chunk-5Z6E5ZUV.js +89 -0
  143. package/dist/commands/chunk-5ZNUH4LV.js +1722 -0
  144. package/dist/commands/chunk-5ZTQX7OS.js +125 -0
  145. package/dist/commands/chunk-65E4OZJ7.js +9 -0
  146. package/dist/commands/chunk-66NX6EXR.js +29 -0
  147. package/dist/commands/chunk-66TGK5XL.js +84 -0
  148. package/dist/commands/chunk-6CFHLMKM.js +555 -0
  149. package/dist/commands/chunk-6CJXLPRI.js +72 -0
  150. package/dist/commands/chunk-6DDK5XWK.js +74 -0
  151. package/dist/commands/chunk-6FWV56B3.js +40 -0
  152. package/dist/commands/chunk-6GQX752S.js +145 -0
  153. package/dist/commands/chunk-6HRRZANN.js +55 -0
  154. package/dist/commands/chunk-6I2JM5UX.js +134 -0
  155. package/dist/commands/chunk-6MAZ55GF.js +1241 -0
  156. package/dist/commands/chunk-6NGNMIMT.js +20 -0
  157. package/dist/commands/chunk-6OP63TBT.js +78 -0
  158. package/dist/commands/chunk-6Q3XUCLM.js +204 -0
  159. package/dist/commands/chunk-6RUWU2SB.js +45 -0
  160. package/dist/commands/chunk-6TIVDEKG.js +34 -0
  161. package/dist/commands/chunk-6UCWAFQY.js +245 -0
  162. package/dist/commands/chunk-6WKJ3GDA.js +408 -0
  163. package/dist/commands/chunk-6YURRFRU.js +461 -0
  164. package/dist/commands/chunk-6YVURZAJ.js +350 -0
  165. package/dist/commands/chunk-6Z4YZG7P.js +169 -0
  166. package/dist/commands/chunk-77BIN247.js +122 -0
  167. package/dist/commands/chunk-7ABHNNY3.js +529 -0
  168. package/dist/commands/chunk-7C7FOKJK.js +115 -0
  169. package/dist/commands/chunk-7HAGC6SW.js +1062 -0
  170. package/dist/commands/chunk-7HCPRVMB.js +76 -0
  171. package/dist/commands/chunk-7IZJ5MG2.js +72 -0
  172. package/dist/commands/chunk-7KKUFLH5.js +56 -0
  173. package/dist/commands/chunk-7LJQMM2K.js +102 -0
  174. package/dist/commands/chunk-7MJYLUF4.js +99 -0
  175. package/dist/commands/chunk-7NHZCI5Y.js +704 -0
  176. package/dist/commands/chunk-7OQ56DVW.js +239 -0
  177. package/dist/commands/chunk-7VWPGTZO.js +260 -0
  178. package/dist/commands/chunk-7YZXS3AK.js +30 -0
  179. package/dist/commands/chunk-A4HOQKOG.js +85 -0
  180. package/dist/commands/chunk-A6T2N7VC.js +159 -0
  181. package/dist/commands/chunk-AAUDI7WJ.js +250 -0
  182. package/dist/commands/chunk-AC26ZUG5.js +259 -0
  183. package/dist/commands/chunk-ACZ52JPI.js +140 -0
  184. package/dist/commands/chunk-AJ65WNJB.js +230 -0
  185. package/dist/commands/chunk-AJWR7D3H.js +15 -0
  186. package/dist/commands/chunk-AK7SEO4Y.js +177 -0
  187. package/dist/commands/chunk-AKK56GNX.js +205 -0
  188. package/dist/commands/chunk-AKQYYHP2.js +461 -0
  189. package/dist/commands/chunk-ALDAS2WG.js +137 -0
  190. package/dist/commands/chunk-ANUTT56I.js +85 -0
  191. package/dist/commands/chunk-AQ3PMSXK.js +76 -0
  192. package/dist/commands/chunk-ARFBIJFS.js +43 -0
  193. package/dist/commands/chunk-AVVMDVGO.js +68 -0
  194. package/dist/commands/chunk-AWLYN2SP.js +64 -0
  195. package/dist/commands/chunk-AXXEMVRJ.js +23 -0
  196. package/dist/commands/chunk-B3M5WSGN.js +72 -0
  197. package/dist/commands/chunk-B5GXZK3E.js +34 -0
  198. package/dist/commands/chunk-B77ZMVHS.js +80 -0
  199. package/dist/commands/chunk-B7ZNIEDV.js +351 -0
  200. package/dist/commands/chunk-BCUDQWYK.js +77 -0
  201. package/dist/commands/chunk-BF6YX4HE.js +70 -0
  202. package/dist/commands/chunk-BHRS7HAM.js +272 -0
  203. package/dist/commands/chunk-BIKGPT52.js +29 -0
  204. package/dist/commands/chunk-BJA5U4Q7.js +75 -0
  205. package/dist/commands/chunk-BJKEXXY6.js +15 -0
  206. package/dist/commands/chunk-BMKWSWWE.js +126 -0
  207. package/dist/commands/chunk-BMM4RHCG.js +69 -0
  208. package/dist/commands/chunk-BMTYUJNT.js +59 -0
  209. package/dist/commands/chunk-BRFQBJ5Y.js +132 -0
  210. package/dist/commands/chunk-BRHPRDDV.js +127 -0
  211. package/dist/commands/chunk-BRUBX64M.js +33 -0
  212. package/dist/commands/chunk-BTZJDHQT.js +46 -0
  213. package/dist/commands/chunk-BYFC6MD2.js +72 -0
  214. package/dist/commands/chunk-BYGJ3BCJ.js +803 -0
  215. package/dist/commands/chunk-BYSPYVLD.js +130 -0
  216. package/dist/commands/chunk-C2SEDMZ3.js +238 -0
  217. package/dist/commands/chunk-C54QXJD6.js +4208 -0
  218. package/dist/commands/chunk-C6QSVO5K.js +56 -0
  219. package/dist/commands/chunk-CBAKBWSZ.js +332 -0
  220. package/dist/commands/chunk-CDY4NFQG.js +15 -0
  221. package/dist/commands/chunk-CFHRNTE5.js +326 -0
  222. package/dist/commands/chunk-CGLLAEKZ.js +110 -0
  223. package/dist/commands/chunk-CGYDIYHD.js +49 -0
  224. package/dist/commands/chunk-CHKYPF5O.js +82 -0
  225. package/dist/commands/chunk-CJBW6BWG.js +800 -0
  226. package/dist/commands/chunk-CJKPF5DJ.js +156 -0
  227. package/dist/commands/chunk-CKUKK7JG.js +252 -0
  228. package/dist/commands/chunk-CMHGDCGN.js +263 -0
  229. package/dist/commands/chunk-CNGTHSUS.js +750 -0
  230. package/dist/commands/chunk-COGKULQH.js +119 -0
  231. package/dist/commands/chunk-CP2J4RV2.js +3987 -0
  232. package/dist/commands/chunk-CQUZ6TNQ.js +120 -0
  233. package/dist/commands/chunk-CQZI7RIK.js +72 -0
  234. package/dist/commands/chunk-CVJHQOI3.js +153 -0
  235. package/dist/commands/chunk-CWCKCZS6.js +188 -0
  236. package/dist/commands/chunk-D5HIP4HT.js +289 -0
  237. package/dist/commands/chunk-D5OHVIPM.js +17 -0
  238. package/dist/commands/chunk-D6D6WQR6.js +125 -0
  239. package/dist/commands/chunk-D7JRJI44.js +297 -0
  240. package/dist/commands/chunk-D7OAU32Z.js +119 -0
  241. package/dist/commands/chunk-DAAX7XDS.js +1208 -0
  242. package/dist/commands/chunk-DBKTFB5V.js +18 -0
  243. package/dist/commands/chunk-DEZF7QZZ.js +184 -0
  244. package/dist/commands/chunk-DKM4UJQU.js +10 -0
  245. package/dist/commands/chunk-DMD74E3F.js +39 -0
  246. package/dist/commands/chunk-DPJVKTO4.js +41 -0
  247. package/dist/commands/chunk-DXJQHJQ4.js +73 -0
  248. package/dist/commands/chunk-DYZOOWVW.js +912 -0
  249. package/dist/commands/chunk-E33LSO2W.js +20 -0
  250. package/dist/commands/chunk-EBI2BAKQ.js +47 -0
  251. package/dist/commands/chunk-EBVS2LKX.js +60 -0
  252. package/dist/commands/chunk-EDKOSZ3K.js +88 -0
  253. package/dist/commands/chunk-EFDVE5P5.js +121 -0
  254. package/dist/commands/chunk-EGIHAEMT.js +72 -0
  255. package/dist/commands/chunk-EKLU6QR7.js +507 -0
  256. package/dist/commands/chunk-ELY76WAR.js +65 -0
  257. package/dist/commands/chunk-EM3HAZF6.js +52 -0
  258. package/dist/commands/chunk-EMTZAGT5.js +51 -0
  259. package/dist/commands/chunk-ENFPR7J2.js +53 -0
  260. package/dist/commands/chunk-ENKFCOVY.js +472 -0
  261. package/dist/commands/chunk-ERG4QRNG.js +224 -0
  262. package/dist/commands/chunk-EUGNQCYK.js +139 -0
  263. package/dist/commands/chunk-EW4NPUMQ.js +363 -0
  264. package/dist/commands/chunk-EWVR5AEX.js +140 -0
  265. package/dist/commands/chunk-EXDFKKMH.js +113 -0
  266. package/dist/commands/chunk-EXWB34R2.js +238 -0
  267. package/dist/commands/chunk-EYMPBHDN.js +61 -0
  268. package/dist/commands/chunk-EZ7IPKIH.js +20 -0
  269. package/dist/commands/chunk-EZSO25UZ.js +80 -0
  270. package/dist/commands/chunk-F6IQHZYY.js +94 -0
  271. package/dist/commands/chunk-FCINBCKB.js +77 -0
  272. package/dist/commands/chunk-FDS65XOJ.js +212 -0
  273. package/dist/commands/chunk-FFHEGWPK.js +91 -0
  274. package/dist/commands/chunk-FGG7V473.js +85 -0
  275. package/dist/commands/chunk-FGL6DBZU.js +71 -0
  276. package/dist/commands/chunk-FHFWNNUC.js +144 -0
  277. package/dist/{hooks/chunk-VVNYJWEI.js → commands/chunk-FIUCHMCF.js} +4 -2
  278. package/dist/commands/chunk-FJX7AENO.js +74 -0
  279. package/dist/commands/chunk-FKZ5E4JD.js +97 -0
  280. package/dist/commands/chunk-FMZWRDKH.js +302 -0
  281. package/dist/commands/chunk-FOKCRIAN.js +67 -0
  282. package/dist/commands/chunk-FQGWO2ZH.js +43 -0
  283. package/dist/commands/chunk-FROACLVU.js +525 -0
  284. package/dist/commands/chunk-FURNDIT3.js +34 -0
  285. package/dist/commands/chunk-FVDQNMP6.js +93 -0
  286. package/dist/commands/chunk-FVVZIJUC.js +425 -0
  287. package/dist/commands/chunk-FWU3H4TX.js +17 -0
  288. package/dist/commands/chunk-G3HBYHFA.js +16 -0
  289. package/dist/commands/chunk-G4E4M2P4.js +299 -0
  290. package/dist/commands/chunk-G5KSL2Q2.js +151 -0
  291. package/dist/commands/chunk-G6BXCWPH.js +141 -0
  292. package/dist/commands/chunk-G6XC7V6Y.js +58 -0
  293. package/dist/commands/chunk-GCPP5XIG.js +90 -0
  294. package/dist/commands/chunk-GITT5A5A.js +198 -0
  295. package/dist/commands/chunk-GJYMI2CM.js +48 -0
  296. package/dist/commands/chunk-GLC47H7I.js +285 -0
  297. package/dist/commands/chunk-GM3XLC4W.js +63 -0
  298. package/dist/commands/chunk-GO3GH7FG.js +75 -0
  299. package/dist/commands/chunk-GPTO6IZG.js +29 -0
  300. package/dist/commands/chunk-GUR54ELE.js +328 -0
  301. package/dist/commands/chunk-GW4UWR3O.js +126 -0
  302. package/dist/commands/chunk-GY4DMCKS.js +306 -0
  303. package/dist/commands/chunk-H6JQRHDC.js +80 -0
  304. package/dist/commands/chunk-HATKF6VX.js +173 -0
  305. package/dist/commands/chunk-HE5S4XRE.js +21 -0
  306. package/dist/commands/chunk-HG2NZQD5.js +135 -0
  307. package/dist/commands/chunk-HH3CVIFU.js +93 -0
  308. package/dist/commands/chunk-HHBC6QZE.js +95 -0
  309. package/dist/commands/chunk-HHMMGDMP.js +469 -0
  310. package/dist/commands/chunk-HI5WPM6C.js +127 -0
  311. package/dist/commands/chunk-HIU2WXB6.js +26 -0
  312. package/dist/commands/chunk-HLKAFSN4.js +76 -0
  313. package/dist/commands/chunk-HLUS2M3D.js +7 -0
  314. package/dist/commands/chunk-HQ2HSZBN.js +69 -0
  315. package/dist/commands/chunk-HQGNXR6I.js +245 -0
  316. package/dist/commands/chunk-HQSWPRUF.js +61 -0
  317. package/dist/commands/chunk-HRLGFRAV.js +21 -0
  318. package/dist/commands/chunk-HTIDHEEN.js +108 -0
  319. package/dist/commands/chunk-HVCQYZVD.js +38 -0
  320. package/dist/commands/chunk-HWEZRNPL.js +66 -0
  321. package/dist/commands/chunk-HX3FFIO5.js +74 -0
  322. package/dist/commands/chunk-HXCZ3KWS.js +41 -0
  323. package/dist/commands/chunk-HXDTA5VU.js +208 -0
  324. package/dist/commands/chunk-I2KCGKJI.js +107 -0
  325. package/dist/commands/chunk-I63RNFFR.js +213 -0
  326. package/dist/commands/chunk-IAD4WLLI.js +98 -0
  327. package/dist/commands/chunk-IB5TT73I.js +177 -0
  328. package/dist/commands/chunk-IBAYXCMU.js +156 -0
  329. package/dist/commands/chunk-IF3EIFK4.js +7515 -0
  330. package/dist/commands/chunk-IGD6QJPH.js +91 -0
  331. package/dist/commands/chunk-IGDJNXX2.js +49 -0
  332. package/dist/commands/chunk-ILGPZ47M.js +33 -0
  333. package/dist/commands/chunk-ILIITIMQ.js +126 -0
  334. package/dist/commands/chunk-IRGDMSTI.js +42 -0
  335. package/dist/commands/chunk-IW6NWCSN.js +10 -0
  336. package/dist/commands/chunk-IYJEBWW5.js +44 -0
  337. package/dist/commands/chunk-J22PSIXR.js +418 -0
  338. package/dist/commands/chunk-J3TKZLHA.js +11 -0
  339. package/dist/commands/chunk-J66YBAAM.js +161 -0
  340. package/dist/commands/chunk-J6WKZRV2.js +391 -0
  341. package/dist/commands/chunk-J7IO3AYH.js +179 -0
  342. package/dist/commands/chunk-JAKC2BHX.js +88 -0
  343. package/dist/commands/chunk-JCAQ7B6J.js +124 -0
  344. package/dist/commands/chunk-JFLFGLE4.js +32 -0
  345. package/dist/commands/chunk-JHN6RCE6.js +123 -0
  346. package/dist/commands/chunk-JIGBNCDR.js +88 -0
  347. package/dist/commands/chunk-JJHWTFWQ.js +76 -0
  348. package/dist/commands/chunk-JJRKTWLK.js +64 -0
  349. package/dist/commands/chunk-JKOGWGQM.js +92 -0
  350. package/dist/commands/chunk-JM6EVOFN.js +172 -0
  351. package/dist/commands/chunk-JQXPLMCO.js +81 -0
  352. package/dist/commands/chunk-JTU5A4JI.js +55 -0
  353. package/dist/commands/chunk-JV24VP2O.js +81 -0
  354. package/dist/commands/chunk-JVKXJ763.js +45 -0
  355. package/dist/commands/chunk-JZHY7D6D.js +71 -0
  356. package/dist/commands/chunk-JZK33TA5.js +99 -0
  357. package/dist/commands/chunk-JZOTCPX2.js +115 -0
  358. package/dist/commands/chunk-K275REYP.js +37 -0
  359. package/dist/commands/chunk-K2WVYHCP.js +18 -0
  360. package/dist/commands/chunk-K4G3HOKS.js +105 -0
  361. package/dist/commands/chunk-K64EIHD2.js +138 -0
  362. package/dist/commands/chunk-KB3OQWDT.js +71 -0
  363. package/dist/commands/chunk-KCFOP5RI.js +1310 -0
  364. package/dist/commands/chunk-KGE4AS2Y.js +134 -0
  365. package/dist/commands/chunk-KIILCKQR.js +220 -0
  366. package/dist/commands/chunk-KK2SL42W.js +241 -0
  367. package/dist/commands/chunk-KK7TEL5G.js +121 -0
  368. package/dist/commands/chunk-KKIMVXAP.js +280 -0
  369. package/dist/commands/chunk-KODXWMBX.js +77 -0
  370. package/dist/commands/chunk-KPSKWTOS.js +208 -0
  371. package/dist/commands/chunk-KSR23NYN.js +33 -0
  372. package/dist/commands/chunk-KTLR4Y32.js +21 -0
  373. package/dist/commands/chunk-KTV2HNWB.js +339 -0
  374. package/dist/commands/chunk-KVHNQHX3.js +100 -0
  375. package/dist/commands/chunk-KVURNO74.js +187 -0
  376. package/dist/commands/chunk-KWYQR5MK.js +269 -0
  377. package/dist/commands/chunk-KXHXMERX.js +214 -0
  378. package/dist/commands/chunk-KXK2A2HB.js +158 -0
  379. package/dist/commands/chunk-KZ5BBBMO.js +271 -0
  380. package/dist/commands/chunk-KZ7HD37E.js +121 -0
  381. package/dist/commands/chunk-KZSM5M5P.js +89 -0
  382. package/dist/commands/chunk-KZZWPUJW.js +25 -0
  383. package/dist/commands/chunk-L7DAL54N.js +347 -0
  384. package/dist/commands/chunk-LAR76BFA.js +114 -0
  385. package/dist/commands/chunk-LAYSCY4L.js +6 -0
  386. package/dist/commands/chunk-LB557AHJ.js +192 -0
  387. package/dist/commands/chunk-LBLII7BS.js +14 -0
  388. package/dist/commands/chunk-LEB2VP7F.js +77 -0
  389. package/dist/commands/chunk-LHKXJD6L.js +303 -0
  390. package/dist/commands/chunk-LJXKVLYI.js +229 -0
  391. package/dist/commands/chunk-LJZERYLG.js +133 -0
  392. package/dist/commands/chunk-LOOFYHUM.js +773 -0
  393. package/dist/commands/chunk-LPSULLNK.js +45 -0
  394. package/dist/commands/chunk-LQXFVZTS.js +13 -0
  395. package/dist/commands/chunk-LR22UK5W.js +17 -0
  396. package/dist/commands/chunk-LT7QSHR4.js +995 -0
  397. package/dist/commands/chunk-LULJUD6P.js +131 -0
  398. package/dist/commands/chunk-LUXWDMKI.js +426 -0
  399. package/dist/commands/chunk-LWAXXZPS.js +118 -0
  400. package/dist/commands/chunk-LX7TIEMI.js +1612 -0
  401. package/dist/commands/chunk-LYO6TX5L.js +47 -0
  402. package/dist/commands/chunk-LZ5QXE5N.js +244 -0
  403. package/dist/commands/chunk-M3ZDYCUF.js +117 -0
  404. package/dist/commands/chunk-M4UV3BEV.js +313 -0
  405. package/dist/commands/chunk-M6JDU5EK.js +133 -0
  406. package/dist/commands/chunk-MDKDJF2K.js +160 -0
  407. package/dist/commands/chunk-MDLOETXL.js +211 -0
  408. package/dist/commands/chunk-MFBNNTBM.js +44 -0
  409. package/dist/commands/chunk-MGF64OHV.js +32 -0
  410. package/dist/commands/chunk-MI2OS6TL.js +132 -0
  411. package/dist/commands/chunk-MLW4S35K.js +389 -0
  412. package/dist/commands/chunk-MMTVQOCP.js +211 -0
  413. package/dist/commands/chunk-MN425CU6.js +63 -0
  414. package/dist/commands/chunk-MOIOSCZM.js +171 -0
  415. package/dist/commands/chunk-MPGJ4ONJ.js +634 -0
  416. package/dist/commands/chunk-MRORPFSO.js +402 -0
  417. package/dist/commands/chunk-MSPIR3OA.js +32 -0
  418. package/dist/commands/chunk-MUGTOJUL.js +319 -0
  419. package/dist/commands/chunk-MVHPRYHE.js +91 -0
  420. package/dist/commands/chunk-MWO6FOSZ.js +393 -0
  421. package/dist/commands/chunk-MXC4IBZ7.js +104 -0
  422. package/dist/commands/chunk-MY3RSOS5.js +52 -0
  423. package/dist/commands/chunk-N7QTMTST.js +210 -0
  424. package/dist/commands/chunk-NDBX7LSS.js +32 -0
  425. package/dist/commands/chunk-NDWZTWXV.js +229 -0
  426. package/dist/commands/chunk-NEGJ77RV.js +173 -0
  427. package/dist/commands/chunk-NEGRE5VW.js +101 -0
  428. package/dist/commands/chunk-NFKULY26.js +48 -0
  429. package/dist/commands/chunk-NFPD2P3V.js +53 -0
  430. package/dist/commands/chunk-NHIW7JE6.js +335 -0
  431. package/dist/commands/chunk-NILSN7A4.js +158 -0
  432. package/dist/commands/chunk-NOLFSPOB.js +74 -0
  433. package/dist/commands/chunk-NSAVEXVR.js +353 -0
  434. package/dist/commands/chunk-NT67QTZO.js +65 -0
  435. package/dist/commands/chunk-NU7W6QGT.js +155 -0
  436. package/dist/commands/chunk-NUR4FQHM.js +21 -0
  437. package/dist/commands/chunk-NYWGJLBU.js +19 -0
  438. package/dist/commands/chunk-O3NDWYNT.js +68 -0
  439. package/dist/commands/chunk-OAAVY2JK.js +49 -0
  440. package/dist/commands/chunk-OF4BY4N7.js +32 -0
  441. package/dist/commands/chunk-OGS2DK7I.js +47 -0
  442. package/dist/commands/chunk-OHNP3QL2.js +186 -0
  443. package/dist/commands/chunk-OIPV3PWW.js +870 -0
  444. package/dist/commands/chunk-OIX2363L.js +16 -0
  445. package/dist/commands/chunk-OJ65BZBV.js +646 -0
  446. package/dist/commands/chunk-OKYFQJW3.js +22 -0
  447. package/dist/commands/chunk-OKZWEVR4.js +352 -0
  448. package/dist/commands/chunk-OL6IF4JC.js +20 -0
  449. package/dist/commands/chunk-OMPRILFH.js +29 -0
  450. package/dist/commands/chunk-OOWGH2RG.js +85 -0
  451. package/dist/commands/chunk-OP2RFVLS.js +102 -0
  452. package/dist/commands/chunk-ORKVN2LO.js +56 -0
  453. package/dist/commands/chunk-OSBWXZJ4.js +492 -0
  454. package/dist/commands/chunk-OT3UMEWK.js +47 -0
  455. package/dist/commands/chunk-OVWPZDWP.js +64 -0
  456. package/dist/commands/chunk-OWYK2BEJ.js +1222 -0
  457. package/dist/commands/chunk-OX3VQLV2.js +488 -0
  458. package/dist/commands/chunk-OZJP77UM.js +103 -0
  459. package/dist/commands/chunk-OZZWRJQI.js +246 -0
  460. package/dist/commands/chunk-P3H3DKTE.js +69 -0
  461. package/dist/commands/chunk-P4D5RESF.js +88 -0
  462. package/dist/commands/chunk-P4KIQRSL.js +119 -0
  463. package/dist/commands/chunk-P5SOYWH2.js +37 -0
  464. package/dist/commands/chunk-P7FPXAHP.js +29 -0
  465. package/dist/commands/chunk-PBOS7MTW.js +6 -0
  466. package/dist/commands/chunk-PE7B7242.js +84 -0
  467. package/dist/commands/chunk-PFO7EYAP.js +45 -0
  468. package/dist/commands/chunk-PHLOTUB7.js +366 -0
  469. package/dist/commands/chunk-PTNQCCIB.js +41 -0
  470. package/dist/commands/chunk-PTZEFQUX.js +211 -0
  471. package/dist/commands/chunk-PYOK73QE.js +44 -0
  472. package/dist/commands/chunk-Q426ZSZ4.js +131 -0
  473. package/dist/commands/chunk-Q5Q2QYVU.js +112 -0
  474. package/dist/commands/chunk-Q6SKKQVJ.js +34 -0
  475. package/dist/commands/chunk-Q7EEIOAD.js +120 -0
  476. package/dist/commands/chunk-QABRNGQV.js +88 -0
  477. package/dist/commands/chunk-QAHFPCFR.js +50 -0
  478. package/dist/commands/chunk-QDFVVRQP.js +92 -0
  479. package/dist/commands/chunk-QF4WC2AE.js +10 -0
  480. package/dist/commands/chunk-QGAERR7D.js +99 -0
  481. package/dist/commands/chunk-QGATHT4S.js +114 -0
  482. package/dist/commands/chunk-QHWJJ6X5.js +53 -0
  483. package/dist/commands/chunk-QJRVDE7T.js +307 -0
  484. package/dist/commands/chunk-QKTTKAXM.js +119 -0
  485. package/dist/commands/chunk-QMDKDQKW.js +114 -0
  486. package/dist/commands/chunk-QOSC5RKD.js +18 -0
  487. package/dist/commands/chunk-QQ4CIYMF.js +132 -0
  488. package/dist/commands/chunk-QQBMVC5W.js +227 -0
  489. package/dist/commands/chunk-QV5FKMOU.js +80 -0
  490. package/dist/commands/chunk-QVOFWFWC.js +134 -0
  491. package/dist/commands/chunk-QWWTC3XR.js +109 -0
  492. package/dist/commands/chunk-QX2R6UJG.js +15 -0
  493. package/dist/commands/chunk-QXQ56E56.js +27 -0
  494. package/dist/commands/chunk-R2THGPI3.js +99 -0
  495. package/dist/commands/chunk-R54Z2Z3X.js +114 -0
  496. package/dist/commands/chunk-R6QE5VJG.js +46 -0
  497. package/dist/commands/chunk-R7IT5VOL.js +27 -0
  498. package/dist/commands/chunk-RBU2NKHF.js +44 -0
  499. package/dist/commands/chunk-RDRN56E4.js +92 -0
  500. package/dist/commands/chunk-RG53UFNW.js +418 -0
  501. package/dist/commands/chunk-RGDFWJPZ.js +135 -0
  502. package/dist/commands/chunk-RGGEQM6G.js +140 -0
  503. package/dist/commands/chunk-RH6ZWJOA.js +77 -0
  504. package/dist/commands/chunk-RHKCWJQX.js +62 -0
  505. package/dist/commands/chunk-RKIAX4DZ.js +191 -0
  506. package/dist/commands/chunk-RLBFEHHC.js +300 -0
  507. package/dist/commands/chunk-RMDLFLPE.js +58 -0
  508. package/dist/commands/chunk-RN2YDNLF.js +229 -0
  509. package/dist/commands/chunk-ROJXMBXP.js +85 -0
  510. package/dist/commands/chunk-RRAIRS2T.js +54 -0
  511. package/dist/commands/chunk-RS764ZMU.js +46 -0
  512. package/dist/commands/chunk-RSSJWMQS.js +30 -0
  513. package/dist/commands/chunk-RUIBQMOV.js +38 -0
  514. package/dist/commands/chunk-RUQY5TS3.js +83 -0
  515. package/dist/commands/chunk-RVUJ6F5L.js +181 -0
  516. package/dist/commands/chunk-RW64VHEB.js +130 -0
  517. package/dist/commands/chunk-RXAZJMSZ.js +18 -0
  518. package/dist/commands/chunk-RXYMJPJB.js +114 -0
  519. package/dist/commands/chunk-S4M6UWR2.js +103 -0
  520. package/dist/commands/chunk-S4X5PJV7.js +40 -0
  521. package/dist/commands/chunk-SADJPNDB.js +67 -0
  522. package/dist/commands/chunk-SASX3W2M.js +99 -0
  523. package/dist/commands/chunk-SBGTCT2C.js +89 -0
  524. package/dist/commands/chunk-SFNBUB6D.js +110 -0
  525. package/dist/commands/chunk-SJ2ZN575.js +90 -0
  526. package/dist/commands/chunk-SP7DKYGU.js +1263 -0
  527. package/dist/commands/chunk-SRG6PKVS.js +49 -0
  528. package/dist/commands/chunk-SSL6A3Y4.js +165 -0
  529. package/dist/commands/chunk-SV4FZR24.js +78 -0
  530. package/dist/commands/chunk-SVAKCXZ7.js +44 -0
  531. package/dist/commands/chunk-SVTS7ACS.js +18 -0
  532. package/dist/commands/chunk-SVV4U5AR.js +62 -0
  533. package/dist/commands/chunk-SXJM4DZ5.js +40 -0
  534. package/dist/commands/chunk-SXULS6DX.js +112 -0
  535. package/dist/commands/chunk-SYB3M632.js +62 -0
  536. package/dist/commands/chunk-SYOXIKB7.js +705 -0
  537. package/dist/commands/chunk-SZG5HDNP.js +321 -0
  538. package/dist/commands/chunk-T25S4QHL.js +52 -0
  539. package/dist/commands/chunk-T4F33UKZ.js +114 -0
  540. package/dist/commands/chunk-T4UYEHWG.js +50 -0
  541. package/dist/commands/chunk-TAEGXID2.js +58 -0
  542. package/dist/commands/chunk-TBIX5FRN.js +106 -0
  543. package/dist/commands/chunk-TBNQIFWL.js +101 -0
  544. package/dist/commands/chunk-TCBUX52E.js +701 -0
  545. package/dist/commands/chunk-TEPYEUYG.js +585 -0
  546. package/dist/commands/chunk-TFLHYC2F.js +141 -0
  547. package/dist/commands/chunk-TJKM56WJ.js +109 -0
  548. package/dist/commands/chunk-TLAB552K.js +445 -0
  549. package/dist/commands/chunk-TP6L4W3W.js +82 -0
  550. package/dist/commands/chunk-TR7WWYD5.js +60 -0
  551. package/dist/commands/chunk-TUIFS5E7.js +72 -0
  552. package/dist/commands/chunk-TVZXG4Y4.js +197 -0
  553. package/dist/commands/chunk-TYNH2R66.js +1150 -0
  554. package/dist/commands/chunk-U3IVVR4W.js +33 -0
  555. package/dist/commands/chunk-U5HQQWRE.js +20 -0
  556. package/dist/commands/chunk-U5P6G3UV.js +77 -0
  557. package/dist/commands/chunk-U7XU5RG3.js +86 -0
  558. package/dist/commands/chunk-U7Y6RKLK.js +168 -0
  559. package/dist/commands/chunk-UCI4AL3Q.js +35 -0
  560. package/dist/commands/chunk-UCUSCLEK.js +90 -0
  561. package/dist/commands/chunk-UGCUSRZF.js +17 -0
  562. package/dist/commands/chunk-UIMMWH7U.js +98 -0
  563. package/dist/commands/chunk-UKBBWMLE.js +1189 -0
  564. package/dist/commands/chunk-ULVVGGTY.js +64 -0
  565. package/dist/commands/chunk-UNMSZGSG.js +269 -0
  566. package/dist/commands/chunk-UOVUUVDK.js +18 -0
  567. package/dist/commands/chunk-URDT2O2K.js +36 -0
  568. package/dist/commands/chunk-UREXZJDB.js +210 -0
  569. package/dist/commands/chunk-UTHUX7VU.js +88 -0
  570. package/dist/commands/chunk-UWLLZQJB.js +110 -0
  571. package/dist/commands/chunk-V4Z7G4UH.js +73 -0
  572. package/dist/commands/chunk-V5FD7DVV.js +48 -0
  573. package/dist/commands/chunk-V5OUZFWK.js +128 -0
  574. package/dist/commands/chunk-VCPGFBMN.js +655 -0
  575. package/dist/commands/chunk-VCR77BHO.js +8 -0
  576. package/dist/commands/chunk-VDGNXSP3.js +174 -0
  577. package/dist/commands/chunk-VGPIQNDB.js +24 -0
  578. package/dist/commands/chunk-VHRNXWVP.js +28 -0
  579. package/dist/commands/chunk-VJE3RJAX.js +23 -0
  580. package/dist/commands/chunk-VJS2MCLA.js +412 -0
  581. package/dist/commands/chunk-VK6D5CWA.js +161 -0
  582. package/dist/commands/chunk-VOF3N4WO.js +114 -0
  583. package/dist/commands/chunk-VQRT32JB.js +52 -0
  584. package/dist/commands/chunk-VQVPAVQ3.js +45 -0
  585. package/dist/commands/chunk-VV4TQYGD.js +38 -0
  586. package/dist/commands/chunk-W2IA2LV3.js +15 -0
  587. package/dist/commands/chunk-W3FX7FYN.js +84 -0
  588. package/dist/commands/chunk-W6MVQEMO.js +109 -0
  589. package/dist/commands/chunk-W7DRUOF7.js +122 -0
  590. package/dist/commands/chunk-WAEN2RTT.js +161 -0
  591. package/dist/commands/chunk-WB4T3VY2.js +104 -0
  592. package/dist/commands/chunk-WCEUMOKK.js +84 -0
  593. package/dist/commands/chunk-WJ4NEDNI.js +288 -0
  594. package/dist/commands/chunk-WL5JHB3I.js +12 -0
  595. package/dist/commands/chunk-WMMGXJXP.js +92 -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-WTH6NTXU.js +128 -0
  600. package/dist/commands/chunk-WVR4RUFP.js +327 -0
  601. package/dist/commands/chunk-WWVYEHQT.js +272 -0
  602. package/dist/commands/chunk-X3TNPALI.js +213 -0
  603. package/dist/commands/chunk-X5XYKDOD.js +7 -0
  604. package/dist/commands/chunk-XC6GG5JR.js +78 -0
  605. package/dist/commands/chunk-XDF25GSU.js +536 -0
  606. package/dist/commands/chunk-XFPEUYDV.js +67 -0
  607. package/dist/commands/chunk-XFWI6WHH.js +60 -0
  608. package/dist/commands/chunk-XGMRAKSL.js +85 -0
  609. package/dist/commands/chunk-XHGWMD3L.js +104 -0
  610. package/dist/commands/chunk-XI2ABCRX.js +209 -0
  611. package/dist/commands/chunk-XKSUBUIH.js +116 -0
  612. package/dist/commands/chunk-XPBF5DG3.js +419 -0
  613. package/dist/commands/chunk-XSKB6ZUA.js +123 -0
  614. package/dist/commands/chunk-XUMYPESL.js +160 -0
  615. package/dist/commands/chunk-XXC32PVL.js +541 -0
  616. package/dist/commands/chunk-XXN2EZBY.js +133 -0
  617. package/dist/commands/chunk-XXNEY4B3.js +110 -0
  618. package/dist/commands/chunk-XZQWEVR3.js +84 -0
  619. package/dist/commands/chunk-Y27PTXXI.js +258 -0
  620. package/dist/commands/chunk-Y2RNUX4W.js +8 -0
  621. package/dist/commands/chunk-Y4EBUI6M.js +237 -0
  622. package/dist/commands/chunk-YAU3LYNF.js +60 -0
  623. package/dist/commands/chunk-YDURQICF.js +204 -0
  624. package/dist/commands/chunk-YGFOGA7C.js +1153 -0
  625. package/dist/commands/chunk-YHJ2AJMA.js +66 -0
  626. package/dist/commands/chunk-YIA6FC3K.js +78 -0
  627. package/dist/commands/chunk-YM77CF4D.js +183 -0
  628. package/dist/commands/chunk-YNPRJCEO.js +81 -0
  629. package/dist/commands/chunk-YTBQAD5W.js +170 -0
  630. package/dist/commands/chunk-YVH2OLDS.js +104 -0
  631. package/dist/commands/chunk-Z3WGHIVB.js +122 -0
  632. package/dist/commands/chunk-ZAAHZY2A.js +19 -0
  633. package/dist/commands/chunk-ZBFNQUY7.js +12 -0
  634. package/dist/commands/chunk-ZBZ5DDCH.js +1866 -0
  635. package/dist/commands/chunk-ZECFKW7D.js +60 -0
  636. package/dist/commands/chunk-ZLRUHSOP.js +48 -0
  637. package/dist/commands/chunk-ZNR75OXP.js +444 -0
  638. package/dist/commands/chunk-ZNX2LJCQ.js +29 -0
  639. package/dist/commands/chunk-ZSOR4ISJ.js +75 -0
  640. package/dist/commands/chunk-ZVAIIHBE.js +63 -0
  641. package/dist/commands/chunk-ZYFHYQA7.js +51 -0
  642. package/dist/commands/chunk-ZYGOZT4J.js +39 -0
  643. package/dist/commands/chunk-ZZFFSQF4.js +218 -0
  644. package/dist/commands/chunk-ZZULXNC2.js +47 -0
  645. package/dist/commands/chunk-ZZXO6TFH.js +232 -0
  646. package/dist/commands/ci-timing-cli.js +76 -0
  647. package/dist/commands/clone-scan-cli.js +189 -0
  648. package/dist/commands/code-symbol-cli.js +185 -0
  649. package/dist/commands/codex-hook-adapter.js +356 -0
  650. package/dist/commands/command-derive.js +802 -0
  651. package/dist/commands/cost-audit-main.js +209 -0
  652. package/dist/commands/cost-main.js +28 -0
  653. package/dist/commands/cspell-cached.js +159 -0
  654. package/dist/commands/defect-origin-main.js +222 -0
  655. package/dist/commands/defect-report-main.js +289 -0
  656. package/dist/commands/delegation-cli.js +65 -0
  657. package/dist/commands/diff-summary-cli.js +147 -0
  658. package/dist/commands/disposition-cli.js +411 -0
  659. package/dist/commands/doctor.js +267 -0
  660. package/dist/commands/document-read-cli.js +119 -844
  661. package/dist/commands/document-section-main.js +106 -835
  662. package/dist/commands/dogfood-commit-cli.js +102 -0
  663. package/dist/commands/e2e-retry-check.js +79 -0
  664. package/dist/commands/edit-files-cli.js +147 -0
  665. package/dist/commands/effect-audit-cli.js +320 -0
  666. package/dist/commands/epic-audit-main.js +160 -0
  667. package/dist/commands/epic-bundle-main.js +201 -0
  668. package/dist/commands/epic-check.js +91 -0
  669. package/dist/commands/epic-main.js +224 -0
  670. package/dist/commands/epic-next-main.js +159 -0
  671. package/dist/commands/eval-run.js +838 -0
  672. package/dist/commands/fanout-cli.js +86 -0
  673. package/dist/commands/format-edited-cli.js +118 -0
  674. package/dist/commands/format.js +140 -0
  675. package/dist/commands/fresh-machine-cli.js +691 -0
  676. package/dist/commands/gh-usage-cli.js +224 -0
  677. package/dist/commands/git-followup-workflow.js +2027 -0
  678. package/dist/commands/git-gh-checks-failed-main.js +156 -0
  679. package/dist/commands/git-workflow.js +603 -0
  680. package/dist/commands/github-release-cli.js +276 -0
  681. package/dist/commands/hook-ledger-cli.js +364 -0
  682. package/dist/commands/init-main.js +99 -0
  683. package/dist/commands/inputs.json +2795 -0
  684. package/dist/commands/issue-ack-cli.js +106 -0
  685. package/dist/commands/issue-already-done-cli.js +310 -0
  686. package/dist/commands/issue-body-cli.js +186 -0
  687. package/dist/commands/issue-cite-main.js +163 -0
  688. package/dist/commands/issue-comment-main.js +76 -0
  689. package/dist/commands/issue-consolidate-cli.js +330 -0
  690. package/dist/commands/issue-file-main.js +423 -0
  691. package/dist/commands/issue-fold-existing-cli.js +508 -0
  692. package/dist/commands/issue-fold-main.js +114 -0
  693. package/dist/commands/issue-lint-main.js +127 -0
  694. package/dist/commands/issue-measured-cli.js +210 -0
  695. package/dist/commands/issue-plan-cli.js +354 -0
  696. package/dist/commands/issue-premise-unmet-cli.js +273 -0
  697. package/dist/commands/issue-priority-cli.js +185 -0
  698. package/dist/commands/issue-read-main.js +80 -0
  699. package/dist/commands/issue-release-class-cli.js +120 -0
  700. package/dist/commands/issue-release-main.js +72 -0
  701. package/dist/commands/issue-scout-main.js +205 -0
  702. package/dist/commands/issue-spill-main.js +568 -0
  703. package/dist/commands/issue-state-main.js +77 -0
  704. package/dist/commands/issue-tick-cli.js +113 -0
  705. package/dist/commands/josh-completion.js +153 -0
  706. package/dist/commands/lane-adopt-cli.js +275 -0
  707. package/dist/commands/lane-breakdown-cli.js +731 -0
  708. package/dist/commands/lane-cli.js +869 -0
  709. package/dist/commands/lane-launch-main.js +103 -0
  710. package/dist/commands/lane-limit-cli.js +288 -0
  711. package/dist/commands/lane-measure-cli.js +1913 -0
  712. package/dist/commands/lane-pause-cli.js +255 -0
  713. package/dist/commands/lane-plan-cli.js +329 -0
  714. package/dist/commands/lane-resolve-cli.js +301 -0
  715. package/dist/commands/lane-restart-cli.js +393 -0
  716. package/dist/commands/lane-why-cli.js +310 -0
  717. package/dist/commands/lane-withdraw-cli.js +192 -0
  718. package/dist/commands/latest-corepack.js +278 -0
  719. package/dist/commands/latest-if-required-cli.js +124 -0
  720. package/dist/commands/latest-lane-guard-main.js +16 -0
  721. package/dist/commands/latest-scope-main.js +38 -0
  722. package/dist/commands/latest-update.js +449 -0
  723. package/dist/commands/lines-command.js +121 -0
  724. package/dist/commands/lint-parallel-main.js +135 -0
  725. package/dist/commands/lint-related.js +584 -0
  726. package/dist/commands/lint-rule.js +306 -0
  727. package/dist/commands/lockfile-policy.js +107 -0
  728. package/dist/commands/main-merge-main.js +61 -0
  729. package/dist/commands/main-sync-main.js +60 -0
  730. package/dist/commands/managed-config-scope-cli.js +66 -0
  731. package/dist/commands/measure-rerun-cli.js +124 -0
  732. package/dist/commands/metrics-command.js +892 -0
  733. package/dist/commands/observation-depth-cli.js +109 -0
  734. package/dist/commands/observation-record-cli.js +87 -0
  735. package/dist/commands/observations-flush-cli.js +117 -0
  736. package/dist/commands/oracle-list-cli.js +73 -0
  737. package/dist/commands/overrides-check.js +112 -0
  738. package/dist/commands/package-scout-cli.js +537 -0
  739. package/dist/commands/pin-verify-cli.js +88 -0
  740. package/dist/commands/plan-consumers-main.js +49 -0
  741. package/dist/commands/plan-scaffold-cli.js +408 -0
  742. package/dist/commands/port-command.js +64 -0
  743. package/dist/commands/pr-classification-main.js +37 -0
  744. package/dist/commands/pre-commit-lint.js +162 -0
  745. package/dist/commands/pre-commit-type-check.js +211 -0
  746. package/dist/commands/pre-push-unit.js +271 -0
  747. package/dist/commands/pretool-guard-cli.js +204 -0
  748. package/dist/commands/prevent-main-commit.js +42 -0
  749. package/dist/commands/project-profile-cli.js +59 -0
  750. package/dist/commands/propagate.js +368 -0
  751. package/dist/commands/prose-stale-cli.js +129 -0
  752. package/dist/commands/publish-tag-cli.js +30 -0
  753. package/dist/commands/publishable-range-check.js +191 -0
  754. package/dist/commands/read-files-cli.js +81 -0
  755. package/dist/commands/read-set-cli.js +158 -1745
  756. package/dist/commands/reconcile-templates.js +135 -0
  757. package/dist/commands/refactor-scan-cli.js +175 -0
  758. package/dist/commands/release-cli.js +752 -0
  759. package/dist/commands/release-scope-main.js +82 -0
  760. package/dist/commands/rename-cli.js +430 -0
  761. package/dist/commands/repo-party-cli.js +58 -0
  762. package/dist/commands/report-lint-cli.js +124 -0
  763. package/dist/commands/report-template-cli.js +69 -0
  764. package/dist/commands/reserved-run.js +127 -0
  765. package/dist/commands/retrospective-cli.js +557 -0
  766. package/dist/commands/review-attest-cli.js +118 -0
  767. package/dist/commands/review-brief-main.js +265 -0
  768. package/dist/commands/review-findings-cli.js +114 -0
  769. package/dist/commands/review-pair-cli.js +392 -0
  770. package/dist/commands/review-record-main.js +247 -0
  771. package/dist/commands/review-round2-cli.js +350 -0
  772. package/dist/commands/review-stops-cli.js +149 -0
  773. package/dist/commands/review-submit-cli.js +628 -0
  774. package/dist/commands/rule-list.js +182 -0
  775. package/dist/commands/rule-value-cli.js +1060 -0
  776. package/dist/commands/ruleset-check-cli.js +67 -0
  777. package/dist/commands/run-add-cli.js +274 -0
  778. package/dist/commands/run-board-main.js +276 -0
  779. package/dist/commands/run-carry-cli.js +644 -0
  780. package/dist/commands/run-chain-cli.js +560 -0
  781. package/dist/commands/run-cut-cli.js +714 -0
  782. package/dist/commands/run-ending-cli.js +166 -0
  783. package/dist/commands/run-entry-cli.js +1063 -0
  784. package/dist/commands/run-event-cli.js +298 -0
  785. package/dist/commands/run-handoff-cli.js +368 -0
  786. package/dist/commands/run-handoff-lanes-cli.js +233 -0
  787. package/dist/commands/run-hold-main.js +205 -0
  788. package/dist/commands/run-liveness-cli.js +190 -0
  789. package/dist/commands/run-merge-main.js +249 -0
  790. package/dist/commands/run-next-cli.js +241 -0
  791. package/dist/commands/run-park-cli.js +412 -0
  792. package/dist/commands/run-pause-cli.js +348 -0
  793. package/dist/commands/run-pickup-cli.js +196 -0
  794. package/dist/commands/run-prep-main.js +210 -21168
  795. package/dist/commands/run-prime-cli.js +301 -0
  796. package/dist/commands/run-progress-main.js +671 -0
  797. package/dist/commands/run-report-cli.js +377 -0
  798. package/dist/commands/run-review-cli.js +796 -0
  799. package/dist/commands/run-ship-cli.js +2620 -0
  800. package/dist/commands/run-ship-evidence-cli.js +289 -0
  801. package/dist/commands/run-ship-lap-W5T2VHFC.js +30 -0
  802. package/dist/commands/run-ship-wait-main.js +148 -0
  803. package/dist/commands/run-split-cli.js +527 -0
  804. package/dist/commands/run-stale-main.js +255 -0
  805. package/dist/commands/run-status-cli.js +217 -0
  806. package/dist/commands/run-step-cli.js +428 -27653
  807. package/dist/commands/run-tail-cli.js +119 -0
  808. package/dist/commands/run-tidy-main.js +403 -0
  809. package/dist/commands/run-wake-main.js +290 -0
  810. package/dist/commands/run-watcher-guard-cli.js +129 -0
  811. package/dist/commands/secretlint-scan.js +84 -0
  812. package/dist/commands/security-audit-main.js +151 -0
  813. package/dist/commands/security-audit-provision-main.js +52 -0
  814. package/dist/commands/selfcheck-cli.js +410 -0
  815. package/dist/commands/session-language-main.js +140 -0
  816. package/dist/commands/sonar-hotspots-cli.js +133 -0
  817. package/dist/commands/sonar-new-code-cli.js +143 -0
  818. package/dist/commands/split-assess-cli.js +139 -0
  819. package/dist/commands/split-child-recover-cli.js +169 -0
  820. package/dist/commands/start.js +709 -0
  821. package/dist/commands/stash-pop-main.js +26 -0
  822. package/dist/commands/stash-push-main.js +30 -0
  823. package/dist/commands/stop-guard.js +568 -0
  824. package/dist/commands/sync-main.js +58 -0
  825. package/dist/commands/telegram-test-main.js +64 -0
  826. package/dist/commands/test-declared.js +256 -0
  827. package/dist/commands/test-e2e-guard.js +201 -0
  828. package/dist/commands/test-pinned-main.js +190 -0
  829. package/dist/commands/test-reach-cli.js +112 -0
  830. package/dist/commands/test-red-main.js +46 -0
  831. package/dist/commands/test-related-ZCNC46MS.js +113 -0
  832. package/dist/commands/test-related-main.js +224 -0
  833. package/dist/commands/test-unit-guard-main.js +88 -0
  834. package/dist/commands/time-cli.js +353 -0
  835. package/dist/commands/time-density-cli.js +182 -0
  836. package/dist/commands/tree-status-cli.js +172 -0
  837. package/dist/commands/type-check-command.js +75 -0
  838. package/dist/commands/ui-routes-cli.js +135 -0
  839. package/dist/commands/ui-shot-cli.js +131 -0
  840. package/dist/commands/uninstall.js +425 -0
  841. package/dist/commands/unused-members-STULPRBU.js +331 -0
  842. package/dist/commands/unused-members-cli.js +55 -0
  843. package/dist/commands/upstream-interrupt-main.js +453 -0
  844. package/dist/commands/usage-tee-cli.js +60 -0
  845. package/dist/commands/verification-gate.js +808 -0
  846. package/dist/commands/version-check.js +497 -0
  847. package/dist/hooks/audit-provision.js +20 -9
  848. package/dist/hooks/chunk-5CUXGQT6.js +8353 -0
  849. package/dist/hooks/{chunk-UJ3FPMMM.js → chunk-5R5YFQR5.js} +445 -142
  850. package/dist/hooks/chunk-6RLY27FT.js +232 -0
  851. package/dist/hooks/chunk-6YGMIODI.js +86 -0
  852. package/dist/hooks/chunk-AO4TOV4V.js +5026 -0
  853. package/dist/hooks/chunk-CY3ADSDR.js +28580 -0
  854. package/dist/hooks/chunk-FOW4B7OQ.js +1795 -0
  855. package/dist/hooks/chunk-G5WSPYJ6.js +5663 -0
  856. package/dist/hooks/{chunk-CQD4LJE6.js → chunk-HHIVWGHX.js} +3290 -1279
  857. package/dist/hooks/chunk-IURJANNZ.js +1082 -0
  858. package/dist/hooks/chunk-LRD2ERRI.js +299 -0
  859. package/dist/hooks/chunk-OV22V63P.js +10980 -0
  860. package/dist/hooks/chunk-SAAPRHTK.js +43 -0
  861. package/dist/hooks/chunk-SXABK6UV.js +321 -0
  862. package/dist/hooks/chunk-U3ON2GBN.js +12 -0
  863. package/dist/hooks/chunk-YEURBB4L.js +32 -0
  864. package/dist/hooks/codex-hook-adapter.js +61 -25
  865. package/dist/hooks/daemon.js +67667 -0
  866. package/dist/hooks/format-edited.js +15 -5
  867. package/dist/hooks/inputs.json +601 -403
  868. package/dist/hooks/pretool-guard.js +11 -7
  869. package/dist/hooks/ready.js +300 -0
  870. package/dist/hooks/run-ship-lap-VCEOUHQI.js +8 -0
  871. package/dist/hooks/session-lang.js +515 -133
  872. package/dist/hooks/stop-guard.js +9370 -4513
  873. package/dist/inputs.json +169 -0
  874. package/dist/josh.js +9753 -6793
  875. package/dist/self-sync-guard/index.js +85 -14
  876. package/dist/version/index.js +659 -85
  877. package/eslint/base.js +36 -11
  878. package/eslint/config-fingerprint.js +164 -21
  879. package/eslint/rules/code-quality.js +6 -0
  880. package/eslint/rules/comment-why-only.js +40 -16
  881. package/eslint/rules/english-only-prose.js +10 -3
  882. package/eslint/rules/import.js +3 -17
  883. package/eslint/rules/test-helper-bans.js +34 -0
  884. package/eslint/untyped-environment.js +21 -0
  885. package/eslint/untyped.js +60 -0
  886. package/lefthook/base.yml +4 -5
  887. package/package.json +17 -15
  888. package/pnpm-workspace.yaml +7 -0
  889. package/ports/index.js +8 -15
  890. package/prompts/coding-standards.md +4 -43
  891. package/prompts/collaboration-workflow/file-edits.md +10 -10
  892. package/prompts/collaboration-workflow/gh-rest.md +14 -7
  893. package/prompts/collaboration-workflow/issue-template.en.md +129 -0
  894. package/prompts/collaboration-workflow/issue-template.md +49 -56
  895. package/prompts/collaboration-workflow/lane-instructions.md +1 -0
  896. package/prompts/collaboration-workflow/measurement.md +13 -17
  897. package/prompts/collaboration-workflow/operating-rules.md +10 -7
  898. package/prompts/collaboration-workflow/output-bounds.md +3 -3
  899. package/prompts/collaboration-workflow/overview.md +8 -17
  900. package/prompts/collaboration-workflow/plan-comment.md +1 -1
  901. package/prompts/collaboration-workflow/principles.md +17 -19
  902. package/prompts/collaboration-workflow/report-format.md +6 -5
  903. package/prompts/collaboration-workflow/residency.md +1 -0
  904. package/prompts/collaboration-workflow/rule-delivery.md +4 -12
  905. package/prompts/collaboration-workflow/shell-body.md +7 -7
  906. package/prompts/collaboration-workflow/turn-batching.md +2 -2
  907. package/prompts/collaboration-workflow/upstream-interrupt.md +8 -8
  908. package/prompts/collaboration-workflow/wip-cap.md +3 -3
  909. package/prompts/refactoring.md +4 -3
  910. package/prompts/review-rubric.md +8 -21
  911. package/prompts/review.md +52 -80
  912. package/prompts/sonar-hotspot-handling.md +1 -1
  913. package/prompts/testing-guide.md +15 -2
  914. package/scripts/agent/agent-argv.ts +30 -9
  915. package/scripts/agent/agent-consultation-model.ts +47 -0
  916. package/scripts/agent/agent-event.ts +11 -2
  917. package/scripts/agent/agent-launch-environment.ts +6 -57
  918. package/scripts/agent/agent-model-alias.ts +19 -0
  919. package/scripts/agent/agent-phase-profile.ts +89 -0
  920. package/scripts/agent/agent-profile-schema.ts +98 -0
  921. package/scripts/agent/agent-role-profile.ts +88 -133
  922. package/scripts/agent/agent-safe-text.ts +2 -2
  923. package/scripts/agent/agent-session-role.ts +25 -3
  924. package/scripts/agent/agent-ship-cap.ts +44 -0
  925. package/scripts/agent/agent-worker-profile.ts +154 -0
  926. package/scripts/agent/answer-judge.ts +174 -0
  927. package/scripts/agent/answer-verdict.ts +122 -0
  928. package/scripts/agent/claude-agent-argv.ts +13 -7
  929. package/scripts/agent/codex-agent-argv.ts +17 -143
  930. package/scripts/agent/codex-home-source.ts +1 -1
  931. package/scripts/agent/codex-hooks.ts +29 -6
  932. package/scripts/agent/judgment-agent-argv.ts +49 -0
  933. package/scripts/agent/lane-instructions.ts +33 -4
  934. package/scripts/auto-ok/auto-ok-author.ts +14 -3
  935. package/scripts/auto-ok/auto-ok-cli.ts +20 -12
  936. package/scripts/auto-ok/auto-ok-judge-cli.ts +10 -14
  937. package/scripts/auto-ok/auto-ok-judge-read.ts +3 -3
  938. package/scripts/auto-ok/auto-ok-judge-write.ts +20 -17
  939. package/scripts/auto-ok/auto-ok-judge.ts +4 -2
  940. package/scripts/backlog/backlog-arrival-added.ts +47 -11
  941. package/scripts/backlog/backlog-arrival.ts +90 -23
  942. package/scripts/backlog/backlog-auto-triage.ts +130 -0
  943. package/scripts/backlog/backlog-budget-cli.ts +2 -1
  944. package/scripts/backlog/backlog-budget.ts +31 -5
  945. package/scripts/backlog/backlog-defect-priority.ts +32 -19
  946. package/scripts/backlog/backlog-drain-flush.ts +22 -0
  947. package/scripts/backlog/backlog-drive-adopt.ts +2 -2
  948. package/scripts/backlog/backlog-drive-after-merge.ts +123 -0
  949. package/scripts/backlog/backlog-drive-args.ts +60 -7
  950. package/scripts/backlog/backlog-drive-cli.ts +69 -64
  951. package/scripts/backlog/backlog-drive-collect.ts +46 -0
  952. package/scripts/backlog/backlog-drive-epic.ts +1 -1
  953. package/scripts/backlog/backlog-drive-escalate.ts +115 -0
  954. package/scripts/backlog/backlog-drive-hold.ts +32 -8
  955. package/scripts/backlog/backlog-drive-idle.ts +21 -10
  956. package/scripts/backlog/backlog-drive-launch-pass.ts +79 -23
  957. package/scripts/backlog/backlog-drive-launch.ts +73 -7
  958. package/scripts/backlog/backlog-drive-listing.ts +59 -0
  959. package/scripts/backlog/backlog-drive-memory.ts +4 -5
  960. package/scripts/backlog/backlog-drive-named-offer.ts +112 -22
  961. package/scripts/backlog/backlog-drive-named.ts +11 -4
  962. package/scripts/backlog/backlog-drive-offer-argv.ts +10 -2
  963. package/scripts/backlog/backlog-drive-park-triage.ts +57 -0
  964. package/scripts/backlog/backlog-drive-paused.ts +2 -1
  965. package/scripts/backlog/backlog-drive-rate-limit.ts +29 -0
  966. package/scripts/backlog/backlog-drive-rate.ts +73 -0
  967. package/scripts/backlog/backlog-drive-record.ts +58 -0
  968. package/scripts/backlog/backlog-drive-restore.ts +38 -8
  969. package/scripts/backlog/backlog-drive-retrospective-unit.ts +80 -0
  970. package/scripts/backlog/backlog-drive-retrospective.ts +35 -1
  971. package/scripts/backlog/backlog-drive-retry.ts +85 -0
  972. package/scripts/backlog/backlog-drive-seats.ts +4 -7
  973. package/scripts/backlog/backlog-drive-split-unit.ts +108 -0
  974. package/scripts/backlog/backlog-drive-stalled-retry.ts +232 -0
  975. package/scripts/backlog/backlog-drive-state.ts +28 -0
  976. package/scripts/backlog/backlog-drive-tick.ts +77 -0
  977. package/scripts/backlog/backlog-drive-token-handling.ts +2 -2
  978. package/scripts/backlog/backlog-drive-trace.ts +45 -0
  979. package/scripts/backlog/backlog-drive-unit.ts +54 -0
  980. package/scripts/backlog/backlog-drive-unread.ts +1 -1
  981. package/scripts/backlog/backlog-drive.ts +142 -99
  982. package/scripts/backlog/backlog-gate-scope.ts +15 -3
  983. package/scripts/backlog/backlog-hold-codes.ts +23 -0
  984. package/scripts/backlog/backlog-hold-text.ts +107 -0
  985. package/scripts/backlog/backlog-measure-close.ts +61 -31
  986. package/scripts/backlog/backlog-named.ts +1 -1
  987. package/scripts/backlog/backlog-next-offer.ts +138 -0
  988. package/scripts/backlog/backlog-next-report.ts +221 -0
  989. package/scripts/backlog/backlog-next-shared.ts +22 -4
  990. package/scripts/backlog/backlog-next-size.ts +108 -0
  991. package/scripts/backlog/backlog-next.ts +52 -187
  992. package/scripts/backlog/backlog-occupied.ts +7 -7
  993. package/scripts/backlog/backlog-offer-cli.ts +13 -2
  994. package/scripts/backlog/backlog-offer-timing.ts +141 -0
  995. package/scripts/backlog/backlog-offer.ts +26 -6
  996. package/scripts/backlog/backlog-overlap.ts +7 -1
  997. package/scripts/backlog/backlog-plan-cli.ts +27 -3
  998. package/scripts/backlog/backlog-plan-comment.ts +36 -14
  999. package/scripts/backlog/backlog-plan-words.ts +69 -0
  1000. package/scripts/backlog/backlog-plan.ts +63 -46
  1001. package/scripts/backlog/backlog-pool.ts +42 -13
  1002. package/scripts/backlog/backlog-preflight.ts +67 -0
  1003. package/scripts/backlog/backlog-ready.ts +7 -69
  1004. package/scripts/backlog/backlog-resumable.ts +65 -0
  1005. package/scripts/backlog/backlog-resume-reads.ts +119 -0
  1006. package/scripts/backlog/backlog-stalled-detect.ts +4 -3
  1007. package/scripts/backlog/backlog-stalled.ts +3 -2
  1008. package/scripts/backlog/backlog-triage-adopt.ts +239 -0
  1009. package/scripts/backlog/backlog-triage-approval.ts +94 -0
  1010. package/scripts/backlog/backlog-triage-cli.ts +270 -0
  1011. package/scripts/backlog/backlog-triage-decision.ts +49 -0
  1012. package/scripts/backlog/backlog-triage-park.ts +53 -0
  1013. package/scripts/backlog/backlog-triage-pass.ts +113 -0
  1014. package/scripts/backlog/backlog-triage-unblock.ts +68 -0
  1015. package/scripts/backlog/backlog-wait-cause.ts +76 -16
  1016. package/scripts/backlog/backlog-yield-cap.ts +108 -0
  1017. package/scripts/backlog/backlogrun-args.ts +45 -16
  1018. package/scripts/backlog/backlogrun-cli.ts +82 -18
  1019. package/scripts/backlog/backlogrun-launch.ts +12 -4
  1020. package/scripts/backlog/backlogrun-replace.ts +44 -4
  1021. package/scripts/build/build-bin.ts +25 -2
  1022. package/scripts/build/build-codex-hooks.ts +2 -2
  1023. package/scripts/build/build-commands.ts +27 -19
  1024. package/scripts/build/build-hooks.ts +117 -22
  1025. package/scripts/build/hook-bundle-stamp.ts +15 -5
  1026. package/scripts/build/local-bin.ts +27 -1
  1027. package/scripts/build/source-location.ts +82 -0
  1028. package/scripts/ci/ci-timing-cli.ts +73 -0
  1029. package/scripts/ci/ci-timing-table.ts +84 -0
  1030. package/scripts/ci/ci-timing.ts +104 -0
  1031. package/scripts/ci/composite-actions.ts +1 -1
  1032. package/scripts/ci/pr-classification.ts +89 -11
  1033. package/scripts/code/code-symbol-cli.ts +121 -0
  1034. package/scripts/code/code-symbol.ts +127 -0
  1035. package/scripts/config-merge/patch-json-key.ts +4 -7
  1036. package/scripts/cost-runtime/cost-blocks.ts +3 -4
  1037. package/scripts/cost-runtime/cost-cli.ts +4 -7
  1038. package/scripts/cost-runtime/cost-pricing.ts +2 -2
  1039. package/scripts/cost-runtime/cost-tokens.ts +7 -6
  1040. package/scripts/delegation/delegation-policy.ts +2 -2
  1041. package/scripts/delegation/duplicate-read-guard.ts +41 -28
  1042. package/scripts/delegation/investigation-guard.ts +13 -5
  1043. package/scripts/delegation/investigation-reads.ts +52 -34
  1044. package/scripts/delegation/large-read-guard.ts +150 -0
  1045. package/scripts/discovery/git-directory.ts +61 -0
  1046. package/scripts/discovery/pin-verify-cli.ts +115 -0
  1047. package/scripts/discovery/repo-discovery.ts +10 -58
  1048. package/scripts/discovery/repo-party.ts +1 -0
  1049. package/scripts/document/backlogrun-parent-read-set.ts +37 -6
  1050. package/scripts/document/capped-print.ts +3 -3
  1051. package/scripts/document/command-reference-line-budget.ts +4 -1
  1052. package/scripts/document/document-byte-budget.ts +34 -16
  1053. package/scripts/document/document-byte-check.ts +1 -1
  1054. package/scripts/document/document-reachability.ts +4 -3
  1055. package/scripts/document/document-scan.ts +37 -6
  1056. package/scripts/document/document-section-cli.ts +13 -1
  1057. package/scripts/document/edit-files-cli.ts +3 -7
  1058. package/scripts/document/entry-read-budget.ts +12 -4
  1059. package/scripts/document/entry-read-set.ts +9 -2
  1060. package/scripts/document/issue-citation-budget.ts +3 -3
  1061. package/scripts/document/lane-child-read-set.ts +21 -29
  1062. package/scripts/document/read-set-cli.ts +17 -10
  1063. package/scripts/document/read-set-point-of-use.ts +13 -9
  1064. package/scripts/document/read-set-trim.ts +42 -2
  1065. package/scripts/epic/epic-audit-checks.ts +1 -1
  1066. package/scripts/epic/epic-audit-cli.ts +19 -21
  1067. package/scripts/epic/epic-audit-main.ts +17 -0
  1068. package/scripts/epic/epic-audit-orphans.ts +1 -1
  1069. package/scripts/epic/epic-audit.ts +6 -3
  1070. package/scripts/epic/epic-blocked-by.ts +198 -0
  1071. package/scripts/epic/epic-body.ts +6 -6
  1072. package/scripts/epic/epic-bundle-apply.ts +41 -10
  1073. package/scripts/epic/epic-bundle-cli.ts +40 -99
  1074. package/scripts/epic/epic-bundle-evidence.ts +2 -2
  1075. package/scripts/epic/epic-bundle-format.ts +21 -7
  1076. package/scripts/epic/epic-bundle-recommend.ts +56 -0
  1077. package/scripts/epic/epic-bundle-referenced.ts +42 -17
  1078. package/scripts/epic/epic-bundle.ts +31 -4
  1079. package/scripts/epic/epic-busy.ts +11 -9
  1080. package/scripts/epic/epic-chains.ts +59 -23
  1081. package/scripts/epic/epic-child-source.ts +111 -0
  1082. package/scripts/epic/epic-cli-untrack.ts +38 -0
  1083. package/scripts/epic/epic-cli.ts +26 -7
  1084. package/scripts/epic/epic-close-comment.ts +4 -2
  1085. package/scripts/epic/epic-close.ts +25 -11
  1086. package/scripts/epic/epic-decide.ts +39 -3
  1087. package/scripts/epic/epic-fetch.ts +116 -24
  1088. package/scripts/epic/epic-graph.ts +1 -0
  1089. package/scripts/epic/epic-label-age.ts +55 -13
  1090. package/scripts/epic/epic-lane-occupancy.ts +75 -0
  1091. package/scripts/epic/epic-lane-offer.ts +49 -13
  1092. package/scripts/epic/epic-main.ts +23 -0
  1093. package/scripts/epic/epic-next-main.ts +2 -4
  1094. package/scripts/epic/epic-next-read.ts +12 -3
  1095. package/scripts/epic/epic-next-views.ts +1 -1
  1096. package/scripts/epic/epic-notify.ts +72 -0
  1097. package/scripts/epic/epic-parse.ts +1 -1
  1098. package/scripts/epic/epic-rank.ts +6 -2
  1099. package/scripts/epic/epic-reference.ts +1 -1
  1100. package/scripts/epic/epic-run.ts +14 -1
  1101. package/scripts/epic/epic-shape.ts +2 -2
  1102. package/scripts/epic/epic-solo-stale.ts +1 -1
  1103. package/scripts/epic/epic-solo.ts +11 -5
  1104. package/scripts/epic/epic-split-reach.ts +107 -0
  1105. package/scripts/epic/epic-triage.ts +29 -5
  1106. package/scripts/epic/epic-untrack-plan.ts +75 -0
  1107. package/scripts/epic/epic-untrack.ts +42 -0
  1108. package/scripts/epic/epic.ts +65 -31
  1109. package/scripts/followup/followup-check-report.ts +70 -0
  1110. package/scripts/followup/followup-ci-path.ts +27 -7
  1111. package/scripts/followup/followup-coderabbit-retrigger.ts +61 -23
  1112. package/scripts/followup/followup-failed-tests.ts +4 -0
  1113. package/scripts/followup/followup-human-merge.ts +109 -0
  1114. package/scripts/followup/followup-job-needs.ts +92 -14
  1115. package/scripts/followup/followup-job-rerun.ts +162 -43
  1116. package/scripts/followup/followup-run-rerun.ts +183 -0
  1117. package/scripts/followup/followup-section.ts +30 -0
  1118. package/scripts/followup/followup-ship-environment.ts +17 -0
  1119. package/scripts/followup/git-followup-finish.ts +52 -1
  1120. package/scripts/followup/git-followup-flush.ts +6 -8
  1121. package/scripts/followup/git-followup-stages.ts +3 -0
  1122. package/scripts/followup/git-followup-workflow.ts +29 -9
  1123. package/scripts/followup/git-pr-followup-checks.ts +65 -8
  1124. package/scripts/followup/git-pr-followup-wrapup.ts +11 -9
  1125. package/scripts/followup/git-pr-followup.ts +18 -12
  1126. package/scripts/fresh-machine/fresh-machine-cli.ts +2 -1
  1127. package/scripts/fresh-machine/fresh-machine-image.ts +3 -1
  1128. package/scripts/fresh-machine/fresh-machine-patterns.ts +25 -4
  1129. package/scripts/fresh-machine/fresh-machine-registry.ts +85 -0
  1130. package/scripts/fresh-machine/fresh-machine-script.ts +3 -1
  1131. package/scripts/fresh-machine/fresh-machine-spec.ts +2 -2
  1132. package/scripts/fresh-machine/specs/kit-test-backlogrun-python.json +0 -1
  1133. package/scripts/fresh-machine/specs/kit-test-backlogrun.json +0 -1
  1134. package/scripts/gate/busy-average.ts +26 -3
  1135. package/scripts/gate/change-scope-action.ts +101 -0
  1136. package/scripts/gate/check-inputs.ts +1 -1
  1137. package/scripts/gate/check-related-order.ts +65 -0
  1138. package/scripts/gate/check-related-pinned.ts +3 -2
  1139. package/scripts/gate/check-related-reuse.ts +34 -6
  1140. package/scripts/gate/check-related-section.ts +8 -1
  1141. package/scripts/gate/check-related-unplanned.ts +11 -1
  1142. package/scripts/gate/check-related.ts +122 -34
  1143. package/scripts/gate/check-reuse.ts +63 -31
  1144. package/scripts/gate/command-memory.ts +10 -4
  1145. package/scripts/gate/core-admission.ts +34 -8
  1146. package/scripts/gate/core-budget.ts +55 -65
  1147. package/scripts/gate/core-priority.ts +28 -0
  1148. package/scripts/gate/core-reservation.ts +85 -0
  1149. package/scripts/gate/core-wait.ts +90 -19
  1150. package/scripts/gate/core-weights.ts +25 -16
  1151. package/scripts/gate/gate-checks.ts +196 -0
  1152. package/scripts/gate/gate-labels.ts +4 -0
  1153. package/scripts/gate/gate-plan.ts +34 -164
  1154. package/scripts/gate/gate-report.ts +14 -10
  1155. package/scripts/gate/gate-run-steps.ts +38 -6
  1156. package/scripts/gate/gate-skip.ts +1 -1
  1157. package/scripts/gate/gate-static-group.ts +35 -6
  1158. package/scripts/gate/machine-capacity.ts +20 -25
  1159. package/scripts/gate/metrics-totals.ts +30 -4
  1160. package/scripts/gate/path-glob.ts +15 -0
  1161. package/scripts/gate/pre-commit-type-check.ts +2 -6
  1162. package/scripts/gate/project-checks.ts +33 -2
  1163. package/scripts/gate/project-gate-steps.ts +206 -0
  1164. package/scripts/gate/project-step-reuse.ts +69 -0
  1165. package/scripts/gate/scoped-green.ts +10 -4
  1166. package/scripts/gate/since-green.ts +76 -20
  1167. package/scripts/gate/tree-verdict.ts +111 -0
  1168. package/scripts/gate/tsc-arguments.ts +9 -0
  1169. package/scripts/gate/type-check-command.ts +4 -7
  1170. package/scripts/gate/type-check-step.ts +4 -1
  1171. package/scripts/gate/type-program-serial.ts +52 -0
  1172. package/scripts/gate/verification-gate.ts +47 -17
  1173. package/scripts/gate/verification-inputs.ts +46 -11
  1174. package/scripts/gate/whole-tree-reuse.ts +24 -0
  1175. package/scripts/gh/gh-author-association.ts +40 -14
  1176. package/scripts/gh/gh-call-kind.ts +97 -0
  1177. package/scripts/gh/gh-comment-input.ts +26 -0
  1178. package/scripts/gh/gh-core-rate-limit.ts +151 -0
  1179. package/scripts/gh/gh-permission-cache.ts +44 -0
  1180. package/scripts/gh/gh-request-tally.ts +143 -0
  1181. package/scripts/gh/gh-spawn.ts +2 -2
  1182. package/scripts/gh/gh-usage-cli.ts +71 -0
  1183. package/scripts/gh/gh-usage-event.ts +82 -0
  1184. package/scripts/gh/gh-usage-log.ts +48 -0
  1185. package/scripts/gh/gh-usage-tally.ts +209 -0
  1186. package/scripts/gh/git-gh-api-path.ts +17 -2
  1187. package/scripts/gh/git-gh-blocked-by-graphql.ts +107 -0
  1188. package/scripts/gh/git-gh-checks-failed-main.ts +24 -0
  1189. package/scripts/gh/git-gh-checks-failed.ts +141 -0
  1190. package/scripts/gh/git-gh-code-scanning.ts +81 -0
  1191. package/scripts/gh/git-gh-conditional.ts +36 -4
  1192. package/scripts/gh/git-gh-etag-read.ts +107 -0
  1193. package/scripts/gh/git-gh-exec.ts +74 -25
  1194. package/scripts/gh/git-gh-failure.ts +16 -2
  1195. package/scripts/gh/git-gh-helpers.ts +2 -6
  1196. package/scripts/gh/git-gh-issue-alias-graphql.ts +113 -0
  1197. package/scripts/gh/git-gh-issue-batch-graphql.ts +155 -0
  1198. package/scripts/gh/git-gh-issue-batch-read.ts +66 -0
  1199. package/scripts/gh/git-gh-issue-graphql.ts +229 -0
  1200. package/scripts/gh/git-gh-issue-list-graphql.ts +103 -0
  1201. package/scripts/gh/git-gh-issue-list.ts +126 -34
  1202. package/scripts/gh/git-gh-issue-memo.ts +53 -0
  1203. package/scripts/gh/git-gh-issue-read.ts +87 -14
  1204. package/scripts/gh/git-gh-issue-rest.ts +5 -8
  1205. package/scripts/gh/git-gh-issue-write.ts +31 -10
  1206. package/scripts/gh/git-gh-issue.ts +25 -4
  1207. package/scripts/gh/git-gh-poll-read.ts +43 -18
  1208. package/scripts/gh/git-gh-pr-auto-merge.ts +1 -4
  1209. package/scripts/gh/git-gh-pr-graphql-snapshot.ts +369 -0
  1210. package/scripts/gh/git-gh-pr-graphql-state.ts +21 -26
  1211. package/scripts/gh/git-gh-pr-read.ts +4 -1
  1212. package/scripts/gh/git-gh-pr-rollup.ts +10 -3
  1213. package/scripts/gh/git-gh-pr-snapshot.ts +78 -22
  1214. package/scripts/gh/git-gh-pr.ts +51 -17
  1215. package/scripts/gh/git-gh-rate-limit.ts +91 -0
  1216. package/scripts/gh/git-gh-repo.ts +37 -20
  1217. package/scripts/gh/git-gh-retry.ts +60 -24
  1218. package/scripts/gh/git-gh-spawn-width.ts +6 -0
  1219. package/scripts/gh/git-gh-transport.ts +213 -0
  1220. package/scripts/gh/git-pr-ai-review.ts +8 -5
  1221. package/scripts/gh/git-pr-checks-eval.ts +16 -17
  1222. package/scripts/gh/git-pr-checks-failed.ts +24 -0
  1223. package/scripts/gh/git-pr-checks-gate.ts +129 -0
  1224. package/scripts/gh/git-pr-checks-missing.ts +165 -0
  1225. package/scripts/gh/git-pr-checks-parse.ts +4 -0
  1226. package/scripts/gh/git-pr-checks-watch.ts +22 -6
  1227. package/scripts/gh/git-pr-checks.ts +105 -76
  1228. package/scripts/gh/git-pr-merge-checked.ts +26 -12
  1229. package/scripts/gh/git-pr.ts +9 -23
  1230. package/scripts/git/base-tree.ts +18 -10
  1231. package/scripts/git/changed-paths-sync.ts +4 -12
  1232. package/scripts/git/changed-paths.ts +31 -6
  1233. package/scripts/git/git-command.ts +9 -1
  1234. package/scripts/git/git-common-directory.ts +17 -3
  1235. package/scripts/git/git-issue.ts +3 -3
  1236. package/scripts/git/git-merge-conflicts.ts +8 -3
  1237. package/scripts/git/git-path-quoting.ts +54 -0
  1238. package/scripts/git/git-push-transport.ts +8 -10
  1239. package/scripts/git/git-schemas.ts +1 -0
  1240. package/scripts/git/git-spawn-sync.ts +11 -7
  1241. package/scripts/git/git-spawn.ts +1 -1
  1242. package/scripts/git/git-ssh-keepalive.ts +3 -3
  1243. package/scripts/git/git-workflow.ts +32 -9
  1244. package/scripts/git/git-worktree.ts +12 -4
  1245. package/scripts/git/main-merge.ts +3 -36
  1246. package/scripts/git/main-sync.ts +2 -13
  1247. package/scripts/git/repository-lock.ts +8 -7
  1248. package/scripts/git/stash/git-stash.ts +38 -5
  1249. package/scripts/git/stash/stash-pop-cli.ts +43 -6
  1250. package/scripts/hooks/bash-revert.ts +253 -0
  1251. package/scripts/hooks/batch-guard.ts +28 -16
  1252. package/scripts/hooks/check-commit-message.ts +5 -7
  1253. package/scripts/hooks/codex-hook-adapter.ts +58 -13
  1254. package/scripts/hooks/direct-gh-usage.ts +130 -0
  1255. package/scripts/hooks/edited-cspell.ts +8 -11
  1256. package/scripts/hooks/fixtures/claude-Agent.json +16 -0
  1257. package/scripts/hooks/fixtures/claude-Bash.json +12 -0
  1258. package/scripts/hooks/fixtures/claude-Edit.json +17 -0
  1259. package/scripts/hooks/fixtures/claude-Read.json +12 -0
  1260. package/scripts/hooks/fixtures/claude-Write.json +12 -0
  1261. package/scripts/hooks/fixtures/codex-Bash-cat.json +12 -0
  1262. package/scripts/hooks/fixtures/codex-Bash.json +12 -0
  1263. package/scripts/hooks/fixtures/codex-apply_patch.json +14 -0
  1264. package/scripts/hooks/format-edited-cli.ts +8 -1
  1265. package/scripts/hooks/format-edited-file.ts +33 -27
  1266. package/scripts/hooks/hook-context.ts +22 -0
  1267. package/scripts/hooks/hook-demoted.ts +84 -0
  1268. package/scripts/hooks/hook-lap.ts +61 -0
  1269. package/scripts/hooks/hook-ledger-cli.ts +246 -0
  1270. package/scripts/hooks/hook-ledger-demote.ts +58 -0
  1271. package/scripts/hooks/hook-ledger-issues.ts +61 -0
  1272. package/scripts/hooks/hook-ledger-read.ts +97 -0
  1273. package/scripts/hooks/hook-ledger.ts +163 -0
  1274. package/scripts/hooks/implementation-authority.ts +48 -0
  1275. package/scripts/hooks/implementation-shell-deny-expansion.ts +20 -0
  1276. package/scripts/hooks/implementation-shell-deny-git.ts +128 -0
  1277. package/scripts/hooks/implementation-shell-deny.ts +220 -0
  1278. package/scripts/hooks/implementation-shell-nested.ts +148 -0
  1279. package/scripts/hooks/implementation-shell.ts +276 -0
  1280. package/scripts/hooks/lane-plan-guard.ts +1 -1
  1281. package/scripts/hooks/pre-commit-lint.ts +10 -5
  1282. package/scripts/hooks/pre-push-unit.ts +49 -13
  1283. package/scripts/hooks/pretool-guard.ts +184 -70
  1284. package/scripts/hooks/reserved-run.ts +13 -13
  1285. package/scripts/hooks/run-hook.sh +84 -30
  1286. package/scripts/hooks/step-zero-notice.ts +58 -17
  1287. package/scripts/hooks/stop-actions.ts +14 -5
  1288. package/scripts/hooks/stop-guard.ts +29 -8
  1289. package/scripts/init/claude-kit-only-settings.ts +1 -1
  1290. package/scripts/init/hook-command-rewrite.ts +90 -65
  1291. package/scripts/init/hook-launch.ts +27 -22
  1292. package/scripts/init/init-ai-copy.ts +14 -4
  1293. package/scripts/init/init-bootstrap.ts +40 -8
  1294. package/scripts/init/init-copy-content.ts +2 -2
  1295. package/scripts/init/init-install.ts +9 -1
  1296. package/scripts/init/init-logic-deploy-vps.ts +5 -3
  1297. package/scripts/init/init-logic-workspace.ts +16 -1
  1298. package/scripts/init/init-logic.ts +11 -18
  1299. package/scripts/init/npm-publish-files.ts +25 -0
  1300. package/scripts/init/start-setup-pr.ts +1 -1
  1301. package/scripts/init/tsconfig-preset-migration.ts +5 -10
  1302. package/scripts/issue/aggregation-split.ts +4 -2
  1303. package/scripts/issue/already-done-citation.ts +103 -0
  1304. package/scripts/issue/baseline-measure.ts +2 -1
  1305. package/scripts/issue/behavior-change-lint.ts +5 -4
  1306. package/scripts/issue/defect-origin-line.ts +11 -10
  1307. package/scripts/issue/defect-origin.ts +4 -3
  1308. package/scripts/issue/defect-rate.ts +2 -1
  1309. package/scripts/issue/defect-report-format.ts +1 -1
  1310. package/scripts/issue/effect-audit.ts +12 -11
  1311. package/scripts/issue/enforcement-lint.ts +48 -0
  1312. package/scripts/issue/expected-effect-lint.ts +6 -5
  1313. package/scripts/issue/figure-source-lint.ts +59 -0
  1314. package/scripts/issue/git-next-issues.ts +15 -17
  1315. package/scripts/issue/issue-already-done-cli.ts +24 -4
  1316. package/scripts/issue/issue-auto-ok.ts +65 -9
  1317. package/scripts/issue/issue-body-cli.ts +75 -0
  1318. package/scripts/issue/issue-body-keys.ts +227 -0
  1319. package/scripts/issue/issue-body-or-comment.ts +1 -1
  1320. package/scripts/issue/issue-bug-label.ts +5 -2
  1321. package/scripts/issue/issue-cap-files.ts +111 -0
  1322. package/scripts/issue/issue-cite-cli.ts +2 -2
  1323. package/scripts/issue/issue-cite.ts +20 -3
  1324. package/scripts/issue/issue-classification.ts +66 -7
  1325. package/scripts/issue/issue-closing-pr.ts +51 -16
  1326. package/scripts/issue/issue-comment-cli.ts +15 -2
  1327. package/scripts/issue/issue-consolidate-cli.ts +81 -0
  1328. package/scripts/issue/issue-consolidate.ts +246 -0
  1329. package/scripts/issue/issue-declared-size.ts +21 -0
  1330. package/scripts/issue/issue-evidence-exit.ts +12 -5
  1331. package/scripts/issue/issue-file-batch-entries.ts +107 -0
  1332. package/scripts/issue/issue-file-batch.ts +206 -0
  1333. package/scripts/issue/issue-file-cli.ts +152 -209
  1334. package/scripts/issue/issue-file-fold.ts +4 -8
  1335. package/scripts/issue/issue-file-interrupt.ts +68 -9
  1336. package/scripts/issue/issue-file-lane-hint.ts +3 -2
  1337. package/scripts/issue/issue-file-main.ts +17 -0
  1338. package/scripts/issue/issue-file-pass.ts +249 -0
  1339. package/scripts/issue/issue-file-worker.ts +95 -0
  1340. package/scripts/issue/issue-file.ts +25 -6
  1341. package/scripts/issue/issue-fold-apply.ts +102 -0
  1342. package/scripts/issue/issue-fold-existing-cli.ts +226 -19
  1343. package/scripts/issue/issue-human-stops.ts +102 -0
  1344. package/scripts/issue/issue-labels.ts +14 -3
  1345. package/scripts/issue/issue-lint-cli.ts +20 -6
  1346. package/scripts/issue/issue-lint.ts +4 -6
  1347. package/scripts/issue/issue-merged.ts +75 -9
  1348. package/scripts/issue/issue-not-before.ts +34 -4
  1349. package/scripts/issue/issue-number-shape.ts +8 -0
  1350. package/scripts/issue/issue-outcome.ts +107 -0
  1351. package/scripts/issue/issue-plan-cli.ts +33 -5
  1352. package/scripts/issue/issue-plan-notify.ts +100 -0
  1353. package/scripts/issue/issue-premise-unmet-cli.ts +110 -0
  1354. package/scripts/issue/issue-priority-cli.ts +103 -16
  1355. package/scripts/issue/issue-priority-instructed.ts +55 -0
  1356. package/scripts/issue/issue-priority-raise.ts +70 -12
  1357. package/scripts/issue/issue-priority.ts +56 -16
  1358. package/scripts/issue/issue-rank.ts +48 -15
  1359. package/scripts/issue/issue-read-cli.ts +66 -33
  1360. package/scripts/issue/issue-read.ts +30 -10
  1361. package/scripts/issue/issue-release-class-cli.ts +79 -0
  1362. package/scripts/issue/issue-report-failures.ts +14 -5
  1363. package/scripts/issue/issue-run-hold.ts +13 -0
  1364. package/scripts/issue/issue-run-verdict.ts +68 -0
  1365. package/scripts/issue/issue-sample-gate.ts +18 -7
  1366. package/scripts/issue/issue-sample-required.ts +20 -3
  1367. package/scripts/issue/issue-sample-source.ts +2 -1
  1368. package/scripts/issue/issue-scout-cli.ts +34 -18
  1369. package/scripts/issue/issue-scout.ts +25 -4
  1370. package/scripts/issue/issue-search.ts +3 -0
  1371. package/scripts/issue/issue-sources.ts +98 -0
  1372. package/scripts/issue/issue-spill-cli.ts +292 -0
  1373. package/scripts/issue/issue-spill-main.ts +11 -0
  1374. package/scripts/issue/issue-spill.ts +193 -0
  1375. package/scripts/issue/issue-state-cli.ts +9 -17
  1376. package/scripts/issue/issue-template-section.ts +8 -3
  1377. package/scripts/issue/issue-tick-cli.ts +59 -0
  1378. package/scripts/issue/issue-watch-diff.ts +24 -8
  1379. package/scripts/issue/issue-watch-hook.ts +11 -9
  1380. package/scripts/issue/issue-watch.ts +25 -5
  1381. package/scripts/issue/issue-wip.ts +44 -9
  1382. package/scripts/issue/markdown-section.ts +66 -10
  1383. package/scripts/issue/measure-declaration.ts +70 -13
  1384. package/scripts/issue/measure-rerun-cli.ts +9 -8
  1385. package/scripts/issue/measure-twin.ts +37 -0
  1386. package/scripts/issue/reproduction-measure.ts +2 -1
  1387. package/scripts/issue/session-cite.ts +1 -1
  1388. package/scripts/issue/size-estimate.ts +317 -22
  1389. package/scripts/issue/trusted-measure-source.ts +43 -0
  1390. package/scripts/issue/trusted-measure.ts +79 -35
  1391. package/scripts/issue/upstream-interrupt-cli.ts +280 -0
  1392. package/scripts/issue/upstream-interrupt-main.ts +11 -0
  1393. package/scripts/josh/agent-session-environment.ts +19 -1
  1394. package/scripts/josh/cli-body.ts +46 -9
  1395. package/scripts/josh/command-usage.ts +3 -0
  1396. package/scripts/josh/durable-state-migrate.ts +11 -4
  1397. package/scripts/josh/durable-state-root.ts +60 -0
  1398. package/scripts/josh/durable-state.ts +9 -44
  1399. package/scripts/josh/hook-decision.ts +55 -113
  1400. package/scripts/josh/hook-envelope.ts +62 -0
  1401. package/scripts/josh/hook-payload-capture.ts +78 -0
  1402. package/scripts/josh/hook-tool-payload.ts +15 -0
  1403. package/scripts/josh/josh-aliases.ts +7 -0
  1404. package/scripts/josh/josh-command-map.ts +15 -0
  1405. package/scripts/josh/josh-command-types.ts +28 -4
  1406. package/scripts/josh/josh-commands-agent-hooks.ts +39 -7
  1407. package/scripts/josh/josh-commands-ai.ts +420 -9
  1408. package/scripts/josh/josh-commands-backlog.ts +79 -11
  1409. package/scripts/josh/josh-commands-clone.ts +2 -5
  1410. package/scripts/josh/josh-commands-development.ts +45 -12
  1411. package/scripts/josh/josh-commands-document.ts +22 -10
  1412. package/scripts/josh/josh-commands-epic.ts +30 -11
  1413. package/scripts/josh/josh-commands-hooks.ts +0 -1
  1414. package/scripts/josh/josh-commands-issue-write.ts +193 -20
  1415. package/scripts/josh/josh-commands-issue.ts +57 -17
  1416. package/scripts/josh/josh-commands-lint.ts +52 -19
  1417. package/scripts/josh/josh-commands-maintenance.ts +37 -4
  1418. package/scripts/josh/josh-commands-pause.ts +53 -5
  1419. package/scripts/josh/josh-commands-prime.ts +28 -0
  1420. package/scripts/josh/josh-commands-progress.ts +59 -7
  1421. package/scripts/josh/josh-commands-project.ts +15 -7
  1422. package/scripts/josh/josh-commands-review.ts +83 -5
  1423. package/scripts/josh/josh-commands-run.ts +30 -33
  1424. package/scripts/josh/josh-commands-ship.ts +95 -13
  1425. package/scripts/josh/josh-commands-test-check.ts +0 -2
  1426. package/scripts/josh/josh-commands-versioning.ts +11 -2
  1427. package/scripts/josh/josh-commands-workflow.ts +46 -11
  1428. package/scripts/josh/josh-completion-scripts.ts +81 -0
  1429. package/scripts/josh/josh-completion.ts +29 -0
  1430. package/scripts/josh/josh-environment-file.ts +8 -10
  1431. package/scripts/josh/josh-gh-usage.ts +53 -0
  1432. package/scripts/josh/josh-in-process.ts +21 -21
  1433. package/scripts/josh/josh-logic.ts +22 -46
  1434. package/scripts/josh/josh-read-only.ts +51 -0
  1435. package/scripts/josh/josh-run.ts +30 -6
  1436. package/scripts/josh/josh.ts +9 -11
  1437. package/scripts/josh/path-decision.ts +2 -2
  1438. package/scripts/josh/process-identity.ts +5 -0
  1439. package/scripts/josh/session-handoff-line.ts +88 -0
  1440. package/scripts/josh/session-language-cli.ts +18 -4
  1441. package/scripts/josh/session-model-record.ts +62 -0
  1442. package/scripts/lane/historical-evidence.ts +136 -0
  1443. package/scripts/lane/historical-log-evidence.ts +47 -0
  1444. package/scripts/lane/lane-adopt-cli.ts +1 -1
  1445. package/scripts/lane/lane-await.ts +8 -3
  1446. package/scripts/lane/lane-breakdown-calls.ts +165 -0
  1447. package/scripts/lane/lane-breakdown-cli.ts +88 -10
  1448. package/scripts/lane/lane-breakdown-estimate.ts +136 -0
  1449. package/scripts/lane/lane-breakdown-implement.ts +166 -29
  1450. package/scripts/lane/lane-breakdown-laps.ts +116 -24
  1451. package/scripts/lane/lane-breakdown-pause.ts +127 -0
  1452. package/scripts/lane/lane-breakdown-pinned.ts +19 -3
  1453. package/scripts/lane/lane-breakdown-related.ts +40 -0
  1454. package/scripts/lane/lane-breakdown-text.ts +136 -15
  1455. package/scripts/lane/lane-breakdown.ts +215 -31
  1456. package/scripts/lane/lane-broker-server.ts +1 -1
  1457. package/scripts/lane/lane-capacity.ts +27 -16
  1458. package/scripts/lane/lane-chain-stop-stats.ts +110 -0
  1459. package/scripts/lane/lane-check-stats.ts +25 -5
  1460. package/scripts/lane/lane-child-invocation.ts +9 -9
  1461. package/scripts/lane/lane-ci-path-stats.ts +15 -4
  1462. package/scripts/lane/lane-cli.ts +2 -2
  1463. package/scripts/lane/lane-concurrency-stats.ts +110 -0
  1464. package/scripts/lane/lane-cut-stats.ts +101 -0
  1465. package/scripts/lane/lane-dispatch-prepare.ts +83 -0
  1466. package/scripts/lane/lane-dispatch.ts +27 -72
  1467. package/scripts/lane/lane-early-push-stats.ts +25 -0
  1468. package/scripts/lane/lane-elapsed-time.ts +118 -0
  1469. package/scripts/lane/lane-environment.ts +2 -2
  1470. package/scripts/lane/lane-gap-stats.ts +69 -8
  1471. package/scripts/lane/lane-guard-policy.ts +1 -1
  1472. package/scripts/lane/lane-hand-back-held.ts +51 -0
  1473. package/scripts/lane/lane-hand-back-hold.ts +103 -0
  1474. package/scripts/lane/lane-held-stats.ts +13 -1
  1475. package/scripts/lane/lane-implement-rate-read.ts +50 -0
  1476. package/scripts/lane/lane-implement-rate.ts +74 -0
  1477. package/scripts/lane/lane-implement-read.ts +129 -0
  1478. package/scripts/lane/lane-implement-signals-record.ts +56 -0
  1479. package/scripts/lane/lane-implement-signals.ts +161 -0
  1480. package/scripts/lane/lane-implement-stats.ts +93 -18
  1481. package/scripts/lane/lane-launch-admission.ts +61 -0
  1482. package/scripts/lane/lane-launch-cli.ts +63 -27
  1483. package/scripts/lane/lane-launch-pending.ts +44 -0
  1484. package/scripts/lane/lane-ledger-archive.ts +200 -0
  1485. package/scripts/lane/lane-ledger-kind.ts +5 -0
  1486. package/scripts/lane/lane-ledger-pinned-origin.ts +10 -0
  1487. package/scripts/lane/lane-ledger-schema-load.ts +45 -0
  1488. package/scripts/lane/lane-ledger-schema-offer.ts +30 -0
  1489. package/scripts/lane/lane-ledger-schema-ship.ts +73 -4
  1490. package/scripts/lane/lane-ledger-schema.ts +53 -30
  1491. package/scripts/lane/lane-ledger-tail.ts +124 -0
  1492. package/scripts/lane/lane-ledger-write.ts +60 -27
  1493. package/scripts/lane/lane-ledger.ts +6 -31
  1494. package/scripts/lane/lane-limit-cli.ts +11 -1
  1495. package/scripts/lane/lane-limit-history.ts +77 -0
  1496. package/scripts/lane/lane-limit-override.ts +49 -8
  1497. package/scripts/lane/lane-listening-ports.ts +77 -0
  1498. package/scripts/lane/lane-load.ts +62 -2
  1499. package/scripts/lane/lane-measure-cli.ts +134 -55
  1500. package/scripts/lane/lane-net-read.ts +22 -10
  1501. package/scripts/lane/lane-net-time.ts +134 -21
  1502. package/scripts/lane/lane-open.ts +19 -113
  1503. package/scripts/lane/lane-over-causes.ts +130 -0
  1504. package/scripts/lane/lane-over.ts +177 -0
  1505. package/scripts/lane/lane-overrun-prompt.ts +4 -3
  1506. package/scripts/lane/lane-overrun.ts +22 -9
  1507. package/scripts/lane/lane-pairs.ts +128 -0
  1508. package/scripts/lane/lane-paths.ts +26 -0
  1509. package/scripts/lane/lane-pause-cli.ts +4 -2
  1510. package/scripts/lane/lane-paused-spans.ts +11 -4
  1511. package/scripts/lane/lane-phase.ts +36 -7
  1512. package/scripts/lane/lane-plan-approval.ts +113 -0
  1513. package/scripts/lane/lane-plan-auto.ts +53 -0
  1514. package/scripts/lane/lane-plan-check.ts +196 -54
  1515. package/scripts/lane/lane-plan-cli.ts +41 -10
  1516. package/scripts/lane/lane-plan-estimate.ts +57 -0
  1517. package/scripts/lane/lane-plan-imports.ts +53 -0
  1518. package/scripts/lane/lane-plan-premise.ts +83 -0
  1519. package/scripts/lane/lane-plan-probe.ts +115 -0
  1520. package/scripts/lane/lane-plan-signals.ts +119 -0
  1521. package/scripts/lane/lane-plan-size.ts +380 -0
  1522. package/scripts/lane/lane-plan-wait-event.ts +124 -0
  1523. package/scripts/lane/lane-plan-wait-until.ts +22 -0
  1524. package/scripts/lane/lane-plan-wait.ts +125 -0
  1525. package/scripts/lane/lane-plan.ts +114 -14
  1526. package/scripts/lane/lane-preserve.ts +58 -13
  1527. package/scripts/lane/lane-process-load.ts +130 -19
  1528. package/scripts/lane/lane-process-stats.ts +51 -10
  1529. package/scripts/lane/lane-reap.ts +4 -2
  1530. package/scripts/lane/lane-registry.ts +19 -14
  1531. package/scripts/lane/lane-relaunch.ts +37 -14
  1532. package/scripts/lane/lane-report.ts +2 -0
  1533. package/scripts/lane/lane-resolve-cli.ts +88 -0
  1534. package/scripts/lane/lane-resolve-hunks.ts +63 -0
  1535. package/scripts/lane/lane-resolve-record.ts +59 -0
  1536. package/scripts/lane/lane-resolve.ts +122 -0
  1537. package/scripts/lane/lane-restart.ts +1 -1
  1538. package/scripts/lane/lane-room.ts +58 -0
  1539. package/scripts/lane/lane-round-one-stats.ts +2 -1
  1540. package/scripts/lane/lane-sampler.ts +53 -3
  1541. package/scripts/lane/lane-seat-ownership.ts +57 -0
  1542. package/scripts/lane/lane-seat-start.ts +52 -0
  1543. package/scripts/lane/lane-seat-stop.ts +20 -0
  1544. package/scripts/lane/lane-seat.ts +174 -0
  1545. package/scripts/lane/lane-seed.ts +2 -5
  1546. package/scripts/lane/lane-session-action.ts +26 -10
  1547. package/scripts/lane/lane-session-broker.ts +1 -1
  1548. package/scripts/lane/lane-session-reread.ts +2 -1
  1549. package/scripts/lane/lane-setup.ts +59 -0
  1550. package/scripts/lane/lane-ship-lap-stats.ts +3 -1
  1551. package/scripts/lane/lane-sinks-issues.ts +52 -0
  1552. package/scripts/lane/lane-sinks.ts +165 -0
  1553. package/scripts/lane/lane-size-record.ts +39 -0
  1554. package/scripts/lane/lane-size-stats.ts +111 -0
  1555. package/scripts/lane/lane-split-stats.ts +33 -9
  1556. package/scripts/lane/lane-stage-budget.ts +32 -0
  1557. package/scripts/lane/lane-stage-events.ts +103 -0
  1558. package/scripts/lane/lane-stage-stats.ts +94 -25
  1559. package/scripts/lane/lane-state-record.ts +74 -0
  1560. package/scripts/lane/lane-state.ts +21 -33
  1561. package/scripts/lane/lane-stats-request.ts +163 -0
  1562. package/scripts/lane/lane-stats-tables.ts +47 -3
  1563. package/scripts/lane/lane-stats.ts +9 -2
  1564. package/scripts/lane/lane-stop-check-stats.ts +117 -0
  1565. package/scripts/lane/lane-stop-stats.ts +33 -8
  1566. package/scripts/lane/lane-test-related-stats.ts +5 -2
  1567. package/scripts/lane/lane-timeline.ts +251 -0
  1568. package/scripts/lane/lane-transcript-calls.ts +73 -4
  1569. package/scripts/lane/lane-transcript-stats.ts +8 -3
  1570. package/scripts/lane/lane-turn-stats.ts +171 -0
  1571. package/scripts/lane/lane-value-cell.ts +87 -13
  1572. package/scripts/lane/lane-value-missing.ts +21 -0
  1573. package/scripts/lane/lane-why-causes.ts +94 -0
  1574. package/scripts/lane/lane-why-ci.ts +50 -0
  1575. package/scripts/lane/lane-why-cli.ts +83 -0
  1576. package/scripts/lane/lane-why-period.ts +187 -0
  1577. package/scripts/lane/lane-why-ship.ts +67 -0
  1578. package/scripts/lane/lane-why.ts +192 -0
  1579. package/scripts/lane/lane-withdraw.ts +12 -1
  1580. package/scripts/lane/lane-yield-split.ts +218 -0
  1581. package/scripts/lane/lane-yield.ts +38 -4
  1582. package/scripts/lane/openai-lane-ship.ts +2 -2
  1583. package/scripts/lane/openai-lane-supervisor-cli.ts +17 -8
  1584. package/scripts/lane/openai-lane-supervisor-decision.ts +10 -4
  1585. package/scripts/lane/openai-lane-supervisor-entry.ts +6 -0
  1586. package/scripts/lane/openai-lane-supervisor-owner.ts +31 -3
  1587. package/scripts/lane/openai-lane-supervisor.ts +62 -5
  1588. package/scripts/lane/process-directories.ts +3 -1
  1589. package/scripts/lane/process-lane-marks.ts +11 -5
  1590. package/scripts/lane/process-linux.ts +81 -0
  1591. package/scripts/lane/process-tools.ts +2 -5
  1592. package/scripts/lib/bounded-pool.ts +38 -7
  1593. package/scripts/lib/buffered-process.ts +34 -9
  1594. package/scripts/lib/claude-installer.ts +29 -0
  1595. package/scripts/lib/home-tilde.ts +24 -0
  1596. package/scripts/lib/import-closure.ts +72 -0
  1597. package/scripts/lib/josh-temporary-directory.ts +7 -0
  1598. package/scripts/lib/main-guard.ts +29 -0
  1599. package/scripts/lib/package-manifest.ts +80 -3
  1600. package/scripts/lib/pnpm-installer.ts +16 -0
  1601. package/scripts/lib/poll.ts +130 -20
  1602. package/scripts/lib/schemas.ts +1 -1
  1603. package/scripts/lib/stamped-memo.ts +1 -1
  1604. package/scripts/lib/stamped-store.ts +82 -0
  1605. package/scripts/lib/stdin-text.ts +68 -0
  1606. package/scripts/lib/timeouts.ts +4 -4
  1607. package/scripts/lib/transcript-record.ts +4 -0
  1608. package/scripts/lib/verified-download.ts +17 -0
  1609. package/scripts/lines/bytes-command.ts +1 -1
  1610. package/scripts/lint/cspell-cached.ts +1 -1
  1611. package/scripts/lint/eslint-cache-dependencies.ts +38 -8
  1612. package/scripts/lint/eslint-daemon-calls.ts +83 -0
  1613. package/scripts/lint/eslint-daemon.ts +101 -13
  1614. package/scripts/lint/eslint-heap.ts +50 -0
  1615. package/scripts/lint/eslint-memory.js +45 -0
  1616. package/scripts/lint/eslint-trim.ts +44 -0
  1617. package/scripts/lint/eslint-warm.ts +5 -2
  1618. package/scripts/lint/format.ts +30 -5
  1619. package/scripts/lint/import-graph-store.ts +245 -0
  1620. package/scripts/lint/import-graph.ts +54 -65
  1621. package/scripts/lint/import-move.ts +275 -0
  1622. package/scripts/lint/import-test-inputs.ts +97 -0
  1623. package/scripts/lint/lint-gate-scope.ts +1 -0
  1624. package/scripts/lint/lint-parallel.ts +148 -43
  1625. package/scripts/lint/lint-related-scope.ts +6 -1
  1626. package/scripts/lint/lint-related.ts +66 -25
  1627. package/scripts/lint/lint-rule.ts +293 -0
  1628. package/scripts/lint/lint-shard.ts +91 -0
  1629. package/scripts/lint/lint-timing.ts +39 -0
  1630. package/scripts/lint/rename-cli.ts +36 -10
  1631. package/scripts/lint/rename-identifier.ts +2 -2
  1632. package/scripts/lint/type-only-imports.ts +20 -1
  1633. package/scripts/notify/git-notify.ts +3 -1
  1634. package/scripts/notify/telegram-notify.ts +33 -35
  1635. package/scripts/notify/telegram-test.ts +9 -4
  1636. package/scripts/observations/observation-depth-cli.ts +78 -0
  1637. package/scripts/observations/observation-depth.ts +85 -0
  1638. package/scripts/observations/observation-ledger-archive.ts +180 -0
  1639. package/scripts/observations/observation-ledger-home.ts +15 -7
  1640. package/scripts/observations/observation-ledger.ts +5 -0
  1641. package/scripts/observations/observations-flush-landing.ts +1 -1
  1642. package/scripts/observations/observations-flush-transaction.ts +358 -0
  1643. package/scripts/observations/observations-flush.ts +72 -172
  1644. package/scripts/overrides/overrides-check.ts +33 -10
  1645. package/scripts/overrides/overrides-diff-report.ts +91 -0
  1646. package/scripts/overrides/overrides-diff.ts +98 -0
  1647. package/scripts/package/package-scout-cli.ts +37 -11
  1648. package/scripts/package/package-scout-format.ts +20 -6
  1649. package/scripts/package/package-scout-reuse.ts +207 -0
  1650. package/scripts/plan/plan-scaffold-cli.ts +136 -0
  1651. package/scripts/plan/plan-scaffold.ts +123 -0
  1652. package/scripts/ports/port-command.ts +2 -5
  1653. package/scripts/propagate/propagate-git.ts +3 -3
  1654. package/scripts/propagate/propagate-publish.ts +8 -7
  1655. package/scripts/propagate/propagate-steps.ts +2 -3
  1656. package/scripts/refactor/import-graph.ts +2 -4
  1657. package/scripts/refactor/refactor-lint.ts +47 -30
  1658. package/scripts/refactor/refactor-scan.ts +16 -9
  1659. package/scripts/refactor/refactor-targets.ts +2 -3
  1660. package/scripts/release/github-release-notes.ts +24 -0
  1661. package/scripts/release/github-release-runs.ts +32 -6
  1662. package/scripts/release/github-release.ts +20 -12
  1663. package/scripts/release/publish-tag-cli.ts +13 -3
  1664. package/scripts/release/release-cli.ts +2 -0
  1665. package/scripts/release/release-progress.ts +66 -46
  1666. package/scripts/release/release-publish-run.ts +39 -6
  1667. package/scripts/release/release-request.ts +42 -0
  1668. package/scripts/release/release-scope-cli.ts +31 -2
  1669. package/scripts/release/release-workflow-check.ts +59 -0
  1670. package/scripts/repo/repository-labels.ts +23 -11
  1671. package/scripts/report/markdown-shape.ts +2 -1
  1672. package/scripts/report/report-template-cli.ts +2 -2
  1673. package/scripts/report/report-template.ts +17 -4
  1674. package/scripts/review/acceptance-map.ts +87 -8
  1675. package/scripts/review/diff-summary-cli.ts +81 -0
  1676. package/scripts/review/diff-summary.ts +109 -0
  1677. package/scripts/review/disposition-batch-filing.ts +150 -0
  1678. package/scripts/review/disposition-batch.ts +103 -0
  1679. package/scripts/review/disposition-cli.ts +35 -1
  1680. package/scripts/review/import-specifiers.ts +38 -0
  1681. package/scripts/review/prose-stale-cli.ts +7 -37
  1682. package/scripts/review/prose-stale-read.ts +105 -0
  1683. package/scripts/review/prose-stale-scan.ts +121 -17
  1684. package/scripts/review/removed-tests-check.ts +28 -4
  1685. package/scripts/review/review-brief-cli.ts +69 -71
  1686. package/scripts/review/review-brief.ts +38 -42
  1687. package/scripts/review/review-code-tree.ts +80 -16
  1688. package/scripts/review/review-comment-carry.ts +30 -0
  1689. package/scripts/review/review-comment-round.ts +10 -5
  1690. package/scripts/review/review-diff-pack.ts +70 -0
  1691. package/scripts/review/review-diff-write.ts +23 -22
  1692. package/scripts/review/review-final-record.ts +47 -0
  1693. package/scripts/review/review-finding-ledger.ts +72 -10
  1694. package/scripts/review/review-findings-cli.ts +88 -8
  1695. package/scripts/review/review-fix-hunks.ts +115 -0
  1696. package/scripts/review/review-fix-round.ts +144 -0
  1697. package/scripts/review/review-gate-mode.ts +25 -0
  1698. package/scripts/review/review-interaction.ts +69 -11
  1699. package/scripts/review/review-lane-handover.ts +29 -4
  1700. package/scripts/review/review-level.ts +35 -34
  1701. package/scripts/review/review-lint-findings.ts +3 -3
  1702. package/scripts/review/review-lint-sections.ts +2 -2
  1703. package/scripts/review/review-lint.ts +7 -1
  1704. package/scripts/review/review-pair-cli.ts +157 -0
  1705. package/scripts/review/review-pair-log.ts +75 -0
  1706. package/scripts/review/review-pair-session.ts +98 -0
  1707. package/scripts/review/review-pair.ts +112 -0
  1708. package/scripts/review/review-prior-findings.ts +2 -4
  1709. package/scripts/review/review-prompt-level.ts +28 -0
  1710. package/scripts/review/review-readers-scan.ts +25 -3
  1711. package/scripts/review/review-record-cli.ts +46 -68
  1712. package/scripts/review/review-record-interaction.ts +2 -2
  1713. package/scripts/review/review-record-main.ts +7 -2
  1714. package/scripts/review/review-record-pinned.ts +5 -0
  1715. package/scripts/review/review-record-slot.ts +155 -0
  1716. package/scripts/review/review-reviewed-tree.ts +60 -13
  1717. package/scripts/review/review-round-one-blobs.ts +43 -9
  1718. package/scripts/review/review-round-one-skip.ts +72 -0
  1719. package/scripts/review/review-round-reuse.ts +13 -6
  1720. package/scripts/review/review-round.ts +57 -0
  1721. package/scripts/review/review-round2-cli.ts +5 -0
  1722. package/scripts/review/review-round2-skip-comment.ts +3 -1
  1723. package/scripts/review/review-round2.ts +18 -6
  1724. package/scripts/review/review-size.ts +92 -0
  1725. package/scripts/review/review-stamps.ts +8 -0
  1726. package/scripts/review/review-submit-args.ts +91 -0
  1727. package/scripts/review/review-submit-cli.ts +55 -29
  1728. package/scripts/review/selfcheck-cli.ts +193 -0
  1729. package/scripts/review/selfcheck-commands.ts +175 -0
  1730. package/scripts/review/selfcheck-report.ts +98 -0
  1731. package/scripts/rules/bash-triggers.ts +24 -13
  1732. package/scripts/rules/broad-investigation-shell.ts +183 -0
  1733. package/scripts/rules/broad-investigation.ts +116 -0
  1734. package/scripts/rules/codex-prompt.ts +63 -0
  1735. package/scripts/rules/consultation-handoff.ts +81 -0
  1736. package/scripts/rules/consultation-investigation.ts +99 -0
  1737. package/scripts/rules/decision-oracle.ts +1 -1
  1738. package/scripts/rules/delivered-rules-guard.ts +94 -0
  1739. package/scripts/rules/delivered-rules.ts +46 -87
  1740. package/scripts/rules/destructive-command.ts +2 -1
  1741. package/scripts/rules/direct-git-status.ts +81 -0
  1742. package/scripts/rules/direct-issue-comment.ts +71 -3
  1743. package/scripts/rules/direct-issue-read.ts +55 -2
  1744. package/scripts/rules/direct-vitest-run.ts +98 -0
  1745. package/scripts/rules/egress-guard.ts +308 -0
  1746. package/scripts/rules/firing-point.ts +9 -12
  1747. package/scripts/rules/gh-api.ts +19 -4
  1748. package/scripts/rules/gh-repo-selector.ts +1 -1
  1749. package/scripts/rules/git-argv.ts +57 -10
  1750. package/scripts/rules/guard-remedy.ts +18 -3
  1751. package/scripts/rules/guard-rule-rows.ts +13 -0
  1752. package/scripts/rules/implementation-cut-verdict.ts +1 -1
  1753. package/scripts/rules/implementation-cut.ts +94 -31
  1754. package/scripts/rules/interpreter-options.ts +179 -0
  1755. package/scripts/rules/investigator-foreground.ts +13 -7
  1756. package/scripts/rules/issue-citation.ts +20 -9
  1757. package/scripts/rules/josh-git-bare.ts +1 -1
  1758. package/scripts/rules/keychain-read.ts +73 -0
  1759. package/scripts/rules/lane-background.ts +15 -14
  1760. package/scripts/rules/lane-carry-conflict.ts +15 -8
  1761. package/scripts/rules/lane-direct-tool.ts +18 -11
  1762. package/scripts/rules/lane-interactive-ask.ts +3 -5
  1763. package/scripts/rules/lane-park.ts +25 -10
  1764. package/scripts/rules/lane-spilled-read.ts +3 -5
  1765. package/scripts/rules/lane-split-park.ts +7 -6
  1766. package/scripts/rules/lane-switch-main.ts +10 -3
  1767. package/scripts/rules/last-prompt.ts +8 -4
  1768. package/scripts/rules/launched-call.ts +135 -0
  1769. package/scripts/rules/main-model.ts +54 -0
  1770. package/scripts/rules/nested-commands.ts +71 -0
  1771. package/scripts/rules/permission-guards.ts +6 -2
  1772. package/scripts/rules/pr-merge.ts +1 -1
  1773. package/scripts/rules/pre-gate-cut.ts +20 -11
  1774. package/scripts/rules/protected-files.ts +34 -98
  1775. package/scripts/rules/repeat-check-related.ts +66 -0
  1776. package/scripts/rules/reviewer-foreground.ts +11 -7
  1777. package/scripts/rules/round-one-check-related.ts +59 -19
  1778. package/scripts/rules/rule-list.ts +3 -4
  1779. package/scripts/rules/rule-rephrase.ts +43 -0
  1780. package/scripts/rules/rule-rewrite.ts +16 -6
  1781. package/scripts/rules/rule-value-cache.ts +10 -1
  1782. package/scripts/rules/rule-value-cli.ts +143 -54
  1783. package/scripts/rules/rule-value-prose.ts +186 -0
  1784. package/scripts/rules/rule-value-runs.ts +171 -0
  1785. package/scripts/rules/rule-value-trend.ts +108 -0
  1786. package/scripts/rules/rule-value.ts +38 -13
  1787. package/scripts/rules/run-tail-rule.ts +19 -2
  1788. package/scripts/rules/secret-paths.ts +92 -0
  1789. package/scripts/rules/sed-in-place.ts +1 -1
  1790. package/scripts/rules/shell-permissions.ts +91 -0
  1791. package/scripts/rules/shell-redirects.ts +66 -0
  1792. package/scripts/rules/shell-segments.ts +148 -22
  1793. package/scripts/rules/shell-tokens.ts +66 -0
  1794. package/scripts/rules/standalone-gh-call.ts +63 -0
  1795. package/scripts/rules/stop-decision.ts +7 -1
  1796. package/scripts/rules/stop-rules.ts +1 -1
  1797. package/scripts/rules/unasked-filing.ts +166 -0
  1798. package/scripts/run/add/run-add-cli.ts +114 -36
  1799. package/scripts/run/add/run-add-epic.ts +45 -0
  1800. package/scripts/run/add/run-add-issue.ts +17 -0
  1801. package/scripts/run/add/run-add.ts +159 -21
  1802. package/scripts/run/attached-log.ts +38 -0
  1803. package/scripts/run/board/run-board-cli.ts +34 -9
  1804. package/scripts/run/board/run-board-closed-graphql.ts +129 -0
  1805. package/scripts/run/board/run-board-closed.ts +78 -11
  1806. package/scripts/run/board/run-board-decision-graphql.ts +136 -0
  1807. package/scripts/run/board/run-board-decision-read.ts +235 -0
  1808. package/scripts/run/board/run-board-decision.ts +97 -0
  1809. package/scripts/run/board/run-board-earlier.ts +27 -3
  1810. package/scripts/run/board/run-board-ending-reason.ts +112 -9
  1811. package/scripts/run/board/run-board-ending-states.ts +34 -0
  1812. package/scripts/run/board/run-board-every.ts +19 -9
  1813. package/scripts/run/board/run-board-first-lane.ts +26 -0
  1814. package/scripts/run/board/run-board-fit.ts +47 -11
  1815. package/scripts/run/board/run-board-fold-store.ts +62 -0
  1816. package/scripts/run/board/run-board-fold.ts +41 -9
  1817. package/scripts/run/board/run-board-gather-live.ts +2 -0
  1818. package/scripts/run/board/run-board-gather-thread.ts +14 -3
  1819. package/scripts/run/board/run-board-gather-worker.ts +10 -8
  1820. package/scripts/run/board/run-board-gather.ts +10 -3
  1821. package/scripts/run/board/run-board-github.ts +125 -30
  1822. package/scripts/run/board/run-board-header.ts +33 -24
  1823. package/scripts/run/board/run-board-held.ts +53 -0
  1824. package/scripts/run/board/run-board-human-merge.ts +113 -0
  1825. package/scripts/run/board/run-board-human.ts +37 -0
  1826. package/scripts/run/board/run-board-idle.ts +9 -6
  1827. package/scripts/run/board/run-board-issue-count.ts +101 -0
  1828. package/scripts/run/board/run-board-keys.ts +19 -4
  1829. package/scripts/run/board/run-board-labels.ts +20 -4
  1830. package/scripts/run/board/run-board-lane-event.ts +23 -2
  1831. package/scripts/run/board/run-board-lane-result.ts +58 -0
  1832. package/scripts/run/board/run-board-lane-state.ts +52 -7
  1833. package/scripts/run/board/run-board-lane-stop.ts +108 -0
  1834. package/scripts/run/board/run-board-lane-time.ts +1 -0
  1835. package/scripts/run/board/run-board-layout.ts +68 -76
  1836. package/scripts/run/board/run-board-link.ts +44 -2
  1837. package/scripts/run/board/run-board-notes.ts +1 -1
  1838. package/scripts/run/board/run-board-now.ts +1 -1
  1839. package/scripts/run/board/run-board-operation-codex.ts +37 -0
  1840. package/scripts/run/board/run-board-operation-read.ts +2 -2
  1841. package/scripts/run/board/run-board-operation.ts +14 -7
  1842. package/scripts/run/board/run-board-pause-fixture.json +12 -0
  1843. package/scripts/run/board/run-board-pause.ts +87 -0
  1844. package/scripts/run/board/run-board-plan-shared.ts +5 -0
  1845. package/scripts/run/board/run-board-plan.ts +6 -1
  1846. package/scripts/run/board/run-board-process-groups.ts +1 -1
  1847. package/scripts/run/board/run-board-quota-held.ts +319 -0
  1848. package/scripts/run/board/run-board-quota-lane.ts +23 -0
  1849. package/scripts/run/board/run-board-quota-read.ts +422 -0
  1850. package/scripts/run/board/run-board-quota-spent.ts +162 -0
  1851. package/scripts/run/board/run-board-quota-status.ts +67 -0
  1852. package/scripts/run/board/run-board-read.ts +112 -36
  1853. package/scripts/run/board/run-board-reason.ts +40 -20
  1854. package/scripts/run/board/run-board-render-condition.ts +27 -2
  1855. package/scripts/run/board/run-board-render-drawn.ts +5 -1
  1856. package/scripts/run/board/run-board-render-foot.ts +5 -1
  1857. package/scripts/run/board/run-board-render-found.ts +21 -2
  1858. package/scripts/run/board/run-board-render-icon.ts +3 -6
  1859. package/scripts/run/board/run-board-render-lanes.ts +49 -9
  1860. package/scripts/run/board/run-board-render-lead.ts +20 -1
  1861. package/scripts/run/board/run-board-render-legend.ts +4 -0
  1862. package/scripts/run/board/run-board-render-none.ts +35 -0
  1863. package/scripts/run/board/run-board-render-notes.ts +5 -3
  1864. package/scripts/run/board/run-board-render-processes.ts +6 -5
  1865. package/scripts/run/board/run-board-render-quota-cell.ts +81 -0
  1866. package/scripts/run/board/run-board-render-quota-github.ts +112 -0
  1867. package/scripts/run/board/run-board-render-quota.ts +285 -0
  1868. package/scripts/run/board/run-board-render-section.ts +50 -6
  1869. package/scripts/run/board/run-board-render-tail.ts +53 -7
  1870. package/scripts/run/board/run-board-render-throughput.ts +140 -0
  1871. package/scripts/run/board/run-board-render-title.ts +33 -4
  1872. package/scripts/run/board/run-board-render.ts +59 -57
  1873. package/scripts/run/board/run-board-row-yield.ts +1 -0
  1874. package/scripts/run/board/run-board-scope.ts +13 -6
  1875. package/scripts/run/board/run-board-seat.ts +107 -0
  1876. package/scripts/run/board/run-board-settle.ts +47 -0
  1877. package/scripts/run/board/run-board-setup.ts +30 -15
  1878. package/scripts/run/board/run-board-single.ts +123 -0
  1879. package/scripts/run/board/run-board-snapshot.ts +11 -1
  1880. package/scripts/run/board/run-board-span.ts +18 -3
  1881. package/scripts/run/board/run-board-spin.ts +12 -6
  1882. package/scripts/run/board/run-board-standing-waits.ts +52 -0
  1883. package/scripts/run/board/run-board-state.ts +23 -0
  1884. package/scripts/run/board/run-board-status.ts +97 -100
  1885. package/scripts/run/board/run-board-throughput.ts +215 -0
  1886. package/scripts/run/board/run-board-tick.ts +76 -30
  1887. package/scripts/run/board/run-board-usage-read.ts +3 -3
  1888. package/scripts/run/board/run-board-usage-top.ts +12 -35
  1889. package/scripts/run/board/run-board-usual.ts +18 -1
  1890. package/scripts/run/carry/run-carry-added.ts +6 -1
  1891. package/scripts/run/carry/run-carry-args.ts +22 -8
  1892. package/scripts/run/carry/run-carry-cli.ts +31 -1
  1893. package/scripts/run/carry/run-carry-conversation.ts +12 -4
  1894. package/scripts/run/carry/run-carry-ended.ts +3 -0
  1895. package/scripts/run/carry/run-carry-reclaim.ts +2 -1
  1896. package/scripts/run/carry/run-carry.ts +40 -20
  1897. package/scripts/run/cut/run-cut-adoption.ts +67 -0
  1898. package/scripts/run/cut/run-cut-cli.ts +89 -34
  1899. package/scripts/run/cut/run-cut-decline.ts +1 -1
  1900. package/scripts/run/cut/run-cut-handoff.ts +2 -1
  1901. package/scripts/run/cut/run-cut-next.ts +20 -0
  1902. package/scripts/run/cut/run-cut-ready.ts +7 -5
  1903. package/scripts/run/cut/run-cut-report.ts +13 -14
  1904. package/scripts/run/cut/run-cut-resume.ts +1 -1
  1905. package/scripts/run/cut/run-cut.ts +36 -23
  1906. package/scripts/run/detached-launch.ts +12 -7
  1907. package/scripts/run/early-push-record.ts +22 -0
  1908. package/scripts/run/entry/run-entry-children.ts +126 -0
  1909. package/scripts/run/entry/run-entry-cli.ts +126 -82
  1910. package/scripts/run/entry/run-entry-dispatch.ts +20 -0
  1911. package/scripts/run/entry/run-entry-lane-plan.ts +39 -0
  1912. package/scripts/run/entry/run-entry-spill.ts +67 -22
  1913. package/scripts/run/entry/run-entry-stop.ts +9 -8
  1914. package/scripts/run/entry/run-entry-sync.ts +149 -0
  1915. package/scripts/run/entry/run-entry-trust.ts +1 -1
  1916. package/scripts/run/entry/run-entry.ts +9 -0
  1917. package/scripts/run/event/run-event-checks.ts +1 -1
  1918. package/scripts/run/event/run-event-filed.ts +1 -1
  1919. package/scripts/run/event/run-event-follow.ts +9 -5
  1920. package/scripts/run/event/run-event-overrun.ts +7 -7
  1921. package/scripts/run/event/run-event-plan.ts +1 -1
  1922. package/scripts/run/event/run-event-render.ts +5 -0
  1923. package/scripts/run/event/run-event-retry.ts +34 -0
  1924. package/scripts/run/event/run-event-scope.ts +4 -1
  1925. package/scripts/run/event/run-event-setup.ts +55 -5
  1926. package/scripts/run/event/run-event-step.ts +81 -0
  1927. package/scripts/run/event/run-event-stream-emit.ts +63 -23
  1928. package/scripts/run/event/run-event-stream.ts +69 -21
  1929. package/scripts/run/event/run-event-tail.ts +122 -0
  1930. package/scripts/run/event/run-event-watch.ts +12 -7
  1931. package/scripts/run/handoff/run-handoff-args.ts +93 -0
  1932. package/scripts/run/handoff/run-handoff-cli.ts +320 -0
  1933. package/scripts/run/handoff/run-handoff-final.ts +38 -0
  1934. package/scripts/run/handoff/run-handoff-launch.ts +113 -0
  1935. package/scripts/run/handoff/run-handoff-retrospective.ts +48 -0
  1936. package/scripts/run/handoff-lanes/run-handoff-lanes-cli.ts +31 -0
  1937. package/scripts/run/handoff-lanes/run-handoff-lanes.ts +183 -0
  1938. package/scripts/run/hold/run-hold-block.ts +35 -0
  1939. package/scripts/run/hold/run-hold-cli.ts +20 -36
  1940. package/scripts/run/hold/run-hold-main.ts +16 -1
  1941. package/scripts/run/hold/run-hold.ts +12 -8
  1942. package/scripts/run/hold/run-stop-notify.ts +1 -1
  1943. package/scripts/run/launch-priority.ts +4 -7
  1944. package/scripts/run/merge/run-merge-auth.ts +38 -13
  1945. package/scripts/run/merge/run-merge-cap.ts +11 -6
  1946. package/scripts/run/merge/run-merge-cli.ts +55 -58
  1947. package/scripts/run/merge/run-merge-dated.ts +64 -0
  1948. package/scripts/run/merge/run-merge-decision.ts +183 -0
  1949. package/scripts/run/merge/run-merge-driver.ts +2 -0
  1950. package/scripts/run/merge/run-merge-github-limit.ts +98 -0
  1951. package/scripts/run/merge/run-merge-health.ts +137 -0
  1952. package/scripts/run/merge/run-merge-human-review.ts +26 -0
  1953. package/scripts/run/merge/run-merge-restart.ts +10 -3
  1954. package/scripts/run/merge/run-merge-signals.ts +34 -9
  1955. package/scripts/run/merge/run-merge-steps.ts +49 -50
  1956. package/scripts/run/merge/run-merge-token.ts +3 -4
  1957. package/scripts/run/merge/run-merge-usage-limit.ts +22 -9
  1958. package/scripts/run/merge/run-merge-withdrawn.ts +4 -3
  1959. package/scripts/run/merge/run-merge.ts +36 -18
  1960. package/scripts/run/park/run-park-answered.ts +84 -0
  1961. package/scripts/run/park/run-park-body.ts +346 -0
  1962. package/scripts/run/park/run-park-cli.ts +49 -12
  1963. package/scripts/run/park/run-park-escalate.ts +102 -0
  1964. package/scripts/run/park/run-park-lane.ts +41 -0
  1965. package/scripts/run/park/run-park-release.ts +61 -0
  1966. package/scripts/run/park/run-park-write.ts +41 -0
  1967. package/scripts/run/park/run-park.ts +2 -4
  1968. package/scripts/run/park/run-stalled-park.ts +32 -0
  1969. package/scripts/run/park/run-stalled.ts +97 -12
  1970. package/scripts/run/pause/run-pause-cli.ts +4 -3
  1971. package/scripts/run/pause/run-pause-comment.ts +30 -0
  1972. package/scripts/run/pause/run-pause.ts +35 -223
  1973. package/scripts/run/pause/run-set-aside-commit.ts +52 -0
  1974. package/scripts/run/pause/run-set-aside.ts +139 -0
  1975. package/scripts/run/prime/run-prime-cli.ts +105 -0
  1976. package/scripts/run/progress/run-progress-cli.ts +44 -27
  1977. package/scripts/run/progress/run-progress-config.ts +7 -18
  1978. package/scripts/run/progress/run-progress.ts +16 -7
  1979. package/scripts/run/review/run-chain-cli.ts +162 -0
  1980. package/scripts/run/review/run-chain-join.ts +108 -0
  1981. package/scripts/run/review/run-chain-review-fix.ts +70 -0
  1982. package/scripts/run/review/run-chain.ts +167 -0
  1983. package/scripts/run/review/run-review-cli.ts +127 -53
  1984. package/scripts/run/review/run-review-early-push.ts +46 -12
  1985. package/scripts/run/review/run-review-join-ready.ts +88 -0
  1986. package/scripts/run/review/run-review-pinned-accepted.ts +15 -1
  1987. package/scripts/run/review/run-review-pinned-join.ts +8 -4
  1988. package/scripts/run/review/run-review-pinned-steps.ts +12 -7
  1989. package/scripts/run/review/run-review-pinned.ts +8 -3
  1990. package/scripts/run/review/run-review-steps.ts +29 -14
  1991. package/scripts/run/review/run-review-unplanned.ts +75 -0
  1992. package/scripts/run/review/run-review.ts +4 -4
  1993. package/scripts/run/run-halfrun-resume.ts +9 -1
  1994. package/scripts/run/run-headless-keys.ts +23 -0
  1995. package/scripts/run/run-headless.ts +77 -13
  1996. package/scripts/run/run-investigation-record.ts +66 -0
  1997. package/scripts/run/run-label-main.ts +55 -0
  1998. package/scripts/run/run-label.ts +20 -4
  1999. package/scripts/run/run-liveness-cli.ts +1 -1
  2000. package/scripts/run/run-liveness.ts +6 -5
  2001. package/scripts/run/run-maintenance.ts +66 -0
  2002. package/scripts/run/run-open-pr.ts +19 -0
  2003. package/scripts/run/run-parent-cut-hook.ts +17 -9
  2004. package/scripts/run/run-pickup-cli.ts +86 -0
  2005. package/scripts/run/run-pickup-launch.ts +85 -0
  2006. package/scripts/run/run-poll-hook.ts +14 -7
  2007. package/scripts/run/run-pr-return.ts +99 -0
  2008. package/scripts/run/run-prep-cli.ts +54 -7
  2009. package/scripts/run/run-prep-locate.ts +8 -3
  2010. package/scripts/run/run-prep-summary.ts +55 -0
  2011. package/scripts/run/run-prep.ts +37 -1
  2012. package/scripts/run/run-report-cli.ts +13 -2
  2013. package/scripts/run/run-report-end.ts +133 -0
  2014. package/scripts/run/run-report-handoff.ts +1 -1
  2015. package/scripts/run/run-report.ts +7 -1
  2016. package/scripts/run/run-stage-read.ts +38 -4
  2017. package/scripts/run/run-stage.ts +18 -6
  2018. package/scripts/run/run-status.ts +2 -1
  2019. package/scripts/run/run-step-cli.ts +38 -10
  2020. package/scripts/run/run-step-lane-plan.ts +26 -12
  2021. package/scripts/run/run-step-progress.ts +61 -0
  2022. package/scripts/run/run-step-section-driver.ts +27 -0
  2023. package/scripts/run/run-step-section-once.ts +83 -0
  2024. package/scripts/run/run-step-section-table.ts +120 -0
  2025. package/scripts/run/run-step-section.ts +39 -53
  2026. package/scripts/run/run-step.ts +4 -3
  2027. package/scripts/run/run-stop-notify.ts +1 -1
  2028. package/scripts/run/run-tail-cli.ts +14 -6
  2029. package/scripts/run/run-tail.ts +22 -0
  2030. package/scripts/run/run-watcher-guard.ts +15 -5
  2031. package/scripts/run/run-watcher-hook.ts +12 -6
  2032. package/scripts/run/ship/run-ship-args.ts +8 -1
  2033. package/scripts/run/ship/run-ship-cli.ts +68 -65
  2034. package/scripts/run/ship/run-ship-conflict-probe.ts +12 -14
  2035. package/scripts/run/ship/run-ship-detach-wait.ts +25 -0
  2036. package/scripts/run/ship/run-ship-detach.ts +29 -35
  2037. package/scripts/run/ship/run-ship-early-push.ts +34 -0
  2038. package/scripts/run/ship/run-ship-evidence-cli.ts +133 -0
  2039. package/scripts/run/ship/run-ship-evidence.ts +71 -0
  2040. package/scripts/run/ship/run-ship-final-review.ts +28 -0
  2041. package/scripts/run/ship/run-ship-gate-runs.ts +58 -0
  2042. package/scripts/run/ship/run-ship-group.ts +38 -0
  2043. package/scripts/run/ship/run-ship-handover.ts +1 -1
  2044. package/scripts/run/ship/run-ship-lap.ts +100 -12
  2045. package/scripts/run/ship/run-ship-narrowed.ts +104 -0
  2046. package/scripts/run/ship/run-ship-next.ts +3 -3
  2047. package/scripts/run/ship/run-ship-pair-runs.ts +127 -0
  2048. package/scripts/run/ship/run-ship-place.ts +9 -8
  2049. package/scripts/run/ship/run-ship-planned.ts +1 -1
  2050. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +7 -1
  2051. package/scripts/run/ship/run-ship-pre-detach.ts +18 -12
  2052. package/scripts/run/ship/run-ship-preflight-reuse.ts +53 -0
  2053. package/scripts/run/ship/run-ship-preflight.ts +21 -2
  2054. package/scripts/run/ship/run-ship-probe.ts +5 -15
  2055. package/scripts/run/ship/run-ship-record-wait.ts +30 -0
  2056. package/scripts/run/ship/run-ship-relaunch-cap.ts +107 -14
  2057. package/scripts/run/ship/run-ship-relaunch.ts +7 -1
  2058. package/scripts/run/ship/run-ship-removed-rows.ts +34 -10
  2059. package/scripts/run/ship/run-ship-reship.ts +125 -0
  2060. package/scripts/run/ship/run-ship-return.ts +68 -22
  2061. package/scripts/run/ship/run-ship-review-checkpoint.ts +112 -0
  2062. package/scripts/run/ship/run-ship-review-reason.ts +3 -1
  2063. package/scripts/run/ship/run-ship-review-steps.ts +80 -31
  2064. package/scripts/run/ship/run-ship-review.ts +13 -9
  2065. package/scripts/run/ship/run-ship-reviewer.ts +59 -7
  2066. package/scripts/run/ship/run-ship-scoped.ts +232 -21
  2067. package/scripts/run/ship/run-ship-stage.ts +3 -5
  2068. package/scripts/run/ship/run-ship-steps.ts +65 -20
  2069. package/scripts/run/ship/run-ship-stop-cause.ts +64 -2
  2070. package/scripts/run/ship/run-ship-stop-context.ts +5 -5
  2071. package/scripts/run/ship/run-ship-stop-text.ts +1 -1
  2072. package/scripts/run/ship/run-ship-supervised.ts +38 -0
  2073. package/scripts/run/ship/run-ship-sync.ts +114 -19
  2074. package/scripts/run/ship/run-ship-synced-scope.ts +162 -58
  2075. package/scripts/run/ship/run-ship-tree-stamp.ts +35 -0
  2076. package/scripts/run/ship/run-ship-wait-cli.ts +23 -25
  2077. package/scripts/run/ship/run-ship-wait-main.ts +12 -0
  2078. package/scripts/run/ship/run-ship-waiter.ts +8 -6
  2079. package/scripts/run/ship/run-ship.ts +12 -0
  2080. package/scripts/run/split/run-split-cli.ts +134 -0
  2081. package/scripts/run/split/run-split-prerequisite.ts +75 -0
  2082. package/scripts/run/split/run-split.ts +213 -0
  2083. package/scripts/run/stale/run-stale-cli.ts +86 -0
  2084. package/scripts/run/stale/run-stale-main.ts +7 -0
  2085. package/scripts/run/stale/run-stale.ts +117 -0
  2086. package/scripts/run/tidy/run-tidy-cli.ts +24 -2
  2087. package/scripts/run/tree-status-cli.ts +131 -0
  2088. package/scripts/run/tree-status.ts +77 -0
  2089. package/scripts/run/ts-entry-loader.ts +34 -0
  2090. package/scripts/run/wake/run-wake-await.ts +22 -2
  2091. package/scripts/run/wake/run-wake-cli.ts +3 -3
  2092. package/scripts/run/wake/run-wake-describe.ts +1 -1
  2093. package/scripts/run/wake/run-wake-driver.ts +158 -61
  2094. package/scripts/run/wake/run-wake-handoff.ts +65 -14
  2095. package/scripts/run/wake/run-wake-loop.ts +63 -23
  2096. package/scripts/run/wake/run-wake-ports.ts +99 -17
  2097. package/scripts/run/wake/run-wake-resume.ts +98 -0
  2098. package/scripts/run/wake/run-wake-session.ts +16 -14
  2099. package/scripts/run/wake/run-wake-window.ts +15 -0
  2100. package/scripts/run/wake/run-wake.ts +7 -6
  2101. package/scripts/safe-chain/preinstall-command.ts +3 -6
  2102. package/scripts/safe-chain/project-config.ts +2 -2
  2103. package/scripts/security/security-audit-cache.ts +157 -0
  2104. package/scripts/security/security-audit-main.ts +4 -2
  2105. package/scripts/security/security-audit-provision-logic.ts +4 -4
  2106. package/scripts/security/security-audit-provision-main.ts +19 -5
  2107. package/scripts/split/declared-growth.ts +22 -0
  2108. package/scripts/split/split-assess.ts +229 -37
  2109. package/scripts/split/split-child-recover-cli.ts +118 -0
  2110. package/scripts/split/split-direction.ts +172 -0
  2111. package/scripts/split/split-measure.ts +28 -14
  2112. package/scripts/split/split-relocations.ts +108 -0
  2113. package/scripts/split/split-resolution.ts +63 -61
  2114. package/scripts/sync/claude-settings-merge.ts +8 -4
  2115. package/scripts/sync/managed-config-scope.ts +13 -1
  2116. package/scripts/sync/sync-ai-files.ts +2 -2
  2117. package/scripts/sync/sync-configs.ts +3 -5
  2118. package/scripts/test/test-e2e-guard.ts +2 -1
  2119. package/scripts/test/test-inputs.ts +119 -0
  2120. package/scripts/test/test-no-base.ts +35 -16
  2121. package/scripts/test/test-pinned-cache-logic.ts +4 -0
  2122. package/scripts/test/test-pinned-cache.ts +8 -15
  2123. package/scripts/test/test-pinned-carry.ts +93 -0
  2124. package/scripts/test/test-pinned-emit.ts +2 -1
  2125. package/scripts/test/test-pinned-ledger.ts +15 -9
  2126. package/scripts/test/test-pinned-logic.ts +66 -4
  2127. package/scripts/test/test-pinned-main.ts +6 -30
  2128. package/scripts/test/test-pinned-moves.ts +43 -0
  2129. package/scripts/test/test-pinned-probe.ts +61 -17
  2130. package/scripts/test/test-pinned-prune-logic.ts +2 -1
  2131. package/scripts/test/test-pinned-reach.ts +11 -3
  2132. package/scripts/test/test-pinned-record.ts +36 -4
  2133. package/scripts/test/test-pinned-snapshot.ts +110 -0
  2134. package/scripts/test/test-pinned-spawn.ts +32 -7
  2135. package/scripts/test/test-pinned-stage.ts +43 -16
  2136. package/scripts/test/test-pinned-type-check.ts +110 -0
  2137. package/scripts/test/test-pinned.ts +92 -35
  2138. package/scripts/test/test-red-logic.ts +40 -2
  2139. package/scripts/test/test-red.ts +131 -19
  2140. package/scripts/test/test-related-cap.ts +182 -0
  2141. package/scripts/test/test-related-main.ts +2 -4
  2142. package/scripts/test/test-related-pins.ts +33 -0
  2143. package/scripts/test/test-related-record.ts +84 -8
  2144. package/scripts/test/test-related-red.ts +218 -0
  2145. package/scripts/test/test-related-reuse.ts +167 -0
  2146. package/scripts/test/test-related-run.ts +144 -0
  2147. package/scripts/test/test-related-synced.ts +31 -8
  2148. package/scripts/test/test-related-touched.ts +29 -6
  2149. package/scripts/test/test-related-verdict.ts +127 -0
  2150. package/scripts/test/test-related-whole.ts +22 -0
  2151. package/scripts/test/test-related.ts +124 -147
  2152. package/scripts/test/test-type-logic.ts +1 -2
  2153. package/scripts/test/test-unit-guard.ts +12 -3
  2154. package/scripts/test/unit-count-file.ts +25 -1
  2155. package/scripts/test/unit-lane-count.ts +63 -0
  2156. package/scripts/test/unit-run-marker.ts +11 -1
  2157. package/scripts/test/unit-update-arguments.ts +73 -0
  2158. package/scripts/test/unit-worker-share.ts +28 -13
  2159. package/scripts/test/whole-suite-files.ts +2 -0
  2160. package/scripts/time-runtime/guard-rephrase.ts +66 -0
  2161. package/scripts/time-runtime/time-agent-bundles.ts +5 -5
  2162. package/scripts/time-runtime/time-bundle-call.ts +2 -2
  2163. package/scripts/time-runtime/time-bundles.ts +2 -2
  2164. package/scripts/time-runtime/time-command-key.ts +2 -5
  2165. package/scripts/time-runtime/time-density-hook.ts +2 -31
  2166. package/scripts/time-runtime/time-format.ts +4 -4
  2167. package/scripts/time-runtime/time-josh-names.ts +51 -0
  2168. package/scripts/time-runtime/time-markers.ts +4 -4
  2169. package/scripts/time-runtime/time-phase-names.ts +2 -2
  2170. package/scripts/time-runtime/time-shell.ts +28 -17
  2171. package/scripts/time-runtime/time-single-check.ts +4 -4
  2172. package/scripts/time-runtime/time-spans.ts +8 -8
  2173. package/scripts/time-runtime/time-tool-call.ts +4 -3
  2174. package/scripts/time-runtime/time-transcript-block.ts +172 -0
  2175. package/scripts/time-runtime/time-transcript-line.ts +26 -158
  2176. package/scripts/time-runtime/transcript-tail.ts +39 -0
  2177. package/scripts/ui/ui-shot-cli.ts +90 -0
  2178. package/scripts/ui/ui-shot.ts +95 -0
  2179. package/scripts/usage/usage-state-path.ts +22 -0
  2180. package/scripts/usage/usage-tee-cli.ts +5 -0
  2181. package/scripts/usage/usage-tee.ts +48 -0
  2182. package/scripts/version/development-engines-verdict.ts +7 -1
  2183. package/scripts/version/fresh-metadata-cache.ts +4 -3
  2184. package/scripts/version/latest-corepack.ts +3 -3
  2185. package/scripts/version/latest-if-required-cli.ts +32 -4
  2186. package/scripts/version/latest-scope-cli.ts +12 -2
  2187. package/scripts/version/latest-stamp.ts +5 -4
  2188. package/scripts/version/npm-registry.ts +19 -0
  2189. package/scripts/version/playwright-browsers.ts +1 -1
  2190. package/scripts/version/release-hold.ts +2 -2
  2191. package/scripts/version/upgrade-command-guard.ts +1 -1
  2192. package/templates/prettierignore.basic +3 -0
  2193. package/templates/sonar-project.properties +2 -1
  2194. package/templates/workflows/ci.yml +5 -4
  2195. package/tsconfig/base.json +1 -0
  2196. package/dist/hooks/chunk-3GKE653K.js +0 -6204
  2197. package/dist/hooks/chunk-45CJJOO7.js +0 -1243
  2198. package/dist/hooks/chunk-5PM2JRGV.js +0 -7780
  2199. package/dist/hooks/chunk-7SIUNQXK.js +0 -3591
  2200. package/dist/hooks/chunk-Z6DQJKH3.js +0 -2806
  2201. package/prompts/collaboration-workflow.md +0 -28
  2202. package/scripts/epic/epic-bundle-poll.ts +0 -41
  2203. package/scripts/josh/josh-commands-lane.ts +0 -310
  2204. package/scripts/josh/josh-commands-split.ts +0 -28
  2205. package/scripts/review/review-lint-cli.ts +0 -57
  2206. package/scripts/split/split-early-notice.ts +0 -116
@@ -1,1729 +1,132 @@
1
1
  #!/usr/bin/env tsx
2
+ import {
3
+ cost_pricing
4
+ } from "./chunk-GW4UWR3O.js";
5
+ import {
6
+ backlogrun_parent_read_set,
7
+ lane_child_read_set
8
+ } from "./chunk-6GQX752S.js";
9
+ import "./chunk-JIGBNCDR.js";
10
+ import "./chunk-YM77CF4D.js";
11
+ import {
12
+ entry_read_set
13
+ } from "./chunk-SZG5HDNP.js";
14
+ import "./chunk-QOSC5RKD.js";
15
+ import "./chunk-EUGNQCYK.js";
16
+ import "./chunk-BIKGPT52.js";
17
+ import "./chunk-V5OUZFWK.js";
18
+ import "./chunk-UIMMWH7U.js";
19
+ import "./chunk-Q426ZSZ4.js";
20
+ import "./chunk-MSPIR3OA.js";
21
+ import "./chunk-JFLFGLE4.js";
22
+ import "./chunk-AWLYN2SP.js";
23
+ import "./chunk-K64EIHD2.js";
24
+ import "./chunk-SV4FZR24.js";
25
+ import "./chunk-UCI4AL3Q.js";
26
+ import {
27
+ lane_instructions
28
+ } from "./chunk-Y4EBUI6M.js";
29
+ import "./chunk-OIX2363L.js";
30
+ import "./chunk-S4M6UWR2.js";
31
+ import "./chunk-FVDQNMP6.js";
32
+ import "./chunk-RN2YDNLF.js";
33
+ import "./chunk-RW64VHEB.js";
34
+ import {
35
+ agent_role_profile
36
+ } from "./chunk-6UCWAFQY.js";
37
+ import "./chunk-DYZOOWVW.js";
38
+ import "./chunk-6I2JM5UX.js";
39
+ import "./chunk-BYSPYVLD.js";
40
+ import "./chunk-NDWZTWXV.js";
41
+ import "./chunk-3WWQFCGX.js";
42
+ import "./chunk-LAYSCY4L.js";
43
+ import "./chunk-N7QTMTST.js";
44
+ import "./chunk-7HAGC6SW.js";
45
+ import "./chunk-6CJXLPRI.js";
46
+ import "./chunk-OJ65BZBV.js";
47
+ import "./chunk-LHKXJD6L.js";
48
+ import "./chunk-WVR4RUFP.js";
49
+ import "./chunk-ROJXMBXP.js";
50
+ import "./chunk-RLBFEHHC.js";
51
+ import "./chunk-LQXFVZTS.js";
52
+ import "./chunk-EMTZAGT5.js";
53
+ import "./chunk-NFKULY26.js";
54
+ import "./chunk-JTU5A4JI.js";
55
+ import "./chunk-65E4OZJ7.js";
56
+ import "./chunk-X3TNPALI.js";
57
+ import "./chunk-XXNEY4B3.js";
58
+ import "./chunk-EWVR5AEX.js";
59
+ import "./chunk-C6QSVO5K.js";
60
+ import "./chunk-5RG4S66L.js";
61
+ import "./chunk-O3NDWYNT.js";
62
+ import "./chunk-OKZWEVR4.js";
63
+ import "./chunk-NSAVEXVR.js";
64
+ import "./chunk-ZZXO6TFH.js";
65
+ import "./chunk-34DND4BA.js";
66
+ import "./chunk-P4KIQRSL.js";
67
+ import "./chunk-QQBMVC5W.js";
68
+ import "./chunk-QAHFPCFR.js";
69
+ import "./chunk-66TGK5XL.js";
70
+ import "./chunk-EZSO25UZ.js";
71
+ import "./chunk-2DJLAUYB.js";
72
+ import "./chunk-EW4NPUMQ.js";
73
+ import "./chunk-BF6YX4HE.js";
74
+ import "./chunk-3LZXX5GL.js";
75
+ import "./chunk-W2IA2LV3.js";
76
+ import "./chunk-OHNP3QL2.js";
77
+ import "./chunk-22DVQCP6.js";
78
+ import "./chunk-MDKDJF2K.js";
79
+ import "./chunk-HQ2HSZBN.js";
80
+ import "./chunk-6HRRZANN.js";
81
+ import "./chunk-I63RNFFR.js";
82
+ import "./chunk-MPGJ4ONJ.js";
83
+ import {
84
+ cost_usage
85
+ } from "./chunk-6WKJ3GDA.js";
86
+ import "./chunk-YIA6FC3K.js";
87
+ import "./chunk-JQXPLMCO.js";
88
+ import "./chunk-66NX6EXR.js";
89
+ import "./chunk-3NWAGIA6.js";
90
+ import "./chunk-2FE3C4PH.js";
91
+ import "./chunk-HLUS2M3D.js";
92
+ import "./chunk-SBGTCT2C.js";
93
+ import "./chunk-AKK56GNX.js";
94
+ import "./chunk-TBIX5FRN.js";
95
+ import "./chunk-IGD6QJPH.js";
96
+ import "./chunk-FFHEGWPK.js";
97
+ import "./chunk-R6QE5VJG.js";
98
+ import "./chunk-4ZHWTTQW.js";
99
+ import "./chunk-RDRN56E4.js";
100
+ import "./chunk-XDF25GSU.js";
101
+ import "./chunk-EBVS2LKX.js";
102
+ import "./chunk-AQ3PMSXK.js";
103
+ import "./chunk-QVOFWFWC.js";
104
+ import "./chunk-G6BXCWPH.js";
105
+ import "./chunk-CDY4NFQG.js";
106
+ import "./chunk-HHBC6QZE.js";
107
+ import "./chunk-QWWTC3XR.js";
108
+ import "./chunk-ILGPZ47M.js";
109
+ import "./chunk-3CCGKX7Y.js";
110
+ import "./chunk-KSR23NYN.js";
111
+ import "./chunk-LR22UK5W.js";
112
+ import "./chunk-V5FD7DVV.js";
113
+ import "./chunk-36LOGVJ7.js";
114
+ import "./chunk-AKQYYHP2.js";
115
+ import "./chunk-CJKPF5DJ.js";
116
+ import "./chunk-RBU2NKHF.js";
117
+ import "./chunk-WB4T3VY2.js";
118
+ import "./chunk-B77ZMVHS.js";
119
+ import "./chunk-B5GXZK3E.js";
120
+ import "./chunk-KTLR4Y32.js";
121
+ import "./chunk-ZNX2LJCQ.js";
122
+ import "./chunk-VJE3RJAX.js";
123
+ import "./chunk-WPAQUMHC.js";
124
+ import "./chunk-HIU2WXB6.js";
2
125
 
3
126
  // scripts/document/read-set-cli.ts
4
- import { fileURLToPath as fileURLToPath3 } from "node:url";
5
-
6
- // scripts/agent/lane-instructions.ts
7
- import path6 from "node:path";
8
- import { fileURLToPath as fileURLToPath2 } from "node:url";
9
-
10
- // scripts/cost-runtime/cost-tokens.ts
11
- var ASCII_CHARS_PER_TOKEN = 3;
12
- var WIDE_TOKENS_PER_CHAR = 1;
13
- var ASCII_LIMIT = 128;
14
- function count_chars(text) {
15
- let ascii_chars = 0;
16
- let wide_chars = 0;
17
- for (const char of text) {
18
- if ((char.codePointAt(0) ?? 0) < ASCII_LIMIT) ascii_chars += 1;
19
- else wide_chars += 1;
20
- }
21
- return { ascii_chars, wide_chars };
22
- }
23
- function estimate(text) {
24
- const { ascii_chars, wide_chars } = count_chars(text);
25
- return Math.round(ascii_chars / ASCII_CHARS_PER_TOKEN) + wide_chars * WIDE_TOKENS_PER_CHAR;
26
- }
27
- function ascii_bytes_to_tokens(bytes) {
28
- return Math.round(bytes / ASCII_CHARS_PER_TOKEN);
29
- }
30
- var cost_tokens = {
31
- ASCII_CHARS_PER_TOKEN,
32
- count_chars,
33
- estimate,
34
- ascii_bytes_to_tokens
35
- };
36
-
37
- // scripts/lib/read-file.ts
38
- import { readFileSync } from "node:fs";
39
- var ABSENT_CODE = "ENOENT";
40
- function is_absent(error) {
41
- return error instanceof Error && "code" in error && error.code === ABSENT_CODE;
42
- }
43
- function read_optional(path9) {
44
- try {
45
- return readFileSync(path9, "utf8");
46
- } catch (error) {
47
- if (is_absent(error)) return void 0;
48
- throw error;
49
- }
50
- }
51
- function read_file_or_empty(path9) {
52
- return read_optional(path9) ?? "";
53
- }
54
- function read_if_readable(path9) {
55
- try {
56
- return readFileSync(path9, "utf8");
57
- } catch {
58
- return void 0;
59
- }
60
- }
61
- var file_reader = { is_absent, read_optional, read_file_or_empty, read_if_readable };
62
-
63
- // scripts/document/document-scan.ts
64
- var COMMAND_PATTERN = /`(?:pnpm )?josh ([a-z][a-z0-9:-]+)/gu;
65
- var LABEL_PATTERN = /(?:labels\[\]=|\/labels\/|labels -f name=)([a-z][a-z0-9:_-]*)/gu;
66
- var SECTION_PATTERN = /(?<![\w./:`-])(?<tick>`?)(?<file>[\w./-]+\.md)\k<tick>\s*→\s*(?:§\w+,\s*)?["「](?<heading>[^"」]+)["」]/gu;
67
- var ADJACENT_PATTERN = /["「](?<heading>[^"「」]+)["」]\s+(?:above|below)\b/gu;
68
- var BARE_ARROW_PATTERN = /→\s*(?:§\w+,\s*)?["「](?<heading>[^"「」]+)["」]/gu;
69
- var LINK_TARGET_PATTERN = /\]\([^)\s]*\)/gu;
70
- var LINK_PATTERN = /\]\(([\w./-]+\.(?:md|png|jpe?g|gif|svg|webp))(?:#[\w-]+)?\)/gu;
71
- var PLACEHOLDER_FILES = /* @__PURE__ */ new Set(["x.md", "foo.md", "file.md", "path.md"]);
72
- function matches(text, pattern) {
73
- return [...text.matchAll(pattern)];
74
- }
75
- function command_references(text) {
76
- return matches(text, COMMAND_PATTERN).map((match) => match[1] ?? "").filter((name) => !name.endsWith(":"));
77
- }
78
- function is_real_label(token) {
79
- return token.length > 0 && !token.endsWith(":") && !token.includes("<");
80
- }
81
- function label_references(text) {
82
- return matches(text, LABEL_PATTERN).map((match) => match[1] ?? "").filter((token) => is_real_label(token));
83
- }
84
- function base_name(path9) {
85
- return path9.split("/").at(-1) ?? path9;
86
- }
87
- function is_placeholder_file(name) {
88
- return name.includes("<") || PLACEHOLDER_FILES.has(base_name(name).toLowerCase());
89
- }
90
- function section_references(text) {
91
- return matches(text.replaceAll(LINK_TARGET_PATTERN, ""), SECTION_PATTERN).map(({ groups }) => ({ file: groups?.["file"] ?? "", heading: groups?.["heading"] ?? "" })).filter((reference) => !is_placeholder_file(reference.file));
92
- }
93
- function headings_matching(text, pattern) {
94
- return matches(text, pattern).map(({ groups }) => groups?.["heading"] ?? "");
95
- }
96
- function adjacent_references(text) {
97
- return headings_matching(text, ADJACENT_PATTERN);
98
- }
99
- function bare_arrow_references(text) {
100
- const unfiled = text.replaceAll(LINK_TARGET_PATTERN, "").replaceAll(SECTION_PATTERN, "");
101
- return headings_matching(unfiled, BARE_ARROW_PATTERN);
102
- }
103
- function link_targets(text) {
104
- return matches(text, LINK_PATTERN).map((match) => match[1] ?? "").filter((file) => !is_placeholder_file(file));
105
- }
106
- function normalize_reference(heading) {
107
- return heading.replaceAll("`", "").split(/\s+/u).filter((word) => word !== ">").join(" ");
108
- }
109
- function reference_forms(title) {
110
- const normalized = normalize_reference(title);
111
- return [normalized, normalized.replace(/^\d+[a-z]?\. /u, "")];
112
- }
113
- var document_scan = {
114
- adjacent_references,
115
- bare_arrow_references,
116
- command_references,
117
- label_references,
118
- link_targets,
119
- normalize_reference,
120
- reference_forms,
121
- section_references
122
- };
123
-
124
- // scripts/document/document-section.ts
125
- var HEADING_PATTERN = /^(?<hashes>#{1,6}) (?<title>.*)$/u;
126
- var FENCE = "```";
127
- var SINGLE_MATCH = 1;
128
- var BOLD_LABEL_PATTERN = /\*\*([^*]+?)\*\*/gu;
129
- var BOLD_DELIMITER = "**";
130
- var CODE_SPAN_PATTERN = /``[^\n]*?``|`[^`\n]*`/gu;
131
- var LABEL_LEVEL = 7;
132
- var LIST_ITEM_PATTERN = /^(?<indent>\s*)(?:[-*]|\d+\.) /u;
133
- function to_heading(line, index) {
134
- const groups = HEADING_PATTERN.exec(line)?.groups;
135
- if (groups === void 0) return void 0;
136
- const { hashes = "", title = "" } = groups;
137
- return { level: hashes.length, title: title.trim(), line: index };
138
- }
139
- function push_heading(found, line, index) {
140
- const heading = to_heading(line, index);
141
- if (heading !== void 0) found.push(heading);
142
- }
143
- function fenced_flags(lines) {
144
- let is_inside_fence = false;
145
- return lines.map(function is_fenced(line) {
146
- if (!line.startsWith(FENCE)) return is_inside_fence;
147
- is_inside_fence = !is_inside_fence;
148
- return true;
149
- });
150
- }
151
- function headings(markdown) {
152
- const lines = markdown.split("\n");
153
- const fenced = fenced_flags(lines);
154
- const found = [];
155
- for (const [index, line] of lines.entries()) {
156
- if (fenced[index] !== true) push_heading(found, line, index);
157
- }
158
- return found;
159
- }
160
- function titles(markdown) {
161
- return headings(markdown).map((heading) => heading.title);
162
- }
163
- function line_starts(markdown) {
164
- return [...markdown.matchAll(/\n/gu)].map((match) => match.index + SINGLE_MATCH);
165
- }
166
- function line_of(starts, offset) {
167
- return starts.filter((start) => start <= offset).length;
168
- }
169
- function unfenced_text(markdown) {
170
- const lines = markdown.split("\n");
171
- const fenced = fenced_flags(lines);
172
- return lines.map((line, index) => fenced[index] === true ? "" : line).join("\n");
173
- }
174
- function code_masked(text) {
175
- return text.replaceAll(CODE_SPAN_PATTERN, (span) => span.replaceAll("*", " "));
176
- }
177
- function labels(markdown) {
178
- const text = unfenced_text(markdown);
179
- const starts = line_starts(text);
180
- return [...code_masked(text).matchAll(BOLD_LABEL_PATTERN)].map((match) => ({
181
- level: LABEL_LEVEL,
182
- title: text.slice(
183
- match.index + BOLD_DELIMITER.length,
184
- match.index + match[0].length - BOLD_DELIMITER.length
185
- ),
186
- line: line_of(starts, match.index)
187
- }));
188
- }
189
- function is_match(heading, wanted) {
190
- return document_scan.reference_forms(heading.title).some((form) => form.startsWith(wanted));
191
- }
192
- function prefixed(found, wanted) {
193
- const normalized = document_scan.normalize_reference(wanted);
194
- return found.filter((heading) => is_match(heading, normalized));
195
- }
196
- function is_exact(heading, wanted) {
197
- return document_scan.reference_forms(heading.title).includes(wanted);
198
- }
199
- function select(found, wanted) {
200
- const normalized = document_scan.normalize_reference(wanted);
201
- const exact = found.find((heading) => is_exact(heading, normalized));
202
- if (exact !== void 0) return exact;
203
- const near = prefixed(found, wanted);
204
- return near.length === SINGLE_MATCH ? near[0] : void 0;
205
- }
206
- function last_line_of(found, chosen, total_lines2) {
207
- const next = found.find((heading) => heading.line > chosen.line && heading.level <= chosen.level);
208
- return (next === void 0 ? total_lines2 : next.line) - SINGLE_MATCH;
209
- }
210
- function indent_of(line) {
211
- return line.length - line.trimStart().length;
212
- }
213
- function is_sibling_item(line, depth) {
214
- const { indent } = LIST_ITEM_PATTERN.exec(line)?.groups ?? {};
215
- return indent !== void 0 && indent.length <= depth;
216
- }
217
- function ends_block(line, depth) {
218
- if (line.trim() === "" || HEADING_PATTERN.test(line)) return true;
219
- return is_sibling_item(line, depth);
220
- }
221
- function label_last_line(lines, label) {
222
- const depth = indent_of(lines[label.line] ?? "");
223
- const end = lines.findIndex((line, index) => index > label.line && ends_block(line, depth));
224
- return (end === -1 ? lines.length : end) - SINGLE_MATCH;
225
- }
226
- function choose(markdown, wanted) {
227
- const found = headings(markdown);
228
- if (prefixed(found, wanted).length > 0) return select(found, wanted);
229
- return select(labels(markdown), wanted);
230
- }
231
- function extent_of(markdown, chosen) {
232
- const lines = markdown.split("\n");
233
- if (chosen.level === LABEL_LEVEL) return label_last_line(lines, chosen);
234
- return last_line_of(headings(markdown), chosen, lines.length);
235
- }
236
- function section(markdown, wanted) {
237
- const chosen = choose(markdown, wanted);
238
- if (chosen === void 0) return void 0;
239
- const last_line = extent_of(markdown, chosen);
240
- const lines = markdown.split("\n").slice(chosen.line, last_line + SINGLE_MATCH);
241
- return {
242
- title: chosen.title,
243
- level: chosen.level,
244
- first_line: chosen.line,
245
- last_line,
246
- text: lines.join("\n")
247
- };
248
- }
249
- function candidates(markdown, wanted) {
250
- const near = prefixed(headings(markdown), wanted);
251
- const listed = near.length > 0 ? near : prefixed(labels(markdown), wanted);
252
- return listed.map((heading) => heading.title);
253
- }
254
- function read_optional2(file_path) {
255
- return file_reader.read_if_readable(file_path);
256
- }
257
- var document_section = {
258
- candidates,
259
- fenced_flags,
260
- headings,
261
- read_optional: read_optional2,
262
- section,
263
- titles
264
- };
265
-
266
- // scripts/init/distributed-paths.ts
267
- var KIT_PACKAGE_PATH_PREFIX = "node_modules/@joshuafolkken/kit/";
268
- var PROMPTS_PACKAGE_PREFIX = `${KIT_PACKAGE_PATH_PREFIX}prompts/`;
269
- var ESLINT_PACKAGE_PREFIX = `${KIT_PACKAGE_PATH_PREFIX}eslint/`;
270
- var GITHUB_REPO_BLOB_BASE = "https://github.com/joshuafolkken/kit/blob/main/";
271
- var GITHUB_REPO_TREE_BASE = "https://github.com/joshuafolkken/kit/tree/main/";
272
- var CLAUDE_MD_IMPORT_LINE = "@node_modules/@joshuafolkken/kit/dist/CLAUDE.md";
273
- var OLD_CLAUDE_MD_BOOTSTRAP = "> Fresh checkout: if kit is not installed, run `pnpm install` first, then reread this file before doing any other work.";
274
- var CLAUDE_MD_BOOTSTRAP = '> Fresh checkout: before `pnpm install`, run `pnpm config get "@joshuafolkken:registry"` from the project root to check the effective registry, including user-level settings. If it points to GitHub Packages, [set up authentication](https://github.com/joshuafolkken/kit/blob/main/docs/authentication.md#1-get-a-token-from-the-gh-cli) first. Then run `pnpm install` and reread this file before doing any other work.';
275
- function transform_prompt_paths(content) {
276
- return content.replaceAll(
277
- /`prompts\/([^`*]+)`/gu,
278
- (_match, prompt_path) => `\`${PROMPTS_PACKAGE_PREFIX}${prompt_path}\``
279
- );
280
- }
281
- function transform_eslint_paths(content) {
282
- return content.replaceAll(
283
- /`eslint\/([^`*]+)`/gu,
284
- (_match, eslint_path) => `\`${ESLINT_PACKAGE_PREFIX}${eslint_path}\``
285
- );
286
- }
287
- function transform_test_file_paths(content) {
288
- return content.replaceAll(
289
- /`([^`*]+\.(?:test|spec)\.ts)`/gu,
290
- (_match, test_path) => `\`${GITHUB_REPO_BLOB_BASE}${test_path}\``
291
- );
292
- }
293
- function github_url_base(reference_path) {
294
- return reference_path.endsWith("/") ? GITHUB_REPO_TREE_BASE : GITHUB_REPO_BLOB_BASE;
295
- }
296
- function transform_documentation_paths(content) {
297
- return content.replaceAll(
298
- /`(docs\/[^`*]*)`/gu,
299
- (_match, documentation_path) => `\`${github_url_base(documentation_path)}${documentation_path}\``
300
- );
301
- }
302
- function transform_distributed_paths(content) {
303
- const with_prompts = transform_prompt_paths(content);
304
- const with_eslint = transform_eslint_paths(with_prompts);
305
- const with_tests = transform_test_file_paths(with_eslint);
306
- return transform_documentation_paths(with_tests);
307
- }
308
- function ensure_claude_md_import(existing) {
309
- if (existing === void 0) return `${CLAUDE_MD_BOOTSTRAP}
310
-
311
- ${CLAUDE_MD_IMPORT_LINE}
312
- `;
313
- const updated = existing.replace(OLD_CLAUDE_MD_BOOTSTRAP, () => CLAUDE_MD_BOOTSTRAP);
314
- if (updated.includes(CLAUDE_MD_IMPORT_LINE)) {
315
- if (updated.includes(CLAUDE_MD_BOOTSTRAP)) return updated;
316
- return `${CLAUDE_MD_BOOTSTRAP}
317
-
318
- ${updated}`;
319
- }
320
- return `${CLAUDE_MD_BOOTSTRAP}
321
-
322
- ${CLAUDE_MD_IMPORT_LINE}
323
-
324
- ${updated}`;
325
- }
326
- var FULL_CLAUDE_MD_LINES = /* @__PURE__ */ new Set([
327
- CLAUDE_MD_BOOTSTRAP,
328
- OLD_CLAUDE_MD_BOOTSTRAP,
329
- CLAUDE_MD_IMPORT_LINE
330
- ]);
331
- function remove_claude_md_import(content) {
332
- const lines = content.split("\n");
333
- return lines.filter((line, index) => {
334
- if (FULL_CLAUDE_MD_LINES.has(line)) return false;
335
- return line !== "" || !FULL_CLAUDE_MD_LINES.has(lines[index - 1] ?? "");
336
- }).join("\n");
337
- }
338
- var distributed_paths = {
339
- transform_prompt_paths,
340
- transform_distributed_paths,
341
- ensure_claude_md_import,
342
- remove_claude_md_import,
343
- CLAUDE_MD_IMPORT_LINE,
344
- KIT_PACKAGE_PATH_PREFIX
345
- };
346
-
347
- // scripts/josh/package-directory.ts
348
- import { existsSync } from "node:fs";
349
-
350
- // scripts/lib/ancestor-directories.ts
351
- import path from "node:path";
352
- var MAX_DEPTH = 64;
353
- function list(start_directory) {
354
- const directories = [];
355
- let current = path.resolve(start_directory);
356
- while (directories.length < MAX_DEPTH && !directories.includes(current)) {
357
- directories.push(current);
358
- current = path.dirname(current);
359
- }
360
- return directories;
361
- }
362
- function nearest(start_directory, is_match2) {
363
- return list(start_directory).find((directory) => is_match2(directory));
364
- }
365
- var ancestor_directories = { list, nearest };
366
-
367
- // scripts/lib/package-manifest.ts
368
- import { readFileSync as readFileSync2 } from "node:fs";
369
- import path2 from "node:path";
370
-
371
- // scripts/lib/json-value.ts
372
- function parse_or_undefined(text) {
373
- try {
374
- return JSON.parse(text);
375
- } catch {
376
- return void 0;
377
- }
378
- }
379
- function parse_with(text, schema) {
380
- const value = parse_or_undefined(text);
381
- if (value === void 0) return void 0;
382
- const parsed = schema.safeParse(value);
383
- return parsed.success ? parsed.data : void 0;
384
- }
385
- function parse_array(text) {
386
- const value = parse_or_undefined(text);
387
- return Array.isArray(value) ? value : void 0;
388
- }
389
- function is_record(value) {
390
- return typeof value === "object" && value !== null && !Array.isArray(value);
391
- }
392
- var json_value = { parse_or_undefined, parse_with, parse_array, is_record };
393
-
394
- // scripts/lib/package-manifest.ts
395
- var PACKAGE_JSON = "package.json";
396
- function manifest_path(directory) {
397
- return path2.join(directory, PACKAGE_JSON);
398
- }
399
- function read_manifest(directory, schema) {
400
- const text = readFileSync2(manifest_path(directory), "utf8");
401
- return schema.parse(JSON.parse(text));
402
- }
403
- function read_manifest_if_valid(directory, schema) {
404
- const text = file_reader.read_if_readable(manifest_path(directory));
405
- if (text === void 0) return void 0;
406
- return json_value.parse_with(text, schema);
407
- }
408
- var package_manifest = { manifest_path, read_manifest, read_manifest_if_valid };
409
-
410
- // scripts/josh/package-directory.ts
411
- function find_package_directory(start_directory) {
412
- return ancestor_directories.nearest(
413
- start_directory,
414
- (directory) => existsSync(package_manifest.manifest_path(directory))
415
- ) ?? start_directory;
416
- }
417
-
418
- // scripts/josh/stamp-file.ts
419
- import { createHash } from "node:crypto";
420
- import { lstatSync, readFileSync as readFileSync3, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "node:fs";
421
- import path5 from "node:path";
422
-
423
- // scripts/init/init-paths.ts
424
- import path3 from "node:path";
127
+ import { dirname as __josh_dirname } from "node:path";
128
+ import { fileURLToPath as __josh_file_path } from "node:url";
425
129
  import { fileURLToPath } from "node:url";
426
- var PACKAGE_DIR = path3.join(path3.dirname(fileURLToPath(import.meta.url)), "..", "..");
427
- var PROJECT_ROOT = process.cwd();
428
-
429
- // scripts/josh/platform-temporary.ts
430
- import { accessSync, constants } from "node:fs";
431
- import { tmpdir } from "node:os";
432
- var POSIX_TEMP_ROOT = "/tmp";
433
- var WINDOWS_PLATFORM = "win32";
434
- function is_writable_directory(directory) {
435
- try {
436
- accessSync(directory, constants.W_OK);
437
- return true;
438
- } catch {
439
- return false;
440
- }
441
- }
442
- function resolve_temporary_root(platform, can_write = is_writable_directory) {
443
- if (platform === WINDOWS_PLATFORM) return tmpdir();
444
- return can_write(POSIX_TEMP_ROOT) ? POSIX_TEMP_ROOT : tmpdir();
445
- }
446
- var TEMP_ROOT_KEY = "JOSH_TEMP_ROOT";
447
- function temporary_root(override, platform) {
448
- return override === void 0 || override === "" ? resolve_temporary_root(platform) : override;
449
- }
450
- var PLATFORM_TEMP_ROOT = temporary_root(process.env[TEMP_ROOT_KEY], process.platform);
451
-
452
- // scripts/lib/atomic-write.ts
453
- import { randomUUID } from "node:crypto";
454
- import { chmodSync, mkdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
455
- import path4 from "node:path";
456
- var STAGING_EXTENSION = ".tmp";
457
- var CREATE_EXCLUSIVE_FLAG = "wx";
458
- function staging_path(target, staging_directory) {
459
- const name = `${path4.basename(target)}.${String(process.pid)}.${randomUUID()}${STAGING_EXTENSION}`;
460
- return path4.join(staging_directory, name);
461
- }
462
- function write_staged(staging, content, mode) {
463
- writeFileSync(staging, content, {
464
- flag: CREATE_EXCLUSIVE_FLAG,
465
- ...mode !== void 0 && { mode }
466
- });
467
- if (mode !== void 0) chmodSync(staging, mode);
468
- }
469
- function replace_file(target, content, options = {}) {
470
- const directory = options.staging_directory ?? path4.dirname(target);
471
- const staging = staging_path(target, directory);
472
- mkdirSync(directory, { recursive: true });
473
- try {
474
- write_staged(staging, content, options.mode);
475
- renameSync(staging, target);
476
- } finally {
477
- rmSync(staging, { force: true });
478
- }
479
- }
480
- var atomic_write = { replace_file };
481
-
482
- // scripts/josh/stamp-file.ts
483
- var HASH_ALGORITHM = "sha256";
484
- var STAMP_SUFFIX = ".json";
485
- var STAMP_KEY_LENGTH = 16;
486
- var STAMP_FILE_MODE = 384;
487
- var STAMP_WRITE_FLAG = "wx";
488
- var STAMP_CREATE_FLAG = STAMP_WRITE_FLAG;
489
- var EXISTS_ERROR_CODE = "EEXIST";
490
- var ACCOUNT_KEY_SEPARATOR = ":";
491
- function digest(content) {
492
- return createHash(HASH_ALGORITHM).update(content).digest("hex");
493
- }
494
- function account_key() {
495
- return String(process.getuid?.() ?? "");
496
- }
497
- function stamp_name(prefix, root = PACKAGE_DIR, suffix = STAMP_SUFFIX) {
498
- const key = digest(`${account_key()}${ACCOUNT_KEY_SEPARATOR}${root}`).slice(0, STAMP_KEY_LENGTH);
499
- return `${prefix}${key}${suffix}`;
500
- }
501
- function stamp_path(prefix, root = PACKAGE_DIR, suffix = STAMP_SUFFIX) {
502
- return path5.join(PLATFORM_TEMP_ROOT, stamp_name(prefix, root, suffix));
503
- }
504
- function write_exclusively(target, content) {
505
- rmSync2(target, { force: true });
506
- writeFileSync2(target, content, { flag: STAMP_WRITE_FLAG, mode: STAMP_FILE_MODE });
507
- return target;
508
- }
509
- function write_stamp(target, payload) {
510
- return write_exclusively(target, JSON.stringify(payload));
511
- }
512
- function is_own_regular_file(source) {
513
- const stats = lstatSync(source);
514
- if (!stats.isFile()) return false;
515
- const uid = process.getuid?.();
516
- return uid === void 0 || stats.uid === uid;
517
- }
518
- function is_foreign_file(target) {
519
- try {
520
- return lstatSync(target).isFile() && !is_own_regular_file(target);
521
- } catch {
522
- return false;
523
- }
524
- }
525
- function replace_text_stamp(target, text) {
526
- if (is_foreign_file(target)) {
527
- throw new Error(`refusing to replace another account's file: ${target}`);
528
- }
529
- atomic_write.replace_file(target, text, { mode: STAMP_FILE_MODE });
530
- return target;
531
- }
532
- function replace_stamp(target, payload) {
533
- return replace_text_stamp(target, JSON.stringify(payload));
534
- }
535
- function write_text_stamp(target, text) {
536
- return write_exclusively(target, text);
537
- }
538
- function create_stamp(target, payload) {
539
- try {
540
- writeFileSync2(target, JSON.stringify(payload), {
541
- flag: STAMP_CREATE_FLAG,
542
- mode: STAMP_FILE_MODE
543
- });
544
- return true;
545
- } catch (error) {
546
- if (error.code === EXISTS_ERROR_CODE) return false;
547
- throw error;
548
- }
549
- }
550
- function remove_stamp(target) {
551
- rmSync2(target, { force: true });
552
- }
553
- function read_stamp_text(source) {
554
- try {
555
- if (!is_own_regular_file(source)) return void 0;
556
- return readFileSync3(source, "utf8");
557
- } catch {
558
- return void 0;
559
- }
560
- }
561
- var stamp_file = {
562
- create_stamp,
563
- digest,
564
- is_own_regular_file,
565
- read_stamp_text,
566
- replace_stamp,
567
- replace_text_stamp,
568
- remove_stamp,
569
- stamp_name,
570
- stamp_path,
571
- write_stamp,
572
- write_text_stamp
573
- };
574
-
575
- // scripts/agent/lane-instructions.ts
576
- var LANE_DOCUMENT = "prompts/collaboration-workflow/lane-instructions.md";
577
- var RULES_FILE = "CLAUDE.md";
578
- var POINTER_FILE = "AGENTS.md";
579
- var INCLUDE_PATTERN = /^<!-- include: CLAUDE\.md → "(?<wanted>.+)" -->$/u;
580
- var PROMPT_FILE_FLAG = "--append-system-prompt-file";
581
- var SETTINGS_FLAG = "--settings";
582
- var PROMPT_FILE_PREFIX = "josh-lane-instructions-";
583
- var PROMPT_FILE_SUFFIX = ".md";
584
- var PACKAGE_DIRECTORY = find_package_directory(path6.dirname(fileURLToPath2(import.meta.url)));
585
- function expand_line(line, rules) {
586
- const wanted = INCLUDE_PATTERN.exec(line)?.groups?.["wanted"];
587
- if (wanted === void 0) return line;
588
- return document_section.section(rules, wanted)?.text;
589
- }
590
- function compose(lane_markdown, rules) {
591
- const expanded = lane_markdown.split("\n").map((line) => expand_line(line, rules));
592
- if (expanded.includes(void 0)) return void 0;
593
- return expanded.join("\n");
594
- }
595
- function rules_sources(cwd) {
596
- const imported = distributed_paths.CLAUDE_MD_IMPORT_LINE.replace(/^@/u, "");
597
- return [path6.join(cwd, RULES_FILE), path6.join(cwd, imported)];
598
- }
599
- function composed_from(lane_markdown, rules_path) {
600
- const rules = document_section.read_optional(rules_path);
601
- return rules === void 0 ? void 0 : compose(lane_markdown, rules);
602
- }
603
- function composed_set(cwd, package_directory) {
604
- const lane_markdown = document_section.read_optional(path6.join(package_directory, LANE_DOCUMENT));
605
- if (lane_markdown === void 0) return void 0;
606
- for (const rules_path of rules_sources(cwd)) {
607
- const text = composed_from(lane_markdown, rules_path);
608
- if (text !== void 0) return { text, rules_path };
609
- }
610
- return void 0;
611
- }
612
- function composed_in(cwd, package_directory = PACKAGE_DIRECTORY) {
613
- return composed_set(cwd, package_directory)?.text;
614
- }
615
- function written(text) {
616
- const file_path = stamp_file.stamp_path(PROMPT_FILE_PREFIX, text, PROMPT_FILE_SUFFIX);
617
- if (stamp_file.read_stamp_text(file_path) === text) return file_path;
618
- try {
619
- return stamp_file.replace_text_stamp(file_path, text);
620
- } catch {
621
- return void 0;
622
- }
623
- }
624
- function excluded_settings(rules_path, cwd) {
625
- return JSON.stringify({ claudeMdExcludes: [rules_path, path6.join(cwd, POINTER_FILE)] });
626
- }
627
- function flags(cwd = process.cwd()) {
628
- const set = composed_set(cwd, PACKAGE_DIRECTORY);
629
- const prompt_file = set === void 0 ? void 0 : written(set.text);
630
- if (set === void 0 || prompt_file === void 0) return [];
631
- return [PROMPT_FILE_FLAG, prompt_file, SETTINGS_FLAG, excluded_settings(set.rules_path, cwd)];
632
- }
633
- function tokens_of(text) {
634
- return cost_tokens.estimate(text).toLocaleString("en-US");
635
- }
636
- function rules_tokens(rules_path) {
637
- return tokens_of(document_section.read_optional(rules_path) ?? "");
638
- }
639
- function resident_line(cwd = process.cwd()) {
640
- const set = composed_set(cwd, PACKAGE_DIRECTORY);
641
- const rules = rules_tokens(set?.rules_path ?? path6.join(cwd, RULES_FILE));
642
- const lane_tokens = set === void 0 ? "not composed" : `${tokens_of(set.text)} tok`;
643
- return ` resident: lane instructions ${lane_tokens} in place of ${RULES_FILE} ${rules} tok`;
644
- }
645
- var lane_instructions = {
646
- PROMPT_FILE_FLAG,
647
- SETTINGS_FLAG,
648
- compose,
649
- composed_in,
650
- flags,
651
- resident_line
652
- };
653
-
654
- // scripts/document/entry-read-set.ts
655
- import { existsSync as existsSync2 } from "node:fs";
656
- import path8 from "node:path";
657
-
658
- // scripts/document/bash-output-cap.ts
659
- import path7 from "node:path";
660
- var SETTINGS_FILE = path7.join(".claude", "settings.json");
661
- var HARNESS_DEFAULT_CAP_CHARS = 3e4;
662
- var ENV_KEY = "env";
663
- var CAP_KEY = "BASH_MAX_OUTPUT_LENGTH";
664
- var NONE = 0;
665
- function property_of(value, key) {
666
- if (typeof value !== "object" || value === null) return void 0;
667
- return Reflect.get(value, key);
668
- }
669
- function declared_cap(text) {
670
- try {
671
- return property_of(property_of(JSON.parse(text), ENV_KEY), CAP_KEY);
672
- } catch {
673
- return void 0;
674
- }
675
- }
676
- function bash_output_cap(root) {
677
- const text = document_section.read_optional(path7.join(root, SETTINGS_FILE)) ?? "";
678
- const chars = Number(declared_cap(text));
679
- return Number.isSafeInteger(chars) && chars > NONE ? chars : HARNESS_DEFAULT_CAP_CHARS;
680
- }
681
- var bash_output_cap_reader = { HARNESS_DEFAULT_CAP_CHARS, bash_output_cap };
682
-
683
- // scripts/document/read-set-cost.ts
684
- var NOTHING = 0;
685
- var ONE_LINE = 1;
686
- function cost_of(text) {
687
- return { bytes: Buffer.byteLength(text, "utf8"), tokens: cost_tokens.estimate(text) };
688
- }
689
- function total(costs) {
690
- const running = { bytes: NOTHING, tokens: NOTHING };
691
- for (const cost of costs) {
692
- running.bytes += cost.bytes;
693
- running.tokens += cost.tokens;
694
- }
695
- return running;
696
- }
697
- function add_range(charged, found) {
698
- for (let index = found.first_line; index <= found.last_line; index += ONE_LINE) charged.add(index);
699
- }
700
- function charged_lines(markdown, headings2) {
701
- const charged = /* @__PURE__ */ new Set();
702
- for (const heading of headings2) {
703
- const found = document_section.section(markdown, heading);
704
- if (found === void 0) return void 0;
705
- add_range(charged, found);
706
- }
707
- return charged;
708
- }
709
- function extend_or_start(runs, index) {
710
- const current = runs.at(-1);
711
- if (current?.at(-1) === index - ONE_LINE) current.push(index);
712
- else runs.push([index]);
713
- }
714
- function contiguous_runs(charged) {
715
- const runs = [];
716
- const ascending = [...charged].toSorted((left, right) => left - right);
717
- for (const index of ascending) extend_or_start(runs, index);
718
- return runs;
719
- }
720
- function run_text(lines, run2) {
721
- return run2.map((index) => lines[index] ?? "").join("\n");
722
- }
723
- function scoped_file_cost(markdown, headings2) {
724
- const charged = charged_lines(markdown, headings2);
725
- if (charged === void 0) return cost_of(markdown);
726
- const lines = markdown.split("\n");
727
- return total(contiguous_runs(charged).map((run2) => cost_of(run_text(lines, run2))));
728
- }
729
- var read_set_cost = { cost_of, scoped_file_cost, total };
730
-
731
- // scripts/document/read-set-point-of-use.ts
732
- var POINT_OF_USE_FILES = /* @__PURE__ */ new Set([
733
- "latest-gate.md",
734
- "followup.md",
735
- "chain-rule.md",
736
- "background-commands.md",
737
- "pre-gate-cut.md",
738
- "progress-watcher.md",
739
- "backlogrun-child.md",
740
- "backlogrun-lanes.md",
741
- "backlogrun-progress.md",
742
- "backlogrun-park.md",
743
- "backlogrun-steps.md",
744
- // Read only when a delegated unit goes silent or a lane's pull request conflicts with `main` — a
745
- // failure path, so a run in which nothing fails never reads it.
746
- "backlogrun-recovery.md",
747
- // Read only when `run:step` prints `pnpm josh retrospective` at a run's stop position — the very
748
- // end of a run, never the entry. Kept out of every entry's read for the
749
- // same reason the phase documents above are: no run that never drains its backlog reaches it.
750
- "retrospective.md"
751
- ]);
752
- var DEFERRED_DECISIONS = /* @__PURE__ */ new Set(["delegation.md", "issue-scout.md"]);
753
- var POINT_OF_USE_BY_ENTRY = /* @__PURE__ */ new Map([
754
- ["kickoff", DEFERRED_DECISIONS],
755
- ["fullrun", DEFERRED_DECISIONS],
756
- ["halfrun", DEFERRED_DECISIONS],
757
- ["prrun", DEFERRED_DECISIONS],
758
- ["backlogrun", /* @__PURE__ */ new Set([...DEFERRED_DECISIONS, "fullrun.md", "split-assessment.md"])]
759
- ]);
760
- var NO_PER_ENTRY_FILES = /* @__PURE__ */ new Set();
761
- function is_point_of_use(entry, file) {
762
- if (POINT_OF_USE_FILES.has(file)) return true;
763
- return (POINT_OF_USE_BY_ENTRY.get(entry) ?? NO_PER_ENTRY_FILES).has(file);
764
- }
765
- function point_of_use_files(entry, cited) {
766
- const reached = [...POINT_OF_USE_FILES].filter((file) => cited.has(file));
767
- return [...reached, ...POINT_OF_USE_BY_ENTRY.get(entry) ?? NO_PER_ENTRY_FILES];
768
- }
769
- var read_set_point_of_use = {
770
- POINT_OF_USE_FILES,
771
- POINT_OF_USE_BY_ENTRY,
772
- is_point_of_use,
773
- point_of_use_files
774
- };
775
-
776
- // scripts/document/entry-read-set.ts
777
- var { POINT_OF_USE_FILES: POINT_OF_USE_FILES2, POINT_OF_USE_BY_ENTRY: POINT_OF_USE_BY_ENTRY2, is_point_of_use: is_point_of_use2, point_of_use_files: point_of_use_files2 } = read_set_point_of_use;
778
- var { cost_of: cost_of2, scoped_file_cost: scoped_file_cost2, total: total2 } = read_set_cost;
779
- var SKILL_DIRECTORY = path8.join(".claude", "skills", "workflow-commands");
780
- var SKILL_FILE = "SKILL.md";
781
- var TABLE_SECTION = "1. Which file to read";
782
- var NOTHING2 = 0;
783
- var HEADING_JOINER = '" + "';
784
- var SUBSECTION_PREFIX = "### ";
785
- var TABLE_ROW = /^\|(?<entry>[^|]+)\|(?<files>[^|]+)\|\s*$/u;
786
- var MARKDOWN_NAME = /`(?<name>[\w.-]+\.md)`/gu;
787
- var ENTRY_KEYWORD = /`(?<keyword>[a-z]+)/u;
788
- var SECTION_REFERENCE = /`(?<file>[\w.-]+\.md)` *→ *"(?<heading>[^"]+)"/gu;
789
- var WHITESPACE_RUN = /\s+/gu;
790
- function document_path(root, name) {
791
- const in_project = path8.join(root, SKILL_DIRECTORY, name);
792
- const in_package = path8.join(PACKAGE_DIR, SKILL_DIRECTORY, name);
793
- const project_manifest = path8.join(root, "package.json");
794
- if (root !== "" && existsSync2(project_manifest) && existsSync2(in_package)) return in_package;
795
- return existsSync2(in_project) ? in_project : in_package;
796
- }
797
- function read_document(root, name) {
798
- return document_section.read_optional(document_path(root, name)) ?? "";
799
- }
800
- function unique(names) {
801
- return [...new Set(names)];
802
- }
803
- function all_matches(text, pattern) {
804
- const scanner = new RegExp(pattern.source, pattern.flags);
805
- const found = [];
806
- let match = scanner.exec(text);
807
- while (match !== null) {
808
- found.push(match);
809
- match = scanner.exec(text);
810
- }
811
- return found;
812
- }
813
- function group_of(match, name) {
814
- return match.groups?.[name] ?? "";
815
- }
816
- function names_in(text) {
817
- return all_matches(text, MARKDOWN_NAME).map((match) => group_of(match, "name"));
818
- }
819
- function columns_of(line) {
820
- const groups = TABLE_ROW.exec(line)?.groups;
821
- if (groups === void 0) return void 0;
822
- const { entry = "", files = "" } = groups;
823
- return { entry, files };
824
- }
825
- function to_row(line) {
826
- const columns = columns_of(line);
827
- if (columns === void 0) return void 0;
828
- const { keyword } = ENTRY_KEYWORD.exec(columns.entry)?.groups ?? {};
829
- return keyword === void 0 ? void 0 : { keyword, files: names_in(columns.files) };
830
- }
831
- function push_row(rows, line) {
832
- const row2 = to_row(line);
833
- if (row2 !== void 0 && row2.files.length > NOTHING2) rows.set(row2.keyword, row2.files);
834
- }
835
- function table_rows(root) {
836
- const rows = /* @__PURE__ */ new Map();
837
- const found = document_section.section(read_document(root, SKILL_FILE), TABLE_SECTION);
838
- const lines = (found?.text ?? "").split("\n");
839
- for (const line of lines) {
840
- if (line.startsWith(SUBSECTION_PREFIX)) break;
841
- push_row(rows, line);
842
- }
843
- return rows;
844
- }
845
- function files_for(root, entry) {
846
- const declared = table_rows(root).get(entry) ?? [];
847
- return unique([SKILL_FILE, ...declared]).filter((file) => !is_point_of_use2(entry, file));
848
- }
849
- function fold(text) {
850
- return text.replaceAll(WHITESPACE_RUN, " ").trim();
851
- }
852
- function is_sibling_document(root, name) {
853
- return document_section.read_optional(document_path(root, name)) !== void 0;
854
- }
855
- function is_counted(root, entry, reference, files) {
856
- if (is_point_of_use2(entry, reference.file)) return false;
857
- return !files.includes(reference.file) && is_sibling_document(root, reference.file);
858
- }
859
- function to_reference(match) {
860
- return { file: group_of(match, "file"), heading: fold(group_of(match, "heading")) };
861
- }
862
- function references_from(root, entry, text, files) {
863
- return all_matches(text, SECTION_REFERENCE).map((match) => to_reference(match)).filter((reference) => is_counted(root, entry, reference, files));
864
- }
865
- function sort_key(reference) {
866
- return `${reference.file} ${reference.heading}`;
867
- }
868
- function dedupe(references) {
869
- const seen = /* @__PURE__ */ new Map();
870
- for (const reference of references) seen.set(sort_key(reference), reference);
871
- return [...seen].map(([, reference]) => reference);
872
- }
873
- function sections_for(root, entry, files) {
874
- const found = files.filter((file) => file !== SKILL_FILE).flatMap((file) => references_from(root, entry, read_document(root, file), files));
875
- return dedupe(found).toSorted((left, right) => sort_key(left).localeCompare(sort_key(right)));
876
- }
877
- function read_set(root, entry) {
878
- const files = files_for(root, entry);
879
- return { entry, files, sections: sections_for(root, entry, files) };
880
- }
881
- function section_cost(root, reference) {
882
- const found = document_section.section(read_document(root, reference.file), reference.heading);
883
- return {
884
- ...reference,
885
- // **An unresolvable reference is charged at the whole file.** Reporting it at zero would let a
886
- // broken pointer read as a saving, which is the one direction this measurement must not move.
887
- cost: cost_of2(found?.text ?? read_document(root, reference.file)),
888
- is_resolved: found !== void 0
889
- };
890
- }
891
- function referenced_cost(root, sections) {
892
- const files = unique(sections.map((reference) => reference.file));
893
- return total2(files.map((file) => cost_of2(read_document(root, file))));
894
- }
895
- function headings_for(sections, file) {
896
- return sections.filter((reference) => reference.file === file).map((one) => one.heading);
897
- }
898
- function scoped_cost(root, sections) {
899
- const files = unique(sections.map((reference) => reference.file));
900
- return total2(
901
- files.map((file) => scoped_file_cost2(read_document(root, file), headings_for(sections, file)))
902
- );
903
- }
904
- function file_costs(root, names) {
905
- return names.map((file) => ({ file, cost: cost_of2(read_document(root, file)) }));
906
- }
907
- function point_of_use_cost(root, file, references) {
908
- const markdown = read_document(root, file);
909
- const headings2 = unique(references.filter((one) => one.file === file).map((one) => one.heading));
910
- if (headings2.length === NOTHING2) {
911
- return { file, heading: "", cost: cost_of2(markdown), is_resolved: true };
912
- }
913
- return {
914
- file,
915
- heading: headings2.join(HEADING_JOINER),
916
- cost: scoped_file_cost2(markdown, headings2),
917
- is_resolved: headings2.every(
918
- (heading) => document_section.section(markdown, heading) !== void 0
919
- )
920
- };
921
- }
922
- function path_texts(root, entry, table_text) {
923
- const manifests = files_for(root, entry).filter((file) => file !== SKILL_FILE);
924
- const rows = table_text.split("\n").filter((line) => line.startsWith("|") && line.includes(`\`${entry}\``));
925
- return [...manifests.map((file) => read_document(root, file)), ...rows];
926
- }
927
- function point_of_use_references(root, entry, table_text) {
928
- const manifests = files_for(root, entry).filter((file) => file !== SKILL_FILE);
929
- const texts = [table_text, ...manifests.map((file) => read_document(root, file))];
930
- return texts.flatMap(
931
- (text) => all_matches(text, SECTION_REFERENCE).map((match) => to_reference(match))
932
- );
933
- }
934
- function point_of_use_costs(root, entry, also) {
935
- const table_text = document_section.section(read_document(root, SKILL_FILE), TABLE_SECTION)?.text ?? "";
936
- const references = point_of_use_references(root, entry, table_text);
937
- const named = path_texts(root, entry, table_text).flatMap((text) => names_in(text));
938
- const cited = /* @__PURE__ */ new Set([...also, ...named]);
939
- return point_of_use_files2(entry, cited).map((file) => point_of_use_cost(root, file, references));
940
- }
941
- function costed(root, entry, also = /* @__PURE__ */ new Set()) {
942
- const { files, sections } = read_set(root, entry);
943
- const own_costs = file_costs(root, files);
944
- const section_costs = sections.map((reference) => section_cost(root, reference));
945
- const own = total2(own_costs.map((row2) => row2.cost));
946
- return {
947
- entry,
948
- files: own_costs,
949
- sections: section_costs,
950
- point_of_use: point_of_use_costs(root, entry, also),
951
- bash_output_cap: bash_output_cap_reader.bash_output_cap(root),
952
- whole: total2([own, referenced_cost(root, sections)]),
953
- scoped: total2([own, scoped_cost(root, sections)])
954
- };
955
- }
956
- function entries(root) {
957
- return [...table_rows(root)].map(([keyword]) => keyword);
958
- }
959
- var entry_read_set = {
960
- HARNESS_DEFAULT_CAP_CHARS: bash_output_cap_reader.HARNESS_DEFAULT_CAP_CHARS,
961
- POINT_OF_USE_BY_ENTRY: POINT_OF_USE_BY_ENTRY2,
962
- POINT_OF_USE_FILES: POINT_OF_USE_FILES2,
963
- SECTION_REFERENCE,
964
- SKILL_DIRECTORY,
965
- SKILL_FILE,
966
- TABLE_SECTION,
967
- bash_output_cap: bash_output_cap_reader.bash_output_cap,
968
- cost_of: cost_of2,
969
- costed,
970
- document_path,
971
- entries,
972
- read_set,
973
- total: total2
974
- };
975
-
976
- // scripts/document/read-set-trim.ts
977
- function subtract(left, right) {
978
- return { bytes: left.bytes - right.bytes, tokens: left.tokens - right.tokens };
979
- }
980
- function skill_text(root) {
981
- const path9 = entry_read_set.document_path(root, entry_read_set.SKILL_FILE);
982
- return document_section.read_optional(path9) ?? "";
983
- }
984
- function section_cost2(text, heading) {
985
- return entry_read_set.cost_of(document_section.section(text, heading)?.text ?? "");
986
- }
987
- function unused_skill_cost(root, sections) {
988
- const text = skill_text(root);
989
- return entry_read_set.total(sections.map((heading) => section_cost2(text, heading)));
990
- }
991
- function reduce_skill(file, saving) {
992
- if (file.file !== entry_read_set.SKILL_FILE) return file;
993
- return { file: file.file, cost: subtract(file.cost, saving) };
994
- }
995
- function costed2(root, spec) {
996
- const base = entry_read_set.costed(root, spec.base_entry, spec.reached_point_of_use);
997
- const saving = unused_skill_cost(root, spec.unused_skill_sections);
998
- return {
999
- ...base,
1000
- entry: spec.label,
1001
- files: base.files.map((file) => reduce_skill(file, saving)),
1002
- point_of_use: base.point_of_use.filter((one) => !spec.skipped_point_of_use.has(one.file)),
1003
- whole: subtract(base.whole, saving),
1004
- scoped: subtract(base.scoped, saving)
1005
- };
1006
- }
1007
- var read_set_trim = { costed: costed2 };
1008
-
1009
- // scripts/document/backlogrun-parent-read-set.ts
1010
- var BACKLOGRUN = "backlogrun";
1011
- var UNUSED_SKILL_SECTIONS = [
1012
- "3. What stays resident, and what is read from here"
1013
- ];
1014
- var SKIPPED_POINT_OF_USE = /* @__PURE__ */ new Set();
1015
- var REACHED_POINT_OF_USE = /* @__PURE__ */ new Set([
1016
- "retrospective.md",
1017
- "backlogrun-recovery.md"
1018
- ]);
1019
- function costed3(root) {
1020
- return read_set_trim.costed(root, {
1021
- base_entry: BACKLOGRUN,
1022
- label: BACKLOGRUN,
1023
- unused_skill_sections: UNUSED_SKILL_SECTIONS,
1024
- skipped_point_of_use: SKIPPED_POINT_OF_USE,
1025
- reached_point_of_use: REACHED_POINT_OF_USE
1026
- });
1027
- }
1028
- var backlogrun_parent_read_set = {
1029
- BACKLOGRUN,
1030
- REACHED_POINT_OF_USE,
1031
- UNUSED_SKILL_SECTIONS,
1032
- costed: costed3
1033
- };
1034
-
1035
- // scripts/document/lane-child-read-set.ts
1036
- var LANE_CHILD = "lane-child";
1037
- var FULLRUN = "fullrun";
1038
- var UNUSED_SKILL_SECTIONS2 = [
1039
- "0. The rule that fires before any of them \u2014 explicit invocation",
1040
- "3. What stays resident, and what is read from here"
1041
- ];
1042
- var SKIPPED_POINT_OF_USE2 = /* @__PURE__ */ new Set([
1043
- "backlogrun-child.md",
1044
- "backlogrun-lanes.md",
1045
- "backlogrun-progress.md",
1046
- "backlogrun-steps.md",
1047
- "delegation.md",
1048
- "issue-scout.md",
1049
- "latest-gate.md",
1050
- "progress-watcher.md",
1051
- "retrospective.md"
1052
- ]);
1053
- var REACHED_POINT_OF_USE2 = /* @__PURE__ */ new Set(["backlogrun-park.md", "pre-gate-cut.md"]);
1054
- function costed4(root) {
1055
- return read_set_trim.costed(root, {
1056
- base_entry: FULLRUN,
1057
- label: LANE_CHILD,
1058
- unused_skill_sections: UNUSED_SKILL_SECTIONS2,
1059
- skipped_point_of_use: SKIPPED_POINT_OF_USE2,
1060
- reached_point_of_use: REACHED_POINT_OF_USE2
1061
- });
1062
- }
1063
- var lane_child_read_set = {
1064
- LANE_CHILD,
1065
- REACHED_POINT_OF_USE: REACHED_POINT_OF_USE2,
1066
- SKIPPED_POINT_OF_USE: SKIPPED_POINT_OF_USE2,
1067
- UNUSED_SKILL_SECTIONS: UNUSED_SKILL_SECTIONS2,
1068
- costed: costed4
1069
- };
1070
-
1071
- // scripts/agent/agent-role-profile.ts
1072
- import { z as z2 } from "zod";
1073
-
1074
- // scripts/josh/agent-session-environment.ts
1075
- var SESSION_ID_KEY = "CLAUDE_CODE_SESSION_ID";
1076
- var AGENT_PID_KEY = "CLAUDE_PID";
1077
- var PARENT_SESSION_KEYS = [
1078
- "CLAUDE_CODE_MESSAGING_SOCKET",
1079
- "CLAUDE_CODE_MESSAGING_TOKEN",
1080
- SESSION_ID_KEY,
1081
- "CLAUDE_CODE_CHILD_SESSION"
1082
- ];
1083
- var PROXY_KEYS = [
1084
- "ALL_PROXY",
1085
- "HTTP_PROXY",
1086
- "HTTPS_PROXY",
1087
- "all_proxy",
1088
- "http_proxy",
1089
- "https_proxy",
1090
- "GLOBAL_AGENT_HTTP_PROXY",
1091
- "GLOBAL_AGENT_HTTPS_PROXY"
1092
- ];
1093
- var PROXY_CERTIFICATE_KEY = "NODE_EXTRA_CA_CERTS";
1094
- var LOOPBACK_HOSTS = ["localhost", "ip6-localhost", "[::1]"];
1095
- var LOOPBACK_PREFIX = "127.";
1096
- var NO_HOST = "";
1097
- function parsed_host(value) {
1098
- try {
1099
- return new URL(value).hostname;
1100
- } catch {
1101
- return NO_HOST;
1102
- }
1103
- }
1104
- function proxy_host(value) {
1105
- const direct = parsed_host(value);
1106
- return direct === NO_HOST ? parsed_host(`http://${value}`) : direct;
1107
- }
1108
- function is_loopback_host(host) {
1109
- return host.startsWith(LOOPBACK_PREFIX) || LOOPBACK_HOSTS.includes(host);
1110
- }
1111
- function is_loopback_proxy(value) {
1112
- if (value === void 0 || value === NO_HOST) return false;
1113
- return is_loopback_host(proxy_host(value));
1114
- }
1115
- function is_declared(value) {
1116
- return value !== void 0 && value !== NO_HOST;
1117
- }
1118
- function loopback_proxy_keys(source, is_removed = is_loopback_proxy) {
1119
- const declared = PROXY_KEYS.filter((key) => is_declared(source[key]));
1120
- const matched = declared.filter((key) => is_removed(source[key]));
1121
- const is_certificate_included = matched.length > 0 && matched.length === declared.length;
1122
- return is_certificate_included ? [...matched, PROXY_CERTIFICATE_KEY] : matched;
1123
- }
1124
- function to_removed(keys) {
1125
- return Object.fromEntries(keys.map((key) => [key, void 0]));
1126
- }
1127
- function removed_environment(source = process.env) {
1128
- return to_removed([...PARENT_SESSION_KEYS, ...loopback_proxy_keys(source)]);
1129
- }
1130
- var SCANNER_DIRECTORY = ".safe-chain";
1131
- var PATH_SEPARATOR = /[/\\]/u;
1132
- function is_scanner_certificate(value) {
1133
- return value?.split(PATH_SEPARATOR).includes(SCANNER_DIRECTORY) ?? false;
1134
- }
1135
- var SCANNER_PROXY_KEY = "HTTPS_PROXY";
1136
- function is_scanner_proxy(source) {
1137
- const scanner_proxy = source[SCANNER_PROXY_KEY];
1138
- return function is_match2(value) {
1139
- return value === scanner_proxy && is_loopback_proxy(value);
1140
- };
1141
- }
1142
- function removed_proxy_environment(source = process.env) {
1143
- if (!is_scanner_certificate(source[PROXY_CERTIFICATE_KEY])) return {};
1144
- return to_removed(loopback_proxy_keys(source, is_scanner_proxy(source)));
1145
- }
1146
- var agent_session_environment = {
1147
- AGENT_PID_KEY,
1148
- LOOPBACK_HOSTS,
1149
- PARENT_SESSION_KEYS,
1150
- PROXY_CERTIFICATE_KEY,
1151
- PROXY_KEYS,
1152
- SESSION_ID_KEY,
1153
- removed_environment,
1154
- removed_proxy_environment
1155
- };
1156
-
1157
- // scripts/agent/agent-provider.ts
1158
- import { z } from "zod";
1159
- var EMPTY_LENGTH = 0;
1160
- var PROVIDER_SCHEMA = z.enum(["anthropic", "openai"]);
1161
- var ANTHROPIC_PROVIDER = "anthropic";
1162
- var OPENAI_PROVIDER = "openai";
1163
- var CODEX_SESSION_KEY = "CODEX_THREAD_ID";
1164
- function trimmed(value) {
1165
- const result = value?.trim();
1166
- return result === void 0 || result.length === EMPTY_LENGTH ? void 0 : result;
1167
- }
1168
- function rejection(key, value, expected) {
1169
- return { kind: "rejected", note: `${key}=${value} ${expected}, so the agent was not started` };
1170
- }
1171
- function has_session(environment, keys) {
1172
- return keys.some((key) => trimmed(environment[key]) !== void 0);
1173
- }
1174
- var CONFLICTING_SESSIONS = {
1175
- kind: "rejected",
1176
- note: "both Codex and Claude Code sessions were detected"
1177
- };
1178
- var HANDED_PROVIDER_KEY = "JOSH_AGENT_PROVIDER";
1179
- var DEFAULT_PROVIDER = {
1180
- kind: "provider",
1181
- provider: ANTHROPIC_PROVIDER,
1182
- is_default: true
1183
- };
1184
- var DEFAULT_NOTICE = ` No agent session or ${HANDED_PROVIDER_KEY} was found, so the provider defaulted to ${ANTHROPIC_PROVIDER} (Claude Code).`;
1185
- function handed_provider(environment) {
1186
- const value = trimmed(environment[HANDED_PROVIDER_KEY]);
1187
- if (value === void 0) return DEFAULT_PROVIDER;
1188
- const parsed = PROVIDER_SCHEMA.safeParse(value);
1189
- return parsed.success ? { kind: "provider", provider: parsed.data } : rejection(HANDED_PROVIDER_KEY, value, "is not an allowed provider");
1190
- }
1191
- function detected_provider(environment) {
1192
- const has_codex = has_session(environment, [CODEX_SESSION_KEY]);
1193
- const has_claude = has_session(environment, agent_session_environment.PARENT_SESSION_KEYS);
1194
- if (has_codex === has_claude) return has_codex ? CONFLICTING_SESSIONS : void 0;
1195
- return { kind: "provider", provider: has_codex ? OPENAI_PROVIDER : ANTHROPIC_PROVIDER };
1196
- }
1197
- function resolve_provider(environment = process.env) {
1198
- return detected_provider(environment) ?? handed_provider(environment);
1199
- }
1200
- function default_notice(environment = process.env) {
1201
- const selected = resolve_provider(environment);
1202
- return selected.kind === "provider" && selected.is_default === true ? DEFAULT_NOTICE : "";
1203
- }
1204
- function warn_of_default(environment = process.env) {
1205
- const notice = default_notice(environment).trim();
1206
- if (notice !== "") console.error(notice);
1207
- }
1208
- function has_completion_callback(environment = process.env) {
1209
- const selected = resolve_provider(environment);
1210
- return selected.kind !== "provider" || selected.provider !== OPENAI_PROVIDER;
1211
- }
1212
- function handoff_environment(environment = process.env) {
1213
- const selected = resolve_provider(environment);
1214
- return selected.kind === "provider" ? { [HANDED_PROVIDER_KEY]: selected.provider } : {};
1215
- }
1216
- var agent_provider = {
1217
- ANTHROPIC_PROVIDER,
1218
- CODEX_SESSION_KEY,
1219
- HANDED_PROVIDER_KEY,
1220
- OPENAI_PROVIDER,
1221
- PROVIDER_SCHEMA,
1222
- default_notice,
1223
- handoff_environment,
1224
- has_completion_callback,
1225
- rejection,
1226
- resolve_provider,
1227
- trimmed,
1228
- warn_of_default
1229
- };
1230
-
1231
- // scripts/agent/agent-safe-text.ts
1232
- var FIRST_PRINTABLE_CODE = 32;
1233
- var DELETE_CODE = 127;
1234
- var FIRST_CODE_POINT = 0;
1235
- var EMPTY_LENGTH2 = 0;
1236
- var MAX_VALUE_LENGTH = 4096;
1237
- var MAX_PROMPT_LENGTH = 65536;
1238
- var LINE_FEED = "\n";
1239
- var SPACE = " ";
1240
- function is_control_character(character) {
1241
- const code = character.codePointAt(FIRST_CODE_POINT) ?? FIRST_PRINTABLE_CODE;
1242
- return code < FIRST_PRINTABLE_CODE || code === DELETE_CODE;
1243
- }
1244
- function is_line_feed(character) {
1245
- return character === LINE_FEED;
1246
- }
1247
- function is_never_allowed() {
1248
- return false;
1249
- }
1250
- function is_refused(character, is_allowed) {
1251
- return is_control_character(character) && !is_allowed(character);
1252
- }
1253
- function is_safe_text(value, is_allowed, max_length) {
1254
- if (value.length === EMPTY_LENGTH2 || value.length > max_length) return false;
1255
- for (const character of value) if (is_refused(character, is_allowed)) return false;
1256
- return true;
1257
- }
1258
- function is_safe_value(value) {
1259
- return is_safe_text(value, is_never_allowed, MAX_VALUE_LENGTH);
1260
- }
1261
- function is_safe_prompt(value) {
1262
- return is_safe_text(value, is_line_feed, MAX_PROMPT_LENGTH);
1263
- }
1264
- function printable_character(character) {
1265
- return is_refused(character, is_line_feed) ? SPACE : character;
1266
- }
1267
- function printable(text) {
1268
- return Array.from(text, printable_character).join("");
1269
- }
1270
- var agent_safe_text = {
1271
- MAX_PROMPT_LENGTH,
1272
- MAX_VALUE_LENGTH,
1273
- is_safe_prompt,
1274
- is_safe_value,
1275
- printable
1276
- };
1277
-
1278
- // scripts/agent/agent-role-profile.ts
1279
- var {
1280
- ANTHROPIC_PROVIDER: ANTHROPIC_PROVIDER2,
1281
- CODEX_SESSION_KEY: CODEX_SESSION_KEY2,
1282
- HANDED_PROVIDER_KEY: HANDED_PROVIDER_KEY2,
1283
- OPENAI_PROVIDER: OPENAI_PROVIDER2,
1284
- PROVIDER_SCHEMA: PROVIDER_SCHEMA2,
1285
- default_notice: default_notice2,
1286
- handoff_environment: handoff_environment2,
1287
- has_completion_callback: has_completion_callback2,
1288
- rejection: rejection2,
1289
- resolve_provider: resolve_provider2,
1290
- trimmed: trimmed2,
1291
- warn_of_default: warn_of_default2
1292
- } = agent_provider;
1293
- var ROLE_SCHEMA = z2.enum(["scheduler", "worker", "reviewer"]);
1294
- var EFFORT_SCHEMA = z2.enum(["low", "medium", "high", "xhigh", "max"]);
1295
- var PHASE_SCHEMA = z2.enum(["implementation", "pre-gate"]);
1296
- var PROFILE_SCHEMA = z2.object({
1297
- provider: PROVIDER_SCHEMA2.default("anthropic"),
1298
- role: ROLE_SCHEMA,
1299
- model: z2.string(),
1300
- effort: EFFORT_SCHEMA
1301
- });
1302
- var SCHEDULER = "scheduler";
1303
- var WORKER = "worker";
1304
- var REVIEWER = "reviewer";
1305
- var IMPLEMENTATION_PHASE = "implementation";
1306
- var PRE_GATE_PHASE = "pre-gate";
1307
- var OPENAI_MODEL = "gpt-6.1-sol";
1308
- var ANTHROPIC_MODEL = "claude-opus-5-5";
1309
- var REVIEW_EFFORT = "medium";
1310
- var VERIFICATION_EFFORT = "high";
1311
- function role_profiles(provider, model) {
1312
- return {
1313
- scheduler: { provider, role: SCHEDULER, model, effort: "medium" },
1314
- worker: { provider, role: WORKER, model, effort: "medium" },
1315
- reviewer: { provider, role: REVIEWER, model, effort: REVIEW_EFFORT }
1316
- };
1317
- }
1318
- var DEFAULT_PROFILES = role_profiles(ANTHROPIC_PROVIDER2, ANTHROPIC_MODEL);
1319
- var OPENAI_PROFILES = role_profiles(OPENAI_PROVIDER2, OPENAI_MODEL);
1320
- var PROVIDER_PROFILES = { anthropic: DEFAULT_PROFILES, openai: OPENAI_PROFILES };
1321
- var FIRST_REVIEW_ROUND = 1;
1322
- var VERIFICATION_MODEL = "claude-sonnet-5-5";
1323
- var VERIFICATION_PROFILES = {
1324
- anthropic: {
1325
- ...DEFAULT_PROFILES.reviewer,
1326
- model: VERIFICATION_MODEL,
1327
- effort: VERIFICATION_EFFORT
1328
- },
1329
- openai: { ...OPENAI_PROFILES.reviewer, effort: VERIFICATION_EFFORT }
1330
- };
1331
- var VERIFICATION_KEYS = {
1332
- model: "JOSH_REVIEWER_VERIFICATION_MODEL",
1333
- effort: "JOSH_REVIEWER_VERIFICATION_EFFORT"
1334
- };
1335
- var SHIP_EFFORT = "low";
1336
- var PHASE_EFFORT = {
1337
- worker: { [PRE_GATE_PHASE]: SHIP_EFFORT }
1338
- };
1339
- var PHASE_MODEL_KEYS = {
1340
- worker: { [PRE_GATE_PHASE]: "JOSH_WORKER_SHIP_MODEL" }
1341
- };
1342
- var ENV_KEYS = {
1343
- scheduler: { model: "JOSH_SCHEDULER_MODEL", effort: "JOSH_SCHEDULER_EFFORT" },
1344
- worker: { model: "JOSH_WORKER_MODEL", effort: "JOSH_WORKER_EFFORT" },
1345
- reviewer: { model: "JOSH_REVIEWER_MODEL", effort: "JOSH_REVIEWER_EFFORT" }
1346
- };
1347
- var LEGACY_WORKER_KEYS = { model: "JOSH_LANE_MODEL", effort: "JOSH_LANE_EFFORT" };
1348
- var { MAX_VALUE_LENGTH: MAX_VALUE_LENGTH2, is_safe_prompt: is_safe_prompt2, is_safe_value: is_safe_value2, printable: printable2 } = agent_safe_text;
1349
- function is_verification(role, round) {
1350
- return role === REVIEWER && round !== void 0 && round > FIRST_REVIEW_ROUND;
1351
- }
1352
- function override_keys(role, field, round) {
1353
- const key = ENV_KEYS[role][field];
1354
- if (role === WORKER) return [key, LEGACY_WORKER_KEYS[field]];
1355
- return is_verification(role, round) ? [VERIFICATION_KEYS[field], key] : [key];
1356
- }
1357
- function override_value(role, field, environment, round) {
1358
- const keys = override_keys(role, field, round);
1359
- const key = keys.find((candidate) => trimmed2(environment[candidate]) !== void 0);
1360
- return key === void 0 ? { key: keys[0], value: void 0 } : { key, value: trimmed2(environment[key]) };
1361
- }
1362
- function phase_entry(table, role, phase) {
1363
- const parsed = PHASE_SCHEMA.safeParse(phase);
1364
- return parsed.success ? table[role]?.[parsed.data] : void 0;
1365
- }
1366
- function phase_model(role, provider, phase, environment) {
1367
- const key = provider === OPENAI_PROVIDER2 ? void 0 : phase_entry(PHASE_MODEL_KEYS, role, phase);
1368
- if (key === void 0) return void 0;
1369
- const value = trimmed2(environment[key]);
1370
- return value === void 0 ? void 0 : { key, value };
1371
- }
1372
- function model_override(role, environment, provider, stage) {
1373
- const phased = phase_model(role, provider, stage.phase, environment);
1374
- if (phased !== void 0) return phased;
1375
- return provider === OPENAI_PROVIDER2 ? { key: ENV_KEYS[role].model, value: void 0 } : override_value(role, "model", environment, stage.round);
1376
- }
1377
- function resolved_effort(override, fallback) {
1378
- const parsed = EFFORT_SCHEMA.safeParse(override.value ?? fallback);
1379
- return parsed.success ? { kind: "effort", effort: parsed.data } : rejection2(override.key, override.value ?? "", "is not an allowed effort");
1380
- }
1381
- function validate(profile, model_key) {
1382
- if (!is_safe_value2(profile.model)) {
1383
- return rejection2(model_key, profile.model, "is not a safe model");
1384
- }
1385
- return { kind: "profile", profile };
1386
- }
1387
- function phase_effort(role, phase, fallback) {
1388
- return phase_entry(PHASE_EFFORT, role, phase) ?? fallback;
1389
- }
1390
- function overridden_effort(profile, phase, environment) {
1391
- const parsed = EFFORT_SCHEMA.safeParse(override_value(profile.role, "effort", environment).value);
1392
- return parsed.success ? parsed.data : phase_effort(profile.role, phase, profile.effort);
1393
- }
1394
- function with_phase(profile, phase, environment = process.env) {
1395
- const effort = overridden_effort(profile, phase, environment);
1396
- const model = phase_model(profile.role, profile.provider, phase, environment);
1397
- if (model === void 0) return { kind: "profile", profile: { ...profile, effort } };
1398
- return validate({ ...profile, model: model.value, effort }, model.key);
1399
- }
1400
- function stage_defaults(provider, role, round) {
1401
- return is_verification(role, round) ? VERIFICATION_PROFILES[provider] : PROVIDER_PROFILES[provider][role];
1402
- }
1403
- function resolve_stage(role, environment, stage) {
1404
- const selected = resolve_provider2(environment);
1405
- if (selected.kind === "rejected") return selected;
1406
- const defaults = stage_defaults(selected.provider, role, stage.round);
1407
- const model = model_override(role, environment, selected.provider, stage);
1408
- const effort = override_value(role, "effort", environment, stage.round);
1409
- const resolved = resolved_effort(effort, phase_effort(role, stage.phase, defaults.effort));
1410
- if (resolved.kind === "rejected") return resolved;
1411
- const profile = {
1412
- provider: selected.provider,
1413
- role,
1414
- model: model.value ?? defaults.model,
1415
- effort: resolved.effort
1416
- };
1417
- return validate(profile, model.key);
1418
- }
1419
- function resolve(role, environment = process.env, phase) {
1420
- return resolve_stage(role, environment, { phase });
1421
- }
1422
- function resolve_review(round, environment = process.env) {
1423
- return resolve_stage(REVIEWER, environment, { round });
1424
- }
1425
- function describe(profile) {
1426
- return `provider=${profile.provider} role=${profile.role} model=${profile.model} effort=${profile.effort}`;
1427
- }
1428
- function describe_review(round, profile) {
1429
- return `review round ${String(round)} \xB7 ${describe(profile)}`;
1430
- }
1431
- function parse(value) {
1432
- const parsed = PROFILE_SCHEMA.safeParse(value);
1433
- return parsed.success && is_safe_value2(parsed.data.model) ? parsed.data : void 0;
1434
- }
1435
- var agent_role_profile = {
1436
- CODEX_SESSION_KEY: CODEX_SESSION_KEY2,
1437
- DEFAULT_PROFILES,
1438
- HANDED_PROVIDER_KEY: HANDED_PROVIDER_KEY2,
1439
- IMPLEMENTATION_PHASE,
1440
- MAX_VALUE_LENGTH: MAX_VALUE_LENGTH2,
1441
- OPENAI_PROFILES,
1442
- PRE_GATE_PHASE,
1443
- PROFILE_SCHEMA,
1444
- REVIEWER,
1445
- SCHEDULER,
1446
- VERIFICATION_PROFILES,
1447
- WORKER,
1448
- default_notice: default_notice2,
1449
- describe,
1450
- describe_review,
1451
- handoff_environment: handoff_environment2,
1452
- has_completion_callback: has_completion_callback2,
1453
- is_safe_prompt: is_safe_prompt2,
1454
- is_safe_value: is_safe_value2,
1455
- parse,
1456
- printable: printable2,
1457
- resolve,
1458
- resolve_provider: resolve_provider2,
1459
- resolve_review,
1460
- warn_of_default: warn_of_default2,
1461
- with_phase
1462
- };
1463
-
1464
- // scripts/time-runtime/time-instant.ts
1465
- function parse_instant(raw) {
1466
- if (raw === null || raw === void 0) return void 0;
1467
- const parsed = Date.parse(raw);
1468
- return Number.isNaN(parsed) ? void 0 : parsed;
1469
- }
1470
- var time_instant = { parse_instant };
1471
-
1472
- // scripts/cost-runtime/cost-usage.ts
1473
- import { z as z3 } from "zod";
1474
- var CACHE_CREATION_SCHEMA = z3.object({
1475
- ephemeral_1h_input_tokens: z3.number().nullish(),
1476
- ephemeral_5m_input_tokens: z3.number().nullish()
1477
- });
1478
- var USAGE_SCHEMA = z3.object({
1479
- input_tokens: z3.number(),
1480
- cache_creation_input_tokens: z3.number().nullish(),
1481
- cache_read_input_tokens: z3.number().nullish(),
1482
- output_tokens: z3.number(),
1483
- output_tokens_details: z3.object({ thinking_tokens: z3.number().nullish() }).nullish(),
1484
- cache_creation: CACHE_CREATION_SCHEMA.nullish()
1485
- });
1486
- var MESSAGE_SCHEMA = z3.object({
1487
- id: z3.string().nullish(),
1488
- model: z3.string().nullish(),
1489
- usage: USAGE_SCHEMA.nullish()
1490
- });
1491
- var LINE_SCHEMA = z3.object({
1492
- type: z3.string(),
1493
- requestId: z3.string().nullish(),
1494
- uuid: z3.string().nullish(),
1495
- gitBranch: z3.string().nullish(),
1496
- timestamp: z3.string().nullish(),
1497
- message: MESSAGE_SCHEMA.nullish()
1498
- });
1499
- var SYNTHETIC_MODEL = "<synthetic>";
1500
- var EMPTY_TOTALS = {
1501
- input_tokens: 0,
1502
- cache_write_5m_tokens: 0,
1503
- cache_write_1h_tokens: 0,
1504
- cache_read_tokens: 0,
1505
- output_tokens: 0,
1506
- thinking_tokens: 0,
1507
- thinking_measured: false
1508
- };
1509
- var UNKNOWN_MODEL = "unknown";
1510
- var UNKNOWN_BRANCH = "";
1511
- function split_cache_write(usage) {
1512
- const total3 = usage.cache_creation_input_tokens ?? 0;
1513
- const detail = usage.cache_creation;
1514
- if (!detail) return { write_5m: total3, write_1h: 0 };
1515
- const write_1h = detail.ephemeral_1h_input_tokens ?? 0;
1516
- return { write_5m: detail.ephemeral_5m_input_tokens ?? total3 - write_1h, write_1h };
1517
- }
1518
- function thinking_usage(usage) {
1519
- const raw = usage.output_tokens_details?.thinking_tokens;
1520
- return { tokens: raw ?? 0, measured: raw !== null && raw !== void 0 };
1521
- }
1522
- function to_totals(usage) {
1523
- const { write_5m, write_1h } = split_cache_write(usage);
1524
- const thinking = thinking_usage(usage);
1525
- return {
1526
- input_tokens: usage.input_tokens,
1527
- cache_write_5m_tokens: write_5m,
1528
- cache_write_1h_tokens: write_1h,
1529
- cache_read_tokens: usage.cache_read_input_tokens ?? 0,
1530
- output_tokens: usage.output_tokens,
1531
- thinking_tokens: thinking.tokens,
1532
- thinking_measured: thinking.measured
1533
- };
1534
- }
1535
- function declared_id(data) {
1536
- return data.requestId ?? data.message?.id ?? data.uuid ?? void 0;
1537
- }
1538
- function request_id_of(data, usage) {
1539
- const fallback = `${data.timestamp ?? ""}-${String(usage.output_tokens)}`;
1540
- return declared_id(data) ?? fallback;
1541
- }
1542
- function to_record(data, usage) {
1543
- return {
1544
- request_id: request_id_of(data, usage),
1545
- model: data.message?.model ?? UNKNOWN_MODEL,
1546
- branch: data.gitBranch ?? UNKNOWN_BRANCH,
1547
- at_ms: time_instant.parse_instant(data.timestamp),
1548
- totals: to_totals(usage)
1549
- };
1550
- }
1551
- var ASSISTANT_TYPE = "assistant";
1552
- function is_priced_line(data) {
1553
- return data.type === ASSISTANT_TYPE && data.message?.model !== SYNTHETIC_MODEL;
1554
- }
1555
- function classify(data) {
1556
- if (!is_priced_line(data)) return { kind: "skipped" };
1557
- const usage = data.message?.usage;
1558
- return usage ? { kind: "record", record: to_record(data, usage) } : { kind: "no_usage" };
1559
- }
1560
- function parse_line(line) {
1561
- if (line.trim() === "") return { kind: "skipped" };
1562
- const parsed = LINE_SCHEMA.safeParse(json_value.parse_or_undefined(line));
1563
- return parsed.success ? classify(parsed.data) : { kind: "malformed" };
1564
- }
1565
- function later_instant(left, right) {
1566
- if (left === void 0) return right;
1567
- if (right === void 0) return left;
1568
- return Math.max(left, right);
1569
- }
1570
- function dedupe2(records) {
1571
- const by_id = /* @__PURE__ */ new Map();
1572
- for (const record of records) {
1573
- const seen = by_id.get(record.request_id);
1574
- const at_ms = later_instant(seen?.at_ms, record.at_ms);
1575
- by_id.set(record.request_id, { ...seen ?? record, at_ms });
1576
- }
1577
- return [...by_id.values()];
1578
- }
1579
- function add_totals(left, right) {
1580
- return {
1581
- input_tokens: left.input_tokens + right.input_tokens,
1582
- cache_write_5m_tokens: left.cache_write_5m_tokens + right.cache_write_5m_tokens,
1583
- cache_write_1h_tokens: left.cache_write_1h_tokens + right.cache_write_1h_tokens,
1584
- cache_read_tokens: left.cache_read_tokens + right.cache_read_tokens,
1585
- output_tokens: left.output_tokens + right.output_tokens,
1586
- thinking_tokens: left.thinking_tokens + right.thinking_tokens,
1587
- thinking_measured: left.thinking_measured || right.thinking_measured
1588
- };
1589
- }
1590
- function sum_totals(records) {
1591
- let total3 = EMPTY_TOTALS;
1592
- for (const record of records) total3 = add_totals(total3, record.totals);
1593
- return total3;
1594
- }
1595
- function billed_input(totals) {
1596
- return totals.input_tokens + totals.cache_write_5m_tokens + totals.cache_write_1h_tokens + totals.cache_read_tokens;
1597
- }
1598
- var cost_usage = {
1599
- EMPTY_TOTALS,
1600
- UNKNOWN_MODEL,
1601
- SYNTHETIC_MODEL,
1602
- parse_line,
1603
- dedupe: dedupe2,
1604
- add_totals,
1605
- sum_totals,
1606
- billed_input
1607
- };
1608
-
1609
- // scripts/cost-runtime/cost-pricing.ts
1610
- var CACHE_WRITE_5M_MULTIPLIER = 1.25;
1611
- var CACHE_WRITE_1H_MULTIPLIER = 2;
1612
- var DEFAULT_CACHE_READ_MULTIPLIER = 0.1;
1613
- var HALVED_CACHE_READ_MULTIPLIER = 0.05;
1614
- var QUARTERED_CACHE_READ_MULTIPLIER = 0.025;
1615
- var TOKENS_PER_MILLION = 1e6;
1616
- var LONG_PROMPT_SUFFIX = ":long-prompt";
1617
- var LONG_PROMPT_THRESHOLD = 1e5;
1618
- var MODEL_PRICES = {
1619
- "claude-fable-5-1": {
1620
- input: 10,
1621
- output: 50,
1622
- cache_read_multiplier: QUARTERED_CACHE_READ_MULTIPLIER
1623
- },
1624
- "claude-mythos-5-1": {
1625
- input: 10,
1626
- output: 50,
1627
- cache_read_multiplier: QUARTERED_CACHE_READ_MULTIPLIER
1628
- },
1629
- "claude-fable-5": { input: 10, output: 50 },
1630
- "claude-mythos-5": { input: 10, output: 50 },
1631
- "claude-opus-5-5": { input: 4, output: 20, cache_read_multiplier: HALVED_CACHE_READ_MULTIPLIER },
1632
- "claude-opus-5": { input: 5, output: 25 },
1633
- "claude-opus-4-8": { input: 5, output: 25 },
1634
- "claude-opus-4-7": { input: 5, output: 25 },
1635
- "claude-opus-4-6": { input: 5, output: 25 },
1636
- "claude-sonnet-5-5": {
1637
- input: 2,
1638
- output: 10,
1639
- cache_read_multiplier: HALVED_CACHE_READ_MULTIPLIER
1640
- },
1641
- "claude-sonnet-5": { input: 2, output: 10 },
1642
- "claude-sonnet-4-6": { input: 3, output: 15 },
1643
- "claude-haiku-5-5": { input: 0.1, output: 0.5 },
1644
- [`claude-haiku-5-5${LONG_PROMPT_SUFFIX}`]: { input: 0.5, output: 2.5 },
1645
- "claude-haiku-4-5": { input: 1, output: 5 }
1646
- };
1647
- var CONTEXT_MARKER = "[";
1648
- var DATE_SUFFIX = /-\d{8}$/u;
1649
- function known_id(model) {
1650
- const base = model.split(CONTEXT_MARKER)[0] ?? model;
1651
- return [base, base.replace(DATE_SUFFIX, "")].find((id) => Object.hasOwn(MODEL_PRICES, id));
1652
- }
1653
- function resolve_price(model) {
1654
- const id = known_id(model);
1655
- return id === void 0 ? void 0 : MODEL_PRICES[id];
1656
- }
1657
- function cache_read_multiplier(price) {
1658
- return price.cache_read_multiplier ?? DEFAULT_CACHE_READ_MULTIPLIER;
1659
- }
1660
- function cache_read_multiplier_of(model) {
1661
- const price = model === void 0 ? void 0 : resolve_price(model);
1662
- return price === void 0 ? DEFAULT_CACHE_READ_MULTIPLIER : cache_read_multiplier(price);
1663
- }
1664
- function estimate_cost(totals, price) {
1665
- const weighted_input = totals.input_tokens + totals.cache_write_5m_tokens * CACHE_WRITE_5M_MULTIPLIER + totals.cache_write_1h_tokens * CACHE_WRITE_1H_MULTIPLIER + totals.cache_read_tokens * cache_read_multiplier(price);
1666
- return (weighted_input * price.input + totals.output_tokens * price.output) / TOKENS_PER_MILLION;
1667
- }
1668
- function priced(tokens, rate) {
1669
- return tokens * rate / TOKENS_PER_MILLION;
1670
- }
1671
- function estimate_composition(totals, price) {
1672
- return {
1673
- input_usd: priced(totals.input_tokens, price.input),
1674
- cache_write_5m_usd: priced(
1675
- totals.cache_write_5m_tokens * CACHE_WRITE_5M_MULTIPLIER,
1676
- price.input
1677
- ),
1678
- cache_write_1h_usd: priced(
1679
- totals.cache_write_1h_tokens * CACHE_WRITE_1H_MULTIPLIER,
1680
- price.input
1681
- ),
1682
- cache_read_usd: priced(totals.cache_read_tokens * cache_read_multiplier(price), price.input),
1683
- output_usd: priced(totals.output_tokens, price.output)
1684
- };
1685
- }
1686
- function to_model_cost(model, totals) {
1687
- const price = resolve_price(model);
1688
- if (price === void 0) return { model, totals };
1689
- return { model, totals, cost_usd: estimate_cost(totals, price) };
1690
- }
1691
- function billed_model(usage) {
1692
- const long_id = `${known_id(usage.model) ?? usage.model}${LONG_PROMPT_SUFFIX}`;
1693
- const is_long = cost_usage.billed_input(usage.totals) > LONG_PROMPT_THRESHOLD;
1694
- return is_long && Object.hasOwn(MODEL_PRICES, long_id) ? long_id : usage.model;
1695
- }
1696
- function cost_by_model(records) {
1697
- const grouped = /* @__PURE__ */ new Map();
1698
- for (const record of records) {
1699
- const model = billed_model(record);
1700
- const running = grouped.get(model) ?? cost_usage.EMPTY_TOTALS;
1701
- grouped.set(model, cost_usage.add_totals(running, record.totals));
1702
- }
1703
- return [...grouped].map(([model, totals]) => to_model_cost(model, totals));
1704
- }
1705
- function total_cost(costs) {
1706
- return {
1707
- usd: costs.reduce((sum, entry) => sum + (entry.cost_usd ?? 0), 0),
1708
- unpriced: costs.filter((entry) => entry.cost_usd === void 0).map((entry) => entry.model)
1709
- };
1710
- }
1711
- function cost_of3(records) {
1712
- return total_cost(cost_by_model(records)).usd;
1713
- }
1714
- var cost_pricing = {
1715
- CACHE_WRITE_5M_MULTIPLIER,
1716
- CACHE_WRITE_1H_MULTIPLIER,
1717
- DEFAULT_CACHE_READ_MULTIPLIER,
1718
- LONG_PROMPT_THRESHOLD,
1719
- resolve_price,
1720
- cache_read_multiplier_of,
1721
- estimate_cost,
1722
- estimate_composition,
1723
- cost_by_model,
1724
- total_cost,
1725
- cost_of: cost_of3
1726
- };
1727
130
 
1728
131
  // scripts/document/read-set-pricing.ts
1729
132
  var ASSUMED_REQUESTS = 118;
@@ -1743,20 +146,25 @@ var read_set_pricing = {
1743
146
  };
1744
147
 
1745
148
  // scripts/document/read-set-cli.ts
1746
- var { BACKLOGRUN: BACKLOGRUN2 } = backlogrun_parent_read_set;
149
+ var __josh_meta = import.meta;
150
+ var __josh_source_url = new URL("../../scripts/document/read-set-cli.ts", __josh_meta.url).href;
151
+ var __josh_source_filename = __josh_file_path(__josh_source_url);
152
+ var __josh_source_dirname = __josh_dirname(__josh_source_filename);
153
+ var { BACKLOGRUN } = backlogrun_parent_read_set;
1747
154
  var ARGV_OFFSET = 2;
1748
155
  var FAILURE_EXIT_CODE = 1;
1749
156
  var FLAG_PREFIX = "-";
1750
157
  var JSON_FLAG = "--json";
158
+ var BYTES_FLAG = "--bytes";
1751
159
  var JSON_INDENT = 2;
1752
- var NOTHING3 = 0;
160
+ var NOTHING = 0;
1753
161
  var PERCENT = 100;
1754
162
  var LABEL_GUTTER = 4;
1755
163
  var NUMBER_WIDTH = 9;
1756
164
  var DOLLAR_WIDTH = 7;
1757
165
  var DOLLAR_DECIMALS = 2;
1758
166
  var PREMISE = ` $ = cost per run, assuming a ${String(read_set_pricing.ASSUMED_REQUESTS)}-request run (each entry-read token re-read from cache per request)`;
1759
- var USAGE = "Usage: josh read:set [<entry>] [--json]";
167
+ var USAGE = "Usage: josh read:set [<entry>] [--json | --bytes]";
1760
168
  var WHOLE_LABEL = "whole \u2014 every referenced file read in full";
1761
169
  var SCOPED_LABEL = "scoped \u2014 referenced sections only";
1762
170
  var TOTAL_READ_LABEL = "total read \u2014 scoped entry plus point-of-use reached";
@@ -1765,12 +173,13 @@ var POINT_OF_USE_LABEL = "-- read at the point of use, not at the entry --";
1765
173
  var LANE_CHILD_NOTE = [
1766
174
  " a dispatched lane child (`JOSH_LANE_CHILD`) reads this trimmed set:",
1767
175
  " - skips the point-of-use documents the parent owns \u2014 child dispatch, lane opening, the progress watcher and the hand-off",
1768
- " - omits SKILL.md \xA70/\xA73 \u2014 dispatch already authorized the run and a leaf child edits no rule"
176
+ " - reads fullrun-lane.md instead of SKILL.md, fullrun.md and entry-sequence.md"
1769
177
  ];
1770
178
  var BACKLOGRUN_PARENT_NOTE = [
1771
179
  " the backlogrun parent (scheduler) reads this trimmed set:",
1772
180
  " - omits SKILL.md \xA73 \u2014 the parent edits no rule mid-run",
1773
- " - keeps every point-of-use document \u2014 the parent is the one dispatching children and running lanes"
181
+ " - skips the documents of a child\u2019s stages \u2014 the gate, the ship and fullrun.md",
182
+ " - reads the sections run:step prints at its own stages beside the ones its manifest names"
1774
183
  ];
1775
184
  var FETCH_RULE = "fetch: one `Read` call per file \u2014 never `cat`, and never two files in one command.";
1776
185
  var OVER_CAP_NOTE = " Read (over the Bash cap)";
@@ -1789,21 +198,21 @@ function row(label, cost, width, note = "") {
1789
198
  function fetch_note(bytes, cap) {
1790
199
  return bytes > cap ? OVER_CAP_NOTE : UNDER_CAP_NOTE;
1791
200
  }
1792
- function section_label(section2) {
1793
- const mark = section2.is_resolved ? "" : " (unresolved \u2014 charged whole)";
1794
- return `${section2.file} \u2192 "${section2.heading}"${mark}`;
201
+ function section_label(section) {
202
+ const mark = section.is_resolved ? "" : " (unresolved \u2014 charged whole)";
203
+ return `${section.file} \u2192 "${section.heading}"${mark}`;
1795
204
  }
1796
- function point_of_use_label(section2) {
1797
- return section2.heading === "" ? section2.file : section_label(section2);
205
+ function point_of_use_label(section) {
206
+ return section.heading === "" ? section.file : section_label(section);
1798
207
  }
1799
208
  function saved_percent(report) {
1800
- if (report.whole.tokens === NOTHING3) return NOTHING3;
209
+ if (report.whole.tokens === NOTHING) return NOTHING;
1801
210
  return Math.round((report.whole.tokens - report.scoped.tokens) / report.whole.tokens * PERCENT);
1802
211
  }
1803
212
  function labels_of(report) {
1804
213
  return [
1805
214
  ...report.files.map((entry) => entry.file),
1806
- ...report.sections.map((section2) => section_label(section2)),
215
+ ...report.sections.map((section) => section_label(section)),
1807
216
  ...report.point_of_use.map((entry) => point_of_use_label(entry)),
1808
217
  WHOLE_LABEL,
1809
218
  SCOPED_LABEL,
@@ -1822,7 +231,7 @@ function file_lines(report, width) {
1822
231
  );
1823
232
  }
1824
233
  function point_of_use_lines(report, width) {
1825
- if (report.point_of_use.length === NOTHING3) return [];
234
+ if (report.point_of_use.length === NOTHING) return [];
1826
235
  return [
1827
236
  ` ${POINT_OF_USE_LABEL}`,
1828
237
  ...report.point_of_use.map((entry) => row(point_of_use_label(entry), entry.cost, width))
@@ -1838,10 +247,10 @@ function fetch_lines(report) {
1838
247
  ];
1839
248
  }
1840
249
  function section_lines(report, width) {
1841
- if (report.sections.length === NOTHING3) return [];
250
+ if (report.sections.length === NOTHING) return [];
1842
251
  return [
1843
252
  ` ${SECTION_LABEL}`,
1844
- ...report.sections.map((section2) => row(section_label(section2), section2.cost, width))
253
+ ...report.sections.map((section) => row(section_label(section), section.cost, width))
1845
254
  ];
1846
255
  }
1847
256
  function total_lines(report, width) {
@@ -1859,7 +268,7 @@ function note_lines(report) {
1859
268
  if (report.entry === lane_child_read_set.LANE_CHILD) {
1860
269
  return [...LANE_CHILD_NOTE, lane_instructions.resident_line(), ""];
1861
270
  }
1862
- if (report.entry === BACKLOGRUN2) return [...BACKLOGRUN_PARENT_NOTE, ""];
271
+ if (report.entry === BACKLOGRUN) return [...BACKLOGRUN_PARENT_NOTE, ""];
1863
272
  return [];
1864
273
  }
1865
274
  function report_lines(report) {
@@ -1880,7 +289,7 @@ function known_entries(root) {
1880
289
  }
1881
290
  function wanted_entries(argv, root) {
1882
291
  const named = argv.filter((value) => !value.startsWith(FLAG_PREFIX));
1883
- return named.length > NOTHING3 ? named : known_entries(root);
292
+ return named.length > NOTHING ? named : known_entries(root);
1884
293
  }
1885
294
  function unknown_entries(wanted, root) {
1886
295
  const known = known_entries(root);
@@ -1888,29 +297,33 @@ function unknown_entries(wanted, root) {
1888
297
  }
1889
298
  function costed_entry(root, entry) {
1890
299
  if (entry === lane_child_read_set.LANE_CHILD) return lane_child_read_set.costed(root);
1891
- if (entry === BACKLOGRUN2) return backlogrun_parent_read_set.costed(root);
300
+ if (entry === BACKLOGRUN) return backlogrun_parent_read_set.costed(root);
1892
301
  return entry_read_set.costed(root, entry);
1893
302
  }
1894
- function printed(reports, is_json) {
1895
- if (is_json) return JSON.stringify(reports, void 0, JSON_INDENT);
303
+ function printed(reports, argv) {
304
+ if (argv.includes(JSON_FLAG)) return JSON.stringify(reports, void 0, JSON_INDENT);
305
+ if (argv.includes(BYTES_FLAG)) {
306
+ return reports.map((report) => String(total_read(report).bytes)).join("\n");
307
+ }
1896
308
  return reports.flatMap((report) => report_lines(report)).join("\n");
1897
309
  }
1898
310
  function run(argv, root = process.cwd()) {
1899
311
  const wanted = wanted_entries(argv, root);
1900
312
  const unknown = unknown_entries(wanted, root);
1901
- if (wanted.length === NOTHING3 || unknown.length > NOTHING3) {
313
+ if (wanted.length === NOTHING || unknown.length > NOTHING) {
1902
314
  console.error(`${USAGE}
1903
315
  Known entries: ${known_entries(root).join(", ")}`);
1904
316
  return FAILURE_EXIT_CODE;
1905
317
  }
1906
318
  const reports = wanted.map((entry) => costed_entry(root, entry));
1907
- console.info(printed(reports, argv.includes(JSON_FLAG)));
319
+ console.info(printed(reports, argv));
1908
320
  return 0;
1909
321
  }
1910
322
  function main(argv) {
1911
323
  process.exitCode = run(argv);
1912
324
  }
1913
325
  var read_set_cli = {
326
+ BYTES_FLAG,
1914
327
  FETCH_RULE,
1915
328
  JSON_FLAG,
1916
329
  POINT_OF_USE_LABEL,
@@ -1921,7 +334,7 @@ var read_set_cli = {
1921
334
  run,
1922
335
  saved_percent
1923
336
  };
1924
- if (process.argv[1] === fileURLToPath3(import.meta.url)) main(process.argv.slice(ARGV_OFFSET));
337
+ if (process.argv[1] === fileURLToPath(__josh_source_url)) main(process.argv.slice(ARGV_OFFSET));
1925
338
  export {
1926
339
  read_set_cli
1927
340
  };