scip-query 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (661) hide show
  1. package/CHANGELOG.md +247 -1
  2. package/README.md +111 -124
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/by-kind-PRVFAGTQ.js +2 -0
  5. package/dist/call-graph-DVPAQV2F.js +2 -0
  6. package/dist/{call-graph-evidence-BociKRpF.d.ts → call-graph-evidence-CUtj8V2I.d.ts} +1 -1
  7. package/dist/chunk-2FSBGL5P.js +2 -0
  8. package/dist/chunk-2HLAFUCY.js +2 -0
  9. package/dist/chunk-2IWUT6CJ.js +3 -0
  10. package/dist/chunk-2KNN7GTQ.js +2 -0
  11. package/dist/chunk-2LHXRE2B.js +8 -0
  12. package/dist/{chunk-E65ELFKU.js → chunk-2YXE77TJ.js} +2 -2
  13. package/dist/chunk-36SGVCGX.js +2 -0
  14. package/dist/chunk-3ABBFPTP.js +2 -0
  15. package/dist/chunk-3IVFU4FD.js +3 -0
  16. package/dist/chunk-3JIQS44J.js +7 -0
  17. package/dist/chunk-3ZRB6DNK.js +7 -0
  18. package/dist/{chunk-6YTSKJJ3.js → chunk-42EOW5VI.js} +1 -1
  19. package/dist/{chunk-BHKK5RJY.js → chunk-4BHGBMNO.js} +2 -2
  20. package/dist/chunk-4BP3UBDG.js +2 -0
  21. package/dist/chunk-4D6RO7G4.js +2 -0
  22. package/dist/chunk-4FEWQ6RH.js +2 -0
  23. package/dist/chunk-4IGEOBG7.js +2 -0
  24. package/dist/chunk-4QZXBUKC.js +2 -0
  25. package/dist/chunk-4WBDEVX2.js +4 -0
  26. package/dist/chunk-4WCUBZU3.js +8 -0
  27. package/dist/chunk-4WTUBQ36.js +40 -0
  28. package/dist/chunk-4XQ4O6IM.js +3 -0
  29. package/dist/chunk-55UQAMZO.js +4 -0
  30. package/dist/chunk-5D2LVK7O.js +125 -0
  31. package/dist/chunk-5IYJ56TT.js +2 -0
  32. package/dist/chunk-5PLMJC7Q.js +2 -0
  33. package/dist/chunk-5TNQJUR2.js +5 -0
  34. package/dist/chunk-62BDNPMI.js +2 -0
  35. package/dist/chunk-64DZ5TXR.js +7 -0
  36. package/dist/chunk-65245JCM.js +2 -0
  37. package/dist/chunk-6FFVZZL4.js +2 -0
  38. package/dist/chunk-6KO5JHAR.js +2 -0
  39. package/dist/chunk-6LRXOOSX.js +2 -0
  40. package/dist/chunk-6LSEIIF7.js +2 -0
  41. package/dist/chunk-6YMNWD3H.js +6 -0
  42. package/dist/chunk-72AD6ZRR.js +5 -0
  43. package/dist/chunk-73AAKPUC.js +4 -0
  44. package/dist/chunk-76CZ77DF.js +2 -0
  45. package/dist/chunk-7VPEEAAG.js +2 -0
  46. package/dist/chunk-7WTPQ4NX.js +14 -0
  47. package/dist/chunk-7Y5T6XDP.js +2 -0
  48. package/dist/chunk-A2IIGFMJ.js +5 -0
  49. package/dist/chunk-AB5KCTEV.js +2 -0
  50. package/dist/chunk-AC566WBP.js +6 -0
  51. package/dist/chunk-AGWFSTXC.js +3 -0
  52. package/dist/chunk-AOSIYPTA.js +2 -0
  53. package/dist/chunk-AUVEWPIF.js +2 -0
  54. package/dist/chunk-B56T42J3.js +25 -0
  55. package/dist/chunk-BIQEF5NE.js +2 -0
  56. package/dist/chunk-BL6XJKTA.js +3 -0
  57. package/dist/chunk-BMKOQJRI.js +2 -0
  58. package/dist/chunk-BOZ4EXBB.js +3 -0
  59. package/dist/chunk-BUTWYEPH.js +2 -0
  60. package/dist/chunk-BZB4QPIP.js +2 -0
  61. package/dist/{chunk-6ILKOOGH.js → chunk-CE357GEE.js} +4 -4
  62. package/dist/chunk-CFN45HFP.js +2 -0
  63. package/dist/chunk-CFYMZFXT.js +368 -0
  64. package/dist/chunk-CN5EH7O3.js +2 -0
  65. package/dist/chunk-D254DNNQ.js +4 -0
  66. package/dist/chunk-D3FDISIC.js +2 -0
  67. package/dist/chunk-D3NX5XIE.js +3 -0
  68. package/dist/chunk-DA7RPPDF.js +3 -0
  69. package/dist/chunk-DDMC3FON.js +3 -0
  70. package/dist/chunk-DIO3FUSG.js +2 -0
  71. package/dist/chunk-DJ2NNSUK.js +3 -0
  72. package/dist/chunk-DKYQIM3C.js +18 -0
  73. package/dist/{chunk-OHIV323X.js → chunk-DOOEL2IV.js} +2 -2
  74. package/dist/chunk-DVFP6PZI.js +2 -0
  75. package/dist/chunk-E3FDPXZK.js +2 -0
  76. package/dist/chunk-E7YNJLCB.js +2 -0
  77. package/dist/chunk-EFGW5JPH.js +2 -0
  78. package/dist/chunk-EJVTR244.js +13 -0
  79. package/dist/chunk-EOV7RTRZ.js +2 -0
  80. package/dist/chunk-ETOIKRHO.js +2 -0
  81. package/dist/chunk-EYK3ZAO2.js +3 -0
  82. package/dist/chunk-F2V2LPET.js +52 -0
  83. package/dist/chunk-F4LUHJTF.js +2 -0
  84. package/dist/chunk-F4PUT6IT.js +2 -0
  85. package/dist/chunk-F56GCXXS.js +5 -0
  86. package/dist/chunk-FC2EVQRM.js +2 -0
  87. package/dist/chunk-FL7NBMHP.js +3 -0
  88. package/dist/chunk-FMRN2TRL.js +3 -0
  89. package/dist/chunk-FVULPZDF.js +20 -0
  90. package/dist/chunk-GCKCF5FL.js +43 -0
  91. package/dist/chunk-GH2PYF46.js +2 -0
  92. package/dist/chunk-GHJAGXIP.js +2 -0
  93. package/dist/{chunk-2GJSD5GY.js → chunk-GMVSHUKZ.js} +2 -2
  94. package/dist/chunk-GS6KDO4R.js +2 -0
  95. package/dist/chunk-GUUBXNN7.js +2 -0
  96. package/dist/chunk-GVWX5T43.js +80 -0
  97. package/dist/chunk-GZKFETP5.js +2 -0
  98. package/dist/chunk-H4EQHO6J.js +9 -0
  99. package/dist/chunk-H73WY2RM.js +2 -0
  100. package/dist/chunk-H75GSPRV.js +60 -0
  101. package/dist/chunk-HDR3AHSV.js +61 -0
  102. package/dist/chunk-HQBSL74Y.js +2 -0
  103. package/dist/chunk-HRRFKWPZ.js +2 -0
  104. package/dist/chunk-HXENDJC6.js +2 -0
  105. package/dist/chunk-IIBAZNSW.js +21 -0
  106. package/dist/chunk-INLMWEUU.js +12 -0
  107. package/dist/chunk-IWQPAF4F.js +2 -0
  108. package/dist/chunk-IZJ6YUKP.js +35 -0
  109. package/dist/chunk-J2TMAIN5.js +60 -0
  110. package/dist/chunk-J5FJMODQ.js +142 -0
  111. package/dist/chunk-J7HZPIO3.js +2 -0
  112. package/dist/chunk-JEVRKFRL.js +2 -0
  113. package/dist/chunk-JFXSGAEB.js +30 -0
  114. package/dist/chunk-JVRTHGFS.js +3 -0
  115. package/dist/chunk-JYWEX7RR.js +360 -0
  116. package/dist/chunk-K3YL22N6.js +2 -0
  117. package/dist/chunk-K4CN7GXK.js +12 -0
  118. package/dist/chunk-K5TBVXU4.js +30 -0
  119. package/dist/chunk-KDDIE2DP.js +9 -0
  120. package/dist/chunk-KHWRRPV4.js +2 -0
  121. package/dist/chunk-KI6NBKDY.js +14 -0
  122. package/dist/chunk-KU3QRSTH.js +2 -0
  123. package/dist/chunk-KZBJWZJB.js +2 -0
  124. package/dist/chunk-L7GFM3NP.js +3 -0
  125. package/dist/chunk-LMO6PK3V.js +35 -0
  126. package/dist/chunk-LN4YXJJU.js +2 -0
  127. package/dist/chunk-LOVIZBJ4.js +43 -0
  128. package/dist/chunk-LPCRK4A2.js +11 -0
  129. package/dist/chunk-MMHZKBFA.js +2 -0
  130. package/dist/{chunk-A4WEAK35.js → chunk-MOQQBQRD.js} +2 -2
  131. package/dist/chunk-N2WN6I3L.js +2 -0
  132. package/dist/chunk-N3ORQT7L.js +2 -0
  133. package/dist/chunk-NAZ3RAIW.js +2 -0
  134. package/dist/chunk-NDUNO5JQ.js +2 -0
  135. package/dist/chunk-NEIWRNAZ.js +4 -0
  136. package/dist/chunk-NJJMVD65.js +2 -0
  137. package/dist/chunk-NLOQOBXI.js +20 -0
  138. package/dist/chunk-NOLZOVCU.js +2 -0
  139. package/dist/chunk-NOWINRRN.js +2 -0
  140. package/dist/chunk-NZAXKGRL.js +16 -0
  141. package/dist/chunk-O2C4UILI.js +2 -0
  142. package/dist/chunk-O3RHA6ZT.js +3 -0
  143. package/dist/chunk-O4UZSPPI.js +3 -0
  144. package/dist/chunk-OGFV2BUX.js +2 -0
  145. package/dist/chunk-OZCJXZK6.js +499 -0
  146. package/dist/chunk-P6ODM7BY.js +2 -0
  147. package/dist/{chunk-GHNPACNP.js → chunk-PAVGPRHJ.js} +2 -2
  148. package/dist/chunk-PH52RA7D.js +2 -0
  149. package/dist/chunk-PKN354TH.js +3 -0
  150. package/dist/chunk-PWOASWEG.js +11 -0
  151. package/dist/chunk-QIWXRW72.js +2 -0
  152. package/dist/chunk-QJRMOK5N.js +2 -0
  153. package/dist/{chunk-YXPUP5G2.js → chunk-QOIXNWQR.js} +2 -2
  154. package/dist/chunk-QXEUDXBT.js +3 -0
  155. package/dist/chunk-QYUVVBMR.js +6 -0
  156. package/dist/chunk-QZ7KQZRN.js +2 -0
  157. package/dist/chunk-R6LQBUDH.js +2 -0
  158. package/dist/chunk-RBS42E55.js +20 -0
  159. package/dist/chunk-RSJKPCFX.js +26 -0
  160. package/dist/chunk-S6CZA3MV.js +2 -0
  161. package/dist/chunk-STMVAHJP.js +2 -0
  162. package/dist/chunk-SYVPTTVW.js +2 -0
  163. package/dist/chunk-T6DK3ZP7.js +2 -0
  164. package/dist/chunk-TKD34PHN.js +4 -0
  165. package/dist/chunk-TNNQFH7W.js +2 -0
  166. package/dist/chunk-TNV7SSUF.js +2 -0
  167. package/dist/chunk-TO7ZR3EH.js +8 -0
  168. package/dist/chunk-TOU3CHK4.js +2 -0
  169. package/dist/chunk-TRBI4UKT.js +2 -0
  170. package/dist/chunk-TZCVNCAN.js +4 -0
  171. package/dist/chunk-U4LZA5LL.js +3 -0
  172. package/dist/chunk-U5RIG3JP.js +3 -0
  173. package/dist/chunk-UP5KXN2I.js +2 -0
  174. package/dist/chunk-UQFR3NDH.js +5 -0
  175. package/dist/chunk-UXYXF7GV.js +2 -0
  176. package/dist/chunk-VB3GOKOS.js +2 -0
  177. package/dist/{chunk-4FR6GQIT.js → chunk-VF5JZICY.js} +2 -2
  178. package/dist/chunk-VTY3VK6E.js +2 -0
  179. package/dist/chunk-VX2O4RIS.js +2 -0
  180. package/dist/chunk-WKPV2TDZ.js +2 -0
  181. package/dist/chunk-WOFQ5DTB.js +2 -0
  182. package/dist/chunk-WS4C6TCK.js +2 -0
  183. package/dist/chunk-WXU3DGPU.js +2 -0
  184. package/dist/{chunk-ATXPTSEI.js → chunk-X6RMKHJQ.js} +7 -7
  185. package/dist/{chunk-44IETFOU.js → chunk-XHMN6ZX7.js} +2 -2
  186. package/dist/chunk-XHTVFLWW.js +2 -0
  187. package/dist/chunk-XKIDJCIK.js +2 -0
  188. package/dist/chunk-XTYTYZPT.js +2 -0
  189. package/dist/chunk-Y2JHHTTA.js +2 -0
  190. package/dist/chunk-YGVRMGYN.js +4 -0
  191. package/dist/chunk-YNQCGEQE.js +2 -0
  192. package/dist/chunk-YOQVEXVE.js +14 -0
  193. package/dist/chunk-YRT2WLYY.js +2 -0
  194. package/dist/chunk-YTAP5Y2G.js +2 -0
  195. package/dist/chunk-YTYWI7VB.js +2 -0
  196. package/dist/chunk-YULZRALL.js +2 -0
  197. package/dist/chunk-Z33WQG4Q.js +2 -0
  198. package/dist/chunk-ZGTYGDMF.js +16 -0
  199. package/dist/chunk-ZHMRSZFD.js +43 -0
  200. package/dist/chunk-ZHSP366W.js +10 -0
  201. package/dist/chunk-ZIBYCYKK.js +7 -0
  202. package/dist/chunk-ZLADLUE6.js +3 -0
  203. package/dist/chunk-ZO4YXUT6.js +4 -0
  204. package/dist/{chunk-MZPXPSUJ.js → chunk-ZR4HBC2H.js} +2 -2
  205. package/dist/cli-main.js +6 -6
  206. package/dist/cli.js +1 -1
  207. package/dist/{code-B17qEMbt.d.ts → code-BNyrCF3_.d.ts} +3 -2
  208. package/dist/code-IL5WH3NZ.js +2 -0
  209. package/dist/code-result-json-ANTBEDFP.js +4 -0
  210. package/dist/command-descriptors-HEEMDHTU.js +222 -0
  211. package/dist/deps-EOWFC6FD.js +2 -0
  212. package/dist/direct-navigation-Y5B6OSIQ.js +3 -0
  213. package/dist/{exploration-topology-BG4v30HZ.d.ts → exploration-topology-CSgEyAz-.d.ts} +3 -1
  214. package/dist/files-K4AI3JUM.js +2 -0
  215. package/dist/{health-BI2a9WPy.d.ts → health-BtfmNrfa.d.ts} +5 -79
  216. package/dist/hierarchy-6W5NDIFI.js +2 -0
  217. package/dist/imports-WH365QY4.js +2 -0
  218. package/dist/index.d.ts +13 -1
  219. package/dist/index.js +1 -1
  220. package/dist/members-K3PHMF5S.js +2 -0
  221. package/dist/methods-E7KVMBX4.js +2 -0
  222. package/dist/output-continuation-command-BJSY67SN.js +3 -0
  223. package/dist/output-pagination-UZJ5ACIX.js +24 -0
  224. package/dist/postinstall.js +1 -1
  225. package/dist/project-reindex-EP24WT4X.js +3 -0
  226. package/dist/queries/affected.js +1 -1
  227. package/dist/queries/architecture.d.ts +15 -4
  228. package/dist/queries/architecture.js +1 -1
  229. package/dist/queries/bottlenecks.js +1 -1
  230. package/dist/queries/by-kind.js +1 -1
  231. package/dist/queries/call-graph.d.ts +1 -1
  232. package/dist/queries/call-graph.js +1 -1
  233. package/dist/queries/change-surface.d.ts +1 -0
  234. package/dist/queries/change-surface.js +1 -1
  235. package/dist/queries/cleanup-plan.d.ts +3 -3
  236. package/dist/queries/cleanup-plan.js +1 -1
  237. package/dist/queries/co-change.js +1 -1
  238. package/dist/queries/code.d.ts +1 -1
  239. package/dist/queries/code.js +1 -1
  240. package/dist/queries/complexity.d.ts +6 -3
  241. package/dist/queries/complexity.js +1 -1
  242. package/dist/queries/context.d.ts +1 -7
  243. package/dist/queries/context.js +1 -1
  244. package/dist/queries/coupling.js +1 -1
  245. package/dist/queries/cycles.js +1 -1
  246. package/dist/queries/dead.js +1 -1
  247. package/dist/queries/decorative-checkers.js +1 -1
  248. package/dist/queries/dependence-slice.d.ts +46 -22
  249. package/dist/queries/dependence-slice.js +1 -1
  250. package/dist/queries/dependency-depth.d.ts +1 -7
  251. package/dist/queries/dependency-depth.js +1 -1
  252. package/dist/queries/deps.js +1 -1
  253. package/dist/queries/diff-impact.d.ts +3 -1
  254. package/dist/queries/diff-impact.js +1 -1
  255. package/dist/queries/doc-drift.js +1 -1
  256. package/dist/queries/drift.d.ts +1 -1
  257. package/dist/queries/drift.js +1 -1
  258. package/dist/queries/duplicate-bodies.d.ts +1 -1
  259. package/dist/queries/duplicate-bodies.js +1 -1
  260. package/dist/queries/entry-map.d.ts +2 -4
  261. package/dist/queries/entry-map.js +1 -1
  262. package/dist/queries/evidence.d.ts +121 -61
  263. package/dist/queries/evidence.js +1 -1
  264. package/dist/queries/fan.js +1 -1
  265. package/dist/queries/files.js +1 -1
  266. package/dist/queries/health.d.ts +1 -1
  267. package/dist/queries/health.js +1 -1
  268. package/dist/queries/hierarchy.d.ts +2 -2
  269. package/dist/queries/hierarchy.js +1 -1
  270. package/dist/queries/hotspots.d.ts +1 -1
  271. package/dist/queries/hotspots.js +1 -1
  272. package/dist/queries/imports.d.ts +1 -0
  273. package/dist/queries/imports.js +1 -1
  274. package/dist/queries/incomplete-migration.d.ts +3 -3
  275. package/dist/queries/incomplete-migration.js +1 -1
  276. package/dist/queries/index.d.ts +15 -64
  277. package/dist/queries/index.js +1 -1
  278. package/dist/queries/locality-candidates.d.ts +4 -4
  279. package/dist/queries/locality-candidates.js +1 -1
  280. package/dist/queries/members.d.ts +2 -2
  281. package/dist/queries/members.js +1 -1
  282. package/dist/queries/methods.js +1 -1
  283. package/dist/queries/not-implemented.d.ts +2 -6
  284. package/dist/queries/not-implemented.js +1 -1
  285. package/dist/queries/outline.js +1 -1
  286. package/dist/queries/passthrough-candidates.js +1 -1
  287. package/dist/queries/react-component-duplicates.js +1 -1
  288. package/dist/queries/react-hook-candidates.js +1 -1
  289. package/dist/queries/react-large-component-pressure.js +1 -1
  290. package/dist/queries/recent-duplicates.js +1 -1
  291. package/dist/queries/redundant-reexports.d.ts +4 -14
  292. package/dist/queries/redundant-reexports.js +1 -1
  293. package/dist/queries/refs.d.ts +4 -1
  294. package/dist/queries/refs.js +1 -1
  295. package/dist/queries/review.d.ts +188 -0
  296. package/dist/queries/review.js +2 -0
  297. package/dist/queries/similar-files.d.ts +7 -10
  298. package/dist/queries/similar-files.js +1 -1
  299. package/dist/queries/similar-signatures.js +1 -1
  300. package/dist/queries/similar.d.ts +19 -1
  301. package/dist/queries/similar.js +1 -1
  302. package/dist/queries/slice-cohesion.d.ts +205 -0
  303. package/dist/queries/slice-cohesion.js +2 -0
  304. package/dist/queries/source-inspection.d.ts +6 -202
  305. package/dist/queries/source-inspection.js +1 -1
  306. package/dist/queries/source-search.d.ts +2 -3
  307. package/dist/queries/source-search.js +1 -1
  308. package/dist/queries/stats.d.ts +1 -0
  309. package/dist/queries/stats.js +1 -1
  310. package/dist/queries/surface.js +1 -1
  311. package/dist/queries/symbols.js +1 -1
  312. package/dist/queries/system.d.ts +4 -2
  313. package/dist/queries/system.js +1 -1
  314. package/dist/queries/test-quality.d.ts +1 -1
  315. package/dist/queries/test-quality.js +1 -1
  316. package/dist/queries/twin-drift.d.ts +1 -1
  317. package/dist/queries/twin-drift.js +1 -1
  318. package/dist/queries/unused-imports.js +1 -1
  319. package/dist/queries/unused-params.d.ts +3 -15
  320. package/dist/queries/unused-params.js +1 -1
  321. package/dist/queries/vue-component-duplicates.js +1 -1
  322. package/dist/queries/vue-composable-candidates.js +1 -1
  323. package/dist/queries/vue-large-view-pressure.js +1 -1
  324. package/dist/query-service-fastpath.js +5 -5
  325. package/dist/query-service-server.js +4 -4
  326. package/dist/refs-CCBJG7WK.js +2 -0
  327. package/dist/refs-pagination-DRNLVU4S.js +2 -0
  328. package/dist/reindex-worker.js +79 -29
  329. package/dist/reindex.js +45 -45
  330. package/dist/repository-cache-worker.js +2 -0
  331. package/dist/runtime.d.ts +8 -8
  332. package/dist/runtime.js +3 -4
  333. package/dist/rust-semantic-session-server.js +1 -1
  334. package/dist/rust-semantic-session-worker.js +1 -1
  335. package/dist/rust-semantic-worker.js +1 -1
  336. package/dist/service-queries-2WAJI7R6.js +6 -0
  337. package/dist/source-inspection-91U9zdO3.d.ts +341 -0
  338. package/dist/{source-search-types-Dwz8KeuW.d.ts → source-search-types-DWGYNg8M.d.ts} +15 -2
  339. package/dist/stats-G7DIV6VU.js +2 -0
  340. package/dist/surface-IO55UALI.js +2 -0
  341. package/dist/system-ZBMSHJXU.js +2 -0
  342. package/dist/{queries/trace.d.ts → trace-BMjw3prn.d.ts} +1 -18
  343. package/dist/typescript-indexer.js +2 -0
  344. package/dist/typescript-mailbox-worker.js +1 -1
  345. package/dist/watch-server.js +3 -3
  346. package/docs/AGENT_GUIDE.md +19 -128
  347. package/docs/CLI_JSON_OUTPUT.md +21 -17
  348. package/docs/COMMAND_REFERENCE.md +34 -49
  349. package/docs/CURRENT_COMMANDS.md +123 -0
  350. package/docs/DETECTOR_EVIDENCE_CONTRACTS.md +0 -40
  351. package/docs/DETECTOR_GUIDE.md +27 -23
  352. package/docs/PRODUCT_VISION.md +135 -0
  353. package/docs/PROPERTY_TESTING.md +73 -0
  354. package/docs/REVIEW.md +76 -0
  355. package/docs/SKILLS.md +51 -0
  356. package/docs/WINDOWS_SIDECAR_RELEASE.md +12 -3
  357. package/docs/accuracy-audit-checklist.md +34 -0
  358. package/docs/analyzer-inventory.md +2 -2
  359. package/package.json +18 -80
  360. package/scripts/evidence-product-contract.mjs +7 -3
  361. package/scripts/record-review-coverage.mjs +118 -0
  362. package/scripts/scip-windows-provenance.mjs +29 -19
  363. package/skills/scip-architecture-review/SKILL.md +57 -0
  364. package/skills/scip-architecture-review/agents/openai.yaml +4 -0
  365. package/skills/scip-architecture-review/references/design-checks.md +17 -0
  366. package/skills/scip-explore/SKILL.md +15 -59
  367. package/skills/scip-explore/agents/openai.yaml +3 -3
  368. package/skills/scip-explore/references/external-evidence.md +2 -2
  369. package/skills/scip-explore/references/information-model.md +26 -29
  370. package/skills/scip-explore/scripts/capture-evidence.mjs +68 -34
  371. package/skills/scip-integrity-audit/SKILL.md +53 -181
  372. package/skills/scip-integrity-audit/agents/openai.yaml +3 -3
  373. package/skills/scip-integrity-audit/references/integrity-probes.md +27 -0
  374. package/skills/scip-plan/SKILL.md +39 -65
  375. package/skills/scip-plan/agents/openai.yaml +2 -2
  376. package/skills/scip-query/SKILL.md +28 -81
  377. package/skills/scip-query/agents/openai.yaml +2 -2
  378. package/skills/scip-query/references/command-guide.md +169 -0
  379. package/skills/scip-setup/SKILL.md +4 -2
  380. package/skills/scip-setup/agents/openai.yaml +3 -3
  381. package/dist/by-kind-H3P6BR5G.js +0 -2
  382. package/dist/call-graph-VTG2CUOQ.js +0 -2
  383. package/dist/chunk-26CT72HM.js +0 -2
  384. package/dist/chunk-2BMSSRBH.js +0 -2
  385. package/dist/chunk-2M2LSIMY.js +0 -7
  386. package/dist/chunk-2N6WBNDC.js +0 -29
  387. package/dist/chunk-2OOY75BW.js +0 -2
  388. package/dist/chunk-2USA3S3P.js +0 -3
  389. package/dist/chunk-2VAHDDLM.js +0 -133
  390. package/dist/chunk-2XWIUW5Z.js +0 -455
  391. package/dist/chunk-35NLDRZC.js +0 -2
  392. package/dist/chunk-3AF4TUFK.js +0 -3
  393. package/dist/chunk-3D4BOXW6.js +0 -20
  394. package/dist/chunk-3LO4FST5.js +0 -16
  395. package/dist/chunk-3WTY4LP2.js +0 -3
  396. package/dist/chunk-3Z5AMSK6.js +0 -29
  397. package/dist/chunk-4KBTHJLP.js +0 -2
  398. package/dist/chunk-5BIKR67W.js +0 -2
  399. package/dist/chunk-5PROPLHI.js +0 -2
  400. package/dist/chunk-5V7EPTII.js +0 -2
  401. package/dist/chunk-62LPZCBQ.js +0 -3
  402. package/dist/chunk-64O2JHQA.js +0 -2
  403. package/dist/chunk-6D4F5VWG.js +0 -10
  404. package/dist/chunk-6ERFBC3X.js +0 -3
  405. package/dist/chunk-6MFXCMZC.js +0 -2
  406. package/dist/chunk-6O7FACKB.js +0 -2
  407. package/dist/chunk-6TS3KOXR.js +0 -2
  408. package/dist/chunk-76QOU4PK.js +0 -3
  409. package/dist/chunk-7DUI77BN.js +0 -2
  410. package/dist/chunk-7F45LJKI.js +0 -2
  411. package/dist/chunk-7F7T6DCR.js +0 -2
  412. package/dist/chunk-7H6VHWWJ.js +0 -2
  413. package/dist/chunk-7HXT6YLU.js +0 -5
  414. package/dist/chunk-7KCZELVM.js +0 -2
  415. package/dist/chunk-7R4V5ES6.js +0 -6
  416. package/dist/chunk-7RIRIADH.js +0 -7
  417. package/dist/chunk-7ZLWLOGT.js +0 -2
  418. package/dist/chunk-AADQLOQ4.js +0 -38
  419. package/dist/chunk-AN76MGUE.js +0 -2
  420. package/dist/chunk-ANLNLY66.js +0 -2
  421. package/dist/chunk-AX7IDVFT.js +0 -2
  422. package/dist/chunk-B3X6KU75.js +0 -2
  423. package/dist/chunk-B7MPDEAK.js +0 -3
  424. package/dist/chunk-BBB5FBX4.js +0 -2
  425. package/dist/chunk-BJT7LSPK.js +0 -3
  426. package/dist/chunk-BJWFVAA5.js +0 -2
  427. package/dist/chunk-BKVWUP7Y.js +0 -2
  428. package/dist/chunk-BKZYTLGE.js +0 -35
  429. package/dist/chunk-BL6DCHQP.js +0 -2
  430. package/dist/chunk-BOW7SSQH.js +0 -43
  431. package/dist/chunk-C4RHHCKL.js +0 -7
  432. package/dist/chunk-C7C6AKAT.js +0 -117
  433. package/dist/chunk-CD6M6LS2.js +0 -16
  434. package/dist/chunk-CFE6PSG6.js +0 -2
  435. package/dist/chunk-CFNIGQMT.js +0 -2
  436. package/dist/chunk-CKBUBRYD.js +0 -2
  437. package/dist/chunk-CZW5MZ5B.js +0 -2
  438. package/dist/chunk-DBBZ63ZX.js +0 -2
  439. package/dist/chunk-DBN7DMJB.js +0 -18
  440. package/dist/chunk-DUULLZHZ.js +0 -3
  441. package/dist/chunk-DV5Y5NOS.js +0 -2
  442. package/dist/chunk-DZOIKCTM.js +0 -3
  443. package/dist/chunk-E4PKTOL3.js +0 -2
  444. package/dist/chunk-E7QR35ST.js +0 -2
  445. package/dist/chunk-EFSXAINW.js +0 -2
  446. package/dist/chunk-EHVEIEQN.js +0 -18
  447. package/dist/chunk-EHYDXE3Z.js +0 -2
  448. package/dist/chunk-EP63Y6LD.js +0 -2
  449. package/dist/chunk-EPX6NQN6.js +0 -4
  450. package/dist/chunk-ETC674NS.js +0 -5
  451. package/dist/chunk-F5GSBHC6.js +0 -3
  452. package/dist/chunk-FH3DGXC6.js +0 -2
  453. package/dist/chunk-FI7VGOR4.js +0 -16
  454. package/dist/chunk-FJF6VO2P.js +0 -2
  455. package/dist/chunk-FLMTCX5R.js +0 -2
  456. package/dist/chunk-FVFDOIM3.js +0 -2
  457. package/dist/chunk-G2HU5WRN.js +0 -2
  458. package/dist/chunk-G4ALYS4J.js +0 -2
  459. package/dist/chunk-G56I7K4W.js +0 -26
  460. package/dist/chunk-GC4DG2V5.js +0 -2
  461. package/dist/chunk-GG45PK4S.js +0 -4
  462. package/dist/chunk-GINH3YQU.js +0 -20
  463. package/dist/chunk-GTZZVLKJ.js +0 -2
  464. package/dist/chunk-GXXW5ZHH.js +0 -2
  465. package/dist/chunk-H5EXS3HM.js +0 -2
  466. package/dist/chunk-HAXXKRTD.js +0 -4
  467. package/dist/chunk-HEZWBAZY.js +0 -2
  468. package/dist/chunk-HMEWLMML.js +0 -2
  469. package/dist/chunk-HOBOVYPO.js +0 -11
  470. package/dist/chunk-HRFQ6GW5.js +0 -8
  471. package/dist/chunk-HX4X7KG3.js +0 -2
  472. package/dist/chunk-HYT2R7LX.js +0 -4
  473. package/dist/chunk-IKQVBVQL.js +0 -40
  474. package/dist/chunk-IW5XQG5G.js +0 -2
  475. package/dist/chunk-J6GLBBRK.js +0 -4
  476. package/dist/chunk-J7A4PWFX.js +0 -3
  477. package/dist/chunk-JCSAZ35V.js +0 -2
  478. package/dist/chunk-JDU2IV3A.js +0 -2
  479. package/dist/chunk-JFMEXGFE.js +0 -2
  480. package/dist/chunk-JFMI5SGB.js +0 -4
  481. package/dist/chunk-JJP37RGX.js +0 -57
  482. package/dist/chunk-JZ2A7LDM.js +0 -5
  483. package/dist/chunk-KMVGRIO2.js +0 -2
  484. package/dist/chunk-KNLQGXVH.js +0 -80
  485. package/dist/chunk-KVQCECPR.js +0 -2
  486. package/dist/chunk-KXXORBZ2.js +0 -4
  487. package/dist/chunk-L5KYH6U3.js +0 -35
  488. package/dist/chunk-L6XHYJPZ.js +0 -21
  489. package/dist/chunk-L7KTFEAV.js +0 -43
  490. package/dist/chunk-LDXHR5EL.js +0 -23
  491. package/dist/chunk-LEECKFCJ.js +0 -2
  492. package/dist/chunk-MHGDSBFX.js +0 -2
  493. package/dist/chunk-MLQVVDG3.js +0 -74
  494. package/dist/chunk-MOKUWRHO.js +0 -3
  495. package/dist/chunk-MPYAPMNE.js +0 -2
  496. package/dist/chunk-MTDBHTSF.js +0 -2
  497. package/dist/chunk-MV6SPXCR.js +0 -7
  498. package/dist/chunk-MWN53KRN.js +0 -60
  499. package/dist/chunk-MXNGIEPU.js +0 -3
  500. package/dist/chunk-N55KIE46.js +0 -2
  501. package/dist/chunk-NB4D3BNM.js +0 -2
  502. package/dist/chunk-NGKBOT6G.js +0 -23
  503. package/dist/chunk-NJGKXKQF.js +0 -2
  504. package/dist/chunk-NJQISBL4.js +0 -8
  505. package/dist/chunk-NJT3ZEKY.js +0 -16
  506. package/dist/chunk-NKMKZP6A.js +0 -2
  507. package/dist/chunk-NODFZ6ED.js +0 -2
  508. package/dist/chunk-NSM5IEVW.js +0 -2
  509. package/dist/chunk-NTGUVNR2.js +0 -3
  510. package/dist/chunk-NU3KFF2O.js +0 -57
  511. package/dist/chunk-NWLVNU66.js +0 -557
  512. package/dist/chunk-NYKZMCRC.js +0 -4
  513. package/dist/chunk-O6BUXZEH.js +0 -6
  514. package/dist/chunk-ODPDP7A4.js +0 -3
  515. package/dist/chunk-OIAPEKMT.js +0 -3
  516. package/dist/chunk-OIOC5EHF.js +0 -3
  517. package/dist/chunk-ONPPQM4G.js +0 -2
  518. package/dist/chunk-OUHEZBYI.js +0 -2
  519. package/dist/chunk-OVGYW7UD.js +0 -29
  520. package/dist/chunk-OYKU4B3Y.js +0 -2
  521. package/dist/chunk-POBJ6FR2.js +0 -5
  522. package/dist/chunk-PSZPMMWN.js +0 -2
  523. package/dist/chunk-PXTRBKRK.js +0 -3
  524. package/dist/chunk-Q5JRIHT3.js +0 -4
  525. package/dist/chunk-Q7ATHARX.js +0 -2
  526. package/dist/chunk-Q7CSKIDM.js +0 -5
  527. package/dist/chunk-QBQE7ZJ5.js +0 -3
  528. package/dist/chunk-QH22UIXP.js +0 -5
  529. package/dist/chunk-QXCKQTKR.js +0 -60
  530. package/dist/chunk-RBAD4GJ2.js +0 -13
  531. package/dist/chunk-RMDPFPNW.js +0 -2
  532. package/dist/chunk-ROPJDEJZ.js +0 -4
  533. package/dist/chunk-RVZC6TJE.js +0 -2
  534. package/dist/chunk-S4QZBKSR.js +0 -3
  535. package/dist/chunk-SCPMZ73U.js +0 -2
  536. package/dist/chunk-SIAP5RGI.js +0 -73
  537. package/dist/chunk-SIX4RFR3.js +0 -3
  538. package/dist/chunk-SKKXTABJ.js +0 -16
  539. package/dist/chunk-SSRFUQBD.js +0 -2
  540. package/dist/chunk-SYVJEEUJ.js +0 -3
  541. package/dist/chunk-T3CZAZSI.js +0 -8
  542. package/dist/chunk-T6DWDI5E.js +0 -3
  543. package/dist/chunk-T6HRIROJ.js +0 -7
  544. package/dist/chunk-TAA7HXHE.js +0 -2
  545. package/dist/chunk-TJ2JQYT3.js +0 -2
  546. package/dist/chunk-TULNMD5T.js +0 -368
  547. package/dist/chunk-U2FPY5XA.js +0 -3
  548. package/dist/chunk-U3SXIMII.js +0 -38
  549. package/dist/chunk-U6KCHXJ4.js +0 -2
  550. package/dist/chunk-UH3XSKS5.js +0 -9
  551. package/dist/chunk-UIFUZVCC.js +0 -2
  552. package/dist/chunk-UXKURIVI.js +0 -2
  553. package/dist/chunk-V2RBODHL.js +0 -2
  554. package/dist/chunk-VBKUWB6N.js +0 -2
  555. package/dist/chunk-VBV6ALJE.js +0 -2
  556. package/dist/chunk-VDGFWCQV.js +0 -2
  557. package/dist/chunk-VDSDOEWF.js +0 -2
  558. package/dist/chunk-VZPWVCLN.js +0 -20
  559. package/dist/chunk-WDSFQDPN.js +0 -2
  560. package/dist/chunk-WFA35BGR.js +0 -7
  561. package/dist/chunk-WLMP3OCW.js +0 -2
  562. package/dist/chunk-WSA52GOR.js +0 -2
  563. package/dist/chunk-WYPL7GF7.js +0 -2
  564. package/dist/chunk-X3YVZAKZ.js +0 -5
  565. package/dist/chunk-X6OGVFIT.js +0 -2
  566. package/dist/chunk-XDAUYDFT.js +0 -2
  567. package/dist/chunk-XKXTR6ZI.js +0 -9
  568. package/dist/chunk-Y5DFAW5W.js +0 -4
  569. package/dist/chunk-YSYPDRD5.js +0 -3
  570. package/dist/chunk-ZFVPWH62.js +0 -5
  571. package/dist/chunk-ZGIHTH27.js +0 -2
  572. package/dist/chunk-ZGIQN2SX.js +0 -2
  573. package/dist/chunk-ZHG4WAHR.js +0 -12
  574. package/dist/chunk-ZKB2XUEN.js +0 -4
  575. package/dist/chunk-ZLMXIQLC.js +0 -21
  576. package/dist/chunk-ZMCQIHI4.js +0 -2
  577. package/dist/code-TAVIKWJI.js +0 -2
  578. package/dist/code-result-json-5FEFQCAQ.js +0 -2
  579. package/dist/command-descriptors-7BKH53Y3.js +0 -343
  580. package/dist/dataflow-GFBTVDH3.js +0 -2
  581. package/dist/dependence-slice-GWGQCODG.js +0 -2
  582. package/dist/deps-4QHVDPYA.js +0 -2
  583. package/dist/direct-navigation-4UBC6HNW.js +0 -3
  584. package/dist/entry-map-QCTF4RVY.js +0 -2
  585. package/dist/files-M2UBF5HJ.js +0 -2
  586. package/dist/graph-evidence-Bjyky2V4.d.ts +0 -126
  587. package/dist/hierarchy-2UIHRLW4.js +0 -2
  588. package/dist/imports-WIE3YZOB.js +0 -2
  589. package/dist/members-YKD636DA.js +0 -2
  590. package/dist/methods-VDF4IMYG.js +0 -2
  591. package/dist/next-anchor-candidates-BwMczMvX.d.ts +0 -90
  592. package/dist/output-continuation-command-4UMDOOLO.js +0 -3
  593. package/dist/output-pagination-2GME6OPY.js +0 -19
  594. package/dist/project-reindex-XEQTRCV5.js +0 -3
  595. package/dist/queries/anchors.d.ts +0 -123
  596. package/dist/queries/anchors.js +0 -2
  597. package/dist/queries/complexity-hotspots.d.ts +0 -40
  598. package/dist/queries/complexity-hotspots.js +0 -2
  599. package/dist/queries/convergence.d.ts +0 -33
  600. package/dist/queries/convergence.js +0 -2
  601. package/dist/queries/dataflow.d.ts +0 -77
  602. package/dist/queries/dataflow.js +0 -2
  603. package/dist/queries/deep-chains.d.ts +0 -5
  604. package/dist/queries/deep-chains.js +0 -2
  605. package/dist/queries/extract-candidates.d.ts +0 -79
  606. package/dist/queries/extract-candidates.js +0 -2
  607. package/dist/queries/isolated.d.ts +0 -24
  608. package/dist/queries/isolated.js +0 -2
  609. package/dist/queries/plan-context.d.ts +0 -33
  610. package/dist/queries/plan-context.js +0 -2
  611. package/dist/queries/reference-neighborhood.d.ts +0 -4
  612. package/dist/queries/reference-neighborhood.js +0 -2
  613. package/dist/queries/reference-reachability.d.ts +0 -48
  614. package/dist/queries/reference-reachability.js +0 -2
  615. package/dist/queries/self-audit.d.ts +0 -69
  616. package/dist/queries/self-audit.js +0 -2
  617. package/dist/queries/similar-chains.d.ts +0 -48
  618. package/dist/queries/similar-chains.js +0 -2
  619. package/dist/queries/slice.d.ts +0 -4
  620. package/dist/queries/slice.js +0 -2
  621. package/dist/queries/stale-abstractions.d.ts +0 -72
  622. package/dist/queries/stale-abstractions.js +0 -2
  623. package/dist/queries/system-map.d.ts +0 -449
  624. package/dist/queries/system-map.js +0 -2
  625. package/dist/queries/trace.js +0 -2
  626. package/dist/queries/twin-ab.d.ts +0 -66
  627. package/dist/queries/twin-ab.js +0 -2
  628. package/dist/queries/value-flow.d.ts +0 -43
  629. package/dist/queries/value-flow.js +0 -2
  630. package/dist/queries/wrapper-candidates.d.ts +0 -49
  631. package/dist/queries/wrapper-candidates.js +0 -2
  632. package/dist/refs-JNK5CLM7.js +0 -2
  633. package/dist/refs-pagination-6BLRYGMV.js +0 -2
  634. package/dist/slice-PHPVNCWX.js +0 -2
  635. package/dist/source-snippet-_wrcgmZc.d.ts +0 -15
  636. package/dist/stats-OOJ74B32.js +0 -2
  637. package/dist/surface-MQX5MPIV.js +0 -2
  638. package/dist/symbol-resolution-DBLVXLBC.js +0 -2
  639. package/dist/system-JOPKV4OG.js +0 -2
  640. package/dist/trace-I2P2YFH4.js +0 -2
  641. package/dist/value-flow-JJVMF7NP.js +0 -2
  642. package/skills/concrete-plan/SKILL.md +0 -8
  643. package/skills/concrete-plan/agents/openai.yaml +0 -4
  644. package/skills/conductor/SKILL.md +0 -110
  645. package/skills/conductor/agents/openai.yaml +0 -4
  646. package/skills/principal-maintainability-review/SKILL.md +0 -273
  647. package/skills/principal-maintainability-review/agents/openai.yaml +0 -4
  648. package/skills/scip-calibrate/SKILL.md +0 -102
  649. package/skills/scip-calibrate/agents/openai.yaml +0 -4
  650. package/skills/scip-claim-audit/SKILL.md +0 -113
  651. package/skills/scip-claim-audit/agents/openai.yaml +0 -4
  652. package/skills/scip-probe-reachability/SKILL.md +0 -93
  653. package/skills/scip-probe-reachability/agents/openai.yaml +0 -4
  654. package/skills/scip-root-cause/SKILL.md +0 -160
  655. package/skills/scip-root-cause/agents/openai.yaml +0 -4
  656. package/skills/scip-system-compression/SKILL.md +0 -252
  657. package/skills/scip-system-compression/agents/openai.yaml +0 -4
  658. package/skills/scip-system-compression/references/compression-atlas.md +0 -116
  659. package/skills/scip-system-compression/references/compression-patterns.md +0 -87
  660. package/skills/scip-twin-drift/SKILL.md +0 -109
  661. package/skills/scip-twin-drift/agents/openai.yaml +0 -4
@@ -0,0 +1,188 @@
1
+ import { ArchitectureReport, ArchitectureBoundarySummary, ArchitectureCoverage, ArchitecturePolicyCoverage } from './architecture.js';
2
+ import { G as ArchitectureConfig } from '../config-types-B9B60MiR.js';
3
+ import '../db-BwIVAYNB.js';
4
+ import 'better-sqlite3';
5
+
6
+ interface ComplexityContribution {
7
+ line: number;
8
+ column: number;
9
+ kind: string;
10
+ cyclomatic: number;
11
+ cognitive: number;
12
+ }
13
+ interface SourceFunction {
14
+ name: string;
15
+ file: string;
16
+ startLine: number;
17
+ endLine: number;
18
+ startOffset: number;
19
+ endOffset: number;
20
+ sourceHash: string;
21
+ bodyHash: string;
22
+ renamedBodyHash: string;
23
+ tokenCount: number;
24
+ cyclomatic: number;
25
+ cognitive: number;
26
+ contributions: ComplexityContribution[];
27
+ }
28
+
29
+ type ImportResolution = 'internal' | 'external' | 'builtin' | 'excluded' | 'missing' | 'ambiguous' | 'dynamic';
30
+ interface SourceImport {
31
+ file: string;
32
+ line: number;
33
+ specifier: string;
34
+ target?: string;
35
+ kind: 'value' | 'type';
36
+ role: 'production' | 'test';
37
+ syntax: 'import' | 'reexport' | 'require' | 'dynamic-import' | 'type-import';
38
+ resolution: ImportResolution;
39
+ configs: string[];
40
+ alternatives?: string[];
41
+ excludedReason?: string;
42
+ }
43
+
44
+ type FunctionCoverage = {
45
+ status: 'unavailable';
46
+ reason: string;
47
+ } | {
48
+ status: 'available';
49
+ basis: 'istanbul-statement-start-lines';
50
+ coveredLines: number;
51
+ measuredLines: number;
52
+ fraction: number;
53
+ crap: number;
54
+ };
55
+
56
+ interface FindingSite {
57
+ file: string;
58
+ line: number;
59
+ name?: string;
60
+ }
61
+ interface SourceFinding {
62
+ id: string;
63
+ rule: 'complexity' | 'duplication' | 'dependency-cycle' | 'architecture' | 'crap' | 'broken-dependency' | 'responsibility';
64
+ evidence: 'derived' | 'candidate';
65
+ summary: string;
66
+ sites: FindingSite[];
67
+ score: number;
68
+ details: string[];
69
+ status?: 'introduced' | 'worsened' | 'existing' | 'resolved' | 'uncomparable';
70
+ }
71
+ interface MeasuredFunction extends SourceFunction {
72
+ coverage: FunctionCoverage;
73
+ }
74
+
75
+ interface SourceModuleSubject {
76
+ id: string;
77
+ basis: 'declared-boundary' | 'directory';
78
+ files: string[];
79
+ consumers: string[];
80
+ dependencies: string[];
81
+ findingIds: string[];
82
+ primaryFindingIds: string[];
83
+ highestPriority: SourceFinding['rule'];
84
+ interpretation: string;
85
+ }
86
+
87
+ type SuppressionAdjudicationResult = {
88
+ kind: 'accepted';
89
+ } | {
90
+ kind: 'expired' | 'invalidated' | 'escalated';
91
+ reasons: string[];
92
+ };
93
+
94
+ interface SourceScanOptions {
95
+ includeTests?: boolean;
96
+ includeReferences?: boolean;
97
+ includeGenerated?: boolean;
98
+ maxFiles?: number;
99
+ maxFileBytes?: number;
100
+ }
101
+
102
+ interface SourceSuppressionDecision {
103
+ id?: string;
104
+ check?: string;
105
+ file?: string;
106
+ outcome: SuppressionAdjudicationResult['kind'] | 'unmatched';
107
+ reasons: string[];
108
+ }
109
+
110
+ /** Keep the source report's policy context compact; full indexed graph evidence has its own command. */
111
+ declare function sourceArchitectureContext(rules: ArchitectureReport): {
112
+ configured: boolean;
113
+ boundaries: ArchitectureBoundarySummary[];
114
+ coverage: ArchitectureCoverage;
115
+ policyCoverage: ArchitecturePolicyCoverage;
116
+ dependencyRoles: {
117
+ excludedTestEdges: number;
118
+ basis: "production-imports-including-types";
119
+ cycleMeaning: string;
120
+ } | undefined;
121
+ cycles: {
122
+ boundaries: string[];
123
+ origin: "contains-file-cycle" | "grouping-only" | undefined;
124
+ fileCycleMembers: string[] | undefined;
125
+ violatesPolicy: boolean;
126
+ }[];
127
+ };
128
+ declare function dependencyCoverage(imports: readonly SourceImport[]): {
129
+ resolutions: Record<ImportResolution, number>;
130
+ typeOnly: number;
131
+ test: number;
132
+ deferredOrCommonJs: number;
133
+ unresolved: SourceImport[];
134
+ excluded: SourceImport[];
135
+ };
136
+
137
+ interface SourceReviewOptions extends SourceScanOptions {
138
+ base?: string;
139
+ coverage?: string;
140
+ scope?: string;
141
+ architecture?: ArchitectureConfig;
142
+ }
143
+ interface FunctionChange {
144
+ status: 'added' | 'modified' | 'removed' | 'uncomparable';
145
+ before?: MeasuredFunction;
146
+ after?: MeasuredFunction;
147
+ delta?: {
148
+ cyclomatic: number;
149
+ cognitive: number;
150
+ };
151
+ }
152
+ interface SourceMaintenanceReport {
153
+ mode: 'health' | 'review';
154
+ base?: string;
155
+ current: string;
156
+ metricRules: string;
157
+ changedFiles: string[];
158
+ configurationChanges: string[];
159
+ relationshipChangedFiles: string[];
160
+ architecture: ReturnType<typeof sourceArchitectureContext>;
161
+ functions: FunctionChange[];
162
+ findings: SourceFinding[];
163
+ suppressionDecisions: SourceSuppressionDecision[];
164
+ blockingFindingIds: string[];
165
+ modules: SourceModuleSubject[];
166
+ affectedFiles: string[];
167
+ coverage: {
168
+ status: 'accounted' | 'incomplete';
169
+ analyzedFiles: number;
170
+ eligibleFiles: number;
171
+ excludedFiles: number;
172
+ exclusions: Record<string, number>;
173
+ dependencies: ReturnType<typeof dependencyCoverage>;
174
+ analyzedFunctions: number;
175
+ unresolvedImports: number;
176
+ testCoverage: {
177
+ requested: boolean;
178
+ available: number;
179
+ unavailable: number;
180
+ reasons: string[];
181
+ };
182
+ problems: string[];
183
+ limits: string[];
184
+ };
185
+ }
186
+ declare function sourceMaintenanceReport(projectRoot: string, opts?: SourceReviewOptions): SourceMaintenanceReport;
187
+
188
+ export { type FunctionChange, type SourceMaintenanceReport, type SourceReviewOptions, sourceMaintenanceReport };
@@ -0,0 +1,2 @@
1
+ import{a}from"../chunk-INLMWEUU.js";import"../chunk-YRT2WLYY.js";import"../chunk-FC2EVQRM.js";import"../chunk-ETOIKRHO.js";import"../chunk-SV2LEFVM.js";import"../chunk-HXENDJC6.js";import"../chunk-2IWUT6CJ.js";import"../chunk-4WCUBZU3.js";import"../chunk-E3FDPXZK.js";import"../chunk-DHEQMPLW.js";import"../chunk-KHWRRPV4.js";import"../chunk-72AD6ZRR.js";import"../chunk-YUKYB54I.js";import"../chunk-GCKCF5FL.js";import"../chunk-5D2LVK7O.js";import"../chunk-7WTPQ4NX.js";import"../chunk-FVULPZDF.js";import"../chunk-D3FDISIC.js";import"../chunk-A2IIGFMJ.js";import"../chunk-PH52RA7D.js";import"../chunk-GVWX5T43.js";import"../chunk-T6DK3ZP7.js";import"../chunk-5TNQJUR2.js";export{a as sourceMaintenanceReport};
2
+ //# sourceMappingURL=review.js.map
@@ -5,8 +5,10 @@ import '../config-types-B9B60MiR.js';
5
5
  interface SimilarFileResult {
6
6
  fileA: string;
7
7
  fileB: string;
8
- /** Jaccard similarity of dependency sets (0-1) */
8
+ /** Jaccard similarity after excluding dependencies imported by >=5 files and >30% of the repository. */
9
9
  similarity: number;
10
+ /** Candidate relationship based on filtered dependency sets, not behavioral equivalence. */
11
+ evidenceBasis: 'filtered-dependency-overlap';
10
12
  sharedDeps: string[];
11
13
  uniqueToA: string[];
12
14
  uniqueToB: string[];
@@ -14,15 +16,10 @@ interface SimilarFileResult {
14
16
  /**
15
17
  * Find files with similar dependency profiles.
16
18
  *
17
- * Two files that depend on (import from) the same set of other files
18
- * are structurally doing similar work. High Jaccard similarity between
19
- * their dependency sets = likely copy-paste variants or consolidation candidates.
20
- *
21
- * Evidence policy: a pair must share at least two *distinctive* deps —
22
- * deps with low global fan-in. Files that overlap only on family
23
- * infrastructure (the modules everyone in their directory imports) are
24
- * not copy-paste variants; adapter families sharing an SDK scored 100%
25
- * before this gate while differing in everything that matters.
19
+ * Compares observed dependency sets after removing globally common dependencies.
20
+ * A result identifies shared structural dependencies; it does not establish
21
+ * duplicated behavior, a common conceptual owner, or safe consolidation.
22
+ * At least two low-popularity dependencies must be shared (one when minDeps=1).
26
23
  */
27
24
  declare function similarFiles(db: ScipDatabase, opts?: {
28
25
  minSimilarity?: number;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-7DUI77BN.js";import"../chunk-V2RBODHL.js";import"../chunk-KMVGRIO2.js";import"../chunk-BOW7SSQH.js";import"../chunk-RBAD4GJ2.js";import"../chunk-ZLMXIQLC.js";import"../chunk-ETC674NS.js";import"../chunk-KNLQGXVH.js";import"../chunk-JZ2A7LDM.js";export{a as similarFiles};
1
+ import{a}from"../chunk-BMKOQJRI.js";import"../chunk-5PLMJC7Q.js";import"../chunk-NOLZOVCU.js";import"../chunk-GCKCF5FL.js";import"../chunk-7WTPQ4NX.js";import"../chunk-FVULPZDF.js";import"../chunk-D3FDISIC.js";import"../chunk-A2IIGFMJ.js";import"../chunk-PH52RA7D.js";import"../chunk-GVWX5T43.js";import"../chunk-T6DK3ZP7.js";import"../chunk-5TNQJUR2.js";export{a as similarFiles};
2
2
  //# sourceMappingURL=similar-files.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-NKMKZP6A.js";import"../chunk-OIOC5EHF.js";import"../chunk-FJF6VO2P.js";import"../chunk-XKXTR6ZI.js";import"../chunk-BOJ5SVE2.js";import"../chunk-BGBBVSH4.js";import"../chunk-YSYPDRD5.js";import"../chunk-P5XHIJHI.js";import"../chunk-J6GLBBRK.js";import"../chunk-KK7GPALL.js";import"../chunk-QBQE7ZJ5.js";import"../chunk-NJQISBL4.js";import"../chunk-FLMTCX5R.js";import"../chunk-YUKYB54I.js";import"../chunk-DHEQMPLW.js";import"../chunk-BOW7SSQH.js";import"../chunk-MTDBHTSF.js";import"../chunk-C7C6AKAT.js";import"../chunk-RBAD4GJ2.js";import"../chunk-ZLMXIQLC.js";import"../chunk-ETC674NS.js";import"../chunk-KNLQGXVH.js";import"../chunk-JZ2A7LDM.js";export{a as similarSignatures};
1
+ import{a}from"../chunk-EOV7RTRZ.js";import"../chunk-D254DNNQ.js";import"../chunk-4BP3UBDG.js";import"../chunk-KDDIE2DP.js";import"../chunk-BOJ5SVE2.js";import"../chunk-BGBBVSH4.js";import"../chunk-AGWFSTXC.js";import"../chunk-P5XHIJHI.js";import"../chunk-73AAKPUC.js";import"../chunk-KZBJWZJB.js";import"../chunk-KK7GPALL.js";import"../chunk-YNQCGEQE.js";import"../chunk-DA7RPPDF.js";import"../chunk-4WCUBZU3.js";import"../chunk-E3FDPXZK.js";import"../chunk-DHEQMPLW.js";import"../chunk-72AD6ZRR.js";import"../chunk-YUKYB54I.js";import"../chunk-GCKCF5FL.js";import"../chunk-DVFP6PZI.js";import"../chunk-5D2LVK7O.js";import"../chunk-7WTPQ4NX.js";import"../chunk-FVULPZDF.js";import"../chunk-D3FDISIC.js";import"../chunk-A2IIGFMJ.js";import"../chunk-PH52RA7D.js";import"../chunk-GVWX5T43.js";import"../chunk-T6DK3ZP7.js";import"../chunk-5TNQJUR2.js";export{a as similarSignatures};
2
2
  //# sourceMappingURL=similar-signatures.js.map
@@ -183,5 +183,23 @@ declare const SAME_FILE_SIBLING_SATURATION_THRESHOLD = 5;
183
183
  declare function trimSameFileSiblingSaturatedCallees(fingerprints: readonly SymbolFingerprint[]): SymbolFingerprint[];
184
184
  declare function meaningfulCallees(callees: Iterable<string>): Set<string>;
185
185
  declare function classifySimilarityEvidence(sharedEvidence: readonly string[], basis: NonNullable<SimilarSymbolResult['similarityBasis']>): SimilarEvidenceClassification;
186
+ /** Same-file siblings share at least this much of their callee vocabulary before scaffolding vocabulary stops mattering. */
187
+ declare const SIBLING_SIMILARITY_DIRECT_THRESHOLD = 0.5;
188
+ /** Cross-file pairs whose shared callees mix domain behavior with scaffolding are direct from this similarity. */
189
+ declare const MIXED_SIMILARITY_DIRECT_THRESHOLD = 0.6;
190
+ /**
191
+ * Scaffolding vocabulary explains why two functions in different files look
192
+ * alike; it cannot explain two functions in one file that share half their
193
+ * callees, because the file's own imports are that vocabulary. Those siblings
194
+ * (create/update/delete workflows, archive/restore pairs) are the classic
195
+ * shared-step extraction and are reported as direct. A cross-file pair whose
196
+ * shared evidence already carries domain behavior next to the scaffolding is
197
+ * direct once the overlap is large.
198
+ */
199
+ declare function promoteSiblingSimilarity(classification: SimilarEvidenceClassification, pair: {
200
+ similarity: number;
201
+ sharedCount: number;
202
+ sameFile: boolean;
203
+ }): SimilarEvidenceClassification;
186
204
 
187
- export { type CalleeFingerprintCorpusOptions, type CalleeFingerprintIndex, type CalleeFingerprintIndexOptions, type RankedSimilarResult, SAME_FILE_SIBLING_SATURATION_THRESHOLD, type SimilarActionTier, type SimilarConsolidationPlan, type SimilarEvidenceClass, type SimilarEvidenceClassification, type SimilarSymbolResult, type SimilarityFingerprintProduct, type SourceCandidateMode, type SourceFingerprint, type SourceFingerprintCandidateOptions, type SourceFingerprintIndex, type SourceFingerprintOptions, type SymbolFingerprint, buildCalleeFingerprintIndex, candidateFingerprintsForTarget, classifySimilarityEvidence, comparePair, getAllCalleeFingerprints, getCalleeFingerprintIndex, insertTopSimilarResult, meaningfulCallees, similar, similarAll, similarAllCount, similarConsolidationPlan, similarityFingerprintProduct, targetSpecificIdfWeights, trimSameFileSiblingSaturatedCallees };
205
+ export { type CalleeFingerprintCorpusOptions, type CalleeFingerprintIndex, type CalleeFingerprintIndexOptions, MIXED_SIMILARITY_DIRECT_THRESHOLD, type RankedSimilarResult, SAME_FILE_SIBLING_SATURATION_THRESHOLD, SIBLING_SIMILARITY_DIRECT_THRESHOLD, type SimilarActionTier, type SimilarConsolidationPlan, type SimilarEvidenceClass, type SimilarEvidenceClassification, type SimilarSymbolResult, type SimilarityFingerprintProduct, type SourceCandidateMode, type SourceFingerprint, type SourceFingerprintCandidateOptions, type SourceFingerprintIndex, type SourceFingerprintOptions, type SymbolFingerprint, buildCalleeFingerprintIndex, candidateFingerprintsForTarget, classifySimilarityEvidence, comparePair, getAllCalleeFingerprints, getCalleeFingerprintIndex, insertTopSimilarResult, meaningfulCallees, promoteSiblingSimilarity, similar, similarAll, similarAllCount, similarConsolidationPlan, similarityFingerprintProduct, targetSpecificIdfWeights, trimSameFileSiblingSaturatedCallees };
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}from"../chunk-ZFVPWH62.js";import"../chunk-KMVGRIO2.js";import"../chunk-BOJ5SVE2.js";import"../chunk-2BMSSRBH.js";import"../chunk-BGBBVSH4.js";import"../chunk-BJWFVAA5.js";import"../chunk-YSYPDRD5.js";import"../chunk-P5XHIJHI.js";import"../chunk-U3SXIMII.js";import"../chunk-J6GLBBRK.js";import"../chunk-SKKXTABJ.js";import"../chunk-KK7GPALL.js";import"../chunk-F5GSBHC6.js";import"../chunk-QBQE7ZJ5.js";import"../chunk-NJQISBL4.js";import"../chunk-FLMTCX5R.js";import"../chunk-YUKYB54I.js";import"../chunk-DHEQMPLW.js";import"../chunk-BOW7SSQH.js";import"../chunk-MTDBHTSF.js";import"../chunk-C7C6AKAT.js";import"../chunk-RBAD4GJ2.js";import"../chunk-ZLMXIQLC.js";import"../chunk-ETC674NS.js";import"../chunk-KNLQGXVH.js";import"../chunk-JZ2A7LDM.js";export{m as SAME_FILE_SIBLING_SATURATION_THRESHOLD,k as buildCalleeFingerprintIndex,l as candidateFingerprintsForTarget,p as classifySimilarityEvidence,d as comparePair,h as getAllCalleeFingerprints,i as getCalleeFingerprintIndex,g as insertTopSimilarResult,o as meaningfulCallees,a as similar,e as similarAll,f as similarAllCount,b as similarConsolidationPlan,j as similarityFingerprintProduct,c as targetSpecificIdfWeights,n as trimSameFileSiblingSaturatedCallees};
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}from"../chunk-UXYXF7GV.js";import"../chunk-NOLZOVCU.js";import"../chunk-D254DNNQ.js";import"../chunk-4BP3UBDG.js";import"../chunk-KDDIE2DP.js";import"../chunk-BOJ5SVE2.js";import"../chunk-6LSEIIF7.js";import"../chunk-BGBBVSH4.js";import"../chunk-36SGVCGX.js";import"../chunk-AGWFSTXC.js";import"../chunk-P5XHIJHI.js";import"../chunk-73AAKPUC.js";import"../chunk-KZBJWZJB.js";import"../chunk-4WTUBQ36.js";import"../chunk-NZAXKGRL.js";import"../chunk-KK7GPALL.js";import"../chunk-YNQCGEQE.js";import"../chunk-FMRN2TRL.js";import"../chunk-DA7RPPDF.js";import"../chunk-4WCUBZU3.js";import"../chunk-E3FDPXZK.js";import"../chunk-DHEQMPLW.js";import"../chunk-KHWRRPV4.js";import"../chunk-72AD6ZRR.js";import"../chunk-YUKYB54I.js";import"../chunk-GCKCF5FL.js";import"../chunk-DVFP6PZI.js";import"../chunk-5D2LVK7O.js";import"../chunk-7WTPQ4NX.js";import"../chunk-FVULPZDF.js";import"../chunk-D3FDISIC.js";import"../chunk-A2IIGFMJ.js";import"../chunk-PH52RA7D.js";import"../chunk-GVWX5T43.js";import"../chunk-T6DK3ZP7.js";import"../chunk-5TNQJUR2.js";export{r as MIXED_SIMILARITY_DIRECT_THRESHOLD,m as SAME_FILE_SIBLING_SATURATION_THRESHOLD,q as SIBLING_SIMILARITY_DIRECT_THRESHOLD,k as buildCalleeFingerprintIndex,l as candidateFingerprintsForTarget,p as classifySimilarityEvidence,d as comparePair,h as getAllCalleeFingerprints,i as getCalleeFingerprintIndex,g as insertTopSimilarResult,o as meaningfulCallees,s as promoteSiblingSimilarity,a as similar,e as similarAll,f as similarAllCount,b as similarConsolidationPlan,j as similarityFingerprintProduct,c as targetSpecificIdfWeights,n as trimSameFileSiblingSaturatedCallees};
2
2
  //# sourceMappingURL=similar.js.map
@@ -0,0 +1,205 @@
1
+ import * as TypeScript from 'typescript';
2
+ import { I as IndexedDefinition } from '../symbol-types-BIQwfoAx.js';
3
+ import { S as ScipDatabase } from '../db-BwIVAYNB.js';
4
+ import 'better-sqlite3';
5
+ import '../config-types-B9B60MiR.js';
6
+
7
+ interface CandidatePipelineCounters {
8
+ pipeline: string | undefined;
9
+ loadedCandidates: number;
10
+ filteredCandidates: number;
11
+ scannedCandidates: number;
12
+ evaluatedCandidates: number;
13
+ matchedResults: number;
14
+ emittedResults: number;
15
+ scanLimitApplied: boolean;
16
+ resultLimitApplied: boolean;
17
+ }
18
+ interface CandidateScanProgress {
19
+ evaluated: number;
20
+ scanned: number;
21
+ matched: number;
22
+ }
23
+
24
+ /** What a function hands to the outside world: a value, a field of a returned object, an effect, a write, or an exit. */
25
+ type SliceCohesionOutputKind = 'return' | 'return-property' | 'effect-call' | 'mutation' | 'throw';
26
+ /**
27
+ * One control-flow unit of the body. `jump` and `declaration` units are
28
+ * placed but not counted: they carry no analyzable data flow.
29
+ */
30
+ type SliceCohesionUnitKind = 'statement' | 'predicate' | 'return' | 'throw' | 'jump' | 'declaration';
31
+ /** `signal` when the split is backed by a complete local model and a narrow extraction; `support` when a reviewer must confirm it. */
32
+ type SliceCohesionActionTier = 'signal' | 'support';
33
+ /**
34
+ * What kind of body was sliced. A React component or hook is bound by hook
35
+ * rules, and an orchestration root sequences independent operations by
36
+ * design, so each is read differently from a plain calculation.
37
+ */
38
+ type SliceCohesionArchetype = 'calculation' | 'react-component' | 'react-hook' | 'orchestration';
39
+ /**
40
+ * What an extracted cluster would be: a pure calculation, an operation that
41
+ * computes a result while awaiting or affecting the outside, a custom hook,
42
+ * or a sequence of effects.
43
+ */
44
+ type SliceCohesionClusterKind = 'calculation' | 'operation' | 'hook' | 'effects';
45
+ /** The largest qualifying cluster stays in place; the others are the extractions; the rest are below threshold. */
46
+ type SliceCohesionClusterRole = 'remainder' | 'extraction' | 'below-threshold';
47
+ interface SliceCohesionUnit {
48
+ index: number;
49
+ kind: SliceCohesionUnitKind;
50
+ startLine: number;
51
+ endLine: number;
52
+ label: string;
53
+ }
54
+ interface SliceCohesionOutput {
55
+ id: string;
56
+ kind: SliceCohesionOutputKind;
57
+ label: string;
58
+ /** Zero-based line of the first unit producing the output. */
59
+ line: number;
60
+ /** Counted units that produce this output; a function's return value merges every non-guard return statement. */
61
+ units: number[];
62
+ /** True when the output carries no computed value: an exit whose slice is only itself. */
63
+ guard: boolean;
64
+ /** True for a React hook call such as `useEffect`: a lifecycle effect rather than a plain call. */
65
+ hook: boolean;
66
+ /** Size of the computation slice: counted units reached backward through data edges and non-guard control edges. */
67
+ sliceSize: number;
68
+ /** Size of the full slice: counted units reached through data edges and every control edge, guards included. */
69
+ fullSliceSize: number;
70
+ /** The computation slice itself; present when the candidate was requested in detail. */
71
+ slice?: number[];
72
+ /** The full slice itself; present when the candidate was requested in detail. */
73
+ fullSlice?: number[];
74
+ }
75
+ interface SliceCohesionLineRange {
76
+ startLine: number;
77
+ endLine: number;
78
+ }
79
+ interface SliceCohesionCluster {
80
+ outputs: string[];
81
+ /** Counted units exclusive to this cluster after shared setup is removed. */
82
+ units: number[];
83
+ /** Zero-based line ranges covering the cluster's units. */
84
+ lineRanges: SliceCohesionLineRange[];
85
+ /**
86
+ * The parameters an extraction would take: function parameters, `this`,
87
+ * shared-setup bindings, and locals of an enclosing function the cluster
88
+ * reads. Imports, module-level names, globals, and JSX tags stay imports.
89
+ */
90
+ inputs: string[];
91
+ kind: SliceCohesionClusterKind;
92
+ role: SliceCohesionClusterRole;
93
+ /** Whether `inputs` is within the signal bound; the remainder never needs an interface. */
94
+ narrow: boolean;
95
+ /** Hook calls the cluster contains, for hook-candidate wording. */
96
+ hooks: string[];
97
+ /** True when every output in the cluster is a throw: validation, not a computation. */
98
+ guardOnly: boolean;
99
+ }
100
+ interface SliceCohesionMetrics {
101
+ /** Share of counted statements in every value output's computation slice (Ott and Thuss tightness). */
102
+ tightness: number;
103
+ /** Tightness over full slices, guards included. */
104
+ fullTightness: number;
105
+ /** Mean computation-slice size as a share of counted statements (Ott and Thuss coverage). */
106
+ sliceShare: number;
107
+ fullSliceShare: number;
108
+ /** Mean share of each computation slice that lies in the intersection of all of them (overlap). */
109
+ overlap: number;
110
+ /** Statements in every full slice. */
111
+ superglue: number;
112
+ /** Statements in two or more full slices. */
113
+ glue: number;
114
+ }
115
+ interface SliceCohesionCoverage {
116
+ /** `partial` only when a gap can drop dependencies; conservative approximations keep `complete`. */
117
+ status: 'complete' | 'partial';
118
+ /**
119
+ * What `complete` covers: the function-local flow model. Runtime order,
120
+ * callee behavior, and framework scheduling are outside it.
121
+ */
122
+ model: 'function-local-flow';
123
+ basis: 'typescript-local-flow-backward-slices';
124
+ unsupported: string[];
125
+ /** Flow edges used whose strength is candidate rather than exact. */
126
+ candidateEdges: number;
127
+ /** Candidate edges are treated as dependencies, so they can merge clusters but never separate them. */
128
+ candidateEdgeEffect: 'merge-only';
129
+ }
130
+ interface SliceCohesionCandidate {
131
+ symbol: string;
132
+ shortName: string;
133
+ relativePath: string;
134
+ startLine: number;
135
+ endLine: number;
136
+ loc: number;
137
+ archetype: SliceCohesionArchetype;
138
+ /** True under a scripts, tools, bin, or migrations directory: operational code that legitimately sequences steps. */
139
+ operational: boolean;
140
+ /** Every body unit; present when the candidate was requested in detail. */
141
+ units?: SliceCohesionUnit[];
142
+ /** Units that carry data flow: statements, predicates, returns, and throws. */
143
+ statementCount: number;
144
+ outputs: SliceCohesionOutput[];
145
+ metrics: SliceCohesionMetrics;
146
+ /** Independent computations, largest first. */
147
+ clusters: SliceCohesionCluster[];
148
+ /** Value outputs that depend on shared setup only; they belong to whichever function keeps the setup. */
149
+ preambleOnlyOutputs: string[];
150
+ /** Counted units derived only from inputs and read by several outputs. */
151
+ preamble: number[];
152
+ /** Counted units no output depends on. */
153
+ orphans: number[];
154
+ /** Statements in the extraction clusters: what could leave the function while the largest computation stays. */
155
+ separableStatements: number;
156
+ splitCandidate: boolean;
157
+ actionTier: SliceCohesionActionTier;
158
+ tierReason: string;
159
+ evidenceReasons: string[];
160
+ recommendation: string;
161
+ coverage: SliceCohesionCoverage;
162
+ }
163
+ interface SourceFileCache {
164
+ files: Map<string, TypeScript.SourceFile | null>;
165
+ }
166
+ /**
167
+ * Measure functional cohesion from backward slices.
168
+ *
169
+ * For each thing a function hands to the outside world (its return value,
170
+ * each property of a returned object, an effect call, a write to state it
171
+ * does not own, a throw) the analysis takes the backward slice over the
172
+ * local definition-use and control-dependence graph. Outputs whose slices
173
+ * share statements belong to one computation; outputs whose slices are
174
+ * disjoint are separate local computations that happen to live in one
175
+ * body. Statements derived only from the inputs and read by several
176
+ * outputs are shared setup, not glue. The partition is the finding: the
177
+ * largest computation stays in place and every other qualifying cluster is
178
+ * an extraction with its parameters already named.
179
+ */
180
+ declare function sliceCohesion(db: ScipDatabase, opts?: {
181
+ scope?: string;
182
+ symbol?: string;
183
+ minLoc?: number;
184
+ minStatements?: number;
185
+ minClusterUnits?: number;
186
+ limit?: number;
187
+ scanLimit?: number;
188
+ /** Include every unit and slice in each candidate; defaults to true for a targeted symbol. */
189
+ detail?: boolean;
190
+ onProgress?: (progress: CandidateScanProgress) => void;
191
+ /** Receives the scan counters, so a caller can report how much of the repository the result covers. */
192
+ onProfile?: (counters: CandidatePipelineCounters) => void;
193
+ }): SliceCohesionCandidate[];
194
+ /**
195
+ * Slice one callable. Null when the file is not TypeScript-like, the
196
+ * compiler is unavailable, no function-like body sits inside the
197
+ * definition range, or the flow analysis reports no support at all.
198
+ */
199
+ declare function sliceCohesionForDefinition(db: ScipDatabase, definition: IndexedDefinition, opts?: {
200
+ minStatements?: number;
201
+ minClusterUnits?: number;
202
+ detail?: boolean;
203
+ }, cache?: SourceFileCache): SliceCohesionCandidate | null;
204
+
205
+ export { type SliceCohesionActionTier, type SliceCohesionArchetype, type SliceCohesionCandidate, type SliceCohesionCluster, type SliceCohesionClusterKind, type SliceCohesionClusterRole, type SliceCohesionCoverage, type SliceCohesionLineRange, type SliceCohesionMetrics, type SliceCohesionOutput, type SliceCohesionOutputKind, type SliceCohesionUnit, type SliceCohesionUnitKind, sliceCohesion, sliceCohesionForDefinition };
@@ -0,0 +1,2 @@
1
+ import{a,b}from"../chunk-BUTWYEPH.js";import"../chunk-NOWINRRN.js";import"../chunk-N2WN6I3L.js";import"../chunk-BOJ5SVE2.js";import"../chunk-6LSEIIF7.js";import"../chunk-BGBBVSH4.js";import"../chunk-36SGVCGX.js";import"../chunk-AGWFSTXC.js";import"../chunk-P5XHIJHI.js";import"../chunk-73AAKPUC.js";import"../chunk-KZBJWZJB.js";import"../chunk-4WTUBQ36.js";import"../chunk-NZAXKGRL.js";import"../chunk-KK7GPALL.js";import"../chunk-YNQCGEQE.js";import"../chunk-FMRN2TRL.js";import"../chunk-DA7RPPDF.js";import"../chunk-4WCUBZU3.js";import"../chunk-E3FDPXZK.js";import"../chunk-DHEQMPLW.js";import"../chunk-KHWRRPV4.js";import"../chunk-72AD6ZRR.js";import"../chunk-YUKYB54I.js";import"../chunk-GCKCF5FL.js";import"../chunk-DVFP6PZI.js";import"../chunk-5D2LVK7O.js";import"../chunk-7WTPQ4NX.js";import"../chunk-FVULPZDF.js";import"../chunk-D3FDISIC.js";import"../chunk-A2IIGFMJ.js";import"../chunk-PH52RA7D.js";import"../chunk-GVWX5T43.js";import"../chunk-T6DK3ZP7.js";import"../chunk-5TNQJUR2.js";export{a as sliceCohesion,b as sliceCohesionForDefinition};
2
+ //# sourceMappingURL=slice-cohesion.js.map