scip-query 0.14.0 → 0.16.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 (321) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/README.md +158 -62
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/chunk-2EU6WVR3.js +3 -0
  5. package/dist/chunk-2HFXPIBT.js +2 -0
  6. package/dist/chunk-2LGPMYS2.js +35 -0
  7. package/dist/chunk-2Y7YX54K.js +16 -0
  8. package/dist/chunk-363TZ64I.js +2 -0
  9. package/dist/chunk-3I34FZ6R.js +2 -0
  10. package/dist/chunk-3LAKH6BV.js +2 -0
  11. package/dist/chunk-3M2UCPFS.js +3 -0
  12. package/dist/chunk-3OPIMH42.js +2 -0
  13. package/dist/{chunk-QZOAOLLZ.js → chunk-3YAZH3JU.js} +2 -2
  14. package/dist/chunk-5P26M63Y.js +2 -0
  15. package/dist/{chunk-72FR7KEZ.js → chunk-5TVNLPUM.js} +14 -12
  16. package/dist/chunk-5UKDCXVC.js +5 -0
  17. package/dist/{chunk-R7U2I55B.js → chunk-5XDNFOAH.js} +2 -2
  18. package/dist/chunk-62Y3PC27.js +4 -0
  19. package/dist/chunk-6DNE65QS.js +40 -0
  20. package/dist/{chunk-N2OTJWC2.js → chunk-6EVORGCB.js} +2 -2
  21. package/dist/chunk-6GZ7LM7S.js +2 -0
  22. package/dist/chunk-753JWTUH.js +3 -0
  23. package/dist/chunk-7II7NFRV.js +4 -0
  24. package/dist/{chunk-M7EEHYSU.js → chunk-7RAS466A.js} +2 -2
  25. package/dist/chunk-A46JTKTM.js +5 -0
  26. package/dist/{chunk-2XRXEIRK.js → chunk-AAMZRDJT.js} +2 -2
  27. package/dist/chunk-AMPN2VMF.js +3 -0
  28. package/dist/{chunk-6XA4LDHY.js → chunk-B3X6KU75.js} +2 -2
  29. package/dist/chunk-BFWVHD2P.js +16 -0
  30. package/dist/chunk-BVHP2B4D.js +61 -0
  31. package/dist/{chunk-BUNDZ6K2.js → chunk-BVUA3GZC.js} +2 -2
  32. package/dist/{chunk-EDSD3VJK.js → chunk-CKIAEVGM.js} +2 -2
  33. package/dist/chunk-CM4EZLW4.js +2 -0
  34. package/dist/chunk-CS3FXTUC.js +2 -0
  35. package/dist/chunk-CVBS2FD4.js +2 -0
  36. package/dist/chunk-D5OXYOJP.js +7 -0
  37. package/dist/chunk-DA34GNNO.js +29 -0
  38. package/dist/chunk-DKK2H4D7.js +7 -0
  39. package/dist/chunk-EBSSCVR4.js +5 -0
  40. package/dist/{chunk-OXTM2RX3.js → chunk-EVCSXWER.js} +2 -2
  41. package/dist/chunk-FFIYGYQR.js +67 -0
  42. package/dist/chunk-G4KQ7S74.js +20 -0
  43. package/dist/{chunk-44P4SJFN.js → chunk-GWWYLYD3.js} +2 -2
  44. package/dist/chunk-HGUNWXJX.js +2 -0
  45. package/dist/chunk-HLRWOFXC.js +9 -0
  46. package/dist/{chunk-YQKECTPV.js → chunk-IRIM3SUR.js} +2 -2
  47. package/dist/chunk-JHK2DMUQ.js +4 -0
  48. package/dist/chunk-JQ2PCFZW.js +3 -0
  49. package/dist/chunk-JRFCWCOD.js +16 -0
  50. package/dist/chunk-JXAJDINF.js +2 -0
  51. package/dist/chunk-K32ZOW3P.js +2 -0
  52. package/dist/{chunk-3H5OSDF7.js → chunk-KI4WPR7Q.js} +2 -2
  53. package/dist/{chunk-43GKP6LI.js → chunk-KP2DJY7D.js} +2 -2
  54. package/dist/{chunk-YTVKPJXW.js → chunk-L27UIF3E.js} +2 -2
  55. package/dist/chunk-LT6AHYVY.js +18 -0
  56. package/dist/chunk-MCNWCJYL.js +11 -0
  57. package/dist/{chunk-K6UI6EBZ.js → chunk-MZB3DTHW.js} +2 -2
  58. package/dist/chunk-NLRWGGPY.js +8 -0
  59. package/dist/chunk-NLVKD45E.js +13 -0
  60. package/dist/chunk-OO6S4ECV.js +112 -0
  61. package/dist/{chunk-QYOPMTZ6.js → chunk-OYGKBDAD.js} +2 -2
  62. package/dist/chunk-P5QZILZ4.js +2 -0
  63. package/dist/chunk-P5XHIJHI.js +2 -0
  64. package/dist/chunk-PCCMMI2M.js +3 -0
  65. package/dist/{chunk-2TPCIPYA.js → chunk-Q65QYKU7.js} +2 -2
  66. package/dist/{chunk-K7SPOJHZ.js → chunk-QB7NRST4.js} +2 -2
  67. package/dist/{chunk-7JZRFDCU.js → chunk-QSNG3NHQ.js} +2 -2
  68. package/dist/chunk-QVZSWLLZ.js +2 -0
  69. package/dist/chunk-RLB7FZKR.js +10 -0
  70. package/dist/{chunk-KYB7FPXT.js → chunk-RPMT6MTX.js} +2 -2
  71. package/dist/chunk-RQWNF2RM.js +2 -0
  72. package/dist/chunk-RYFIRFYJ.js +4 -0
  73. package/dist/{chunk-QARYU7R3.js → chunk-S2FZILCF.js} +2 -2
  74. package/dist/{chunk-HV27H2V2.js → chunk-S3IXCXW2.js} +2 -2
  75. package/dist/{chunk-TYCZ7S4I.js → chunk-S5MTSES5.js} +2 -2
  76. package/dist/chunk-S5RZQA6V.js +2 -0
  77. package/dist/{chunk-PEHDARNC.js → chunk-SEEJPIWG.js} +2 -2
  78. package/dist/chunk-SOCS3467.js +2 -0
  79. package/dist/chunk-U6BJVXWQ.js +2 -0
  80. package/dist/chunk-UO4IADXJ.js +38 -0
  81. package/dist/{chunk-ZEO4CXQR.js → chunk-VLSI5MYU.js} +2 -2
  82. package/dist/chunk-VSQRU3AP.js +2 -0
  83. package/dist/chunk-VYQY75NA.js +2 -0
  84. package/dist/{chunk-NOKUZU56.js → chunk-VZCR3VQY.js} +2 -2
  85. package/dist/chunk-W3ZVRLCH.js +2 -0
  86. package/dist/chunk-WA64GKWB.js +20 -0
  87. package/dist/chunk-WFRZGMWJ.js +71 -0
  88. package/dist/chunk-WN6XEYVX.js +2 -0
  89. package/dist/chunk-XAEU4ROB.js +101 -0
  90. package/dist/chunk-XBPAJASV.js +2 -0
  91. package/dist/{chunk-GY3HAWUA.js → chunk-XC6PUFNN.js} +2 -2
  92. package/dist/chunk-Y42DMR6F.js +6 -0
  93. package/dist/chunk-YCVYOV4A.js +7 -0
  94. package/dist/{chunk-WPZPB42I.js → chunk-YD37KSEK.js} +2 -2
  95. package/dist/{chunk-V5W7H7V4.js → chunk-YFEJIYWH.js} +2 -2
  96. package/dist/chunk-YSUD2S7T.js +3 -0
  97. package/dist/{chunk-KJCDEDQW.js → chunk-ZEKBAMCN.js} +2 -2
  98. package/dist/chunk-ZHGUZKJL.js +2 -0
  99. package/dist/cli.js +587 -305
  100. package/dist/{config-types-BrHl3Bge.d.ts → config-types-SVkUIufk.d.ts} +10 -2
  101. package/dist/{db-_Bdx0E1W.d.ts → db-CS0TuVH6.d.ts} +1 -1
  102. package/dist/{git-history-Dao3_Pu9.d.ts → git-history-ChNHbfZQ.d.ts} +2 -1
  103. package/dist/{health-BEZ1Rt0S.d.ts → health-Btal3mQi.d.ts} +4 -4
  104. package/dist/index.d.ts +7 -5
  105. package/dist/index.js +1 -19
  106. package/dist/queries/affected.d.ts +2 -2
  107. package/dist/queries/affected.js +1 -1
  108. package/dist/queries/bottlenecks.d.ts +8 -2
  109. package/dist/queries/bottlenecks.js +1 -1
  110. package/dist/queries/by-kind.d.ts +2 -2
  111. package/dist/queries/by-kind.js +1 -1
  112. package/dist/queries/call-graph.d.ts +2 -2
  113. package/dist/queries/call-graph.js +1 -1
  114. package/dist/queries/change-surface.d.ts +2 -2
  115. package/dist/queries/change-surface.js +1 -1
  116. package/dist/queries/cleanup-plan.d.ts +2 -2
  117. package/dist/queries/cleanup-plan.js +1 -1
  118. package/dist/queries/co-change.d.ts +4 -3
  119. package/dist/queries/co-change.js +1 -1
  120. package/dist/queries/code.d.ts +2 -2
  121. package/dist/queries/code.js +1 -1
  122. package/dist/queries/complexity-hotspots.d.ts +3 -3
  123. package/dist/queries/complexity-hotspots.js +1 -1
  124. package/dist/queries/complexity.d.ts +5 -4
  125. package/dist/queries/complexity.js +1 -1
  126. package/dist/queries/convergence.d.ts +2 -2
  127. package/dist/queries/convergence.js +1 -1
  128. package/dist/queries/coupling.d.ts +2 -2
  129. package/dist/queries/coupling.js +1 -1
  130. package/dist/queries/cycles.d.ts +2 -2
  131. package/dist/queries/cycles.js +1 -1
  132. package/dist/queries/dataflow.d.ts +2 -2
  133. package/dist/queries/dataflow.js +1 -1
  134. package/dist/queries/dead.d.ts +12 -3
  135. package/dist/queries/dead.js +1 -1
  136. package/dist/queries/decorative-checkers.d.ts +2 -2
  137. package/dist/queries/decorative-checkers.js +1 -1
  138. package/dist/queries/deep-chains.d.ts +8 -3
  139. package/dist/queries/deep-chains.js +1 -1
  140. package/dist/queries/deps.d.ts +2 -2
  141. package/dist/queries/deps.js +1 -1
  142. package/dist/queries/diff-gate.d.ts +5 -4
  143. package/dist/queries/diff-gate.js +1 -1
  144. package/dist/queries/diff-impact.d.ts +3 -3
  145. package/dist/queries/diff-impact.js +1 -1
  146. package/dist/queries/doc-drift.d.ts +4 -2
  147. package/dist/queries/doc-drift.js +1 -1
  148. package/dist/queries/drift.d.ts +2 -2
  149. package/dist/queries/drift.js +1 -1
  150. package/dist/queries/duplicate-bodies.d.ts +3 -3
  151. package/dist/queries/duplicate-bodies.js +1 -1
  152. package/dist/queries/extract-candidates.d.ts +2 -2
  153. package/dist/queries/extract-candidates.js +1 -1
  154. package/dist/queries/fan.d.ts +11 -5
  155. package/dist/queries/fan.js +1 -1
  156. package/dist/queries/files.d.ts +2 -2
  157. package/dist/queries/health.d.ts +3 -3
  158. package/dist/queries/health.js +1 -1
  159. package/dist/queries/hierarchy.d.ts +2 -2
  160. package/dist/queries/hierarchy.js +1 -1
  161. package/dist/queries/hotspots.d.ts +2 -2
  162. package/dist/queries/hotspots.js +1 -1
  163. package/dist/queries/imports.d.ts +2 -2
  164. package/dist/queries/imports.js +1 -1
  165. package/dist/queries/incomplete-migration.d.ts +3 -3
  166. package/dist/queries/incomplete-migration.js +1 -1
  167. package/dist/queries/index.d.ts +5 -5
  168. package/dist/queries/index.js +1 -1
  169. package/dist/queries/isolated.d.ts +2 -2
  170. package/dist/queries/isolated.js +1 -1
  171. package/dist/queries/locality-candidates.d.ts +2 -2
  172. package/dist/queries/locality-candidates.js +1 -1
  173. package/dist/queries/members.d.ts +2 -2
  174. package/dist/queries/members.js +1 -1
  175. package/dist/queries/methods.d.ts +2 -2
  176. package/dist/queries/methods.js +1 -1
  177. package/dist/queries/not-implemented.d.ts +2 -2
  178. package/dist/queries/not-implemented.js +1 -1
  179. package/dist/queries/outline.d.ts +2 -2
  180. package/dist/queries/outline.js +1 -1
  181. package/dist/queries/passthrough-candidates.d.ts +3 -3
  182. package/dist/queries/passthrough-candidates.js +1 -1
  183. package/dist/queries/plan-context.d.ts +4 -4
  184. package/dist/queries/plan-context.js +1 -1
  185. package/dist/queries/react-component-duplicates.d.ts +4 -2
  186. package/dist/queries/react-component-duplicates.js +1 -1
  187. package/dist/queries/react-hook-candidates.d.ts +4 -2
  188. package/dist/queries/react-hook-candidates.js +1 -1
  189. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  190. package/dist/queries/react-large-component-pressure.js +1 -1
  191. package/dist/queries/recent-duplicates.d.ts +4 -2
  192. package/dist/queries/recent-duplicates.js +1 -1
  193. package/dist/queries/redundant-reexports.d.ts +2 -2
  194. package/dist/queries/redundant-reexports.js +1 -1
  195. package/dist/queries/refs.d.ts +2 -2
  196. package/dist/queries/refs.js +1 -1
  197. package/dist/queries/self-audit.d.ts +2 -2
  198. package/dist/queries/self-audit.js +1 -1
  199. package/dist/queries/similar-chains.d.ts +2 -2
  200. package/dist/queries/similar-chains.js +1 -1
  201. package/dist/queries/similar-files.d.ts +2 -2
  202. package/dist/queries/similar-files.js +1 -1
  203. package/dist/queries/similar-signatures.d.ts +2 -2
  204. package/dist/queries/similar-signatures.js +1 -1
  205. package/dist/queries/similar.d.ts +2 -2
  206. package/dist/queries/similar.js +1 -1
  207. package/dist/queries/slice.d.ts +2 -2
  208. package/dist/queries/slice.js +1 -1
  209. package/dist/queries/stale-abstractions.d.ts +2 -2
  210. package/dist/queries/stale-abstractions.js +1 -1
  211. package/dist/queries/stats.d.ts +2 -2
  212. package/dist/queries/surface.d.ts +2 -2
  213. package/dist/queries/surface.js +1 -1
  214. package/dist/queries/symbols.d.ts +2 -2
  215. package/dist/queries/symbols.js +1 -1
  216. package/dist/queries/system.d.ts +2 -2
  217. package/dist/queries/system.js +1 -1
  218. package/dist/queries/test-quality.d.ts +2 -2
  219. package/dist/queries/test-quality.js +1 -1
  220. package/dist/queries/trace.d.ts +2 -2
  221. package/dist/queries/trace.js +1 -1
  222. package/dist/queries/twin-ab.d.ts +2 -2
  223. package/dist/queries/twin-ab.js +1 -1
  224. package/dist/queries/twin-drift.d.ts +2 -2
  225. package/dist/queries/twin-drift.js +1 -1
  226. package/dist/queries/unused-imports.d.ts +2 -2
  227. package/dist/queries/unused-imports.js +1 -1
  228. package/dist/queries/unused-params.d.ts +2 -2
  229. package/dist/queries/unused-params.js +1 -1
  230. package/dist/queries/vue-component-duplicates.d.ts +4 -2
  231. package/dist/queries/vue-component-duplicates.js +1 -1
  232. package/dist/queries/vue-composable-candidates.d.ts +4 -2
  233. package/dist/queries/vue-composable-candidates.js +1 -1
  234. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  235. package/dist/queries/vue-large-view-pressure.js +1 -1
  236. package/dist/queries/wrapper-candidates.d.ts +2 -2
  237. package/dist/queries/wrapper-candidates.js +1 -1
  238. package/dist/reindex-worker.js +256 -12
  239. package/dist/reindex.d.ts +29 -3
  240. package/dist/reindex.js +251 -22
  241. package/dist/runtime.d.ts +8 -4
  242. package/dist/runtime.js +2 -2
  243. package/dist/rust-semantic-session-server.js +2 -0
  244. package/dist/rust-semantic-session-worker.js +2 -0
  245. package/dist/rust-semantic-worker.js +2 -0
  246. package/dist/{scip-cli-C7cg4ZHR.d.ts → scip-cli-BKL-26TZ.d.ts} +2 -2
  247. package/dist/{symbol-types-DaoeXKUt.d.ts → symbol-types-BgWU6lhL.d.ts} +2 -0
  248. package/dist/watch-server.js +42 -0
  249. package/docs/AGENT_GUIDE.md +110 -34
  250. package/docs/AI_FAILURE_MODES.md +8 -3
  251. package/docs/COMMAND_REFERENCE.md +11 -6
  252. package/docs/REGEX_POLICY.md +3 -1
  253. package/docs/accuracy-audit-checklist.md +300 -0
  254. package/docs/accuracy-hardening-goal.md +493 -54
  255. package/docs/analyzer-inventory.md +31 -23
  256. package/docs/analyzer-validation-ledger.md +51 -21
  257. package/package.json +2 -1
  258. package/scripts/build-scip-windows.mjs +7 -7
  259. package/skills/_shared/SKILL.md +21 -18
  260. package/skills/scip-calibrate/SKILL.md +9 -3
  261. package/skills/scip-hyper-optimization/SKILL.md +5 -1
  262. package/skills/scip-query/SKILL.md +1 -1
  263. package/skills/scip-setup/SKILL.md +104 -4
  264. package/skills/scip-verify/SKILL.md +24 -13
  265. package/dist/chunk-27HMTUJE.js +0 -3
  266. package/dist/chunk-27XEGMCT.js +0 -7
  267. package/dist/chunk-3AMWF6V5.js +0 -3
  268. package/dist/chunk-5AAAEZ2Z.js +0 -2
  269. package/dist/chunk-5JRMZMLM.js +0 -2
  270. package/dist/chunk-5VY3RIEI.js +0 -38
  271. package/dist/chunk-6JUAGXR4.js +0 -4
  272. package/dist/chunk-6KDOYKCB.js +0 -40
  273. package/dist/chunk-6KMTPNZL.js +0 -3
  274. package/dist/chunk-7COVQPQQ.js +0 -9
  275. package/dist/chunk-7S5E7KWT.js +0 -2
  276. package/dist/chunk-7TVFPOD7.js +0 -102
  277. package/dist/chunk-A6KSEIRN.js +0 -61
  278. package/dist/chunk-AAMURYOK.js +0 -4
  279. package/dist/chunk-BP7S6V3M.js +0 -20
  280. package/dist/chunk-BRBF3E5X.js +0 -35
  281. package/dist/chunk-BZXE3HO4.js +0 -6
  282. package/dist/chunk-CXQQOXSI.js +0 -10
  283. package/dist/chunk-EVZSAR3S.js +0 -2
  284. package/dist/chunk-GMOEX7EV.js +0 -2
  285. package/dist/chunk-GNG622H3.js +0 -3
  286. package/dist/chunk-GUDKRIGW.js +0 -7
  287. package/dist/chunk-GULVO6NF.js +0 -43
  288. package/dist/chunk-HZZQKNVE.js +0 -2
  289. package/dist/chunk-I4R3SNMR.js +0 -2
  290. package/dist/chunk-IMQFJ53K.js +0 -2
  291. package/dist/chunk-ISLWJ4PY.js +0 -10
  292. package/dist/chunk-IUSSGHJO.js +0 -2
  293. package/dist/chunk-J5WVNZ6O.js +0 -2
  294. package/dist/chunk-JJUX2OAP.js +0 -2
  295. package/dist/chunk-JZBGTSAB.js +0 -13
  296. package/dist/chunk-K5N5RNGM.js +0 -2
  297. package/dist/chunk-KSJ544IV.js +0 -5
  298. package/dist/chunk-LY7NMOBW.js +0 -2
  299. package/dist/chunk-N23FT4EZ.js +0 -2
  300. package/dist/chunk-NCVFKOLB.js +0 -2
  301. package/dist/chunk-PESEPWZO.js +0 -2
  302. package/dist/chunk-PMY4UFGV.js +0 -2
  303. package/dist/chunk-Q7PWDXL5.js +0 -5
  304. package/dist/chunk-QVGFVRKD.js +0 -2
  305. package/dist/chunk-R5336VHZ.js +0 -2
  306. package/dist/chunk-RLB6SG25.js +0 -2
  307. package/dist/chunk-SFDVBARK.js +0 -2
  308. package/dist/chunk-TG7QSYCJ.js +0 -2
  309. package/dist/chunk-U3VMUDXJ.js +0 -2
  310. package/dist/chunk-UHPWZCYQ.js +0 -3
  311. package/dist/chunk-URSSPS5H.js +0 -2
  312. package/dist/chunk-WIBFXSYB.js +0 -6
  313. package/dist/chunk-WMO2VZZK.js +0 -3
  314. package/dist/chunk-WS3Z6W3M.js +0 -65
  315. package/dist/chunk-X3DTIEMU.js +0 -18
  316. package/dist/chunk-X5C43YVI.js +0 -2
  317. package/dist/chunk-X7CHWTZ2.js +0 -72
  318. package/dist/chunk-XC2PJOVM.js +0 -3
  319. package/dist/chunk-XDESMVOL.js +0 -4
  320. package/dist/chunk-XZBLZHXL.js +0 -16
  321. package/dist/chunk-ZMGBWSFZ.js +0 -2
@@ -14,17 +14,39 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
14
14
  ### Steps
15
15
 
16
16
  1. **Run setup**
17
+
17
18
  ```bash
18
19
  scip-query setup --json
19
20
  ```
20
- Returns: detected languages, indexer readiness, remediation attempts, index result, capability summary, project-local hook install state, smoke tests, health score, issue list, health dossier paths, and setup verdict. Use `scip-query setup --no-hooks --json` when the repo should not write Codex or Claude Code lifecycle hooks.
21
+
22
+ Returns: detected languages, automatic-indexing config and live service
23
+ state, Rust semantic transport/fallback state, indexer readiness,
24
+ remediation attempts, index result, capability summary, project-local hook
25
+ install state, smoke tests, health score, issue list, health dossier paths,
26
+ and setup verdict. A project with no watch decision is enabled; an existing
27
+ explicit `watch.enabled: false` is preserved. Use `scip-query setup --guided`
28
+ for a recommended automatic-indexing choice, or
29
+ `scip-query setup --no-hooks --json` when the repo should not write Codex or
30
+ Claude Code lifecycle hooks.
31
+
32
+ Setup reports three change scopes. Repository records are shared project
33
+ facts and history that must survive clones, so commit `.scipquery.json`,
34
+ managed AGENTS/CLAUDE guidance, health dossiers,
35
+ `.scipquery/suppressions/*.json`, and `.scipquery/ledger/` when setup or a
36
+ gate run changes them. Checkout preferences configure only one clone, so do
37
+ not commit `.codex/hooks.json` or `.claude/settings.local.json`; setup keeps
38
+ them out of Git through `.git/info/exclude`. User-environment changes install
39
+ skills or indexers for the current machine. Use `setup --guided` to answer
40
+ each repository, checkout, or user-scope question separately.
21
41
 
22
42
  2. **Resolve blockers**
43
+
23
44
  ```bash
24
45
  scip-query doctor
25
46
  scip-query status --json
26
47
  scip-query capabilities --matrix
27
48
  ```
49
+
28
50
  `doctor` is the human diagnostic. `status --json` is the machine-readable freshness/config surface. `check-deps` and `capability-matrix` remain compatibility aliases, but new workflows should prefer `doctor`, `status`, and `capabilities --matrix`.
29
51
 
30
52
  3. **Start health follow-through**
@@ -50,33 +72,43 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
50
72
  ### Steps
51
73
 
52
74
  1. **Map the module**
75
+
53
76
  ```bash
54
77
  scip-query system <module-path>
55
78
  ```
79
+
56
80
  Returns: all files in the module, all exported symbols with line ranges, all inbound and outbound dependencies. This is your starting map.
57
81
 
58
82
  2. **Understand the public contract**
83
+
59
84
  ```bash
60
85
  scip-query surface <module-path>
61
86
  ```
87
+
62
88
  Returns: which symbols external consumers actually reference. This is the true public API — not what's exported, but what's used. Any change to these symbols is a breaking change.
63
89
 
64
90
  3. **Trace specific symbols**
91
+
65
92
  ```bash
66
93
  scip-query trace <symbol-name>
67
94
  ```
95
+
68
96
  Returns: where the symbol is defined (file + line range + signature) and every file that references it. Use this for any symbol you need to understand deeply.
69
97
 
70
98
  4. **Map the call graph**
99
+
71
100
  ```bash
72
101
  scip-query call-graph <function-name>
73
102
  ```
103
+
74
104
  Returns: what calls this function (incoming) and what this function calls (outgoing). Gives you the function's role in the execution flow.
75
105
 
76
106
  5. **Check blast radius**
107
+
77
108
  ```bash
78
109
  scip-query affected <symbol-name>
79
110
  ```
111
+
80
112
  Returns: the full transitive closure of symbols that could break if this symbol changes. Depth 1 = direct consumers. Depth 2 = consumers of consumers. Shows the complete ripple effect.
81
113
 
82
114
  6. **Pre-change briefing**
@@ -102,38 +134,48 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
102
134
  ### Steps
103
135
 
104
136
  1. **Map the target area**
137
+
105
138
  ```bash
106
139
  scip-query system <module-path>
107
140
  scip-query outline <each-file-you-will-modify>
108
141
  ```
142
+
109
143
  Get the structural outline with line ranges for every file in scope. Add `--signatures` only when type details are useful.
110
144
 
111
145
  2. **Identify the public contract you must preserve**
146
+
112
147
  ```bash
113
148
  scip-query surface <module-path>
114
149
  ```
150
+
115
151
  Any symbol that appears here must maintain backward compatibility or all consumers must be updated.
116
152
 
117
153
  3. **Map every symbol you plan to change**
154
+
118
155
  ```bash
119
156
  scip-query refs <symbol> # who uses it
120
157
  scip-query affected <symbol> # transitive blast radius
121
158
  scip-query fan-in <symbol> # quantified consumer count
122
159
  ```
160
+
123
161
  For each symbol you'll modify: know exactly who consumes it and how many layers deep the impact goes.
124
162
 
125
163
  4. **Check blast radius before editing**
164
+
126
165
  ```bash
127
166
  scip-query change-surface <file>
128
167
  scip-query diff-impact --json
129
168
  ```
169
+
130
170
  Identify which symbols in your change set have many external consumers and which downstream files will be affected.
131
171
 
132
172
  5. **Find reusable code**
173
+
133
174
  ```bash
134
175
  scip-query similar <symbol-you-plan-to-write>
135
176
  scip-query deps <file>
136
177
  ```
178
+
137
179
  Before writing new code, check if something similar already exists. `similar` finds functions with overlapping callee patterns. `deps` shows what the file already imports that you can reuse.
138
180
 
139
181
  6. **After making changes, verify impact**
@@ -181,68 +223,90 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
181
223
  Numeric thresholds below are recommended starting points for review sessions; command defaults may differ.
182
224
 
183
225
  1. **Get the full health report**
226
+
184
227
  ```bash
185
228
  scip-query health
186
229
  ```
230
+
187
231
  This runs every analysis and produces a prioritized action list. Start here. The actions are sorted by impact/effort ratio — do the top ones first.
188
232
 
189
233
  2. **Review dead-code candidates**
234
+
190
235
  ```bash
191
236
  scip-query dead --min-loc 10 --skip-barrels
192
237
  ```
193
- These symbols have zero cross-file references. Treat them as deletion candidates and confirm with `cleanup-plan --verify` before deleting. `--skip-barrels` ignores references from inactive barrel files, which helps surface exports kept alive only by unused re-export layers without hiding live package entry surfaces.
238
+
239
+ `dead-code` rows have no repository consumer after test references, declared package exports, framework entrypoints, and language contracts are considered. `file-internal` rows have same-file use but no cross-file consumer and are contextual, not deletion claims. Confirm deletion candidates with `cleanup-plan --verify`. `--skip-barrels` ignores references from inactive barrel files without hiding live package entry surfaces.
194
240
 
195
241
  3. **Delete isolated symbols**
242
+
196
243
  ```bash
197
244
  scip-query isolated --min-loc 5
198
245
  ```
246
+
199
247
  Stricter than `dead` — these symbols have zero references anywhere, including in their own file. Completely disconnected from the codebase.
200
248
 
201
249
  4. **Break circular dependencies**
250
+
202
251
  ```bash
203
252
  scip-query cycles
204
253
  ```
254
+
205
255
  If any exist, they need structural fixes: dependency inversion, module splitting, or interface extraction.
206
256
 
207
257
  5. **Consolidate similar functions**
258
+
208
259
  ```bash
209
260
  scip-query similar --min-similarity 0.5
210
261
  ```
262
+
211
263
  Pairs of functions with overlapping callee sets. For each pair:
264
+
212
265
  ```bash
213
266
  scip-query convergence <symbol1> <symbol2>
214
267
  ```
268
+
215
269
  Shows what the consolidated version would look like: shared callees = common body, unique callees = parameterization points.
216
270
 
217
271
  6. **Extract large functions**
272
+
218
273
  ```bash
219
274
  scip-query extract-candidates --min-loc 20
220
275
  ```
276
+
221
277
  Functions with isolated callee clusters — natural "Extract Method" seams.
222
278
 
223
279
  7. **Remove unnecessary indirection**
280
+
224
281
  ```bash
225
282
  scip-query wrapper-candidates
226
283
  scip-query passthrough-candidates
227
284
  ```
285
+
228
286
  Wrappers: single-consumer symbols that can be inlined. Passthroughs: functions that just forward to one callee.
229
287
 
230
288
  8. **Prune premature abstractions**
289
+
231
290
  ```bash
232
291
  scip-query stale-abstractions
233
292
  ```
293
+
234
294
  Types and interfaces with 0-1 consumers. An interface with one implementation isn't an abstraction.
235
295
 
236
296
  9. **Fix pattern drift**
297
+
237
298
  ```bash
238
299
  scip-query drift --patterns
239
300
  ```
301
+
240
302
  Files that deviate from their directory's typical dependency pattern. Bring them into line with their neighbors. `--patterns` is opt-in (off by default since 21.2 calibration found this channel low-precision at scale) — treat hits as leads to confirm, not findings.
241
303
 
242
304
  10. **Remove redundant re-exports**
305
+
243
306
  ```bash
244
307
  scip-query redundant-reexports
245
308
  ```
309
+
246
310
  Barrel file entries that nobody imports through. Clean up the barrel.
247
311
 
248
312
  11. **Find same-shape functions**
@@ -253,16 +317,16 @@ Numeric thresholds below are recommended starting points for review sessions; co
253
317
 
254
318
  ### Priority order
255
319
 
256
- | Priority | What | Why |
257
- |---|---|---|
258
- | 1 | Dead code | High-confidence deletion candidates; verify before deleting |
259
- | 2 | Isolated symbols | Zero indexed consumers; verify before deleting |
260
- | 3 | Circular deps | Structural fix, prevents future problems |
261
- | 4 | Similar functions | Reduces duplication, use `convergence` for prescription |
262
- | 5 | Extraction candidates | Reduces function complexity |
263
- | 6 | Wrappers / passthroughs | Removes unnecessary indirection |
264
- | 7 | Stale abstractions | Removes premature over-engineering |
265
- | 8 | Pattern drift | Consistency improvement |
320
+ | Priority | What | Why |
321
+ | -------- | ----------------------- | ----------------------------------------------------------- |
322
+ | 1 | Dead code | High-confidence deletion candidates; verify before deleting |
323
+ | 2 | Isolated symbols | Zero indexed consumers; verify before deleting |
324
+ | 3 | Circular deps | Structural fix, prevents future problems |
325
+ | 4 | Similar functions | Reduces duplication, use `convergence` for prescription |
326
+ | 5 | Extraction candidates | Reduces function complexity |
327
+ | 6 | Wrappers / passthroughs | Removes unnecessary indirection |
328
+ | 7 | Stale abstractions | Removes premature over-engineering |
329
+ | 8 | Pattern drift | Consistency improvement |
266
330
 
267
331
  ---
268
332
 
@@ -273,27 +337,34 @@ Numeric thresholds below are recommended starting points for review sessions; co
273
337
  ### Steps
274
338
 
275
339
  1. **Overall health**
340
+
276
341
  ```bash
277
342
  scip-query health
278
343
  scip-query health --json # for programmatic use
279
344
  ```
280
345
 
281
346
  2. **Complexity risks**
347
+
282
348
  ```bash
283
349
  scip-query complexity-hotspots -n 20
284
350
  ```
351
+
285
352
  Symbols with the highest composite score (LOC x fan-in x fan-out). These are the most likely to contain bugs and the hardest to modify.
286
353
 
287
354
  3. **Coupling risks**
355
+
288
356
  ```bash
289
357
  scip-query bottlenecks -n 20
290
358
  ```
359
+
291
360
  Symbols with both high fan-in (many consumers) AND high fan-out (many dependencies). Changes to these are risky in both directions.
292
361
 
293
362
  4. **Architecture depth**
363
+
294
364
  ```bash
295
365
  scip-query deep-chains --min-depth 5
296
366
  ```
367
+
297
368
  Long transitive dependency chains. If chains are deeper than 6-7, the architecture may need flattening.
298
369
 
299
370
  5. **Structural drift**
@@ -335,15 +406,19 @@ Numeric thresholds below are recommended starting points for review sessions; co
335
406
  ### Steps
336
407
 
337
408
  1. **Compute diff impact**
409
+
338
410
  ```bash
339
411
  scip-query diff-impact --json
340
412
  ```
413
+
341
414
  Shows: changed files, changed symbols with fan-in counts, and affected consumer files.
342
415
 
343
416
  2. **Check transitive impact for critical symbols**
417
+
344
418
  ```bash
345
419
  scip-query affected <changed-symbol>
346
420
  ```
421
+
347
422
  For any high fan-in symbol that changed, check the full transitive blast wave.
348
423
 
349
424
  3. **Re-check structural drift around the changed area**
@@ -357,28 +432,29 @@ Numeric thresholds below are recommended starting points for review sessions; co
357
432
 
358
433
  ## Quick Reference
359
434
 
360
- | I want to... | Run |
361
- |---|---|
362
- | Understand a module | `system <module>` |
363
- | See what consumers actually use | `surface <module>` |
364
- | Find all references to a symbol | `refs <symbol>` or `trace <symbol>` |
365
- | See what a function calls and who calls it | `call-graph <symbol>` |
366
- | Check blast radius of a change | `affected <symbol>` |
367
- | Get a pre-change briefing | `change-surface <file>` |
368
- | See impact of my git changes | `diff-impact --json` |
369
- | Find dead code to delete | `dead --min-loc 10 --skip-barrels` |
370
- | Find duplicate functions | `similar --min-similarity 0.5` |
371
- | Find same-shape functions | `similar-signatures --min-loc 5` |
372
- | Get a refactoring prescription | `convergence <sym1> <sym2>` |
373
- | Find redundant barrel re-exports | `redundant-reexports` |
374
- | Find extraction opportunities | `extract-candidates --min-loc 20` |
375
- | Find unnecessary wrappers | `wrapper-candidates` |
376
- | Find single-implementation types | `stale-abstractions` |
377
- | Find pattern outliers | `drift` |
378
- | Get overall codebase health | `health` |
379
- | Find riskiest symbols | `complexity-hotspots` |
380
- | Find coupling pressure points | `bottlenecks` |
381
- | Find circular dependencies | `cycles` |
435
+ | I want to... | Run |
436
+ | ------------------------------------------ | ----------------------------------- |
437
+ | Understand a module | `system <module>` |
438
+ | See what consumers actually use | `surface <module>` |
439
+ | Find all references to a symbol | `refs <symbol>` or `trace <symbol>` |
440
+ | See what a function calls and who calls it | `call-graph <symbol>` |
441
+ | Check blast radius of a change | `affected <symbol>` |
442
+ | Get a pre-change briefing | `change-surface <file>` |
443
+ | See impact of my git changes | `diff-impact --json` |
444
+ | Find dead code to delete | `dead --min-loc 10 --skip-barrels` |
445
+ | Find duplicate functions | `similar --min-similarity 0.5` |
446
+ | Find same-shape functions | `similar-signatures --min-loc 5` |
447
+ | Get a refactoring prescription | `convergence <sym1> <sym2>` |
448
+ | Find redundant barrel re-exports | `redundant-reexports` |
449
+ | Find extraction opportunities | `extract-candidates --min-loc 20` |
450
+ | Find unnecessary wrappers | `wrapper-candidates` |
451
+ | Find single-implementation types | `stale-abstractions` |
452
+ | Find pattern outliers | `drift` |
453
+ | Get overall codebase health | `health` |
454
+ | Find riskiest symbols | `complexity-hotspots` |
455
+ | Find coupling pressure points | `bottlenecks` |
456
+ | Find circular dependencies | `cycles` |
457
+
382
458
  ---
383
459
 
384
460
  ## Tips for AI Agents
@@ -253,9 +253,10 @@ The detectors only help if they run. Three layers, in increasing strength:
253
253
  **1. Skills and lifecycle hooks (routing).** Installing scip-query symlinks the
254
254
  bundled skills into `~/.agents/skills/`, `~/.claude/skills/`, and
255
255
  `~/.codex/skills/` — they update automatically with the package. Project setup
256
- writes reviewable repo-local hooks to `.codex/hooks.json` and
257
- `.claude/settings.local.json` by default; `setup-hooks --shared` opts into the
258
- tracked `.claude/settings.json`. Set `SCIP_QUERY_SKIP_HOOK_INSTALL=1` or run
256
+ writes reviewable checkout-local hooks to `.codex/hooks.json` and
257
+ `.claude/settings.local.json` and excludes both through `.git/info/exclude`.
258
+ The deprecated `setup-hooks --shared` flag remains parse-compatible but no
259
+ longer writes tracked settings. Set `SCIP_QUERY_SKIP_HOOK_INSTALL=1` or run
259
260
  `scip-query setup --no-hooks` to skip lifecycle hook setup. The hooks add
260
261
  scip-query context at session start, route prompts toward the right specialist,
261
262
  and run a safe Stop hook wrapper around the diff gate only for that repository.
@@ -276,6 +277,10 @@ commands, writes `docs/scip-query/health-dossier.md` and `.json`, reports the
276
277
  health score and items needing attention, and seeds a managed block in
277
278
  `AGENTS.md` plus a `CLAUDE.md` import shim.
278
279
 
280
+ The generated guidance distinguishes shared repository records from local
281
+ preferences. Commit suppression files and `.scipquery/ledger/` outcome events
282
+ with the change that produced them. Never commit the checkout hook files.
283
+
279
284
  After setup, use `scip-cleanup-audit` to confirm raw signals and
280
285
  `scip-cleanup-improve` when the user wants the agent to fix the worst confirmed
281
286
  items until the health score is as high as reasonably possible.
@@ -45,7 +45,7 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
45
45
 
46
46
  | Command | Description | Options |
47
47
  |---|---|---|
48
- | `dead [scope]` | Find dead code and file-internal symbols (no cross-file consumers) | `--min-loc <n>`<br>`--include-tests`<br>`--skip-barrels`<br>`--include-members`<br>`--only-dead`<br>`--only-internal`<br>`--full`<br>`--json` |
48
+ | `dead [scope]` | Find repository-dead code, file-internal symbols, and implicit-usage signals | `--min-loc <n>`<br>`--include-tests`<br>`--skip-barrels`<br>`--include-members`<br>`--only-dead`<br>`--only-internal`<br>`--full`<br>`--json` |
49
49
  | `unused-imports <file>` | Find imports not referenced in the same file | `--full`<br>`--json` |
50
50
  | `isolated` | Find completely orphaned symbols (no references at all) | `-s, --scope <path>`<br>`--min-loc <n>`<br>`--full`<br>`--json` |
51
51
  | `similar [symbol] [other]` | Find heuristic function similarity candidates from callee fingerprints | `--min-similarity <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-callees <n>`<br>`--cross-file-only`<br>`--plan`<br>`--full`<br>`--json` |
@@ -84,12 +84,12 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
84
84
  | Command | Description | Options |
85
85
  |---|---|---|
86
86
  | `hotspots` | Most-referenced symbols in the codebase (choke points) | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
87
- | `fan-in [symbol]` | How many files reference a symbol (or top fan-in across codebase) | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
87
+ | `fan-in [symbol]` | Count files referencing an exact symbol; top JSON rows include exact symbol identity | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
88
88
  | `fan-out [file]` | How many external symbols a file uses (or top fan-out across codebase) | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
89
89
  | `coupling [file1] [file2]` | Coupling between two files, or top coupled pairs in codebase | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
90
90
  | `cycles` | Detect circular dependency chains between files | `-s, --scope <path>`<br>`--max-depth <n>`<br>`--json` |
91
91
  | `bottlenecks` | Find coupling hubs: high fan-in AND high fan-out | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-fan-in <n>`<br>`--min-fan-out <n>`<br>`--full`<br>`--json` |
92
- | `deep-chains` | Find the longest transitive dependency chains | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-depth <n>`<br>`--full`<br>`--json` |
92
+ | `deep-chains` | Find the longest condensed dependency-component chains | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-depth <n>`<br>`--full`<br>`--json` |
93
93
  | `call-graph <symbol>` | Show incoming callers and outgoing callees for a symbol | `--full`<br>`--json` |
94
94
 
95
95
  ### Impact
@@ -128,6 +128,7 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
128
128
  | Command | Description | Options |
129
129
  |---|---|---|
130
130
  | `bench` | Benchmark indexing and command runtimes for this repository | `--json`<br>`--cold-index`<br>`--include-heavy`<br>`--command <cmd>`<br>`--timeout-ms <n>`<br>`--progress`<br>`--profile`<br>`--profile-out <path>` |
131
+ | `work-audit <profile>` | Rank exact repeated computations in a profiling JSONL file by measured avoidable time | `--top <n>`<br>`--json` |
131
132
  | `install-skills` | Install skills (_shared, scip-query, scip-setup, scip-calibrate, scip-cleanup-audit, scip-cleanup-improve, scip-integrity-audit, scip-twin-drift, scip-claim-audit, scip-probe-reachability, scip-hyper-optimization, scip-api-impact, scip-concrete-plan, scip-conductor, scip-debug, scip-explore, scip-triage-issue, scip-diagram, scip-doc-reconcile, scip-directory-architecture, scip-maintainability, scip-react-maintainability, scip-vue-maintainability, scip-verify, scip-language-playbook, scip-tla-model-system) into Claude Code, Codex, and shared agent roots | - |
132
133
  | `setup-hooks` | Install or refresh project-local Codex and Claude Code lifecycle hooks | `--shared`<br>`--remove`<br>`--force`<br>`--json` |
133
134
  | `check-deps` | Check whether scip-query and the detected language indexers are actually runnable | - |
@@ -135,13 +136,14 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
135
136
  | `capability-matrix` | Deprecated alias for capabilities --matrix | `--json` |
136
137
  | `init` | Create a .scipquery.json config file for this project | - |
137
138
  | `config-validate` | Validate .scipquery.json, including structured suppressions and declared coupling groups | `--json` |
138
- | `suppress <id>` | Record an accepted finding in .scipquery.json with a required reason | `--reason <text>`<br>`--check <check>`<br>`--file <path>`<br>`--expires-at <iso>`<br>`--json` |
139
+ | `suppress <id>` | Record an accepted finding as a file under .scipquery/suppressions/ with a required reason | `--reason <text>`<br>`--check <check>`<br>`--file <path>`<br>`--expires-at <iso>`<br>`--json` |
140
+ | `effectiveness` | Per-check effectiveness from the committed outcome ledger: caught, same-HEAD verified fixes, suppressed, unverified disappearances, and precision | `--since <window>`<br>`--check <check>`<br>`--json` |
139
141
  | `doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | `--json` |
140
- | `setup` | Bootstrap this project: install agent skills, refresh the index, verify capabilities, and report health | `--git-hook`<br>`--no-hooks`<br>`--dossier-dir <path>`<br>`--json` |
142
+ | `setup` | Bootstrap this project: enable automatic indexing, install agent skills, refresh the index, verify capabilities, and report health | `--guided`<br>`--yes`<br>`--git-hook`<br>`--no-hooks`<br>`--no-skills`<br>`--no-parsers`<br>`--no-health`<br>`--dossier-dir <path>`<br>`--json` |
141
143
  | `setup-agent` | Seed agent guidance for this project: AGENTS.md/CLAUDE.md block pointing agents at the scip-query skills and diff gate, plus an optional git pre-commit backstop | `--git-hook` |
142
144
  | `setup-ci` | Write a GitHub Actions workflow that runs scip-query reindex and diff-gate on pull requests | `--force`<br>`--dry-run` |
143
145
  | `uninstall` | Remove scip-query-owned skill links, project hooks, and managed agent setup blocks | `--global`<br>`--project`<br>`--dry-run`<br>`--json` |
144
- | `watch` | Watch for file changes in the foreground and reindex automatically | `--debounce <ms>`<br>`--cooldown <ms>`<br>`--git-poll <ms>` |
146
+ | `watch` | Watch in the foreground or manage the per-project background refresh service | `--daemon`<br>`--status`<br>`--stop`<br>`--debounce <ms>`<br>`--cooldown <ms>`<br>`--git-poll <ms>`<br>`--idle-timeout <ms>`<br>`--json` |
145
147
  | `status` | Show index status for this project | `--json`<br>`--capabilities` |
146
148
 
147
149
  <!-- END GENERATED COMMAND REFERENCE -->
@@ -178,3 +180,6 @@ even though its per-pair classification loop in `queries.coChange`
178
180
  candidate-pair count on a large repository. It now flows through `budgetedDbCommand` and
179
181
  `coChange` accepts a `scanLimit` option that truncates the (already priority-sorted) candidate
180
182
  pairs before classification, so the disclosed budget is truthful rather than cosmetic.
183
+ The setup-scope follow-up rechecked this implementation citation; extracting
184
+ shared hook outcome recording changed imports in the same runtime module but
185
+ did not change the `co-change` budget boundary described here.
@@ -11,7 +11,9 @@ Use parsers for structured inputs when the parser is available:
11
11
 
12
12
  Regex remains the right tool for flat machine-generated strings:
13
13
 
14
- - SCIP symbol encodings in `src/symbols/symbol-parser.ts`.
14
+ - SCIP symbol encodings in `src/symbols/symbol-parser.ts`; when SCIP kind
15
+ metadata is available, detectors use it as the final callable/type/value
16
+ classification instead of treating symbol shape as sufficient proof.
15
17
  - SCIP row and descriptor filters in storage/query SQL when the pattern is static.
16
18
  - Path fragments and glob prefilters, followed by segment-aware matching when slash semantics matter.
17
19
  - Signature normalization in `src/queries/cleanup/similar-signatures.ts`.