scip-query 0.19.4 → 0.19.6

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 (400) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/README.md +242 -49
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/{chunk-2YU7I3QO.js → chunk-24QNP7MN.js} +2 -2
  5. package/dist/{chunk-CNKAGUPL.js → chunk-26X7KCJR.js} +2 -2
  6. package/dist/{chunk-GPBBJ5Y4.js → chunk-273W2U4Y.js} +3 -3
  7. package/dist/{chunk-7GXM52MI.js → chunk-2CVXCGL4.js} +2 -2
  8. package/dist/{chunk-ABMYA4TN.js → chunk-2EZSOTSY.js} +2 -2
  9. package/dist/{chunk-HKEHS2AS.js → chunk-2GSQR6YA.js} +2 -2
  10. package/dist/{chunk-FECYOO5O.js → chunk-2OXVAGGT.js} +2 -2
  11. package/dist/chunk-2ZOCHAL2.js +8 -0
  12. package/dist/{chunk-QGXBRIM5.js → chunk-336DC5NJ.js} +2 -2
  13. package/dist/chunk-35SQLYCQ.js +2 -0
  14. package/dist/{chunk-VXQNNXJE.js → chunk-3OIKRYU5.js} +2 -2
  15. package/dist/{chunk-52ZYCAEO.js → chunk-47X75ZKH.js} +2 -2
  16. package/dist/{chunk-NPKYOIFM.js → chunk-4CGVLUDP.js} +2 -2
  17. package/dist/chunk-4RI4BJGT.js +8 -0
  18. package/dist/{chunk-P2PC2WGR.js → chunk-52HQTTPB.js} +2 -2
  19. package/dist/{chunk-YNRNA5LK.js → chunk-5OC3HWP5.js} +2 -2
  20. package/dist/{chunk-STOL2BTL.js → chunk-6XFC7PQ5.js} +2 -2
  21. package/dist/{chunk-J77UIT3I.js → chunk-6XHTISLI.js} +2 -2
  22. package/dist/chunk-6YTSKJJ3.js +2 -0
  23. package/dist/{chunk-BTEE5NZQ.js → chunk-7E3TH5ZN.js} +2 -2
  24. package/dist/{chunk-X6D5IC6I.js → chunk-7LABSJSR.js} +2 -2
  25. package/dist/chunk-7Q6VYYCH.js +2 -0
  26. package/dist/{chunk-FWUUZTIO.js → chunk-A43URCQ3.js} +2 -2
  27. package/dist/chunk-A63U2W3P.js +3 -0
  28. package/dist/{chunk-3MJ5YA4Y.js → chunk-ADFSIJP2.js} +2 -2
  29. package/dist/chunk-AOLE4DYM.js +6 -0
  30. package/dist/chunk-APMMR5Y2.js +2 -0
  31. package/dist/chunk-B5MHCHP3.js +107 -0
  32. package/dist/{chunk-4RSI5EMG.js → chunk-CSTYYXKC.js} +2 -2
  33. package/dist/{chunk-25LPM4DG.js → chunk-CYJM7CYF.js} +2 -2
  34. package/dist/{chunk-S44IULR6.js → chunk-DD5BOU5I.js} +2 -2
  35. package/dist/{chunk-YGAGTIDK.js → chunk-DGMCFMPG.js} +7 -7
  36. package/dist/{chunk-UOAV44HR.js → chunk-E2ZXPB7J.js} +2 -2
  37. package/dist/{chunk-IZKFSVBV.js → chunk-EVOC5I5I.js} +2 -2
  38. package/dist/{chunk-XTX6QHOF.js → chunk-F42A3AKG.js} +2 -2
  39. package/dist/{chunk-Q4IIEGXJ.js → chunk-FHCTEANE.js} +2 -2
  40. package/dist/{chunk-3SVWW4PN.js → chunk-FKGN4A4E.js} +2 -2
  41. package/dist/{chunk-IG7N5ZIK.js → chunk-FQTPPXNA.js} +2 -2
  42. package/dist/{chunk-F6O7AAC3.js → chunk-G4UQL4CP.js} +2 -2
  43. package/dist/chunk-GA64UPMI.js +6 -0
  44. package/dist/{chunk-ZXJYMGD3.js → chunk-GK3GRUJX.js} +2 -2
  45. package/dist/chunk-HEBAY673.js +2 -0
  46. package/dist/chunk-HELS7KFF.js +2 -0
  47. package/dist/{chunk-B5NLK2B3.js → chunk-IPDCSB6N.js} +2 -2
  48. package/dist/{chunk-M7MTH5NR.js → chunk-IYAOX36F.js} +2 -2
  49. package/dist/{chunk-YVVCVR2L.js → chunk-J7VT2CRB.js} +2 -2
  50. package/dist/{chunk-4333ETTV.js → chunk-JELJLXEE.js} +2 -2
  51. package/dist/{chunk-LBMJEAEW.js → chunk-JERWGHQT.js} +2 -2
  52. package/dist/chunk-JJJCO4QC.js +945 -0
  53. package/dist/{chunk-6E7UTQY7.js → chunk-JZNLMHWY.js} +2 -2
  54. package/dist/{chunk-R4FQGQ4X.js → chunk-K42M2KWT.js} +2 -2
  55. package/dist/{chunk-H7UKLTWJ.js → chunk-KLVJABXA.js} +2 -2
  56. package/dist/chunk-KP4KBDVF.js +3 -0
  57. package/dist/{chunk-RV2FQIX3.js → chunk-LMFVTUW2.js} +2 -2
  58. package/dist/chunk-LRTP3DKL.js +3 -0
  59. package/dist/{chunk-U6WNH5GC.js → chunk-MGBJHRFB.js} +2 -2
  60. package/dist/{chunk-QDV6RDCP.js → chunk-MLGTCX56.js} +2 -2
  61. package/dist/{chunk-54HA4ZXH.js → chunk-N3SE646F.js} +2 -2
  62. package/dist/{chunk-KP6XRY5Z.js → chunk-NBRUH7OE.js} +2 -2
  63. package/dist/{chunk-M7AIS73L.js → chunk-NN4ZIRPK.js} +2 -2
  64. package/dist/{chunk-I5RJM53C.js → chunk-NQLSSVOB.js} +2 -2
  65. package/dist/{chunk-4SALD7RU.js → chunk-OBKDTVZ3.js} +2 -2
  66. package/dist/{chunk-GBQ5NYPR.js → chunk-OHWZKLVA.js} +6 -6
  67. package/dist/{chunk-6NSFJYRC.js → chunk-OP3MTFJR.js} +2 -2
  68. package/dist/{chunk-EOOJGLDU.js → chunk-OQ2A4G2G.js} +2 -2
  69. package/dist/{chunk-DLWR3NUU.js → chunk-P6HBYNBE.js} +2 -2
  70. package/dist/{chunk-QVWS2VWZ.js → chunk-PC44K7RF.js} +2 -2
  71. package/dist/{chunk-A2EZV2UM.js → chunk-QBYYWGAT.js} +2 -2
  72. package/dist/{chunk-QRGV2F7L.js → chunk-QHKUY4FW.js} +2 -2
  73. package/dist/chunk-QHRL4LKM.js +2 -0
  74. package/dist/{chunk-I5AWSI2G.js → chunk-QQWOFXNW.js} +2 -2
  75. package/dist/{chunk-WQTAC523.js → chunk-RBFFD4V2.js} +2 -2
  76. package/dist/{chunk-SOAT6NLA.js → chunk-RJHCPSZ7.js} +2 -2
  77. package/dist/{chunk-VGRICIQI.js → chunk-RWRLUZ6U.js} +2 -2
  78. package/dist/{chunk-4T3LTWUS.js → chunk-S2GP3CU3.js} +2 -2
  79. package/dist/{chunk-HEXVUYFQ.js → chunk-SHKZ7OVJ.js} +2 -2
  80. package/dist/{chunk-NSS46APD.js → chunk-TFUU5MQQ.js} +2 -2
  81. package/dist/{chunk-IUFDSKGG.js → chunk-TYQ76QHQ.js} +2 -2
  82. package/dist/{chunk-NRCXJDHL.js → chunk-U5CNPPTZ.js} +2 -2
  83. package/dist/{chunk-MITTUCEH.js → chunk-UQK5CRUK.js} +2 -2
  84. package/dist/{chunk-XLTP42QA.js → chunk-UUJBLG6J.js} +2 -2
  85. package/dist/chunk-UXP636P5.js +144 -0
  86. package/dist/{chunk-64RFXJT5.js → chunk-VEVBIAOJ.js} +6 -6
  87. package/dist/chunk-VKRQDBW5.js +9 -0
  88. package/dist/{chunk-C7NIYIQ4.js → chunk-VOQFGC2W.js} +4 -4
  89. package/dist/{chunk-DZ74OMG6.js → chunk-VP542C25.js} +2 -2
  90. package/dist/{chunk-Q3AFUTGB.js → chunk-WMXRRBII.js} +2 -2
  91. package/dist/{chunk-ZGZUZ7XE.js → chunk-WXAAURU7.js} +2 -2
  92. package/dist/chunk-X3NLZHPA.js +20 -0
  93. package/dist/{chunk-WER3B7MI.js → chunk-XF3KLXN3.js} +2 -2
  94. package/dist/{chunk-NH5ALKPW.js → chunk-XVJ3V7LM.js} +2 -2
  95. package/dist/{chunk-4XTA5OMB.js → chunk-YGQN3XGZ.js} +2 -2
  96. package/dist/{chunk-CFMXJPHH.js → chunk-YHXBD52M.js} +2 -2
  97. package/dist/{chunk-7B3UPBVA.js → chunk-YLVE3SXZ.js} +2 -2
  98. package/dist/{chunk-YIJ7ZAA4.js → chunk-YTUD45PU.js} +2 -2
  99. package/dist/{chunk-VTKGCT3V.js → chunk-YWB2EBNB.js} +2 -2
  100. package/dist/{chunk-UKZBVX4U.js → chunk-Z2LHPIOM.js} +2 -2
  101. package/dist/chunk-Z5QQPJ3U.js +30 -0
  102. package/dist/{chunk-NZL2DBT7.js → chunk-ZLJLE6LK.js} +2 -2
  103. package/dist/{chunk-XYADIZHU.js → chunk-ZTTISZ7J.js} +2 -2
  104. package/dist/cli.js +3 -3
  105. package/dist/command-descriptors-SJDZ7QGR.js +617 -0
  106. package/dist/{config-types-D20KuvvZ.d.ts → config-types-BWQ5xPGI.d.ts} +4 -0
  107. package/dist/{db-G_II8yXU.d.ts → db-B0r1o7Vt.d.ts} +18 -1
  108. package/dist/direct-navigation-HTKOZEOM.js +3 -0
  109. package/dist/{health-oblXYgkF.d.ts → health-CFnlCiTz.d.ts} +1 -1
  110. package/dist/index.d.ts +2 -2
  111. package/dist/index.js +1 -1
  112. package/dist/postinstall.js +1 -1
  113. package/dist/queries/affected.d.ts +2 -2
  114. package/dist/queries/affected.js +1 -1
  115. package/dist/queries/architecture.d.ts +2 -2
  116. package/dist/queries/architecture.js +1 -1
  117. package/dist/queries/bottlenecks.d.ts +2 -2
  118. package/dist/queries/bottlenecks.js +1 -1
  119. package/dist/queries/by-kind.d.ts +2 -2
  120. package/dist/queries/by-kind.js +1 -1
  121. package/dist/queries/call-graph.d.ts +2 -2
  122. package/dist/queries/call-graph.js +1 -1
  123. package/dist/queries/change-surface.d.ts +2 -2
  124. package/dist/queries/change-surface.js +1 -1
  125. package/dist/queries/cleanup-plan.d.ts +2 -2
  126. package/dist/queries/cleanup-plan.js +1 -1
  127. package/dist/queries/co-change.d.ts +2 -2
  128. package/dist/queries/co-change.js +1 -1
  129. package/dist/queries/code.d.ts +2 -2
  130. package/dist/queries/code.js +1 -1
  131. package/dist/queries/complexity-hotspots.d.ts +2 -2
  132. package/dist/queries/complexity-hotspots.js +1 -1
  133. package/dist/queries/complexity.d.ts +2 -2
  134. package/dist/queries/complexity.js +1 -1
  135. package/dist/queries/convergence.d.ts +2 -2
  136. package/dist/queries/convergence.js +1 -1
  137. package/dist/queries/coupling.d.ts +2 -2
  138. package/dist/queries/coupling.js +1 -1
  139. package/dist/queries/cycles.d.ts +2 -2
  140. package/dist/queries/cycles.js +1 -1
  141. package/dist/queries/dataflow.d.ts +2 -2
  142. package/dist/queries/dataflow.js +1 -1
  143. package/dist/queries/dead.d.ts +2 -2
  144. package/dist/queries/dead.js +1 -1
  145. package/dist/queries/decorative-checkers.d.ts +3 -3
  146. package/dist/queries/decorative-checkers.js +1 -1
  147. package/dist/queries/deep-chains.d.ts +2 -2
  148. package/dist/queries/deep-chains.js +1 -1
  149. package/dist/queries/deps.d.ts +2 -2
  150. package/dist/queries/deps.js +1 -1
  151. package/dist/queries/diff-gate.d.ts +30 -2
  152. package/dist/queries/diff-gate.js +1 -1
  153. package/dist/queries/diff-impact.d.ts +2 -2
  154. package/dist/queries/diff-impact.js +1 -1
  155. package/dist/queries/doc-drift.d.ts +2 -2
  156. package/dist/queries/doc-drift.js +1 -1
  157. package/dist/queries/drift.d.ts +2 -2
  158. package/dist/queries/drift.js +1 -1
  159. package/dist/queries/duplicate-bodies.d.ts +2 -2
  160. package/dist/queries/duplicate-bodies.js +1 -1
  161. package/dist/queries/extract-candidates.d.ts +2 -2
  162. package/dist/queries/extract-candidates.js +1 -1
  163. package/dist/queries/fan.d.ts +2 -2
  164. package/dist/queries/fan.js +1 -1
  165. package/dist/queries/files.d.ts +2 -2
  166. package/dist/queries/health.d.ts +3 -3
  167. package/dist/queries/health.js +1 -1
  168. package/dist/queries/hierarchy.d.ts +2 -2
  169. package/dist/queries/hierarchy.js +1 -1
  170. package/dist/queries/hotspots.d.ts +2 -2
  171. package/dist/queries/hotspots.js +1 -1
  172. package/dist/queries/imports.d.ts +2 -2
  173. package/dist/queries/imports.js +1 -1
  174. package/dist/queries/incomplete-migration.d.ts +2 -2
  175. package/dist/queries/incomplete-migration.js +1 -1
  176. package/dist/queries/index.d.ts +17 -3
  177. package/dist/queries/index.js +1 -1
  178. package/dist/queries/isolated.d.ts +2 -2
  179. package/dist/queries/isolated.js +1 -1
  180. package/dist/queries/locality-candidates.d.ts +2 -2
  181. package/dist/queries/locality-candidates.js +1 -1
  182. package/dist/queries/members.d.ts +2 -2
  183. package/dist/queries/members.js +1 -1
  184. package/dist/queries/methods.d.ts +2 -2
  185. package/dist/queries/methods.js +1 -1
  186. package/dist/queries/not-implemented.d.ts +3 -3
  187. package/dist/queries/not-implemented.js +1 -1
  188. package/dist/queries/outline.d.ts +2 -2
  189. package/dist/queries/outline.js +1 -1
  190. package/dist/queries/passthrough-candidates.d.ts +2 -2
  191. package/dist/queries/passthrough-candidates.js +1 -1
  192. package/dist/queries/plan-context.d.ts +2 -2
  193. package/dist/queries/plan-context.js +1 -1
  194. package/dist/queries/react-component-duplicates.d.ts +2 -2
  195. package/dist/queries/react-component-duplicates.js +1 -1
  196. package/dist/queries/react-hook-candidates.d.ts +2 -2
  197. package/dist/queries/react-hook-candidates.js +1 -1
  198. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  199. package/dist/queries/react-large-component-pressure.js +1 -1
  200. package/dist/queries/recent-duplicates.d.ts +2 -2
  201. package/dist/queries/recent-duplicates.js +1 -1
  202. package/dist/queries/redundant-reexports.d.ts +2 -2
  203. package/dist/queries/redundant-reexports.js +1 -1
  204. package/dist/queries/refs.d.ts +2 -2
  205. package/dist/queries/refs.js +1 -1
  206. package/dist/queries/self-audit.d.ts +2 -2
  207. package/dist/queries/self-audit.js +1 -1
  208. package/dist/queries/similar-chains.d.ts +2 -2
  209. package/dist/queries/similar-chains.js +1 -1
  210. package/dist/queries/similar-files.d.ts +2 -2
  211. package/dist/queries/similar-files.js +1 -1
  212. package/dist/queries/similar-signatures.d.ts +2 -2
  213. package/dist/queries/similar-signatures.js +1 -1
  214. package/dist/queries/similar.d.ts +2 -2
  215. package/dist/queries/similar.js +1 -1
  216. package/dist/queries/slice.d.ts +2 -2
  217. package/dist/queries/slice.js +1 -1
  218. package/dist/queries/stale-abstractions.d.ts +2 -2
  219. package/dist/queries/stale-abstractions.js +1 -1
  220. package/dist/queries/stats.d.ts +2 -2
  221. package/dist/queries/stats.js +1 -1
  222. package/dist/queries/surface.d.ts +2 -2
  223. package/dist/queries/surface.js +1 -1
  224. package/dist/queries/symbols.d.ts +2 -2
  225. package/dist/queries/symbols.js +1 -1
  226. package/dist/queries/system.d.ts +2 -2
  227. package/dist/queries/system.js +1 -1
  228. package/dist/queries/test-quality.d.ts +2 -2
  229. package/dist/queries/test-quality.js +1 -1
  230. package/dist/queries/trace.d.ts +2 -2
  231. package/dist/queries/trace.js +1 -1
  232. package/dist/queries/twin-ab.d.ts +3 -3
  233. package/dist/queries/twin-ab.js +1 -1
  234. package/dist/queries/twin-drift.d.ts +2 -2
  235. package/dist/queries/twin-drift.js +1 -1
  236. package/dist/queries/unused-imports.d.ts +2 -2
  237. package/dist/queries/unused-imports.js +1 -1
  238. package/dist/queries/unused-params.d.ts +2 -2
  239. package/dist/queries/unused-params.js +1 -1
  240. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  241. package/dist/queries/vue-component-duplicates.js +1 -1
  242. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  243. package/dist/queries/vue-composable-candidates.js +1 -1
  244. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  245. package/dist/queries/vue-large-view-pressure.js +1 -1
  246. package/dist/queries/wrapper-candidates.d.ts +2 -2
  247. package/dist/queries/wrapper-candidates.js +1 -1
  248. package/dist/reindex-worker.js +23 -24
  249. package/dist/reindex.d.ts +10 -4
  250. package/dist/reindex.js +33 -38
  251. package/dist/runtime.d.ts +167 -11
  252. package/dist/runtime.js +3 -2
  253. package/dist/rust-semantic-session-server.js +1 -1
  254. package/dist/rust-semantic-session-worker.js +1 -1
  255. package/dist/rust-semantic-worker.js +1 -1
  256. package/dist/{scip-cli-kRpaexVJ.d.ts → scip-cli-DCvnlZCu.d.ts} +5 -1
  257. package/dist/watch-server.js +5 -5
  258. package/docs/AGENT_GUIDE.md +1 -1
  259. package/docs/AI_FAILURE_MODES.md +18 -18
  260. package/docs/API_EVOLUTION.md +71 -0
  261. package/docs/CLI_JSON_OUTPUT.md +83 -0
  262. package/docs/COMMAND_REFERENCE.md +10 -8
  263. package/docs/COMMITTED_RECORD_COMPATIBILITY.md +117 -0
  264. package/docs/CONFIGURATION_WRITE_SAFETY.md +130 -0
  265. package/docs/DETECTOR_GUIDE.md +47 -47
  266. package/docs/DURABILITY.md +103 -0
  267. package/docs/INDEX_GENERATIONS.md +121 -0
  268. package/docs/LOCK_PROTOCOL.md +133 -0
  269. package/docs/MAILBOX_LIFECYCLE.md +197 -0
  270. package/docs/REINDEX_METADATA_COMPATIBILITY.md +84 -0
  271. package/docs/RUST_DURABLE_SESSION_PROTOCOL.md +126 -0
  272. package/docs/TELEMETRY_RETENTION.md +72 -0
  273. package/docs/TIME_SEMANTICS.md +77 -0
  274. package/docs/WATCH_REFRESH_REQUESTS.md +110 -0
  275. package/docs/WINDOWS_SIDECAR_RELEASE.md +298 -0
  276. package/docs/analyzer-validation-ledger.md +24 -23
  277. package/docs/schemas/cli-json-envelope.schema.json +53 -0
  278. package/docs/schemas/npm-release-state.schema.json +146 -0
  279. package/docs/schemas/outcome-event-record.schema.json +39 -0
  280. package/docs/schemas/project-config.schema.json +247 -0
  281. package/docs/schemas/suppression-record.schema.json +31 -0
  282. package/docs/schemas/windows-sidecar-provenance.schema.json +137 -0
  283. package/package.json +15 -5
  284. package/scripts/build-scip-windows.mjs +180 -61
  285. package/scripts/scip-windows-provenance.mjs +364 -0
  286. package/scripts/verify-scip-windows.mjs +29 -0
  287. package/skills/_shared/SKILL.md +91 -242
  288. package/skills/_shared/agents/openai.yaml +1 -1
  289. package/skills/_shared/references/agent-contract-catalog.md +105 -0
  290. package/skills/_shared/references/command-catalog.md +118 -0
  291. package/skills/_shared/references/detector-precision-and-diffgate.md +59 -0
  292. package/skills/_shared/references/evidence-and-dead-code.md +25 -0
  293. package/skills/scip-audit/SKILL.md +76 -0
  294. package/skills/scip-audit/agents/openai.yaml +4 -0
  295. package/skills/scip-audit/references/claims.md +98 -0
  296. package/skills/scip-audit/references/cleanup.md +101 -0
  297. package/skills/scip-audit/references/directory.md +222 -0
  298. package/skills/scip-audit/references/frontend.md +130 -0
  299. package/skills/scip-audit/references/integrity.md +154 -0
  300. package/skills/scip-audit/references/maintainability.md +162 -0
  301. package/skills/scip-audit/references/twin-drift.md +104 -0
  302. package/skills/scip-diagnose/SKILL.md +52 -0
  303. package/skills/scip-diagnose/agents/openai.yaml +4 -0
  304. package/skills/scip-diagnose/references/debug.md +117 -0
  305. package/skills/{scip-probe-reachability/SKILL.md → scip-diagnose/references/probe-reachability.md} +12 -27
  306. package/skills/scip-diagnose/references/root-cause.md +145 -0
  307. package/skills/scip-diagnose/references/triage.md +119 -0
  308. package/skills/scip-explore/SKILL.md +53 -84
  309. package/skills/scip-explore/agents/openai.yaml +2 -2
  310. package/skills/scip-explore/references/diagrams.md +40 -0
  311. package/skills/scip-explore/references/language-playbook.md +49 -0
  312. package/skills/scip-improve/SKILL.md +56 -0
  313. package/skills/scip-improve/agents/openai.yaml +4 -0
  314. package/skills/scip-improve/references/cleanup-batches.md +53 -0
  315. package/skills/scip-improve/references/directory-moves.md +53 -0
  316. package/skills/scip-improve/references/doc-reconcile.md +30 -0
  317. package/skills/scip-improve/references/frontend-extraction.md +39 -0
  318. package/skills/scip-improve/references/maintainability-mechanism.md +43 -0
  319. package/skills/scip-improve/references/twin-drift.md +35 -0
  320. package/skills/scip-plan/SKILL.md +68 -0
  321. package/skills/scip-plan/agents/openai.yaml +4 -0
  322. package/skills/scip-plan/references/api-impact.md +19 -0
  323. package/skills/scip-plan/references/conductor.md +41 -0
  324. package/skills/scip-plan/references/high-assurance.md +43 -0
  325. package/skills/scip-plan/references/hyper-optimization.md +50 -0
  326. package/skills/scip-plan/references/tla-model.md +88 -0
  327. package/skills/scip-query/SKILL.md +52 -97
  328. package/skills/scip-query/agents/openai.yaml +2 -2
  329. package/skills/scip-setup/SKILL.md +65 -176
  330. package/skills/scip-setup/agents/openai.yaml +3 -3
  331. package/skills/scip-setup/references/bootstrap-workflow.md +120 -0
  332. package/skills/scip-setup/references/language-verification.md +61 -0
  333. package/skills/scip-setup/references/lifecycle-commands.md +119 -0
  334. package/skills/scip-setup/references/per-repo-triage.md +24 -0
  335. package/skills/scip-verify/SKILL.md +123 -70
  336. package/skills/scip-verify/agents/openai.yaml +2 -2
  337. package/skills/scip-verify/references/calibrate-detectors.md +170 -0
  338. package/dist/chunk-2CTX5CMX.js +0 -4
  339. package/dist/chunk-2Y373BDD.js +0 -2
  340. package/dist/chunk-C2QSK7E7.js +0 -2
  341. package/dist/chunk-D4U5Q3FT.js +0 -7
  342. package/dist/chunk-K2ERX4UT.js +0 -3
  343. package/dist/chunk-KHE7J5ZN.js +0 -3
  344. package/dist/chunk-L7SPDE73.js +0 -84
  345. package/dist/chunk-LHMNRHGV.js +0 -3
  346. package/dist/chunk-LM72NQ7T.js +0 -3
  347. package/dist/chunk-MSWVMDAH.js +0 -122
  348. package/dist/chunk-NH7WNNQC.js +0 -20
  349. package/dist/chunk-OMPZHGHO.js +0 -2
  350. package/dist/chunk-SVLTAG5O.js +0 -927
  351. package/dist/chunk-U7DSEKOM.js +0 -30
  352. package/dist/chunk-V27BEQJN.js +0 -7
  353. package/dist/chunk-VMNZB6WI.js +0 -4
  354. package/dist/chunk-XBN5VO53.js +0 -2
  355. package/dist/chunk-ZAIILQNP.js +0 -5
  356. package/dist/command-descriptors-MFU4BCJ7.js +0 -612
  357. package/dist/direct-navigation-MRMQFIRB.js +0 -3
  358. package/skills/scip-api-impact/SKILL.md +0 -139
  359. package/skills/scip-api-impact/agents/openai.yaml +0 -4
  360. package/skills/scip-calibrate/SKILL.md +0 -131
  361. package/skills/scip-calibrate/agents/openai.yaml +0 -4
  362. package/skills/scip-claim-audit/SKILL.md +0 -106
  363. package/skills/scip-claim-audit/agents/openai.yaml +0 -4
  364. package/skills/scip-cleanup-audit/SKILL.md +0 -126
  365. package/skills/scip-cleanup-audit/agents/openai.yaml +0 -4
  366. package/skills/scip-cleanup-improve/SKILL.md +0 -84
  367. package/skills/scip-cleanup-improve/agents/openai.yaml +0 -4
  368. package/skills/scip-concrete-plan/SKILL.md +0 -262
  369. package/skills/scip-concrete-plan/agents/openai.yaml +0 -4
  370. package/skills/scip-conductor/SKILL.md +0 -133
  371. package/skills/scip-conductor/agents/openai.yaml +0 -4
  372. package/skills/scip-debug/SKILL.md +0 -130
  373. package/skills/scip-debug/agents/openai.yaml +0 -4
  374. package/skills/scip-diagram/SKILL.md +0 -110
  375. package/skills/scip-diagram/agents/openai.yaml +0 -4
  376. package/skills/scip-directory-architecture/SKILL.md +0 -254
  377. package/skills/scip-directory-architecture/agents/openai.yaml +0 -4
  378. package/skills/scip-doc-reconcile/SKILL.md +0 -89
  379. package/skills/scip-doc-reconcile/agents/openai.yaml +0 -4
  380. package/skills/scip-hyper-optimization/SKILL.md +0 -156
  381. package/skills/scip-hyper-optimization/agents/openai.yaml +0 -4
  382. package/skills/scip-integrity-audit/SKILL.md +0 -152
  383. package/skills/scip-integrity-audit/agents/openai.yaml +0 -4
  384. package/skills/scip-language-playbook/SKILL.md +0 -106
  385. package/skills/scip-language-playbook/agents/openai.yaml +0 -4
  386. package/skills/scip-maintainability/SKILL.md +0 -158
  387. package/skills/scip-maintainability/agents/openai.yaml +0 -4
  388. package/skills/scip-probe-reachability/agents/openai.yaml +0 -4
  389. package/skills/scip-react-maintainability/SKILL.md +0 -101
  390. package/skills/scip-react-maintainability/agents/openai.yaml +0 -4
  391. package/skills/scip-root-cause/SKILL.md +0 -150
  392. package/skills/scip-root-cause/agents/openai.yaml +0 -4
  393. package/skills/scip-tla-model-system/SKILL.md +0 -148
  394. package/skills/scip-tla-model-system/agents/openai.yaml +0 -4
  395. package/skills/scip-triage-issue/SKILL.md +0 -126
  396. package/skills/scip-triage-issue/agents/openai.yaml +0 -4
  397. package/skills/scip-twin-drift/SKILL.md +0 -107
  398. package/skills/scip-twin-drift/agents/openai.yaml +0 -4
  399. package/skills/scip-vue-maintainability/SKILL.md +0 -107
  400. package/skills/scip-vue-maintainability/agents/openai.yaml +0 -4
@@ -0,0 +1,61 @@
1
+ # Language-specific verification
2
+
3
+ Used in bootstrap workflow step 4, and any time an index or capability report
4
+ looks wrong for a specific language.
5
+
6
+ ## TypeScript, JavaScript, and Vue
7
+
8
+ Require these capability rows to explain their state:
9
+
10
+ - `scip-typescript` is runnable for SCIP indexing;
11
+ - the detected Tree-sitter TypeScript/JavaScript parser is available for
12
+ source facts;
13
+ - ts-morph semantic readiness is available for TypeScript;
14
+ - the demand-started service is enabled and status exposes TypeScript
15
+ semantic and TypeScript index session counters.
16
+
17
+ For a real multi-project TypeScript monorepo, set
18
+ `indexer.typescript.projectMode: "workspace"`. This makes project/tsconfig
19
+ boundaries the sub-shards, so a changed project and its project-reference,
20
+ workspace-package, or tsconfig-path dependents rebuild while unrelated
21
+ project shards are reused. Use `indexer.typescript.projects` only when
22
+ automatic discovery is too broad; a non-empty list there is authoritative.
23
+
24
+ Do not enable TypeScript workspace mode for a single-project repository
25
+ merely to seek speed — the normal incremental document producer and
26
+ persistent ts-morph service already reuse unchanged work.
27
+
28
+ ## Rust
29
+
30
+ Require these distinct facts:
31
+
32
+ - `rust-analyzer` is runnable and supports `rust-analyzer scip` for indexing;
33
+ - the Tree-sitter Rust grammar is available for source facts;
34
+ - Rust semantic readiness is available for compiler-backed references,
35
+ callees, signatures, and module/use evidence;
36
+ - status reports the durable Rust transport with worker fallback.
37
+
38
+ A `stopped` state for the Rust transport (or any demand-started helper) is
39
+ healthy when no semantic request currently needs the clean-idle helper —
40
+ lifecycle state is not the same signal as capability availability.
41
+
42
+ If `rust-analyzer` is missing and `rustup` is available, `setup` can run
43
+ `rustup component add rust-analyzer`. `SCIP_RUST_SEMANTIC_DURABLE_SESSION=0`
44
+ is an explicit worker-only fallback, not the optimal default — do not set it
45
+ as a default recommendation.
46
+
47
+ ## Other languages
48
+
49
+ Trust the capability matrix, not a language name. `setup` may install
50
+ supported indexers automatically (for example Python or Go), may provide only
51
+ source facts through a detected Tree-sitter grammar, or may report a manual
52
+ install URL. A missing semantic provider must be reported as unsupported,
53
+ never as a clean semantic analysis.
54
+
55
+ ## Verification commands
56
+
57
+ ```bash
58
+ scip-query status --capabilities
59
+ scip-query reindex --json
60
+ scip-query watch --status --json
61
+ ```
@@ -0,0 +1,119 @@
1
+ # Lifecycle commands
2
+
3
+ `setup` runs most of these internally during a full bootstrap. Reach for one
4
+ directly when only a slice of the footprint needs installing, refreshing, or
5
+ removing — not a full re-bootstrap.
6
+
7
+ ## install-skills
8
+
9
+ ```bash
10
+ scip-query install-skills
11
+ ```
12
+
13
+ When: bundled skills are missing, out of date after a scip-query upgrade, or
14
+ a new agent root (Claude Code, Codex, or a shared agent root) needs the skill
15
+ set that another root already has. Installs `_shared`, `scip-query`,
16
+ `scip-setup`, and the consolidated workflow family into Claude Code, Codex, and
17
+ shared agent roots.
18
+
19
+ Output to check: the list of skills written or linked per root. Confirm no
20
+ root was silently skipped — an agent root present in the repo but absent from
21
+ the output means that root did not get the skills.
22
+
23
+ ## setup-agent
24
+
25
+ ```bash
26
+ scip-query setup-agent
27
+ ```
28
+
29
+ When: `AGENTS.md`/`CLAUDE.md` has no block pointing agents at the scip-query
30
+ skills and diff gate, or the block is stale relative to the installed
31
+ version. Seeds that guidance block, plus an optional git pre-commit backstop.
32
+
33
+ Output to check: the diff to `AGENTS.md`/`CLAUDE.md` — confirm the block was
34
+ added or refreshed in place rather than duplicated.
35
+
36
+ ## setup-hooks
37
+
38
+ ```bash
39
+ scip-query setup-hooks
40
+ ```
41
+
42
+ When: project-local Codex or Claude Code lifecycle hooks are missing (never
43
+ installed, or wiped by a settings reset) or need refreshing after a
44
+ scip-query upgrade changed hook contracts.
45
+
46
+ Output to check: which hook files were written per tool; treat a tool with no
47
+ hook file as not covered.
48
+
49
+ ## setup-ci
50
+
51
+ ```bash
52
+ scip-query setup-ci
53
+ ```
54
+
55
+ When: the user explicitly asks for CI setup — do not run this unless asked.
56
+ Writes a GitHub Actions workflow that runs `scip-query reindex` and
57
+ `diff-gate` on pull requests.
58
+
59
+ Output to check: the workflow file path written. Tell the user to commit it
60
+ and confirm it triggers on the next PR; this command only writes the file, it
61
+ does not verify the workflow runs.
62
+
63
+ ## check-deps
64
+
65
+ ```bash
66
+ scip-query check-deps
67
+ ```
68
+
69
+ When: you need a fast preflight on whether scip-query and the detected
70
+ language indexers are actually runnable, without running the full `setup`
71
+ sequence — for example, diagnosing a `doctor` complaint about a specific
72
+ indexer, or confirming an environment before a CI run.
73
+
74
+ Output to check: per-indexer runnable/not-runnable verdicts. A "not runnable"
75
+ verdict here is the reason to go fix that indexer before trusting any index
76
+ built from it.
77
+
78
+ ## augment-sources
79
+
80
+ ```bash
81
+ scip-query augment-sources
82
+ ```
83
+
84
+ When: files are missing from the index even after a clean `reindex`, because
85
+ the upstream SCIP indexer for that language skips them (common for
86
+ non-source files, generated files it doesn't recognize, or files outside its
87
+ project graph). Adds those source files to the SQLite documents table
88
+ directly so source-fact queries can see them.
89
+
90
+ Output to check: the count and list of files added. If a file you expected is
91
+ still absent, it means the indexer skip reason is not one `augment-sources`
92
+ covers — investigate the specific file rather than re-running the command.
93
+
94
+ ## capability-matrix
95
+
96
+ ```bash
97
+ scip-query capability-matrix
98
+ ```
99
+
100
+ Deprecated alias for `capabilities --matrix`. If you see this in an older
101
+ script or muscle memory, prefer `scip-query capabilities --matrix` directly —
102
+ same output, current name.
103
+
104
+ ## uninstall
105
+
106
+ ```bash
107
+ scip-query uninstall
108
+ ```
109
+
110
+ When: the user wants scip-query's footprint removed from the repo —
111
+ decommissioning, or before trying an alternative tool. Removes
112
+ scip-query-owned skill links, project hooks, and managed agent setup blocks.
113
+
114
+ Output to check: confirm the removal list covers every artifact `setup`
115
+ reported writing (skills, hooks, agent guidance blocks). Anything `setup`
116
+ wrote that `uninstall` doesn't list as removed needs manual follow-up — for
117
+ example config files (`.scipquery.json`) and the SQLite index are
118
+ intentionally left in place since they may hold data the user still wants;
119
+ tell the user explicitly if they want those gone too.
@@ -0,0 +1,24 @@
1
+ # Per-repo triage (once, after setup)
2
+
3
+ New repos surface standing findings that are intentional. Encode them once so
4
+ every later gate run is precise, instead of re-litigating the same findings
5
+ every time `diff-gate` runs.
6
+
7
+ 1. Sweep initial findings with `health --json` and `diff-gate --json`. For
8
+ each accepted finding, run `suppress <id> --reason <why>` — reasons are
9
+ required and audited.
10
+ 2. Declare files that legitimately change together in `.scipquery.json`
11
+ `declaredCouplings`.
12
+ 3. List dated snapshot docs (benchmarks, validation ledgers, historical
13
+ plans/reviews) in `docs.snapshotPaths` so doc checks skip them with a
14
+ labeled exclusion instead of recurring findings.
15
+ 4. Seed `coverageContracts` for every hand-maintained enumeration (policy
16
+ maps, capability tables, registry lists) so enumeration rot fails the gate
17
+ the day it happens.
18
+ 5. Set a hygiene cadence: run the twin-drift and claim scenarios in
19
+ `scip-audit` after
20
+ large refactor campaigns or quarterly. The gate only sees diffs; these
21
+ lenses see accumulated state.
22
+
23
+ Complete only when a clean working tree produces a finding-free `diff-gate`
24
+ and every suppression carries a reason a reviewer would accept.
@@ -1,52 +1,52 @@
1
1
  ---
2
2
  name: scip-verify
3
- description: Verify finished code, docs, config, refactor, cleanup, setup, React, Vue, or API changes with scip-query. Use before committing or when the user asks whether a change is wired, safe, regression-free, or ready.
3
+ description: Use after finishing a change and before committing: reindex, run the postchecks matching what you edited, diff-gate, and try to refute your own PASS — including verifying that a React or Vue refactor actually achieved the reuse it claimed. Also use to calibrate detector precision once a repo is already set up and its findings look too noisy or too clean. For an existing status claim with no just-finished diff, use scip-audit instead. Distinct from the `review` skill: that one reviews a branch against coding standards and the originating spec; this one runs reindex, routed postchecks and diff-gate on a change you just made.
4
4
  commands:
5
- - template: 'scip-query doctor'
6
- when: 'Prove the workspace: index freshness and dependency readiness.'
7
- - template: 'scip-query status --capabilities'
8
- when: 'Prove the workspace: which evidence and verification capabilities are available.'
9
- - template: 'scip-query diff-impact --json'
10
- when: 'Assess the diff: changed symbols and downstream consumers.'
11
- - template: 'scip-query diff-gate --json'
12
- when: 'Run the gate: the primary blocker for diff-specific risk.'
13
- - template: 'scip-query health --baseline'
14
- when: 'Check health: compare findings against the committed baseline.'
15
- - template: 'scip-query doc-drift --json --full'
16
- when: 'Check docs: run when docs, AGENTS.md, or command surfaces changed.'
5
+ - template: "scip-query doctor"
6
+ when: "Prove the workspace and configuration are usable before trusting evidence."
7
+ - template: "scip-query diff-impact --json"
8
+ when: "Compare changed files, symbols, and affected consumers with the intended diff."
9
+ - template: "scip-query diff-gate --json --compact"
10
+ when: "Run the complete finished-diff gate without blind line truncation."
17
11
  ---
18
12
 
19
13
  # scip-verify
20
14
 
21
- Use this skill to verify the actual diff. Verification is the evidence pass that proves the workspace can answer, the index is current, the changed symbols and files match intent, routed postchecks ran, and diff-gate findings are resolved.
15
+ ## Purpose
22
16
 
23
- Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
17
+ Verification is the evidence pass that proves a finished change is wired,
18
+ safe, and regression-free: the workspace can answer, the index is current,
19
+ the changed symbols and files match intent, every postcheck the edit calls
20
+ for ran, and diff-gate findings are resolved. A PASS is the verdict nobody
21
+ re-checks, so the flow below ends by trying to break it before it's claimed.
22
+
23
+ Calibration is the companion problem: a detector tuned on one codebase's
24
+ conventions can be precise there and noisy elsewhere, so before any of the
25
+ above output is trusted on a repo, someone has to find out which it is.
26
+
27
+ Load shared mechanics — command syntax, the evidence contract, diff-gate's
24
28
 
25
29
  <!-- BEGIN GENERATED SKILL COMMANDS -->
26
30
  ## Commands for this skill
27
31
 
28
- | Command | Purpose | When |
29
- | --- | --- | --- |
30
- | `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | Prove the workspace: index freshness and dependency readiness. |
31
- | `scip-query status --capabilities` | Show index status for this project | Prove the workspace: which evidence and verification capabilities are available. |
32
- | `scip-query diff-impact --json` | Compute changed symbols and downstream consumers from current git diff | Assess the diff: changed symbols and downstream consumers. |
33
- | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | Run the gate: the primary blocker for diff-specific risk. |
34
- | `scip-query health --baseline` | Composite codebase health report with prioritized action list | Check health: compare findings against the committed baseline. |
35
- | `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Check docs: run when docs, AGENTS.md, or command surfaces changed. |
32
+ | Command | Purpose | Returns | Coverage | When |
33
+ | --- | --- | --- | --- | --- |
34
+ | `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | config, freshness, dependency, and capability diagnostics | `complete` | Prove the workspace and configuration are usable before trusting evidence. |
35
+ | `scip-query diff-impact --json` | Compute changed symbols and downstream consumers from current git diff | changed symbols, downstream consumer identities, and impact paths | `bounded` | Compare changed files, symbols, and affected consumers with the intended diff. |
36
+ | `scip-query diff-gate --json --compact` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | blocking findings with check id, message, and remediation; advisory findings; root-cause groups; changed file and symbol counts; process exit status (1 when blocking findings exist) | `bounded` | Run the complete finished-diff gate without blind line truncation. |
36
37
 
37
38
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
39
  <!-- END GENERATED SKILL COMMANDS -->
40
+ ten checks, detector-precision tiers — from `_shared`. This skill's own
41
+ shortlist covers `doctor`, `status`, `diff-impact`, `diff-gate`, `health`,
42
+ `doc-drift`, `self-audit`, `suppress`, and `config-validate`.
39
43
 
40
- ## Rules
41
-
42
- 1. Verify environment and index freshness before trusting graph facts.
43
- 2. Treat `scip-query diff-gate --json` as the primary blocker for diff-specific risk.
44
- 3. Run every postcheck that matches the actual edit, not only the check you expected to need.
45
- 4. If `.scipquery.json` or suppressions changed, run `scip-query config-validate`.
46
- 5. Prefer fixing findings. Suppress only intentional design, compatibility shims, framework entry points, or accepted false positives with a specific reason.
47
- 6. A PASS ends scrutiny, so it must survive refutation first: construct the cheapest checks that could still break this diff and run them before claiming PASS. A FAIL needs no refutation — report it with the evidence.
44
+ | Situation | Go to |
45
+ | --- | --- |
46
+ | You just finished editing and need to verify it before committing | Verify a finished change, below |
47
+ | Findings on this repo feel too noisy, too clean, or you're adopting scip-query in a new repo | [`references/calibrate-detectors.md`](references/calibrate-detectors.md) |
48
48
 
49
- ## Flow
49
+ ## Verify a finished change
50
50
 
51
51
  ### 1. Prove the workspace
52
52
 
@@ -55,7 +55,9 @@ scip-query doctor
55
55
  scip-query status --capabilities
56
56
  ```
57
57
 
58
- This step is complete only when missing indexers, invalid config, stale indexes, or unavailable relevant capabilities are fixed or reported as blockers.
58
+ Complete only when missing indexers, invalid config, stale indexes, or
59
+ unavailable relevant capabilities are fixed or reported as blockers. Verify
60
+ environment and index freshness before trusting any graph fact that follows.
59
61
 
60
62
  ### 2. Assess the diff
61
63
 
@@ -63,15 +65,40 @@ This step is complete only when missing indexers, invalid config, stale indexes,
63
65
  scip-query diff-impact --json
64
66
  ```
65
67
 
66
- Compare changed files, changed symbols, and downstream consumers with the intended work. Unexpected blast radius is a finding even if later gates pass.
67
-
68
- This step is complete only when the diff shape is understood.
68
+ Compare changed files, changed symbols, and downstream consumers against the
69
+ intended work. An unexpected blast radius is itself a finding even if every
70
+ later gate passes. Complete only when the diff's shape is understood.
69
71
 
70
72
  ### 3. Run routed postchecks
71
73
 
72
- Use the postcheck table in the shared reference. Run all rows that apply to the change type.
74
+ Run every row that matches what the diff actually did — not only the check
75
+ you expected to need going in:
76
+
77
+ | Change made | Check |
78
+ | --- | --- |
79
+ | Extracted a helper or abstraction | `scip-query incomplete-migration` |
80
+ | Added a helper, module, component, hook, composable, or adapter | `scip-query recent-duplicates` (and `similar <symbol>`) |
81
+ | Added parameters, options, props, config flags, or option objects | `scip-query unused-params` |
82
+ | Added a wrapper, facade, forwarding layer, alias, or re-export | `scip-query wrapper-candidates`, `passthrough-candidates`, `redundant-reexports` |
83
+ | Added an interface, base class, adapter contract, or type alias | `scip-query stale-abstractions` |
84
+ | Changed schema, config, generated files, public contracts, command descriptors, or docs-backed behavior | `scip-query co-change <file>` and `doc-drift` |
85
+ | Deleted code | `scip-query cleanup-plan --verify` |
86
+ | Changed React components or hooks | the React commands in `_shared` |
87
+ | Changed Vue SFCs or composables | the Vue commands in `_shared` |
88
+
89
+ Add `--json --full` to any of these when an unbounded machine-readable result
90
+ is needed rather than the bounded default. This table is authoritative — the
91
+ shared reference links here instead of duplicating it, so don't assume a
92
+ different mapping. Complete only when each applicable postcheck has a result
93
+ and every actionable finding is fixed, accepted with evidence, or blocked by
94
+ a named constraint.
95
+
96
+ If `.scipquery.json` or a suppression file changed as part of the diff, also
97
+ run:
73
98
 
74
- This step is complete only when each applicable postcheck has a result and every actionable finding is fixed, accepted with evidence, or blocked by a named constraint.
99
+ ```bash
100
+ scip-query config-validate
101
+ ```
75
102
 
76
103
  ### 4. Run the gate
77
104
 
@@ -79,93 +106,119 @@ This step is complete only when each applicable postcheck has a result and every
79
106
  scip-query diff-gate --json
80
107
  ```
81
108
 
82
- If it reports findings, fix them or record the acceptance reason. If a suppression is needed:
109
+ This is the primary blocker for diff-specific risk: architecture regressions
110
+ plus echo, migration, coordination, doc-drift, unused-param, and new-dead
111
+ candidates, exiting 1 on blocking findings. Fix findings or record the
112
+ acceptance reason. Prefer fixing a real finding over suppressing it — only
113
+ suppress intentional design, compatibility shims, framework entry points, or
114
+ an accepted false positive, and only with a specific reason:
83
115
 
84
116
  ```bash
85
117
  scip-query suppress <id> --reason "<specific reason>"
86
118
  ```
87
119
 
88
120
  `suppress` writes one file per suppression under `.scipquery/suppressions/` —
89
- commit that file with your change. Suppressing is a real decision, not a
90
- bypass: every suppression counts against that detector's precision in
91
- `scip-query effectiveness`, while a rerun against the same resolved comparison
92
- base earns verified credit. After `HEAD` advances, a clean run replays that
93
- stored base automatically. Prefer the fix whenever the finding is real.
94
-
95
- This step is complete only when `diff-gate` passes or every finding has a durable explanation.
121
+ commit it with the change that produced it. Suppressing is a real decision,
122
+ not a bypass: every suppression counts against that detector's precision in
123
+ `scip-query effectiveness`. A rerun against the same resolved comparison base
124
+ earns verified credit instead; once `HEAD` advances, a clean run replays that
125
+ stored base automatically. Complete only when `diff-gate` passes or every
126
+ finding has a durable explanation.
96
127
 
97
- ### 5. Check health, docs, and config when relevant
128
+ ### 5. Check health, docs, and generated surfaces when relevant
98
129
 
99
- Run:
130
+ Run
100
131
 
101
132
  ```bash
102
133
  scip-query health --baseline
103
134
  ```
104
135
 
105
- when a committed baseline exists. If docs, AGENTS.md, CLAUDE.md, command docs, generated docs, or skill instructions changed, run:
136
+ when a committed baseline exists. If docs, AGENTS.md, CLAUDE.md, command
137
+ docs, generated docs, or skill instructions changed, run
106
138
 
107
139
  ```bash
108
140
  scip-query doc-drift --json --full
109
141
  ```
110
142
 
111
- If the repository provides a self-audit command and the change touches generated command surfaces, analyzers, or evidence-labeling behavior, also run:
143
+ and read the returned stale-doc candidates against the diff.
144
+
145
+ If the change touches generated command surfaces, detectors/analyzers, or
146
+ evidence-labeling behavior, also run
112
147
 
113
148
  ```bash
114
149
  scip-query self-audit
115
150
  ```
116
151
 
117
- This step is complete only when changed documentation and config surfaces are checked or explicitly out of scope.
152
+ It scores scip-query's own cheap evidence paths (source-fallback, regex)
153
+ against the best available semantic/compiler oracle on sampled symbols. Read
154
+ whether the surface you just changed still agrees with the oracle at the
155
+ sampled sites before trusting its output elsewhere in this flow — a
156
+ regression here means every downstream postcheck may be reading
157
+ degraded evidence, not just this one command.
118
158
 
119
- ### 6. Refute the PASS
159
+ Complete only when changed documentation and config surfaces are checked or
160
+ explicitly declared out of scope.
120
161
 
121
- A PASS is the verdict nobody re-checks — attack it before making it. Construct at least two refutation attempts and run the cheapest check that would expose each. Prefer executed probes (run the consumer's test, invoke the command, feed the edge input) over argued ones. Pick attacks that fit the diff:
162
+ ### 6. Refute the PASS
122
163
 
123
- - an unexercised consumer: a caller in `diff-impact` output whose tests did not run — run them, or trace the contract it depends on;
124
- - an unexercised input: an edge the changed code newly handles or newly rejects — execute it;
125
- - the intent gap: one case the stated goal implies that the diff does not visibly cover — find where it is handled or show it missing.
164
+ A PASS ends scrutiny, so attack it before making it. Construct at least two
165
+ refutation attempts and run the cheapest check that would expose each. Prefer
166
+ an executed probe — run the consumer's test, invoke the command, feed the
167
+ edge input — over an argued one. Pick attacks that fit the diff:
126
168
 
127
- Record every attempt; an attempt that breaks the diff converts the verdict to FAIL with a finding, and the attempt stays in the record either way.
169
+ - **Unexercised consumer** — take a caller from step 2's `diff-impact` output
170
+ whose tests did not run, and either run them or trace the contract it
171
+ depends on.
172
+ - **Unexercised input** — find an edge the changed code newly handles or
173
+ newly rejects, and execute it.
174
+ - **The intent gap** — find one case the stated goal implies that the diff
175
+ does not visibly cover, then show where it's handled or show it's missing.
128
176
 
129
- This step is complete only when every refutation attempt has an executed result.
177
+ Record every attempt. An attempt that breaks the diff converts the verdict to
178
+ FAIL with a finding; the attempt stays in the record either way. Complete
179
+ only when every refutation attempt has an executed result.
130
180
 
131
- ## Report
181
+ ### Report
132
182
 
133
- End with:
183
+ End with this fixed template:
134
184
 
135
185
  ```markdown
136
186
  Verification: PASS/FAIL — <n> postchecks, <m> refutation attempts, <k> broke
137
187
 
138
188
  Environment:
139
-
140
189
  - doctor:
141
190
  - status:
142
191
 
143
192
  Diff:
144
-
145
193
  - changed files/symbols:
146
194
  - unexpected blast radius:
147
195
 
148
196
  Postchecks:
149
-
150
197
  - <command>: <result>
151
198
 
152
199
  Gate:
153
-
154
200
  - `scip-query diff-gate --json`: <result>
155
201
 
156
- Health/docs/config:
157
-
202
+ Health/docs/self-audit:
158
203
  - <commands and results>
159
204
 
160
205
  Refutation attempts:
161
-
162
206
  - R1: <attack> → survived (evidence) | broke (finding)
163
207
 
164
208
  Remaining risk:
165
-
166
209
  - <accepted findings, unavailable capabilities, or checks not run>
167
210
  ```
168
211
 
169
- Do not claim ready-to-ship unless freshness is `fresh` after the final edit, diff-gate is passed or fully explained, and the PASS survived every refutation attempt.
212
+ Do not claim ready-to-ship unless index freshness is `fresh` after the final
213
+ edit, `diff-gate` is passed or fully explained, and the PASS survived every
214
+ refutation attempt.
215
+
216
+ ### Detector reliability for this flow
170
217
 
171
- - `dead`/`new-dead` correctly resolve `import type` consumers, tsconfig `paths` aliases, pnpm/npm/yarn workspace cross-package imports, and Vue `<script setup>` composables. The one residual gap is a same-named symbol reached only through a re-exporting barrel file in a workspace package; that shape self-labels `unconfirmed (cross-package ambiguous-name resolution gap)` in the finding — treat only that label as unconfirmed until `refs` agrees. See the Detector Reliability section in `../_shared/SKILL.md`.
218
+ `dead`/`new-dead` correctly resolve `import type` consumers, tsconfig
219
+ `paths` aliases, pnpm/npm/yarn workspace cross-package imports, and Vue
220
+ `<script setup>` composables — these are not sources of false positives. The
221
+ one residual gap is a same-named symbol reached only through a re-exporting
222
+ barrel file in a workspace package; that shape self-labels `unconfirmed
223
+ (cross-package ambiguous-name resolution gap)` in the finding, and only that
224
+ specific label should be treated as unconfirmed until `refs` agrees.
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "SCIP Verify"
3
- short_description: "Verify changes with SCIP diff gates"
4
- default_prompt: "Use $scip-verify to verify this change with reindexing, routed postchecks, and diff-gate."
3
+ short_description: "Verify a finished change before it ships"
4
+ default_prompt: "Use $scip-verify to confirm this change is wired, safe and regression-free before committing it."