@joshuafolkken/kit 1.3044.0 → 1.3099.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
- package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
- package/.claude/skills/workflow-commands/halfrun.md +3 -2
- package/.claude/skills/workflow-commands/kickoff.md +9 -2
- package/.claude/skills/workflow-commands/prerequisite.md +2 -0
- package/.claude/skills/workflow-commands/retrospective.md +2 -1
- package/.claude/skills/workflow-commands/split-assessment.md +4 -0
- package/.github/workflows/ci.yml +0 -20
- package/.github/workflows/pr-classification.yml +0 -5
- package/.github/workflows/publish.yml +0 -1
- package/.github/workflows/sonar-qube.yml +0 -5
- package/README.md +2 -0
- package/SECURITY.md +2 -1
- package/dist/.inputs-verified.json +1 -1
- package/dist/commands/adopt.js +29 -20
- package/dist/commands/auto-ok-judge-cli.js +43 -33
- package/dist/commands/auto-ok-main.js +73 -74
- package/dist/commands/backlog-budget-main.js +5 -6
- package/dist/commands/backlog-drive-cli.js +286 -305
- package/dist/commands/backlog-next-main.js +111 -108
- package/dist/commands/backlog-offer-main.js +148 -112
- package/dist/commands/backlog-plan-cli.js +123 -120
- package/dist/commands/backlog-triage-cli.js +131 -128
- package/dist/commands/backlogrun-cli.js +274 -264
- package/dist/commands/behavior-cli.js +23 -26
- package/dist/commands/bytes-command.js +56 -59
- package/dist/commands/cases-cli.js +4 -5
- package/dist/commands/check-commit-message-main.js +3 -4
- package/dist/commands/check-related.js +125 -119
- package/dist/commands/chunk-26JL4UU4.js +365 -0
- package/dist/commands/chunk-2BIVHPCA.js +85 -0
- package/dist/commands/chunk-2CKJODCK.js +245 -0
- package/dist/commands/chunk-2CNVIA35.js +335 -0
- package/dist/commands/chunk-2E6PSONB.js +46 -0
- package/dist/commands/chunk-2GA4775H.js +77 -0
- package/dist/commands/chunk-2O64H5UJ.js +462 -0
- package/dist/commands/chunk-2OEXY4GM.js +252 -0
- package/dist/commands/chunk-2OMIHPPE.js +51 -0
- package/dist/commands/chunk-2ONSHOAY.js +46 -0
- package/dist/commands/chunk-2SA3W4JF.js +41 -0
- package/dist/commands/chunk-2VY7CJ2R.js +212 -0
- package/dist/commands/chunk-2WRDAQPJ.js +74 -0
- package/dist/commands/chunk-2XLR7R6E.js +541 -0
- package/dist/commands/chunk-33TAOZUE.js +29 -0
- package/dist/commands/chunk-36XHHYNU.js +158 -0
- package/dist/commands/chunk-3CJNQU7P.js +179 -0
- package/dist/commands/chunk-3D5T6KMW.js +59 -0
- package/dist/commands/chunk-3EW5LTN3.js +114 -0
- package/dist/commands/chunk-3F3RNIG2.js +128 -0
- package/dist/commands/chunk-3FLTEJZY.js +74 -0
- package/dist/commands/chunk-3JWPTRNI.js +60 -0
- package/dist/commands/chunk-3LUPGBW4.js +137 -0
- package/dist/commands/chunk-3MQTOUXT.js +94 -0
- package/dist/commands/chunk-3PCUERXE.js +19 -0
- package/dist/commands/chunk-3U6A5WON.js +173 -0
- package/dist/commands/chunk-3VLDFM5I.js +426 -0
- package/dist/commands/chunk-3YT3RCSI.js +140 -0
- package/dist/commands/chunk-43DU7DYZ.js +540 -0
- package/dist/commands/chunk-43H725LG.js +132 -0
- package/dist/commands/chunk-46STCE6Q.js +48 -0
- package/dist/commands/chunk-46WEC6HZ.js +82 -0
- package/dist/commands/chunk-47J4KOZP.js +46 -0
- package/dist/commands/chunk-47W7PF4T.js +22 -0
- package/dist/commands/chunk-4F4KARQN.js +229 -0
- package/dist/commands/chunk-4HB7NWXP.js +263 -0
- package/dist/commands/chunk-4HOTJAO6.js +89 -0
- package/dist/commands/chunk-4I5AA4P5.js +237 -0
- package/dist/commands/chunk-4IDINPBE.js +525 -0
- package/dist/commands/chunk-4NSIW3UB.js +104 -0
- package/dist/commands/chunk-4YTKV6WV.js +37 -0
- package/dist/commands/chunk-5ARNFMQK.js +1263 -0
- package/dist/commands/chunk-5AZTSESD.js +114 -0
- package/dist/commands/chunk-5FUI2MLY.js +89 -0
- package/dist/commands/chunk-5GI5GLC4.js +214 -0
- package/dist/commands/chunk-5IHEBIPD.js +333 -0
- package/dist/commands/chunk-5KAW5GPF.js +44 -0
- package/dist/commands/chunk-5KSJEWXR.js +77 -0
- package/dist/commands/chunk-5OF2B4BF.js +35 -0
- package/dist/commands/chunk-5PLJ7R3D.js +126 -0
- package/dist/commands/chunk-5PPWXOCF.js +64 -0
- package/dist/commands/chunk-5VQCL33M.js +46 -0
- package/dist/commands/chunk-5Y7FOJLX.js +186 -0
- package/dist/commands/chunk-5YTEMF4O.js +110 -0
- package/dist/commands/chunk-6AHAY5VZ.js +69 -0
- package/dist/commands/chunk-6FN37DER.js +330 -0
- package/dist/commands/chunk-6JD4VNO4.js +124 -0
- package/dist/commands/chunk-6KUA7MRG.js +64 -0
- package/dist/commands/chunk-6LDEZFYR.js +88 -0
- package/dist/commands/chunk-6NXIZMIK.js +122 -0
- package/dist/commands/chunk-6O45F6YI.js +86 -0
- package/dist/commands/chunk-6OHJBQDE.js +184 -0
- package/dist/commands/chunk-6WDCCG3M.js +1249 -0
- package/dist/commands/chunk-6ZHXEQAI.js +715 -0
- package/dist/commands/chunk-736NECRD.js +16 -0
- package/dist/commands/chunk-77LEKVEE.js +32 -0
- package/dist/commands/chunk-7CX5VYOL.js +50 -0
- package/dist/commands/chunk-7DGHFBU7.js +247 -0
- package/dist/commands/chunk-7EAYFMDN.js +235 -0
- package/dist/commands/chunk-7HP3FQGQ.js +51 -0
- package/dist/commands/chunk-7HYYHCTN.js +402 -0
- package/dist/commands/chunk-7JOOMFDI.js +155 -0
- package/dist/commands/chunk-7K5ITPHR.js +338 -0
- package/dist/commands/chunk-7OEBSPPU.js +321 -0
- package/dist/commands/chunk-7ULYLGUK.js +492 -0
- package/dist/commands/chunk-A3JYZWBS.js +803 -0
- package/dist/commands/chunk-A3LCN4KA.js +84 -0
- package/dist/commands/chunk-ABLXBG6C.js +98 -0
- package/dist/commands/chunk-ABM2MZBF.js +161 -0
- package/dist/commands/chunk-AN7BFVHU.js +244 -0
- package/dist/commands/chunk-AQCVEQSM.js +99 -0
- package/dist/commands/chunk-AU563VKH.js +75 -0
- package/dist/commands/chunk-AUTD5FV2.js +1077 -0
- package/dist/commands/chunk-AV26CMY6.js +304 -0
- package/dist/commands/chunk-B2PJEV3S.js +246 -0
- package/dist/commands/chunk-B545ENGY.js +214 -0
- package/dist/commands/chunk-B5HP6T4L.js +170 -0
- package/dist/commands/chunk-B73IIRMS.js +207 -0
- package/dist/commands/chunk-BBLEC4YQ.js +109 -0
- package/dist/commands/chunk-BDSG6JKH.js +977 -0
- package/dist/commands/chunk-BFKTUD3V.js +33 -0
- package/dist/commands/chunk-BLRXHK2V.js +17 -0
- package/dist/commands/chunk-BML6MEUB.js +326 -0
- package/dist/commands/chunk-BPDNGJXY.js +63 -0
- package/dist/commands/chunk-BQLKWGGC.js +118 -0
- package/dist/commands/chunk-BRMJVCP7.js +167 -0
- package/dist/commands/chunk-BRWR5YKU.js +268 -0
- package/dist/commands/chunk-BUZAYEBD.js +319 -0
- package/dist/commands/chunk-BVUL57IX.js +139 -0
- package/dist/commands/chunk-C7FGDZWP.js +224 -0
- package/dist/commands/chunk-CC4BIGCA.js +20 -0
- package/dist/commands/chunk-CCHJZEF5.js +4220 -0
- package/dist/commands/chunk-CDK7QZWG.js +44 -0
- package/dist/commands/chunk-CDYFUCDC.js +72 -0
- package/dist/commands/chunk-CEADAQIL.js +170 -0
- package/dist/commands/chunk-CNL3SLM6.js +116 -0
- package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
- package/dist/commands/chunk-CTXJVMHW.js +48 -0
- package/dist/commands/chunk-CUWT6UQO.js +13 -0
- package/dist/commands/chunk-CVRDJCOE.js +125 -0
- package/dist/commands/chunk-D6CF5QGM.js +80 -0
- package/dist/commands/chunk-DACNQAXC.js +20 -0
- package/dist/commands/chunk-DDOS32JU.js +74 -0
- package/dist/commands/chunk-DDZVMXZD.js +481 -0
- package/dist/commands/chunk-DF6QD4AF.js +52 -0
- package/dist/commands/chunk-DFEXNB44.js +159 -0
- package/dist/commands/chunk-DHDKG5HZ.js +151 -0
- package/dist/commands/chunk-DHJRFBKO.js +223 -0
- package/dist/commands/chunk-DKDWOE3C.js +78 -0
- package/dist/commands/chunk-DKO5VTEH.js +65 -0
- package/dist/commands/chunk-DLHH3MLS.js +85 -0
- package/dist/commands/chunk-DOYNK72G.js +81 -0
- package/dist/commands/chunk-DS53UUDH.js +679 -0
- package/dist/commands/chunk-DUA4E4ES.js +230 -0
- package/dist/commands/chunk-DURHGVRC.js +33 -0
- package/dist/commands/chunk-DVCMQMRN.js +191 -0
- package/dist/commands/chunk-E3YKMCCJ.js +108 -0
- package/dist/commands/chunk-E4F2RTKC.js +272 -0
- package/dist/commands/chunk-E4PFCTXN.js +127 -0
- package/dist/commands/chunk-EAOTR2WL.js +24 -0
- package/dist/commands/chunk-EHPTXSAT.js +315 -0
- package/dist/commands/chunk-EHVEWJQ4.js +33 -0
- package/dist/commands/chunk-EMFSPPMH.js +98 -0
- package/dist/commands/chunk-EPICTV2P.js +46 -0
- package/dist/commands/chunk-ES42XPAD.js +123 -0
- package/dist/commands/chunk-ESUY7KTZ.js +137 -0
- package/dist/commands/chunk-EVVQJJFV.js +507 -0
- package/dist/commands/chunk-EWXXEGXL.js +149 -0
- package/dist/commands/chunk-F2RDEF2J.js +205 -0
- package/dist/commands/chunk-F2U46HAE.js +52 -0
- package/dist/commands/chunk-F2VYWU6Z.js +653 -0
- package/dist/commands/chunk-F4SGOTUF.js +36 -0
- package/dist/commands/chunk-F4YMLVWN.js +183 -0
- package/dist/commands/chunk-F57LACNC.js +84 -0
- package/dist/commands/chunk-F5N2QIFD.js +213 -0
- package/dist/commands/chunk-F7B4ESZE.js +80 -0
- package/dist/commands/chunk-FA7CN75F.js +160 -0
- package/dist/commands/chunk-FDASVHZD.js +241 -0
- package/dist/commands/chunk-FEYZ575X.js +278 -0
- package/dist/commands/chunk-FJM2HWKW.js +299 -0
- package/dist/commands/chunk-FJMXUDEY.js +3985 -0
- package/dist/commands/chunk-FM7VVAK6.js +426 -0
- package/dist/commands/chunk-FQWRM5FC.js +67 -0
- package/dist/commands/chunk-FT33ZCSB.js +298 -0
- package/dist/commands/chunk-FTAWHAI7.js +170 -0
- package/dist/commands/chunk-G2DNS74C.js +53 -0
- package/dist/commands/chunk-G3BBCAAH.js +90 -0
- package/dist/commands/chunk-G75GWNNY.js +101 -0
- package/dist/commands/chunk-GA2YSPFH.js +32 -0
- package/dist/commands/chunk-GABDPTDK.js +907 -0
- package/dist/commands/chunk-GAVSK6P6.js +230 -0
- package/dist/commands/chunk-GB2BRQVL.js +300 -0
- package/dist/commands/chunk-GBMZXFFC.js +44 -0
- package/dist/commands/chunk-GDP7QXYE.js +76 -0
- package/dist/commands/chunk-GGWXF7RJ.js +70 -0
- package/dist/commands/chunk-GHOTKHI4.js +30 -0
- package/dist/commands/chunk-GMVN6ZP2.js +48 -0
- package/dist/commands/chunk-GNTTGRCX.js +133 -0
- package/dist/commands/chunk-GOY5JECO.js +130 -0
- package/dist/commands/chunk-GZL6ISVM.js +72 -0
- package/dist/commands/chunk-HALHQILI.js +51 -0
- package/dist/commands/chunk-HAT7AFBF.js +85 -0
- package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
- package/dist/commands/chunk-HE3GOMR7.js +88 -0
- package/dist/commands/chunk-HEFUC4ZW.js +65 -0
- package/dist/commands/chunk-HHS3LYLV.js +30 -0
- package/dist/commands/chunk-HQZ65PJE.js +167 -0
- package/dist/commands/chunk-HRN73FQJ.js +77 -0
- package/dist/commands/chunk-HSZECERZ.js +271 -0
- package/dist/commands/chunk-HYE3MBAN.js +113 -0
- package/dist/commands/chunk-IAB6LCJL.js +18 -0
- package/dist/commands/chunk-IAGENI2U.js +42 -0
- package/dist/commands/chunk-ICPVBHIX.js +48 -0
- package/dist/commands/chunk-IONGJJYM.js +179 -0
- package/dist/commands/chunk-IP23WOWP.js +126 -0
- package/dist/commands/chunk-IPS7EBE5.js +140 -0
- package/dist/commands/chunk-IXZZSST7.js +459 -0
- package/dist/commands/chunk-IY3DSDRW.js +173 -0
- package/dist/commands/chunk-J2RUI4KN.js +47 -0
- package/dist/commands/chunk-J3PCRUVY.js +1223 -0
- package/dist/commands/chunk-J4XHEOOW.js +156 -0
- package/dist/commands/chunk-JDHLHYJJ.js +208 -0
- package/dist/commands/chunk-JEYITIWB.js +423 -0
- package/dist/commands/chunk-JGX7JIW4.js +126 -0
- package/dist/commands/chunk-JHIGDFBS.js +59 -0
- package/dist/commands/chunk-JI2EGXZX.js +53 -0
- package/dist/commands/chunk-JNV3VRK2.js +47 -0
- package/dist/commands/chunk-JPMAW2VZ.js +91 -0
- package/dist/commands/chunk-JQEY6KDP.js +90 -0
- package/dist/commands/chunk-JSJDIEGZ.js +88 -0
- package/dist/commands/chunk-JT5ICRFF.js +44 -0
- package/dist/commands/chunk-JU2MAYQ3.js +997 -0
- package/dist/commands/chunk-JUCJ4Y42.js +77 -0
- package/dist/commands/chunk-K3OZBV3L.js +49 -0
- package/dist/commands/chunk-K6P5PISC.js +114 -0
- package/dist/commands/chunk-KDCHY7XO.js +88 -0
- package/dist/commands/chunk-KDGX3JTV.js +51 -0
- package/dist/commands/chunk-KGSEWOKI.js +353 -0
- package/dist/commands/chunk-KIS7JFNP.js +217 -0
- package/dist/commands/chunk-KJPZPTS4.js +245 -0
- package/dist/commands/chunk-KKHD3C2P.js +114 -0
- package/dist/commands/chunk-KKIIY5I5.js +67 -0
- package/dist/commands/chunk-KN46UC77.js +114 -0
- package/dist/commands/chunk-KP2BVAS5.js +125 -0
- package/dist/commands/chunk-KPAJBJXG.js +63 -0
- package/dist/commands/chunk-KPMAJP6D.js +145 -0
- package/dist/commands/chunk-KR6WUAJM.js +122 -0
- package/dist/commands/chunk-KWLNK2NJ.js +391 -0
- package/dist/commands/chunk-L2CLCNXW.js +144 -0
- package/dist/commands/chunk-L7MDU6D7.js +155 -0
- package/dist/commands/chunk-L7VD4MLF.js +78 -0
- package/dist/commands/chunk-LBVYFW3I.js +38 -0
- package/dist/commands/chunk-LE3M42CF.js +350 -0
- package/dist/commands/chunk-LIPUSINQ.js +140 -0
- package/dist/commands/chunk-LJVZWE3A.js +1885 -0
- package/dist/commands/chunk-LKSSQVDA.js +49 -0
- package/dist/commands/chunk-LL6G34MF.js +93 -0
- package/dist/commands/chunk-LNQOL2CL.js +321 -0
- package/dist/commands/chunk-LS7P324N.js +72 -0
- package/dist/commands/chunk-LU5EOGFQ.js +50 -0
- package/dist/commands/chunk-LX2ENXHZ.js +197 -0
- package/dist/commands/chunk-M32UPB2D.js +110 -0
- package/dist/commands/chunk-M3UGRNNB.js +103 -0
- package/dist/commands/chunk-MDGPJOLK.js +351 -0
- package/dist/commands/chunk-MDKRTUE4.js +288 -0
- package/dist/commands/chunk-MFZVRWRS.js +34 -0
- package/dist/commands/chunk-MHF6BDQI.js +128 -0
- package/dist/commands/chunk-MLJDW7YN.js +64 -0
- package/dist/commands/chunk-MNLHYAJO.js +80 -0
- package/dist/commands/chunk-MOD3FG4V.js +419 -0
- package/dist/commands/chunk-MRAEJLXL.js +83 -0
- package/dist/commands/chunk-MRW2WYJS.js +68 -0
- package/dist/commands/chunk-MXPCEZL5.js +23 -0
- package/dist/commands/chunk-N2XH7QBY.js +103 -0
- package/dist/commands/chunk-N2ZF6T4E.js +332 -0
- package/dist/commands/chunk-N36NZMAL.js +79 -0
- package/dist/commands/chunk-N4EMFHQ6.js +114 -0
- package/dist/commands/chunk-N4P64UIH.js +211 -0
- package/dist/commands/chunk-NABSSY4P.js +204 -0
- package/dist/commands/chunk-NDQIJBRQ.js +100 -0
- package/dist/commands/chunk-NDR4PCVG.js +29 -0
- package/dist/commands/chunk-NEOCCN6D.js +302 -0
- package/dist/commands/chunk-NFKWFOFM.js +45 -0
- package/dist/commands/chunk-NFUPJBBG.js +516 -0
- package/dist/commands/chunk-NHEBKL7X.js +170 -0
- package/dist/commands/chunk-NHTEC5U4.js +99 -0
- package/dist/commands/chunk-NOSODWWK.js +1132 -0
- package/dist/commands/chunk-NPXXYG6Z.js +580 -0
- package/dist/commands/chunk-NR2JDBPV.js +75 -0
- package/dist/commands/chunk-NRULNBYI.js +1153 -0
- package/dist/commands/chunk-NTGF5N3N.js +110 -0
- package/dist/commands/chunk-NTIVNQKF.js +73 -0
- package/dist/commands/chunk-NUCFIYZL.js +119 -0
- package/dist/commands/chunk-NVMV7BYX.js +88 -0
- package/dist/commands/chunk-NYWPTYGL.js +169 -0
- package/dist/commands/chunk-NZ45KOLL.js +104 -0
- package/dist/commands/chunk-O45BX4EL.js +39 -0
- package/dist/commands/chunk-O46T4ANI.js +229 -0
- package/dist/commands/chunk-O5JGV7NA.js +245 -0
- package/dist/commands/chunk-O7ESC4HL.js +566 -0
- package/dist/commands/chunk-OBYLXHCH.js +86 -0
- package/dist/commands/chunk-OHN3QARP.js +769 -0
- package/dist/commands/chunk-OKBZGLD5.js +393 -0
- package/dist/commands/chunk-OKN63ZH5.js +109 -0
- package/dist/commands/chunk-ON4IKRGS.js +469 -0
- package/dist/commands/chunk-OT74RSQO.js +82 -0
- package/dist/commands/chunk-OVCVINYW.js +143 -0
- package/dist/commands/chunk-OZKLVTYI.js +342 -0
- package/dist/commands/chunk-OZN4HOZT.js +74 -0
- package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
- package/dist/commands/chunk-P43GWYR6.js +185 -0
- package/dist/commands/chunk-P6ASP2DY.js +132 -0
- package/dist/commands/chunk-PBAEJ5PT.js +38 -0
- package/dist/commands/chunk-PCZROH3R.js +100 -0
- package/dist/commands/chunk-PJYTUUTH.js +34 -0
- package/dist/commands/chunk-PKXTISWR.js +58 -0
- package/dist/commands/chunk-PSGLUBSB.js +74 -0
- package/dist/commands/chunk-PUQA7F6Y.js +186 -0
- package/dist/commands/chunk-PVRDJU2B.js +126 -0
- package/dist/commands/chunk-Q3HM2BEH.js +45 -0
- package/dist/commands/chunk-Q42NF2TL.js +47 -0
- package/dist/commands/chunk-Q4ULMZAS.js +106 -0
- package/dist/commands/chunk-QCRUPRQ2.js +207 -0
- package/dist/commands/chunk-QFIKPGMC.js +280 -0
- package/dist/commands/chunk-QSBYULSS.js +100 -0
- package/dist/commands/chunk-QSJCZATC.js +18 -0
- package/dist/commands/chunk-QTJPCXEW.js +23 -0
- package/dist/commands/chunk-QTQAI2M2.js +179 -0
- package/dist/commands/chunk-QTVVFV4Q.js +127 -0
- package/dist/commands/chunk-QX2EMUXV.js +102 -0
- package/dist/commands/chunk-QXBOECGL.js +272 -0
- package/dist/commands/chunk-QXCG3SG4.js +88 -0
- package/dist/commands/chunk-QZVMGAWV.js +307 -0
- package/dist/commands/chunk-R36VZIKU.js +53 -0
- package/dist/commands/chunk-R3F7F3TX.js +94 -0
- package/dist/commands/chunk-R5AABJZJ.js +1062 -0
- package/dist/commands/chunk-R7PYR4HW.js +389 -0
- package/dist/commands/chunk-RAQ3E6OT.js +258 -0
- package/dist/commands/chunk-RESNXNDG.js +54 -0
- package/dist/commands/chunk-RFIOZTXY.js +305 -0
- package/dist/commands/chunk-RFWB2KAV.js +102 -0
- package/dist/commands/chunk-RFXON3FK.js +25 -0
- package/dist/commands/chunk-RGEB5L37.js +66 -0
- package/dist/commands/chunk-RGRLLF2J.js +119 -0
- package/dist/commands/chunk-RLRIMYXM.js +178 -0
- package/dist/commands/chunk-RNB3DQOZ.js +70 -0
- package/dist/commands/chunk-RO4QEZJO.js +172 -0
- package/dist/commands/chunk-RS5HBJY6.js +161 -0
- package/dist/commands/chunk-RV7EQIE4.js +202 -0
- package/dist/commands/chunk-RWPCK3CO.js +41 -0
- package/dist/commands/chunk-RWYSVFIA.js +250 -0
- package/dist/commands/chunk-RYKK75YT.js +289 -0
- package/dist/commands/chunk-S4JE63QE.js +704 -0
- package/dist/commands/chunk-S4OZJIXD.js +134 -0
- package/dist/commands/chunk-S5GX3H4P.js +91 -0
- package/dist/commands/chunk-SC57VV6A.js +60 -0
- package/dist/commands/chunk-SD4EX75H.js +177 -0
- package/dist/commands/chunk-SJITWFNY.js +480 -0
- package/dist/commands/chunk-SKGDMAIA.js +33 -0
- package/dist/commands/chunk-SNSZ25XZ.js +393 -0
- package/dist/commands/chunk-SOETJZWH.js +7672 -0
- package/dist/commands/chunk-SQZZHK6X.js +119 -0
- package/dist/commands/chunk-SRTEE34O.js +93 -0
- package/dist/commands/chunk-SYTCTLMD.js +285 -0
- package/dist/commands/chunk-T6JUDQMW.js +181 -0
- package/dist/commands/chunk-TEXUEBGE.js +208 -0
- package/dist/commands/chunk-TFDVTU6O.js +910 -0
- package/dist/commands/chunk-TFYYXETQ.js +472 -0
- package/dist/commands/chunk-TMFKVJUW.js +121 -0
- package/dist/commands/chunk-TNJU4CXD.js +32 -0
- package/dist/commands/chunk-TRHWBUWE.js +61 -0
- package/dist/commands/chunk-TROCFVCU.js +45 -0
- package/dist/commands/chunk-TUBBESHU.js +85 -0
- package/dist/commands/chunk-TVZIFZZN.js +62 -0
- package/dist/commands/chunk-TXRWAL63.js +144 -0
- package/dist/commands/chunk-U46YTYJQ.js +92 -0
- package/dist/commands/chunk-U5EO4QEV.js +48 -0
- package/dist/commands/chunk-UCO333EX.js +47 -0
- package/dist/commands/chunk-UIXQ4IYT.js +445 -0
- package/dist/commands/chunk-UJGNYPMD.js +716 -0
- package/dist/commands/chunk-URZ4RDC4.js +220 -0
- package/dist/commands/chunk-UUA63LCI.js +77 -0
- package/dist/commands/chunk-UUH3DE77.js +57 -0
- package/dist/commands/chunk-UVY5ODCM.js +60 -0
- package/dist/commands/chunk-UWMB6EOU.js +45 -0
- package/dist/commands/chunk-UY62WJV6.js +120 -0
- package/dist/commands/chunk-UZDKCGDC.js +198 -0
- package/dist/commands/chunk-VAHQ4AFM.js +585 -0
- package/dist/commands/chunk-VCWNMRH7.js +71 -0
- package/dist/commands/chunk-VL5I2IOD.js +332 -0
- package/dist/commands/chunk-VLN6TSPJ.js +139 -0
- package/dist/commands/chunk-VMG3QB6C.js +81 -0
- package/dist/commands/chunk-VO25PMGS.js +58 -0
- package/dist/commands/chunk-VPRQFM2T.js +37 -0
- package/dist/commands/chunk-VTLWODJ2.js +133 -0
- package/dist/commands/chunk-VUCDGQ6Y.js +260 -0
- package/dist/commands/chunk-VY7ZJMDT.js +469 -0
- package/dist/commands/chunk-W4BR6QNU.js +1241 -0
- package/dist/commands/chunk-W7X7MZZN.js +449 -0
- package/dist/commands/chunk-WCYRNNKF.js +76 -0
- package/dist/commands/chunk-WEUUJIWQ.js +84 -0
- package/dist/commands/chunk-WNBJK6QE.js +84 -0
- package/dist/commands/chunk-WORHUJ6T.js +73 -0
- package/dist/commands/chunk-WR5PKCQW.js +61 -0
- package/dist/commands/chunk-WR73HTRG.js +121 -0
- package/dist/commands/chunk-WRHMYSW7.js +36 -0
- package/dist/commands/chunk-WRNMUQTD.js +95 -0
- package/dist/commands/chunk-WROJTXWZ.js +138 -0
- package/dist/commands/chunk-WTIPX5NG.js +43 -0
- package/dist/commands/chunk-WWLCQREY.js +225 -0
- package/dist/commands/chunk-WXLW7S4M.js +71 -0
- package/dist/commands/chunk-WXXLJQBO.js +67 -0
- package/dist/commands/chunk-X4LYH6Q4.js +56 -0
- package/dist/commands/chunk-XAEL24EG.js +66 -0
- package/dist/commands/chunk-XDR2BRDL.js +216 -0
- package/dist/commands/chunk-XRQMVAB4.js +85 -0
- package/dist/commands/chunk-XUXCFPDK.js +218 -0
- package/dist/commands/chunk-XXPDFJRI.js +48 -0
- package/dist/commands/chunk-Y6OGDG5I.js +49 -0
- package/dist/commands/chunk-YANDBVAT.js +430 -0
- package/dist/commands/chunk-YD7XK2TX.js +550 -0
- package/dist/commands/chunk-YEAE46TS.js +98 -0
- package/dist/commands/chunk-YEQFAEVW.js +112 -0
- package/dist/commands/chunk-YJZAD4Z5.js +103 -0
- package/dist/commands/chunk-YNCF66RK.js +1052 -0
- package/dist/commands/chunk-YOA25SII.js +210 -0
- package/dist/commands/chunk-YOZTZMAT.js +38 -0
- package/dist/commands/chunk-YSGRHVZG.js +897 -0
- package/dist/commands/chunk-YSLGWRQN.js +646 -0
- package/dist/commands/chunk-YT5JR2CB.js +105 -0
- package/dist/commands/chunk-YTXCLGGL.js +168 -0
- package/dist/commands/chunk-YVHJN2HS.js +74 -0
- package/dist/commands/chunk-YY7XVVSB.js +43 -0
- package/dist/commands/chunk-Z2NUK47W.js +1314 -0
- package/dist/commands/chunk-Z5GZV4DV.js +16 -0
- package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
- package/dist/commands/chunk-ZCD4AV2P.js +73 -0
- package/dist/commands/chunk-ZCHZU6NX.js +799 -0
- package/dist/commands/chunk-ZEH2B3DF.js +239 -0
- package/dist/commands/chunk-ZGANVZCA.js +92 -0
- package/dist/commands/chunk-ZGEUWHFF.js +297 -0
- package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
- package/dist/commands/chunk-ZI3SABMH.js +347 -0
- package/dist/commands/chunk-ZIIUBGON.js +773 -0
- package/dist/commands/chunk-ZJJLROJY.js +269 -0
- package/dist/commands/chunk-ZNIIA275.js +59 -0
- package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
- package/dist/commands/ci-timing-cli.js +22 -3
- package/dist/commands/code-symbol-cli.js +21 -7
- package/dist/commands/codex-hook-adapter.js +124 -119
- package/dist/commands/command-derive.js +9 -11
- package/dist/commands/cost-audit-main.js +118 -119
- package/dist/commands/cost-main.js +5 -7
- package/dist/commands/cspell-cached.js +55 -57
- package/dist/commands/defect-origin-main.js +42 -37
- package/dist/commands/defect-report-main.js +33 -25
- package/dist/commands/diff-summary-cli.js +3 -4
- package/dist/commands/disposition-cli.js +117 -118
- package/dist/commands/doctor.js +24 -11
- package/dist/commands/document-read-cli.js +50 -53
- package/dist/commands/document-section-main.js +50 -53
- package/dist/commands/dogfood-commit-cli.js +19 -4
- package/dist/commands/effect-audit-cli.js +40 -41
- package/dist/commands/epic-audit-main.js +88 -86
- package/dist/commands/epic-bundle-main.js +122 -119
- package/dist/commands/epic-check.js +37 -31
- package/dist/commands/epic-main.js +129 -126
- package/dist/commands/epic-next-main.js +85 -83
- package/dist/commands/eval-run.js +6 -7
- package/dist/commands/format-edited-cli.js +71 -46
- package/dist/commands/format.js +41 -56
- package/dist/commands/fresh-machine-cli.js +24 -7
- package/dist/commands/gh-usage-cli.js +22 -22
- package/dist/commands/git-followup-workflow.js +170 -159
- package/dist/commands/git-gh-checks-failed-main.js +23 -15
- package/dist/commands/git-workflow.js +52 -53
- package/dist/commands/github-release-cli.js +3 -3
- package/dist/commands/hook-ledger-cli.js +93 -94
- package/dist/commands/init-main.js +40 -40
- package/dist/commands/inputs.json +1999 -1954
- package/dist/commands/issue-ack-cli.js +28 -21
- package/dist/commands/issue-already-done-cli.js +107 -110
- package/dist/commands/issue-body-cli.js +71 -73
- package/dist/commands/issue-cite-main.js +35 -28
- package/dist/commands/issue-comment-main.js +36 -30
- package/dist/commands/issue-consolidate-cli.js +54 -54
- package/dist/commands/issue-file-main.js +274 -148
- package/dist/commands/issue-fold-existing-cli.js +126 -123
- package/dist/commands/issue-fold-main.js +57 -60
- package/dist/commands/issue-lint-main.js +59 -61
- package/dist/commands/issue-measured-cli.js +108 -110
- package/dist/commands/issue-plan-cli.js +156 -155
- package/dist/commands/issue-premise-unmet-cli.js +111 -113
- package/dist/commands/issue-priority-cli.js +38 -32
- package/dist/commands/issue-read-main.js +38 -33
- package/dist/commands/issue-release-class-cli.js +37 -31
- package/dist/commands/issue-release-main.js +35 -29
- package/dist/commands/issue-scout-main.js +123 -120
- package/dist/commands/issue-spill-main.js +149 -144
- package/dist/commands/issue-state-main.js +36 -31
- package/dist/commands/issue-tick-cli.js +37 -31
- package/dist/commands/josh-completion.js +21 -24
- package/dist/commands/lane-adopt-cli.js +53 -55
- package/dist/commands/lane-breakdown-cli.js +193 -172
- package/dist/commands/lane-cli.js +199 -180
- package/dist/commands/lane-launch-main.js +106 -56
- package/dist/commands/lane-limit-cli.js +119 -116
- package/dist/commands/lane-measure-cli.js +408 -245
- package/dist/commands/lane-pause-cli.js +51 -54
- package/dist/commands/lane-plan-cli.js +148 -147
- package/dist/commands/lane-resolve-cli.js +48 -50
- package/dist/commands/lane-restart-cli.js +185 -168
- package/dist/commands/lane-why-cli.js +121 -122
- package/dist/commands/lane-withdraw-cli.js +84 -86
- package/dist/commands/latest-corepack.js +3 -2
- package/dist/commands/latest-if-required-cli.js +12 -15
- package/dist/commands/latest-lane-guard-main.js +2 -3
- package/dist/commands/latest-scope-main.js +5 -7
- package/dist/commands/latest-update.js +3 -2
- package/dist/commands/lines-command.js +8 -10
- package/dist/commands/lint-parallel-main.js +65 -67
- package/dist/commands/lint-related.js +149 -133
- package/dist/commands/lint-rule.js +64 -66
- package/dist/commands/lockfile-policy.js +29 -32
- package/dist/commands/main-merge-main.js +23 -25
- package/dist/commands/main-sync-main.js +23 -24
- package/dist/commands/managed-config-scope-cli.js +11 -10
- package/dist/commands/measure-rerun-cli.js +31 -26
- package/dist/commands/metrics-command.js +97 -100
- package/dist/commands/observation-record-cli.js +24 -14
- package/dist/commands/observations-flush-cli.js +50 -52
- package/dist/commands/overrides-check.js +1 -1
- package/dist/commands/package-scout-cli.js +70 -73
- package/dist/commands/pin-verify-cli.js +21 -2
- package/dist/commands/plan-consumers-main.js +3 -4
- package/dist/commands/plan-scaffold-cli.js +145 -146
- package/dist/commands/pr-classification-main.js +22 -3
- package/dist/commands/pre-commit-lint.js +30 -34
- package/dist/commands/pre-commit-type-check.js +55 -55
- package/dist/commands/pre-push-unit.js +69 -70
- package/dist/commands/pretool-guard-cli.js +111 -113
- package/dist/commands/prevent-main-commit.js +2 -3
- package/dist/commands/project-profile-cli.js +24 -9
- package/dist/commands/propagate.js +31 -23
- package/dist/commands/prose-stale-cli.js +48 -42
- package/dist/commands/publishable-range-check.js +3 -3
- package/dist/commands/read-set-cli.js +58 -61
- package/dist/commands/refactor-scan-cli.js +8 -9
- package/dist/commands/release-cli.js +57 -57
- package/dist/commands/release-scope-main.js +41 -36
- package/dist/commands/rename-cli.js +64 -36
- package/dist/commands/repo-party-cli.js +3 -4
- package/dist/commands/report-template-cli.js +4 -5
- package/dist/commands/reserved-run.js +17 -20
- package/dist/commands/retrospective-cli.js +126 -127
- package/dist/commands/review-attest-cli.js +28 -20
- package/dist/commands/review-brief-main.js +184 -167
- package/dist/commands/review-findings-cli.js +23 -13
- package/dist/commands/review-pair-cli.js +180 -156
- package/dist/commands/review-record-main.js +171 -147
- package/dist/commands/review-round2-cli.js +89 -91
- package/dist/commands/review-stops-cli.js +51 -54
- package/dist/commands/review-submit-cli.js +184 -167
- package/dist/commands/rule-list.js +78 -80
- package/dist/commands/rule-value-cli.js +115 -116
- package/dist/commands/ruleset-check-cli.js +23 -6
- package/dist/commands/run-add-cli.js +115 -75
- package/dist/commands/run-board-main.js +173 -169
- package/dist/commands/run-carry-cli.js +182 -174
- package/dist/commands/run-chain-cli.js +184 -160
- package/dist/commands/run-cut-cli.js +206 -168
- package/dist/commands/run-ending-cli.js +51 -54
- package/dist/commands/run-entry-cli.js +230 -283
- package/dist/commands/run-event-cli.js +18 -21
- package/dist/commands/run-handoff-cli.js +75 -78
- package/dist/commands/run-handoff-lanes-cli.js +48 -51
- package/dist/commands/run-hold-main.js +105 -107
- package/dist/commands/run-liveness-cli.js +47 -49
- package/dist/commands/run-merge-main.js +159 -151
- package/dist/commands/run-next-cli.js +128 -129
- package/dist/commands/run-park-cli.js +137 -140
- package/dist/commands/run-pause-cli.js +190 -186
- package/dist/commands/run-pickup-cli.js +49 -52
- package/dist/commands/run-prep-main.js +124 -125
- package/dist/commands/run-prime-cli.js +175 -147
- package/dist/commands/run-progress-main.js +149 -146
- package/dist/commands/run-report-cli.js +60 -60
- package/dist/commands/run-review-cli.js +229 -214
- package/dist/commands/run-ship-cli.js +258 -252
- package/dist/commands/run-ship-evidence-cli.js +71 -72
- package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
- package/dist/commands/run-ship-wait-main.js +83 -85
- package/dist/commands/run-split-cli.js +176 -172
- package/dist/commands/run-stale-main.js +72 -75
- package/dist/commands/run-status-cli.js +44 -44
- package/dist/commands/run-step-cli.js +213 -211
- package/dist/commands/run-tail-cli.js +23 -18
- package/dist/commands/run-tidy-main.js +67 -69
- package/dist/commands/run-wake-main.js +206 -187
- package/dist/commands/run-watcher-guard-cli.js +63 -66
- package/dist/commands/security-audit-main.js +21 -24
- package/dist/commands/security-audit-provision-main.js +9 -11
- package/dist/commands/selfcheck-cli.js +63 -57
- package/dist/commands/session-language-main.js +70 -73
- package/dist/commands/sonar-hotspots-cli.js +9 -8
- package/dist/commands/sonar-new-code-cli.js +3 -4
- package/dist/commands/split-assess-cli.js +55 -58
- package/dist/commands/split-child-recover-cli.js +38 -39
- package/dist/commands/start.js +64 -64
- package/dist/commands/stash-pop-main.js +4 -5
- package/dist/commands/stash-push-main.js +7 -9
- package/dist/commands/stop-guard.js +180 -176
- package/dist/commands/sync-main.js +30 -15
- package/dist/commands/telegram-test-main.js +29 -22
- package/dist/commands/test-declared.js +29 -15
- package/dist/commands/test-e2e-guard.js +54 -54
- package/dist/commands/test-pinned-main.js +57 -56
- package/dist/commands/test-reach-cli.js +40 -32
- package/dist/commands/test-red-main.js +12 -14
- package/dist/commands/test-related-XBDH2IOH.js +113 -0
- package/dist/commands/test-related-main.js +89 -89
- package/dist/commands/test-unit-guard-main.js +37 -37
- package/dist/commands/time-cli.js +54 -57
- package/dist/commands/time-density-cli.js +26 -29
- package/dist/commands/tree-status-cli.js +6 -8
- package/dist/commands/type-check-command.js +26 -11
- package/dist/commands/ui-routes-cli.js +5 -6
- package/dist/commands/ui-shot-cli.js +1 -1
- package/dist/commands/uninstall.js +44 -43
- package/dist/commands/unused-members-KVKZDTXD.js +329 -0
- package/dist/commands/unused-members-cli.js +27 -12
- package/dist/commands/upstream-interrupt-main.js +159 -151
- package/dist/commands/verification-gate.js +85 -86
- package/dist/commands/version-check.js +25 -8
- package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
- package/dist/hooks/chunk-46PTTMGE.js +1625 -0
- package/dist/hooks/chunk-5NIBRHWG.js +77 -0
- package/dist/hooks/chunk-76QKN2K3.js +258 -0
- package/dist/hooks/chunk-CHEKMGFP.js +321 -0
- package/dist/hooks/chunk-DCILEVDR.js +5173 -0
- package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
- package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
- package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
- package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
- package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
- package/dist/hooks/codex-hook-adapter.js +11 -12
- package/dist/hooks/daemon.js +2140 -1387
- package/dist/hooks/format-edited.js +6 -6
- package/dist/hooks/inputs.json +543 -518
- package/dist/hooks/pretool-guard.js +8 -8
- package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
- package/dist/hooks/session-lang.js +9 -7
- package/dist/hooks/stop-guard.js +970 -668
- package/dist/inputs.json +77 -68
- package/dist/josh.js +1029 -577
- package/dist/registry-migrate.mjs +33938 -0
- package/dist/version/index.js +4251 -175
- package/package.json +4 -1
- package/prompts/collaboration-workflow/principles.md +4 -1
- package/prompts/collaboration-workflow/rule-delivery.md +1 -1
- package/scripts/agent/codex-launch-identity.ts +70 -0
- package/scripts/auto-ok/auto-ok-cli.ts +2 -0
- package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
- package/scripts/auto-ok/auto-ok-judge.ts +3 -1
- package/scripts/backlog/backlog-arrival.ts +1 -1
- package/scripts/backlog/backlog-budget.ts +5 -2
- package/scripts/backlog/backlog-defect-priority.ts +1 -1
- package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
- package/scripts/backlog/backlog-drain-flush.ts +38 -3
- package/scripts/backlog/backlog-drive-cli.ts +1 -1
- package/scripts/backlog/backlog-drive-hold.ts +28 -5
- package/scripts/backlog/backlog-drive-launch.ts +37 -15
- package/scripts/backlog/backlog-drive-listing.ts +39 -23
- package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
- package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
- package/scripts/backlog/backlog-hold-codes.ts +7 -0
- package/scripts/backlog/backlog-hold-text.ts +14 -1
- package/scripts/backlog/backlog-measure-close.ts +6 -0
- package/scripts/backlog/backlog-next-shared.ts +20 -2
- package/scripts/backlog/backlog-next.ts +24 -3
- package/scripts/backlog/backlog-offer-cli.ts +69 -16
- package/scripts/build/build-migration.ts +25 -0
- package/scripts/build/build.ts +2 -0
- package/scripts/epic/epic-classify.ts +6 -1
- package/scripts/epic/epic-live.ts +46 -0
- package/scripts/followup/followup-failed-tests.ts +71 -10
- package/scripts/followup/followup-job-rerun.ts +2 -2
- package/scripts/followup/git-followup-finish.ts +16 -1
- package/scripts/gate/change-scope-action.integration.test.ts +88 -0
- package/scripts/gate/change-scope-action.ts +2 -0
- package/scripts/gate/check-related-order.ts +6 -7
- package/scripts/gate/check-related.ts +18 -8
- package/scripts/gate/core-admission.ts +17 -30
- package/scripts/gate/core-budget-poll.ts +183 -0
- package/scripts/gate/core-budget-timing.ts +1 -1
- package/scripts/gate/core-budget.ts +24 -112
- package/scripts/gate/core-wait-record.ts +52 -7
- package/scripts/gate/machine-capacity.ts +6 -2
- package/scripts/gate/metrics-totals.ts +11 -0
- package/scripts/gate/path-glob.test.ts +18 -0
- package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
- package/scripts/gate/verification-inputs.ts +2 -1
- package/scripts/gh/fix-gh-packages-logic.ts +22 -15
- package/scripts/gh/gh-request-tally.ts +4 -0
- package/scripts/hooks/bash-revert.ts +79 -31
- package/scripts/hooks/format-edited-file.ts +6 -8
- package/scripts/hooks/implementation-shell.ts +3 -2
- package/scripts/init/distributed-paths.ts +18 -5
- package/scripts/init/init-actions.ts +16 -1
- package/scripts/init/init-bootstrap.ts +2 -0
- package/scripts/init/init-logic.ts +40 -8
- package/scripts/init/init.ts +11 -3
- package/scripts/issue/defect-rate-cli.ts +19 -13
- package/scripts/issue/issue-file-batch.ts +7 -3
- package/scripts/issue/issue-file-cli.ts +19 -6
- package/scripts/issue/issue-file-main.ts +6 -1
- package/scripts/issue/issue-file-pass.ts +17 -0
- package/scripts/issue/issue-file.ts +3 -0
- package/scripts/issue/issue-not-before.ts +9 -2
- package/scripts/issue/issue-observation-gate.ts +141 -0
- package/scripts/issue/issue-observation-prime.ts +83 -0
- package/scripts/issue/issue-publication-state.ts +61 -0
- package/scripts/issue/issue-publication.ts +144 -0
- package/scripts/issue/issue-sample-prime.ts +2 -0
- package/scripts/issue/issue-search-count.ts +26 -0
- package/scripts/issue/issue-search.ts +128 -3
- package/scripts/issue/issue-spill-cli.ts +4 -0
- package/scripts/issue/upstream-interrupt-cli.ts +21 -5
- package/scripts/josh/josh-commands-ai.ts +1 -1
- package/scripts/josh/josh-commands-development.ts +1 -1
- package/scripts/josh/josh-commands-issue-write.ts +9 -0
- package/scripts/josh/josh-commands-run.ts +6 -1
- package/scripts/josh/josh-commands-ship.ts +5 -5
- package/scripts/josh/josh-run.ts +5 -2
- package/scripts/josh/shared-cache.ts +16 -1
- package/scripts/lane/lane-await.ts +15 -0
- package/scripts/lane/lane-cli.ts +2 -0
- package/scripts/lane/lane-dispatch-dependency.ts +102 -0
- package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
- package/scripts/lane/lane-dispatch.ts +44 -5
- package/scripts/lane/lane-early-push-count.ts +21 -0
- package/scripts/lane/lane-install.ts +15 -5
- package/scripts/lane/lane-launch-cli.ts +35 -14
- package/scripts/lane/lane-ledger-kind.ts +2 -0
- package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
- package/scripts/lane/lane-ledger-schema.ts +15 -1
- package/scripts/lane/lane-ledger-write.ts +4 -1
- package/scripts/lane/lane-relaunch.ts +25 -2
- package/scripts/lane/lane-state-record.ts +2 -0
- package/scripts/lane/lane-state.ts +8 -1
- package/scripts/lane/lane-stats-tables.ts +2 -0
- package/scripts/lane/openai-lane-supervisor.ts +16 -1
- package/scripts/lib/inherited-scope.ts +48 -0
- package/scripts/lint/format-steps.ts +93 -0
- package/scripts/lint/format.ts +6 -49
- package/scripts/lint/lint-related-fix.ts +35 -0
- package/scripts/lint/lint-related.ts +22 -35
- package/scripts/propagate/propagate-steps.ts +9 -4
- package/scripts/registry-migration/migrate-cli.ts +50 -0
- package/scripts/registry-migration/migrate-files.ts +154 -0
- package/scripts/registry-migration/migrate-lock.ts +147 -0
- package/scripts/registry-migration/migrate.ts +235 -0
- package/scripts/registry-migration/npm-acquisition.ts +118 -0
- package/scripts/review/review-record-cli.ts +27 -13
- package/scripts/review/review-record-pinned.ts +15 -6
- package/scripts/run/add/run-add-cli.ts +21 -3
- package/scripts/run/add/run-add.ts +26 -9
- package/scripts/run/board/run-board-layout.ts +11 -6
- package/scripts/run/board/run-board-read.ts +29 -69
- package/scripts/run/board/run-board-reason.ts +12 -0
- package/scripts/run/board/run-board-render-lanes.ts +26 -9
- package/scripts/run/board/run-board-render-lead.ts +9 -0
- package/scripts/run/board/run-board-retry-wait.ts +35 -0
- package/scripts/run/board/run-board-root-layout.ts +69 -0
- package/scripts/run/board/run-board-seat.ts +9 -2
- package/scripts/run/board/run-board-setup.ts +6 -4
- package/scripts/run/board/run-board-single.ts +69 -4
- package/scripts/run/board/run-board-span-read.ts +85 -0
- package/scripts/run/board/run-board-tick.ts +12 -4
- package/scripts/run/carry/run-carry-reclaim.ts +12 -2
- package/scripts/run/carry/run-carry-session.ts +48 -0
- package/scripts/run/carry/run-carry.ts +21 -14
- package/scripts/run/cut/run-cut-resume.ts +15 -3
- package/scripts/run/cut/run-cut.ts +1 -1
- package/scripts/run/detached-launch.ts +14 -5
- package/scripts/run/early-push-record.ts +6 -2
- package/scripts/run/event/run-event-setup.ts +2 -0
- package/scripts/run/event/run-event-stream-emit.ts +27 -7
- package/scripts/run/hold/run-hold-cli.ts +40 -5
- package/scripts/run/hold/run-hold-ended.ts +50 -0
- package/scripts/run/merge/run-merge-cut-release.ts +17 -0
- package/scripts/run/merge/run-merge-human-review.ts +6 -0
- package/scripts/run/merge/run-merge-steps.ts +4 -57
- package/scripts/run/merge/run-merge-waits.ts +54 -0
- package/scripts/run/prime/run-prime-cli.ts +16 -2
- package/scripts/run/review/run-review-cli.ts +5 -7
- package/scripts/run/review/run-review-early-push.ts +19 -8
- package/scripts/run/review/run-review-join-read.ts +33 -6
- package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
- package/scripts/run/review/run-review-pinned-steps.ts +7 -1
- package/scripts/run/run-halfrun-resume.ts +49 -6
- package/scripts/run/run-headless.ts +3 -0
- package/scripts/run/run-pr-return.ts +14 -5
- package/scripts/run/run-repair-attempt.ts +219 -0
- package/scripts/run/ship/run-ship-lap.ts +5 -17
- package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
- package/scripts/run/ship/run-ship-scoped.ts +66 -30
- package/scripts/run/startup/run-startup-schema.ts +31 -0
- package/scripts/run/startup/run-startup-store.ts +130 -0
- package/scripts/run/startup/run-startup.ts +119 -0
- package/scripts/run/wake/run-wake-codex.ts +144 -0
- package/scripts/run/wake/run-wake-driver.ts +32 -7
- package/scripts/run/wake/run-wake-handoff.ts +9 -8
- package/scripts/run/wake/run-wake-loop.ts +23 -3
- package/scripts/run/wake/run-wake-ports.ts +17 -3
- package/scripts/run/wake/run-wake-takeover.ts +6 -3
- package/scripts/run/wake/run-wake-window.ts +4 -1
- package/scripts/run/wake/run-wake.ts +5 -0
- package/scripts/sync/sync-ai-files.ts +17 -0
- package/scripts/sync/sync-configs.ts +11 -1
- package/scripts/sync/sync.ts +5 -1
- package/scripts/test/test-pinned-cache-logic.ts +13 -7
- package/scripts/test/test-pinned-cache.ts +33 -11
- package/scripts/test/test-related-cap.ts +7 -3
- package/scripts/test/test-related-imports.ts +92 -0
- package/scripts/test/test-runner-config.ts +19 -0
- package/scripts/test/vitest-failure-summary.ts +7 -0
- package/scripts/version/npm-registry.ts +45 -7
- package/scripts/version/upgrade-shell-command.ts +34 -2
- package/templates/workflows/ci.yml +0 -15
- package/templates/workflows/github-release.yml +0 -5
- package/dist/commands/chunk-23GH6B3D.js +0 -333
- package/dist/commands/chunk-24OATKOF.js +0 -7534
- package/dist/commands/chunk-24ZDAWML.js +0 -48
- package/dist/commands/chunk-2BB5ZR2F.js +0 -128
- package/dist/commands/chunk-2BJJUTZA.js +0 -59
- package/dist/commands/chunk-2CXT6MBR.js +0 -51
- package/dist/commands/chunk-2DJLAUYB.js +0 -109
- package/dist/commands/chunk-2EZTYLO4.js +0 -179
- package/dist/commands/chunk-2FJJYCBD.js +0 -149
- package/dist/commands/chunk-2PHOLX62.js +0 -43
- package/dist/commands/chunk-2QM72JCJ.js +0 -338
- package/dist/commands/chunk-2VRITY55.js +0 -41
- package/dist/commands/chunk-2XAH3MHV.js +0 -23
- package/dist/commands/chunk-34KZDKQJ.js +0 -304
- package/dist/commands/chunk-352KLSFX.js +0 -67
- package/dist/commands/chunk-36LOGVJ7.js +0 -38
- package/dist/commands/chunk-3AEDZZNL.js +0 -223
- package/dist/commands/chunk-3B2HEFNO.js +0 -51
- package/dist/commands/chunk-3PEXBHRN.js +0 -33
- package/dist/commands/chunk-3Z425MM3.js +0 -61
- package/dist/commands/chunk-3ZOX4G4U.js +0 -88
- package/dist/commands/chunk-452HWOJ7.js +0 -395
- package/dist/commands/chunk-475EFIJV.js +0 -178
- package/dist/commands/chunk-47UZB54M.js +0 -73
- package/dist/commands/chunk-4DN4XVPL.js +0 -716
- package/dist/commands/chunk-4DVM57T7.js +0 -86
- package/dist/commands/chunk-4EADHJVC.js +0 -247
- package/dist/commands/chunk-4HERA2GY.js +0 -95
- package/dist/commands/chunk-4JI35CVO.js +0 -70
- package/dist/commands/chunk-4L4LNWZ7.js +0 -143
- package/dist/commands/chunk-4N32QKJZ.js +0 -170
- package/dist/commands/chunk-4NRSFLG7.js +0 -185
- package/dist/commands/chunk-4OKRPAUT.js +0 -98
- package/dist/commands/chunk-4PUKDAXL.js +0 -42
- package/dist/commands/chunk-4Q64PG46.js +0 -478
- package/dist/commands/chunk-4UDTQVDD.js +0 -278
- package/dist/commands/chunk-4WR2LEZL.js +0 -123
- package/dist/commands/chunk-4ZJOC6OK.js +0 -298
- package/dist/commands/chunk-4ZQM4I7R.js +0 -533
- package/dist/commands/chunk-54X37JEJ.js +0 -170
- package/dist/commands/chunk-56KW5EOK.js +0 -85
- package/dist/commands/chunk-5CG3XU3O.js +0 -74
- package/dist/commands/chunk-5ESZLHDZ.js +0 -514
- package/dist/commands/chunk-5FBRMARM.js +0 -578
- package/dist/commands/chunk-5RG4S66L.js +0 -47
- package/dist/commands/chunk-5UJGACVN.js +0 -137
- package/dist/commands/chunk-5Y7B7FDL.js +0 -44
- package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
- package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
- package/dist/commands/chunk-5ZTQX7OS.js +0 -125
- package/dist/commands/chunk-66NX6EXR.js +0 -29
- package/dist/commands/chunk-66TGK5XL.js +0 -84
- package/dist/commands/chunk-6CFHLMKM.js +0 -555
- package/dist/commands/chunk-6DDK5XWK.js +0 -74
- package/dist/commands/chunk-6GQX752S.js +0 -145
- package/dist/commands/chunk-6HRRZANN.js +0 -55
- package/dist/commands/chunk-6MAZ55GF.js +0 -1241
- package/dist/commands/chunk-6OP63TBT.js +0 -78
- package/dist/commands/chunk-6Q3XUCLM.js +0 -204
- package/dist/commands/chunk-6RUWU2SB.js +0 -45
- package/dist/commands/chunk-6UCWAFQY.js +0 -245
- package/dist/commands/chunk-6WKJ3GDA.js +0 -408
- package/dist/commands/chunk-6YURRFRU.js +0 -461
- package/dist/commands/chunk-6YVURZAJ.js +0 -350
- package/dist/commands/chunk-6Z4YZG7P.js +0 -169
- package/dist/commands/chunk-77BIN247.js +0 -122
- package/dist/commands/chunk-7ABHNNY3.js +0 -529
- package/dist/commands/chunk-7C7FOKJK.js +0 -115
- package/dist/commands/chunk-7HAGC6SW.js +0 -1062
- package/dist/commands/chunk-7KKUFLH5.js +0 -56
- package/dist/commands/chunk-7LJQMM2K.js +0 -102
- package/dist/commands/chunk-7MJYLUF4.js +0 -99
- package/dist/commands/chunk-7NHZCI5Y.js +0 -704
- package/dist/commands/chunk-7OQ56DVW.js +0 -239
- package/dist/commands/chunk-7VWPGTZO.js +0 -260
- package/dist/commands/chunk-7YZXS3AK.js +0 -30
- package/dist/commands/chunk-A4HOQKOG.js +0 -85
- package/dist/commands/chunk-A6T2N7VC.js +0 -159
- package/dist/commands/chunk-AAUDI7WJ.js +0 -250
- package/dist/commands/chunk-AC26ZUG5.js +0 -259
- package/dist/commands/chunk-ACZ52JPI.js +0 -140
- package/dist/commands/chunk-AJ65WNJB.js +0 -230
- package/dist/commands/chunk-AK7SEO4Y.js +0 -177
- package/dist/commands/chunk-AKK56GNX.js +0 -205
- package/dist/commands/chunk-AKQYYHP2.js +0 -461
- package/dist/commands/chunk-ALDAS2WG.js +0 -137
- package/dist/commands/chunk-ANUTT56I.js +0 -85
- package/dist/commands/chunk-AVVMDVGO.js +0 -68
- package/dist/commands/chunk-B3M5WSGN.js +0 -72
- package/dist/commands/chunk-B7ZNIEDV.js +0 -351
- package/dist/commands/chunk-BCUDQWYK.js +0 -77
- package/dist/commands/chunk-BF6YX4HE.js +0 -70
- package/dist/commands/chunk-BHRS7HAM.js +0 -272
- package/dist/commands/chunk-BIKGPT52.js +0 -29
- package/dist/commands/chunk-BJA5U4Q7.js +0 -75
- package/dist/commands/chunk-BMKWSWWE.js +0 -126
- package/dist/commands/chunk-BMTYUJNT.js +0 -59
- package/dist/commands/chunk-BRHPRDDV.js +0 -127
- package/dist/commands/chunk-BRUBX64M.js +0 -33
- package/dist/commands/chunk-BTZJDHQT.js +0 -46
- package/dist/commands/chunk-BYFC6MD2.js +0 -72
- package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
- package/dist/commands/chunk-C2SEDMZ3.js +0 -238
- package/dist/commands/chunk-C54QXJD6.js +0 -4208
- package/dist/commands/chunk-C6QSVO5K.js +0 -56
- package/dist/commands/chunk-CBAKBWSZ.js +0 -332
- package/dist/commands/chunk-CFHRNTE5.js +0 -326
- package/dist/commands/chunk-CGLLAEKZ.js +0 -110
- package/dist/commands/chunk-CHKYPF5O.js +0 -82
- package/dist/commands/chunk-CJBW6BWG.js +0 -800
- package/dist/commands/chunk-CJKPF5DJ.js +0 -156
- package/dist/commands/chunk-CKUKK7JG.js +0 -252
- package/dist/commands/chunk-CMHGDCGN.js +0 -263
- package/dist/commands/chunk-CNGTHSUS.js +0 -750
- package/dist/commands/chunk-CP2J4RV2.js +0 -3987
- package/dist/commands/chunk-CQZI7RIK.js +0 -72
- package/dist/commands/chunk-CWCKCZS6.js +0 -188
- package/dist/commands/chunk-D5HIP4HT.js +0 -289
- package/dist/commands/chunk-D6D6WQR6.js +0 -125
- package/dist/commands/chunk-D7JRJI44.js +0 -297
- package/dist/commands/chunk-D7OAU32Z.js +0 -119
- package/dist/commands/chunk-DAAX7XDS.js +0 -1208
- package/dist/commands/chunk-DBKTFB5V.js +0 -18
- package/dist/commands/chunk-DEZF7QZZ.js +0 -184
- package/dist/commands/chunk-DMD74E3F.js +0 -39
- package/dist/commands/chunk-DPJVKTO4.js +0 -41
- package/dist/commands/chunk-DXJQHJQ4.js +0 -73
- package/dist/commands/chunk-DYZOOWVW.js +0 -912
- package/dist/commands/chunk-EBI2BAKQ.js +0 -47
- package/dist/commands/chunk-EDKOSZ3K.js +0 -88
- package/dist/commands/chunk-EFDVE5P5.js +0 -121
- package/dist/commands/chunk-EGIHAEMT.js +0 -72
- package/dist/commands/chunk-EKLU6QR7.js +0 -507
- package/dist/commands/chunk-ELY76WAR.js +0 -65
- package/dist/commands/chunk-EM3HAZF6.js +0 -52
- package/dist/commands/chunk-EMTZAGT5.js +0 -51
- package/dist/commands/chunk-ENKFCOVY.js +0 -472
- package/dist/commands/chunk-ERG4QRNG.js +0 -224
- package/dist/commands/chunk-EUGNQCYK.js +0 -139
- package/dist/commands/chunk-EW4NPUMQ.js +0 -363
- package/dist/commands/chunk-EWVR5AEX.js +0 -140
- package/dist/commands/chunk-EXDFKKMH.js +0 -113
- package/dist/commands/chunk-EXWB34R2.js +0 -238
- package/dist/commands/chunk-EYMPBHDN.js +0 -61
- package/dist/commands/chunk-EZ7IPKIH.js +0 -20
- package/dist/commands/chunk-EZSO25UZ.js +0 -80
- package/dist/commands/chunk-F6IQHZYY.js +0 -94
- package/dist/commands/chunk-FDS65XOJ.js +0 -212
- package/dist/commands/chunk-FFHEGWPK.js +0 -91
- package/dist/commands/chunk-FGL6DBZU.js +0 -71
- package/dist/commands/chunk-FHFWNNUC.js +0 -144
- package/dist/commands/chunk-FIUCHMCF.js +0 -32
- package/dist/commands/chunk-FJX7AENO.js +0 -74
- package/dist/commands/chunk-FKZ5E4JD.js +0 -97
- package/dist/commands/chunk-FMZWRDKH.js +0 -302
- package/dist/commands/chunk-FOKCRIAN.js +0 -67
- package/dist/commands/chunk-FQGWO2ZH.js +0 -43
- package/dist/commands/chunk-FROACLVU.js +0 -525
- package/dist/commands/chunk-FURNDIT3.js +0 -34
- package/dist/commands/chunk-FVDQNMP6.js +0 -93
- package/dist/commands/chunk-FVVZIJUC.js +0 -425
- package/dist/commands/chunk-FWU3H4TX.js +0 -17
- package/dist/commands/chunk-G3HBYHFA.js +0 -16
- package/dist/commands/chunk-G4E4M2P4.js +0 -299
- package/dist/commands/chunk-G5KSL2Q2.js +0 -151
- package/dist/commands/chunk-G6XC7V6Y.js +0 -58
- package/dist/commands/chunk-GCPP5XIG.js +0 -90
- package/dist/commands/chunk-GITT5A5A.js +0 -198
- package/dist/commands/chunk-GJYMI2CM.js +0 -48
- package/dist/commands/chunk-GLC47H7I.js +0 -285
- package/dist/commands/chunk-GUR54ELE.js +0 -328
- package/dist/commands/chunk-GW4UWR3O.js +0 -126
- package/dist/commands/chunk-GY4DMCKS.js +0 -306
- package/dist/commands/chunk-H6JQRHDC.js +0 -80
- package/dist/commands/chunk-HATKF6VX.js +0 -173
- package/dist/commands/chunk-HG2NZQD5.js +0 -135
- package/dist/commands/chunk-HH3CVIFU.js +0 -93
- package/dist/commands/chunk-HHMMGDMP.js +0 -469
- package/dist/commands/chunk-HI5WPM6C.js +0 -127
- package/dist/commands/chunk-HQGNXR6I.js +0 -245
- package/dist/commands/chunk-HTIDHEEN.js +0 -108
- package/dist/commands/chunk-HVCQYZVD.js +0 -38
- package/dist/commands/chunk-HWEZRNPL.js +0 -66
- package/dist/commands/chunk-HX3FFIO5.js +0 -74
- package/dist/commands/chunk-HXDTA5VU.js +0 -208
- package/dist/commands/chunk-I2KCGKJI.js +0 -107
- package/dist/commands/chunk-I63RNFFR.js +0 -213
- package/dist/commands/chunk-IAD4WLLI.js +0 -98
- package/dist/commands/chunk-IB5TT73I.js +0 -177
- package/dist/commands/chunk-IBAYXCMU.js +0 -156
- package/dist/commands/chunk-IGDJNXX2.js +0 -49
- package/dist/commands/chunk-ILGPZ47M.js +0 -33
- package/dist/commands/chunk-IYJEBWW5.js +0 -44
- package/dist/commands/chunk-J22PSIXR.js +0 -418
- package/dist/commands/chunk-J66YBAAM.js +0 -161
- package/dist/commands/chunk-J6WKZRV2.js +0 -391
- package/dist/commands/chunk-J7IO3AYH.js +0 -179
- package/dist/commands/chunk-JAKC2BHX.js +0 -88
- package/dist/commands/chunk-JCAQ7B6J.js +0 -124
- package/dist/commands/chunk-JHN6RCE6.js +0 -123
- package/dist/commands/chunk-JIGBNCDR.js +0 -88
- package/dist/commands/chunk-JJHWTFWQ.js +0 -76
- package/dist/commands/chunk-JJRKTWLK.js +0 -64
- package/dist/commands/chunk-JKOGWGQM.js +0 -92
- package/dist/commands/chunk-JM6EVOFN.js +0 -172
- package/dist/commands/chunk-JQXPLMCO.js +0 -81
- package/dist/commands/chunk-JV24VP2O.js +0 -81
- package/dist/commands/chunk-JVKXJ763.js +0 -45
- package/dist/commands/chunk-K275REYP.js +0 -37
- package/dist/commands/chunk-K4G3HOKS.js +0 -105
- package/dist/commands/chunk-K64EIHD2.js +0 -138
- package/dist/commands/chunk-KB3OQWDT.js +0 -71
- package/dist/commands/chunk-KCFOP5RI.js +0 -1310
- package/dist/commands/chunk-KGE4AS2Y.js +0 -134
- package/dist/commands/chunk-KIILCKQR.js +0 -220
- package/dist/commands/chunk-KK2SL42W.js +0 -241
- package/dist/commands/chunk-KKIMVXAP.js +0 -280
- package/dist/commands/chunk-KODXWMBX.js +0 -77
- package/dist/commands/chunk-KPSKWTOS.js +0 -208
- package/dist/commands/chunk-KVHNQHX3.js +0 -100
- package/dist/commands/chunk-KWYQR5MK.js +0 -269
- package/dist/commands/chunk-KXHXMERX.js +0 -214
- package/dist/commands/chunk-KZ5BBBMO.js +0 -271
- package/dist/commands/chunk-KZ7HD37E.js +0 -121
- package/dist/commands/chunk-KZSM5M5P.js +0 -89
- package/dist/commands/chunk-KZZWPUJW.js +0 -25
- package/dist/commands/chunk-L7DAL54N.js +0 -347
- package/dist/commands/chunk-LAR76BFA.js +0 -114
- package/dist/commands/chunk-LB557AHJ.js +0 -192
- package/dist/commands/chunk-LJXKVLYI.js +0 -229
- package/dist/commands/chunk-LOOFYHUM.js +0 -773
- package/dist/commands/chunk-LQXFVZTS.js +0 -13
- package/dist/commands/chunk-LT7QSHR4.js +0 -995
- package/dist/commands/chunk-LUXWDMKI.js +0 -426
- package/dist/commands/chunk-LWAXXZPS.js +0 -118
- package/dist/commands/chunk-LX7TIEMI.js +0 -1612
- package/dist/commands/chunk-LZ5QXE5N.js +0 -244
- package/dist/commands/chunk-LZPPSOTP.js +0 -122
- package/dist/commands/chunk-M4UV3BEV.js +0 -313
- package/dist/commands/chunk-M6JDU5EK.js +0 -133
- package/dist/commands/chunk-MDLOETXL.js +0 -211
- package/dist/commands/chunk-MFBNNTBM.js +0 -44
- package/dist/commands/chunk-MGF64OHV.js +0 -32
- package/dist/commands/chunk-MI2OS6TL.js +0 -132
- package/dist/commands/chunk-MLW4S35K.js +0 -389
- package/dist/commands/chunk-MN425CU6.js +0 -63
- package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
- package/dist/commands/chunk-MRORPFSO.js +0 -402
- package/dist/commands/chunk-MUGTOJUL.js +0 -319
- package/dist/commands/chunk-MVHPRYHE.js +0 -91
- package/dist/commands/chunk-MWO6FOSZ.js +0 -393
- package/dist/commands/chunk-MXC4IBZ7.js +0 -104
- package/dist/commands/chunk-N7QTMTST.js +0 -210
- package/dist/commands/chunk-NDBX7LSS.js +0 -32
- package/dist/commands/chunk-NEGJ77RV.js +0 -173
- package/dist/commands/chunk-NEGRE5VW.js +0 -101
- package/dist/commands/chunk-NFPD2P3V.js +0 -53
- package/dist/commands/chunk-NHIW7JE6.js +0 -335
- package/dist/commands/chunk-NILSN7A4.js +0 -158
- package/dist/commands/chunk-NOLFSPOB.js +0 -74
- package/dist/commands/chunk-NSAVEXVR.js +0 -353
- package/dist/commands/chunk-NT67QTZO.js +0 -65
- package/dist/commands/chunk-NU7W6QGT.js +0 -155
- package/dist/commands/chunk-NYWGJLBU.js +0 -19
- package/dist/commands/chunk-OAAVY2JK.js +0 -49
- package/dist/commands/chunk-OGS2DK7I.js +0 -47
- package/dist/commands/chunk-OHNP3QL2.js +0 -186
- package/dist/commands/chunk-OIPV3PWW.js +0 -870
- package/dist/commands/chunk-OIX2363L.js +0 -16
- package/dist/commands/chunk-OJ65BZBV.js +0 -646
- package/dist/commands/chunk-OKZWEVR4.js +0 -352
- package/dist/commands/chunk-OL6IF4JC.js +0 -20
- package/dist/commands/chunk-OMPRILFH.js +0 -29
- package/dist/commands/chunk-OOWGH2RG.js +0 -85
- package/dist/commands/chunk-OP2RFVLS.js +0 -102
- package/dist/commands/chunk-ORKVN2LO.js +0 -56
- package/dist/commands/chunk-OSBWXZJ4.js +0 -492
- package/dist/commands/chunk-OT3UMEWK.js +0 -47
- package/dist/commands/chunk-OVWPZDWP.js +0 -64
- package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
- package/dist/commands/chunk-OX3VQLV2.js +0 -488
- package/dist/commands/chunk-OZJP77UM.js +0 -103
- package/dist/commands/chunk-OZZWRJQI.js +0 -246
- package/dist/commands/chunk-P3H3DKTE.js +0 -69
- package/dist/commands/chunk-P4D5RESF.js +0 -88
- package/dist/commands/chunk-P4KIQRSL.js +0 -119
- package/dist/commands/chunk-P5SOYWH2.js +0 -37
- package/dist/commands/chunk-P7FPXAHP.js +0 -29
- package/dist/commands/chunk-PE7B7242.js +0 -84
- package/dist/commands/chunk-PFO7EYAP.js +0 -45
- package/dist/commands/chunk-PHLOTUB7.js +0 -366
- package/dist/commands/chunk-PTNQCCIB.js +0 -41
- package/dist/commands/chunk-PTZEFQUX.js +0 -211
- package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
- package/dist/commands/chunk-Q7EEIOAD.js +0 -120
- package/dist/commands/chunk-QABRNGQV.js +0 -88
- package/dist/commands/chunk-QAHFPCFR.js +0 -50
- package/dist/commands/chunk-QDFVVRQP.js +0 -92
- package/dist/commands/chunk-QGAERR7D.js +0 -99
- package/dist/commands/chunk-QHWJJ6X5.js +0 -53
- package/dist/commands/chunk-QJRVDE7T.js +0 -307
- package/dist/commands/chunk-QMDKDQKW.js +0 -114
- package/dist/commands/chunk-QOSC5RKD.js +0 -18
- package/dist/commands/chunk-QQ4CIYMF.js +0 -132
- package/dist/commands/chunk-QV5FKMOU.js +0 -80
- package/dist/commands/chunk-QWWTC3XR.js +0 -109
- package/dist/commands/chunk-QXQ56E56.js +0 -27
- package/dist/commands/chunk-R54Z2Z3X.js +0 -114
- package/dist/commands/chunk-R6QE5VJG.js +0 -46
- package/dist/commands/chunk-RG53UFNW.js +0 -418
- package/dist/commands/chunk-RGGEQM6G.js +0 -140
- package/dist/commands/chunk-RH6ZWJOA.js +0 -77
- package/dist/commands/chunk-RHKCWJQX.js +0 -62
- package/dist/commands/chunk-RKIAX4DZ.js +0 -191
- package/dist/commands/chunk-RLBFEHHC.js +0 -300
- package/dist/commands/chunk-RN2YDNLF.js +0 -229
- package/dist/commands/chunk-RRAIRS2T.js +0 -54
- package/dist/commands/chunk-RS764ZMU.js +0 -46
- package/dist/commands/chunk-RUIBQMOV.js +0 -38
- package/dist/commands/chunk-RUQY5TS3.js +0 -83
- package/dist/commands/chunk-RVUJ6F5L.js +0 -181
- package/dist/commands/chunk-RW64VHEB.js +0 -130
- package/dist/commands/chunk-RXYMJPJB.js +0 -114
- package/dist/commands/chunk-S4M6UWR2.js +0 -103
- package/dist/commands/chunk-SASX3W2M.js +0 -99
- package/dist/commands/chunk-SFNBUB6D.js +0 -110
- package/dist/commands/chunk-SJ2ZN575.js +0 -90
- package/dist/commands/chunk-SP7DKYGU.js +0 -1263
- package/dist/commands/chunk-SSL6A3Y4.js +0 -165
- package/dist/commands/chunk-SVAKCXZ7.js +0 -44
- package/dist/commands/chunk-SYOXIKB7.js +0 -705
- package/dist/commands/chunk-SZG5HDNP.js +0 -321
- package/dist/commands/chunk-T25S4QHL.js +0 -52
- package/dist/commands/chunk-T4F33UKZ.js +0 -114
- package/dist/commands/chunk-T4UYEHWG.js +0 -50
- package/dist/commands/chunk-TAEGXID2.js +0 -58
- package/dist/commands/chunk-TCBUX52E.js +0 -701
- package/dist/commands/chunk-TEPYEUYG.js +0 -585
- package/dist/commands/chunk-TFLHYC2F.js +0 -141
- package/dist/commands/chunk-TJKM56WJ.js +0 -109
- package/dist/commands/chunk-TLAB552K.js +0 -445
- package/dist/commands/chunk-TP6L4W3W.js +0 -82
- package/dist/commands/chunk-TR7WWYD5.js +0 -60
- package/dist/commands/chunk-TVZXG4Y4.js +0 -197
- package/dist/commands/chunk-TYNH2R66.js +0 -1150
- package/dist/commands/chunk-U3IVVR4W.js +0 -33
- package/dist/commands/chunk-U5P6G3UV.js +0 -77
- package/dist/commands/chunk-U7XU5RG3.js +0 -86
- package/dist/commands/chunk-UKBBWMLE.js +0 -1189
- package/dist/commands/chunk-ULVVGGTY.js +0 -64
- package/dist/commands/chunk-UNMSZGSG.js +0 -269
- package/dist/commands/chunk-URDT2O2K.js +0 -36
- package/dist/commands/chunk-UTHUX7VU.js +0 -88
- package/dist/commands/chunk-V4Z7G4UH.js +0 -73
- package/dist/commands/chunk-V5FD7DVV.js +0 -48
- package/dist/commands/chunk-VCPGFBMN.js +0 -655
- package/dist/commands/chunk-VGPIQNDB.js +0 -24
- package/dist/commands/chunk-VJE3RJAX.js +0 -23
- package/dist/commands/chunk-VK6D5CWA.js +0 -161
- package/dist/commands/chunk-VOF3N4WO.js +0 -114
- package/dist/commands/chunk-VQVPAVQ3.js +0 -45
- package/dist/commands/chunk-VV4TQYGD.js +0 -38
- package/dist/commands/chunk-W3FX7FYN.js +0 -84
- package/dist/commands/chunk-W7DRUOF7.js +0 -122
- package/dist/commands/chunk-WAEN2RTT.js +0 -161
- package/dist/commands/chunk-WCEUMOKK.js +0 -84
- package/dist/commands/chunk-WJ4NEDNI.js +0 -288
- package/dist/commands/chunk-WMMGXJXP.js +0 -92
- package/dist/commands/chunk-WOFLW2LX.js +0 -26
- package/dist/commands/chunk-WTH6NTXU.js +0 -128
- package/dist/commands/chunk-WWVYEHQT.js +0 -272
- package/dist/commands/chunk-X3TNPALI.js +0 -213
- package/dist/commands/chunk-XC6GG5JR.js +0 -78
- package/dist/commands/chunk-XDF25GSU.js +0 -536
- package/dist/commands/chunk-XFPEUYDV.js +0 -67
- package/dist/commands/chunk-XFWI6WHH.js +0 -60
- package/dist/commands/chunk-XGMRAKSL.js +0 -85
- package/dist/commands/chunk-XHGWMD3L.js +0 -104
- package/dist/commands/chunk-XKSUBUIH.js +0 -116
- package/dist/commands/chunk-XPBF5DG3.js +0 -419
- package/dist/commands/chunk-XUMYPESL.js +0 -160
- package/dist/commands/chunk-XXC32PVL.js +0 -541
- package/dist/commands/chunk-XXN2EZBY.js +0 -133
- package/dist/commands/chunk-XXNEY4B3.js +0 -110
- package/dist/commands/chunk-Y27PTXXI.js +0 -258
- package/dist/commands/chunk-Y4EBUI6M.js +0 -237
- package/dist/commands/chunk-YAU3LYNF.js +0 -60
- package/dist/commands/chunk-YDURQICF.js +0 -204
- package/dist/commands/chunk-YGFOGA7C.js +0 -1153
- package/dist/commands/chunk-YHJ2AJMA.js +0 -66
- package/dist/commands/chunk-YIA6FC3K.js +0 -78
- package/dist/commands/chunk-YM77CF4D.js +0 -183
- package/dist/commands/chunk-YNPRJCEO.js +0 -81
- package/dist/commands/chunk-YTBQAD5W.js +0 -170
- package/dist/commands/chunk-YVH2OLDS.js +0 -104
- package/dist/commands/chunk-ZAAHZY2A.js +0 -19
- package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
- package/dist/commands/chunk-ZLRUHSOP.js +0 -48
- package/dist/commands/chunk-ZNR75OXP.js +0 -444
- package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
- package/dist/commands/chunk-ZVAIIHBE.js +0 -63
- package/dist/commands/chunk-ZYFHYQA7.js +0 -51
- package/dist/commands/chunk-ZZFFSQF4.js +0 -218
- package/dist/commands/chunk-ZZULXNC2.js +0 -47
- package/dist/commands/chunk-ZZXO6TFH.js +0 -232
- package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
- package/dist/commands/test-related-ZCNC46MS.js +0 -113
- package/dist/commands/unused-members-STULPRBU.js +0 -331
- package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
- package/dist/hooks/chunk-5R5YFQR5.js +0 -931
- package/dist/hooks/chunk-6RLY27FT.js +0 -232
- package/dist/hooks/chunk-6YGMIODI.js +0 -86
- package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
- package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
- package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
- package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
- package/dist/hooks/chunk-IURJANNZ.js +0 -1082
- package/dist/hooks/chunk-OV22V63P.js +0 -10980
- package/dist/hooks/chunk-SXABK6UV.js +0 -321
- package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
|
@@ -1,773 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
tail_commands
|
|
3
|
-
} from "./chunk-NDBX7LSS.js";
|
|
4
|
-
import {
|
|
5
|
-
cost_cli,
|
|
6
|
-
cost_verdict
|
|
7
|
-
} from "./chunk-FVVZIJUC.js";
|
|
8
|
-
import {
|
|
9
|
-
stop_decision
|
|
10
|
-
} from "./chunk-3ZEO3KOM.js";
|
|
11
|
-
import {
|
|
12
|
-
bash_triggers
|
|
13
|
-
} from "./chunk-2BC33QPY.js";
|
|
14
|
-
import {
|
|
15
|
-
shell_segments
|
|
16
|
-
} from "./chunk-CVJHQOI3.js";
|
|
17
|
-
import {
|
|
18
|
-
run_cut
|
|
19
|
-
} from "./chunk-DYZOOWVW.js";
|
|
20
|
-
import {
|
|
21
|
-
document_section
|
|
22
|
-
} from "./chunk-NDWZTWXV.js";
|
|
23
|
-
import {
|
|
24
|
-
time_reported_failure,
|
|
25
|
-
time_transcript_line
|
|
26
|
-
} from "./chunk-OJ65BZBV.js";
|
|
27
|
-
import {
|
|
28
|
-
cost_blocks,
|
|
29
|
-
time_josh_names,
|
|
30
|
-
time_shell
|
|
31
|
-
} from "./chunk-LHKXJD6L.js";
|
|
32
|
-
import {
|
|
33
|
-
hook_decision
|
|
34
|
-
} from "./chunk-RLBFEHHC.js";
|
|
35
|
-
import {
|
|
36
|
-
repo_party
|
|
37
|
-
} from "./chunk-6OP63TBT.js";
|
|
38
|
-
import {
|
|
39
|
-
agent_session_role
|
|
40
|
-
} from "./chunk-U3IVVR4W.js";
|
|
41
|
-
import {
|
|
42
|
-
lane_child_marker
|
|
43
|
-
} from "./chunk-QAHFPCFR.js";
|
|
44
|
-
import {
|
|
45
|
-
issue_citation
|
|
46
|
-
} from "./chunk-22DVQCP6.js";
|
|
47
|
-
import {
|
|
48
|
-
lane_paths
|
|
49
|
-
} from "./chunk-YIA6FC3K.js";
|
|
50
|
-
import {
|
|
51
|
-
find_package_directory
|
|
52
|
-
} from "./chunk-LR22UK5W.js";
|
|
53
|
-
import {
|
|
54
|
-
json_value
|
|
55
|
-
} from "./chunk-HIU2WXB6.js";
|
|
56
|
-
|
|
57
|
-
// scripts/rules/run-tail-rule.ts
|
|
58
|
-
var SEGMENT_PREFIX = String.raw`(?:\(\s*)?(?:[A-Za-z_][A-Za-z0-9_]*=\S*\s+)*(?:npx\s+|pnpm\s+(?:exec\s+|run\s+)?)?`;
|
|
59
|
-
var WORD_END = String.raw`(?=\s|$|\))`;
|
|
60
|
-
var PUSH_STEP_SEGMENT = new RegExp(String.raw`^${SEGMENT_PREFIX}josh\s+(?:git|g)${WORD_END}`, "u");
|
|
61
|
-
var CONFIRMED_FLAG = new RegExp(String.raw`(?:^|\s)(?:-y|--yes)${WORD_END}`, "u");
|
|
62
|
-
var SKIPS_THE_PUSH = new RegExp(String.raw`(?:^|\s)--skip-push${WORD_END}`, "u");
|
|
63
|
-
var BACKGROUND_KEY = "run_in_background";
|
|
64
|
-
var QUOTED_SPAN = /"[^"]*"|'[^']*'/gu;
|
|
65
|
-
function flags_of(segment) {
|
|
66
|
-
return segment.replaceAll(QUOTED_SPAN, " ");
|
|
67
|
-
}
|
|
68
|
-
function is_push_step_segment(segment) {
|
|
69
|
-
if (!PUSH_STEP_SEGMENT.test(segment)) return false;
|
|
70
|
-
const flags = flags_of(segment);
|
|
71
|
-
if (SKIPS_THE_PUSH.test(flags)) return false;
|
|
72
|
-
return CONFIRMED_FLAG.test(flags);
|
|
73
|
-
}
|
|
74
|
-
function is_push_step(command) {
|
|
75
|
-
return shell_segments.segments_of(command).some((segment) => is_push_step_segment(segment));
|
|
76
|
-
}
|
|
77
|
-
function is_backgrounded(input) {
|
|
78
|
-
if (!json_value.is_record(input)) return false;
|
|
79
|
-
return input[BACKGROUND_KEY] === true;
|
|
80
|
-
}
|
|
81
|
-
function is_push_step_call(call) {
|
|
82
|
-
if (call.name !== cost_blocks.BASH_TOOL) return false;
|
|
83
|
-
return is_push_step(time_shell.bash_command(call.input));
|
|
84
|
-
}
|
|
85
|
-
function is_backgrounded_push_step(call) {
|
|
86
|
-
if (!is_backgrounded(call.input)) return false;
|
|
87
|
-
return is_push_step_call(call);
|
|
88
|
-
}
|
|
89
|
-
function is_foreground_push_step(call) {
|
|
90
|
-
if (is_backgrounded(call.input)) return false;
|
|
91
|
-
return is_push_step_call(call);
|
|
92
|
-
}
|
|
93
|
-
function decide() {
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
var RUN_TAIL_REASON = "\u26D4 run tail: this issues the commit-push-PR step in the foreground, where the harness decides when to stop waiting. Reissue it with `run_in_background` set; when it exits, go straight on to `pnpm josh followup` in the foreground \u2014 the turn never ends at the push (`.claude/skills/workflow-commands/background-commands.md`). It fires on every foreground push, not once per run.";
|
|
97
|
-
var ROW = {
|
|
98
|
-
id: "run-tail",
|
|
99
|
-
is_trigger: is_foreground_push_step,
|
|
100
|
-
reason: RUN_TAIL_REASON,
|
|
101
|
-
decide,
|
|
102
|
-
keeps: is_backgrounded_push_step,
|
|
103
|
-
reaches: is_push_step_call,
|
|
104
|
-
about: {
|
|
105
|
-
title: "Idle run tail",
|
|
106
|
-
topic: "`.claude/skills/workflow-commands/background-commands.md`",
|
|
107
|
-
fires: "`pnpm josh git -y` (`josh g`, `--yes` alike) issued in the **foreground**. Every occurrence",
|
|
108
|
-
quiet: "issued in the background \u2014 its completion resumes the run"
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
var run_tail_rule = {
|
|
112
|
-
ROW,
|
|
113
|
-
RUN_TAIL_REASON,
|
|
114
|
-
is_backgrounded_push_step,
|
|
115
|
-
is_foreground_push_step,
|
|
116
|
-
is_push_step,
|
|
117
|
-
is_push_step_call
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// scripts/rules/lane-background.ts
|
|
121
|
-
var FOREGROUND_COMMANDS = new Set(
|
|
122
|
-
["ship", "ship:wait", "lane:plan"].map((name) => `${time_shell.JOSH_PREFIX}${name}`)
|
|
123
|
-
);
|
|
124
|
-
var LONG_RUNNING_COMMANDS = /* @__PURE__ */ new Set([
|
|
125
|
-
...["gate", "git", "followup"].map((name) => `${time_shell.JOSH_PREFIX}${name}`),
|
|
126
|
-
...FOREGROUND_COMMANDS
|
|
127
|
-
]);
|
|
128
|
-
var BACKGROUND_KEY2 = "run_in_background";
|
|
129
|
-
var TIMEOUT_KEY = "timeout";
|
|
130
|
-
var FOREGROUND_TIMEOUT_MS = 6e5;
|
|
131
|
-
function is_backgrounded2(input) {
|
|
132
|
-
return json_value.is_record(input) && input[BACKGROUND_KEY2] === true;
|
|
133
|
-
}
|
|
134
|
-
function long_commands_of(command) {
|
|
135
|
-
return time_josh_names.josh_commands_of(command).filter((name) => LONG_RUNNING_COMMANDS.has(name));
|
|
136
|
-
}
|
|
137
|
-
function ships_alone(command) {
|
|
138
|
-
const names = long_commands_of(command);
|
|
139
|
-
return names.length > 0 && names.every((name) => FOREGROUND_COMMANDS.has(name));
|
|
140
|
-
}
|
|
141
|
-
function backgrounded_bash_command(call) {
|
|
142
|
-
if (call.name !== cost_blocks.BASH_TOOL || !is_backgrounded2(call.input)) return void 0;
|
|
143
|
-
return time_shell.bash_command(call.input);
|
|
144
|
-
}
|
|
145
|
-
function is_backgrounded_ship(call) {
|
|
146
|
-
const command = backgrounded_bash_command(call);
|
|
147
|
-
return command !== void 0 && ships_alone(command);
|
|
148
|
-
}
|
|
149
|
-
function is_candidate(call) {
|
|
150
|
-
if (run_tail_rule.is_push_step_call(call)) return true;
|
|
151
|
-
const command = backgrounded_bash_command(call);
|
|
152
|
-
if (command === void 0 || is_backgrounded_ship(call)) return false;
|
|
153
|
-
return long_commands_of(command).length > 0;
|
|
154
|
-
}
|
|
155
|
-
function is_background_long_run(call, is_lane_child) {
|
|
156
|
-
return is_candidate(call) && is_lane_child();
|
|
157
|
-
}
|
|
158
|
-
function ship_alone_input(call) {
|
|
159
|
-
if (call.name !== cost_blocks.BASH_TOOL || !json_value.is_record(call.input)) return void 0;
|
|
160
|
-
return ships_alone(time_shell.bash_command(call.input)) ? call.input : void 0;
|
|
161
|
-
}
|
|
162
|
-
function is_capped_foreground(input) {
|
|
163
|
-
const timeout = input[TIMEOUT_KEY];
|
|
164
|
-
return !is_backgrounded2(input) && typeof timeout === "number" && timeout >= FOREGROUND_TIMEOUT_MS;
|
|
165
|
-
}
|
|
166
|
-
function foreground_input(call, is_lane_child) {
|
|
167
|
-
const input = ship_alone_input(call);
|
|
168
|
-
if (input === void 0 || is_capped_foreground(input) || !is_lane_child()) return void 0;
|
|
169
|
-
return { ...input, [BACKGROUND_KEY2]: false, [TIMEOUT_KEY]: FOREGROUND_TIMEOUT_MS };
|
|
170
|
-
}
|
|
171
|
-
var FOREGROUND_NOTE = "lane background: a lane child's `josh ship`, `josh ship:wait` or `josh lane:plan` backgrounded, by its flag or by outrunning the Bash timeout, dies with the headless turn \u2014 so it was run in the foreground at the 600000 ms cap, where `ship` detaches itself after the preflight. Then follow `chain-rule.md` step 0 (`josh ship:wait` on its `pending`).";
|
|
172
|
-
function apply_line(open, line, launched_ids) {
|
|
173
|
-
const parsed = time_transcript_line.parse_line(line);
|
|
174
|
-
if (parsed === void 0) return;
|
|
175
|
-
const launched = parsed.blocks.flatMap((block) => launched_ids(block));
|
|
176
|
-
for (const id of launched) open.add(id);
|
|
177
|
-
open.delete(parsed.finished_background);
|
|
178
|
-
}
|
|
179
|
-
function unfinished_ids(tail, launched_ids) {
|
|
180
|
-
const open = /* @__PURE__ */ new Set();
|
|
181
|
-
for (const line of tail.split("\n")) apply_line(open, line, launched_ids);
|
|
182
|
-
open.delete("");
|
|
183
|
-
return [...open];
|
|
184
|
-
}
|
|
185
|
-
function pending_background_ids(tail) {
|
|
186
|
-
return unfinished_ids(tail, (block) => [block.background_id, block.agent_id]);
|
|
187
|
-
}
|
|
188
|
-
function pending_agent_ids(tail) {
|
|
189
|
-
return unfinished_ids(tail, (block) => [block.agent_id]);
|
|
190
|
-
}
|
|
191
|
-
function pending_command_ids(tail) {
|
|
192
|
-
return unfinished_ids(tail, (block) => [block.background_id]);
|
|
193
|
-
}
|
|
194
|
-
var LANE_BACKGROUND_REASON = '\u26D4 lane background: this session is a dispatched lane child (`JOSH_LANE_CHILD`), a headless process whose background tasks die when the turn ends. Hand over to `pnpm josh ship --detach --review "<title> #<N>"`, issued in the foreground; on `launched` it runs `josh ship:wait` itself on `cost --cut` `under`. It fires on every occurrence (`.claude/skills/workflow-commands/chain-rule.md` step 0).';
|
|
195
|
-
var LANE_BACKGROUND_STOP_REASON = "\u26D4 lane background stop: this is a dispatched lane child (`JOSH_LANE_CHILD`) and a background task it launched has not finished, and ending this turn kills it. Wait for it in the foreground, or re-issue the work through `pnpm josh ship --detach` \u2014 do not notify, stop or repeat your reply.";
|
|
196
|
-
var LANE_AGENT_STOP_REASON = "\u26D4 lane agent stop: this is a dispatched lane child (`JOSH_LANE_CHILD`) and a subagent it launched has not finished; ending this turn kills it. Its completion notice arrives only when a tool call ends: wait with one short foreground call at a time (`sleep 20`) until it arrives \u2014 never a loop over its `.output`. Do not notify, stop or repeat your reply.";
|
|
197
|
-
var ROW2 = {
|
|
198
|
-
id: "lane-background",
|
|
199
|
-
is_trigger: (call, context) => is_background_long_run(call, () => lane_child_marker.is_child_of(context.cwd, context.env)),
|
|
200
|
-
reason: LANE_BACKGROUND_REASON,
|
|
201
|
-
decide: () => true,
|
|
202
|
-
// `pretool-guard.ts` rewrites a lone `josh ship` to the foreground rather than refusing it; this is
|
|
203
|
-
// the note it attaches, so `rule-value.ts` counts that rewrite as this row's delivery.
|
|
204
|
-
rewrite_note: FOREGROUND_NOTE,
|
|
205
|
-
// The Stop hook delivers the same rule at the turn's end, for the background task or subagent the
|
|
206
|
-
// turn would kill.
|
|
207
|
-
stop_reasons: [LANE_BACKGROUND_STOP_REASON, LANE_AGENT_STOP_REASON],
|
|
208
|
-
about: {
|
|
209
|
-
title: "Lane child background push",
|
|
210
|
-
topic: "`.claude/skills/workflow-commands/background-commands.md`",
|
|
211
|
-
fires: "a dispatched lane child backgrounding `josh gate` / `git` / `followup` / `ship`; it hands over `pnpm josh ship --detach`; the Stop hook also blocks ending a turn with its background task or subagent unfinished. Every occurrence",
|
|
212
|
-
quiet: "not a lane child, or the foreground `ship --detach`"
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
var lane_background = {
|
|
216
|
-
FOREGROUND_NOTE,
|
|
217
|
-
LANE_AGENT_STOP_REASON,
|
|
218
|
-
LANE_BACKGROUND_REASON,
|
|
219
|
-
LANE_BACKGROUND_STOP_REASON,
|
|
220
|
-
ROW: ROW2,
|
|
221
|
-
foreground_input,
|
|
222
|
-
is_background_long_run,
|
|
223
|
-
pending_agent_ids,
|
|
224
|
-
pending_background_ids,
|
|
225
|
-
pending_command_ids
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
// scripts/rules/stop-rules.ts
|
|
229
|
-
import { z } from "zod";
|
|
230
|
-
|
|
231
|
-
// scripts/rules/concise-reply.ts
|
|
232
|
-
import { dirname as __josh_dirname } from "node:path";
|
|
233
|
-
import { fileURLToPath as __josh_file_path } from "node:url";
|
|
234
|
-
import path from "node:path";
|
|
235
|
-
import { fileURLToPath } from "node:url";
|
|
236
|
-
|
|
237
|
-
// scripts/rules/reply-prose.ts
|
|
238
|
-
var CODE_PATTERNS = [
|
|
239
|
-
/```[\s\S]*?(?:```|$)/gu,
|
|
240
|
-
/`[^`\n]*`/gu,
|
|
241
|
-
/\]\([^)\s]*\)/gu,
|
|
242
|
-
/https?:\/\/\S+/gu
|
|
243
|
-
];
|
|
244
|
-
var ASCII_RUN_PATTERN = /[!-~]+/gu;
|
|
245
|
-
var STRUCTURE_LINE_PATTERN = /^\s*(?:\||[-*+] |[・•] ?|\d+\. )/u;
|
|
246
|
-
function prose_of(message) {
|
|
247
|
-
let text = message;
|
|
248
|
-
for (const pattern of CODE_PATTERNS) text = text.replaceAll(pattern, " ");
|
|
249
|
-
return text.replaceAll(ASCII_RUN_PATTERN, (run) => run.includes("/") ? " " : run);
|
|
250
|
-
}
|
|
251
|
-
function narrative_of(message) {
|
|
252
|
-
return prose_of(message).split("\n").filter((line) => !STRUCTURE_LINE_PATTERN.test(line)).join("\n");
|
|
253
|
-
}
|
|
254
|
-
var reply_prose = { narrative_of, prose_of };
|
|
255
|
-
|
|
256
|
-
// scripts/rules/concise-reply.ts
|
|
257
|
-
var __josh_meta = import.meta;
|
|
258
|
-
var __josh_source_url = new URL("../../scripts/rules/concise-reply.ts", __josh_meta.url).href;
|
|
259
|
-
var __josh_source_filename = __josh_file_path(__josh_source_url);
|
|
260
|
-
var __josh_source_dirname = __josh_dirname(__josh_source_filename);
|
|
261
|
-
var PROSE_LIMIT = 400;
|
|
262
|
-
var EXEMPT_WORDS = ["\u8A73\u3057\u304F", "\u5177\u4F53\u7684\u306B", "\u8A73\u7D30"];
|
|
263
|
-
var COUNTED_PATTERN = /[\p{L}\p{N}]/gu;
|
|
264
|
-
var PRINCIPLES_FILE = "prompts/collaboration-workflow/principles.md";
|
|
265
|
-
var SECTION = "concise-reply";
|
|
266
|
-
var PACKAGE_DIRECTORY = find_package_directory(path.dirname(fileURLToPath(__josh_source_url)));
|
|
267
|
-
var REASON_OPENING = `\u26D4 concise reply: your reply's prose outside code, tables and lists is over the limit of \`${PRINCIPLES_FILE}\` \u2192 "${SECTION}"`;
|
|
268
|
-
var KEEP_DECISION = " Keep its `Recommended:` / `Alternative:` lines as they are.";
|
|
269
|
-
function prose_length(message) {
|
|
270
|
-
return reply_prose.narrative_of(message).match(COUNTED_PATTERN)?.length ?? 0;
|
|
271
|
-
}
|
|
272
|
-
function is_exempt(prompt) {
|
|
273
|
-
return EXEMPT_WORDS.some((word) => prompt.includes(word));
|
|
274
|
-
}
|
|
275
|
-
function is_over(message, prompt) {
|
|
276
|
-
if (prompt === void 0 || is_exempt(prompt)) return false;
|
|
277
|
-
return prose_length(message) > PROSE_LIMIT;
|
|
278
|
-
}
|
|
279
|
-
function section_text(root) {
|
|
280
|
-
const markdown = document_section.read_optional(path.join(root, PRINCIPLES_FILE));
|
|
281
|
-
return markdown === void 0 ? void 0 : document_section.section(markdown, SECTION)?.text;
|
|
282
|
-
}
|
|
283
|
-
function decision_note(message) {
|
|
284
|
-
return stop_decision.decision_of(message) === void 0 ? "" : KEEP_DECISION;
|
|
285
|
-
}
|
|
286
|
-
function build_reason(message, root = PACKAGE_DIRECTORY) {
|
|
287
|
-
const head = `${REASON_OPENING} (${String(prose_length(message))} of ${String(PROSE_LIMIT)}). Rewrite it shorter as that section says \u2014 do not repeat your previous reply.${decision_note(message)}`;
|
|
288
|
-
const body = section_text(root);
|
|
289
|
-
return body === void 0 ? head : `${head}
|
|
290
|
-
|
|
291
|
-
${body}`;
|
|
292
|
-
}
|
|
293
|
-
var ROW3 = {
|
|
294
|
-
id: SECTION,
|
|
295
|
-
reason: REASON_OPENING,
|
|
296
|
-
about: {
|
|
297
|
-
title: "Concise reply",
|
|
298
|
-
topic: `\`principles.md\` \u2192 "${SECTION}"`,
|
|
299
|
-
entry: "pnpm josh stop:guard",
|
|
300
|
-
fires: `a reply whose narrative outside code, tables and lists is over ${String(PROSE_LIMIT)} letters. Blocks the stop`,
|
|
301
|
-
quiet: "a reply under the limit, a prompt asking for the detail (`\u8A73\u3057\u304F` / `\u5177\u4F53\u7684\u306B` / `\u8A73\u7D30`), a fixed output in a code block, no prompt of the person\u2019s on the transcript tail, or a headless session"
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
var concise_reply = {
|
|
305
|
-
EXEMPT_WORDS,
|
|
306
|
-
PROSE_LIMIT,
|
|
307
|
-
REASON_OPENING,
|
|
308
|
-
ROW: ROW3,
|
|
309
|
-
build_reason,
|
|
310
|
-
is_over,
|
|
311
|
-
prose_length
|
|
312
|
-
};
|
|
313
|
-
|
|
314
|
-
// scripts/rules/filing-offer.ts
|
|
315
|
-
var OFFER_PATTERNS = [
|
|
316
|
-
/起票(?:して)?(?:も)?(?:よければ|よろしければ|よいですか|良いですか|よろしいですか|いいですか)/u,
|
|
317
|
-
/起票(?:しましょうか|しますか|するのが妥当|すべきだと|すべきと|を提案|をご提案)/u,
|
|
318
|
-
/Issue\s*[化に](?:しましょうか|しますか|してよければ)/iu,
|
|
319
|
-
/\b(?:shall|should)\s+I\s+(?:file|open|raise)\b/iu,
|
|
320
|
-
/\b(?:want|like)\s+me\s+to\s+(?:file|open|raise)\b/iu,
|
|
321
|
-
/\blet\s+me\s+know\s+if\s+you\s+(?:want|would\s+like)\s+(?:me\s+to\s+file|it\s+filed)\b/iu
|
|
322
|
-
];
|
|
323
|
-
var GITHUB_URL_OWNER = /github\.com\/([\w.-]+)\//gu;
|
|
324
|
-
var OWNER_SEPARATOR = "/";
|
|
325
|
-
function is_offer_line(line) {
|
|
326
|
-
return OFFER_PATTERNS.some((pattern) => pattern.test(line));
|
|
327
|
-
}
|
|
328
|
-
function offers_filing(message) {
|
|
329
|
-
return issue_citation.prose_lines(message).some((line) => is_offer_line(line));
|
|
330
|
-
}
|
|
331
|
-
function url_owners(message) {
|
|
332
|
-
return [...message.matchAll(GITHUB_URL_OWNER)].map((match) => match[1] ?? "");
|
|
333
|
-
}
|
|
334
|
-
function qualified_owners(message) {
|
|
335
|
-
return issue_citation.bare_references(message).filter((reference) => reference.includes(OWNER_SEPARATOR)).map((reference) => reference.split(OWNER_SEPARATOR)[0] ?? "");
|
|
336
|
-
}
|
|
337
|
-
function mentioned_owners(message) {
|
|
338
|
-
return [...url_owners(message), ...qualified_owners(message)];
|
|
339
|
-
}
|
|
340
|
-
function is_first_party_target(message, session_owner) {
|
|
341
|
-
if (session_owner === void 0) return false;
|
|
342
|
-
return mentioned_owners(message).every(
|
|
343
|
-
(owner) => repo_party.classify(session_owner, owner) === repo_party.FIRST_PARTY
|
|
344
|
-
);
|
|
345
|
-
}
|
|
346
|
-
var filing_offer = { is_first_party_target, mentioned_owners, offers_filing };
|
|
347
|
-
|
|
348
|
-
// scripts/rules/reply-language.ts
|
|
349
|
-
var LATIN_SCRIPT = "Latn";
|
|
350
|
-
var COMPOUND_SCRIPTS = {
|
|
351
|
-
Jpan: ["Hira", "Kana", "Hani"],
|
|
352
|
-
Kore: ["Hang", "Hani"],
|
|
353
|
-
Hans: ["Hani"],
|
|
354
|
-
Hant: ["Hani"]
|
|
355
|
-
};
|
|
356
|
-
var MIN_PROSE_LETTERS = 20;
|
|
357
|
-
var MATCH_SHARE_FLOOR = 0.5;
|
|
358
|
-
var MIN_VOTING_LETTERS = 8;
|
|
359
|
-
var LETTER_PATTERN = new RegExp("\\p{L}", "gu");
|
|
360
|
-
var NON_LATIN_LETTER_PATTERN = new RegExp("(?![\\p{Script=Latn}\\p{Script=Common}\\p{Script=Inherited}])\\p{L}", "u");
|
|
361
|
-
function script_of(lang) {
|
|
362
|
-
try {
|
|
363
|
-
return new Intl.Locale(lang).maximize().script;
|
|
364
|
-
} catch {
|
|
365
|
-
return void 0;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
function letter_pattern(script) {
|
|
369
|
-
const scripts = COMPOUND_SCRIPTS[script] ?? [script];
|
|
370
|
-
const classes = scripts.map((name) => String.raw`\p{Script=${name}}`).join("");
|
|
371
|
-
try {
|
|
372
|
-
return new RegExp(`[${classes}]`, "u");
|
|
373
|
-
} catch {
|
|
374
|
-
return void 0;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
function letter_count(text) {
|
|
378
|
-
return text.match(LETTER_PATTERN)?.length ?? 0;
|
|
379
|
-
}
|
|
380
|
-
function is_line_in_script(line, script, pattern) {
|
|
381
|
-
if (script === LATIN_SCRIPT) return !NON_LATIN_LETTER_PATTERN.test(line);
|
|
382
|
-
return pattern.test(line);
|
|
383
|
-
}
|
|
384
|
-
function voting_lines(prose) {
|
|
385
|
-
const lines = prose.split("\n").filter((line) => letter_count(line) > 0);
|
|
386
|
-
const voting = lines.filter((line) => letter_count(line) >= MIN_VOTING_LETTERS);
|
|
387
|
-
return voting.length > 0 ? voting : lines;
|
|
388
|
-
}
|
|
389
|
-
function matches_share(prose, script, pattern) {
|
|
390
|
-
const lines = voting_lines(prose);
|
|
391
|
-
const matched = lines.filter((line) => is_line_in_script(line, script, pattern));
|
|
392
|
-
return matched.length / lines.length;
|
|
393
|
-
}
|
|
394
|
-
function is_mismatch(message, lang) {
|
|
395
|
-
const script = script_of(lang);
|
|
396
|
-
if (script === void 0) return false;
|
|
397
|
-
const pattern = letter_pattern(script);
|
|
398
|
-
if (pattern === void 0) return false;
|
|
399
|
-
const prose = reply_prose.prose_of(message);
|
|
400
|
-
if (letter_count(prose) < MIN_PROSE_LETTERS) return false;
|
|
401
|
-
return matches_share(prose, script, pattern) < MATCH_SHARE_FLOOR;
|
|
402
|
-
}
|
|
403
|
-
var reply_language = { is_mismatch, script_of };
|
|
404
|
-
|
|
405
|
-
// scripts/rules/stop-rules.ts
|
|
406
|
-
var SWITCH_ENV_KEY = "JOSH_STOP_GUARD";
|
|
407
|
-
var BLOCK_DECISION = "block";
|
|
408
|
-
var stop_payload_schema = z.object({
|
|
409
|
-
transcript_path: z.string().min(1),
|
|
410
|
-
stop_hook_active: z.boolean().nullish(),
|
|
411
|
-
last_assistant_message: z.string().nullish()
|
|
412
|
-
});
|
|
413
|
-
var NO_OUTCOME = { reason: void 0, actions: [], blocks_on_failure: false };
|
|
414
|
-
var STOP_NOTIFY_REASON = '\u26D4 mid-workflow stop notification: this working tree is still held by a run and no `confirmation` Telegram was sent this turn. Send `pnpm josh notify --task-type confirmation --issue-url "<url>" --body=$\'<reason>\' --recommended "<choice>" --alternative "<choice>"` (`rule-delivery.md` \u2192 "stop-notify"), then confirm in one line that it was sent \u2014 do not repeat your previous reply.';
|
|
415
|
-
var HOLD_RELEASE_REASON = "\u26D4 working-tree hold not released: this working tree is clean but its `run:hold` record is still in place. Release it with `pnpm josh run:release <N>` (bare for a `new` entry; `working-tree-hold.md`), then confirm in one line that it was released \u2014 do not repeat your previous reply.";
|
|
416
|
-
var FILING_OFFER_REASON = '\u26D4 filing offer: your reply offers to file an Issue instead of filing it, and this run is unattended \u2014 nobody is there to answer. Run `pnpm josh issue:file "<title>" --body-file <path>` (Tier A, `observation-filing.md`), then end with the one-line citation of what was filed; do not repeat your previous reply. If it is not worth filing after all, say so in one line instead.';
|
|
417
|
-
var HEADLESS_WAIT_MARKER = "\u26D4 headless parent:";
|
|
418
|
-
var HEADLESS_REFUSAL_CAP = 3;
|
|
419
|
-
var HEADLESS_WAIT_CALLS = ['"command":"pnpm josh lane:await'];
|
|
420
|
-
var HEADLESS_WAIT_BODY = " this is a `claude -p` `backlogrun` parent with lanes in flight, and ending this turn kills the process and its background waits. Hand the loop back with `pnpm josh run:carry --cut` (or `--end` when the run is over), then end the turn (`backlogrun-progress.md`).";
|
|
421
|
-
var HEADLESS_WAIT_REASON = `${HEADLESS_WAIT_MARKER}${HEADLESS_WAIT_BODY}`;
|
|
422
|
-
var INDEX_COMMAND_PATTERN = /git (?:add|stage|rm --cached|restore --staged|restore -S)\b/u;
|
|
423
|
-
var PERMISSION_PATTERN = /許可|承認|permission|approve|approval|authorization/iu;
|
|
424
|
-
var LANE_INDEX_REASON = "\u26D4 lane index permission: this is a dispatched lane child (`JOSH_LANE_CHILD`) and your reply asks a person for permission to change the git index. That is Tier A here (`chain-rule.md`): remove any conflict markers, run `pnpm josh git -y` (it stages and commits, a conflicted merge included) and continue the run \u2014 do not repeat your previous reply.";
|
|
425
|
-
function asks_index_permission(message) {
|
|
426
|
-
return INDEX_COMMAND_PATTERN.test(message) && PERMISSION_PATTERN.test(message);
|
|
427
|
-
}
|
|
428
|
-
function needs_index_route(context) {
|
|
429
|
-
return context.lane_child && asks_index_permission(context.message);
|
|
430
|
-
}
|
|
431
|
-
function language_note(lang) {
|
|
432
|
-
return `Write your reply in the session language (JOSH_SESSION_LANG: ${lang}); code, commands and identifiers stay as they are.`;
|
|
433
|
-
}
|
|
434
|
-
function build_language_reason(lang) {
|
|
435
|
-
return `\u26D4 session language: your reply is not written in the session language (JOSH_SESSION_LANG: ${lang}). Rewrite it in that language and keep writing in it on the turns that follow, whatever language a notification, tool output or hook message was in (\`CLAUDE.md\` \u2192 "Output language").`;
|
|
436
|
-
}
|
|
437
|
-
function language_reason(context) {
|
|
438
|
-
if (!reply_language.is_mismatch(context.message, context.session_lang)) return void 0;
|
|
439
|
-
return build_language_reason(context.session_lang);
|
|
440
|
-
}
|
|
441
|
-
function concise_reason(context) {
|
|
442
|
-
if (!concise_reply.is_over(context.message, context.prompt)) return void 0;
|
|
443
|
-
return concise_reply.build_reason(context.message);
|
|
444
|
-
}
|
|
445
|
-
function is_unattended(context) {
|
|
446
|
-
return context.headless_agent || context.lane_child || context.backlog_parent;
|
|
447
|
-
}
|
|
448
|
-
function needs_filing(context) {
|
|
449
|
-
if (!is_unattended(context) || context.filed) return false;
|
|
450
|
-
return filing_offer.offers_filing(context.message) && filing_offer.is_first_party_target(context.message, context.session_owner);
|
|
451
|
-
}
|
|
452
|
-
function is_held_idle(context) {
|
|
453
|
-
if (context.hold_issue === void 0 || !context.hold_owned) return false;
|
|
454
|
-
return !context.agent_pending && !context.handed_off;
|
|
455
|
-
}
|
|
456
|
-
function needs_notify(context) {
|
|
457
|
-
return is_held_idle(context) && !context.notified && !context.answers_question;
|
|
458
|
-
}
|
|
459
|
-
function needs_decision(context) {
|
|
460
|
-
return needs_notify(context) && stop_decision.decision_of(context.message) === void 0;
|
|
461
|
-
}
|
|
462
|
-
function needs_release(context) {
|
|
463
|
-
return is_held_idle(context) && context.tree_clean && !context.prrun_stopped;
|
|
464
|
-
}
|
|
465
|
-
function reply_reason(context) {
|
|
466
|
-
if (needs_filing(context)) return FILING_OFFER_REASON;
|
|
467
|
-
if (context.headless_agent) return void 0;
|
|
468
|
-
return language_reason(context) ?? concise_reason(context);
|
|
469
|
-
}
|
|
470
|
-
function decision_reason(context) {
|
|
471
|
-
return needs_decision(context) ? stop_decision.DECISION_REASON : void 0;
|
|
472
|
-
}
|
|
473
|
-
function is_headless_held(context) {
|
|
474
|
-
if (!context.headless_waiting) return false;
|
|
475
|
-
return !context.stop_hook_active || context.headless_refusals < HEADLESS_REFUSAL_CAP;
|
|
476
|
-
}
|
|
477
|
-
function count_headless_refusals(tail) {
|
|
478
|
-
const last_wait = Math.max(...HEADLESS_WAIT_CALLS.map((call) => tail.lastIndexOf(call)));
|
|
479
|
-
return tail.slice(Math.max(last_wait, 0)).split(HEADLESS_WAIT_MARKER).length - 1;
|
|
480
|
-
}
|
|
481
|
-
function needs_background_wait(context) {
|
|
482
|
-
return context.lane_child && context.background_pending;
|
|
483
|
-
}
|
|
484
|
-
function background_wait_reason(context) {
|
|
485
|
-
if (context.command_pending) return lane_background.LANE_BACKGROUND_STOP_REASON;
|
|
486
|
-
return lane_background.LANE_AGENT_STOP_REASON;
|
|
487
|
-
}
|
|
488
|
-
function lane_reason(context) {
|
|
489
|
-
if (needs_index_route(context)) return LANE_INDEX_REASON;
|
|
490
|
-
if (needs_background_wait(context)) return background_wait_reason(context);
|
|
491
|
-
return void 0;
|
|
492
|
-
}
|
|
493
|
-
function model_reason(context) {
|
|
494
|
-
const lane = lane_reason(context);
|
|
495
|
-
if (lane !== void 0) return lane;
|
|
496
|
-
const reasons = [reply_reason(context), decision_reason(context)].filter(
|
|
497
|
-
(reason) => reason !== void 0
|
|
498
|
-
);
|
|
499
|
-
return reasons.length === 0 ? void 0 : reasons.join("\n\n");
|
|
500
|
-
}
|
|
501
|
-
function notify_actions(context, issue) {
|
|
502
|
-
const decision = stop_decision.decision_of(context.message);
|
|
503
|
-
if (decision === void 0 || !needs_notify(context)) return [];
|
|
504
|
-
return [{ kind: "notify", issue, message: context.message, decision }];
|
|
505
|
-
}
|
|
506
|
-
function hold_actions(context) {
|
|
507
|
-
const issue = context.hold_issue;
|
|
508
|
-
if (issue === void 0) return [];
|
|
509
|
-
const notify = notify_actions(context, issue);
|
|
510
|
-
return needs_release(context) ? [...notify, { kind: "release", issue }] : notify;
|
|
511
|
-
}
|
|
512
|
-
function block_reason(context) {
|
|
513
|
-
if (is_headless_held(context)) return HEADLESS_WAIT_REASON;
|
|
514
|
-
if (context.stop_hook_active || context.cut_pending) return void 0;
|
|
515
|
-
return model_reason(context);
|
|
516
|
-
}
|
|
517
|
-
function runs_actions(context, reason) {
|
|
518
|
-
return reason === void 0 && !context.cut_pending && lane_reason(context) === void 0;
|
|
519
|
-
}
|
|
520
|
-
function stop_outcome(context) {
|
|
521
|
-
const reason = block_reason(context);
|
|
522
|
-
if (!runs_actions(context, reason)) return { ...NO_OUTCOME, reason };
|
|
523
|
-
const actions = hold_actions(context);
|
|
524
|
-
if (actions.length === 0) return NO_OUTCOME;
|
|
525
|
-
return { reason, actions, blocks_on_failure: !context.stop_hook_active };
|
|
526
|
-
}
|
|
527
|
-
function fallback_reason(action) {
|
|
528
|
-
return action.kind === "notify" ? STOP_NOTIFY_REASON : HOLD_RELEASE_REASON;
|
|
529
|
-
}
|
|
530
|
-
function block_envelope(reason, lang, notice) {
|
|
531
|
-
const refusal = { decision: BLOCK_DECISION, reason: `${reason} ${language_note(lang)}` };
|
|
532
|
-
return JSON.stringify(notice === void 0 ? refusal : { ...refusal, systemMessage: notice });
|
|
533
|
-
}
|
|
534
|
-
function notice_envelope(notice) {
|
|
535
|
-
return JSON.stringify({ systemMessage: notice });
|
|
536
|
-
}
|
|
537
|
-
function parse_stop_payload(raw_payload) {
|
|
538
|
-
return json_value.parse_with(raw_payload, stop_payload_schema);
|
|
539
|
-
}
|
|
540
|
-
function is_enabled() {
|
|
541
|
-
return hook_decision.is_switch_enabled(SWITCH_ENV_KEY);
|
|
542
|
-
}
|
|
543
|
-
var stop_rules = {
|
|
544
|
-
FILING_OFFER_REASON,
|
|
545
|
-
HEADLESS_REFUSAL_CAP,
|
|
546
|
-
HEADLESS_WAIT_REASON,
|
|
547
|
-
HOLD_RELEASE_REASON,
|
|
548
|
-
LANE_INDEX_REASON,
|
|
549
|
-
NO_OUTCOME,
|
|
550
|
-
STOP_NOTIFY_REASON,
|
|
551
|
-
SWITCH_ENV_KEY,
|
|
552
|
-
block_envelope,
|
|
553
|
-
build_language_reason,
|
|
554
|
-
count_headless_refusals,
|
|
555
|
-
fallback_reason,
|
|
556
|
-
is_enabled,
|
|
557
|
-
notice_envelope,
|
|
558
|
-
parse_stop_payload,
|
|
559
|
-
stop_outcome
|
|
560
|
-
};
|
|
561
|
-
|
|
562
|
-
// scripts/rules/pre-gate-cut.ts
|
|
563
|
-
var GATE_COMMANDS = /* @__PURE__ */ new Set(["gate"]);
|
|
564
|
-
var CUT_COMMANDS = /* @__PURE__ */ new Set(["run:cut"]);
|
|
565
|
-
var CUT_MODE_FLAG = /(?:^|\s)--(?:resume|end|json)(?:[=\s]|$)/u;
|
|
566
|
-
var HOLD_COMMANDS = /* @__PURE__ */ new Set(["run:hold"]);
|
|
567
|
-
var HOLD_MODE_FLAG = /(?:^|\s)--release(?:[=\s]|$)/u;
|
|
568
|
-
function invokes_josh(command, names, mode_flag) {
|
|
569
|
-
return shell_segments.segments_of(command).some(
|
|
570
|
-
(segment) => shell_segments.is_josh_command(segment, names) && mode_flag?.test(segment) !== true
|
|
571
|
-
);
|
|
572
|
-
}
|
|
573
|
-
function runs_the_gate(command) {
|
|
574
|
-
return invokes_josh(command, GATE_COMMANDS);
|
|
575
|
-
}
|
|
576
|
-
function takes_the_cut(command) {
|
|
577
|
-
return invokes_josh(command, CUT_COMMANDS, CUT_MODE_FLAG);
|
|
578
|
-
}
|
|
579
|
-
function claims_the_hold(command) {
|
|
580
|
-
return invokes_josh(command, HOLD_COMMANDS, HOLD_MODE_FLAG);
|
|
581
|
-
}
|
|
582
|
-
function asks_about_the_cut(command) {
|
|
583
|
-
return invokes_josh(command, CUT_COMMANDS);
|
|
584
|
-
}
|
|
585
|
-
function current_state(context) {
|
|
586
|
-
return {
|
|
587
|
-
directory: context.cwd,
|
|
588
|
-
carried: (now) => run_cut.carried_cut_sync(now, run_cut.worktree_git_directory_sync(context.cwd)),
|
|
589
|
-
marked_issue: lane_child_marker.marked_issue(context.env),
|
|
590
|
-
is_reviewer: agent_session_role.is_reviewer(context.env),
|
|
591
|
-
context_verdict: () => cost_cli.session_verdict(context.cwd, context.env)
|
|
592
|
-
};
|
|
593
|
-
}
|
|
594
|
-
function dispatched_issue(state) {
|
|
595
|
-
return state.is_reviewer ? void 0 : state.marked_issue;
|
|
596
|
-
}
|
|
597
|
-
function uncut_lane_issue(state) {
|
|
598
|
-
const issue = lane_paths.lane_issue_of(state.directory);
|
|
599
|
-
if (issue === void 0 || dispatched_issue(state) !== issue) return void 0;
|
|
600
|
-
return state.carried()?.issue === issue ? void 0 : issue;
|
|
601
|
-
}
|
|
602
|
-
function warrants_the_cut(verdict) {
|
|
603
|
-
return verdict === cost_verdict.OVER_VERDICT;
|
|
604
|
-
}
|
|
605
|
-
function is_uncut_gate(command, state) {
|
|
606
|
-
if (!runs_the_gate(command) || uncut_lane_issue(state) === void 0) return false;
|
|
607
|
-
return warrants_the_cut(state.context_verdict());
|
|
608
|
-
}
|
|
609
|
-
function is_uncut_gate_in(command, context) {
|
|
610
|
-
return is_uncut_gate(command, current_state(context));
|
|
611
|
-
}
|
|
612
|
-
var PRE_GATE_CUT_REASON = "\u26D4 pre-gate cut: this checkout is a lane dispatched for this issue and the gate is the boundary to cut at. Issue `pnpm josh run:cut <N>`: on `cut`, end the turn immediately \u2014 no Telegram is owed; on any other verdict (`not-a-lane`, `busy`, \u2026), reissue the gate \u2014 this fires once per run (`.claude/skills/workflow-commands/pre-gate-cut.md`).";
|
|
613
|
-
function reaches_the_pre_gate_boundary(call, _turn, run) {
|
|
614
|
-
if (!bash_triggers.on_bash_command(asks_about_the_cut)(call)) return false;
|
|
615
|
-
return run.some((issued) => bash_triggers.on_bash_command(claims_the_hold)(issued));
|
|
616
|
-
}
|
|
617
|
-
var pre_gate_cut = {
|
|
618
|
-
PRE_GATE_CUT_REASON,
|
|
619
|
-
asks_about_the_cut,
|
|
620
|
-
claims_the_hold,
|
|
621
|
-
is_uncut_gate,
|
|
622
|
-
is_uncut_gate_in,
|
|
623
|
-
reaches_the_pre_gate_boundary,
|
|
624
|
-
runs_the_gate,
|
|
625
|
-
takes_the_cut,
|
|
626
|
-
uncut_lane_issue
|
|
627
|
-
};
|
|
628
|
-
|
|
629
|
-
// scripts/rules/turn-filings.ts
|
|
630
|
-
function is_filing_use(block) {
|
|
631
|
-
if (!tail_commands.is_bash_use(block)) return false;
|
|
632
|
-
return bash_triggers.is_issue_filing(time_shell.bash_command(block.input));
|
|
633
|
-
}
|
|
634
|
-
function collect_block(block, found) {
|
|
635
|
-
if (block.result_id !== "" && block.is_error === true) found.failures.add(block.result_id);
|
|
636
|
-
if (is_filing_use(block)) found.filing_ids.push(block.id);
|
|
637
|
-
}
|
|
638
|
-
function collect_line(line, found) {
|
|
639
|
-
const parsed = time_transcript_line.parse_line(line);
|
|
640
|
-
if (parsed === void 0) return;
|
|
641
|
-
for (const block of parsed.blocks) collect_block(block, found);
|
|
642
|
-
}
|
|
643
|
-
function scan_tail(tail) {
|
|
644
|
-
const found = { filing_ids: [], failures: /* @__PURE__ */ new Set() };
|
|
645
|
-
for (const line of tail.split("\n")) collect_line(line, found);
|
|
646
|
-
return found;
|
|
647
|
-
}
|
|
648
|
-
function filing_count(tail) {
|
|
649
|
-
const { filing_ids, failures } = scan_tail(tail);
|
|
650
|
-
return filing_ids.filter((id) => !failures.has(id)).length;
|
|
651
|
-
}
|
|
652
|
-
function is_prompt_line(line) {
|
|
653
|
-
const parsed = time_transcript_line.parse_line(line);
|
|
654
|
-
if (parsed?.type !== "user") return false;
|
|
655
|
-
return parsed.blocks.every((block) => block.result_id === "");
|
|
656
|
-
}
|
|
657
|
-
function current_turn(tail) {
|
|
658
|
-
const lines = tail.split("\n");
|
|
659
|
-
const start = lines.findLastIndex((line) => is_prompt_line(line));
|
|
660
|
-
return lines.slice(Math.max(start, 0)).join("\n");
|
|
661
|
-
}
|
|
662
|
-
function turn_filing_count(tail) {
|
|
663
|
-
return filing_count(current_turn(tail));
|
|
664
|
-
}
|
|
665
|
-
var turn_filings = {
|
|
666
|
-
current_turn,
|
|
667
|
-
filing_count,
|
|
668
|
-
is_prompt_line,
|
|
669
|
-
turn_filing_count
|
|
670
|
-
};
|
|
671
|
-
|
|
672
|
-
// scripts/rules/last-prompt.ts
|
|
673
|
-
import { z as z3 } from "zod";
|
|
674
|
-
|
|
675
|
-
// scripts/rules/codex-prompt.ts
|
|
676
|
-
import { z as z2 } from "zod";
|
|
677
|
-
var content_schema = z2.array(
|
|
678
|
-
z2.object({
|
|
679
|
-
type: z2.string(),
|
|
680
|
-
text: z2.string().optional()
|
|
681
|
-
})
|
|
682
|
-
);
|
|
683
|
-
var provenance_schema = z2.object({ provenance: z2.object({ type: z2.string() }) });
|
|
684
|
-
var metadata_schema = z2.object({ content_item_metadata: z2.array(provenance_schema) });
|
|
685
|
-
var payload_schema = z2.object({
|
|
686
|
-
type: z2.literal("message"),
|
|
687
|
-
role: z2.enum(["user", "assistant"]),
|
|
688
|
-
content: content_schema,
|
|
689
|
-
internal_chat_message_metadata_passthrough: metadata_schema.optional()
|
|
690
|
-
});
|
|
691
|
-
var record_schema = z2.object({
|
|
692
|
-
type: z2.literal("response_item"),
|
|
693
|
-
timestamp: z2.string(),
|
|
694
|
-
payload: payload_schema
|
|
695
|
-
});
|
|
696
|
-
function content_text(block) {
|
|
697
|
-
if (block.type !== "input_text" && block.type !== "output_text") return "";
|
|
698
|
-
return block.text ?? "";
|
|
699
|
-
}
|
|
700
|
-
function person_content(payload) {
|
|
701
|
-
const metadata = payload.internal_chat_message_metadata_passthrough?.content_item_metadata;
|
|
702
|
-
if (metadata?.length !== payload.content.length) return void 0;
|
|
703
|
-
const authored = payload.content.filter((_block, index) => metadata[index]?.provenance.type === "user").map((block) => content_text(block));
|
|
704
|
-
return authored.length === 0 ? void 0 : authored.join("\n");
|
|
705
|
-
}
|
|
706
|
-
function normalize(line) {
|
|
707
|
-
const record = json_value.parse_with(line, record_schema);
|
|
708
|
-
if (record === void 0) return line;
|
|
709
|
-
const { payload, timestamp } = record;
|
|
710
|
-
const content = payload.role === "user" ? person_content(payload) : payload.content.map((block) => content_text(block)).join("\n");
|
|
711
|
-
return JSON.stringify({
|
|
712
|
-
type: payload.role,
|
|
713
|
-
timestamp,
|
|
714
|
-
...content === void 0 && { origin: { kind: "harness" } },
|
|
715
|
-
message: { content: content ?? "" }
|
|
716
|
-
});
|
|
717
|
-
}
|
|
718
|
-
var codex_prompt = { normalize };
|
|
719
|
-
|
|
720
|
-
// scripts/rules/last-prompt.ts
|
|
721
|
-
var NO_PROMPT = "";
|
|
722
|
-
var HUMAN_ORIGIN = "human";
|
|
723
|
-
var PROMPT_LINE_SCHEMA = z3.object({
|
|
724
|
-
isMeta: z3.boolean().nullish(),
|
|
725
|
-
timestamp: z3.string().nullish(),
|
|
726
|
-
origin: z3.object({ kind: z3.string().nullish() }).nullish(),
|
|
727
|
-
message: z3.object({ content: z3.unknown() })
|
|
728
|
-
});
|
|
729
|
-
var TIMED_LINE_SCHEMA = z3.object({ timestamp: z3.string() });
|
|
730
|
-
function is_person(line) {
|
|
731
|
-
if (line.isMeta === true) return false;
|
|
732
|
-
return line.origin === null || line.origin === void 0 || line.origin.kind === HUMAN_ORIGIN;
|
|
733
|
-
}
|
|
734
|
-
function person_line(line) {
|
|
735
|
-
const normalized = codex_prompt.normalize(line);
|
|
736
|
-
if (!turn_filings.is_prompt_line(normalized)) return void 0;
|
|
737
|
-
const parsed = PROMPT_LINE_SCHEMA.safeParse(json_value.parse_or_undefined(normalized));
|
|
738
|
-
return parsed.success && is_person(parsed.data) ? parsed.data : void 0;
|
|
739
|
-
}
|
|
740
|
-
function person_text(line) {
|
|
741
|
-
const person = person_line(line);
|
|
742
|
-
if (person === void 0) return void 0;
|
|
743
|
-
return time_reported_failure.result_text(person.message.content);
|
|
744
|
-
}
|
|
745
|
-
function turn_prompt(tail) {
|
|
746
|
-
const opener = tail.split("\n").map((line) => codex_prompt.normalize(line)).findLast((line) => turn_filings.is_prompt_line(line));
|
|
747
|
-
if (opener === void 0) return NO_PROMPT;
|
|
748
|
-
return person_text(opener) ?? NO_PROMPT;
|
|
749
|
-
}
|
|
750
|
-
function person_prompt(tail) {
|
|
751
|
-
return tail.split("\n").map((line) => person_text(line)).findLast((text) => text !== void 0);
|
|
752
|
-
}
|
|
753
|
-
function prompt_time(tail) {
|
|
754
|
-
return tail.split("\n").map((line) => person_line(line)?.timestamp ?? void 0).findLast((time) => time !== void 0);
|
|
755
|
-
}
|
|
756
|
-
function tail_time(tail) {
|
|
757
|
-
return tail.split("\n").map((line) => TIMED_LINE_SCHEMA.safeParse(json_value.parse_or_undefined(line)).data?.timestamp).find((time) => time !== void 0);
|
|
758
|
-
}
|
|
759
|
-
function pause_start(tail) {
|
|
760
|
-
return prompt_time(tail) ?? tail_time(tail);
|
|
761
|
-
}
|
|
762
|
-
var last_prompt = { pause_start, person_prompt, turn_prompt };
|
|
763
|
-
|
|
764
|
-
export {
|
|
765
|
-
concise_reply,
|
|
766
|
-
run_tail_rule,
|
|
767
|
-
lane_background,
|
|
768
|
-
stop_rules,
|
|
769
|
-
pre_gate_cut,
|
|
770
|
-
codex_prompt,
|
|
771
|
-
turn_filings,
|
|
772
|
-
last_prompt
|
|
773
|
-
};
|