@maycombhq/atticus 2.0.0-beta.11 → 2.0.0-beta.12.1

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 (223) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-4UZJOQYK.js → chunk-2A24BNRZ.js} +7 -7
  3. package/dist/{chunk-C2YGYTU6.js → chunk-2DJUQ6CO.js} +22 -22
  4. package/dist/{chunk-BQNEHB5U.js → chunk-2OWSG6BK.js} +11 -11
  5. package/dist/{chunk-23VFQHFQ.js → chunk-2QT6WVAK.js} +31 -21
  6. package/dist/chunk-2RMWW6G3.js +41 -0
  7. package/dist/{chunk-SILY6ZEZ.js → chunk-3256EDLL.js} +3 -3
  8. package/dist/{chunk-YLAM4HZH.js → chunk-34BCKMBS.js} +3 -3
  9. package/dist/{chunk-GVFUEGGM.js → chunk-34NWVIBC.js} +2 -2
  10. package/dist/{chunk-UABFFMWH.js → chunk-36CTZGPH.js} +7 -7
  11. package/dist/{chunk-77RSRG3A.js → chunk-3JLTN3Y7.js} +7 -7
  12. package/dist/{chunk-QWHTTA2X.js → chunk-3M7QBKKG.js} +8 -6
  13. package/dist/chunk-3PLE3ZQ5.js +34 -0
  14. package/dist/{chunk-LUPW4WLK.js → chunk-3W5R5J65.js} +8 -8
  15. package/dist/{chunk-EBWIOODZ.js → chunk-42L2WHP6.js} +4 -4
  16. package/dist/{chunk-KU4T2CXJ.js → chunk-4GNKICU5.js} +18 -18
  17. package/dist/{chunk-2K2ZEJVR.js → chunk-4HTILEXW.js} +2 -2
  18. package/dist/{chunk-HR4DVO6X.js → chunk-4JLB5ISS.js} +3 -3
  19. package/dist/{chunk-XOVLGBKI.js → chunk-5C24MOXU.js} +17 -17
  20. package/dist/{chunk-EHUYLNLC.js → chunk-5G5GD5HF.js} +14 -14
  21. package/dist/{chunk-HGQZTUAC.js → chunk-5I5JDJ3R.js} +4 -4
  22. package/dist/{chunk-KIWEBM6G.js → chunk-5IMZYLDW.js} +11 -11
  23. package/dist/{chunk-XJAJQGXJ.js → chunk-5ION6STH.js} +2 -2
  24. package/dist/{chunk-5ICB2BXH.js → chunk-5R2EWR47.js} +7 -7
  25. package/dist/{chunk-HOUUBE74.js → chunk-65XZSK6S.js} +4 -4
  26. package/dist/{chunk-LVBPY2M6.js → chunk-6AYUBYK6.js} +348 -15
  27. package/dist/{chunk-IY4PHPHT.js → chunk-6HSRGY4B.js} +7 -5
  28. package/dist/{chunk-Y5AYBGLB.js → chunk-6IKYFARG.js} +22 -13
  29. package/dist/{chunk-7KXYMC2P.js → chunk-6R2OM6Y3.js} +15 -15
  30. package/dist/{chunk-GWSWS264.js → chunk-6ROZRBWH.js} +4 -4
  31. package/dist/{chunk-TZXHUDI6.js → chunk-72DY5NCN.js} +2 -2
  32. package/dist/{chunk-XNRPCI23.js → chunk-77UOXZVM.js} +5 -5
  33. package/dist/{chunk-LS3WR2RF.js → chunk-7C7PTJM2.js} +256 -73
  34. package/dist/{chunk-VYNZED7B.js → chunk-7FPTI62T.js} +20 -20
  35. package/dist/{chunk-Z2EYRUOH.js → chunk-7H5HYERS.js} +19 -19
  36. package/dist/{chunk-4YWRU7JK.js → chunk-7MASAGFE.js} +15 -15
  37. package/dist/{chunk-7SZPENUP.js → chunk-7UKETVPW.js} +1 -1
  38. package/dist/{chunk-55TBYJF2.js → chunk-7UXSS23C.js} +18 -16
  39. package/dist/{chunk-XPWSNKF3.js → chunk-7VAMO66T.js} +398 -111
  40. package/dist/{chunk-LDIARP6F.js → chunk-7VNEDDCC.js} +2 -2
  41. package/dist/{chunk-TGEOLIAK.js → chunk-7XWCTVJS.js} +3 -3
  42. package/dist/{chunk-RJDP642F.js → chunk-ARLH2ZMD.js} +1 -1
  43. package/dist/{chunk-IRW64JFF.js → chunk-AUSC47BK.js} +4 -4
  44. package/dist/{chunk-JUZ75OG4.js → chunk-AY7Y3WPD.js} +15 -15
  45. package/dist/{chunk-4URR24DD.js → chunk-BFZSO2TP.js} +6 -6
  46. package/dist/{chunk-MYKQVS5W.js → chunk-BHHIHENP.js} +10 -6
  47. package/dist/{chunk-6V3DTQWK.js → chunk-BUD6JILH.js} +21 -21
  48. package/dist/{chunk-MKC7P5LD.js → chunk-CCXEXCRO.js} +14 -14
  49. package/dist/{chunk-52WCHTVZ.js → chunk-CGF4LKXR.js} +3 -3
  50. package/dist/{chunk-5ACUW753.js → chunk-CH6LUQLD.js} +1 -1
  51. package/dist/{chunk-7VFVQX5K.js → chunk-CIIRPLI6.js} +4 -4
  52. package/dist/{chunk-JEUXCIRD.js → chunk-CJ5FQHST.js} +5 -5
  53. package/dist/{chunk-U6YKL7SI.js → chunk-CKI4VG2I.js} +22 -22
  54. package/dist/{chunk-BKFGGJKA.js → chunk-CQD26SMZ.js} +3 -1
  55. package/dist/chunk-CU35HXQ7.js +48 -0
  56. package/dist/{chunk-KLKENMWQ.js → chunk-CUD4I2U6.js} +58 -43
  57. package/dist/{chunk-5TY4DTHQ.js → chunk-CUX4GRTB.js} +3 -3
  58. package/dist/{chunk-5NZSJ5ZG.js → chunk-CXY4YDXS.js} +2 -2
  59. package/dist/{chunk-XR5DD5DQ.js → chunk-CYDJK34J.js} +12 -7
  60. package/dist/{chunk-WKXOEIOY.js → chunk-DBVU45FY.js} +14 -14
  61. package/dist/{chunk-IILZ7J3L.js → chunk-DBZNQAMN.js} +171 -62
  62. package/dist/{chunk-D7MWYJZF.js → chunk-DDOLWHIM.js} +17 -17
  63. package/dist/{chunk-EW7MRMD5.js → chunk-DIAYQLEY.js} +16 -7
  64. package/dist/{chunk-OFWYZH6B.js → chunk-DKGWE5ZL.js} +21 -21
  65. package/dist/{chunk-27EDZN52.js → chunk-DLX2R3MI.js} +31 -31
  66. package/dist/{chunk-TCADP67G.js → chunk-DONCF2XC.js} +3 -3
  67. package/dist/{chunk-ORZSD2KD.js → chunk-DQKNOHUZ.js} +1 -1
  68. package/dist/{chunk-EAQFRD2B.js → chunk-DREIS5Z5.js} +6 -6
  69. package/dist/{chunk-CAN3EBE5.js → chunk-DW4BM73R.js} +1 -1
  70. package/dist/{chunk-C5JFMAXX.js → chunk-DX5H5YKM.js} +11 -11
  71. package/dist/{chunk-LZWVK4YY.js → chunk-EE3UNC44.js} +3 -3
  72. package/dist/{chunk-Z46OXTBE.js → chunk-EOCZDNWU.js} +5 -5
  73. package/dist/chunk-EOWO4YPF.js +43 -0
  74. package/dist/{chunk-NBGBMRIS.js → chunk-EREL3TQG.js} +1 -1
  75. package/dist/{chunk-NH5QH3WS.js → chunk-ESGIBN3S.js} +1 -1
  76. package/dist/chunk-EZ3FDHW3.js +41 -0
  77. package/dist/chunk-F5L23NGR.js +45 -0
  78. package/dist/{chunk-MQNBEO3N.js → chunk-FF5Q7ONT.js} +118 -104
  79. package/dist/{chunk-TC3KTG33.js → chunk-FLROTO6F.js} +3 -3
  80. package/dist/{chunk-YWOMGMZB.js → chunk-FNVY656P.js} +22 -22
  81. package/dist/{chunk-MCWWMMLN.js → chunk-FP6GJJY7.js} +22 -22
  82. package/dist/{chunk-SIUDWWKS.js → chunk-FSR7OUVJ.js} +23 -23
  83. package/dist/{chunk-GPLFYLGH.js → chunk-FT3RXIN4.js} +10 -10
  84. package/dist/{chunk-SH7AZZDA.js → chunk-FYWA2CPF.js} +17 -17
  85. package/dist/{chunk-5BJFMAQU.js → chunk-G2K2D6XS.js} +12 -12
  86. package/dist/{chunk-3LU6YCSQ.js → chunk-G5SKNMPC.js} +5 -5
  87. package/dist/{chunk-RB2VSED2.js → chunk-GIPQHVJF.js} +11 -11
  88. package/dist/{chunk-NELU7LSL.js → chunk-GJ4B2FYS.js} +10 -10
  89. package/dist/{chunk-KQRYW7OS.js → chunk-GRZGEMO5.js} +109 -108
  90. package/dist/{chunk-OR5VRULZ.js → chunk-GU7PEYRC.js} +10 -10
  91. package/dist/{chunk-MKIULIUQ.js → chunk-GUNBOZ75.js} +3 -3
  92. package/dist/{chunk-Q32Y5T2U.js → chunk-GX3Q5PRC.js} +11 -11
  93. package/dist/{chunk-ANCI3LFS.js → chunk-HIQWJ6JZ.js} +4 -4
  94. package/dist/{chunk-JBSD57N7.js → chunk-HK2CF6KQ.js} +23 -23
  95. package/dist/{chunk-ZKUDS7JG.js → chunk-HMQXIFOL.js} +4 -4
  96. package/dist/{chunk-WIMOJMAK.js → chunk-HY2VVVFZ.js} +168 -14
  97. package/dist/{chunk-BX52REMA.js → chunk-IDLO7UCZ.js} +5 -5
  98. package/dist/{chunk-CE4S5ZY3.js → chunk-IJ7TPOXQ.js} +11 -11
  99. package/dist/{chunk-6N2GUZMZ.js → chunk-ISXNWUG7.js} +1 -1
  100. package/dist/{chunk-DYWTQXP4.js → chunk-IZF2VJU5.js} +22 -22
  101. package/dist/{chunk-6RGIM2ZH.js → chunk-J22RSFKY.js} +79 -9
  102. package/dist/{chunk-WFYHOXTB.js → chunk-J3DTLYER.js} +15 -15
  103. package/dist/{chunk-LEHZTKB3.js → chunk-JC3BMRB5.js} +11 -11
  104. package/dist/{chunk-7RGCQ4VZ.js → chunk-JLIEAQP4.js} +4 -4
  105. package/dist/chunk-JOG6LBOP.js +38 -0
  106. package/dist/{chunk-L7I5PKGD.js → chunk-JQG4VO47.js} +1 -1
  107. package/dist/{chunk-RIEFYHXI.js → chunk-JS3DJH3Q.js} +4 -4
  108. package/dist/{chunk-DGKNOPSE.js → chunk-JWQMD54C.js} +7 -7
  109. package/dist/{chunk-XKJRPVJO.js → chunk-KJ6IH2D5.js} +5 -5
  110. package/dist/{chunk-T6ESD5KM.js → chunk-KPHPVOME.js} +4 -4
  111. package/dist/{chunk-YWZDAZMA.js → chunk-KY2ZHTBJ.js} +6 -6
  112. package/dist/{chunk-7HWXYP4H.js → chunk-LAOZB5YC.js} +11 -11
  113. package/dist/chunk-LRCWWMHH.js +54 -0
  114. package/dist/chunk-LVQMS54L.js +54 -0
  115. package/dist/{chunk-NG5R2WIY.js → chunk-M3BJTXLR.js} +9 -9
  116. package/dist/{chunk-7RUMD56V.js → chunk-M4D3VKAS.js} +1 -1
  117. package/dist/{chunk-UTR67XU2.js → chunk-MFRPLAOH.js} +2 -2
  118. package/dist/{chunk-HZYFLEWO.js → chunk-MI3GGF7V.js} +17 -17
  119. package/dist/{chunk-BA5DTXHQ.js → chunk-MIOY6EXD.js} +4 -4
  120. package/dist/{chunk-BUWSOQLU.js → chunk-ML3HOWPI.js} +4 -4
  121. package/dist/{chunk-SINJKQSI.js → chunk-MOY52LHS.js} +13 -13
  122. package/dist/{chunk-FMRMTI7W.js → chunk-MRLCNXXR.js} +1 -1
  123. package/dist/{chunk-5P5BGG5L.js → chunk-N2FA53DA.js} +6 -6
  124. package/dist/{chunk-ATNG5VOZ.js → chunk-N6YELFHL.js} +2 -2
  125. package/dist/{chunk-MYOW3RPC.js → chunk-N7HG4UP7.js} +6 -6
  126. package/dist/{chunk-7LCQ7JAM.js → chunk-NAKVQU6F.js} +1 -1
  127. package/dist/{chunk-3DDJLI7N.js → chunk-NTNJNRHW.js} +4 -4
  128. package/dist/{chunk-OHXTB6CO.js → chunk-NZY72PGJ.js} +13 -8
  129. package/dist/{chunk-4ONORLK5.js → chunk-O62VA6MH.js} +13 -13
  130. package/dist/{chunk-IVHN2VYG.js → chunk-OJAJXU65.js} +3 -1
  131. package/dist/{chunk-CZI2ACNT.js → chunk-OKUYBXXI.js} +16 -16
  132. package/dist/{chunk-EZSZFI54.js → chunk-OMH3I5BH.js} +2 -2
  133. package/dist/{chunk-5RUMHLIS.js → chunk-P3VBYYAS.js} +24 -3
  134. package/dist/{chunk-WUE6HKIU.js → chunk-P7SONIEO.js} +165 -46
  135. package/dist/{chunk-6E2GJANQ.js → chunk-PAOIMLTK.js} +19 -19
  136. package/dist/{chunk-B3QOYE74.js → chunk-PAQDPB6T.js} +4 -4
  137. package/dist/{chunk-DS3ZEJVN.js → chunk-PGFRXGHA.js} +2 -2
  138. package/dist/{chunk-5V5BJACL.js → chunk-PJRMMWU4.js} +2 -2
  139. package/dist/{chunk-S7ZWCMDO.js → chunk-PKCYRG6G.js} +57 -18
  140. package/dist/{chunk-26DBAGOP.js → chunk-PUGPT4Y6.js} +17 -17
  141. package/dist/{chunk-PQW7PYUR.js → chunk-PVMGHQWB.js} +7 -7
  142. package/dist/{chunk-MSL3CLHX.js → chunk-Q4AWUD6C.js} +16 -16
  143. package/dist/{chunk-JQX6BSE4.js → chunk-QC24Z5JU.js} +10 -10
  144. package/dist/{chunk-WCLAOKCH.js → chunk-QKSWQBWD.js} +8 -8
  145. package/dist/{chunk-GMJXC5AL.js → chunk-QL4VNY4U.js} +1 -1
  146. package/dist/chunk-QOF7U6BI.js +363 -0
  147. package/dist/{chunk-JRPQX2EK.js → chunk-QOPX5M7Y.js} +4 -4
  148. package/dist/{chunk-TEBBD4XH.js → chunk-QR65C3DV.js} +4 -4
  149. package/dist/{chunk-SG5KY4VB.js → chunk-QXGOEP44.js} +3 -3
  150. package/dist/{chunk-XZJE6WIT.js → chunk-RA64IK43.js} +1 -1
  151. package/dist/{chunk-3WU7LVTL.js → chunk-RMNYY5IE.js} +5 -5
  152. package/dist/chunk-S3QCJWCF.js +34 -0
  153. package/dist/{chunk-C75W7VXX.js → chunk-S4USA5WC.js} +20 -18
  154. package/dist/{chunk-FOQXYMOR.js → chunk-S5X7BVWP.js} +19 -19
  155. package/dist/{chunk-EV4TEFOD.js → chunk-SR2M7DWL.js} +13 -13
  156. package/dist/{chunk-R6UTCLH5.js → chunk-T4TMX54Q.js} +16 -16
  157. package/dist/{chunk-OXVVRJDQ.js → chunk-T72K4PLH.js} +11 -11
  158. package/dist/{chunk-SKMHS4CL.js → chunk-TA2ZNDYD.js} +1 -1
  159. package/dist/{chunk-CRQ73DIF.js → chunk-TBKJPKDN.js} +11 -11
  160. package/dist/{chunk-YVCOQ5TZ.js → chunk-TEHH47TG.js} +3 -3
  161. package/dist/{chunk-EATSD7YD.js → chunk-TEZSZ24W.js} +4 -4
  162. package/dist/{chunk-WUP77GG2.js → chunk-TIAPEYWI.js} +3 -3
  163. package/dist/{chunk-J27QGXO4.js → chunk-TIUBGJG3.js} +9 -9
  164. package/dist/{chunk-RWMSJP7H.js → chunk-TJHDFS33.js} +29 -26
  165. package/dist/chunk-TJP2KLZI.js +41 -0
  166. package/dist/{chunk-ZJQUIG3A.js → chunk-TV6ECMN3.js} +15 -14
  167. package/dist/{chunk-JMOLB347.js → chunk-U25OX22K.js} +64 -8
  168. package/dist/{chunk-UNFCFJMF.js → chunk-U2SGLXFR.js} +17 -17
  169. package/dist/{chunk-MV4637YA.js → chunk-U3JGJ3BO.js} +24 -24
  170. package/dist/{chunk-XF3DATVU.js → chunk-U43G5EUN.js} +17 -17
  171. package/dist/{chunk-SNHOLLGN.js → chunk-UQUDITWL.js} +84 -25
  172. package/dist/{chunk-EQOSXLK3.js → chunk-UYKKTEWB.js} +14 -14
  173. package/dist/{chunk-NX6QEEOA.js → chunk-VAL7HAIR.js} +3 -3
  174. package/dist/{chunk-JUQHYTXN.js → chunk-VC4JMXM5.js} +19 -17
  175. package/dist/{chunk-NIYB5K5B.js → chunk-VRH6ITQH.js} +9 -9
  176. package/dist/{chunk-U5PDQTLA.js → chunk-VTMIRRIZ.js} +2 -2
  177. package/dist/{chunk-H4VJO3M2.js → chunk-VUBVBFJW.js} +5 -5
  178. package/dist/{chunk-G7WZH54P.js → chunk-W3ZWS3B3.js} +20 -10
  179. package/dist/{chunk-GG6HIU74.js → chunk-WBOVB3XR.js} +24 -24
  180. package/dist/{chunk-IA2RKC6I.js → chunk-WFJMKUTR.js} +52 -11
  181. package/dist/{chunk-KXZR2BLL.js → chunk-WM4N2L4T.js} +1 -1
  182. package/dist/{chunk-7S3XFWOU.js → chunk-WRLEYM3T.js} +4 -4
  183. package/dist/{chunk-REWZE2XI.js → chunk-WSFPKNKT.js} +23 -23
  184. package/dist/{chunk-SUQZGPVG.js → chunk-XB64FJLU.js} +24 -24
  185. package/dist/{chunk-4AYZQ3SY.js → chunk-XBNKOARP.js} +4 -4
  186. package/dist/chunk-XDTD55UU.js +89 -0
  187. package/dist/{chunk-DQNKG4HY.js → chunk-XMYGEZQ7.js} +17 -17
  188. package/dist/{chunk-R3VFLYZZ.js → chunk-XP3KLC4S.js} +6 -6
  189. package/dist/{chunk-S2FDPN32.js → chunk-XRDYEEDE.js} +1 -1
  190. package/dist/{chunk-7HQOZALR.js → chunk-XSNIHYO6.js} +10 -10
  191. package/dist/chunk-XVQGT4SL.js +37 -0
  192. package/dist/{chunk-ZTNS3L5Z.js → chunk-XZLSKGJX.js} +5 -5
  193. package/dist/{chunk-NR5T46ZY.js → chunk-Y2FMWQQB.js} +16 -16
  194. package/dist/{chunk-7A7IG7OA.js → chunk-Y6LFFSRV.js} +10 -10
  195. package/dist/{chunk-V4XKYGLK.js → chunk-YISWYR3Q.js} +4 -4
  196. package/dist/{chunk-EI4KQYJ3.js → chunk-YSFIQGDK.js} +8 -8
  197. package/dist/{chunk-XPJR74MA.js → chunk-YVQWJDVN.js} +37 -25
  198. package/dist/{chunk-R3RVFCJ2.js → chunk-YY2WGL6S.js} +2 -2
  199. package/dist/{chunk-HQMCHHY5.js → chunk-Z2BA4NNR.js} +2 -2
  200. package/dist/{chunk-G3PBLW4K.js → chunk-ZDZCUZ4N.js} +34 -9
  201. package/dist/{chunk-UFBKJOWB.js → chunk-ZPPLFE4N.js} +14 -14
  202. package/dist/{chunk-WGU6NIUV.js → chunk-ZRP6ZXOF.js} +12 -12
  203. package/dist/{chunk-7J7UY46S.js → chunk-ZTIMXVV5.js} +2 -2
  204. package/dist/{chunk-IWZPGIGT.js → chunk-ZWGU46YO.js} +23 -23
  205. package/dist/files.json +441 -433
  206. package/dist/packages/sdk/npm/index.js +9 -0
  207. package/dist/packages/ui/dist/assets/{elk-api-DDup23Us.js → elk-api-D2NcYpUJ.js} +2 -2
  208. package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
  209. package/dist/packages/ui/dist/index.html +1 -1
  210. package/package.json +5 -5
  211. package/dist/chunk-4Y4FY34K.js +0 -34
  212. package/dist/chunk-ACWQDL6T.js +0 -37
  213. package/dist/chunk-ASKDCMW5.js +0 -275
  214. package/dist/chunk-B3UHYXHU.js +0 -41
  215. package/dist/chunk-DDAEAZEV.js +0 -54
  216. package/dist/chunk-E25G46RW.js +0 -54
  217. package/dist/chunk-KQK6SQPE.js +0 -48
  218. package/dist/chunk-NCR24CPV.js +0 -41
  219. package/dist/chunk-NDW4ROST.js +0 -38
  220. package/dist/chunk-OJN7WME4.js +0 -34
  221. package/dist/chunk-UFTQIK2J.js +0 -43
  222. package/dist/chunk-ZHWSL6SR.js +0 -45
  223. package/dist/packages/ui/dist/assets/index-mTOWhQZm.js +0 -29
@@ -4,19 +4,40 @@ 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
6
  import {
7
- readReviewed
8
- } from "./chunk-ASKDCMW5.js";
7
+ repoFor
8
+ } from "./chunk-7VNEDDCC.js";
9
9
  import {
10
- lineRangeOf
11
- } from "./chunk-XPWSNKF3.js";
10
+ frameworkFacts,
11
+ insideRepo,
12
+ lineRangeOf,
13
+ parseReviewed
14
+ } from "./chunk-7VAMO66T.js";
12
15
  import {
16
+ changesSince,
17
+ createGit
18
+ } from "./chunk-RA64IK43.js";
19
+ import {
20
+ globToRegExp
21
+ } from "./chunk-MRLCNXXR.js";
22
+ import {
23
+ Conventions,
24
+ DEFAULT_CONVENTIONS,
25
+ QuestionDraft,
13
26
  citedFiles,
14
27
  external_exports,
15
28
  factsDirOf,
16
29
  factsRelOf,
30
+ isAdopted,
31
+ isSecretPath,
32
+ loadOrgPack,
33
+ orgPackDirOf,
34
+ parseCorrections,
17
35
  parseFacts,
18
- require_dist
19
- } from "./chunk-JMOLB347.js";
36
+ parseFactsLines,
37
+ raiseQuestions,
38
+ require_dist,
39
+ serializeFacts
40
+ } from "./chunk-U25OX22K.js";
20
41
  import {
21
42
  writeFileAtomic
22
43
  } from "./chunk-MMB2OHUY.js";
@@ -25,9 +46,237 @@ import {
25
46
  } from "./chunk-TV45EUGM.js";
26
47
 
27
48
  // packages/cli/dist/map-parts.js
49
+ var import_yaml2 = __toESM(require_dist(), 1);
50
+ import { readFile as readFile2 } from "node:fs/promises";
51
+ import { join as join2 } from "node:path";
52
+
53
+ // packages/cli/dist/facts-files.js
28
54
  var import_yaml = __toESM(require_dist(), 1);
29
- import { readFile } from "node:fs/promises";
55
+ import { existsSync } from "node:fs";
56
+ import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
30
57
  import { join } from "node:path";
58
+ async function checkoutOf(root, repo, dir) {
59
+ return dir ?? (isAdopted(root) ? root : (await repoFor(root, repo))?.dir ?? void 0);
60
+ }
61
+ async function headOf(dir) {
62
+ try {
63
+ const r = await createGit({ timeoutMs: 3e4 })(["rev-parse", "HEAD"], dir);
64
+ return r.stdout.trim() || void 0;
65
+ } catch {
66
+ return void 0;
67
+ }
68
+ }
69
+ async function carryOf(dir, facts, commit, git) {
70
+ if (!commit)
71
+ return { carry: {}, missing: [] };
72
+ const r = await changesSince(dir, facts.map((f) => f.commit), commit, git);
73
+ return { carry: r.changes, missing: r.missing };
74
+ }
75
+ async function conventionsAt(root) {
76
+ const file = join(orgPackDirOf(root), "conventions.yaml");
77
+ if (!existsSync(file))
78
+ return DEFAULT_CONVENTIONS;
79
+ try {
80
+ const r = Conventions.safeParse((0, import_yaml.parse)(await readFile(file, "utf8")));
81
+ return r.success ? r.data : DEFAULT_CONVENTIONS;
82
+ } catch {
83
+ return DEFAULT_CONVENTIONS;
84
+ }
85
+ }
86
+ async function excludesOf(root, repo) {
87
+ const file = join(orgPackDirOf(root), "scan", `${repo}.yaml`);
88
+ if (!existsSync(file))
89
+ return [];
90
+ try {
91
+ const doc = (0, import_yaml.parse)(await readFile(file, "utf8"));
92
+ return (doc?.exclude ?? []).map((e) => e.path).filter((p) => !!p);
93
+ } catch {
94
+ return [];
95
+ }
96
+ }
97
+ async function raiseReadQuestions(root, repo, lines, source, by) {
98
+ const drafts = [];
99
+ const problems = [];
100
+ for (const raw of lines) {
101
+ const line = JSON.stringify(raw);
102
+ const r2 = QuestionDraft.safeParse(raw);
103
+ if (!r2.success) {
104
+ problems.push({
105
+ line,
106
+ message: `not a question: ${r2.error.issues.map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`).join("; ")}`
107
+ });
108
+ continue;
109
+ }
110
+ const bad = r2.data.evidence.find((e) => {
111
+ const file = e.slice(0, e.lastIndexOf(":"));
112
+ const n = Number(e.slice(e.lastIndexOf(":") + 1));
113
+ if (!insideRepo(file) || isSecretPath(file))
114
+ return true;
115
+ const text = source.read(file);
116
+ return text === void 0 || n < 1 || n > text.split(/\r?\n/).length;
117
+ });
118
+ if (bad) {
119
+ problems.push({ line, message: `its evidence ${bad} is no line of the repo` });
120
+ continue;
121
+ }
122
+ drafts.push(r2.data);
123
+ }
124
+ if (!drafts.length)
125
+ return { raised: [], known: [], problems };
126
+ const r = await raiseQuestions(root, drafts, {
127
+ step: "map",
128
+ repo,
129
+ command: by.command,
130
+ rerun: `atticus map ${repo}`,
131
+ ...by.run ? { run: by.run } : {},
132
+ at: by.at
133
+ });
134
+ return { raised: r.raised, known: [...r.known, ...r.reused], problems };
135
+ }
136
+ async function estateComponentsOf(root) {
137
+ const op = await loadOrgPack(orgPackDirOf(root)).catch(() => void 0);
138
+ const repos = (op?.profiles ?? []).flatMap((p) => p.repos?.repos ?? []);
139
+ if (!repos.length)
140
+ return void 0;
141
+ const components = repos.flatMap((r) => [
142
+ r.id,
143
+ ...r.component ? [r.component] : [],
144
+ ...(r.modules ?? []).map((m) => m.component)
145
+ ]);
146
+ const repoComponents = {};
147
+ for (const r of repos) {
148
+ const text = await readFile(join(factsDirOf(root), `${r.id}.jsonl`), "utf8").catch(() => void 0);
149
+ if (text === void 0)
150
+ continue;
151
+ const named = parseFactsLines(text).facts.flatMap((f) => f.component ? [f.component] : []);
152
+ repoComponents[r.id] = [
153
+ .../* @__PURE__ */ new Set([r.component ?? r.id, ...(r.modules ?? []).map((m) => m.component), ...named])
154
+ ].sort();
155
+ }
156
+ return { components: [...new Set(components)].sort(), repoComponents };
157
+ }
158
+ var SKIPPED_LISTED = 100;
159
+ function slipNoteLines(slips, verifyYaml, shown = 5) {
160
+ if (!slips.length)
161
+ return [];
162
+ return [
163
+ `${slips.length} ${slips.length === 1 ? "slip" : "slips"} of form fixed in the facts (a note, not a rejection; under slips in ${verifyYaml}):`,
164
+ ...slips.slice(0, shown).map((x) => ` ${x.message}`),
165
+ ...slips.length > shown ? [` ... and ${slips.length - shown} more (slips in ${verifyYaml})`] : []
166
+ ];
167
+ }
168
+ async function writeVerifyFiles(root, repo, report, commit, questionProblems = [], badLines = [], reviewedProblems = [], slips = []) {
169
+ const dir = factsDirOf(root);
170
+ await mkdir(dir, { recursive: true });
171
+ await writeFile(join(dir, `${repo}.jsonl`), serializeFacts(report.accepted), "utf8");
172
+ const rejectedFile = join(dir, `${repo}.rejected.jsonl`);
173
+ const lines = [
174
+ ...report.rejected.map((r) => JSON.stringify({ code: r.code, message: r.message, fact: r.fact })),
175
+ ...questionProblems.map((q) => JSON.stringify({ code: "bad-question", message: q.message, question: JSON.parse(q.line) })),
176
+ ...badLines.map((b) => JSON.stringify({ code: "schema", message: b.message, raw: b.raw })),
177
+ ...reviewedProblems.map((r) => JSON.stringify({ code: "bad-reviewed", message: r.message, reviewed: r.raw }))
178
+ ];
179
+ if (lines.length)
180
+ await writeFile(rejectedFile, lines.join("\n") + "\n", "utf8");
181
+ else
182
+ await rm(rejectedFile, { force: true });
183
+ const summary = {
184
+ repo,
185
+ ...commit ? { commit } : {},
186
+ accepted: report.accepted.length,
187
+ rejected: report.rejected.length,
188
+ redacted: report.redacted,
189
+ ...report.quotesDropped ? { quotesDropped: report.quotesDropped } : {},
190
+ coverage: {
191
+ ratio: report.coverage.ratio,
192
+ read: report.coverage.read.length,
193
+ ...report.coverage.reviewed.length ? { reviewed: report.coverage.reviewed.length } : {},
194
+ unknown: report.coverage.unknown,
195
+ excluded: report.coverage.excluded,
196
+ ...report.coverage.notReached.length ? { notReached: report.coverage.notReached } : {}
197
+ },
198
+ rejections: report.rejected.map((r) => ({ id: r.fact.id, code: r.code, message: r.message })),
199
+ // ADR 0124 addendum D-app: a person's corrections, said only when there are some.
200
+ ...report.corrections.applied.length || report.corrections.stale.length ? {
201
+ corrections: {
202
+ applied: report.corrections.applied,
203
+ stale: report.corrections.stale.map((s) => ({
204
+ fact: s.correction.fact,
205
+ why: s.why,
206
+ message: s.message
207
+ }))
208
+ }
209
+ } : {}
210
+ };
211
+ if (report.carried.length) {
212
+ const by = /* @__PURE__ */ new Map();
213
+ for (const c of report.carried)
214
+ by.set(c.from, [...by.get(c.from) ?? [], c.id]);
215
+ summary.carried = [...by.entries()].sort((a, b) => a[0] < b[0] ? -1 : 1).map(([from, facts]) => ({ from, facts: facts.sort() }));
216
+ }
217
+ if (report.entriesNoFlowFollows.length)
218
+ summary.entriesNoFlowFollows = report.entriesNoFlowFollows;
219
+ if (report.reviewed.length)
220
+ summary.reviewed = report.reviewed;
221
+ if (report.reviewedDropped.length)
222
+ summary.reviewedDropped = report.reviewedDropped;
223
+ if (report.methodUnseen.length) {
224
+ summary.methodUnseenCount = report.methodUnseen.length;
225
+ summary.methodUnseen = report.methodUnseen;
226
+ }
227
+ if (report.skipped.length) {
228
+ summary.skippedCount = report.skipped.length;
229
+ summary.skipped = report.skipped.slice(0, SKIPPED_LISTED);
230
+ }
231
+ if (report.reviewedHolds.length)
232
+ summary.reviewedHolds = report.reviewedHolds;
233
+ if (report.specOpsUncovered.length) {
234
+ summary.specOpsUncoveredCount = report.specOpsUncovered.length;
235
+ summary.specOpsUncovered = report.specOpsUncovered.slice(0, SKIPPED_LISTED);
236
+ }
237
+ if (slips.length)
238
+ summary.slips = [...slips];
239
+ if (report.authUncited.length)
240
+ summary.authUncited = report.authUncited;
241
+ const fws = frameworkFacts(report.accepted);
242
+ if (fws.length)
243
+ summary.frameworks = fws.map((f) => ({
244
+ name: f.name,
245
+ ...f.version ? { version: f.version } : {},
246
+ cite: `${f.cite.file}:${f.cite.line}`,
247
+ ...f.component ? { component: f.component } : {}
248
+ }));
249
+ if (report.frameworkGaps.length)
250
+ summary.frameworkGaps = report.frameworkGaps;
251
+ await writeFile(join(dir, `${repo}.verify.yaml`), (0, import_yaml.stringify)(summary), "utf8");
252
+ return summary;
253
+ }
254
+ async function readCorrections(root, repo) {
255
+ const text = await readFile(join(factsDirOf(root), `${repo}.corrections.jsonl`), "utf8").catch(() => void 0);
256
+ return text === void 0 ? { corrections: [], bad: [] } : parseCorrections(text);
257
+ }
258
+ async function readReviewed(root, repo) {
259
+ const text = await readFile(join(factsDirOf(root), `${repo}.reviewed.jsonl`), "utf8").catch(() => void 0);
260
+ if (text === void 0)
261
+ return { entries: [], bad: [] };
262
+ const r = parseReviewed(text);
263
+ return {
264
+ entries: r.entries,
265
+ bad: r.bad.map((b) => ({ line: b.line, raw: b.raw, message: b.message }))
266
+ };
267
+ }
268
+ function reviewedProblemsOf(bad, report) {
269
+ return [
270
+ ...bad,
271
+ ...report.reviewedProblems.map((p) => ({
272
+ ...p.line !== void 0 ? { line: p.line } : {},
273
+ raw: { path: p.path, why: p.why },
274
+ message: p.message
275
+ }))
276
+ ].sort((a, b) => (a.line ?? 0) - (b.line ?? 0));
277
+ }
278
+
279
+ // packages/cli/dist/map-parts.js
31
280
  var ReadStamp = external_exports.strictObject({ at: external_exports.string().min(1), commit: external_exports.string().min(1) });
32
281
  var Part = external_exports.strictObject({
33
282
  part: external_exports.number().int().positive(),
@@ -57,6 +306,34 @@ var Reported = external_exports.strictObject({
57
306
  /** Who reported it (--by), when given. */
58
307
  by: external_exports.string().min(1).optional()
59
308
  });
309
+ var RulesRecord = external_exports.strictObject({
310
+ hash: external_exports.string().min(1),
311
+ sets: external_exports.array(external_exports.string().min(1))
312
+ });
313
+ var TopUpSession = external_exports.strictObject({
314
+ paths: external_exports.array(external_exports.string().min(1)).min(1),
315
+ sets: external_exports.array(external_exports.string().min(1)).min(1),
316
+ files: external_exports.number().int().nonnegative(),
317
+ tokens: external_exports.number().int().nonnegative(),
318
+ /** When `atticus map <repo> --rules` last gave it to a reader. */
319
+ given: external_exports.string().min(1).optional(),
320
+ /** When a verify that passed after it was given found it done. */
321
+ done: ReadStamp.optional()
322
+ });
323
+ var TopUp = external_exports.strictObject({
324
+ commit: external_exports.string().min(1),
325
+ hash: external_exports.string().min(1),
326
+ sets: external_exports.array(external_exports.string().min(1)),
327
+ session: external_exports.number().int().positive(),
328
+ plannedAt: external_exports.string().min(1),
329
+ sessions: external_exports.array(TopUpSession)
330
+ });
331
+ var MODELS_MODES = ["reachable", "all"];
332
+ var NotReached = external_exports.strictObject({
333
+ why: external_exports.string().min(1),
334
+ files: external_exports.array(external_exports.string().min(1)),
335
+ tokens: external_exports.number().int().nonnegative()
336
+ });
60
337
  var ReadPlanFile = external_exports.strictObject({
61
338
  /** 2 since ADR 0141 (a v1 file reads as v2: `migrateReadPlan`). */
62
339
  schemaVersion: external_exports.literal(2),
@@ -82,7 +359,18 @@ var ReadPlanFile = external_exports.strictObject({
82
359
  /** ADR 0141: when `atticus verify` first found the whole plan in the facts. */
83
360
  read: ReadStamp.extend({ sessions: external_exports.number().int().positive() }).optional(),
84
361
  /** ADR 0141: what the reader reported the read took (`atticus map <repo> --spent`). */
85
- reported: external_exports.array(Reported).optional()
362
+ reported: external_exports.array(Reported).optional(),
363
+ /** ADR 0167: the reading rules the read was given; none when read before they were recorded. */
364
+ rules: RulesRecord.optional(),
365
+ /** ADR 0167: a top-up for the rule sets the read lacked, under way. */
366
+ topUp: TopUp.optional(),
367
+ /**
368
+ * ADR 0169: `all` when a person asked for every model class (`--models all`); left out, the
369
+ * read takes those its entry points and calls reach.
370
+ */
371
+ models: external_exports.enum(MODELS_MODES).optional(),
372
+ /** ADR 0169: the model files the read leaves out, nothing reaching them. */
373
+ notReached: NotReached.optional()
86
374
  });
87
375
  function migrateReadPlan(raw) {
88
376
  const v2 = ReadPlanFile.safeParse(raw);
@@ -94,7 +382,7 @@ function migrateReadPlan(raw) {
94
382
  return { ...v1.data, schemaVersion: 2 };
95
383
  }
96
384
  var readPlanRelOf = (root, repo) => `${factsRelOf(root)}/${repo}.read-plan.yaml`;
97
- var readPlanPath = (root, repo) => join(factsDirOf(root), `${repo}.read-plan.yaml`);
385
+ var readPlanPath = (root, repo) => join2(factsDirOf(root), `${repo}.read-plan.yaml`);
98
386
  function unitOf(glob) {
99
387
  const range = lineRangeOf(glob);
100
388
  if (range)
@@ -107,7 +395,7 @@ function unitOf(glob) {
107
395
  return { glob, dir: "", deep: false };
108
396
  if (glob.endsWith("/*"))
109
397
  return { glob, dir: glob.slice(0, -2), deep: false };
110
- return { glob, dir: glob.replace(/\/?[^/]*$/, ""), deep: false };
398
+ return { glob, dir: glob.replace(/\/?[^/]*$/, ""), deep: false, file: glob };
111
399
  }
112
400
  function folderOf(path) {
113
401
  const star = path.search(/[*?]/);
@@ -115,6 +403,7 @@ function folderOf(path) {
115
403
  return { dir: path.replace(/\/?[^/]*$/, ""), deep: false };
116
404
  return { dir: path.slice(0, star).replace(/\/$/, ""), deep: true };
117
405
  }
406
+ var isGlobPath = (p) => /[*?]/.test(p);
118
407
  var under = (dir, of) => of === "" || dir === of || dir.startsWith(`${of}/`);
119
408
  function globHolds(glob, file) {
120
409
  const u = unitOf(glob);
@@ -127,7 +416,7 @@ function globHolds(glob, file) {
127
416
  }
128
417
  var HEADER = "# The parts this repo is read in (ADR 0124 addendum A-ledger), as atticus map --estimate planned them,\n# and what the read cost (ADR 0141): tokens are estimates, reported numbers are the reader's word.\n# Which part is next is read back from the facts; atticus next says it. Atticus writes this file.\n";
129
418
  async function saveReadPlan(root, plan) {
130
- await writeFileAtomic(readPlanPath(root, plan.repo), `${HEADER}${(0, import_yaml.stringify)(ReadPlanFile.parse(plan), { lineWidth: 0 })}`);
419
+ await writeFileAtomic(readPlanPath(root, plan.repo), `${HEADER}${(0, import_yaml2.stringify)(ReadPlanFile.parse(plan), { lineWidth: 0 })}`);
131
420
  }
132
421
  async function writeReadPlan(root, repo, o) {
133
422
  const plan = {
@@ -143,18 +432,45 @@ async function writeReadPlan(root, repo, o) {
143
432
  files: p.files,
144
433
  tokens: p.tokens
145
434
  })),
146
- ...o.reported?.length ? { reported: [...o.reported] } : {}
435
+ ...o.reported?.length ? { reported: [...o.reported] } : {},
436
+ ...o.rules ? { rules: { hash: o.rules.hash, sets: [...o.rules.sets] } } : {},
437
+ ...o.models === "all" ? { models: "all" } : {},
438
+ ...o.notReached?.files.length ? { notReached: o.notReached } : {}
147
439
  };
148
440
  await saveReadPlan(root, plan);
149
441
  return plan;
150
442
  }
151
443
  var stamp = () => (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d{3}Z$/, "Z");
444
+ async function recordNotReached(root, repo, o) {
445
+ const plan = await loadReadPlan(root, repo);
446
+ const { notReached: _n, models: _m, ...rest } = plan ?? {
447
+ schemaVersion: 2,
448
+ repo,
449
+ commit: o.commit,
450
+ session: o.session,
451
+ plannedAt: stamp(),
452
+ parts: []
453
+ };
454
+ const next = {
455
+ ...rest,
456
+ ...o.models === "all" ? { models: "all" } : {},
457
+ ...o.notReached?.files.length ? { notReached: o.notReached } : {}
458
+ };
459
+ if (plan && JSON.stringify(plan) === JSON.stringify(next))
460
+ return;
461
+ if (!plan && !next.notReached && !next.models)
462
+ return;
463
+ await saveReadPlan(root, next);
464
+ }
465
+ async function modelsModeOf(root, repo, asked) {
466
+ return asked ?? (await loadReadPlan(root, repo))?.models ?? "reachable";
467
+ }
152
468
  async function loadReadPlan(root, repo) {
153
- const text = await readFile(readPlanPath(root, repo), "utf8").catch(() => void 0);
469
+ const text = await readFile2(readPlanPath(root, repo), "utf8").catch(() => void 0);
154
470
  if (text === void 0)
155
471
  return void 0;
156
472
  try {
157
- return migrateReadPlan((0, import_yaml.parse)(text));
473
+ return migrateReadPlan((0, import_yaml2.parse)(text));
158
474
  } catch {
159
475
  return void 0;
160
476
  }
@@ -178,7 +494,7 @@ async function coveredOf(root, repo) {
178
494
  const reviewed = /* @__PURE__ */ new Set();
179
495
  const lines = [];
180
496
  const ranges = /* @__PURE__ */ new Set();
181
- const text = await readFile(join(factsDirOf(root), `${repo}.jsonl`), "utf8").catch(() => void 0);
497
+ const text = await readFile2(join2(factsDirOf(root), `${repo}.jsonl`), "utf8").catch(() => void 0);
182
498
  if (text !== void 0) {
183
499
  const parsed = parseFacts(text);
184
500
  const facts = parsed.ok ? parsed.facts : [];
@@ -235,6 +551,8 @@ function progressOf(plan, of, o) {
235
551
  return of.ranges.has(u.glob) || of.lines.some((l) => l.file === r.file && l.line >= start && l.line <= r.to) || // The whole file reviewed, or a folder glob reviewed over it.
236
552
  of.reviewed.has(r.file) || [...of.reviewed].some((c) => folderOf(c).deep && under(u.dir, folderOf(c).dir));
237
553
  }
554
+ if (u.file)
555
+ return of.paths.includes(u.file) || [...of.reviewed].some((c) => isGlobPath(c) && globToRegExp(c).test(u.file));
238
556
  return covered.some((c) => u.deep ? under(c.dir, u.dir) : c.dir === u.dir || c.deep && under(u.dir, c.dir));
239
557
  };
240
558
  const yes = units.filter(hit).map((u) => u.glob);
@@ -387,12 +705,27 @@ async function mapSpent(root, repo, o, io) {
387
705
  }
388
706
 
389
707
  export {
708
+ checkoutOf,
709
+ headOf,
710
+ carryOf,
711
+ conventionsAt,
712
+ excludesOf,
713
+ raiseReadQuestions,
714
+ estateComponentsOf,
715
+ slipNoteLines,
716
+ writeVerifyFiles,
717
+ readCorrections,
718
+ readReviewed,
719
+ reviewedProblemsOf,
720
+ MODELS_MODES,
390
721
  ReadPlanFile,
391
722
  migrateReadPlan,
392
723
  readPlanRelOf,
393
724
  globHolds,
394
725
  saveReadPlan,
395
726
  writeReadPlan,
727
+ recordNotReached,
728
+ modelsModeOf,
396
729
  loadReadPlan,
397
730
  readPlanProgress,
398
731
  ownStarts,
@@ -4,12 +4,14 @@ 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
6
  import {
7
- routeQuestions
8
- } from "./chunk-5RUMHLIS.js";
9
- import "./chunk-XZJE6WIT.js";
10
- import "./chunk-JMOLB347.js";
7
+ routeQuestions,
8
+ ruleOffers
9
+ } from "./chunk-P3VBYYAS.js";
10
+ import "./chunk-RA64IK43.js";
11
+ import "./chunk-U25OX22K.js";
11
12
  import "./chunk-MMB2OHUY.js";
12
13
  import "./chunk-TV45EUGM.js";
13
14
  export {
14
- routeQuestions
15
+ routeQuestions,
16
+ ruleOffers
15
17
  };
@@ -4,11 +4,11 @@ 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
6
  import {
7
- notesAt
8
- } from "./chunk-52WCHTVZ.js";
7
+ recordTopUpVerified
8
+ } from "./chunk-QOF7U6BI.js";
9
9
  import {
10
- recordReadProgress
11
- } from "./chunk-LVBPY2M6.js";
10
+ notesAt
11
+ } from "./chunk-CGF4LKXR.js";
12
12
  import {
13
13
  carryOf,
14
14
  checkoutOf,
@@ -16,25 +16,27 @@ import {
16
16
  estateComponentsOf,
17
17
  excludesOf,
18
18
  headOf,
19
+ loadReadPlan,
19
20
  raiseReadQuestions,
20
21
  readCorrections,
21
22
  readReviewed,
23
+ recordReadProgress,
22
24
  reviewedProblemsOf,
23
25
  slipNoteLines,
24
26
  writeVerifyFiles
25
- } from "./chunk-ASKDCMW5.js";
27
+ } from "./chunk-6AYUBYK6.js";
26
28
  import {
27
29
  dirSource,
28
30
  frameworkFacts,
29
31
  frameworksToLearn,
30
32
  repairFormSlips,
31
33
  verifyFacts
32
- } from "./chunk-XPWSNKF3.js";
34
+ } from "./chunk-7VAMO66T.js";
33
35
  import {
34
36
  NoRoomError,
35
37
  roomGuard,
36
38
  streamFacts
37
- } from "./chunk-RJDP642F.js";
39
+ } from "./chunk-ARLH2ZMD.js";
38
40
  import {
39
41
  factsDirOf,
40
42
  factsRelOf,
@@ -42,7 +44,7 @@ import {
42
44
  loadOrgPack,
43
45
  orgPackDirOf,
44
46
  stackHelpersOff
45
- } from "./chunk-JMOLB347.js";
47
+ } from "./chunk-U25OX22K.js";
46
48
 
47
49
  // packages/cli/dist/verify-commands.js
48
50
  import { existsSync } from "node:fs";
@@ -99,7 +101,9 @@ async function verifyInputsOf(root, repo, dir) {
99
101
  reviewed: await readReviewed(root, repo),
100
102
  estate: await estateComponentsOf(root),
101
103
  conventions: await conventionsAt(root),
102
- exclude: await excludesOf(root, repo)
104
+ exclude: await excludesOf(root, repo),
105
+ // ADR 0169: the model files the read plan leaves out, counted apart in coverage.
106
+ notReached: (await loadReadPlan(root, repo))?.notReached?.files ?? []
103
107
  };
104
108
  }
105
109
  async function verifyCommand(root, repo, o, io) {
@@ -165,7 +169,8 @@ async function verifyCommand(root, repo, o, io) {
165
169
  // J1 (ADR 0143): an exposure read here names a component the manifest lists.
166
170
  ...estate ? { estate } : {},
167
171
  conventions,
168
- notes: inputs.notes
172
+ notes: inputs.notes,
173
+ notReached: inputs.notReached
169
174
  });
170
175
  } catch (e) {
171
176
  if (!(e instanceof NoRoomError))
@@ -210,11 +215,13 @@ async function verifyCommand(root, repo, o, io) {
210
215
  now: o.now().toISOString().replace(/\.\d{3}Z$/, "Z")
211
216
  } : {}
212
217
  });
218
+ if (!failed)
219
+ await recordTopUpVerified(root, repo, { commit });
213
220
  const rejectedNote = `Nothing written to the catalog: ${report.rejected.length} facts were rejected. Fix them and run atticus verify ${repo} --write again.`;
214
221
  if (o.json) {
215
222
  let written2;
216
223
  if (o.write && !failed) {
217
- const { writeFactsIntoCatalog: writeFactsIntoCatalog2 } = await import("./chunk-KLKENMWQ.js");
224
+ const { writeFactsIntoCatalog: writeFactsIntoCatalog2 } = await import("./chunk-CUD4I2U6.js");
218
225
  written2 = await writeFactsIntoCatalog2(root, repo, report.accepted, { dir, command: `atticus verify ${repo} --write` }, { ...io, out: () => void 0 });
219
226
  if (!written2)
220
227
  return 1;
@@ -237,7 +244,9 @@ async function verifyCommand(root, repo, o, io) {
237
244
  }
238
245
  const pct = Math.round(report.coverage.ratio * 100);
239
246
  const cov = report.coverage;
240
- io.out(`${repo}: ${report.accepted.length} facts kept, ${report.rejected.length} rejected; coverage ${pct}% (${cov.read.length} read, ${cov.reviewed.length ? `${cov.reviewed.length} reviewed with nothing to record, ` : ""}${cov.unknown.length} unknown${cov.excluded.length ? `, ${cov.excluded.length} excluded` : ""}).`);
247
+ io.out(`${repo}: ${report.accepted.length} facts kept, ${report.rejected.length} rejected; coverage ${pct}% (${cov.read.length} read, ${cov.reviewed.length ? `${cov.reviewed.length} reviewed with nothing to record, ` : ""}${cov.unknown.length} unknown${cov.excluded.length ? `, ${cov.excluded.length} excluded` : ""}${cov.notReached.length ? `, ${cov.notReached.length} model files no entry or call reaches` : ""}).`);
248
+ if (cov.notReached.length)
249
+ io.out(`${cov.notReached.length} model files no entry or call reaches; atticus map ${repo} --models all reads them.`);
241
250
  const verifyYaml = `${rel}/${repo}.verify.yaml`;
242
251
  const rejectedFile = `${rel}/${repo}.rejected.jsonl`;
243
252
  const show = (lines, more) => {
@@ -354,7 +363,7 @@ async function verifyCommand(root, repo, o, io) {
354
363
  io.out(`When the read is complete: atticus verify ${repo} --write puts the facts in the catalog, the flows in specs/${repo}/, and renders the map.`);
355
364
  return 0;
356
365
  }
357
- const { writeFactsIntoCatalog } = await import("./chunk-KLKENMWQ.js");
366
+ const { writeFactsIntoCatalog } = await import("./chunk-CUD4I2U6.js");
358
367
  const written = await writeFactsIntoCatalog(root, repo, report.accepted, { dir, command: `atticus verify ${repo} --write`, verbose: o.verbose === true }, io);
359
368
  return written ? 0 : 1;
360
369
  }
@@ -10,22 +10,22 @@ import {
10
10
  findingAction,
11
11
  findings,
12
12
  statusLine
13
- } from "./chunk-HGQZTUAC.js";
13
+ } from "./chunk-5I5JDJ3R.js";
14
14
  import "./chunk-VOGCSYOI.js";
15
- import "./chunk-T6ESD5KM.js";
16
- import "./chunk-3LU6YCSQ.js";
17
- import "./chunk-L7I5PKGD.js";
18
- import "./chunk-CAN3EBE5.js";
19
- import "./chunk-IILZ7J3L.js";
20
- import "./chunk-TEBBD4XH.js";
21
- import "./chunk-XPWSNKF3.js";
22
- import "./chunk-WIMOJMAK.js";
23
- import "./chunk-5V5BJACL.js";
24
- import "./chunk-GVFUEGGM.js";
25
- import "./chunk-XZJE6WIT.js";
26
- import "./chunk-FMRMTI7W.js";
27
- import "./chunk-BKFGGJKA.js";
28
- import "./chunk-JMOLB347.js";
15
+ import "./chunk-KPHPVOME.js";
16
+ import "./chunk-G5SKNMPC.js";
17
+ import "./chunk-JQG4VO47.js";
18
+ import "./chunk-DW4BM73R.js";
19
+ import "./chunk-DBZNQAMN.js";
20
+ import "./chunk-QR65C3DV.js";
21
+ import "./chunk-7VAMO66T.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";
29
29
  import "./chunk-MMB2OHUY.js";
30
30
  import "./chunk-TV45EUGM.js";
31
31
  export {
@@ -5,17 +5,17 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
5
5
  var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  metarepoToolBox
8
- } from "./chunk-YVCOQ5TZ.js";
8
+ } from "./chunk-TEHH47TG.js";
9
9
  import {
10
10
  CONTEXT_TOOLS
11
- } from "./chunk-XNRPCI23.js";
11
+ } from "./chunk-77UOXZVM.js";
12
12
  import {
13
13
  TOOL_LIMITS,
14
14
  ToolSession,
15
15
  readToolCalls,
16
16
  recordToolCalls
17
- } from "./chunk-BKFGGJKA.js";
18
- import "./chunk-JMOLB347.js";
17
+ } from "./chunk-CQD26SMZ.js";
18
+ import "./chunk-U25OX22K.js";
19
19
  import "./chunk-MMB2OHUY.js";
20
20
  import "./chunk-TV45EUGM.js";
21
21
 
@@ -8,7 +8,7 @@ import {
8
8
  executorsCheck,
9
9
  inputsSha256,
10
10
  runStep
11
- } from "./chunk-7J7UY46S.js";
11
+ } from "./chunk-ZTIMXVV5.js";
12
12
  import {
13
13
  table
14
14
  } from "./chunk-VOGCSYOI.js";
@@ -17,7 +17,7 @@ import {
17
17
  exportStep,
18
18
  fileStepStore,
19
19
  recordStep
20
- } from "./chunk-CAN3EBE5.js";
20
+ } from "./chunk-DW4BM73R.js";
21
21
 
22
22
  // packages/cli/dist/todo-commands.js
23
23
  var iso = (d) => d.toISOString().replace(/\.\d{3}Z$/, "Z");