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

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 (221) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-JQG4VO47.js → chunk-24ARIOB7.js} +1 -1
  3. package/dist/{chunk-5M3CLAOV.js → chunk-2DFYLFBL.js} +17 -17
  4. package/dist/{chunk-Z47YGBUY.js → chunk-2IFPJYBT.js} +19 -18
  5. package/dist/{chunk-LTLR4JZJ.js → chunk-2L5XV7QK.js} +10 -10
  6. package/dist/{chunk-6S27MUQQ.js → chunk-2UPMPTNJ.js} +4 -4
  7. package/dist/{chunk-ZPT4QX3J.js → chunk-2Y4EWUDF.js} +4 -4
  8. package/dist/{chunk-2A24BNRZ.js → chunk-34COONQ2.js} +7 -7
  9. package/dist/{chunk-P6UJ22XR.js → chunk-35FTAQDX.js} +4 -4
  10. package/dist/{chunk-WE5VMPUP.js → chunk-3BZR2M2H.js} +173 -142
  11. package/dist/{chunk-DONCF2XC.js → chunk-3DMXBIDW.js} +3 -3
  12. package/dist/{chunk-GUNBOZ75.js → chunk-3ENG33LV.js} +3 -3
  13. package/dist/{chunk-KUYA2E7M.js → chunk-3LWQYHID.js} +7 -7
  14. package/dist/{chunk-6ROZRBWH.js → chunk-3RQK5AWY.js} +4 -4
  15. package/dist/{chunk-34BCKMBS.js → chunk-4CPOXPS4.js} +3 -3
  16. package/dist/{chunk-BXP2Q4TD.js → chunk-4DRSRU4U.js} +22 -22
  17. package/dist/{chunk-U4NNG3ES.js → chunk-4M3OQM5V.js} +10 -10
  18. package/dist/{chunk-DW4BM73R.js → chunk-4Q6HX5GQ.js} +1 -1
  19. package/dist/{chunk-PVW2N63M.js → chunk-5BDBPV6V.js} +28 -28
  20. package/dist/{chunk-BRCDEGNE.js → chunk-5BVNNYU7.js} +1 -1
  21. package/dist/{chunk-AYVLEB55.js → chunk-5CIFSHTS.js} +17 -17
  22. package/dist/{chunk-OJAJXU65.js → chunk-5P766RED.js} +1 -1
  23. package/dist/{chunk-QAFMLBPF.js → chunk-5VZJX75P.js} +11 -11
  24. package/dist/{chunk-HJ52XDST.js → chunk-5WIH5VUB.js} +4 -4
  25. package/dist/{chunk-RA64IK43.js → chunk-5WJCV6ED.js} +1 -1
  26. package/dist/{chunk-2P6IHSRO.js → chunk-64BU3UUE.js} +16 -16
  27. package/dist/{chunk-3ZKLWM5Y.js → chunk-66VD3EHO.js} +10 -10
  28. package/dist/{chunk-3M7QBKKG.js → chunk-6FYKGYAO.js} +6 -6
  29. package/dist/{chunk-6JV3YHRR.js → chunk-6IFOKO2R.js} +17 -17
  30. package/dist/{chunk-2Q2YBAR5.js → chunk-6J2BWOLO.js} +11 -10
  31. package/dist/chunk-6VIQB6XT.js +37 -0
  32. package/dist/{chunk-4HTILEXW.js → chunk-6ZQOYNTT.js} +2 -2
  33. package/dist/{chunk-SGNHNN3G.js → chunk-73QQ3KWY.js} +11 -11
  34. package/dist/{chunk-TEHH47TG.js → chunk-767WN7BP.js} +3 -3
  35. package/dist/{chunk-VXSJKWB7.js → chunk-7CJ2TNZZ.js} +16 -16
  36. package/dist/{chunk-CWSZP2LU.js → chunk-7JA7XGWC.js} +24 -24
  37. package/dist/{chunk-4VOG5H2K.js → chunk-7OHYHBEQ.js} +1 -1
  38. package/dist/{chunk-EJDZEK22.js → chunk-7V3IIWMG.js} +23 -23
  39. package/dist/{chunk-XJRC3ZDI.js → chunk-7XYCCKGI.js} +12 -12
  40. package/dist/{chunk-Z2BA4NNR.js → chunk-7YZ6JPFR.js} +2 -2
  41. package/dist/{chunk-Q55UP5EZ.js → chunk-AAIAS55Y.js} +21 -21
  42. package/dist/{chunk-FAET4BB6.js → chunk-ACW2C7CY.js} +5 -5
  43. package/dist/{chunk-GFZ5MIQG.js → chunk-AODGV7YL.js} +23 -23
  44. package/dist/{chunk-HKGQUOQ3.js → chunk-AOPL3VT7.js} +15 -15
  45. package/dist/{chunk-ARLH2ZMD.js → chunk-AQPK22BH.js} +1 -1
  46. package/dist/{chunk-PGFRXGHA.js → chunk-ASCZ47XX.js} +2 -2
  47. package/dist/{chunk-6ENDKY52.js → chunk-AV2DVINC.js} +10 -10
  48. package/dist/{chunk-ITJ7ST5E.js → chunk-AVEKRWDF.js} +4 -4
  49. package/dist/{chunk-A5GY2EWH.js → chunk-BGASQ4UD.js} +11 -11
  50. package/dist/{chunk-5FFMJMVH.js → chunk-BLEZRUU5.js} +18 -18
  51. package/dist/chunk-BUJJLQ7C.js +41 -0
  52. package/dist/{chunk-EU7VTBAI.js → chunk-C43X7Y7O.js} +4 -4
  53. package/dist/{chunk-DGZXJO5I.js → chunk-CAH7L2QH.js} +7 -7
  54. package/dist/{chunk-36KD4OGC.js → chunk-CLDB6K2T.js} +13 -13
  55. package/dist/{chunk-BSVTNNUK.js → chunk-CV2Y7JQU.js} +5 -5
  56. package/dist/{chunk-RMLUZYEA.js → chunk-CW4OVNJF.js} +10 -10
  57. package/dist/{chunk-QXGOEP44.js → chunk-CXDUMI7E.js} +3 -3
  58. package/dist/{chunk-TLCRIAU3.js → chunk-D6CUQIU3.js} +20 -20
  59. package/dist/{chunk-OMH3I5BH.js → chunk-DDCK4CFE.js} +2 -2
  60. package/dist/{chunk-MLAACAES.js → chunk-DLSPFAC5.js} +349 -102
  61. package/dist/{chunk-PCCPXWJC.js → chunk-DRA2V4R4.js} +15 -15
  62. package/dist/{chunk-CQD26SMZ.js → chunk-E52MNV5B.js} +1 -1
  63. package/dist/{chunk-22GLUHGE.js → chunk-E53MN24E.js} +9 -9
  64. package/dist/{chunk-4RDW2X43.js → chunk-EHLZJPGF.js} +23 -23
  65. package/dist/{chunk-VF4VOPMB.js → chunk-EL4VOLGT.js} +22 -22
  66. package/dist/{chunk-ZBQCLKTH.js → chunk-EPTCDW3U.js} +11 -11
  67. package/dist/{chunk-VRYQJZFL.js → chunk-EUK4IONY.js} +15 -7
  68. package/dist/{chunk-FSJMFPA3.js → chunk-EWJ32DKS.js} +6 -6
  69. package/dist/{chunk-GKPOCUQR.js → chunk-FAAOOT34.js} +4 -4
  70. package/dist/{chunk-FBFSTYAB.js → chunk-FM56YGBC.js} +7 -7
  71. package/dist/chunk-FML6GOUB.js +45 -0
  72. package/dist/{chunk-SCBU46AJ.js → chunk-FR6J2NW5.js} +3 -3
  73. package/dist/{chunk-MRLCNXXR.js → chunk-FT2E2DHW.js} +1 -1
  74. package/dist/{chunk-CXY4YDXS.js → chunk-G3CY3PFO.js} +2 -2
  75. package/dist/{chunk-RZWZO2JQ.js → chunk-GFMOU6YM.js} +17 -16
  76. package/dist/{chunk-ZS47PQ3O.js → chunk-GGBEM27J.js} +3 -3
  77. package/dist/{chunk-DWN7RSNQ.js → chunk-GP3NGMWY.js} +3 -3
  78. package/dist/chunk-HEQ2YUFK.js +43 -0
  79. package/dist/{chunk-HJUEQERG.js → chunk-HFMLZFY4.js} +6 -6
  80. package/dist/{chunk-AEZ3EICK.js → chunk-HSLT4NZA.js} +19 -19
  81. package/dist/{chunk-ISXNWUG7.js → chunk-HZGTUG23.js} +1 -1
  82. package/dist/{chunk-3CFBU2O6.js → chunk-IPB6EKUH.js} +4 -4
  83. package/dist/{chunk-RLJDYLID.js → chunk-IRA6XAXY.js} +11 -11
  84. package/dist/{chunk-CW5SEPUT.js → chunk-IUKKHYEK.js} +6 -6
  85. package/dist/{chunk-VTMIRRIZ.js → chunk-IUWOOFPR.js} +2 -2
  86. package/dist/{chunk-O5W4ECUY.js → chunk-IVBSAKVG.js} +15 -15
  87. package/dist/{chunk-INCECZ2E.js → chunk-J347EH7F.js} +5 -5
  88. package/dist/{chunk-WEG7DY5K.js → chunk-J6FWM4VI.js} +9 -9
  89. package/dist/{chunk-YY2WGL6S.js → chunk-JARVXMUW.js} +2 -2
  90. package/dist/{chunk-72DY5NCN.js → chunk-JEZM3NRF.js} +2 -2
  91. package/dist/{chunk-SAC6FNKR.js → chunk-JFCTPPRA.js} +102 -101
  92. package/dist/chunk-JHISKJFN.js +48 -0
  93. package/dist/{chunk-UT5OA7KA.js → chunk-JLF4JIZ6.js} +10 -10
  94. package/dist/{chunk-XVIVWG7B.js → chunk-JLZPUCEC.js} +6 -6
  95. package/dist/{chunk-5GGGAI5C.js → chunk-JQHNT45I.js} +17 -17
  96. package/dist/{chunk-GMDOXWIS.js → chunk-JTI3FKGI.js} +4 -4
  97. package/dist/{chunk-CJXM6SG4.js → chunk-JW3ENKRI.js} +20 -20
  98. package/dist/{chunk-QJ3OX7OC.js → chunk-K2WOVID6.js} +31 -31
  99. package/dist/{chunk-VLDM4QZM.js → chunk-K7ICVNZ6.js} +22 -22
  100. package/dist/{chunk-PJRMMWU4.js → chunk-KDKLT22F.js} +2 -2
  101. package/dist/chunk-KLFPFMXV.js +38 -0
  102. package/dist/chunk-KLROTB6N.js +113 -0
  103. package/dist/{chunk-ZTIMXVV5.js → chunk-KMU7XNK3.js} +2 -2
  104. package/dist/chunk-KSAKVVOA.js +34 -0
  105. package/dist/{chunk-DDZZXVQ5.js → chunk-KTHFVH6T.js} +9 -9
  106. package/dist/{chunk-4Q2PGM5T.js → chunk-KZSIKS64.js} +60 -17
  107. package/dist/{chunk-3RP34PYV.js → chunk-LIRPXFA4.js} +17 -17
  108. package/dist/{chunk-B6X5PJSA.js → chunk-LNPS5GQ3.js} +9 -9
  109. package/dist/{chunk-WM4N2L4T.js → chunk-LO3NRDCE.js} +1 -1
  110. package/dist/{chunk-GN5ZLSLD.js → chunk-LQ5CEQFQ.js} +3 -3
  111. package/dist/{chunk-5ION6STH.js → chunk-LUBKMCTR.js} +2 -2
  112. package/dist/{chunk-MFRPLAOH.js → chunk-LURMCWUG.js} +2 -2
  113. package/dist/{chunk-U25OX22K.js → chunk-LZABEKI6.js} +3 -3
  114. package/dist/{chunk-I2PNEG3M.js → chunk-M2U3IZ54.js} +5 -5
  115. package/dist/chunk-M5NKIQKM.js +34 -0
  116. package/dist/{chunk-3JLTN3Y7.js → chunk-M63Z7PIB.js} +7 -7
  117. package/dist/{chunk-3256EDLL.js → chunk-MA43MHVR.js} +3 -3
  118. package/dist/{chunk-GLSNVC67.js → chunk-MPC5BQ6O.js} +16 -16
  119. package/dist/{chunk-HIQWJ6JZ.js → chunk-MT6GHEH5.js} +4 -4
  120. package/dist/{chunk-JLIEAQP4.js → chunk-N3Z5NFM4.js} +4 -4
  121. package/dist/{chunk-4HIQ2FTI.js → chunk-NAFPFQMJ.js} +4 -4
  122. package/dist/{chunk-J3VAFDEX.js → chunk-NTUHEHC6.js} +13 -13
  123. package/dist/chunk-O23JP5EA.js +54 -0
  124. package/dist/{chunk-JGLZUQVN.js → chunk-O775JVDM.js} +15 -15
  125. package/dist/{chunk-E73QLYK7.js → chunk-OAXCNACK.js} +3 -3
  126. package/dist/{chunk-47HPZ34V.js → chunk-OG42OLZK.js} +24 -24
  127. package/dist/{chunk-EREL3TQG.js → chunk-OHBNRL75.js} +1 -1
  128. package/dist/{chunk-ZYASEL7K.js → chunk-OKLXZ35H.js} +4 -4
  129. package/dist/{chunk-TIAPEYWI.js → chunk-OOQPEISI.js} +3 -3
  130. package/dist/{chunk-DPNCAFMB.js → chunk-OQPFFBPQ.js} +17 -17
  131. package/dist/{chunk-L4UIKAWD.js → chunk-OQTSTW2G.js} +6 -6
  132. package/dist/{chunk-TWHZU36X.js → chunk-OV3WHHRI.js} +1 -1
  133. package/dist/{chunk-SSL6JMPA.js → chunk-OYGY4DI2.js} +8 -8
  134. package/dist/{chunk-KNGESBFW.js → chunk-P44WNZXO.js} +15 -15
  135. package/dist/{chunk-CXK27ZUY.js → chunk-P4L435FY.js} +12 -12
  136. package/dist/{chunk-QEZSA2O7.js → chunk-PG5FIVP3.js} +16 -16
  137. package/dist/{chunk-U5T4A2QV.js → chunk-PI6KNUBW.js} +5 -5
  138. package/dist/{chunk-7VNEDDCC.js → chunk-PPCCFZG7.js} +2 -2
  139. package/dist/{chunk-SNSFQ47W.js → chunk-PPP75X5G.js} +11 -11
  140. package/dist/{chunk-TVSNWIAM.js → chunk-PQVZO25F.js} +3 -3
  141. package/dist/{chunk-NTNJNRHW.js → chunk-PR5X4SIJ.js} +4 -4
  142. package/dist/{chunk-NCONDPHH.js → chunk-PURVXI7L.js} +4 -4
  143. package/dist/{chunk-NHS55U7T.js → chunk-PWUVIOMW.js} +17 -17
  144. package/dist/{chunk-NWL7XEQ4.js → chunk-QBUHJ77Q.js} +18 -17
  145. package/dist/{chunk-FQ6IBYFC.js → chunk-QJWE44D4.js} +3 -3
  146. package/dist/{chunk-PKJ3K3GM.js → chunk-QLJ7KLO3.js} +5 -5
  147. package/dist/{chunk-JXXQHETS.js → chunk-QQLWNMLX.js} +10 -10
  148. package/dist/{chunk-MQHYCS6A.js → chunk-QUHSKUDF.js} +29 -27
  149. package/dist/{chunk-DQKNOHUZ.js → chunk-QXI64SJ4.js} +1 -1
  150. package/dist/{chunk-5OACMWWI.js → chunk-QZIAPAUG.js} +192 -65
  151. package/dist/{chunk-GHSVJNVL.js → chunk-R2A6DAPC.js} +6 -3
  152. package/dist/{chunk-MNUZX67F.js → chunk-R5DGXWOX.js} +5 -5
  153. package/dist/{chunk-CH6LUQLD.js → chunk-RA3TVBWK.js} +1 -1
  154. package/dist/{chunk-NTTXTLCQ.js → chunk-REFOPAZF.js} +24 -24
  155. package/dist/{chunk-2ELFEKOO.js → chunk-RICWZRBR.js} +4 -4
  156. package/dist/{chunk-77UOXZVM.js → chunk-RNUHS433.js} +5 -5
  157. package/dist/{chunk-YURIUFKF.js → chunk-RSAJ33C6.js} +15 -15
  158. package/dist/{chunk-7TEQF64E.js → chunk-S4EGGQZB.js} +164 -35
  159. package/dist/{chunk-2VQLFNBO.js → chunk-S6IJNQFM.js} +19 -19
  160. package/dist/{chunk-GYS64N6F.js → chunk-S6JXYEG4.js} +5 -5
  161. package/dist/{chunk-CIIRPLI6.js → chunk-SOLKTI2T.js} +4 -4
  162. package/dist/{chunk-TEZSZ24W.js → chunk-T34ITVSM.js} +4 -4
  163. package/dist/{chunk-BTOGAUWX.js → chunk-TDKSKJU3.js} +26 -11
  164. package/dist/{chunk-ENZWVTTN.js → chunk-TDQNBA2N.js} +20 -20
  165. package/dist/{chunk-NWXY3B4R.js → chunk-THLOT563.js} +22 -22
  166. package/dist/{chunk-MNCQ2GL7.js → chunk-THZXSH5O.js} +11 -11
  167. package/dist/{chunk-ESGIBN3S.js → chunk-TLTKLVZZ.js} +1 -1
  168. package/dist/{chunk-TH526O6E.js → chunk-U24UW3SV.js} +11 -11
  169. package/dist/{chunk-V3VCUSQ6.js → chunk-U55GKPUB.js} +14 -14
  170. package/dist/{chunk-Z53ZB34U.js → chunk-U7RMOCQQ.js} +7 -7
  171. package/dist/{chunk-34NWVIBC.js → chunk-UA4DLNV7.js} +2 -2
  172. package/dist/{chunk-7AXMUE2U.js → chunk-UELYGLNG.js} +14 -14
  173. package/dist/{chunk-SK5OYWIY.js → chunk-UGMJ3Z35.js} +2 -2
  174. package/dist/{chunk-NSJ6ZR2A.js → chunk-UOW37F7C.js} +3 -3
  175. package/dist/{chunk-4G56W6H7.js → chunk-V3P5ZJSO.js} +8 -8
  176. package/dist/{chunk-ZBOPIYOY.js → chunk-V5UZVS74.js} +11 -11
  177. package/dist/{chunk-NL6XQZSV.js → chunk-VK22DOCQ.js} +22 -22
  178. package/dist/{chunk-BZRWJUB4.js → chunk-VOZI4AFV.js} +14 -14
  179. package/dist/{chunk-V5XV3JSP.js → chunk-VZM535M5.js} +6 -6
  180. package/dist/{chunk-SHAAGH3T.js → chunk-WKVNT6DL.js} +14 -14
  181. package/dist/{chunk-P76AW3PA.js → chunk-WMCKOZFT.js} +84 -9
  182. package/dist/{chunk-7UKETVPW.js → chunk-WMWYW4WB.js} +1 -1
  183. package/dist/{chunk-DWYPYVPJ.js → chunk-WOWEF5DL.js} +13 -13
  184. package/dist/{chunk-LDUJ6NIT.js → chunk-WPBQT6VF.js} +4 -4
  185. package/dist/{chunk-MH7UBG47.js → chunk-WQKMAOD7.js} +4 -4
  186. package/dist/chunk-WZEUA4PU.js +54 -0
  187. package/dist/{chunk-KY2ZHTBJ.js → chunk-X2SHYKUY.js} +6 -6
  188. package/dist/{chunk-TA2ZNDYD.js → chunk-X3HFDWKA.js} +1 -1
  189. package/dist/{chunk-WIF7A6JU.js → chunk-X4VLWQR2.js} +11 -11
  190. package/dist/{chunk-EE3UNC44.js → chunk-X5IKLUFM.js} +3 -3
  191. package/dist/{chunk-VS6FS472.js → chunk-XKARSCXA.js} +14 -14
  192. package/dist/chunk-XMRFYVBB.js +41 -0
  193. package/dist/{chunk-7TH6I6TL.js → chunk-YDBWECPT.js} +8 -8
  194. package/dist/{chunk-TXV2AYZB.js → chunk-YIO2LEBW.js} +23 -23
  195. package/dist/{chunk-X64BFQ3R.js → chunk-YU63ND72.js} +9 -9
  196. package/dist/{chunk-QL4VNY4U.js → chunk-YYV55774.js} +1 -1
  197. package/dist/{chunk-6FG7QKJC.js → chunk-ZIVRZ3WV.js} +21 -21
  198. package/dist/{chunk-QY7RGTUP.js → chunk-ZJDOYEW4.js} +51 -14
  199. package/dist/{chunk-F6FGIYPT.js → chunk-ZNXTVNPY.js} +19 -19
  200. package/dist/{chunk-5H46QFSL.js → chunk-ZPNRTY73.js} +4 -4
  201. package/dist/{chunk-HY2VVVFZ.js → chunk-ZS2EZYOR.js} +4 -4
  202. package/dist/{chunk-FEBYMFZA.js → chunk-ZT6WXY3J.js} +23 -23
  203. package/dist/{chunk-Y3ZKT6IF.js → chunk-ZTF2NSQD.js} +5 -5
  204. package/dist/{chunk-QR65C3DV.js → chunk-ZUCJCBS5.js} +4 -4
  205. package/dist/files.json +443 -439
  206. package/dist/packages/sdk/npm/index.js +1 -1
  207. package/dist/packages/ui/dist/assets/{elk-api-D2NcYpUJ.js → elk-api-GNftut9z.js} +2 -2
  208. package/dist/packages/ui/dist/assets/{index-CT7skl01.js → index-C2evnHpj.js} +3 -3
  209. package/dist/packages/ui/dist/index.html +1 -1
  210. package/package.json +5 -5
  211. package/dist/chunk-4BPROPGG.js +0 -45
  212. package/dist/chunk-5CSZTVXH.js +0 -34
  213. package/dist/chunk-76QVBNEM.js +0 -37
  214. package/dist/chunk-F5GA6G3U.js +0 -48
  215. package/dist/chunk-FMV6IZ3P.js +0 -54
  216. package/dist/chunk-HP32HUWR.js +0 -41
  217. package/dist/chunk-RSVBX6A3.js +0 -54
  218. package/dist/chunk-TV4CGNEY.js +0 -43
  219. package/dist/chunk-VP5H6DII.js +0 -34
  220. package/dist/chunk-Z4JSRKNR.js +0 -41
  221. package/dist/chunk-ZGI7DNJ6.js +0 -38
@@ -5,7 +5,7 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  benchFactsCommand
8
- } from "./chunk-Z53ZB34U.js";
8
+ } from "./chunk-U7RMOCQQ.js";
9
9
  import {
10
10
  BenchStory,
11
11
  benchKnownFields,
@@ -15,35 +15,35 @@ import {
15
15
  parseReference,
16
16
  parseReferenceStory,
17
17
  scoreStory
18
- } from "./chunk-RMLUZYEA.js";
19
- import "./chunk-LTLR4JZJ.js";
20
- import "./chunk-MNUZX67F.js";
21
- import "./chunk-INCECZ2E.js";
22
- import "./chunk-DGZXJO5I.js";
23
- import "./chunk-TA2ZNDYD.js";
18
+ } from "./chunk-CW4OVNJF.js";
19
+ import "./chunk-2L5XV7QK.js";
20
+ import "./chunk-R5DGXWOX.js";
21
+ import "./chunk-J347EH7F.js";
22
+ import "./chunk-CAH7L2QH.js";
23
+ import "./chunk-X3HFDWKA.js";
24
24
  import {
25
25
  draftedStories
26
- } from "./chunk-DWYPYVPJ.js";
27
- import "./chunk-ISXNWUG7.js";
28
- import "./chunk-GMDOXWIS.js";
29
- import "./chunk-U5T4A2QV.js";
30
- import "./chunk-JQG4VO47.js";
31
- import "./chunk-DW4BM73R.js";
32
- import "./chunk-22GLUHGE.js";
33
- import "./chunk-QR65C3DV.js";
34
- import "./chunk-MLAACAES.js";
35
- import "./chunk-HY2VVVFZ.js";
36
- import "./chunk-PJRMMWU4.js";
37
- import "./chunk-34NWVIBC.js";
38
- import "./chunk-77UOXZVM.js";
39
- import "./chunk-RA64IK43.js";
40
- import "./chunk-MRLCNXXR.js";
41
- import "./chunk-CQD26SMZ.js";
26
+ } from "./chunk-WOWEF5DL.js";
27
+ import "./chunk-HZGTUG23.js";
28
+ import "./chunk-JTI3FKGI.js";
29
+ import "./chunk-PI6KNUBW.js";
30
+ import "./chunk-24ARIOB7.js";
31
+ import "./chunk-4Q6HX5GQ.js";
32
+ import "./chunk-E53MN24E.js";
33
+ import "./chunk-ZUCJCBS5.js";
34
+ import "./chunk-DLSPFAC5.js";
35
+ import "./chunk-ZS2EZYOR.js";
36
+ import "./chunk-KDKLT22F.js";
37
+ import "./chunk-UA4DLNV7.js";
38
+ import "./chunk-RNUHS433.js";
39
+ import "./chunk-5WJCV6ED.js";
40
+ import "./chunk-FT2E2DHW.js";
41
+ import "./chunk-E52MNV5B.js";
42
42
  import {
43
43
  changesDirOf,
44
44
  parseFacts,
45
45
  require_dist
46
- } from "./chunk-U25OX22K.js";
46
+ } from "./chunk-LZABEKI6.js";
47
47
  import "./chunk-MMB2OHUY.js";
48
48
  import {
49
49
  __toESM
@@ -5,20 +5,20 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  readCatalog
8
- } from "./chunk-22GLUHGE.js";
8
+ } from "./chunk-E53MN24E.js";
9
9
  import {
10
10
  scopeWords
11
- } from "./chunk-QR65C3DV.js";
11
+ } from "./chunk-ZUCJCBS5.js";
12
12
  import {
13
13
  baseClonePath,
14
14
  loadManifest
15
- } from "./chunk-RA64IK43.js";
15
+ } from "./chunk-5WJCV6ED.js";
16
16
  import {
17
17
  Sources,
18
18
  catalogDirOf,
19
19
  orgPackDirOf,
20
20
  require_dist
21
- } from "./chunk-U25OX22K.js";
21
+ } from "./chunk-LZABEKI6.js";
22
22
  import {
23
23
  __toESM
24
24
  } from "./chunk-TV45EUGM.js";
@@ -6,7 +6,7 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  dotInt8,
8
8
  textSha
9
- } from "./chunk-CQD26SMZ.js";
9
+ } from "./chunk-E52MNV5B.js";
10
10
  import {
11
11
  Question,
12
12
  RECORD_KINDS,
@@ -28,7 +28,7 @@ import {
28
28
  splitForms,
29
29
  stateDirOf,
30
30
  toCanonicalYaml
31
- } from "./chunk-U25OX22K.js";
31
+ } from "./chunk-LZABEKI6.js";
32
32
  import {
33
33
  __toESM
34
34
  } from "./chunk-TV45EUGM.js";
@@ -1004,8 +1004,8 @@ var DOCUMENT_EXTENSIONS = /\.(docx|pptx|xlsx|pdf|md|markdown|html?|txt)$/i;
1004
1004
  async function documentNodes(path, bytes) {
1005
1005
  const out = { nodes: [], names: [], links: [] };
1006
1006
  const [{ readDocument }, { screenFile }] = await Promise.all([
1007
- import("./chunk-CIIRPLI6.js"),
1008
- import("./chunk-3M7QBKKG.js")
1007
+ import("./chunk-SOLKTI2T.js"),
1008
+ import("./chunk-6FYKGYAO.js")
1009
1009
  ]);
1010
1010
  const screen = screenFile(path, bytes);
1011
1011
  if (screen.problem)
@@ -2284,7 +2284,7 @@ function openDb(file) {
2284
2284
  // packages/index/dist/catalog-index.js
2285
2285
  var vectorsFileOf = (file) => join3(dirname2(file), "vectors.sqlite");
2286
2286
  var notInstalled = (e, pkg) => e.code === "ERR_MODULE_NOT_FOUND" && String(e.message).includes(pkg);
2287
- async function embedderOf(root, setting, load = () => import("./chunk-OMH3I5BH.js")) {
2287
+ async function embedderOf(root, setting, load = () => import("./chunk-DDCK4CFE.js")) {
2288
2288
  if (setting === "off")
2289
2289
  return { why: "turned off for this command" };
2290
2290
  if (setting && setting !== "auto")
@@ -10,22 +10,22 @@ import {
10
10
  findingAction,
11
11
  findings,
12
12
  statusLine
13
- } from "./chunk-ITJ7ST5E.js";
13
+ } from "./chunk-AVEKRWDF.js";
14
14
  import "./chunk-VOGCSYOI.js";
15
- import "./chunk-GMDOXWIS.js";
16
- import "./chunk-U5T4A2QV.js";
17
- import "./chunk-JQG4VO47.js";
18
- import "./chunk-DW4BM73R.js";
19
- import "./chunk-22GLUHGE.js";
20
- import "./chunk-QR65C3DV.js";
21
- import "./chunk-MLAACAES.js";
22
- import "./chunk-HY2VVVFZ.js";
23
- import "./chunk-PJRMMWU4.js";
24
- import "./chunk-34NWVIBC.js";
25
- import "./chunk-RA64IK43.js";
26
- import "./chunk-MRLCNXXR.js";
27
- import "./chunk-CQD26SMZ.js";
28
- import "./chunk-U25OX22K.js";
15
+ import "./chunk-JTI3FKGI.js";
16
+ import "./chunk-PI6KNUBW.js";
17
+ import "./chunk-24ARIOB7.js";
18
+ import "./chunk-4Q6HX5GQ.js";
19
+ import "./chunk-E53MN24E.js";
20
+ import "./chunk-ZUCJCBS5.js";
21
+ import "./chunk-DLSPFAC5.js";
22
+ import "./chunk-ZS2EZYOR.js";
23
+ import "./chunk-KDKLT22F.js";
24
+ import "./chunk-UA4DLNV7.js";
25
+ import "./chunk-5WJCV6ED.js";
26
+ import "./chunk-FT2E2DHW.js";
27
+ import "./chunk-E52MNV5B.js";
28
+ import "./chunk-LZABEKI6.js";
29
29
  import "./chunk-MMB2OHUY.js";
30
30
  import "./chunk-TV45EUGM.js";
31
31
  export {
@@ -3,13 +3,20 @@ import { fileURLToPath as __atticusFileURLToPath } from "node:url";
3
3
  var require = __atticusCreateRequire(import.meta.url);
4
4
  var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
+ import {
7
+ modelsData,
8
+ modelsLine,
9
+ reachHeadOf,
10
+ reachPlanOf,
11
+ readPathsOf
12
+ } from "./chunk-KLROTB6N.js";
6
13
  import {
7
14
  notesAt
8
- } from "./chunk-ZS47PQ3O.js";
15
+ } from "./chunk-GGBEM27J.js";
9
16
  import {
10
17
  houseUntaughtLines,
11
18
  houseUntaughtOf
12
- } from "./chunk-3CFBU2O6.js";
19
+ } from "./chunk-IPB6EKUH.js";
13
20
  import {
14
21
  carryOf,
15
22
  checkoutOf,
@@ -18,20 +25,23 @@ import {
18
25
  excludesOf,
19
26
  headOf,
20
27
  loadReadPlan,
28
+ modelsModeOf,
21
29
  partOfWords,
22
30
  raiseReadQuestions,
23
31
  readCorrections,
24
32
  readPlanProgress,
25
33
  readPlanRelOf,
26
34
  readReviewed,
35
+ recordNotReached,
27
36
  reviewedProblemsOf,
28
37
  saveReadPlan,
29
38
  slipNoteLines,
30
39
  writeReadPlan,
31
40
  writeVerifyFiles
32
- } from "./chunk-P76AW3PA.js";
41
+ } from "./chunk-WMCKOZFT.js";
33
42
  import {
34
43
  ABOUT_RULE,
44
+ MODELS_RULE,
35
45
  assistantTier,
36
46
  mapBatchInstructions,
37
47
  readProbes,
@@ -39,7 +49,7 @@ import {
39
49
  taughtFrameworksText,
40
50
  tierSource,
41
51
  tierWords
42
- } from "./chunk-GHSVJNVL.js";
52
+ } from "./chunk-R2A6DAPC.js";
43
53
  import {
44
54
  FILE_KINDS,
45
55
  SHOWN_PROPOSALS,
@@ -61,10 +71,10 @@ import {
61
71
  sliceText,
62
72
  staleMessage,
63
73
  verifyFacts
64
- } from "./chunk-MLAACAES.js";
74
+ } from "./chunk-DLSPFAC5.js";
65
75
  import {
66
76
  loadRepos
67
- } from "./chunk-RA64IK43.js";
77
+ } from "./chunk-5WJCV6ED.js";
68
78
  import {
69
79
  DATA_RULE,
70
80
  HandoffRuntime,
@@ -74,7 +84,7 @@ import {
74
84
  estimateTokens,
75
85
  promptBudget,
76
86
  wrapData
77
- } from "./chunk-CQD26SMZ.js";
87
+ } from "./chunk-E52MNV5B.js";
78
88
  import {
79
89
  AgentDefinition,
80
90
  Fact,
@@ -94,7 +104,7 @@ import {
94
104
  runsDirOf,
95
105
  saysNotProduct,
96
106
  stackHelpersOff
97
- } from "./chunk-U25OX22K.js";
107
+ } from "./chunk-LZABEKI6.js";
98
108
  import {
99
109
  writeFileAtomic
100
110
  } from "./chunk-MMB2OHUY.js";
@@ -396,6 +406,12 @@ async function packFor(root, s, batch, source, op, now, notes) {
396
406
  const onFile = (await listQuestions(root, { repo: s.repo })).questions.filter((q) => q.state !== "retired");
397
407
  const rules = await rulesCovering(root, s.repo, op);
398
408
  const slices = fix ? [] : s.batches[batch];
409
+ const inBatch = new Set(slices.map((x) => x.path));
410
+ const reachedHere = (s.reached ?? []).filter((r) => inBatch.has(r.path));
411
+ const models = reachedHere.length ? [
412
+ "Model classes in this batch the entry points and calls reach (read these, and write their fields):",
413
+ ...reachedHere.map((r) => `- ${r.path} (${r.types.join(", ")}), from ${r.from}`)
414
+ ].join("\n") : void 0;
399
415
  const rejected = s.rejected.map((r) => rejectedText(r, source));
400
416
  const own = kindsOf(slices.map((x) => x.path));
401
417
  const theirs = kindsOf(s.rejected.flatMap((r) => citedFiles(r.fact)));
@@ -424,11 +440,23 @@ async function packFor(root, s, batch, source, op, now, notes) {
424
440
  // A-taught: how to read the wrapper calls and annotations of the frameworks it is built on.
425
441
  ...taughtOption(taughtIn(source, op)),
426
442
  // ADR 0163: what the organisation's terms mean here and what must hold, as data.
427
- ...notes ? { notes } : {}
443
+ ...notes ? { notes } : {},
444
+ // ADR 0169: the model classes of this batch the read reaches, listed beside it.
445
+ ...models ? { models: true } : {}
428
446
  }),
429
447
  classification: "public",
430
448
  trusted: true
431
449
  },
450
+ ...models ? [
451
+ {
452
+ id: "1-models",
453
+ kind: "document",
454
+ origin: "atticus/reachable",
455
+ text: models,
456
+ classification: "internal",
457
+ priority: 9
458
+ }
459
+ ] : [],
432
460
  ...s.reread ? [
433
461
  {
434
462
  id: "0-reread",
@@ -552,7 +580,7 @@ async function mapCommand(root, repo, o, io, deps = {}) {
552
580
  const repoNotes = await notesAt(root, repo, dir, op);
553
581
  const notesPrompt = notesText(repoNotes.notes, repoNotes.type);
554
582
  if (o.gaps) {
555
- const { mapGaps } = await import("./chunk-4Q2PGM5T.js");
583
+ const { mapGaps } = await import("./chunk-KZSIKS64.js");
556
584
  const tier = await tierHere(root, op);
557
585
  let part;
558
586
  if (o.part !== void 0) {
@@ -571,11 +599,14 @@ async function mapCommand(root, repo, o, io, deps = {}) {
571
599
  source,
572
600
  session: sessionTokensFor(limitOf(o, op, tier).limit),
573
601
  ...o.json ? { json: true } : {},
574
- ...part ? { part } : {}
602
+ ...part ? { part } : {},
603
+ ...o.models ? { models: o.models } : {},
604
+ exclude,
605
+ conventions
575
606
  }, io);
576
607
  }
577
608
  if (o.rules && !deps.runtime) {
578
- const { mapRules } = await import("./chunk-2Q2YBAR5.js");
609
+ const { mapRules } = await import("./chunk-6J2BWOLO.js");
579
610
  const tier = await tierHere(root, op);
580
611
  return mapRules(root, repo, {
581
612
  commit,
@@ -584,7 +615,8 @@ async function mapCommand(root, repo, o, io, deps = {}) {
584
615
  conventions,
585
616
  session: sessionTokensFor(limitOf(o, op, tier).limit),
586
617
  notes: notesPrompt,
587
- ...o.json ? { json: true } : {}
618
+ ...o.json ? { json: true } : {},
619
+ ...o.models ? { models: o.models } : {}
588
620
  }, io);
589
621
  }
590
622
  if (o.estimate)
@@ -660,13 +692,14 @@ async function mapCommand(root, repo, o, io, deps = {}) {
660
692
  return tooSmall(0);
661
693
  const frameworks = await frameworksFor(root, repo, existing);
662
694
  if (o.rules) {
663
- const { topUpOf, recordRulesNow, ruleSetsOfFiles } = await import("./chunk-2Q2YBAR5.js");
695
+ const { topUpOf, recordRulesNow, ruleSetsOfFiles } = await import("./chunk-6J2BWOLO.js");
664
696
  const t = await topUpOf(root, repo, {
665
697
  commit,
666
698
  facts: existing,
667
699
  source,
668
700
  exclude,
669
- conventions
701
+ conventions,
702
+ ...o.models ? { models: o.models } : {}
670
703
  });
671
704
  if ("error" in t) {
672
705
  io.err(t.error);
@@ -695,8 +728,23 @@ async function mapCommand(root, repo, o, io, deps = {}) {
695
728
  next: 0,
696
729
  rejected: [],
697
730
  problems: [],
698
- sets
731
+ sets,
732
+ // ADR 0169: the reached model classes, listed in the prompts of the batches holding them.
733
+ ...t.reach?.reach.rooted && t.reach.reach.reached.length ? {
734
+ reached: t.reach.reach.reached.map((r) => ({
735
+ path: r.path,
736
+ types: r.types,
737
+ from: r.from
738
+ }))
739
+ } : {}
699
740
  };
741
+ if (t.reach)
742
+ await recordNotReached(root, repo, {
743
+ commit,
744
+ session: sessionTokensFor(limit),
745
+ models: t.reach.mode,
746
+ ...t.reach.notReached ? { notReached: t.reach.notReached } : {}
747
+ });
700
748
  await saveState(root, s);
701
749
  io.out(`Topping up ${repo} at ${commit.slice(0, 12)} for the reading rules added since it was read (${sets.join(", ")}): ${plural(plan.files, "source file")} in ${batches(plan.batches.length)}; facts go to ${factsFile}.`);
702
750
  } else {
@@ -707,7 +755,20 @@ async function mapCommand(root, repo, o, io, deps = {}) {
707
755
  io.out(`Nothing ${repo}'s facts cite changed since ${since}, and no source file did: atticus verify ${repo} carries its ${plural(reread.carried, "fact")} to ${commit.slice(0, 12)}.`);
708
756
  return 0;
709
757
  }
710
- const plan = planBatches(reread ? onlyFiles(source, reread.files.map((f) => f.path)) : source, { room, exclude, overhead: overheadOf(repo, commit, frameworks), conventions });
758
+ const mode = await modelsModeOf(root, repo, o.models);
759
+ const rp = reread ? void 0 : reachPlanOf({
760
+ paths: readPathsOf(source, exclude, conventions),
761
+ source,
762
+ facts: existing,
763
+ mode
764
+ });
765
+ const plan = planBatches(reread ? onlyFiles(source, reread.files.map((f) => f.path)) : source, {
766
+ room,
767
+ exclude,
768
+ overhead: overheadOf(repo, commit, frameworks),
769
+ conventions,
770
+ ...rp?.reach.rooted && rp.reach.models ? { reach: { first: rp.first, leaveOut: rp.leaveOut } } : {}
771
+ });
711
772
  if (plan.leastRoom < MIN_ROOM)
712
773
  return tooSmall(room - plan.leastRoom);
713
774
  if (!plan.batches.length && !reread) {
@@ -728,6 +789,13 @@ async function mapCommand(root, repo, o, io, deps = {}) {
728
789
  return { id: r.id, code: "cite-changed", message: staleMessage(fact, r, commit), fact };
729
790
  }),
730
791
  problems: [],
792
+ ...rp?.reach.rooted && rp.reach.reached.length ? {
793
+ reached: rp.reach.reached.map((r) => ({
794
+ path: r.path,
795
+ types: r.types,
796
+ from: r.from
797
+ }))
798
+ } : {},
731
799
  ...reread ? {
732
800
  reread: {
733
801
  from: reread.from.map((x) => x.commit),
@@ -737,6 +805,17 @@ async function mapCommand(root, repo, o, io, deps = {}) {
737
805
  } : {}
738
806
  };
739
807
  await saveState(root, s);
808
+ if (rp)
809
+ await recordNotReached(root, repo, {
810
+ commit,
811
+ session: sessionTokensFor(limit),
812
+ models: mode,
813
+ ...rp.notReached ? { notReached: rp.notReached } : {}
814
+ });
815
+ if (rp?.clientOnly.length)
816
+ io.out(`${rp.clientOnly.length} model ${rp.clientOnly.length === 1 ? "class" : "classes"} only an outbound client reaches are left out (ADR 0170, --models entries; recorded in ${readPlanRelOf(root, repo)}): atticus map ${repo} --models reachable reads them.`);
817
+ if (rp && rp.leaveOut.length > rp.clientOnly.length)
818
+ io.out(`${rp.leaveOut.length - rp.clientOnly.length} model ${rp.leaveOut.length - rp.clientOnly.length === 1 ? "class" : "classes"} no entry or call reaches are left out (ADR 0169; recorded in ${readPlanRelOf(root, repo)}): atticus map ${repo} --models all reads them.`);
740
819
  io.out(reread ? `Re-reading ${repo} at ${commit.slice(0, 12)}: ${plural(plan.files, "source file")} changed since ${since}, in ${batches(plan.batches.length)}${plan.batches.length ? ` (about ${plan.tokens} tokens${limit ? `, each prompt within ${limit} tokens` : ""})` : ""}; ${plural(reread.reread.length, "fact")} to rewrite, ${reread.carried} carried as they are; facts go to ${factsFile}.` : `Reading ${repo} at ${commit.slice(0, 12)} in ${batches(plan.batches.length)} (${plural(plan.files, "source file")}, about ${plan.tokens} tokens${limit ? `, each prompt within ${limit} tokens` : ""}); facts go to ${factsFile}.`);
741
820
  }
742
821
  }
@@ -830,7 +909,9 @@ async function takeAnswer(root, s, run, batch, source, exclude, now, io, at) {
830
909
  ...estate ? { estate } : {},
831
910
  conventions: await conventionsAt(root),
832
911
  // ADR 0163: a term's note is one of those the batch was handed.
833
- notes: (await notesAt(root, s.repo, at.dir)).notes
912
+ notes: (await notesAt(root, s.repo, at.dir)).notes,
913
+ // ADR 0169: the model files the read leaves out, counted apart.
914
+ notReached: (await loadReadPlan(root, s.repo))?.notReached?.files ?? []
834
915
  });
835
916
  const q = await raiseReadQuestions(root, s.repo, answer.questions, source, {
836
917
  command: `atticus map ${s.repo}`,
@@ -839,7 +920,7 @@ async function takeAnswer(root, s, run, batch, source, exclude, now, io, at) {
839
920
  });
840
921
  const summary = await writeVerifyFiles(root, s.repo, report, s.commit, q.problems, [], reviewedProblemsOf(reviewed.bad, report), answer.slips);
841
922
  if (answer.about) {
842
- const { keepDraftedDescription } = await import("./chunk-ZYASEL7K.js");
923
+ const { keepDraftedDescription } = await import("./chunk-OKLXZ35H.js");
843
924
  const d = await keepDraftedDescription(root, s.repo, answer.about, now());
844
925
  if (d.kept)
845
926
  io.out(`Your assistant says ${s.repo} is: "${answer.about.text}" \u2014 written to the manifest as a draft, unconfirmed. Confirm it (atticus repo describe ${s.repo} --accept), change it (--description "...") or drop it (--reject).`);
@@ -873,7 +954,7 @@ async function finish(root, s, io, o) {
873
954
  await saveState(root, s);
874
955
  const last = s.last;
875
956
  if (last && !last.rejected && !s.reread) {
876
- const { recordRulesNow } = await import("./chunk-2Q2YBAR5.js");
957
+ const { recordRulesNow } = await import("./chunk-6J2BWOLO.js");
877
958
  await recordRulesNow(root, s.repo, s.commit);
878
959
  }
879
960
  const rel = factsRelOf(root);
@@ -885,7 +966,7 @@ async function finish(root, s, io, o) {
885
966
  io.out(`Read ${s.repo}: nothing was kept.`);
886
967
  return 0;
887
968
  }
888
- io.out(`Read ${s.repo} in ${batches(s.batches.length)}: ${plural(last.accepted, "fact")} kept in ${rel}/${s.repo}.jsonl, ${last.rejected} still rejected; coverage ${Math.round(last.coverage.ratio * 100)}% (${last.coverage.read} read, ${last.coverage.reviewed ? `${last.coverage.reviewed} reviewed with nothing to record, ` : ""}${last.coverage.unknown.length} unknown).`);
969
+ io.out(`Read ${s.repo} in ${batches(s.batches.length)}: ${plural(last.accepted, "fact")} kept in ${rel}/${s.repo}.jsonl, ${last.rejected} still rejected; coverage ${Math.round(last.coverage.ratio * 100)}% (${last.coverage.read} read, ${last.coverage.reviewed ? `${last.coverage.reviewed} reviewed with nothing to record, ` : ""}${last.coverage.unknown.length} unknown${last.coverage.notReached?.length ? `, ${last.coverage.notReached.length} model files no entry or call reaches` : ""}).`);
889
970
  if (last.rejected)
890
971
  io.out(`The rejected facts are in ${rel}/${s.repo}.rejected.jsonl; fix them by hand or with your assistant, then atticus verify ${s.repo}.`);
891
972
  if (last.coverage.unknown.length)
@@ -932,13 +1013,6 @@ async function estimate(root, repo, c, io) {
932
1013
  exclude: c.exclude,
933
1014
  conventions
934
1015
  });
935
- const planned = room >= MIN_ROOM ? planBatches(readSource, {
936
- room,
937
- exclude: c.exclude,
938
- conventions,
939
- overhead: overheadOf(repo, c.commit, await frameworksFor(root, repo, typeof existing === "string" ? [] : existing))
940
- }) : void 0;
941
- const plan = planned && planned.leastRoom >= MIN_ROOM ? planned : void 0;
942
1016
  const files = whole.batches.flat().map((s) => ({ path: s.path, tokens: s.tokens }));
943
1017
  const proposed = reread ? { proposals: [], before: whole.tokens, after: whole.tokens } : proposeExclusions(files, c.source.list(), (p) => c.source.read(p), {
944
1018
  // What the person's description plainly says this repo holds (ADR 0128).
@@ -952,18 +1026,38 @@ async function estimate(root, repo, c, io) {
952
1026
  const text = c.source.read(f.path);
953
1027
  return text === void 0 ? f : { ...f, lines: text.split(/\r?\n/).length };
954
1028
  });
955
- const parts = planParts(product, session);
1029
+ const mode = await modelsModeOf(root, repo, c.o.models);
1030
+ const facts0 = typeof existing === "string" ? [] : existing;
1031
+ const rp = reread ? void 0 : reachPlanOf({ paths: product.map((f) => f.path), source: c.source, facts: facts0, mode });
1032
+ const leave = new Set(rp?.leaveOut ?? []);
1033
+ const kept = product.filter((f) => !leave.has(f.path));
1034
+ const ordered = rp && rp.reach.rooted && rp.reach.models > 0;
1035
+ const parts = planParts(kept, session, ordered ? {
1036
+ head: reachHeadOf(kept.map((f) => f.path), rp),
1037
+ models: rp.reach.reached.map((r) => r.path),
1038
+ leftOut: rp.leaveOut
1039
+ } : void 0);
1040
+ const planned = room >= MIN_ROOM ? planBatches(readSource, {
1041
+ room,
1042
+ exclude: c.exclude,
1043
+ conventions,
1044
+ overhead: overheadOf(repo, c.commit, await frameworksFor(root, repo, facts0)),
1045
+ ...rp && ordered ? { reach: { first: rp.first, leaveOut: rp.leaveOut } } : {}
1046
+ }) : void 0;
1047
+ const plan = planned && planned.leastRoom >= MIN_ROOM ? planned : void 0;
956
1048
  const plan0 = await loadReadPlan(root, repo);
957
1049
  const same = plan0 !== void 0 && plan0.commit === c.commit && plan0.session === session && plan0.parts.length === parts.length && plan0.parts.every((p, i) => p.paths.length === parts[i].paths.length && p.paths.every((x, j) => x === parts[i].paths[j]));
958
1050
  const estimate2 = {
959
- files: product.length,
960
- tokens: product.reduce((n, f) => n + f.tokens, 0),
1051
+ files: kept.length,
1052
+ tokens: kept.reduce((n, f) => n + f.tokens, 0),
961
1053
  sessions: parts.length || 1,
962
1054
  ...reread ? { reread: true } : {}
963
1055
  };
964
1056
  const sameEstimate = plan0?.estimate !== void 0 && plan0.estimate.files === estimate2.files && plan0.estimate.tokens === estimate2.tokens && plan0.estimate.sessions === estimate2.sessions && plan0.estimate.reread === estimate2.reread;
965
1057
  const firstRead = typeof existing !== "string" && existing.length === 0 && !reread;
966
1058
  const readRules = firstRead ? rulesNow() : plan0?.rules;
1059
+ const notReached = rp ? rp.notReached : plan0?.notReached;
1060
+ const sameModels = plan0 !== void 0 && (plan0.models ?? "reachable") === mode && JSON.stringify(plan0.notReached ?? null) === JSON.stringify(notReached ?? null);
967
1061
  if (!same)
968
1062
  await writeReadPlan(root, repo, {
969
1063
  commit: c.commit,
@@ -972,10 +1066,20 @@ async function estimate(root, repo, c, io) {
972
1066
  estimate: estimate2,
973
1067
  // What the reader reported of an earlier plan stays, under the commit it was of.
974
1068
  ...plan0?.reported ? { reported: plan0.reported } : {},
975
- ...readRules ? { rules: readRules } : {}
1069
+ ...readRules ? { rules: readRules } : {},
1070
+ models: mode,
1071
+ ...notReached ? { notReached } : {}
1072
+ });
1073
+ else if (!sameEstimate || !sameModels || firstRead && plan0.rules?.hash !== readRules?.hash) {
1074
+ const { notReached: _n, models: _m, ...rest0 } = plan0;
1075
+ await saveReadPlan(root, {
1076
+ ...rest0,
1077
+ estimate: estimate2,
1078
+ ...readRules ? { rules: readRules } : {},
1079
+ ...mode !== "reachable" ? { models: mode } : {},
1080
+ ...notReached ? { notReached } : {}
976
1081
  });
977
- else if (!sameEstimate || firstRead && plan0.rules?.hash !== readRules?.hash)
978
- await saveReadPlan(root, { ...plan0, estimate: estimate2, ...readRules ? { rules: readRules } : {} });
1082
+ }
979
1083
  const progress = parts.length ? await readPlanProgress(root, repo, { commit: c.commit }) : void 0;
980
1084
  const questions = (await listQuestions(root, { repo })).questions.filter((q) => q.state !== "retired");
981
1085
  const notes = await notesAt(root, repo, c.dir, c.op);
@@ -986,6 +1090,10 @@ async function estimate(root, repo, c, io) {
986
1090
  op: c.op,
987
1091
  exclude: c.exclude
988
1092
  });
1093
+ if (c.o.part !== void 0 && !parts[c.o.part - 1]) {
1094
+ io.err(`${repo} is read in ${parts.length ? `parts 1 to ${parts.length}` : "one session (no parts)"} at this limit: there is no part ${c.o.part}.`);
1095
+ return 2;
1096
+ }
989
1097
  if (c.o.json) {
990
1098
  io.out(JSON.stringify({
991
1099
  repo,
@@ -1000,6 +1108,8 @@ async function estimate(root, repo, c, io) {
1000
1108
  maxTokensGiven: given !== void 0,
1001
1109
  maxTokensFrom: from ?? "example",
1002
1110
  batches: plan?.batches.length ?? null,
1111
+ // ADR 0169: what the read plans to read (the model classes it leaves out, out).
1112
+ read: { files: estimate2.files, tokens: estimate2.tokens },
1003
1113
  order: whole.batches.flat().map((x) => x.path),
1004
1114
  // ADR 0128: what a person says the repo is, and whether that eased the proposals.
1005
1115
  about: about ? { text: about.text, trust: about.trust, eased: saysNotProduct(about) } : null,
@@ -1023,6 +1133,13 @@ async function estimate(root, repo, c, io) {
1023
1133
  }
1024
1134
  } : {}
1025
1135
  },
1136
+ // ADR 0169: the model classes reached from the entry points and calls, and those left out.
1137
+ models: rp ? {
1138
+ mode,
1139
+ roots: rp.reach.roots,
1140
+ reached: rp.reach.reached,
1141
+ notReached: rp.leaveOut
1142
+ } : null,
1026
1143
  tier,
1027
1144
  // A-taught: the frameworks of the organisation it is built on, as taught to Atticus.
1028
1145
  taughtFrameworks: taughtIn(c.source, c.op).map((m) => m.name),
@@ -1093,13 +1210,25 @@ repo: ${repo}`);
1093
1210
  const stateOf = (i) => progress?.parts[i]?.state;
1094
1211
  const words = (s) => s === "done" ? "done" : s === "in-progress" ? "part-read" : "to read";
1095
1212
  parts.forEach((p, i) => io.out(` part ${i + 1} (${words(stateOf(i))}, about ${p.tokens} tokens, ${plural(p.files, "file")}): ${p.paths.join(", ")}`));
1096
- if (progress) {
1213
+ const asked = c.o.part !== void 0 ? parts[c.o.part - 1] : void 0;
1214
+ if (asked)
1215
+ io.out(`This session reads part ${c.o.part} of ${parts.length} (--part ${c.o.part}): ${asked.paths.join(", ")}. The facts on file stay, as already kept: name one by its id and don't write it again.`);
1216
+ if (progress && !asked) {
1097
1217
  io.out(`Read plan: ${readPlanRelOf(root, repo)}. ${progress.next ? `${partOfWords({ part: progress.next.part, total: progress.total })} is next (${progress.done ? `${progress.done} of ${progress.total} read` : `none of ${progress.total} read yet`}): ${progress.next.paths.join(", ")}.` : `All ${progress.total} parts are read.`} A part counts as read when every folder it covers is in the facts (a fact citing a file, or a line of ${factsRelOf(root)}/${repo}.reviewed.jsonl); atticus next says which comes next.`);
1098
1218
  for (const p of progress.parts)
1099
1219
  if (p.state === "in-progress")
1100
1220
  io.out(` part ${p.part} is part-read: nothing in the facts yet for ${p.left.join(", ")}.`);
1101
1221
  }
1102
1222
  }
1223
+ const line = rp ? modelsLine(repo, rp) : void 0;
1224
+ if (rp && line) {
1225
+ io.out(line);
1226
+ const data = modelsData(repo, rp);
1227
+ if (data) {
1228
+ io.out(MODELS_RULE);
1229
+ io.out(data);
1230
+ }
1231
+ }
1103
1232
  io.out(`Your assistant: ${tierWords(tier)}, ${tierSource(tier)}. ${tier.how}`);
1104
1233
  io.out(`Another agentic assistant (Claude Code, Cursor, Gemini CLI) reads it the same way: /atticus-map ${repo}; one without file tools gets batches with atticus map ${repo} --handoff --max-tokens <its limit>.`);
1105
1234
  if (tier.fallback)
@@ -15,26 +15,26 @@ import {
15
15
  changeStatus,
16
16
  changeSync,
17
17
  parseOwners
18
- } from "./chunk-VXSJKWB7.js";
19
- import "./chunk-4VOG5H2K.js";
20
- import "./chunk-DWYPYVPJ.js";
21
- import "./chunk-ISXNWUG7.js";
18
+ } from "./chunk-7CJ2TNZZ.js";
19
+ import "./chunk-7OHYHBEQ.js";
20
+ import "./chunk-WOWEF5DL.js";
21
+ import "./chunk-HZGTUG23.js";
22
22
  import "./chunk-VOGCSYOI.js";
23
- import "./chunk-GMDOXWIS.js";
24
- import "./chunk-U5T4A2QV.js";
25
- import "./chunk-JQG4VO47.js";
26
- import "./chunk-DW4BM73R.js";
27
- import "./chunk-22GLUHGE.js";
28
- import "./chunk-QR65C3DV.js";
29
- import "./chunk-MLAACAES.js";
30
- import "./chunk-HY2VVVFZ.js";
31
- import "./chunk-PJRMMWU4.js";
32
- import "./chunk-34NWVIBC.js";
33
- import "./chunk-77UOXZVM.js";
34
- import "./chunk-RA64IK43.js";
35
- import "./chunk-MRLCNXXR.js";
36
- import "./chunk-CQD26SMZ.js";
37
- import "./chunk-U25OX22K.js";
23
+ import "./chunk-JTI3FKGI.js";
24
+ import "./chunk-PI6KNUBW.js";
25
+ import "./chunk-24ARIOB7.js";
26
+ import "./chunk-4Q6HX5GQ.js";
27
+ import "./chunk-E53MN24E.js";
28
+ import "./chunk-ZUCJCBS5.js";
29
+ import "./chunk-DLSPFAC5.js";
30
+ import "./chunk-ZS2EZYOR.js";
31
+ import "./chunk-KDKLT22F.js";
32
+ import "./chunk-UA4DLNV7.js";
33
+ import "./chunk-RNUHS433.js";
34
+ import "./chunk-5WJCV6ED.js";
35
+ import "./chunk-FT2E2DHW.js";
36
+ import "./chunk-E52MNV5B.js";
37
+ import "./chunk-LZABEKI6.js";
38
38
  import "./chunk-MMB2OHUY.js";
39
39
  import "./chunk-TV45EUGM.js";
40
40
  export {