@maycombhq/atticus 2.0.0-beta.10 → 2.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-AY2IUF4K.js → chunk-22GLUHGE.js} +659 -73
  3. package/dist/{chunk-CIUHAHM6.js → chunk-2A24BNRZ.js} +8 -8
  4. package/dist/{chunk-2RX7PI2Y.js → chunk-2ELFEKOO.js} +4 -4
  5. package/dist/{chunk-QKEFZRHS.js → chunk-2P6IHSRO.js} +17 -17
  6. package/dist/chunk-2Q2YBAR5.js +40 -0
  7. package/dist/{chunk-7DUDLVFJ.js → chunk-2VQLFNBO.js} +20 -20
  8. package/dist/{chunk-E3Z67HRK.js → chunk-3256EDLL.js} +4 -4
  9. package/dist/{chunk-OIU657QQ.js → chunk-34BCKMBS.js} +4 -4
  10. package/dist/{chunk-UR7RMZ3R.js → chunk-34NWVIBC.js} +2 -2
  11. package/dist/{chunk-6VBXAGJX.js → chunk-36KD4OGC.js} +14 -14
  12. package/dist/{chunk-I7IWQIEB.js → chunk-3CFBU2O6.js} +4 -4
  13. package/dist/{chunk-OSGQW2Z6.js → chunk-3JLTN3Y7.js} +8 -8
  14. package/dist/{chunk-FOGG4AUR.js → chunk-3M7QBKKG.js} +25 -7
  15. package/dist/{chunk-UF7TAFJM.js → chunk-3RP34PYV.js} +18 -18
  16. package/dist/{chunk-YLAJAI2W.js → chunk-3ZKLWM5Y.js} +11 -11
  17. package/dist/{chunk-LTQANUDH.js → chunk-47HPZ34V.js} +25 -25
  18. package/dist/chunk-4BPROPGG.js +45 -0
  19. package/dist/{chunk-Y4BRGOJR.js → chunk-4G56W6H7.js} +13 -10
  20. package/dist/{chunk-YXJ4XOHF.js → chunk-4HIQ2FTI.js} +4 -4
  21. package/dist/{chunk-AJJK7GLO.js → chunk-4HTILEXW.js} +3 -3
  22. package/dist/{chunk-OJLRFGBP.js → chunk-4Q2PGM5T.js} +78 -15
  23. package/dist/{chunk-GR6YKM55.js → chunk-4RDW2X43.js} +108 -14
  24. package/dist/{chunk-23M2LUYM.js → chunk-4VOG5H2K.js} +1 -1
  25. package/dist/chunk-5CSZTVXH.js +34 -0
  26. package/dist/{chunk-65C57N7P.js → chunk-5FFMJMVH.js} +19 -19
  27. package/dist/{chunk-XNYNEEBR.js → chunk-5GGGAI5C.js} +18 -18
  28. package/dist/{chunk-IUD3ME4E.js → chunk-5H46QFSL.js} +4 -4
  29. package/dist/{chunk-KIHOIVST.js → chunk-5ION6STH.js} +3 -3
  30. package/dist/chunk-5M3CLAOV.js +39 -0
  31. package/dist/chunk-5OACMWWI.js +886 -0
  32. package/dist/{chunk-2HMWX4T6.js → chunk-6ENDKY52.js} +11 -11
  33. package/dist/{chunk-OS7PQ35Z.js → chunk-6FG7QKJC.js} +22 -22
  34. package/dist/{chunk-FEZE6NIA.js → chunk-6JV3YHRR.js} +18 -18
  35. package/dist/{chunk-WGZWR4RF.js → chunk-6ROZRBWH.js} +5 -5
  36. package/dist/{chunk-WARBF2KY.js → chunk-6S27MUQQ.js} +10 -6
  37. package/dist/{chunk-TZDSDDSV.js → chunk-72DY5NCN.js} +2 -2
  38. package/dist/chunk-76QVBNEM.js +37 -0
  39. package/dist/{chunk-N4QZJJVB.js → chunk-77UOXZVM.js} +5 -5
  40. package/dist/{chunk-LVGBKKSM.js → chunk-7AXMUE2U.js} +15 -15
  41. package/dist/{chunk-FJCFYKVO.js → chunk-7TEQF64E.js} +196 -76
  42. package/dist/{chunk-IDGSU7JF.js → chunk-7TH6I6TL.js} +9 -9
  43. package/dist/{chunk-ZONE6E3Z.js → chunk-7UKETVPW.js} +2 -2
  44. package/dist/{chunk-XKS6THI5.js → chunk-7VNEDDCC.js} +2 -2
  45. package/dist/{chunk-BMHGA7WD.js → chunk-A5GY2EWH.js} +12 -12
  46. package/dist/{chunk-E3JYO547.js → chunk-AEZ3EICK.js} +20 -20
  47. package/dist/{chunk-7F2RUWPU.js → chunk-ARLH2ZMD.js} +1 -1
  48. package/dist/{chunk-VKMTFIWS.js → chunk-AYVLEB55.js} +18 -18
  49. package/dist/chunk-B6X5PJSA.js +320 -0
  50. package/dist/{chunk-JMSEEBN4.js → chunk-BRCDEGNE.js} +1 -1
  51. package/dist/{chunk-67J3VZBA.js → chunk-BSVTNNUK.js} +5 -5
  52. package/dist/{chunk-3GTZ2OON.js → chunk-BTOGAUWX.js} +20 -11
  53. package/dist/{chunk-4SVJNVEE.js → chunk-BXBCMGIQ.js} +2 -0
  54. package/dist/chunk-BXP2Q4TD.js +48 -0
  55. package/dist/{chunk-XPEEICAO.js → chunk-BZRWJUB4.js} +15 -15
  56. package/dist/{chunk-MH5OCRUM.js → chunk-CH6LUQLD.js} +2 -2
  57. package/dist/{chunk-T6USVBEJ.js → chunk-CIIRPLI6.js} +5 -5
  58. package/dist/chunk-CJXM6SG4.js +339 -0
  59. package/dist/{chunk-5XDNUJ4P.js → chunk-CQD26SMZ.js} +4 -2
  60. package/dist/{chunk-7TGYNOXD.js → chunk-CW5SEPUT.js} +7 -7
  61. package/dist/{chunk-5KTOPOEP.js → chunk-CWSZP2LU.js} +25 -25
  62. package/dist/chunk-CXK27ZUY.js +32 -0
  63. package/dist/{chunk-YGKYFMSL.js → chunk-CXY4YDXS.js} +3 -3
  64. package/dist/{chunk-R64GLVBO.js → chunk-DDZZXVQ5.js} +10 -10
  65. package/dist/{chunk-7YYEKTYF.js → chunk-DGZXJO5I.js} +8 -8
  66. package/dist/{chunk-IV7BCWWN.js → chunk-DONCF2XC.js} +3 -3
  67. package/dist/{chunk-RRVT4MPS.js → chunk-DPNCAFMB.js} +18 -18
  68. package/dist/{chunk-UBWCUP3G.js → chunk-DQKNOHUZ.js} +2 -2
  69. package/dist/{chunk-NGPU2ARF.js → chunk-DW4BM73R.js} +1 -1
  70. package/dist/{chunk-PEF5OEMB.js → chunk-DWN7RSNQ.js} +4 -4
  71. package/dist/{chunk-KC5DROFC.js → chunk-DWYPYVPJ.js} +14 -14
  72. package/dist/{chunk-B7434AE2.js → chunk-E73QLYK7.js} +24 -3
  73. package/dist/{chunk-EX6ZXS5K.js → chunk-EE3UNC44.js} +4 -4
  74. package/dist/chunk-EJDZEK22.js +53 -0
  75. package/dist/{chunk-ISNZYKAS.js → chunk-ENZWVTTN.js} +21 -21
  76. package/dist/{chunk-ROTY5J2L.js → chunk-EREL3TQG.js} +1 -1
  77. package/dist/{chunk-ZZXF6OOJ.js → chunk-ESGIBN3S.js} +2 -2
  78. package/dist/{chunk-YGR6OCHQ.js → chunk-EU7VTBAI.js} +8 -14
  79. package/dist/chunk-F5GA6G3U.js +48 -0
  80. package/dist/{chunk-JAA53T23.js → chunk-F6FGIYPT.js} +20 -20
  81. package/dist/{chunk-NPCD54I7.js → chunk-FAET4BB6.js} +8 -5
  82. package/dist/{chunk-YPBQNJHA.js → chunk-FBFSTYAB.js} +8 -8
  83. package/dist/{chunk-OEI7LVRP.js → chunk-FEBYMFZA.js} +24 -24
  84. package/dist/chunk-FMV6IZ3P.js +54 -0
  85. package/dist/{chunk-F7UQR4ZX.js → chunk-FQ6IBYFC.js} +3 -3
  86. package/dist/{chunk-J5LHDJU4.js → chunk-FSJMFPA3.js} +7 -7
  87. package/dist/chunk-GFZ5MIQG.js +47 -0
  88. package/dist/{chunk-LK44ULGI.js → chunk-GHSVJNVL.js} +104 -11
  89. package/dist/{chunk-LRS573EX.js → chunk-GKPOCUQR.js} +12 -7
  90. package/dist/{chunk-LDKUC2QJ.js → chunk-GLSNVC67.js} +17 -17
  91. package/dist/{chunk-47QE246J.js → chunk-GMDOXWIS.js} +5 -5
  92. package/dist/{chunk-5MI2SEV5.js → chunk-GN5ZLSLD.js} +3 -3
  93. package/dist/{chunk-JQ7XQPQS.js → chunk-GUNBOZ75.js} +4 -4
  94. package/dist/{chunk-HHUFVJF7.js → chunk-GYS64N6F.js} +6 -6
  95. package/dist/{chunk-AKJTKMXU.js → chunk-HIQWJ6JZ.js} +5 -5
  96. package/dist/{chunk-6GNS32SI.js → chunk-HJ52XDST.js} +4 -4
  97. package/dist/{chunk-2KDSXJFJ.js → chunk-HJUEQERG.js} +34 -7
  98. package/dist/chunk-HKGQUOQ3.js +88 -0
  99. package/dist/chunk-HP32HUWR.js +41 -0
  100. package/dist/{chunk-R4TBNKKC.js → chunk-HY2VVVFZ.js} +1249 -610
  101. package/dist/{chunk-G5SFOH7P.js → chunk-I2PNEG3M.js} +38 -23
  102. package/dist/{chunk-Y5PZHS4K.js → chunk-INCECZ2E.js} +5 -5
  103. package/dist/{chunk-RK6MKKKP.js → chunk-ISXNWUG7.js} +1 -1
  104. package/dist/{chunk-73VPWF5R.js → chunk-ITJ7ST5E.js} +4 -4
  105. package/dist/{chunk-5IALSMZ2.js → chunk-J3VAFDEX.js} +14 -14
  106. package/dist/chunk-JGLZUQVN.js +29 -0
  107. package/dist/{chunk-5XN76FTF.js → chunk-JLIEAQP4.js} +5 -5
  108. package/dist/{chunk-MGVYVW7Q.js → chunk-JQG4VO47.js} +1 -1
  109. package/dist/chunk-JXXQHETS.js +130 -0
  110. package/dist/{chunk-APSVL2AI.js → chunk-KNGESBFW.js} +15 -15
  111. package/dist/{chunk-7UKVYFQ2.js → chunk-KUYA2E7M.js} +8 -8
  112. package/dist/{chunk-WLIIQ2A4.js → chunk-KY2ZHTBJ.js} +7 -7
  113. package/dist/{chunk-YPIEYQF4.js → chunk-L4UIKAWD.js} +6 -6
  114. package/dist/chunk-LDUJ6NIT.js +247 -0
  115. package/dist/{chunk-5YIBJXGB.js → chunk-LTLR4JZJ.js} +10 -10
  116. package/dist/{chunk-IZNSAEBX.js → chunk-MFRPLAOH.js} +2 -2
  117. package/dist/{chunk-6GWHKMQR.js → chunk-MH7UBG47.js} +4 -4
  118. package/dist/{chunk-4GZXS6S2.js → chunk-MLAACAES.js} +278 -17
  119. package/dist/{chunk-D3PO4DOZ.js → chunk-MMB2OHUY.js} +4 -2
  120. package/dist/{chunk-DDAHCPGA.js → chunk-MNCQ2GL7.js} +12 -12
  121. package/dist/{chunk-UYYN2IUZ.js → chunk-MNUZX67F.js} +6 -6
  122. package/dist/{chunk-YFSSNGLR.js → chunk-MQHYCS6A.js} +32 -29
  123. package/dist/{chunk-MKRBG5EF.js → chunk-MRLCNXXR.js} +1 -1
  124. package/dist/{chunk-BUYJL3GJ.js → chunk-NBQO75XT.js} +1 -1
  125. package/dist/{chunk-GXJVY6WT.js → chunk-NCONDPHH.js} +5 -5
  126. package/dist/{chunk-ZP4FJHR4.js → chunk-NHS55U7T.js} +18 -18
  127. package/dist/{chunk-CRE4BJHM.js → chunk-NL6XQZSV.js} +23 -23
  128. package/dist/{chunk-YVLMBAYE.js → chunk-NSJ6ZR2A.js} +3 -3
  129. package/dist/{chunk-XRO65C7V.js → chunk-NTNJNRHW.js} +8 -6
  130. package/dist/{chunk-FTV6I76U.js → chunk-NTTXTLCQ.js} +25 -25
  131. package/dist/chunk-NWL7XEQ4.js +37 -0
  132. package/dist/{chunk-CNKGYDMG.js → chunk-NWXY3B4R.js} +23 -23
  133. package/dist/{chunk-52R2YXP5.js → chunk-O5W4ECUY.js} +16 -16
  134. package/dist/{chunk-OGRWQ562.js → chunk-O6ILVBYB.js} +2 -2
  135. package/dist/{chunk-BJPMKJTL.js → chunk-OJAJXU65.js} +102 -2
  136. package/dist/{chunk-FZL2HNWP.js → chunk-OMH3I5BH.js} +3 -3
  137. package/dist/{chunk-MF7QH4AX.js → chunk-P6UJ22XR.js} +5 -5
  138. package/dist/{chunk-HE4ZQXZM.js → chunk-P76AW3PA.js} +309 -15
  139. package/dist/{chunk-GZ4TKR3Q.js → chunk-PCCPXWJC.js} +48 -139
  140. package/dist/{chunk-6TJCUYC5.js → chunk-PGFRXGHA.js} +3 -3
  141. package/dist/{chunk-NIXVDQVO.js → chunk-PJRMMWU4.js} +2 -2
  142. package/dist/{chunk-X4W4XXWP.js → chunk-PKJ3K3GM.js} +5 -5
  143. package/dist/{chunk-KM2FBM3T.js → chunk-PVW2N63M.js} +302 -55
  144. package/dist/{chunk-Y7KBQ4BD.js → chunk-Q55UP5EZ.js} +22 -22
  145. package/dist/{chunk-7URGP4DD.js → chunk-QAFMLBPF.js} +12 -12
  146. package/dist/{chunk-KIAI6PWL.js → chunk-QEZSA2O7.js} +17 -17
  147. package/dist/{chunk-PKCMRPPB.js → chunk-QJ3OX7OC.js} +33 -27
  148. package/dist/{chunk-6EDQE7GO.js → chunk-QL4VNY4U.js} +2 -2
  149. package/dist/{chunk-6JLPXDWN.js → chunk-QR65C3DV.js} +5 -5
  150. package/dist/{chunk-ILFKECGI.js → chunk-QXGOEP44.js} +4 -4
  151. package/dist/chunk-QY7RGTUP.js +326 -0
  152. package/dist/{chunk-PGKHJYOB.js → chunk-RA64IK43.js} +1 -1
  153. package/dist/{chunk-XB5RFZHH.js → chunk-RLJDYLID.js} +12 -12
  154. package/dist/{chunk-AWECWW5Y.js → chunk-RMLUZYEA.js} +13 -11
  155. package/dist/chunk-RSVBX6A3.js +54 -0
  156. package/dist/chunk-RZWZO2JQ.js +42 -0
  157. package/dist/chunk-S5LSDXV4.js +40 -0
  158. package/dist/{chunk-TM7LC37P.js → chunk-SAC6FNKR.js} +181 -117
  159. package/dist/{chunk-DPHCFZ7W.js → chunk-SCBU46AJ.js} +3 -3
  160. package/dist/{chunk-EZIUFEN6.js → chunk-SGNHNN3G.js} +12 -12
  161. package/dist/{chunk-XKZHAD6Y.js → chunk-SHAAGH3T.js} +15 -15
  162. package/dist/chunk-SK5OYWIY.js +122 -0
  163. package/dist/{chunk-FR7JPYBD.js → chunk-SNSFQ47W.js} +12 -12
  164. package/dist/{chunk-FV5YFR6I.js → chunk-SSL6JMPA.js} +9 -9
  165. package/dist/{chunk-XEG3FE2R.js → chunk-TA2ZNDYD.js} +1 -1
  166. package/dist/{chunk-JF2NSTFO.js → chunk-TEHH47TG.js} +3 -3
  167. package/dist/{chunk-W5OYJMBT.js → chunk-TEZSZ24W.js} +5 -5
  168. package/dist/{chunk-SS66Q4VE.js → chunk-TH526O6E.js} +12 -12
  169. package/dist/{chunk-R6B6XAKK.js → chunk-TIAPEYWI.js} +4 -4
  170. package/dist/chunk-TLCRIAU3.js +44 -0
  171. package/dist/{chunk-FMKKVWZD.js → chunk-TQYBXDVH.js} +2 -2
  172. package/dist/chunk-TV4CGNEY.js +43 -0
  173. package/dist/{chunk-QICFHVRW.js → chunk-TVSNWIAM.js} +8 -6
  174. package/dist/{chunk-CHC5FKTU.js → chunk-TWHZU36X.js} +1 -1
  175. package/dist/{chunk-BMCKL3VQ.js → chunk-TXV2AYZB.js} +24 -24
  176. package/dist/{chunk-577AJVRS.js → chunk-U25OX22K.js} +2039 -289
  177. package/dist/{chunk-7EKESFWV.js → chunk-U4NNG3ES.js} +11 -11
  178. package/dist/{chunk-XQ3YIV5R.js → chunk-U5T4A2QV.js} +6 -6
  179. package/dist/{chunk-2XM6PYQQ.js → chunk-UT5OA7KA.js} +43 -11
  180. package/dist/{chunk-BXIX7S7O.js → chunk-V3VCUSQ6.js} +15 -15
  181. package/dist/{chunk-4QUQEBFT.js → chunk-V5XV3JSP.js} +6 -6
  182. package/dist/{chunk-F7YL2RZ4.js → chunk-VF4VOPMB.js} +23 -23
  183. package/dist/{chunk-3QAKDIEU.js → chunk-VLDM4QZM.js} +23 -23
  184. package/dist/chunk-VP5H6DII.js +34 -0
  185. package/dist/{chunk-N3NBWIYQ.js → chunk-VRYQJZFL.js} +10 -9
  186. package/dist/{chunk-FQSRHTTC.js → chunk-VS6FS472.js} +15 -15
  187. package/dist/{chunk-YMOJD5BO.js → chunk-VTMIRRIZ.js} +3 -3
  188. package/dist/{chunk-4PJADZRR.js → chunk-VXSJKWB7.js} +16 -16
  189. package/dist/{chunk-MTAUZW2Z.js → chunk-WE5VMPUP.js} +216 -106
  190. package/dist/{chunk-ZE3P35DA.js → chunk-WEG7DY5K.js} +9 -9
  191. package/dist/{chunk-V2TH46ZY.js → chunk-WIF7A6JU.js} +12 -12
  192. package/dist/{chunk-GFXLPJWY.js → chunk-WM4N2L4T.js} +2 -2
  193. package/dist/{chunk-XIWYUQZQ.js → chunk-X64BFQ3R.js} +9 -9
  194. package/dist/{chunk-QWVBEK4P.js → chunk-XJRC3ZDI.js} +13 -13
  195. package/dist/{chunk-F2FOQLJ7.js → chunk-XVIVWG7B.js} +6 -6
  196. package/dist/{chunk-XTVDAHH2.js → chunk-Y3ZKT6IF.js} +5 -5
  197. package/dist/{chunk-62YMDXY6.js → chunk-YURIUFKF.js} +16 -16
  198. package/dist/{chunk-HKTUIMH4.js → chunk-YY2WGL6S.js} +3 -3
  199. package/dist/{chunk-BDEKREZH.js → chunk-Z2BA4NNR.js} +3 -3
  200. package/dist/{chunk-MTEBM4Y4.js → chunk-Z47YGBUY.js} +19 -12
  201. package/dist/chunk-Z4JSRKNR.js +41 -0
  202. package/dist/{chunk-G2E5MNYP.js → chunk-Z53ZB34U.js} +7 -7
  203. package/dist/{chunk-NNUASOAA.js → chunk-ZBOPIYOY.js} +12 -12
  204. package/dist/{chunk-7GB4ZRE2.js → chunk-ZBQCLKTH.js} +12 -12
  205. package/dist/chunk-ZGI7DNJ6.js +38 -0
  206. package/dist/{chunk-P3TKKBAH.js → chunk-ZPT4QX3J.js} +4 -4
  207. package/dist/chunk-ZS47PQ3O.js +41 -0
  208. package/dist/{chunk-PIVKU64W.js → chunk-ZTIMXVV5.js} +2 -2
  209. package/dist/{chunk-T4RTWMJD.js → chunk-ZYASEL7K.js} +5 -5
  210. package/dist/files.json +469 -417
  211. package/dist/packages/sdk/npm/index.js +2309 -1983
  212. package/dist/packages/ui/dist/assets/{elk-api-Mo5w5xCa.js → elk-api-D2NcYpUJ.js} +2 -2
  213. package/dist/packages/ui/dist/assets/{index-Bp3XhPHX.css → index-C0JEkXyN.css} +1 -1
  214. package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
  215. package/dist/packages/ui/dist/index.html +2 -2
  216. package/package.json +4 -4
  217. package/dist/chunk-26PLPSQW.js +0 -48
  218. package/dist/chunk-2G4DFUWJ.js +0 -43
  219. package/dist/chunk-2M6WXO73.js +0 -38
  220. package/dist/chunk-5F3RJCHB.js +0 -45
  221. package/dist/chunk-B2VSVN4P.js +0 -34
  222. package/dist/chunk-B3O52AUQ.js +0 -275
  223. package/dist/chunk-CITDNDIZ.js +0 -53
  224. package/dist/chunk-DAQBIK5G.js +0 -47
  225. package/dist/chunk-DZRQDNPT.js +0 -34
  226. package/dist/chunk-FLOEZA6K.js +0 -29
  227. package/dist/chunk-FNHSVBRA.js +0 -48
  228. package/dist/chunk-FPGVOSOG.js +0 -41
  229. package/dist/chunk-FZ2E5LGK.js +0 -54
  230. package/dist/chunk-HB6XSGI6.js +0 -131
  231. package/dist/chunk-HUZQDKQK.js +0 -48
  232. package/dist/chunk-L4VJ4ETL.js +0 -41
  233. package/dist/chunk-XPCWQXTY.js +0 -37
  234. package/dist/chunk-YIEOFHOL.js +0 -30
  235. package/dist/packages/ui/dist/assets/index-DM212ZbV.js +0 -29
@@ -5,33 +5,33 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  aliasArgv
8
- } from "./chunk-4SVJNVEE.js";
8
+ } from "./chunk-BXBCMGIQ.js";
9
9
  import {
10
10
  VERSION
11
- } from "./chunk-CHC5FKTU.js";
11
+ } from "./chunk-TWHZU36X.js";
12
12
  import {
13
13
  SCHEMA_VERSION,
14
14
  createLog
15
- } from "./chunk-D3PO4DOZ.js";
15
+ } from "./chunk-MMB2OHUY.js";
16
16
  import "./chunk-TV45EUGM.js";
17
17
 
18
18
  // packages/cli/dist/main.js
19
19
  import { parseArgs } from "node:util";
20
20
  import { basename, join, resolve } from "node:path";
21
21
  import { existsSync } from "node:fs";
22
- var loadAi = () => import("./chunk-AJJK7GLO.js");
22
+ var loadAi = () => import("./chunk-4HTILEXW.js");
23
23
  var runtimeForCli = async (...a) => {
24
24
  await setUpAi();
25
25
  return (await loadAi()).runtimeForCli(...a);
26
26
  };
27
- var gitUser = (...a) => import("./chunk-HKTUIMH4.js").then((m) => m.gitUser(...a));
27
+ var gitUser = (...a) => import("./chunk-YY2WGL6S.js").then((m) => m.gitUser(...a));
28
28
  var loadAiSetUp = () => Promise.all([
29
29
  loadAi(),
30
- import("./chunk-OIU657QQ.js"),
31
- import("./chunk-W5OYJMBT.js"),
32
- import("./chunk-XPEEICAO.js"),
33
- import("./chunk-5XN76FTF.js"),
34
- import("./chunk-JMSEEBN4.js")
30
+ import("./chunk-34BCKMBS.js"),
31
+ import("./chunk-TEZSZ24W.js"),
32
+ import("./chunk-BZRWJUB4.js"),
33
+ import("./chunk-JLIEAQP4.js"),
34
+ import("./chunk-BRCDEGNE.js")
35
35
  ]);
36
36
  async function setUpAi() {
37
37
  const [ai, providers, plugins, naysayer, codeTools, draftCheck] = await loadAiSetUp();
@@ -62,73 +62,73 @@ var NO_AI = /* @__PURE__ */ new Set([
62
62
  "questions show"
63
63
  ]);
64
64
  var runsNoAi = (group, command) => NO_AI.has(group) || NO_AI.has(`${group} ${command ?? ""}`);
65
- var loadCommands = () => import("./chunk-ZZXF6OOJ.js");
65
+ var loadCommands = () => import("./chunk-ESGIBN3S.js");
66
66
  var catalogValidate = (...a) => loadCommands().then((m) => m.catalogValidate(...a));
67
67
  var orgPackValidate = (...a) => loadCommands().then((m) => m.orgPackValidate(...a));
68
68
  var schemaExport = (...a) => loadCommands().then((m) => m.schemaExport(...a));
69
- var loadWorkspaceCommands = () => import("./chunk-FZ2E5LGK.js");
69
+ var loadWorkspaceCommands = () => import("./chunk-RSVBX6A3.js");
70
70
  var handoffDone = (...a) => loadWorkspaceCommands().then((m) => m.handoffDone(...a));
71
71
  var openspecCheck = (...a) => loadWorkspaceCommands().then((m) => m.openspecCheck(...a));
72
72
  var openspecSetup = (...a) => loadWorkspaceCommands().then((m) => m.openspecSetup(...a));
73
73
  var workspaceOpen = (...a) => loadWorkspaceCommands().then((m) => m.workspaceOpen(...a));
74
74
  var workspacePrune = (...a) => loadWorkspaceCommands().then((m) => m.workspacePrune(...a));
75
75
  var workspaceSync = (...a) => loadWorkspaceCommands().then((m) => m.workspaceSync(...a));
76
- var loadScanCommands = () => import("./chunk-DZRQDNPT.js");
76
+ var loadScanCommands = () => import("./chunk-5CSZTVXH.js");
77
77
  var catalogDiff = (...a) => loadScanCommands().then((m) => m.catalogDiff(...a));
78
78
  var scanCommand = (...a) => loadScanCommands().then((m) => m.scanCommand(...a));
79
- var loadIndexCommands = () => import("./chunk-EX6ZXS5K.js");
79
+ var loadIndexCommands = () => import("./chunk-EE3UNC44.js");
80
80
  var askCommand = (...a) => loadIndexCommands().then((m) => m.askCommand(...a));
81
81
  var impactCommand = (...a) => loadIndexCommands().then((m) => m.impactCommand(...a));
82
82
  var indexRebuild = (...a) => loadIndexCommands().then((m) => m.indexRebuild(...a));
83
83
  var queryCommand = (...a) => loadIndexCommands().then((m) => m.queryCommand(...a));
84
84
  var searchCommand = (...a) => loadIndexCommands().then((m) => m.searchCommand(...a));
85
- var loadSiteCommands = () => import("./chunk-BXIX7S7O.js");
85
+ var loadSiteCommands = () => import("./chunk-V3VCUSQ6.js");
86
86
  var guideCommand = (...a) => loadSiteCommands().then((m) => m.guideCommand(...a));
87
87
  var siteBuildCommand = (...a) => loadSiteCommands().then((m) => m.siteBuildCommand(...a));
88
- var loadBaselineCommands = () => import("./chunk-5F3RJCHB.js");
88
+ var loadBaselineCommands = () => import("./chunk-4BPROPGG.js");
89
89
  var baselineCommand = (...a) => loadBaselineCommands().then((m) => m.baselineCommand(...a));
90
90
  var setupCommand = (...a) => loadBaselineCommands().then((m) => m.setupCommand(...a));
91
- var loadDigestCommands = () => import("./chunk-FLOEZA6K.js");
91
+ var loadDigestCommands = () => import("./chunk-JGLZUQVN.js");
92
92
  var digestCommand = (...a) => loadDigestCommands().then((m) => m.digestCommand(...a));
93
- var loadDoctor = () => import("./chunk-FNHSVBRA.js");
93
+ var loadDoctor = () => import("./chunk-BXP2Q4TD.js");
94
94
  var doctorCommand = (...a) => loadDoctor().then((m) => m.doctorCommand(...a));
95
- var loadSupport = () => import("./chunk-5KTOPOEP.js");
95
+ var loadSupport = () => import("./chunk-CWSZP2LU.js");
96
96
  var supportBundleCommand = (...a) => loadSupport().then((m) => m.supportBundleCommand(...a));
97
- var loadUpgrade = () => import("./chunk-L4VJ4ETL.js");
97
+ var loadUpgrade = () => import("./chunk-HP32HUWR.js");
98
98
  var upgradeCommand = (...a) => loadUpgrade().then((m) => m.upgradeCommand(...a));
99
- var loadReconcileCommands = () => import("./chunk-BMHGA7WD.js");
99
+ var loadReconcileCommands = () => import("./chunk-A5GY2EWH.js");
100
100
  var aliasCommand = (...a) => loadReconcileCommands().then((m) => m.aliasCommand(...a));
101
101
  var reconcileCommand = (...a) => loadReconcileCommands().then((m) => m.reconcileCommand(...a));
102
- var loadKnowledgeCommands = () => import("./chunk-5IALSMZ2.js");
102
+ var loadKnowledgeCommands = () => import("./chunk-J3VAFDEX.js");
103
103
  var coverageCommand = (...a) => loadKnowledgeCommands().then((m) => m.coverageCommand(...a));
104
104
  var patternsScan = (...a) => loadKnowledgeCommands().then((m) => m.patternsScan(...a));
105
105
  var questionsCommand = (...a) => loadKnowledgeCommands().then((m) => m.questionsCommand(...a));
106
- var questionsFiles = (...a) => import("./chunk-GR6YKM55.js").then((m) => m.questionsFiles(...a));
106
+ var questionsFiles = (...a) => import("./chunk-4RDW2X43.js").then((m) => m.questionsFiles(...a));
107
107
  var sourcesAdd = (...a) => loadKnowledgeCommands().then((m) => m.sourcesAdd(...a));
108
108
  var sourcesSync = (...a) => loadKnowledgeCommands().then((m) => m.sourcesSync(...a));
109
- var loadDiagramCommands = () => import("./chunk-EZIUFEN6.js");
109
+ var loadDiagramCommands = () => import("./chunk-SGNHNN3G.js");
110
110
  var diagramLibrary = (...a) => loadDiagramCommands().then((m) => m.diagramLibrary(...a));
111
111
  var diagramRender = (...a) => loadDiagramCommands().then((m) => m.diagramRender(...a));
112
- var loadStubCommands = () => import("./chunk-QWVBEK4P.js");
112
+ var loadStubCommands = () => import("./chunk-XJRC3ZDI.js");
113
113
  var stubCheck = (...a) => loadStubCommands().then((m) => m.stubCheck(...a));
114
114
  var stubServe = (...a) => loadStubCommands().then((m) => m.stubServe(...a));
115
- var loadIntakeCommands = () => import("./chunk-NNUASOAA.js");
115
+ var loadIntakeCommands = () => import("./chunk-ZBOPIYOY.js");
116
116
  var intakeAdd = (...a) => loadIntakeCommands().then((m) => m.intakeAdd(...a));
117
117
  var intakeList = (...a) => loadIntakeCommands().then((m) => m.intakeList(...a));
118
118
  var triageDecide = (...a) => loadIntakeCommands().then((m) => m.triageDecide(...a));
119
119
  var triageList = (...a) => loadIntakeCommands().then((m) => m.triageList(...a));
120
- var loadRunCommands = () => import("./chunk-CITDNDIZ.js");
120
+ var loadRunCommands = () => import("./chunk-EJDZEK22.js");
121
121
  var assistantFiles = (...a) => loadRunCommands().then((m) => m.assistantFiles(...a));
122
122
  var driftCommand = (...a) => loadRunCommands().then((m) => m.driftCommand(...a));
123
123
  var specHandDown = (...a) => loadRunCommands().then((m) => m.specHandDown(...a));
124
124
  var specHandUp = (...a) => loadRunCommands().then((m) => m.specHandUp(...a));
125
125
  var taskHandoff = (...a) => loadRunCommands().then((m) => m.taskHandoff(...a));
126
126
  var taskRun = (...a) => loadRunCommands().then((m) => m.taskRun(...a));
127
- var loadFeatureCommands = () => import("./chunk-FQSRHTTC.js");
127
+ var loadFeatureCommands = () => import("./chunk-VS6FS472.js");
128
128
  var featureSuggestNames = (...a) => loadFeatureCommands().then((m) => m.featureSuggestNames(...a));
129
- var loadDomainCommands = () => import("./chunk-V2TH46ZY.js");
129
+ var loadDomainCommands = () => import("./chunk-WIF7A6JU.js");
130
130
  var domainProfileCommand = (...a) => loadDomainCommands().then((m) => m.domainProfileCommand(...a));
131
- var loadPlanCommands = () => import("./chunk-E3JYO547.js");
131
+ var loadPlanCommands = () => import("./chunk-AEZ3EICK.js");
132
132
  var adoSync = (...a) => loadPlanCommands().then((m) => m.adoSync(...a));
133
133
  var changeDraft = (...a) => loadPlanCommands().then((m) => m.changeDraft(...a));
134
134
  var planStories = (...a) => loadPlanCommands().then((m) => m.planStories(...a));
@@ -136,13 +136,13 @@ var snowDraft = (...a) => loadPlanCommands().then((m) => m.snowDraft(...a));
136
136
  var snowSubmit = (...a) => loadPlanCommands().then((m) => m.snowSubmit(...a));
137
137
  var storyBarCommand = (...a) => loadPlanCommands().then((m) => m.storyBarCommand(...a));
138
138
  var templatesDraft = (...a) => loadPlanCommands().then((m) => m.templatesDraft(...a));
139
- var loadTodoCommands = () => import("./chunk-AKJTKMXU.js");
139
+ var loadTodoCommands = () => import("./chunk-HIQWJ6JZ.js");
140
140
  var executorsCheck = (...a) => loadTodoCommands().then((m) => m.executorsCheck(...a));
141
141
  var todoDone = (...a) => loadTodoCommands().then((m) => m.todoDone(...a));
142
142
  var todoList = (...a) => loadTodoCommands().then((m) => m.todoList(...a));
143
143
  var todoRun = (...a) => loadTodoCommands().then((m) => m.todoRun(...a));
144
144
  var todoShow = (...a) => loadTodoCommands().then((m) => m.todoShow(...a));
145
- var loadSetupCommands = () => import("./chunk-OS7PQ35Z.js");
145
+ var loadSetupCommands = () => import("./chunk-6FG7QKJC.js");
146
146
  var absorbCommand = (...a) => loadSetupCommands().then((m) => m.absorbCommand(...a));
147
147
  var absorbAcceptCommand = (...a) => loadSetupCommands().then((m) => m.absorbAcceptCommand(...a));
148
148
  var absorbRefreshCommand = (...a) => loadSetupCommands().then((m) => m.absorbRefreshCommand(...a));
@@ -152,7 +152,7 @@ var initCommand = (...a) => loadSetupCommands().then((m) => m.initCommand(...a))
152
152
  var reposDiscoverCommand = (...a) => loadSetupCommands().then((m) => m.reposDiscoverCommand(...a));
153
153
  var unadoptCommand = (...a) => loadSetupCommands().then((m) => m.unadoptCommand(...a));
154
154
  var zeroInstallCommand = (...a) => loadSetupCommands().then((m) => m.zeroInstallCommand(...a));
155
- var loadQualityCommands = () => import("./chunk-ISNZYKAS.js");
155
+ var loadQualityCommands = () => import("./chunk-ENZWVTTN.js");
156
156
  var ciArchiveGate = (...a) => loadQualityCommands().then((m) => m.ciArchiveGate(...a));
157
157
  var ciDrift = (...a) => loadQualityCommands().then((m) => m.ciDrift(...a));
158
158
  var ciSnippet = (...a) => loadQualityCommands().then((m) => m.ciSnippet(...a));
@@ -163,33 +163,33 @@ var glossaryList = (...a) => loadQualityCommands().then((m) => m.glossaryList(..
163
163
  var glossaryScan = (...a) => loadQualityCommands().then((m) => m.glossaryScan(...a));
164
164
  var testsGenerate = (...a) => loadQualityCommands().then((m) => m.testsGenerate(...a));
165
165
  var traceCommand = (...a) => loadQualityCommands().then((m) => m.traceCommand(...a));
166
- var loadInitiativeCommands = () => import("./chunk-XKZHAD6Y.js");
166
+ var loadInitiativeCommands = () => import("./chunk-SHAAGH3T.js");
167
167
  var initiativeCommitment = (...a) => loadInitiativeCommands().then((m) => m.initiativeCommitment(...a));
168
168
  var initiativeNew = (...a) => loadInitiativeCommands().then((m) => m.initiativeNew(...a));
169
169
  var initiativePlan = (...a) => loadInitiativeCommands().then((m) => m.initiativePlan(...a));
170
170
  var initiativeStatus = (...a) => loadInitiativeCommands().then((m) => m.initiativeStatus(...a));
171
171
  var requestFromTeam = (...a) => loadInitiativeCommands().then((m) => m.requestFromTeam(...a));
172
- var loadLearnCommands = () => import("./chunk-2G4DFUWJ.js");
172
+ var loadLearnCommands = () => import("./chunk-TV4CGNEY.js");
173
173
  var explainCommand = (...a) => loadLearnCommands().then((m) => m.explainCommand(...a));
174
174
  var learnCheck = (...a) => loadLearnCommands().then((m) => m.learnCheck(...a));
175
175
  var learnList = (...a) => loadLearnCommands().then((m) => m.learnList(...a));
176
176
  var learnStart = (...a) => loadLearnCommands().then((m) => m.learnStart(...a));
177
177
  var sandboxCreate = (...a) => loadLearnCommands().then((m) => m.sandboxCreate(...a));
178
- var loadEvalCommands = () => import("./chunk-FPGVOSOG.js");
179
- var loadBenchCommands = () => import("./chunk-HUZQDKQK.js");
178
+ var loadEvalCommands = () => import("./chunk-Z4JSRKNR.js");
179
+ var loadBenchCommands = () => import("./chunk-F5GA6G3U.js");
180
180
  var benchFetch = (...a) => loadBenchCommands().then((m) => m.benchFetch(...a));
181
181
  var benchRun = (...a) => loadBenchCommands().then((m) => m.benchRun(...a));
182
182
  var benchSurvey = (...a) => loadBenchCommands().then((m) => m.benchSurvey(...a));
183
183
  var benchVerify = (...a) => loadBenchCommands().then((m) => m.benchVerify(...a));
184
- var loadScanVerifyCommands = () => import("./chunk-CNKGYDMG.js");
185
- var stageCli = (...a) => import("./chunk-BMCKL3VQ.js").then((m) => m.stageCli(...a));
186
- var knowledgeCli = (...a) => import("./chunk-OEI7LVRP.js").then((m) => m.knowledgeCli(...a));
184
+ var loadScanVerifyCommands = () => import("./chunk-NWXY3B4R.js");
185
+ var stageCli = (...a) => import("./chunk-TXV2AYZB.js").then((m) => m.stageCli(...a));
186
+ var knowledgeCli = (...a) => import("./chunk-FEBYMFZA.js").then((m) => m.knowledgeCli(...a));
187
187
  var defencesScan = (...a) => loadEvalCommands().then((m) => m.defencesScan(...a));
188
188
  var evalReport = (...a) => loadEvalCommands().then((m) => m.evalReport(...a));
189
189
  var evalRun = (...a) => loadEvalCommands().then((m) => m.evalRun(...a));
190
- var loadU1Commands = () => import("./chunk-WLIIQ2A4.js");
190
+ var loadU1Commands = () => import("./chunk-KY2ZHTBJ.js");
191
191
  var conformanceCommand = (...a) => loadU1Commands().then((m) => m.conformanceCommand(...a));
192
- var loadReleaseCommands = () => import("./chunk-DAQBIK5G.js");
192
+ var loadReleaseCommands = () => import("./chunk-GFZ5MIQG.js");
193
193
  var outcomeList = (...a) => loadReleaseCommands().then((m) => m.outcomeList(...a));
194
194
  var outcomeRecord = (...a) => loadReleaseCommands().then((m) => m.outcomeRecord(...a));
195
195
  var releaseEvidenceCommand = (...a) => loadReleaseCommands().then((m) => m.releaseEvidenceCommand(...a));
@@ -197,9 +197,9 @@ var releaseForecastCommand = (...a) => loadReleaseCommands().then((m) => m.relea
197
197
  var releaseNotesCommand = (...a) => loadReleaseCommands().then((m) => m.releaseNotesCommand(...a));
198
198
  var releasePlanCommand = (...a) => loadReleaseCommands().then((m) => m.releasePlanCommand(...a));
199
199
  var releaseSecurityCommand = (...a) => loadReleaseCommands().then((m) => m.releaseSecurityCommand(...a));
200
- var loadUiCommands = () => import("./chunk-TM7LC37P.js");
200
+ var loadUiCommands = () => import("./chunk-SAC6FNKR.js");
201
201
  var uiCommand = (...a) => loadUiCommands().then((m) => m.uiCommand(...a));
202
- var loadCriticCommands = () => import("./chunk-62YMDXY6.js");
202
+ var loadCriticCommands = () => import("./chunk-YURIUFKF.js");
203
203
  var critic = (...a) => loadCriticCommands().then((m) => m.critic(...a));
204
204
  var criticStats = (...a) => loadCriticCommands().then((m) => m.criticStats(...a));
205
205
  var findingAction = (...a) => loadCriticCommands().then((m) => m.findingAction(...a));
@@ -214,7 +214,7 @@ var featureSpec = (...a) => loadFeatureCommands().then((m) => m.featureSpec(...a
214
214
  var featureSplit = (...a) => loadFeatureCommands().then((m) => m.featureSplit(...a));
215
215
  var featureSuggestLinks = (...a) => loadFeatureCommands().then((m) => m.featureSuggestLinks(...a));
216
216
  var featureTag = (...a) => loadFeatureCommands().then((m) => m.featureTag(...a));
217
- var loadChangeCommands = () => import("./chunk-7DUDLVFJ.js");
217
+ var loadChangeCommands = () => import("./chunk-2VQLFNBO.js");
218
218
  var changeArchive = (...a) => loadChangeCommands().then((m) => m.changeArchive(...a));
219
219
  var changeConflicts = (...a) => loadChangeCommands().then((m) => m.changeConflicts(...a));
220
220
  var changeHandoff = (...a) => loadChangeCommands().then((m) => m.changeHandoff(...a));
@@ -224,33 +224,33 @@ var changeReturn = (...a) => loadChangeCommands().then((m) => m.changeReturn(...
224
224
  var changeStatus = (...a) => loadChangeCommands().then((m) => m.changeStatus(...a));
225
225
  var changeSync = (...a) => loadChangeCommands().then((m) => m.changeSync(...a));
226
226
  var changeLearn = (...a) => loadChangeCommands().then((m) => m.changeLearn(...a));
227
- var loadDialectCommands = () => import("./chunk-DDAHCPGA.js");
227
+ var loadDialectCommands = () => import("./chunk-MNCQ2GL7.js");
228
228
  var dialectGrade = (...a) => loadDialectCommands().then((m) => m.dialectGrade(...a));
229
229
  var dialectKit = (...a) => loadDialectCommands().then((m) => m.dialectKit(...a));
230
230
  var dialectTree = (...a) => loadDialectCommands().then((m) => m.dialectTree(...a));
231
231
  var dialectNew = (...a) => loadDialectCommands().then((m) => m.dialectNew(...a));
232
232
  var dialectRun = (...a) => loadDialectCommands().then((m) => m.dialectRun(...a));
233
233
  var dialectTest = (...a) => loadDialectCommands().then((m) => m.dialectTest(...a));
234
- var loadPluginCommands = () => import("./chunk-FR7JPYBD.js");
234
+ var loadPluginCommands = () => import("./chunk-SNSFQ47W.js");
235
235
  var pluginTest = (...a) => loadPluginCommands().then((m) => m.pluginTest(...a));
236
236
  var pluginPin = (...a) => loadPluginCommands().then((m) => m.pluginPin(...a));
237
237
  var pluginAdd = (...a) => loadPluginCommands().then((m) => m.pluginAdd(...a));
238
- var loadFrameworkCommands = () => import("./chunk-7GB4ZRE2.js");
238
+ var loadFrameworkCommands = () => import("./chunk-ZBQCLKTH.js");
239
239
  var frameworksCheck = (...a) => loadFrameworkCommands().then((m) => m.frameworksCheck(...a));
240
240
  var frameworksDiscover = (...a) => loadFrameworkCommands().then((m) => m.frameworksDiscover(...a));
241
241
  var frameworksKit = (...a) => loadFrameworkCommands().then((m) => m.frameworksKit(...a));
242
242
  var frameworksLearn = (...a) => loadFrameworkCommands().then((m) => m.frameworksLearn(...a));
243
243
  var frameworksSurvey = (...a) => loadFrameworkCommands().then((m) => m.frameworksSurvey(...a));
244
- var loadOnboardCommands = () => import("./chunk-LDKUC2QJ.js");
244
+ var loadOnboardCommands = () => import("./chunk-GLSNVC67.js");
245
245
  var onboardAccept = (...a) => loadOnboardCommands().then((m) => m.onboardAccept(...a));
246
246
  var onboardCheck = (...a) => loadOnboardCommands().then((m) => m.onboardCheck(...a));
247
247
  var onboardDraft = (...a) => loadOnboardCommands().then((m) => m.onboardDraft(...a));
248
248
  var scanReview = (...a) => loadOnboardCommands().then((m) => m.scanReview(...a));
249
249
  var scanSurvey = (...a) => loadOnboardCommands().then((m) => m.scanSurvey(...a));
250
- var loadRepoTypeCommands = () => import("./chunk-HB6XSGI6.js");
251
- var loadRepoCommands = () => import("./chunk-T4RTWMJD.js");
252
- var loadSpecCommands = () => import("./chunk-CRE4BJHM.js");
253
- var loadEstateCommands = () => import("./chunk-VKMTFIWS.js");
250
+ var loadRepoTypeCommands = () => import("./chunk-5M3CLAOV.js");
251
+ var loadRepoCommands = () => import("./chunk-ZYASEL7K.js");
252
+ var loadSpecCommands = () => import("./chunk-NL6XQZSV.js");
253
+ var loadEstateCommands = () => import("./chunk-AYVLEB55.js");
254
254
  var onboardEval = (...a) => loadOnboardCommands().then((m) => m.onboardEval(...a));
255
255
  var onboardFramework = (...a) => loadOnboardCommands().then((m) => m.onboardFramework(...a));
256
256
  var onboardFrameworkAccept = (...a) => loadOnboardCommands().then((m) => m.onboardFrameworkAccept(...a));
@@ -276,7 +276,10 @@ Usage:
276
276
  [--gaps] Plan a second pass on what the last verify left (files no fact cites, skipped lines, spec operations, entries no flow follows) for a new chat, sized to the session: writes facts/<repo>.gaps.md (ADR 0157)
277
277
  [--copy] Print the next batch's prompt to paste into a chat
278
278
  [--answer <file>] With --copy: read the pasted answer back from a file (- for stdin)
279
+ [--gaps --part n] With --gaps: only what is left of part n of the read plan, for a read that stopped in it (ADR 0161); /atticus-map <repo> --part n --gaps in a new chat reads it
280
+ [--rules] Top up a repo read before reading rules added since (estate fresh says rules-changed): only the rule parts its read lacked, over the files they apply to, the facts kept listed by id; writes facts/<repo>.rules.md for a new chat (/atticus-map <repo> --rules), or reads it in batches with --mode or --handoff; once verify passes the read records the rules (ADR 0167)
279
281
  [--spent <tokens>] [--sessions n] [--part n] Record what the read took as your assistant reports it, in facts/<repo>.read-plan.yaml beside --estimate's estimate (Atticus can't meter an assistant's tokens; ADR 0141)
282
+ atticus map --all Map or re-map the whole estate in one command (ADR 0161): every repo's read planned at the model's limit, in the onboarding queue's order, fresh repos skipped, and repos read before the reading rules there are now topped up for the new rules only (ADR 0167). Under Copilot you paste one line per part into a new chat and Atticus waits for the facts, verifies them and moves on (s skip, r retry what's left, q stop; it resumes); where runtime.yaml allows model mode it runs unattended. Then the estate is joined once [--max-tokens n] [--stale | --gaps] [--repos a,b] [--dry-run] [--mode model|hand-off] [--max-parts n] [--budget-tokens n] [--idle minutes]
280
283
  atticus verify <repo> Check the facts your assistant wrote for a repo (/atticus-map) against its code: the claim on each cited line, the quote, references, secrets, coverage; raises the questions it wrote for a person; rejected facts go back to the assistant (ADR 0124) [--dir path] [--commit sha] [--routed a,b] [--skipped] [--json]
281
284
  [--write] When nothing is rejected: put the facts in the catalog, the flows in specs/<repo>/, ask about calls nothing joins, and render the map
282
285
  [--verbose] With --write: list every record changed and flow written, not only the counts
@@ -296,9 +299,13 @@ Usage:
296
299
  atticus join shared refresh [<team>] [<folder>] Import a team's map again from where it came from (a folder inside the metarepo), or the folder given (needed when it was outside); a newer commit replaces the old [--commit <sha>]
297
300
  atticus join shared list [--json] The shared maps on file: whose, for which system, their commit and entries
298
301
  atticus estate shared import|refresh|list The same as join shared
299
- atticus estate fresh [--all] [--json] Which repos' clones have moved past their facts' commit, most stale first: per repo the facts' commit, the clone's, the files changed that the facts cite, the facts to read again and the command to run; local git only, nothing fetched or written (--all lists the fresh ones too)
302
+ atticus join contracts [--json] Compare the payload on both sides of every link (REST calls, gateway hops, topics, calls to outside systems) from the field facts and the specs on file (a repo's own, a consumer's copy, a topic's .proto, Avro, JSON Schema or AsyncAPI, a vendor's or team's taken in through intake): missing and extra fields, required but not sent, types, error statuses, protobuf field numbers; a mapping nobody traced is unconfirmed, never a mismatch; reads files only (ADR 0164)
303
+ atticus estate contracts [--json] The same as join contracts
304
+ atticus estate fresh [--all] [--json] Which repos' clones have moved past their facts' commit, most stale first: per repo the facts' commit, the clone's, the files changed that the facts cite, the facts to read again and the command to run; local git only, nothing fetched or written (--all lists the fresh ones too); a repo whose facts are fresh but read before reading rules added since is rules-changed, with its top-up command (ADR 0167)
300
305
  atticus repo-type detect <repo> [--json] Match a repo against the org pack's repo types by fingerprint, with the evidence for each signal
301
306
  atticus repo-type new <id> --from <repo> [--force] Draft a repo type from a repo (its build files, dependencies, markers, folders) for you to edit
307
+ atticus repo-type note <type> | --org-wide [--add "..."] List a repo type's notes (or the org-wide ones), or add one: what the organisation's terms mean and what must hold, in its own words; each read of a repo is handed them
308
+ atticus repo-type rules [--save] [--json] Draft a checklist rule (status draft) from each note that reads as a rule (all, every, must); --save adds the new drafts to org-pack/checklists/org-notes.yaml for review
302
309
  atticus scan review <repo> What the last scan couldn't read: your assistant gives a verdict on each gap and a rule for code it can read; checked [--gaps] [--attempts 3]
303
310
  atticus query "<query>" Find records, e.g. "kind:interface via:gateway -has:pattern"
304
311
  atticus query "<words>" --search Search everything the index holds (records, knowledge items, flows, changes, answered questions, wiki sections, documents), names and ids first [--by words|meaning|both] [--kind k,k] [--limit n] [--json]
@@ -319,6 +326,7 @@ Usage:
319
326
  atticus setup [--json] The setup checklist until the catalog is accepted, with a fix for each step
320
327
  atticus baseline Accept the as-is catalog as the baseline [--note text] [--site dir]
321
328
  atticus doctor [--json] Check this machine: Node, Git, OpenSpec, proxy, TLS, disk, port, assistant, and the tier your assistant reads a repo at
329
+ atticus doctor --counts [--json] How far the map has got, in counts and flags only (questions, target questions by the calls each covers, links by how joined, asked and unresolved calls by why the join left them, repos read and stale, facts, tokens reported): nothing named, safe to paste
322
330
  atticus probe Measure what your assistant can do here (open a file, write one, run a command), so the tier it reads a repo at is measured, not read off runtime.yaml; then /atticus-probe in the assistant (ADR 0124) [--assistant id] [--max-tokens n] [--json]
323
331
  atticus probe answer <code> Check the assistant's answer (none when it couldn't open the file) and keep what it measured in .atticus/probe/<assistant>.yaml, on this machine only [--pasted] [--max-tokens n] [--json]
324
332
  atticus secret set|check|forget <name> Keep a model provider's key in this machine's credential store under the name runtime.yaml gives as keyEnv; read from stdin, never printed
@@ -357,9 +365,11 @@ Usage:
357
365
  atticus questions list [--state open] [--mine] [--json] The questions in questions/ a step raised for a person,
358
366
  in the order to ask them, each with its owner team; --mine, your teams' only
359
367
  atticus questions show <id> [--json] One question on file, with its options, evidence and answer
368
+ (--json on an open target or topics question adds its picks: every repo, system and team --target takes, for the editors' pickers; ADR 0166)
360
369
  atticus questions answer <id> --option <n> | --text "..." | --accept-proposal Write the answer to the file; prints the rerun
361
370
  [--scope repo|repo-type] [--type <repo type>] [--by who] (--accept-proposal: the assistant's proposed answer, checked again, as yours)
362
371
  [--match <host pattern or /path/**>] (a target or hosts answer by rule: it covers every call that matches, the calls found later too)
372
+ [--target <id> [--add-system vendor|internal] [--name "..."]] (where a call goes: any repo of the manifest, read or not, any system of the profile or a team in roles.yaml; a vendor or a team with no system yet is added to the profile with --add-system, a file change for review; ADR 0162)
363
373
  atticus questions proposed [--json] The answers /atticus-propose proposed for open questions, each citation checked (the file, the line, the quote on it); exits 1 while one doesn't check
364
374
  atticus questions sheet [--out <file>] Every open question in one YAML answer sheet, each with an empty answer:, to answer in one sitting
365
375
  atticus questions sheet --apply <file> [--by who] [--json] Answer each filled entry as you; skips blanks, refuses one whose question changed since
@@ -673,6 +683,8 @@ var OPTIONS = {
673
683
  sessions: { type: "string" },
674
684
  part: { type: "string" },
675
685
  queue: { type: "boolean" },
686
+ // F10: atticus doctor --counts.
687
+ counts: { type: "boolean" },
676
688
  version: { type: "boolean", short: "v" },
677
689
  fix: { type: "boolean" },
678
690
  root: { type: "string" },
@@ -685,6 +697,13 @@ var OPTIONS = {
685
697
  draft: { type: "boolean" },
686
698
  story: { type: "string" },
687
699
  gaps: { type: "boolean" },
700
+ // ADR 0167: atticus map <repo> --rules, a top-up for reading rules added since a read.
701
+ rules: { type: "boolean" },
702
+ // ADR 0161: atticus map --all.
703
+ stale: { type: "boolean" },
704
+ "max-parts": { type: "string" },
705
+ "budget-tokens": { type: "string" },
706
+ idle: { type: "string" },
688
707
  full: { type: "boolean" },
689
708
  "dry-run": { type: "boolean" },
690
709
  json: { type: "boolean" },
@@ -845,7 +864,10 @@ var OPTIONS = {
845
864
  estimate: { type: "boolean" },
846
865
  next: { type: "boolean" },
847
866
  copy: { type: "boolean" },
848
- facts: { type: "string" }
867
+ facts: { type: "string" },
868
+ // ADR 0163: atticus repo-type note.
869
+ add: { type: "string" },
870
+ "org-wide": { type: "boolean" }
849
871
  };
850
872
  async function dispatchCommand(argv, io) {
851
873
  const { values, positionals } = parseArgs({
@@ -863,18 +885,18 @@ async function dispatchCommand(argv, io) {
863
885
  if (refused !== void 0)
864
886
  return refused;
865
887
  if (group === "help" || values.help || !group) {
866
- const { helpCommand } = await import("./chunk-FMKKVWZD.js");
888
+ const { helpCommand } = await import("./chunk-TQYBXDVH.js");
867
889
  return helpCommand(group === "help" ? positionals.slice(1) : positionals, HELP, io, {
868
890
  all: values.all === true
869
891
  });
870
892
  }
871
893
  if (group === "legacy") {
872
- const { legacyHelp } = await import("./chunk-FMKKVWZD.js");
894
+ const { legacyHelp } = await import("./chunk-TQYBXDVH.js");
873
895
  io.out(legacyHelp(HELP, { all: values.all === true }));
874
896
  return 0;
875
897
  }
876
898
  if (group === "commands") {
877
- const { AREAS, commandCatalog: commandCatalog2 } = await import("./chunk-OGRWQ562.js");
899
+ const { AREAS, commandCatalog: commandCatalog2 } = await import("./chunk-O6ILVBYB.js");
878
900
  const commands = commandCatalog2(HELP);
879
901
  if (values.json === true)
880
902
  io.out(JSON.stringify({ areas: AREAS, commands }, null, 2));
@@ -910,9 +932,9 @@ async function dispatchCommand(argv, io) {
910
932
  if (!runsNoAi(group, command))
911
933
  await setUpAi();
912
934
  if (group === "next")
913
- return (await import("./chunk-26PLPSQW.js")).nextCommand(root, { json: values.json === true, all: values.all === true, queue: values.queue === true }, io);
935
+ return (await import("./chunk-FMV6IZ3P.js")).nextCommand(root, { json: values.json === true, all: values.all === true, queue: values.queue === true }, io);
914
936
  if (values.handoff === true && (await import("./chunk-KQDZXGNR.js")).isHandoffStep(group, command))
915
- return (await import("./chunk-KIAI6PWL.js")).handoffStep(root, argv, io, dispatch);
937
+ return (await import("./chunk-QEZSA2O7.js")).handoffStep(root, argv, io, dispatch);
916
938
  const given = typeof values.by === "string" && values.by.trim() ? values.by : void 0;
917
939
  const person = !given && RECORDS_A_PERSON.has(group) ? await gitUser(root) : void 0;
918
940
  let warned = false;
@@ -927,7 +949,7 @@ async function dispatchCommand(argv, io) {
927
949
  };
928
950
  const repoIds = typeof values.repos === "string" ? values.repos.split(",").map((s) => s.trim()).filter(Boolean) : void 0;
929
951
  if (group === "change" && command === "needs" || group === "needs") {
930
- const handled = await (await import("./chunk-XNYNEEBR.js")).needsCli(root, positionals, values, io, who);
952
+ const handled = await (await import("./chunk-5GGGAI5C.js")).needsCli(root, positionals, values, io, who);
931
953
  if (handled !== void 0)
932
954
  return handled;
933
955
  }
@@ -951,7 +973,7 @@ async function dispatchCommand(argv, io) {
951
973
  }, io, run);
952
974
  }
953
975
  if (group === "runs") {
954
- const m = await import("./chunk-E3Z67HRK.js");
976
+ const m = await import("./chunk-3256EDLL.js");
955
977
  if (command === "show") {
956
978
  const id = positionals[2];
957
979
  if (!id) {
@@ -972,7 +994,7 @@ async function dispatchCommand(argv, io) {
972
994
  }, io);
973
995
  }
974
996
  if (group === "history") {
975
- const m = await import("./chunk-BDEKREZH.js");
997
+ const m = await import("./chunk-Z2BA4NNR.js");
976
998
  const text = (v) => typeof v === "string" && v.trim() ? v : void 0;
977
999
  if (command === "add") {
978
1000
  if (process.stdin.isTTY) {
@@ -1016,7 +1038,7 @@ async function dispatchCommand(argv, io) {
1016
1038
  return handled;
1017
1039
  }
1018
1040
  if (group === "repo" && command === "rename") {
1019
- const { repoRename } = await import("./chunk-2HMWX4T6.js");
1041
+ const { repoRename } = await import("./chunk-6ENDKY52.js");
1020
1042
  return repoRename(root, positionals[2], positionals[3], io);
1021
1043
  }
1022
1044
  if (group === "repo" && (command === "add" || command === "describe")) {
@@ -1042,6 +1064,17 @@ async function dispatchCommand(argv, io) {
1042
1064
  json: values.json === true
1043
1065
  }, io);
1044
1066
  }
1067
+ if (group === "repo-type" && command === "note") {
1068
+ const m = await loadRepoTypeCommands();
1069
+ return m.repoTypeNote(root, arg, {
1070
+ ...typeof values.add === "string" ? { add: values.add } : {},
1071
+ org: values["org-wide"] === true
1072
+ }, io);
1073
+ }
1074
+ if (group === "repo-type" && command === "rules") {
1075
+ const m = await loadRepoTypeCommands();
1076
+ return m.repoTypeRules(root, { write: values.save === true, json: values.json === true }, io);
1077
+ }
1045
1078
  if (group === "repo-type" && (command === "detect" || command === "new")) {
1046
1079
  const m = await loadRepoTypeCommands();
1047
1080
  const from = typeof values.from === "string" ? values.from : void 0;
@@ -1082,11 +1115,11 @@ async function dispatchCommand(argv, io) {
1082
1115
  }
1083
1116
  }
1084
1117
  if (group === "estate" && command === "fresh") {
1085
- const m = await import("./chunk-G5SFOH7P.js");
1118
+ const m = await import("./chunk-TLCRIAU3.js");
1086
1119
  return m.estateFresh(root, { json: values.json === true, all: values.all === true }, io);
1087
1120
  }
1088
1121
  if (group === "estate" && command === "shared") {
1089
- const m = await import("./chunk-YGR6OCHQ.js");
1122
+ const m = await import("./chunk-CXK27ZUY.js");
1090
1123
  const json2 = values.json === true;
1091
1124
  const text = (v) => typeof v === "string" && v.trim() ? v : void 0;
1092
1125
  if (arg === "import")
@@ -1108,8 +1141,12 @@ async function dispatchCommand(argv, io) {
1108
1141
  io.err("Usage: atticus join shared import|refresh|list (atticus help join)");
1109
1142
  return 2;
1110
1143
  }
1144
+ if (group === "estate" && command === "contracts") {
1145
+ const m = await import("./chunk-HKGQUOQ3.js");
1146
+ return m.joinContracts(root, { json: values.json === true }, io);
1147
+ }
1111
1148
  if (group === "estate" && command === "measure") {
1112
- const m = await import("./chunk-7EKESFWV.js");
1149
+ const m = await import("./chunk-U4NNG3ES.js");
1113
1150
  return m.joinMeasure(root, arg, { json: values.json === true }, io);
1114
1151
  }
1115
1152
  if (group === "estate" && (command === "join" || command === "flow" || command === "lineage")) {
@@ -1126,7 +1163,7 @@ async function dispatchCommand(argv, io) {
1126
1163
  return command === "flow" ? m.estateFlowCommand(root, arg, o, io) : m.estateLineage(root, arg, field, o, io);
1127
1164
  }
1128
1165
  if (group === "spec" && (command === "seed" || command === "accept")) {
1129
- const m = await import("./chunk-RRVT4MPS.js");
1166
+ const m = await import("./chunk-DPNCAFMB.js");
1130
1167
  if (!arg) {
1131
1168
  io.err(command === "seed" ? "Usage: atticus spec seed <repo> [--json]" : "Usage: atticus spec accept <repo> [--by you]");
1132
1169
  return 2;
@@ -1170,18 +1207,86 @@ async function dispatchCommand(argv, io) {
1170
1207
  io.err("Usage: atticus map render <repo> [--json]");
1171
1208
  return 2;
1172
1209
  }
1173
- const { mapRenderCommand } = await import("./chunk-KM2FBM3T.js");
1210
+ const { mapRenderCommand } = await import("./chunk-PVW2N63M.js");
1174
1211
  return mapRenderCommand(root, repo, { json: values.json === true }, io);
1175
1212
  }
1213
+ if (group === "map" && !command && values.all === true) {
1214
+ const text = (v) => typeof v === "string" ? v : void 0;
1215
+ const count = (flag) => {
1216
+ const raw = text(values[flag]);
1217
+ if (raw === void 0)
1218
+ return void 0;
1219
+ const n = Number(raw);
1220
+ return Number.isInteger(n) && n > 0 ? n : NaN;
1221
+ };
1222
+ const numbers = {
1223
+ maxParts: count("max-parts"),
1224
+ budgetTokens: count("budget-tokens"),
1225
+ idle: count("idle")
1226
+ };
1227
+ for (const [k, v] of Object.entries(numbers))
1228
+ if (Number.isNaN(v)) {
1229
+ io.err(`--${k === "maxParts" ? "max-parts" : k === "budgetTokens" ? "budget-tokens" : "idle"} is a whole number above 0.`);
1230
+ return 2;
1231
+ }
1232
+ const asked = text(values.mode);
1233
+ if (asked && !["model", "hand-off", "copilot"].includes(asked)) {
1234
+ io.err("atticus map --all takes --mode model or --mode hand-off (Copilot Chat, a line pasted per part).");
1235
+ return 2;
1236
+ }
1237
+ const { mapAllCommand } = await import("./chunk-5OACMWWI.js");
1238
+ const { copyToClipboard } = await import("./chunk-S5LSDXV4.js");
1239
+ const typed = [];
1240
+ const { createInterface } = await import("node:readline");
1241
+ const rl = process.stdin.readable ? createInterface({ input: process.stdin, terminal: false }) : void 0;
1242
+ rl?.on("line", (l) => typed.push(l));
1243
+ const ac = new AbortController();
1244
+ const onInt = () => {
1245
+ if (ac.signal.aborted)
1246
+ process.exit(130);
1247
+ ac.abort();
1248
+ io.err("Stopping after this step (Ctrl+C again stops at once)...");
1249
+ };
1250
+ process.on("SIGINT", onInt);
1251
+ try {
1252
+ return await mapAllCommand(root, {
1253
+ ...text(values.repos) ? {
1254
+ repos: text(values.repos).split(",").map((x) => x.trim()).filter(Boolean)
1255
+ } : {},
1256
+ stale: values.stale === true,
1257
+ gaps: values.gaps === true,
1258
+ dryRun: values["dry-run"] === true,
1259
+ json: values.json === true,
1260
+ ...asked ? { mode: asked === "model" ? "model" : "copilot" } : {},
1261
+ ...numbers.maxParts ? { maxParts: numbers.maxParts } : {},
1262
+ ...numbers.budgetTokens ? { budgetTokens: numbers.budgetTokens } : {},
1263
+ ...numbers.idle ? { idleMinutes: numbers.idle } : {}
1264
+ }, io, {
1265
+ clipboard: copyToClipboard,
1266
+ input: { take: () => typed.shift() },
1267
+ signal: ac.signal,
1268
+ makeRuntime: async () => (await runtimeForCli(root, { mode: "model", handoffValidate: async () => [] })).runtime
1269
+ });
1270
+ } catch (e) {
1271
+ if (e instanceof (await loadAi()).RuntimeConfigError) {
1272
+ io.err(e.message);
1273
+ return 2;
1274
+ }
1275
+ throw e;
1276
+ } finally {
1277
+ process.off("SIGINT", onInt);
1278
+ rl?.close();
1279
+ }
1280
+ }
1176
1281
  if (group === "map") {
1177
1282
  const repo = command;
1178
1283
  if (!repo) {
1179
- io.err("Usage: atticus map <repo> [--estimate | --gaps] [--handoff | --copy [--answer <file>] | --mode m] [--next] [--max-tokens n] [--force]");
1284
+ io.err("Usage: atticus map <repo> [--estimate | --gaps [--part n] | --rules] [--handoff | --copy [--answer <file>] | --mode m] [--next] [--max-tokens n] [--force], or atticus map --all [--stale | --gaps] [--repos a,b] [--dry-run] [--max-tokens n]");
1180
1285
  return 2;
1181
1286
  }
1182
1287
  const text = (v) => typeof v === "string" ? v : void 0;
1183
1288
  if (values.spent !== void 0 || values.sessions !== void 0) {
1184
- const { mapSpent } = await import("./chunk-N3NBWIYQ.js");
1289
+ const { mapSpent } = await import("./chunk-VRYQJZFL.js");
1185
1290
  return mapSpent(root, repo, {
1186
1291
  ...text(values.spent) !== void 0 ? { spent: text(values.spent) } : {},
1187
1292
  ...text(values.sessions) !== void 0 ? { sessions: text(values.sessions) } : {},
@@ -1189,7 +1294,7 @@ async function dispatchCommand(argv, io) {
1189
1294
  ...text(values.by) ? { by: text(values.by) } : {}
1190
1295
  }, io);
1191
1296
  }
1192
- const { mapCommand } = await import("./chunk-FJCFYKVO.js");
1297
+ const { mapCommand } = await import("./chunk-RZWZO2JQ.js");
1193
1298
  const o = {
1194
1299
  ...text(values.dir) ? { dir: resolve(text(values.dir)) } : {},
1195
1300
  ...text(values.commit) ? { commit: text(values.commit) } : {},
@@ -1197,12 +1302,15 @@ async function dispatchCommand(argv, io) {
1197
1302
  ...text(values.answer) !== void 0 ? { answer: text(values.answer) } : {},
1198
1303
  estimate: values.estimate === true,
1199
1304
  gaps: values.gaps === true,
1305
+ rules: values.rules === true,
1306
+ // ADR 0161: with --gaps, the rest of one part of the read plan.
1307
+ ...values.gaps === true && Number.isInteger(Number(text(values.part))) && Number(text(values.part)) > 0 ? { part: Number(text(values.part)) } : {},
1200
1308
  next: values.next === true,
1201
1309
  force: values.force === true,
1202
1310
  copy: values.copy === true,
1203
1311
  json: values.json === true
1204
1312
  };
1205
- if (o.estimate || o.gaps)
1313
+ if (o.estimate || o.gaps || o.rules && !o.copy && !text(values.mode))
1206
1314
  return mapCommand(root, repo, o, io);
1207
1315
  try {
1208
1316
  const { runtime } = await runtimeForCli(root, {
@@ -1240,7 +1348,7 @@ async function dispatchCommand(argv, io) {
1240
1348
  const repo = v.positionals[1];
1241
1349
  const text = (x) => typeof x === "string" ? x : void 0;
1242
1350
  if (repo === "audit" && (v.positionals[2] || v.values.report === true)) {
1243
- const { auditCommand } = await import("./chunk-MTEBM4Y4.js");
1351
+ const { auditCommand } = await import("./chunk-Z47YGBUY.js");
1244
1352
  const ids = (x) => text(x)?.split(",").map((y) => y.trim()).filter(Boolean);
1245
1353
  const size = Number(text(v.values.size));
1246
1354
  const interactive = process.stdin.isTTY && v.values.json !== true;
@@ -1269,7 +1377,7 @@ async function dispatchCommand(argv, io) {
1269
1377
  }
1270
1378
  }
1271
1379
  if (!repo && v.values.all === true) {
1272
- const { verifyAllCommand } = await import("./chunk-YIEOFHOL.js");
1380
+ const { verifyAllCommand } = await import("./chunk-NWL7XEQ4.js");
1273
1381
  return verifyAllCommand(text(v.values.root) ? resolve(text(v.values.root)) : root, {
1274
1382
  ...v.values.write === true ? { write: true } : {},
1275
1383
  ...v.values.verbose === true ? { verbose: true } : {}
@@ -1279,7 +1387,7 @@ async function dispatchCommand(argv, io) {
1279
1387
  io.err("Usage: atticus verify <repo> [--write [--verbose]] [--dir path] [--commit sha] [--routed a,b] [--skipped] [--json], or atticus verify --all [--write]");
1280
1388
  return 2;
1281
1389
  }
1282
- const { verifyCommand } = await import("./chunk-YIEOFHOL.js");
1390
+ const { verifyCommand } = await import("./chunk-NWL7XEQ4.js");
1283
1391
  return verifyCommand(
1284
1392
  // The first reading took --write's next word as its value, so a --root right after it
1285
1393
  // was lost; this reading has --write as a switch.
@@ -1374,7 +1482,7 @@ async function dispatchCommand(argv, io) {
1374
1482
  if (group === "cites") {
1375
1483
  const given2 = (v) => typeof v === "string" && v.trim() ? v.trim() : void 0;
1376
1484
  const [repo, path, file] = [given2(values.repo), given2(values.path), given2(values.file)];
1377
- return (await import("./chunk-B2VSVN4P.js")).citesCli(root, {
1485
+ return (await import("./chunk-VP5H6DII.js")).citesCli(root, {
1378
1486
  ...repo ? { repo } : {},
1379
1487
  ...path ? { path } : {},
1380
1488
  ...file ? { file: resolve(file) } : {},
@@ -1382,13 +1490,15 @@ async function dispatchCommand(argv, io) {
1382
1490
  }, io);
1383
1491
  }
1384
1492
  if (group === "watch")
1385
- return (await import("./chunk-52R2YXP5.js")).watchCommand(root, command, { off: values.off === true, json: values.json === true }, io);
1493
+ return (await import("./chunk-O5W4ECUY.js")).watchCommand(root, command, { off: values.off === true, json: values.json === true }, io);
1386
1494
  if (group === "setup" && !command)
1387
1495
  return setupCommand(root, { json: values.json === true }, io);
1496
+ if (group === "doctor" && values.counts === true)
1497
+ return (await import("./chunk-CJXM6SG4.js")).doctorCountsCommand(root, { json: values.json === true }, io);
1388
1498
  if (group === "doctor")
1389
1499
  return doctorCommand(root, { json: values.json === true }, io);
1390
1500
  if (group === "probe") {
1391
- const { probeCommand, probeAnswerCommand } = await import("./chunk-PEF5OEMB.js");
1501
+ const { probeCommand, probeAnswerCommand } = await import("./chunk-DWN7RSNQ.js");
1392
1502
  const max = typeof values["max-tokens"] === "string" ? Number(values["max-tokens"]) : void 0;
1393
1503
  const json2 = values.json === true;
1394
1504
  if (command === "answer")
@@ -1441,7 +1551,7 @@ async function dispatchCommand(argv, io) {
1441
1551
  return askCommand(root, command, { json: values.json === true }, io);
1442
1552
  }
1443
1553
  if (group === "context") {
1444
- const m = await import("./chunk-WGZWR4RF.js");
1554
+ const m = await import("./chunk-6ROZRBWH.js");
1445
1555
  const target = positionals[2];
1446
1556
  const csv = (v) => typeof v === "string" ? v.split(",").map((k) => k.trim()).filter(Boolean) : void 0;
1447
1557
  if (command === "tools")
@@ -1556,7 +1666,7 @@ async function dispatchCommand(argv, io) {
1556
1666
  if (group === "index" && command === "rebuild")
1557
1667
  return indexRebuild(root, io);
1558
1668
  if (group === "index" && command === "embed")
1559
- return (await import("./chunk-EX6ZXS5K.js")).indexEmbed(root, io);
1669
+ return (await import("./chunk-EE3UNC44.js")).indexEmbed(root, io);
1560
1670
  if (group === "alias") {
1561
1671
  const target = positionals[2];
1562
1672
  if (!command || !target) {
@@ -1626,7 +1736,7 @@ async function dispatchCommand(argv, io) {
1626
1736
  if (group === "eval" && command === "report")
1627
1737
  return evalReport(root, { json }, io);
1628
1738
  if (group === "bench" && (command === "facts" || command === "stories")) {
1629
- const m = await import("./chunk-FTV6I76U.js");
1739
+ const m = await import("./chunk-NTTXTLCQ.js");
1630
1740
  return m.benchScoreCli(command, arg, values, io, root);
1631
1741
  }
1632
1742
  if (group === "bench" && (command === "fetch" || command === "run" || command === "survey" || command === "verify")) {
@@ -1678,7 +1788,7 @@ async function dispatchCommand(argv, io) {
1678
1788
  }, io);
1679
1789
  }
1680
1790
  if (group === "secret") {
1681
- const { secretCommand } = await import("./chunk-ILFKECGI.js");
1791
+ const { secretCommand } = await import("./chunk-QXGOEP44.js");
1682
1792
  return secretCommand(positionals.slice(1), io);
1683
1793
  }
1684
1794
  if (group === "conformance") {
@@ -1873,9 +1983,9 @@ async function dispatchCommand(argv, io) {
1873
1983
  }, io);
1874
1984
  }
1875
1985
  if (group === "task" && command === "context")
1876
- return (await import("./chunk-Y7KBQ4BD.js")).taskContextCli(root, arg, positionals[3], { json, markdown: values.markdown === true }, io);
1986
+ return (await import("./chunk-Q55UP5EZ.js")).taskContextCli(root, arg, positionals[3], { json, markdown: values.markdown === true }, io);
1877
1987
  if (group === "change" && command === "attach")
1878
- return (await import("./chunk-Y7KBQ4BD.js")).changeAttachCli(root, arg, positionals.slice(3), {
1988
+ return (await import("./chunk-Q55UP5EZ.js")).changeAttachCli(root, arg, positionals.slice(3), {
1879
1989
  by: who(),
1880
1990
  json,
1881
1991
  ...typeof values.replaces === "string" && values.replaces.trim() ? { replaces: values.replaces.trim() } : {},
@@ -2002,7 +2112,7 @@ async function dispatchCommand(argv, io) {
2002
2112
  io.err('finding needs a change, a finding id and an action, for example: atticus finding add-transfer-limit f-1 not-relevant --reason "..."');
2003
2113
  return 2;
2004
2114
  }
2005
- const session = given ? void 0 : (await import("./chunk-ZONE6E3Z.js")).assistantSession(process.env);
2115
+ const session = given ? void 0 : (await import("./chunk-7UKETVPW.js")).assistantSession(process.env);
2006
2116
  if (session)
2007
2117
  io.err(`Recorded as ${session.by}: ${session.because}.`);
2008
2118
  return findingAction(root, command, findingId, action, {
@@ -2029,11 +2139,11 @@ async function dispatchCommand(argv, io) {
2029
2139
  ...str(values.impact) ? { impact: str(values.impact) } : {}
2030
2140
  }, io);
2031
2141
  if (command === "impact") {
2032
- const { changeImpactCli } = await import("./chunk-JAA53T23.js");
2142
+ const { changeImpactCli } = await import("./chunk-F6FGIYPT.js");
2033
2143
  return changeImpactCli(root, arg, { json }, io);
2034
2144
  }
2035
2145
  if (command === "similar") {
2036
- const { changeSimilarCli } = await import("./chunk-MF7QH4AX.js");
2146
+ const { changeSimilarCli } = await import("./chunk-P6UJ22XR.js");
2037
2147
  const limit = Number(str(values.limit) ?? 5);
2038
2148
  return changeSimilarCli(root, arg, {
2039
2149
  json,
@@ -2044,7 +2154,7 @@ async function dispatchCommand(argv, io) {
2044
2154
  if (command === "list")
2045
2155
  return changeList(root, { json }, io);
2046
2156
  if (command === "export") {
2047
- const { changeExportCommand } = await import("./chunk-FEZE6NIA.js");
2157
+ const { changeExportCommand } = await import("./chunk-6JV3YHRR.js");
2048
2158
  const named = positionals[3];
2049
2159
  const fmt = str(values.format) ?? (named === "ado" || named === "jira" ? named : void 0);
2050
2160
  return changeExportCommand(root, arg, {
@@ -2061,7 +2171,7 @@ async function dispatchCommand(argv, io) {
2061
2171
  io.err("change conform needs a change id, for example: atticus change conform add-transfer-limit");
2062
2172
  return 2;
2063
2173
  }
2064
- const { changeConformCommand } = await import("./chunk-3QAKDIEU.js");
2174
+ const { changeConformCommand } = await import("./chunk-VLDM4QZM.js");
2065
2175
  return changeConformCommand(root, arg, {
2066
2176
  ...str(values.repo) ? { repo: str(values.repo) } : {},
2067
2177
  ...str(values.ref) ? { ref: str(values.ref) } : {},
@@ -2075,7 +2185,7 @@ async function dispatchCommand(argv, io) {
2075
2185
  io.err("change estimate needs a change id, for example: atticus change estimate add-transfer-limit");
2076
2186
  return 2;
2077
2187
  }
2078
- const { changeEstimateCommand } = await import("./chunk-2M6WXO73.js");
2188
+ const { changeEstimateCommand } = await import("./chunk-ZGI7DNJ6.js");
2079
2189
  return changeEstimateCommand(root, arg, { json }, io);
2080
2190
  }
2081
2191
  if (command === "map") {
@@ -2083,7 +2193,7 @@ async function dispatchCommand(argv, io) {
2083
2193
  io.err("change map needs a change id, for example: atticus change map add-transfer-limit");
2084
2194
  return 2;
2085
2195
  }
2086
- const { changeMapCommand } = await import("./chunk-XPCWQXTY.js");
2196
+ const { changeMapCommand } = await import("./chunk-76QVBNEM.js");
2087
2197
  return changeMapCommand(root, arg, { ...str(values.format) ? { format: str(values.format) } : {}, json }, io);
2088
2198
  }
2089
2199
  if (command === "learn")
@@ -2103,7 +2213,7 @@ async function dispatchCommand(argv, io) {
2103
2213
  if (command === "status")
2104
2214
  return changeStatus(root, arg, { json }, io);
2105
2215
  if (command === "knowledge") {
2106
- const { changeKnowledge } = await import("./chunk-ZP4FJHR4.js");
2216
+ const { changeKnowledge } = await import("./chunk-NHS55U7T.js");
2107
2217
  return changeKnowledge(root, arg, {
2108
2218
  ...str(values.confirm) ? { confirm: str(values.confirm) } : {},
2109
2219
  ...str(values.exclude) ? { exclude: str(values.exclude) } : {},
@@ -2137,7 +2247,7 @@ async function dispatchCommand(argv, io) {
2137
2247
  if (group === "intake" && command === "list")
2138
2248
  return intakeList(root, io, { json });
2139
2249
  if (group === "intake" && command === "traffic") {
2140
- const { intakeTraffic } = await import("./chunk-YPBQNJHA.js");
2250
+ const { intakeTraffic } = await import("./chunk-FBFSTYAB.js");
2141
2251
  return intakeTraffic(root, positionals[2] ?? "", {
2142
2252
  ...str(values.source) ? { source: str(values.source) } : {},
2143
2253
  ...str(values.from) ? { from: str(values.from) } : {},
@@ -2146,7 +2256,7 @@ async function dispatchCommand(argv, io) {
2146
2256
  }, io);
2147
2257
  }
2148
2258
  if (group === "intake" && command === "impact") {
2149
- const { intakeImpact } = await import("./chunk-SS66Q4VE.js");
2259
+ const { intakeImpact } = await import("./chunk-TH526O6E.js");
2150
2260
  return intakeImpact(root, positionals[2] ?? "", { json }, io);
2151
2261
  }
2152
2262
  if (group === "triage" && !command)
@@ -2401,7 +2511,7 @@ async function dispatchCommand(argv, io) {
2401
2511
  return sourcesRefreshCommand(root, { json }, io);
2402
2512
  if (group === "sources" && command === "estimate") {
2403
2513
  const bt = str(values["batch-tokens"]);
2404
- return (await import("./chunk-OSGQW2Z6.js")).sourcesEstimate(root, {
2514
+ return (await import("./chunk-3JLTN3Y7.js")).sourcesEstimate(root, {
2405
2515
  ...str(values.source) ? { source: str(values.source) } : {},
2406
2516
  ...bt && Number(bt) > 0 ? { batchTokens: Number(bt) } : {},
2407
2517
  ...values.full === true ? { full: true } : {},
@@ -2409,7 +2519,7 @@ async function dispatchCommand(argv, io) {
2409
2519
  }, io);
2410
2520
  }
2411
2521
  if (group === "standards")
2412
- return (await import("./chunk-OSGQW2Z6.js")).standardsCli(root, command, values, io);
2522
+ return (await import("./chunk-3JLTN3Y7.js")).standardsCli(root, command, values, io);
2413
2523
  if (group === "sources" && command === "sync")
2414
2524
  return sourcesSync(root, io, {
2415
2525
  json: values.json === true,
@@ -2428,19 +2538,19 @@ async function dispatchCommand(argv, io) {
2428
2538
  if (group === "reconcile")
2429
2539
  return reconcileCommand(root, positionals.slice(1), { json: values.json === true }, io);
2430
2540
  if (group === "orgpack" && (command === "draft" || command === "accept"))
2431
- return (await import("./chunk-CIUHAHM6.js")).orgPackDraftCli(root, command, arg, values, io);
2541
+ return (await import("./chunk-2A24BNRZ.js")).orgPackDraftCli(root, command, arg, values, io);
2432
2542
  if (group === "orgpack" && command === "owner")
2433
- return (await import("./chunk-GFXLPJWY.js")).orgPackOwnerCli(root, arg, io);
2543
+ return (await import("./chunk-WM4N2L4T.js")).orgPackOwnerCli(root, arg, io);
2434
2544
  if (group === "orgpack" && command === "validate")
2435
- return orgPackValidate(arg ? resolve(arg) : join((await import("./chunk-BJPMKJTL.js")).orgPackDirOf(root)), io);
2545
+ return orgPackValidate(arg ? resolve(arg) : join((await import("./chunk-OJAJXU65.js")).orgPackDirOf(root)), io);
2436
2546
  if (group === "stage" && command === "check")
2437
- return (await import("./chunk-BMCKL3VQ.js")).stageCheck(root, arg, positionals[3], positionals[4], io);
2547
+ return (await import("./chunk-TXV2AYZB.js")).stageCheck(root, arg, positionals[3], positionals[4], io);
2438
2548
  if (group === "handoff" && command === "done") {
2439
2549
  if (!arg) {
2440
2550
  io.err("handoff done needs the run id from the prompt, for example: atticus handoff done run-20261018060000-0001");
2441
2551
  return 2;
2442
2552
  }
2443
- if (await (await import("./chunk-F7YL2RZ4.js")).isTaskRun(root, arg))
2553
+ if (await (await import("./chunk-VF4VOPMB.js")).isTaskRun(root, arg))
2444
2554
  return taskHandoff(root, arg, {
2445
2555
  by: who(),
2446
2556
  approve: values.approve === true,
@@ -2453,7 +2563,7 @@ async function dispatchCommand(argv, io) {
2453
2563
  if (group === "openspec" && command === "check")
2454
2564
  return openspecCheck(root, io);
2455
2565
  if (group === "openspec") {
2456
- const { openspecRun } = await import("./chunk-YMOJD5BO.js");
2566
+ const { openspecRun } = await import("./chunk-VTMIRRIZ.js");
2457
2567
  return openspecRun(root, openspecArgsOf(argv), io);
2458
2568
  }
2459
2569
  if (group === "workspace" && command === "sync")
@@ -2467,7 +2577,7 @@ async function dispatchCommand(argv, io) {
2467
2577
  return workspaceOpen(root, arg, repoIds, io);
2468
2578
  return workspacePrune(root, arg, { all: values.all === true, force: values.force === true }, io);
2469
2579
  }
2470
- const { commandCatalog } = await import("./chunk-OGRWQ562.js");
2580
+ const { commandCatalog } = await import("./chunk-O6ILVBYB.js");
2471
2581
  const { nearestCommand } = await import("./chunk-4SKZDI62.js");
2472
2582
  const near = nearestCommand(positionals, commandCatalog(HELP).map((c) => c.id));
2473
2583
  io.err(`Unknown command: ${positionals.join(" ")}.${near ? ` Did you mean atticus ${near}?` : ""}`);
@@ -2480,7 +2590,7 @@ async function checkFlags(argv, positionals, io) {
2480
2590
  const quick = /* @__PURE__ */ new Set([...Object.keys(OPTIONS), ...QUESTION_FLAGS, "handoff"]);
2481
2591
  if (!unknownFlags(argv, quick).length)
2482
2592
  return void 0;
2483
- const { commandCatalog } = await import("./chunk-OGRWQ562.js");
2593
+ const { commandCatalog } = await import("./chunk-O6ILVBYB.js");
2484
2594
  const catalog = commandCatalog(HELP);
2485
2595
  const known = /* @__PURE__ */ new Set([
2486
2596
  ...quick,
@@ -2491,7 +2601,7 @@ async function checkFlags(argv, positionals, io) {
2491
2601
  return void 0;
2492
2602
  for (const m of unknownFlagMessages(unknown, known))
2493
2603
  io.err(m);
2494
- const { commandOf } = await import("./chunk-FMKKVWZD.js");
2604
+ const { commandOf } = await import("./chunk-TQYBXDVH.js");
2495
2605
  const id = commandOf(positionals, catalog.map((c) => c.id));
2496
2606
  io.err(id ? `atticus help ${id} lists what it takes. Nothing was run.` : "atticus help --all lists every command and what it takes. Nothing was run.");
2497
2607
  return 2;