scip-query 0.19.8 → 0.20.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 (366) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.md +158 -48
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/chunk-26QA6FAI.js +8 -0
  5. package/dist/{chunk-KJ2IIBZN.js → chunk-2HPVVXM5.js} +2 -2
  6. package/dist/chunk-2KAZEZ6M.js +2 -0
  7. package/dist/chunk-32LVLCLN.js +40 -0
  8. package/dist/{chunk-24GTWJ3N.js → chunk-3CLX5EOX.js} +2 -2
  9. package/dist/{chunk-QGGLL3UH.js → chunk-3G66UZBH.js} +2 -2
  10. package/dist/{chunk-AA4UWRNL.js → chunk-3ORVDL3H.js} +2 -2
  11. package/dist/chunk-4MAK2HOY.js +6 -0
  12. package/dist/{chunk-QIQ63BHW.js → chunk-4TURLRL5.js} +2 -2
  13. package/dist/chunk-4UQVNCQE.js +2 -0
  14. package/dist/chunk-55Q3WLZX.js +2 -0
  15. package/dist/{chunk-CTF2GDEX.js → chunk-5E4WNAVD.js} +2 -2
  16. package/dist/{chunk-ZCEJ63SP.js → chunk-5I5G2QOX.js} +2 -2
  17. package/dist/chunk-6LDJQXAH.js +2 -0
  18. package/dist/{chunk-3EDFLQ6A.js → chunk-6O5TICIZ.js} +2 -2
  19. package/dist/{chunk-ACAM6O5R.js → chunk-6SHPK5ZE.js} +2 -2
  20. package/dist/chunk-7BAVHKMJ.js +49 -0
  21. package/dist/chunk-7O5IKBTZ.js +16 -0
  22. package/dist/{chunk-WJL2L6MV.js → chunk-7PIO7NKH.js} +2 -2
  23. package/dist/chunk-7S5E7KWT.js +2 -0
  24. package/dist/{chunk-YLFORA5G.js → chunk-7SQQWSY3.js} +2 -2
  25. package/dist/chunk-7WPLAODU.js +5 -0
  26. package/dist/chunk-A73XVBCR.js +20 -0
  27. package/dist/chunk-AFHORGLH.js +42 -0
  28. package/dist/chunk-AIE7TFJW.js +9 -0
  29. package/dist/{chunk-TWMJ3Y3G.js → chunk-AZJQQKDD.js} +2 -2
  30. package/dist/{chunk-BDOIKGDI.js → chunk-B2PX5I6M.js} +2 -2
  31. package/dist/{chunk-DQBCO2UY.js → chunk-B7PBSLZN.js} +2 -2
  32. package/dist/chunk-BBW6JFHN.js +2 -0
  33. package/dist/{chunk-YTVWB7YJ.js → chunk-BDCC2NPY.js} +2 -2
  34. package/dist/{chunk-O23I56NA.js → chunk-BNXCIFVY.js} +2 -2
  35. package/dist/{chunk-MLFZP76A.js → chunk-BPAPWKP6.js} +2 -2
  36. package/dist/chunk-BS2NMXQZ.js +4 -0
  37. package/dist/chunk-C3KV2II6.js +2 -0
  38. package/dist/chunk-C43RDDP4.js +20 -0
  39. package/dist/{chunk-K2WO7XY7.js → chunk-CJST5ETY.js} +2 -2
  40. package/dist/chunk-DAFAHMNB.js +42 -0
  41. package/dist/{chunk-KKME5ZAI.js → chunk-DQGFVPUV.js} +2 -2
  42. package/dist/chunk-DQLPXMH6.js +8 -0
  43. package/dist/chunk-EKZTZXHZ.js +117 -0
  44. package/dist/{chunk-FJ5UDTQF.js → chunk-EN3O7VJA.js} +2 -2
  45. package/dist/{chunk-HZYDQPNY.js → chunk-EW2NTSFA.js} +2 -2
  46. package/dist/chunk-F3Z4OUDS.js +8 -0
  47. package/dist/chunk-FJH2NW7J.js +66 -0
  48. package/dist/{chunk-MSBDMFER.js → chunk-FKSELJQF.js} +2 -2
  49. package/dist/chunk-FTFP6O3L.js +11 -0
  50. package/dist/chunk-FYLK2DEJ.js +2 -0
  51. package/dist/{chunk-WUW7YUAH.js → chunk-GH74ASD6.js} +2 -2
  52. package/dist/{chunk-464PLI5O.js → chunk-GMXWZP2B.js} +2 -2
  53. package/dist/chunk-GOUBFH5O.js +3 -0
  54. package/dist/{chunk-FIJCV235.js → chunk-HLF2TX6R.js} +2 -2
  55. package/dist/{chunk-WWKWUPSU.js → chunk-HX4GQPZP.js} +2 -2
  56. package/dist/chunk-HX7M4BDI.js +30 -0
  57. package/dist/chunk-HZ72SESS.js +128 -0
  58. package/dist/{chunk-SERUIGV5.js → chunk-IB2N4FIY.js} +2 -2
  59. package/dist/chunk-ILMHV3KM.js +2 -0
  60. package/dist/chunk-IZYYAFN5.js +2 -0
  61. package/dist/{chunk-GNC4JVAN.js → chunk-JAYYFEQY.js} +2 -2
  62. package/dist/{chunk-QJIVBYEK.js → chunk-JDOEX4E6.js} +2 -2
  63. package/dist/chunk-JFGGXWQF.js +947 -0
  64. package/dist/chunk-JN4NMBEX.js +8 -0
  65. package/dist/{chunk-6M7RONVB.js → chunk-JVYA47YU.js} +2 -2
  66. package/dist/{chunk-7KYNAMMH.js → chunk-JW56N3KI.js} +2 -2
  67. package/dist/{chunk-OUBAF226.js → chunk-JZ2OXNWB.js} +2 -2
  68. package/dist/chunk-KMKTIO2G.js +8 -0
  69. package/dist/chunk-L5GJNV2T.js +8 -0
  70. package/dist/{chunk-MNSTUIDD.js → chunk-L7AW2QB5.js} +2 -2
  71. package/dist/chunk-L7JDSCDF.js +4 -0
  72. package/dist/chunk-LU47HG23.js +14 -0
  73. package/dist/chunk-LVY7NPF7.js +2 -0
  74. package/dist/chunk-LY4WC4AD.js +74 -0
  75. package/dist/{chunk-7FT5Y65S.js → chunk-MKCDWWGV.js} +2 -2
  76. package/dist/chunk-MNE7YG56.js +2 -0
  77. package/dist/{chunk-7QHY3H7P.js → chunk-MRXBEXSY.js} +2 -2
  78. package/dist/chunk-MV7OWDUX.js +2 -0
  79. package/dist/{chunk-ZJ5CBXK3.js → chunk-N5W4YZMK.js} +2 -2
  80. package/dist/chunk-NGEXCJJW.js +11 -0
  81. package/dist/{chunk-7SWJEWJF.js → chunk-NIW6JDC5.js} +2 -2
  82. package/dist/{chunk-O3O4XXO6.js → chunk-O64IZ6UX.js} +2 -2
  83. package/dist/{chunk-3ZSJ3PWF.js → chunk-PBUQFCNB.js} +2 -2
  84. package/dist/{chunk-7RAG65VK.js → chunk-POAVPHH7.js} +2 -2
  85. package/dist/{chunk-A3QXWFBK.js → chunk-PQCI4SQX.js} +2 -2
  86. package/dist/{chunk-4BV4QAZJ.js → chunk-PXY7F6Y4.js} +2 -2
  87. package/dist/chunk-RDO52JGY.js +2 -0
  88. package/dist/chunk-RJT3TUUZ.js +2 -0
  89. package/dist/{chunk-S4S2WOIX.js → chunk-RUJURYSV.js} +2 -2
  90. package/dist/{chunk-JAY7YWS3.js → chunk-RVLDN63O.js} +2 -2
  91. package/dist/chunk-RXOXSKY3.js +2 -0
  92. package/dist/chunk-S7OYBOCK.js +2 -0
  93. package/dist/chunk-SMNXQT5Z.js +3 -0
  94. package/dist/{chunk-NE3TZUCI.js → chunk-SRAFT254.js} +2 -2
  95. package/dist/{chunk-ELLMY7XJ.js → chunk-SXP2MBJH.js} +2 -2
  96. package/dist/chunk-T7YQSHPQ.js +3 -0
  97. package/dist/{chunk-WY45BHKQ.js → chunk-TFRAYKN6.js} +2 -2
  98. package/dist/{chunk-2SNGN6U4.js → chunk-UJCOIXDY.js} +2 -2
  99. package/dist/{chunk-MZZBAITE.js → chunk-UJPRPGCO.js} +2 -2
  100. package/dist/chunk-W4ETQAXM.js +2 -0
  101. package/dist/chunk-WCCFZ7V7.js +113 -0
  102. package/dist/chunk-WUPW3UN3.js +3 -0
  103. package/dist/{chunk-7LSVMFX7.js → chunk-WXZLAAWK.js} +2 -2
  104. package/dist/{chunk-5ML2BNRH.js → chunk-X54AGLVX.js} +2 -2
  105. package/dist/chunk-XKWKXZKW.js +20 -0
  106. package/dist/{chunk-5YLUDDAF.js → chunk-XSRF6Q77.js} +2 -2
  107. package/dist/chunk-Y2MVPNKY.js +5 -0
  108. package/dist/{chunk-JHF3E4YM.js → chunk-YKUU5AIC.js} +2 -2
  109. package/dist/{chunk-E3HYEQO7.js → chunk-YLCJLTPL.js} +2 -2
  110. package/dist/{chunk-7VCOXZH3.js → chunk-YTQVETEO.js} +2 -2
  111. package/dist/chunk-Z4N3MZYA.js +38 -0
  112. package/dist/chunk-ZHXX42OH.js +18 -0
  113. package/dist/chunk-ZJOOT3BG.js +2 -0
  114. package/dist/{chunk-P3UO3EH3.js → chunk-ZK26BAQL.js} +2 -2
  115. package/dist/{chunk-33KUO7CG.js → chunk-ZTETIQ35.js} +2 -2
  116. package/dist/cli.js +3 -8
  117. package/dist/command-descriptors-DSS46KXI.js +642 -0
  118. package/dist/{config-types-B6MEoRNy.d.ts → config-types-jVM3D7MA.d.ts} +68 -2
  119. package/dist/{db-DYLKr9Wn.d.ts → db-B5PM5yNk.d.ts} +20 -2
  120. package/dist/{diff-gate-types-C9BoYwYD.d.ts → diff-gate-types-B0QYpDv1.d.ts} +2 -1
  121. package/dist/direct-navigation-6YHV6IB5.js +3 -0
  122. package/dist/{health-DgxIDXJC.d.ts → health-Do5TKSJI.d.ts} +1 -1
  123. package/dist/index.d.ts +3 -3
  124. package/dist/index.js +1 -1
  125. package/dist/postinstall.js +1 -1
  126. package/dist/queries/affected.d.ts +2 -2
  127. package/dist/queries/affected.js +1 -1
  128. package/dist/queries/architecture.d.ts +2 -2
  129. package/dist/queries/architecture.js +1 -1
  130. package/dist/queries/bottlenecks.d.ts +2 -2
  131. package/dist/queries/bottlenecks.js +1 -1
  132. package/dist/queries/by-kind.d.ts +2 -2
  133. package/dist/queries/by-kind.js +1 -1
  134. package/dist/queries/call-graph.d.ts +2 -2
  135. package/dist/queries/call-graph.js +1 -1
  136. package/dist/queries/change-surface.d.ts +22 -3
  137. package/dist/queries/change-surface.js +1 -1
  138. package/dist/queries/cleanup-plan.d.ts +2 -2
  139. package/dist/queries/cleanup-plan.js +1 -1
  140. package/dist/queries/co-change.d.ts +2 -2
  141. package/dist/queries/co-change.js +1 -1
  142. package/dist/queries/code.d.ts +2 -2
  143. package/dist/queries/code.js +1 -1
  144. package/dist/queries/complexity-hotspots.d.ts +3 -3
  145. package/dist/queries/complexity-hotspots.js +1 -1
  146. package/dist/queries/complexity.d.ts +3 -3
  147. package/dist/queries/complexity.js +1 -1
  148. package/dist/queries/convergence.d.ts +2 -2
  149. package/dist/queries/convergence.js +1 -1
  150. package/dist/queries/coupling.d.ts +2 -2
  151. package/dist/queries/coupling.js +1 -1
  152. package/dist/queries/cycles.d.ts +2 -2
  153. package/dist/queries/cycles.js +1 -1
  154. package/dist/queries/dataflow.d.ts +2 -2
  155. package/dist/queries/dataflow.js +1 -1
  156. package/dist/queries/dead.d.ts +2 -2
  157. package/dist/queries/dead.js +1 -1
  158. package/dist/queries/decorative-checkers.d.ts +2 -2
  159. package/dist/queries/decorative-checkers.js +1 -1
  160. package/dist/queries/deep-chains.d.ts +2 -2
  161. package/dist/queries/deep-chains.js +1 -1
  162. package/dist/queries/deps.d.ts +2 -2
  163. package/dist/queries/deps.js +1 -1
  164. package/dist/queries/diff-gate.d.ts +40 -7
  165. package/dist/queries/diff-gate.js +1 -1
  166. package/dist/queries/diff-impact.d.ts +84 -6
  167. package/dist/queries/diff-impact.js +1 -1
  168. package/dist/queries/doc-drift.d.ts +3 -3
  169. package/dist/queries/doc-drift.js +1 -1
  170. package/dist/queries/drift.d.ts +2 -2
  171. package/dist/queries/drift.js +1 -1
  172. package/dist/queries/duplicate-bodies.d.ts +3 -3
  173. package/dist/queries/duplicate-bodies.js +1 -1
  174. package/dist/queries/extract-candidates.d.ts +2 -2
  175. package/dist/queries/extract-candidates.js +1 -1
  176. package/dist/queries/fan.d.ts +2 -2
  177. package/dist/queries/fan.js +1 -1
  178. package/dist/queries/files.d.ts +12 -3
  179. package/dist/queries/files.js +1 -1
  180. package/dist/queries/health.d.ts +3 -3
  181. package/dist/queries/health.js +1 -1
  182. package/dist/queries/hierarchy.d.ts +2 -2
  183. package/dist/queries/hierarchy.js +1 -1
  184. package/dist/queries/hotspots.d.ts +2 -2
  185. package/dist/queries/hotspots.js +1 -1
  186. package/dist/queries/imports.d.ts +2 -2
  187. package/dist/queries/imports.js +1 -1
  188. package/dist/queries/incomplete-migration.d.ts +8 -6
  189. package/dist/queries/incomplete-migration.js +1 -1
  190. package/dist/queries/index.d.ts +141 -10
  191. package/dist/queries/index.js +1 -1
  192. package/dist/queries/isolated.d.ts +2 -2
  193. package/dist/queries/isolated.js +1 -1
  194. package/dist/queries/locality-candidates.d.ts +2 -2
  195. package/dist/queries/locality-candidates.js +1 -1
  196. package/dist/queries/members.d.ts +2 -2
  197. package/dist/queries/members.js +1 -1
  198. package/dist/queries/methods.d.ts +34 -3
  199. package/dist/queries/methods.js +1 -1
  200. package/dist/queries/not-implemented.d.ts +2 -2
  201. package/dist/queries/not-implemented.js +1 -1
  202. package/dist/queries/outline.d.ts +2 -2
  203. package/dist/queries/outline.js +1 -1
  204. package/dist/queries/passthrough-candidates.d.ts +3 -3
  205. package/dist/queries/passthrough-candidates.js +1 -1
  206. package/dist/queries/plan-context.d.ts +3 -3
  207. package/dist/queries/plan-context.js +1 -1
  208. package/dist/queries/react-component-duplicates.d.ts +2 -2
  209. package/dist/queries/react-component-duplicates.js +1 -1
  210. package/dist/queries/react-hook-candidates.d.ts +2 -2
  211. package/dist/queries/react-hook-candidates.js +1 -1
  212. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  213. package/dist/queries/react-large-component-pressure.js +1 -1
  214. package/dist/queries/recent-duplicates.d.ts +2 -2
  215. package/dist/queries/recent-duplicates.js +1 -1
  216. package/dist/queries/redundant-reexports.d.ts +2 -2
  217. package/dist/queries/redundant-reexports.js +1 -1
  218. package/dist/queries/refs.d.ts +2 -2
  219. package/dist/queries/refs.js +1 -1
  220. package/dist/queries/self-audit.d.ts +2 -2
  221. package/dist/queries/self-audit.js +1 -1
  222. package/dist/queries/similar-chains.d.ts +2 -2
  223. package/dist/queries/similar-chains.js +1 -1
  224. package/dist/queries/similar-files.d.ts +2 -2
  225. package/dist/queries/similar-files.js +1 -1
  226. package/dist/queries/similar-signatures.d.ts +2 -2
  227. package/dist/queries/similar-signatures.js +1 -1
  228. package/dist/queries/similar.d.ts +2 -2
  229. package/dist/queries/similar.js +1 -1
  230. package/dist/queries/slice.d.ts +2 -2
  231. package/dist/queries/slice.js +1 -1
  232. package/dist/queries/stale-abstractions.d.ts +2 -2
  233. package/dist/queries/stale-abstractions.js +1 -1
  234. package/dist/queries/stats.d.ts +2 -2
  235. package/dist/queries/surface.d.ts +2 -2
  236. package/dist/queries/surface.js +1 -1
  237. package/dist/queries/symbols.d.ts +2 -2
  238. package/dist/queries/symbols.js +1 -1
  239. package/dist/queries/system.d.ts +2 -2
  240. package/dist/queries/system.js +1 -1
  241. package/dist/queries/test-quality.d.ts +2 -2
  242. package/dist/queries/test-quality.js +1 -1
  243. package/dist/queries/trace.d.ts +2 -2
  244. package/dist/queries/trace.js +1 -1
  245. package/dist/queries/twin-ab.d.ts +14 -3
  246. package/dist/queries/twin-ab.js +1 -1
  247. package/dist/queries/twin-drift.d.ts +2 -2
  248. package/dist/queries/twin-drift.js +1 -1
  249. package/dist/queries/unused-imports.d.ts +2 -2
  250. package/dist/queries/unused-imports.js +1 -1
  251. package/dist/queries/unused-params.d.ts +2 -2
  252. package/dist/queries/unused-params.js +1 -1
  253. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  254. package/dist/queries/vue-component-duplicates.js +1 -1
  255. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  256. package/dist/queries/vue-composable-candidates.js +1 -1
  257. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  258. package/dist/queries/vue-large-view-pressure.js +1 -1
  259. package/dist/queries/wrapper-candidates.d.ts +2 -2
  260. package/dist/queries/wrapper-candidates.js +1 -1
  261. package/dist/reindex-worker.js +21 -21
  262. package/dist/reindex.d.ts +3 -3
  263. package/dist/reindex.js +33 -33
  264. package/dist/runtime.d.ts +5 -3
  265. package/dist/runtime.js +3 -3
  266. package/dist/rust-semantic-session-server.js +1 -1
  267. package/dist/rust-semantic-session-worker.js +1 -1
  268. package/dist/rust-semantic-worker.js +1 -1
  269. package/dist/{scip-cli-Cc6c00-a.d.ts → scip-cli-BnEwZRLJ.d.ts} +1 -1
  270. package/dist/{symbol-types-BgWU6lhL.d.ts → symbol-types-BIQwfoAx.d.ts} +7 -1
  271. package/dist/typescript-mailbox-worker.js +2 -0
  272. package/dist/watch-server.js +2 -42
  273. package/docs/AGENT_GUIDE.md +13 -6
  274. package/docs/CLI_JSON_OUTPUT.md +110 -22
  275. package/docs/COMMAND_REFERENCE.md +88 -88
  276. package/docs/COMMITTED_RECORD_COMPATIBILITY.md +55 -18
  277. package/docs/DURABILITY.md +88 -38
  278. package/docs/INDEX_GENERATIONS.md +65 -19
  279. package/docs/MAILBOX_LIFECYCLE.md +28 -1
  280. package/docs/REINDEX_METADATA_COMPATIBILITY.md +18 -8
  281. package/docs/SECURITY_MODEL.md +31 -14
  282. package/docs/TELEMETRY_RETENTION.md +11 -4
  283. package/docs/WATCH_REFRESH_REQUESTS.md +34 -21
  284. package/docs/WINDOWS_SIDECAR_RELEASE.md +9 -4
  285. package/docs/analyzer-inventory.md +31 -22
  286. package/docs/analyzer-validation-ledger.md +8 -0
  287. package/docs/schemas/outcome-event-record.schema.json +57 -1
  288. package/docs/schemas/project-config.schema.json +82 -1
  289. package/docs/schemas/suppression-record.schema.json +84 -3
  290. package/package.json +5 -5
  291. package/skills/_shared/SKILL.md +2 -2
  292. package/skills/_shared/references/agent-contract-catalog.md +1 -1
  293. package/skills/_shared/references/detector-precision-and-diffgate.md +1 -1
  294. package/skills/scip-audit/SKILL.md +6 -6
  295. package/skills/scip-audit/references/claims.md +1 -1
  296. package/skills/scip-audit/references/cleanup.md +19 -20
  297. package/skills/scip-audit/references/directory.md +4 -4
  298. package/skills/scip-audit/references/frontend.md +10 -10
  299. package/skills/scip-audit/references/twin-drift.md +2 -2
  300. package/skills/scip-diagnose/references/debug.md +8 -8
  301. package/skills/scip-diagnose/references/root-cause.md +3 -3
  302. package/skills/scip-diagnose/references/triage.md +10 -10
  303. package/skills/scip-explore/SKILL.md +3 -3
  304. package/skills/scip-improve/SKILL.md +10 -10
  305. package/skills/scip-improve/references/cleanup-batches.md +3 -3
  306. package/skills/scip-improve/references/directory-moves.md +3 -3
  307. package/skills/scip-improve/references/doc-reconcile.md +1 -1
  308. package/skills/scip-improve/references/frontend-extraction.md +2 -2
  309. package/skills/scip-improve/references/twin-drift.md +3 -3
  310. package/skills/scip-plan/SKILL.md +2 -2
  311. package/skills/scip-plan/references/api-impact.md +5 -5
  312. package/skills/scip-plan/references/conductor.md +2 -2
  313. package/skills/scip-plan/references/hyper-optimization.md +1 -1
  314. package/skills/scip-query/SKILL.md +15 -5
  315. package/skills/scip-setup/references/bootstrap-workflow.md +7 -8
  316. package/skills/scip-setup/references/language-verification.md +2 -2
  317. package/skills/scip-setup/references/per-repo-triage.md +1 -1
  318. package/skills/scip-verify/SKILL.md +10 -10
  319. package/skills/scip-verify/references/calibrate-detectors.md +7 -7
  320. package/dist/chunk-2465DLHK.js +0 -3
  321. package/dist/chunk-2U3OLUNJ.js +0 -61
  322. package/dist/chunk-33XTHFKR.js +0 -2
  323. package/dist/chunk-43KC6EQZ.js +0 -2
  324. package/dist/chunk-47BU5Z4T.js +0 -8
  325. package/dist/chunk-4YTUWQ6M.js +0 -18
  326. package/dist/chunk-64MNV6AB.js +0 -8
  327. package/dist/chunk-67QRR5YC.js +0 -6
  328. package/dist/chunk-6GXYN7YA.js +0 -40
  329. package/dist/chunk-A2TNXAXO.js +0 -8
  330. package/dist/chunk-APMMR5Y2.js +0 -2
  331. package/dist/chunk-AZFUMCQB.js +0 -2
  332. package/dist/chunk-BNXICU42.js +0 -33
  333. package/dist/chunk-C5Q44Q5D.js +0 -3
  334. package/dist/chunk-DQGSM7RZ.js +0 -20
  335. package/dist/chunk-E2LAW7SL.js +0 -30
  336. package/dist/chunk-E4NFOAD4.js +0 -6
  337. package/dist/chunk-E5HNT4X2.js +0 -3
  338. package/dist/chunk-FD3HFKXR.js +0 -5
  339. package/dist/chunk-GHKEJTCE.js +0 -35
  340. package/dist/chunk-GLZTVKAB.js +0 -16
  341. package/dist/chunk-HIB452NU.js +0 -949
  342. package/dist/chunk-IF6FP6B2.js +0 -66
  343. package/dist/chunk-JORHF5AL.js +0 -108
  344. package/dist/chunk-KSGTULOS.js +0 -9
  345. package/dist/chunk-KXDJAG4N.js +0 -38
  346. package/dist/chunk-L4S2A7BV.js +0 -2
  347. package/dist/chunk-LP3ARJKF.js +0 -8
  348. package/dist/chunk-LSOR3LQG.js +0 -3
  349. package/dist/chunk-NTUMF2X3.js +0 -56
  350. package/dist/chunk-QOXBSI6G.js +0 -20
  351. package/dist/chunk-QXK6UUSM.js +0 -2
  352. package/dist/chunk-RA3AYNWP.js +0 -112
  353. package/dist/chunk-RJMDJR3A.js +0 -2
  354. package/dist/chunk-RLH5VUMG.js +0 -2
  355. package/dist/chunk-SMQWE25B.js +0 -3
  356. package/dist/chunk-TAVELHYR.js +0 -2
  357. package/dist/chunk-VAXNI5NE.js +0 -146
  358. package/dist/chunk-VVY2G5ET.js +0 -2
  359. package/dist/chunk-W3DBTGL4.js +0 -11
  360. package/dist/chunk-WANA4KAQ.js +0 -5
  361. package/dist/chunk-X4FR5BZF.js +0 -9
  362. package/dist/chunk-X6RKPDY7.js +0 -2
  363. package/dist/chunk-YCPASUCX.js +0 -2
  364. package/dist/chunk-ZL2OGDCD.js +0 -2
  365. package/dist/command-descriptors-ZW5J4ZEM.js +0 -631
  366. package/dist/direct-navigation-42YHQPOI.js +0 -3
@@ -27,12 +27,68 @@
27
27
  },
28
28
  "comparisonBaseCommit": { "type": "string" },
29
29
  "verifiedAgainstCommit": { "type": "string" },
30
- "symbol": { "type": "string" }
30
+ "symbol": { "type": "string" },
31
+ "gateRunId": { "type": "string", "minLength": 1, "maxLength": 256 },
32
+ "observer": {
33
+ "type": "object",
34
+ "required": ["kind", "authority"],
35
+ "properties": {
36
+ "kind": { "enum": ["local-agent", "local-human", "protected-ci"] },
37
+ "authority": { "enum": ["repository-writable", "protected-external"] },
38
+ "source": { "type": "string", "minLength": 1, "maxLength": 256 }
39
+ },
40
+ "allOf": [
41
+ {
42
+ "if": { "properties": { "authority": { "const": "protected-external" } }, "required": ["authority"] },
43
+ "then": { "properties": { "kind": { "const": "protected-ci" } } }
44
+ }
45
+ ],
46
+ "additionalProperties": true
47
+ },
48
+ "observation": {
49
+ "type": "object",
50
+ "required": ["schemaVersion", "authorityKind", "observedAt", "projectIdentity"],
51
+ "properties": {
52
+ "schemaVersion": { "const": 1 },
53
+ "authorityKind": {
54
+ "enum": ["index-worktree", "index-only", "worktree-only", "process-local"]
55
+ },
56
+ "observedAt": { "type": "string", "format": "date-time" },
57
+ "projectIdentity": { "type": "string", "minLength": 1 },
58
+ "index": {
59
+ "type": "object",
60
+ "required": ["generationIdentity", "source", "alignment"],
61
+ "properties": {
62
+ "generationIdentity": { "type": "string", "minLength": 1 },
63
+ "source": { "enum": ["immutable", "legacy"] },
64
+ "alignment": { "enum": ["not-certified", "leased"] }
65
+ },
66
+ "additionalProperties": true
67
+ },
68
+ "worktree": {
69
+ "type": "object",
70
+ "required": ["identity", "clean"],
71
+ "properties": {
72
+ "identity": { "type": "string", "minLength": 1 },
73
+ "clean": { "type": "boolean" },
74
+ "headCommit": { "type": "string", "minLength": 1 },
75
+ "treeOid": { "type": "string", "minLength": 1 }
76
+ },
77
+ "additionalProperties": true
78
+ }
79
+ },
80
+ "additionalProperties": true
81
+ },
82
+ "suppressionPolicyVersion": { "type": "integer", "minimum": 1 }
31
83
  },
32
84
  "allOf": [
33
85
  {
34
86
  "if": { "required": ["verifiedAgainstCommit"] },
35
87
  "then": { "properties": { "event": { "const": "resolved" } } }
88
+ },
89
+ {
90
+ "if": { "required": ["suppressionPolicyVersion"] },
91
+ "then": { "properties": { "event": { "const": "suppressed" } } }
36
92
  }
37
93
  ],
38
94
  "additionalProperties": true
@@ -143,7 +143,88 @@
143
143
  "file": { "type": "string", "minLength": 1 },
144
144
  "reason": { "type": "string", "minLength": 1 },
145
145
  "expiresAt": { "type": "string", "format": "date-time" },
146
- "createdAt": { "type": "string", "format": "date-time" }
146
+ "createdAt": { "type": "string", "format": "date-time" },
147
+ "decision": {
148
+ "type": "object",
149
+ "required": ["kind", "reasonCode", "decidedBy", "policyVersion", "evidence", "invalidateOn"],
150
+ "additionalProperties": true,
151
+ "properties": {
152
+ "kind": { "const": "automated-adjudication" },
153
+ "reasonCode": {
154
+ "enum": [
155
+ "entry-surface",
156
+ "generated-code",
157
+ "compatibility-shim",
158
+ "reflection-or-registration",
159
+ "test-fixture",
160
+ "intentional-twin",
161
+ "historical-coupling-ended",
162
+ "detector-counterexample"
163
+ ]
164
+ },
165
+ "decidedBy": { "enum": ["agent", "human"] },
166
+ "policyVersion": { "const": 1 },
167
+ "observation": {
168
+ "type": "object",
169
+ "required": ["schemaVersion", "authorityKind", "observedAt", "projectIdentity"],
170
+ "properties": {
171
+ "schemaVersion": { "const": 1 },
172
+ "authorityKind": {
173
+ "enum": ["index-worktree", "index-only", "worktree-only", "process-local"]
174
+ },
175
+ "observedAt": { "type": "string", "format": "date-time" },
176
+ "projectIdentity": { "type": "string", "minLength": 1 },
177
+ "index": {
178
+ "type": "object",
179
+ "required": ["generationIdentity", "source", "alignment"],
180
+ "properties": {
181
+ "generationIdentity": { "type": "string", "minLength": 1 },
182
+ "source": { "enum": ["immutable", "legacy"] },
183
+ "alignment": { "enum": ["not-certified", "leased"] }
184
+ },
185
+ "additionalProperties": true
186
+ },
187
+ "worktree": {
188
+ "type": "object",
189
+ "required": ["identity", "clean"],
190
+ "properties": {
191
+ "identity": { "type": "string", "minLength": 1 },
192
+ "clean": { "type": "boolean" },
193
+ "headCommit": { "type": "string", "minLength": 1 },
194
+ "treeOid": { "type": "string", "minLength": 1 }
195
+ },
196
+ "additionalProperties": true
197
+ }
198
+ },
199
+ "additionalProperties": true
200
+ },
201
+ "evidence": {
202
+ "type": "array",
203
+ "minItems": 1,
204
+ "items": {
205
+ "type": "object",
206
+ "required": ["kind", "referent", "claim"],
207
+ "additionalProperties": true,
208
+ "properties": {
209
+ "kind": { "enum": ["source", "config", "test", "graph"] },
210
+ "referent": { "type": "string", "minLength": 1 },
211
+ "claim": { "type": "string", "minLength": 1 },
212
+ "contentHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
213
+ "generation": { "type": "string", "minLength": 1 }
214
+ }
215
+ }
216
+ },
217
+ "invalidateOn": {
218
+ "type": "object",
219
+ "required": ["targetContentChange", "detectorMajorChange"],
220
+ "additionalProperties": true,
221
+ "properties": {
222
+ "targetContentChange": { "type": "boolean" },
223
+ "detectorMajorChange": { "type": "boolean" }
224
+ }
225
+ }
226
+ }
227
+ }
147
228
  },
148
229
  "anyOf": [{ "required": ["id"] }, { "required": ["check"] }]
149
230
  },
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://unpkg.com/scip-query/docs/schemas/suppression-record.schema.json",
4
- "title": "scip-query suppression record v1",
4
+ "title": "scip-query suppression record v2",
5
5
  "description": "A repository-owned policy decision stored as one file under .scipquery/suppressions/.",
6
6
  "type": "object",
7
- "required": ["kind", "schemaVersion", "suppressionIdentity", "writer", "reason", "createdAt"],
7
+ "required": ["kind", "schemaVersion", "suppressionIdentity", "writer", "reason", "createdAt", "decision"],
8
8
  "properties": {
9
9
  "kind": { "const": "scip-query-suppression" },
10
- "schemaVersion": { "const": 1 },
10
+ "schemaVersion": { "const": 2 },
11
11
  "suppressionIdentity": { "type": "string", "minLength": 1 },
12
12
  "writer": {
13
13
  "type": "object",
@@ -22,6 +22,87 @@
22
22
  "check": { "type": "string", "minLength": 1 },
23
23
  "file": { "type": "string", "minLength": 1 },
24
24
  "reason": { "type": "string", "minLength": 1 },
25
+ "decision": {
26
+ "type": "object",
27
+ "required": ["kind", "reasonCode", "decidedBy", "policyVersion", "evidence", "invalidateOn"],
28
+ "properties": {
29
+ "kind": { "const": "automated-adjudication" },
30
+ "reasonCode": {
31
+ "enum": [
32
+ "entry-surface",
33
+ "generated-code",
34
+ "compatibility-shim",
35
+ "reflection-or-registration",
36
+ "test-fixture",
37
+ "intentional-twin",
38
+ "historical-coupling-ended",
39
+ "detector-counterexample"
40
+ ]
41
+ },
42
+ "decidedBy": { "enum": ["agent", "human"] },
43
+ "policyVersion": { "const": 1 },
44
+ "observation": {
45
+ "type": "object",
46
+ "required": ["schemaVersion", "authorityKind", "observedAt", "projectIdentity"],
47
+ "properties": {
48
+ "schemaVersion": { "const": 1 },
49
+ "authorityKind": {
50
+ "enum": ["index-worktree", "index-only", "worktree-only", "process-local"]
51
+ },
52
+ "observedAt": { "type": "string", "format": "date-time" },
53
+ "projectIdentity": { "type": "string", "minLength": 1 },
54
+ "index": {
55
+ "type": "object",
56
+ "required": ["generationIdentity", "source", "alignment"],
57
+ "properties": {
58
+ "generationIdentity": { "type": "string", "minLength": 1 },
59
+ "source": { "enum": ["immutable", "legacy"] },
60
+ "alignment": { "enum": ["not-certified", "leased"] }
61
+ },
62
+ "additionalProperties": true
63
+ },
64
+ "worktree": {
65
+ "type": "object",
66
+ "required": ["identity", "clean"],
67
+ "properties": {
68
+ "identity": { "type": "string", "minLength": 1 },
69
+ "clean": { "type": "boolean" },
70
+ "headCommit": { "type": "string", "minLength": 1 },
71
+ "treeOid": { "type": "string", "minLength": 1 }
72
+ },
73
+ "additionalProperties": true
74
+ }
75
+ },
76
+ "additionalProperties": true
77
+ },
78
+ "evidence": {
79
+ "type": "array",
80
+ "minItems": 1,
81
+ "items": {
82
+ "type": "object",
83
+ "required": ["kind", "referent", "claim"],
84
+ "properties": {
85
+ "kind": { "enum": ["source", "config", "test", "graph"] },
86
+ "referent": { "type": "string", "minLength": 1 },
87
+ "claim": { "type": "string", "minLength": 1 },
88
+ "contentHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
89
+ "generation": { "type": "string", "minLength": 1 }
90
+ },
91
+ "additionalProperties": true
92
+ }
93
+ },
94
+ "invalidateOn": {
95
+ "type": "object",
96
+ "required": ["targetContentChange", "detectorMajorChange"],
97
+ "properties": {
98
+ "targetContentChange": { "type": "boolean" },
99
+ "detectorMajorChange": { "type": "boolean" }
100
+ },
101
+ "additionalProperties": true
102
+ }
103
+ },
104
+ "additionalProperties": true
105
+ },
25
106
  "expiresAt": { "type": "string", "format": "date-time" },
26
107
  "createdAt": { "type": "string", "format": "date-time" },
27
108
  "updatedAt": { "type": "string", "format": "date-time" }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scip-query",
3
- "version": "0.19.8",
3
+ "version": "0.20.0",
4
4
  "description": "Evidence and verification for AI coding agents: map code, reuse concepts, finish migrations, and gate diffs.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -320,7 +320,7 @@
320
320
  "format:check": "prettier --check \"{src,tests,scripts}/**/*.{ts,tsx,js,mjs,json}\" \"*.{ts,js,json}\"",
321
321
  "test": "vitest run",
322
322
  "test:watch": "vitest",
323
- "typecheck": "tsc --noEmit",
323
+ "typecheck": "tsc --noEmit && tsc -p tests/fixtures/invocation-coverage-contract/tsconfig.json && tsc -p tests/fixtures/protocol-state-contract/tsconfig.json",
324
324
  "audit:prod": "node scripts/audit-production-dependencies.mjs",
325
325
  "api:report": "node scripts/api-surface-contract.mjs report",
326
326
  "api:check": "npm run build && node scripts/api-surface-contract.mjs check && tsc -p tests/fixtures/public-api-consumer/tsconfig.json",
@@ -358,14 +358,14 @@
358
358
  ],
359
359
  "license": "Apache-2.0",
360
360
  "engines": {
361
- "node": ">=18.0.0"
361
+ "node": ">=22.0.0"
362
362
  },
363
363
  "dependencies": {
364
364
  "@bufbuild/protobuf": "^2.11.0",
365
365
  "@c4312/scip": "^0.1.0",
366
366
  "@vue/compiler-dom": "^3.5.40",
367
367
  "@vue/compiler-sfc": "^3.5.40",
368
- "better-sqlite3": "^12.9.0",
368
+ "better-sqlite3": "^13.0.2",
369
369
  "chokidar": "^4.0.3",
370
370
  "commander": "^13.1.0",
371
371
  "ignore": "^7.0.3",
@@ -403,7 +403,7 @@
403
403
  "vitest": "^3.2.7"
404
404
  },
405
405
  "allowScripts": {
406
- "better-sqlite3@12.9.0": true,
406
+ "better-sqlite3": false,
407
407
  "esbuild@0.27.7": true,
408
408
  "fsevents@2.3.3": true,
409
409
  "tree-sitter@0.21.1": true,
@@ -83,13 +83,13 @@ Look symbols up by partial name, no parentheses: `scip-query code parseConfig`,
83
83
  1. `scip-query init` — creates `.scipquery.json` for a project. Run once, at bootstrap, before any config-dependent command.
84
84
  2. `scip-query config-validate` — validates `.scipquery.json`, including structured suppressions and declared coupling groups. Run after hand-editing either.
85
85
  3. `scip-query suppress <id>` — records an accepted finding as a file under `.scipquery/suppressions/` with a required reason, the moment you decide a finding is a false positive or an accepted risk. This is what feeds the "suppressed" count in effectiveness.
86
- 4. `scip-query effectiveness [--since 30d] [--check <check>] [--json]` — per-check history from the committed outcome ledger: findings caught, comparison-verified fixed, suppressed, still open, "moved" (rename noise), legacy/non-comparable "unverified" resolutions, precision (verified-fixed ÷ (verified-fixed + suppressed)), and median days-to-fix. Run this periodically, or the moment diff-gate feels noisy, to see which checks are earning their keep — then either tune that check's config, suppress the standing findings with reasons, or consciously accept the noise. Do not let unresolved findings accumulate as wallpaper.
86
+ 4. `scip-query effectiveness [--since 30d] [--check <check>]` — per-check history from the committed outcome ledger: findings caught, comparison-verified fixed, suppressed, still open, "moved" (rename noise), legacy/non-comparable "unverified" resolutions, precision (verified-fixed ÷ (verified-fixed + suppressed)), and median days-to-fix. Run this periodically, or the moment diff-gate feels noisy, to see which checks are earning their keep — then either tune that check's config, suppress the standing findings with reasons, or consciously accept the noise. Do not let unresolved findings accumulate as wallpaper.
87
87
 
88
88
  Standalone detector commands (outside diff-gate) are not outcome-tracked in this ledger until they expose complete-scan evidence. A pre-commit rerun of diff-gate reuses the same comparison base directly; after HEAD advances, a clean diff-gate run automatically replays the stored comparison commit. A dirty or unavailable replay leaves the effectiveness finding pending rather than manufacturing a fix result.
89
89
 
90
90
  ## Postcheck
91
91
 
92
- At final verification for a coherent diff, run `scip-query status --capabilities` once and `scip-query diff-gate --json`. Repeat them only if the diff changes afterward. Fix each finding, or record a specific acceptance reason for each one left unresolved (findings marked `(advisory)` never block — treat them as context, not obligations). Do not report success while a diff-gate finding is unexplained. The authoritative table of *which* postcheck to run for *which* kind of edit lives in `scip-verify`; invoke that skill rather than re-deriving it here.
92
+ At final verification for a coherent diff, run `scip-query status --capabilities` once and `scip-query diff-gate`. Repeat them only if the diff changes afterward. Fix each finding, or record a specific acceptance reason for each one left unresolved (findings marked `(advisory)` never block — treat them as context, not obligations). Do not report success while a diff-gate finding is unexplained. The authoritative table of *which* postcheck to run for *which* kind of edit lives in `scip-verify`; invoke that skill rather than re-deriving it here.
93
93
 
94
94
  ## Subagent evidence boundary
95
95
 
@@ -94,7 +94,7 @@ scope, runtime capability, or pagination change it.
94
94
  | `scip-query init` | Can a starter scip-query configuration be created for this project? | configuration path and creation outcome | `complete` |
95
95
  | `scip-query config-validate` | Is this project configuration valid and internally consistent? | validation diagnostics with config paths | `complete` |
96
96
  | `scip-query suppress <id>` | Can this accepted finding be recorded with an auditable reason? | suppression identity, path, scope, and expiry | `complete` |
97
- | `scip-query effectiveness` | Which diff-gate checks catch actionable findings with verified outcomes? | per-check caught, fixed, suppressed, unresolved, and precision counts | `complete` |
97
+ | `scip-query effectiveness` | What handling outcomes has diff-gate observed, and what authority produced those observations? | per-check caught, fixed, suppressed, unresolved, provenance, and resolution-vs-suppression telemetry | `complete` |
98
98
  | `scip-query doctor` | Why is scip-query unhealthy or unavailable in this project? | config, freshness, dependency, and capability diagnostics | `complete` |
99
99
  | `scip-query setup` | Can scip-query be bootstrapped end to end in this project? | setup step outcomes, files, capabilities, smoke tests, and warnings | `complete` |
100
100
  | `scip-query setup-agent` | Can project agent guidance and optional git enforcement be seeded? | written, unchanged, and skipped agent files or hooks | `complete` |
@@ -52,7 +52,7 @@ Every completed diff-gate run — including JSON and hook mode — writes each c
52
52
 
53
53
  ## Effectiveness
54
54
 
55
- `scip-query effectiveness [--since 30d] [--check <check>] [--json]` reports, per check: findings caught, comparison-verified fixed, suppressed, still open, "moved" (rename noise), legacy/non-comparable "unverified" resolutions, precision (verified-fixed ÷ (verified-fixed + suppressed)), and median days-to-fix.
55
+ `scip-query effectiveness [--since 30d] [--check <check>]` reports, per check: findings caught, comparison-verified fixed, suppressed, still open, "moved" (rename noise), legacy/non-comparable "unverified" resolutions, precision (verified-fixed ÷ (verified-fixed + suppressed)), and median days-to-fix.
56
56
 
57
57
  A pre-commit rerun of diff-gate reuses the same comparison base directly. After HEAD advances, a clean diff-gate run automatically replays the stored comparison commit. A dirty or unavailable replay leaves the effectiveness finding pending instead of manufacturing a fix result. Standalone detector commands (outside diff-gate) are not outcome-tracked in this ledger until they expose complete-scan evidence.
58
58
 
@@ -2,11 +2,11 @@
2
2
  name: scip-audit
3
3
  description: Use to find and confirm problems WITHOUT editing: is this implementation real (decorative checkers, not-implemented, lying metrics), is a status word derived or merely asserted, are cleanup findings worth acting on, has a same-name twin silently drifted, have the living docs (AGENTS.md, standards, command docs) drifted from the code, and are there hidden policies, scattered concepts, accidental variation or weak boundaries — including React/Vue component and directory-locality pressure. Proactive: needs no reported symptom. Hand confirmed findings to scip-improve. Distinct from `complexity-cleanup` and `principal-maintainability-review`: those reason about a specific symbol's complexity or a reviewer's judgement; this one runs detectors across the repo and ranks confirmed findings by evidence.
4
4
  commands:
5
- - template: "scip-query health --json"
5
+ - template: "scip-query health"
6
6
  when: "Orient to the repository-wide finding inventory before confirming candidates."
7
- - template: "scip-query decorative-checkers --json --full"
7
+ - template: "scip-query decorative-checkers --full"
8
8
  when: "Audit whether validation-shaped code has a reachable failure exit."
9
- - template: "scip-query doc-drift --json --full"
9
+ - template: "scip-query doc-drift --full"
10
10
  when: "Find current-guidance documents whose cited or coupled code moved."
11
11
  ---
12
12
 
@@ -24,9 +24,9 @@ Load shared mechanics (evidence freshness, lookup, the full command
24
24
 
25
25
  | Command | Purpose | Returns | Coverage | When |
26
26
  | --- | --- | --- | --- | --- |
27
- | `scip-query health --json` | Composite codebase health report with prioritized action list | health score, findings, priorities, baselines, and coverage notes | `bounded` | Orient to the repository-wide finding inventory before confirming candidates. |
28
- | `scip-query decorative-checkers --json --full` | Decorative checker candidates: validate*/verify*/check*/assert*/is*/has* callables with no reachable failure exit anywhere in their body | checker identities, call sites, and decorative behavior evidence | `bounded` | Audit whether validation-shaped code has a reachable failure exit. |
29
- | `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | document paths, coupled code subjects, and history evidence | `bounded` | Find current-guidance documents whose cited or coupled code moved. |
27
+ | `scip-query health` | Composite codebase health report with prioritized action list | health score, findings, priorities, baselines, and coverage notes | `bounded` | Orient to the repository-wide finding inventory before confirming candidates. |
28
+ | `scip-query decorative-checkers --full` | Decorative checker candidates: validate*/verify*/check*/assert*/is*/has* callables with no reachable failure exit anywhere in their body | checker identities, call sites, and decorative behavior evidence | `bounded` | Audit whether validation-shaped code has a reachable failure exit. |
29
+ | `scip-query doc-drift --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | document paths, coupled code subjects, and history evidence | `bounded` | Find current-guidance documents whose cited or coupled code moved. |
30
30
 
31
31
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
32
32
  <!-- END GENERATED SKILL COMMANDS -->
@@ -60,7 +60,7 @@ call site), hedged, or asserted.
60
60
  **Complete when:** every producer has one of the three labels with the one
61
61
  line of source evidence that justifies it.
62
62
 
63
- Use `scip-query capabilities --matrix --json` as a spot-check: an
63
+ Use `scip-query capabilities --matrix` as a spot-check: an
64
64
  already-known example of a fixed derived-status surface, useful for
65
65
  calibrating what "derived" looks like in this codebase before judging
66
66
  ambiguous cases.
@@ -19,8 +19,8 @@ Three common modes, same underlying workflow:
19
19
  ## Step 1 — Establish evidence
20
20
 
21
21
  Before any sweeping begins, run `scip-query doctor`, `scip-query status
22
- --capabilities`, `scip-query health --json`, `scip-query capabilities
23
- --json`, and `scip-query config-validate --json`.
22
+ --capabilities`, `scip-query health`, `scip-query capabilities`, and
23
+ `scip-query config-validate`.
24
24
 
25
25
  **Complete when:** unavailable capabilities are explicitly recorded as
26
26
  unavailable, not silently skipped.
@@ -33,23 +33,23 @@ unavailable — never silently omit a class.
33
33
  Core sweep set:
34
34
 
35
35
  ```
36
- scip-query cleanup-plan --verify --json # compiler-verified batched deletion plan
37
- scip-query duplicate-bodies --json --full # exact duplicate small-body candidates
38
- scip-query recent-duplicates --json --full # recent code re-implementing established code
39
- scip-query incomplete-migration --json --full # partially-completed extractions
40
- scip-query unused-params --json --full
41
- scip-query passthrough-candidates --json --full
42
- scip-query dead --json --full
43
- scip-query isolated --json --full
36
+ scip-query cleanup-plan --verify # compiler-verified batched deletion plan
37
+ scip-query duplicate-bodies --full # exact duplicate small-body candidates
38
+ scip-query recent-duplicates --full # recent code re-implementing established code
39
+ scip-query incomplete-migration --full # partially-completed extractions
40
+ scip-query unused-params --full
41
+ scip-query passthrough-candidates --full
42
+ scip-query dead --full
43
+ scip-query isolated --full
44
44
  scip-query cycles
45
- scip-query co-change --json --full # hidden file-level coupling from git history
46
- scip-query doc-drift --json --full # docs whose referenced/co-changed code kept moving
45
+ scip-query co-change --full # hidden file-level coupling from git history
46
+ scip-query doc-drift --full # docs whose referenced/co-changed code kept moving
47
47
  ```
48
48
 
49
- `scip-query health --json` establishes the composite score and prioritized
50
- action list; `scip-query cleanup-plan --verify --json` combines graph-fact
49
+ `scip-query health` establishes the composite score and prioritized
50
+ action list; `scip-query cleanup-plan --verify` combines graph-fact
51
51
  dead code with the cascade candidates it unlocks. `scip-query doc-drift
52
- --json --full` finds stale-doc candidates: code a doc references, or
52
+ --full` finds stale-doc candidates: code a doc references, or
53
53
  co-changed with, that kept changing after the doc stopped — run it whenever
54
54
  the audit is about living-doc drift, not just code cleanup.
55
55
 
@@ -58,8 +58,8 @@ large-component/view detector commands (see `references/frontend.md`) to the
58
58
  sweep.
59
59
 
60
60
  **Optional deep dives**, run only after the main sweep is exhausted:
61
- `scip-query stale-abstractions --json --full` and `scip-query
62
- wrapper-candidates --json --full` have near-zero precision on codebases with
61
+ `scip-query stale-abstractions --full` and `scip-query
62
+ wrapper-candidates --full` have near-zero precision on codebases with
63
63
  intentional layering or ambient types — treat every hit as a lead to
64
64
  confirm, never a finding on its own.
65
65
 
@@ -70,9 +70,8 @@ target**, **intentional design**, **false positive**, or **blocked**.
70
70
 
71
71
  To confirm a high-priority candidate, inspect source and graph evidence with
72
72
  `scip-query code`, `scip-query refs`, `scip-query fan-in`, `scip-query
73
- fan-out`, `scip-query affected --json`, `scip-query change-surface --json
74
- --full`, `scip-query similar --plan`, and `scip-query co-change --json
75
- --full`.
73
+ fan-out`, `scip-query affected`, `scip-query change-surface --full`,
74
+ `scip-query similar --plan`, and `scip-query co-change --full`.
76
75
 
77
76
  Because a deletion is this audit's scrutiny-ending verdict, a candidate
78
77
  classified "confirmed fix target" that deletes code must survive refutation
@@ -124,8 +124,8 @@ Add mature boundary path patterns to `.scipquery.json` under
124
124
  }
125
125
  ```
126
126
 
127
- After adding boundaries, run `scip-query config-validate --json` then
128
- `scip-query architecture --json` to check the new boundary configuration.
127
+ After adding boundaries, run `scip-query config-validate` then
128
+ `scip-query architecture` to check the new boundary configuration.
129
129
  Use unmapped and ambiguous files to repair boundary membership, and use
130
130
  actual boundary edges, reciprocal pairs, and strongly connected groups to
131
131
  test whether boundary names describe real separation.
@@ -215,8 +215,8 @@ co-change <moved-file-or-config>`. Also run the project's tests or typecheck
215
215
  for the affected workspace.
216
216
 
217
217
  If `.scipquery.json` locality changed, run `scip-query config-validate`,
218
- `scip-query locality-candidates --json --full`, `scip-query architecture
219
- --json`, `scip-query drift --architecture`, and `scip-query diff-gate`.
218
+ `scip-query locality-candidates --full`, `scip-query architecture`,
219
+ `scip-query drift --architecture`, and `scip-query diff-gate`.
220
220
 
221
221
  Then invoke `scip-verify`; the implementation is complete only when imports,
222
222
  tests, locality signals, and verification are checked.
@@ -40,20 +40,20 @@ Then run, all uncapped with `--full --json`:
40
40
 
41
41
  **React:**
42
42
  ```
43
- scip-query react-component-duplicates --scope <scope> --full --json
44
- scip-query react-hook-candidates --scope <scope> --full --json
45
- scip-query react-large-component-pressure --scope <scope> --full --json
46
- scip-query recent-duplicates --scope <scope> --full --json
47
- scip-query health --scope <scope> --json
43
+ scip-query react-component-duplicates --scope <scope> --full
44
+ scip-query react-hook-candidates --scope <scope> --full
45
+ scip-query react-large-component-pressure --scope <scope> --full
46
+ scip-query recent-duplicates --scope <scope> --full
47
+ scip-query health --scope <scope>
48
48
  ```
49
49
 
50
50
  **Vue:**
51
51
  ```
52
- scip-query vue-component-duplicates --scope <scope> --full --json
53
- scip-query vue-composable-candidates --scope <scope> --full --json
54
- scip-query vue-large-view-pressure --scope <scope> --full --json
55
- scip-query recent-duplicates --scope <scope> --full --json
56
- scip-query health --json
52
+ scip-query vue-component-duplicates --scope <scope> --full
53
+ scip-query vue-composable-candidates --scope <scope> --full
54
+ scip-query vue-large-view-pressure --scope <scope> --full
55
+ scip-query recent-duplicates --scope <scope> --full
56
+ scip-query health
57
57
  ```
58
58
 
59
59
  Every `*-duplicates`/`*-candidates`/`*-pressure` command has bounded
@@ -23,12 +23,12 @@ independently in only some of its copies.
23
23
 
24
24
  ## Detect
25
25
 
26
- Run `scip-query twin-drift --json --full` to surface every DIVERGENT and
26
+ Run `scip-query twin-drift --full` to surface every DIVERGENT and
27
27
  near-name group in scope; scope it to a module with `-s/--scope <path>` when
28
28
  the review should be bounded. Record group count, member count, and
29
29
  `maxDivergence` per group.
30
30
 
31
- Cross-check results against `scip-query duplicate-bodies --json --full` —
31
+ Cross-check results against `scip-query duplicate-bodies --full` —
32
32
  IDENTICAL groups belong to `duplicate-bodies`, not here; do not re-report
33
33
  them. Homonyms — groups with similarity below `--min-similarity` (default
34
34
  0.3) — are noise and should not be chased unless `--include-homonyms` was
@@ -18,11 +18,11 @@ Load shared mechanics from [`../../_shared/SKILL.md`](../../_shared/SKILL.md) on
18
18
  | `scip-query fan-in <suspect-symbol>` / `scip-query fan-out <suspect-file>` | Follow execution: who depends on the suspect symbol/file, and what it depends on. |
19
19
  | `scip-query dataflow <symbol-or-variable>` | Follow data: producers, consumers, and usage sites (bounded coverage). |
20
20
  | `scip-query slice <symbol-or-variable>` / `--forward` | Follow data: backward and forward slices from the suspect value. |
21
- | `scip-query similar <suspect-symbol> --json --full` | Compare nearby implementations for missing guards or handling (bounded coverage: symbol pairs, similarity scores, shared evidence). |
21
+ | `scip-query similar <suspect-symbol> --full` | Compare nearby implementations for missing guards or handling (bounded coverage: symbol pairs, similarity scores, shared evidence). |
22
22
  | `scip-query similar <suspect-symbol> <similar-symbol> --plan` | Compare two specific implementations directly. |
23
- | `scip-query similar-files <suspect-file> --json --full` | Compare nearby files for missing handling. |
24
- | `scip-query change-surface <suspect-file> --json --full` | Bound the fix: exports, consumers, and blast-radius risk (bounded coverage). |
25
- | `scip-query affected <suspect-symbol> --json` | Bound the fix: transitive closure of symbols that could break. |
23
+ | `scip-query similar-files <suspect-file> --full` | Compare nearby files for missing handling. |
24
+ | `scip-query change-surface <suspect-file> --full` | Bound the fix: exports, consumers, and blast-radius risk (bounded coverage). |
25
+ | `scip-query affected <suspect-symbol>` | Bound the fix: transitive closure of symbols that could break. |
26
26
 
27
27
  ## Rules
28
28
 
@@ -77,9 +77,9 @@ This step is complete only when the path explains the symptom or the missing evi
77
77
  ### 4. Compare nearby implementations
78
78
 
79
79
  ```bash
80
- scip-query similar <suspect-symbol> --json --full
80
+ scip-query similar <suspect-symbol> --full
81
81
  scip-query similar <suspect-symbol> <similar-symbol> --plan
82
- scip-query similar-files <suspect-file> --json --full
82
+ scip-query similar-files <suspect-file> --full
83
83
  ```
84
84
 
85
85
  Use implementation comparisons to find missing guards, conversions, lifecycle steps, or error handling, while preserving essential differences.
@@ -89,8 +89,8 @@ This step is complete only when comparisons either support the fix or are reject
89
89
  ### 5. Bound and fix
90
90
 
91
91
  ```bash
92
- scip-query change-surface <suspect-file> --json --full
93
- scip-query affected <suspect-symbol> --json
92
+ scip-query change-surface <suspect-file> --full
93
+ scip-query affected <suspect-symbol>
94
94
  ```
95
95
 
96
96
  Make the smallest code change that fixes the root cause.
@@ -18,9 +18,9 @@ Load shared mechanics from [`../../_shared/SKILL.md`](../../_shared/SKILL.md) on
18
18
  | `scip-query co-change <fix-site-file>` | Assemble the family: files that historically changed together with each fix site without a dependency edge — hidden coupling candidates, and a way to find family members the user forgot (bounded coverage: file pairs, co-change counts, confidence, history context). |
19
19
  | `scip-query system <system-scope>` | Define the system's real responsibilities, files, and dependencies in and out (complete coverage: module file paths, exported symbols with line ranges, internal and reverse dependencies). |
20
20
  | `scip-query surface <system-scope>` | Define the system: referents for its public surface alongside `system`. |
21
- | `scip-query similar <fixed-symbol> --json --full` | Predict: hunt latent instances among sibling implementations of the fixed code (bounded coverage). |
21
+ | `scip-query similar <fixed-symbol> --full` | Predict: hunt latent instances among sibling implementations of the fixed code (bounded coverage). |
22
22
  | `scip-query refs <invariant-carrier>` | Predict: every site that touches the violated invariant's state (bounded coverage: referencing file paths, reference line numbers grouped by file). |
23
- | `scip-query affected <remedy-symbol> --json` | Choose the remedy rung: blast radius of the candidate remedy (bounded coverage: transitive closure of symbols that could break). |
23
+ | `scip-query affected <remedy-symbol>` | Choose the remedy rung: blast radius of the candidate remedy (bounded coverage: transitive closure of symbols that could break). |
24
24
 
25
25
  ## Terms
26
26
 
@@ -92,7 +92,7 @@ Retrodiction: derive each family-table row from the flaw in one sentence each. A
92
92
  Prediction: the flaw implies unfixed instances exist. Name where they must be, then hunt:
93
93
 
94
94
  ```bash
95
- scip-query similar <fixed-symbol> --json --full
95
+ scip-query similar <fixed-symbol> --full
96
96
  scip-query refs <invariant-carrier>
97
97
  ```
98
98