scip-query 0.10.11 → 0.11.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 (374) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/{vendor/scip/LICENSE.scip → LICENSE} +1 -0
  3. package/README.md +168 -55
  4. package/dist/augment-vue-worker.js +1 -1
  5. package/dist/chunk-2VSDXOG5.js +2 -0
  6. package/dist/chunk-343O6EVV.js +2 -0
  7. package/dist/chunk-3KDUITBE.js +7 -0
  8. package/dist/chunk-3T2FNHIU.js +2 -0
  9. package/dist/chunk-3V6JQQM5.js +2 -0
  10. package/dist/chunk-5AAAEZ2Z.js +2 -0
  11. package/dist/chunk-6Q6OFLFQ.js +8 -0
  12. package/dist/chunk-6XA4LDHY.js +2 -0
  13. package/dist/chunk-75X52JTA.js +2 -0
  14. package/dist/{chunk-54KGX7EX.js → chunk-7HB3CZFD.js} +2 -2
  15. package/dist/chunk-7JZRFDCU.js +2 -0
  16. package/dist/chunk-7XL7J7PT.js +3 -0
  17. package/dist/chunk-ALHNAPS2.js +2 -0
  18. package/dist/{chunk-JATUZIEH.js → chunk-BDRBPG7Y.js} +2 -2
  19. package/dist/chunk-BN5SXXQS.js +40 -0
  20. package/dist/chunk-C4ICAIJ4.js +3 -0
  21. package/dist/{chunk-LSET2TXH.js → chunk-CMHYBXJB.js} +2 -2
  22. package/dist/{chunk-YWYFU2V3.js → chunk-DRPAQAFM.js} +6 -6
  23. package/dist/chunk-FERAXG6Y.js +72 -0
  24. package/dist/chunk-FLJJLSGB.js +2 -0
  25. package/dist/chunk-FXG3PHVW.js +9 -0
  26. package/dist/chunk-GCN2P4EJ.js +2 -0
  27. package/dist/chunk-GHXRVCIY.js +21 -0
  28. package/dist/chunk-GNG622H3.js +3 -0
  29. package/dist/chunk-H4LUPLEJ.js +2 -0
  30. package/dist/{chunk-BASVXNY3.js → chunk-H56MGERE.js} +4 -4
  31. package/dist/chunk-H7NSJ7L2.js +5 -0
  32. package/dist/chunk-HINMXZ6J.js +2 -0
  33. package/dist/chunk-HXXMPYEF.js +2 -0
  34. package/dist/{chunk-Z3YYR4OS.js → chunk-HZKMEXA3.js} +2 -2
  35. package/dist/chunk-IFSX6YVU.js +4 -0
  36. package/dist/chunk-ISLWJ4PY.js +10 -0
  37. package/dist/chunk-J5WVNZ6O.js +2 -0
  38. package/dist/chunk-K2HYR5A7.js +3 -0
  39. package/dist/chunk-K6UI6EBZ.js +2 -0
  40. package/dist/chunk-KJCDEDQW.js +2 -0
  41. package/dist/{chunk-Z4HICZGY.js → chunk-KKMOB3OJ.js} +2 -2
  42. package/dist/{chunk-YWOOQ4FF.js → chunk-KMVGRIO2.js} +2 -2
  43. package/dist/chunk-LWOOTRHC.js +2 -0
  44. package/dist/{chunk-EY43NV4M.js → chunk-LZNLRE4X.js} +17 -8
  45. package/dist/chunk-M2YXL62V.js +23 -0
  46. package/dist/chunk-MNEJYEHW.js +3 -0
  47. package/dist/chunk-MTDBHTSF.js +2 -0
  48. package/dist/{chunk-ZQDIXAF5.js → chunk-N2Z3CU7X.js} +2 -2
  49. package/dist/chunk-N7PNFLGY.js +2 -0
  50. package/dist/chunk-NAH5EAZS.js +6 -0
  51. package/dist/chunk-NBXK32I6.js +2 -0
  52. package/dist/chunk-NJJ7AS4F.js +2 -0
  53. package/dist/{chunk-FDEQIPPK.js → chunk-NLMRJ7SI.js} +2 -2
  54. package/dist/chunk-ODVITBYU.js +26 -0
  55. package/dist/chunk-ORBRX2QJ.js +2 -0
  56. package/dist/chunk-P36UR5II.js +2 -0
  57. package/dist/chunk-PYZZBIEU.js +3 -0
  58. package/dist/chunk-PZS6J5YG.js +16 -0
  59. package/dist/{chunk-LM5SHAN4.js → chunk-QARYU7R3.js} +2 -2
  60. package/dist/chunk-QJ3FK4TB.js +38 -0
  61. package/dist/chunk-QXGTGE2C.js +35 -0
  62. package/dist/chunk-QZ4JVECJ.js +2 -0
  63. package/dist/chunk-R3JY4EZ4.js +102 -0
  64. package/dist/{chunk-VOYOYC5T.js → chunk-R5336VHZ.js} +2 -2
  65. package/dist/chunk-RJMXSHKM.js +2 -0
  66. package/dist/chunk-STBXCPKY.js +5 -0
  67. package/dist/chunk-T2FQ4GHD.js +9 -0
  68. package/dist/chunk-TFWDJDGO.js +2 -0
  69. package/dist/chunk-TG7QSYCJ.js +2 -0
  70. package/dist/{chunk-FKCGBZAC.js → chunk-TTS75UF2.js} +5 -5
  71. package/dist/{chunk-BVRS7RKQ.js → chunk-U7I373V4.js} +2 -2
  72. package/dist/chunk-UIKLA3F5.js +2 -0
  73. package/dist/{chunk-P753MDDE.js → chunk-UMPNL7T6.js} +2 -2
  74. package/dist/chunk-URSSPS5H.js +2 -0
  75. package/dist/chunk-VGMUFW3J.js +2 -0
  76. package/dist/chunk-VXTNADIW.js +18 -0
  77. package/dist/chunk-VYF5HA76.js +2 -0
  78. package/dist/chunk-WFGOH2UI.js +43 -0
  79. package/dist/chunk-WGA5BBTA.js +4 -0
  80. package/dist/chunk-WIBFXSYB.js +6 -0
  81. package/dist/chunk-WPSS37EW.js +2 -0
  82. package/dist/chunk-WQHWIVA7.js +3 -0
  83. package/dist/chunk-WS3Z6W3M.js +65 -0
  84. package/dist/chunk-WXVGNFAO.js +2 -0
  85. package/dist/{chunk-6LJHXREW.js → chunk-WZLPXFZU.js} +2 -2
  86. package/dist/chunk-X4O6K47U.js +2 -0
  87. package/dist/chunk-X6OGDTQH.js +2 -0
  88. package/dist/chunk-XEMQUN3Z.js +20 -0
  89. package/dist/{chunk-7B6LP46R.js → chunk-XHWLNQVZ.js} +2 -2
  90. package/dist/chunk-XMR747CP.js +2 -0
  91. package/dist/chunk-Y6L4LXPG.js +2 -0
  92. package/dist/chunk-YCPASUCX.js +2 -0
  93. package/dist/chunk-YZXV3CU3.js +60 -0
  94. package/dist/chunk-ZEKBR4OK.js +10 -0
  95. package/dist/chunk-ZMGBWSFZ.js +2 -0
  96. package/dist/cli.js +462 -274
  97. package/dist/{config-types-BDIWAYzr.d.ts → config-types-BrHl3Bge.d.ts} +61 -1
  98. package/dist/{db-Djj3Nqrb.d.ts → db-_Bdx0E1W.d.ts} +1 -1
  99. package/dist/diff-gate-types-CG2YQ_ei.d.ts +4 -0
  100. package/dist/{frontend-behavior-evidence-BxKpKWUu.d.ts → frontend-behavior-evidence-EfM4_9bc.d.ts} +1 -1
  101. package/dist/{health-D5J42g4D.d.ts → health-BEZ1Rt0S.d.ts} +54 -2
  102. package/dist/index.d.ts +10 -70
  103. package/dist/index.js +2 -2
  104. package/dist/postinstall.js +1 -4
  105. package/dist/queries/affected.d.ts +2 -2
  106. package/dist/queries/affected.js +1 -1
  107. package/dist/queries/bottlenecks.d.ts +2 -2
  108. package/dist/queries/bottlenecks.js +1 -1
  109. package/dist/queries/by-kind.d.ts +2 -2
  110. package/dist/queries/by-kind.js +1 -1
  111. package/dist/queries/call-graph.d.ts +2 -2
  112. package/dist/queries/call-graph.js +1 -1
  113. package/dist/queries/change-surface.d.ts +2 -2
  114. package/dist/queries/change-surface.js +1 -1
  115. package/dist/queries/cleanup-plan.d.ts +2 -2
  116. package/dist/queries/cleanup-plan.js +1 -1
  117. package/dist/queries/co-change.d.ts +12 -2
  118. package/dist/queries/co-change.js +1 -1
  119. package/dist/queries/code.d.ts +2 -2
  120. package/dist/queries/code.js +1 -1
  121. package/dist/queries/complexity-hotspots.d.ts +7 -3
  122. package/dist/queries/complexity-hotspots.js +1 -1
  123. package/dist/queries/complexity.d.ts +42 -4
  124. package/dist/queries/complexity.js +1 -1
  125. package/dist/queries/convergence.d.ts +2 -2
  126. package/dist/queries/convergence.js +1 -1
  127. package/dist/queries/coupling.d.ts +2 -2
  128. package/dist/queries/coupling.js +1 -1
  129. package/dist/queries/cycles.d.ts +12 -3
  130. package/dist/queries/cycles.js +1 -1
  131. package/dist/queries/dataflow.d.ts +2 -2
  132. package/dist/queries/dataflow.js +1 -1
  133. package/dist/queries/dead.d.ts +3 -3
  134. package/dist/queries/dead.js +1 -1
  135. package/dist/queries/deep-chains.d.ts +2 -2
  136. package/dist/queries/deep-chains.js +1 -1
  137. package/dist/queries/deps.d.ts +2 -2
  138. package/dist/queries/deps.js +1 -1
  139. package/dist/queries/diff-gate.d.ts +65 -8
  140. package/dist/queries/diff-gate.js +1 -1
  141. package/dist/queries/diff-impact.d.ts +21 -3
  142. package/dist/queries/diff-impact.js +1 -1
  143. package/dist/queries/doc-drift.d.ts +29 -2
  144. package/dist/queries/doc-drift.js +1 -1
  145. package/dist/queries/drift.d.ts +15 -3
  146. package/dist/queries/drift.js +1 -1
  147. package/dist/queries/duplicate-bodies.d.ts +55 -0
  148. package/dist/queries/duplicate-bodies.js +2 -0
  149. package/dist/queries/extract-candidates.d.ts +2 -2
  150. package/dist/queries/extract-candidates.js +1 -1
  151. package/dist/queries/fan.d.ts +2 -2
  152. package/dist/queries/fan.js +1 -1
  153. package/dist/queries/files.d.ts +4 -3
  154. package/dist/queries/files.js +1 -1
  155. package/dist/queries/health.d.ts +3 -3
  156. package/dist/queries/health.js +1 -1
  157. package/dist/queries/hierarchy.d.ts +2 -2
  158. package/dist/queries/hierarchy.js +1 -1
  159. package/dist/queries/hotspots.d.ts +2 -2
  160. package/dist/queries/hotspots.js +1 -1
  161. package/dist/queries/imports.d.ts +2 -2
  162. package/dist/queries/imports.js +1 -1
  163. package/dist/queries/incomplete-migration.d.ts +3 -2
  164. package/dist/queries/incomplete-migration.js +1 -1
  165. package/dist/queries/index.d.ts +12 -7
  166. package/dist/queries/index.js +1 -1
  167. package/dist/queries/isolated.d.ts +2 -2
  168. package/dist/queries/isolated.js +1 -1
  169. package/dist/queries/locality-candidates.d.ts +2 -2
  170. package/dist/queries/locality-candidates.js +1 -1
  171. package/dist/queries/members.d.ts +2 -2
  172. package/dist/queries/members.js +1 -1
  173. package/dist/queries/methods.d.ts +2 -2
  174. package/dist/queries/methods.js +1 -1
  175. package/dist/queries/outline.d.ts +2 -2
  176. package/dist/queries/outline.js +1 -1
  177. package/dist/queries/passthrough-candidates.d.ts +11 -3
  178. package/dist/queries/passthrough-candidates.js +1 -1
  179. package/dist/queries/plan-context.d.ts +3 -2
  180. package/dist/queries/plan-context.js +1 -1
  181. package/dist/queries/react-component-duplicates.d.ts +7 -2
  182. package/dist/queries/react-component-duplicates.js +1 -1
  183. package/dist/queries/react-hook-candidates.d.ts +3 -3
  184. package/dist/queries/react-hook-candidates.js +1 -1
  185. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  186. package/dist/queries/react-large-component-pressure.js +1 -1
  187. package/dist/queries/recent-duplicates.d.ts +2 -2
  188. package/dist/queries/recent-duplicates.js +1 -1
  189. package/dist/queries/redundant-reexports.d.ts +2 -2
  190. package/dist/queries/redundant-reexports.js +1 -1
  191. package/dist/queries/refs.d.ts +2 -2
  192. package/dist/queries/refs.js +1 -1
  193. package/dist/queries/self-audit.d.ts +9 -4
  194. package/dist/queries/self-audit.js +1 -1
  195. package/dist/queries/similar-chains.d.ts +2 -2
  196. package/dist/queries/similar-chains.js +1 -1
  197. package/dist/queries/similar-files.d.ts +2 -2
  198. package/dist/queries/similar-files.js +1 -1
  199. package/dist/queries/similar-signatures.d.ts +17 -10
  200. package/dist/queries/similar-signatures.js +1 -1
  201. package/dist/queries/similar.d.ts +85 -17
  202. package/dist/queries/similar.js +1 -1
  203. package/dist/queries/slice.d.ts +2 -2
  204. package/dist/queries/slice.js +1 -1
  205. package/dist/queries/stale-abstractions.d.ts +2 -2
  206. package/dist/queries/stale-abstractions.js +1 -1
  207. package/dist/queries/stats.d.ts +2 -2
  208. package/dist/queries/surface.d.ts +2 -2
  209. package/dist/queries/surface.js +1 -1
  210. package/dist/queries/symbols.d.ts +2 -2
  211. package/dist/queries/symbols.js +1 -1
  212. package/dist/queries/system.d.ts +2 -2
  213. package/dist/queries/system.js +1 -1
  214. package/dist/queries/trace.d.ts +2 -2
  215. package/dist/queries/trace.js +1 -1
  216. package/dist/queries/twin-ab.d.ts +55 -0
  217. package/dist/queries/twin-ab.js +2 -0
  218. package/dist/queries/twin-drift.d.ts +97 -0
  219. package/dist/queries/twin-drift.js +2 -0
  220. package/dist/queries/unused-imports.d.ts +2 -2
  221. package/dist/queries/unused-imports.js +1 -1
  222. package/dist/queries/unused-params.d.ts +2 -2
  223. package/dist/queries/unused-params.js +1 -1
  224. package/dist/queries/vue-component-duplicates.d.ts +7 -2
  225. package/dist/queries/vue-component-duplicates.js +1 -1
  226. package/dist/queries/vue-composable-candidates.d.ts +3 -3
  227. package/dist/queries/vue-composable-candidates.js +1 -1
  228. package/dist/queries/vue-large-view-pressure.d.ts +6 -2
  229. package/dist/queries/vue-large-view-pressure.js +1 -1
  230. package/dist/queries/wrapper-candidates.d.ts +2 -2
  231. package/dist/queries/wrapper-candidates.js +1 -1
  232. package/dist/reindex-worker.js +9 -9
  233. package/dist/reindex.d.ts +30 -4
  234. package/dist/reindex.js +19 -19
  235. package/dist/runtime.d.ts +12 -6
  236. package/dist/runtime.js +2 -2
  237. package/dist/{scip-cli-CnK9Va4O.d.ts → scip-cli-C7cg4ZHR.d.ts} +1 -1
  238. package/dist/symbol-types-DaoeXKUt.d.ts +66 -0
  239. package/docs/AGENT_GUIDE.md +20 -18
  240. package/docs/AI_FAILURE_MODES.md +36 -13
  241. package/docs/API.md +1 -1
  242. package/docs/COMMAND_REFERENCE.md +57 -14
  243. package/docs/DETECTOR_GUIDE.md +20 -3
  244. package/docs/REGEX_POLICY.md +34 -0
  245. package/docs/analyzer-inventory.md +48 -3
  246. package/docs/analyzer-validation-ledger.md +41 -6
  247. package/package.json +23 -7
  248. package/scripts/build-scip-windows.mjs +10 -7
  249. package/scripts/evidence-product-contract.mjs +197 -0
  250. package/skills/_shared/SKILL.md +243 -0
  251. package/skills/_shared/agents/openai.yaml +4 -0
  252. package/skills/scip-api-impact/SKILL.md +55 -71
  253. package/skills/scip-claim-audit/SKILL.md +105 -0
  254. package/skills/scip-claim-audit/agents/openai.yaml +4 -0
  255. package/skills/scip-cleanup-audit/SKILL.md +122 -0
  256. package/skills/scip-cleanup-audit/agents/openai.yaml +4 -0
  257. package/skills/scip-cleanup-improve/SKILL.md +84 -0
  258. package/skills/scip-cleanup-improve/agents/openai.yaml +4 -0
  259. package/skills/scip-concrete-plan/SKILL.md +181 -0
  260. package/skills/scip-concrete-plan/agents/openai.yaml +4 -0
  261. package/skills/scip-conductor/SKILL.md +133 -0
  262. package/skills/scip-conductor/agents/openai.yaml +4 -0
  263. package/skills/scip-debug/SKILL.md +60 -58
  264. package/skills/scip-diagram/SKILL.md +64 -94
  265. package/skills/scip-directory-architecture/SKILL.md +65 -107
  266. package/skills/scip-doc-reconcile/SKILL.md +56 -67
  267. package/skills/scip-explore/SKILL.md +78 -210
  268. package/skills/scip-hyper-optimization/SKILL.md +124 -198
  269. package/skills/scip-integrity-audit/SKILL.md +103 -0
  270. package/skills/scip-integrity-audit/agents/openai.yaml +4 -0
  271. package/skills/scip-language-playbook/SKILL.md +56 -326
  272. package/skills/scip-maintainability/SKILL.md +80 -219
  273. package/skills/scip-probe-reachability/SKILL.md +92 -0
  274. package/skills/scip-probe-reachability/agents/openai.yaml +4 -0
  275. package/skills/scip-query/SKILL.md +108 -124
  276. package/skills/scip-react-maintainability/SKILL.md +64 -82
  277. package/skills/scip-setup/SKILL.md +121 -0
  278. package/skills/scip-setup/agents/openai.yaml +4 -0
  279. package/skills/scip-tla-model-system/SKILL.md +138 -0
  280. package/skills/scip-tla-model-system/agents/openai.yaml +4 -0
  281. package/skills/scip-triage-issue/SKILL.md +53 -41
  282. package/skills/scip-twin-drift/SKILL.md +107 -0
  283. package/skills/scip-twin-drift/agents/openai.yaml +4 -0
  284. package/skills/scip-verify/SKILL.md +70 -88
  285. package/skills/scip-vue-maintainability/SKILL.md +67 -94
  286. package/dist/chunk-2KHTSEIL.js +0 -102
  287. package/dist/chunk-3VD3JMK2.js +0 -2
  288. package/dist/chunk-4UZO3XCV.js +0 -35
  289. package/dist/chunk-5GOLFJEO.js +0 -8
  290. package/dist/chunk-5OST6GYB.js +0 -2
  291. package/dist/chunk-65AU3HFZ.js +0 -2
  292. package/dist/chunk-6GN7FXCH.js +0 -2
  293. package/dist/chunk-6IR2AOBM.js +0 -7
  294. package/dist/chunk-6JRV4MY2.js +0 -23
  295. package/dist/chunk-6QSOCTZT.js +0 -18
  296. package/dist/chunk-72KY2ZFO.js +0 -2
  297. package/dist/chunk-7GO4EQF5.js +0 -2
  298. package/dist/chunk-7IVSJJZU.js +0 -7
  299. package/dist/chunk-7TWLSZK5.js +0 -2
  300. package/dist/chunk-A536TEU4.js +0 -3
  301. package/dist/chunk-AVWPHM2Q.js +0 -4
  302. package/dist/chunk-B32FX5KB.js +0 -2
  303. package/dist/chunk-B6MJ5VQV.js +0 -2
  304. package/dist/chunk-BFXPG2VN.js +0 -2
  305. package/dist/chunk-BSN22NRK.js +0 -9
  306. package/dist/chunk-BZ53S4ZN.js +0 -2
  307. package/dist/chunk-C5CTSJ6X.js +0 -6
  308. package/dist/chunk-CO5GJRP7.js +0 -2
  309. package/dist/chunk-CW5YFOCP.js +0 -5
  310. package/dist/chunk-DS6QEB3G.js +0 -5
  311. package/dist/chunk-E35O7UCB.js +0 -2
  312. package/dist/chunk-EXDQ35NN.js +0 -2
  313. package/dist/chunk-FAYI6KZ5.js +0 -2
  314. package/dist/chunk-FFVIFETB.js +0 -2
  315. package/dist/chunk-FG4NT6VY.js +0 -2
  316. package/dist/chunk-FXNWFMKW.js +0 -25
  317. package/dist/chunk-G5UPYQGL.js +0 -4
  318. package/dist/chunk-GQBMH2TQ.js +0 -2
  319. package/dist/chunk-GRJY65YT.js +0 -2
  320. package/dist/chunk-HF25DFSC.js +0 -3
  321. package/dist/chunk-HHN2B5KA.js +0 -2
  322. package/dist/chunk-IHUETYFW.js +0 -2
  323. package/dist/chunk-JCLDUKT6.js +0 -38
  324. package/dist/chunk-JGN2ZFJR.js +0 -2
  325. package/dist/chunk-JM72FNGA.js +0 -2
  326. package/dist/chunk-JME7OWD3.js +0 -2
  327. package/dist/chunk-KDFONWTW.js +0 -40
  328. package/dist/chunk-LPL4MA6R.js +0 -2
  329. package/dist/chunk-LZHUWKGD.js +0 -2
  330. package/dist/chunk-M4COR2H6.js +0 -2
  331. package/dist/chunk-NOJAM5ZV.js +0 -21
  332. package/dist/chunk-O6ZH6C6Y.js +0 -2
  333. package/dist/chunk-OBGRLXWF.js +0 -3
  334. package/dist/chunk-OLTESY4K.js +0 -3
  335. package/dist/chunk-ONPCQ2PM.js +0 -6
  336. package/dist/chunk-P4KYUPBD.js +0 -4
  337. package/dist/chunk-P5RYBRIO.js +0 -4
  338. package/dist/chunk-P7AL7Y37.js +0 -2
  339. package/dist/chunk-PFOCOG57.js +0 -2
  340. package/dist/chunk-QLAUCRDJ.js +0 -2
  341. package/dist/chunk-QPU7EXAW.js +0 -2
  342. package/dist/chunk-QYB5P7GL.js +0 -2
  343. package/dist/chunk-RNM6LMCF.js +0 -2
  344. package/dist/chunk-RVWSAMTT.js +0 -2
  345. package/dist/chunk-TK7O5ER5.js +0 -3
  346. package/dist/chunk-TQ5W2H3S.js +0 -4
  347. package/dist/chunk-USPV3T5K.js +0 -2
  348. package/dist/chunk-UUBMFL3F.js +0 -59
  349. package/dist/chunk-VCQYSG2M.js +0 -10
  350. package/dist/chunk-VUKC6F77.js +0 -20
  351. package/dist/chunk-W2CBNBEL.js +0 -71
  352. package/dist/chunk-W6BVEKYC.js +0 -3
  353. package/dist/chunk-WUCEKFQC.js +0 -3
  354. package/dist/chunk-XUGQU7PM.js +0 -41
  355. package/dist/chunk-Y5NBHMQX.js +0 -2
  356. package/dist/chunk-YCOFCT4B.js +0 -2
  357. package/dist/chunk-YZA6PPZL.js +0 -3
  358. package/skills/concrete-plan/SKILL.md +0 -372
  359. package/skills/concrete-plan/agents/openai.yaml +0 -4
  360. package/skills/scip-adoption/SKILL.md +0 -122
  361. package/skills/scip-adoption/agents/openai.yaml +0 -4
  362. package/skills/scip-ai-cleanup/SKILL.md +0 -153
  363. package/skills/scip-ai-cleanup/agents/openai.yaml +0 -4
  364. package/skills/scip-debloat/SKILL.md +0 -439
  365. package/skills/scip-debloat/agents/openai.yaml +0 -4
  366. package/skills/scip-health-audit/SKILL.md +0 -162
  367. package/skills/scip-health-audit/agents/openai.yaml +0 -4
  368. package/skills/scip-health-improve/SKILL.md +0 -155
  369. package/skills/scip-health-improve/agents/openai.yaml +0 -4
  370. package/skills/scip-query-setup/SKILL.md +0 -170
  371. package/skills/scip-query-setup/agents/openai.yaml +0 -3
  372. package/vendor/scip/README.md +0 -6
  373. package/vendor/scip/win32-arm64/scip.exe +0 -0
  374. package/vendor/scip/win32-x64/scip.exe +0 -0
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: scip-concrete-plan
3
+ description: Plan code changes with scip-query evidence and testable design. Use for non-trivial implementation, refactor, migration, API, or bug-fix plans before editing code; require source citations, reuse audit, test seams, side-effect boundaries, contracts, and verification.
4
+ commands:
5
+ - template: "scip-query status --capabilities"
6
+ when: "Discover: confirm the index is fresh before citing graph facts."
7
+ - template: "scip-query plan-context <target>"
8
+ when: "Discover: anchor the plan with pre-edit context for the target."
9
+ - template: "scip-query refs <symbol>"
10
+ when: "Reuse audit: find existing consumers before proposing a new unit."
11
+ - template: "scip-query code <symbol>"
12
+ when: "Reuse audit: read source before citing a behavior claim."
13
+ - template: "scip-query trace <symbol>"
14
+ when: "Verify the plan: rerun source-producing context for cited targets."
15
+ ---
16
+
17
+ # Concrete Plan
18
+
19
+ Use this skill to write an implementation plan that another agent can execute without guessing. A concrete plan is a dated Markdown checklist whose code claims come from scip-query evidence and whose design makes the intended behavior easy to test before it is easy to ship.
20
+
21
+ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md) when you need lookup tips, command families, postchecks, or subagent rules.
22
+
23
+ <!-- BEGIN GENERATED SKILL COMMANDS -->
24
+ ## Commands for this skill
25
+
26
+ | Command | Purpose | When |
27
+ | --- | --- | --- |
28
+ | `scip-query status --capabilities` | Show index status for this project | Discover: confirm the index is fresh before citing graph facts. |
29
+ | `scip-query plan-context <target>` | Pre-edit planning context for a symbol, file, or module | Discover: anchor the plan with pre-edit context for the target. |
30
+ | `scip-query refs <symbol>` | Find all files referencing a symbol | Reuse audit: find existing consumers before proposing a new unit. |
31
+ | `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Reuse audit: read source before citing a behavior claim. |
32
+ | `scip-query trace <symbol>` | Trace a symbol: definition + all references | Verify the plan: rerun source-producing context for cited targets. |
33
+
34
+ Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
35
+ <!-- END GENERATED SKILL COMMANDS -->
36
+
37
+ ## Rules
38
+
39
+ 1. Start with `scip-query status --capabilities`; reindex only when freshness is `stale`, `missing`, or `unknown`.
40
+ 2. Anchor the plan with `scip-query plan-context <target>`. If the target is not indexed, record that fact and use scip-query for every code-adjacent claim it can answer.
41
+ 3. Put the plan in `docs/plans/YYYY-MM-DD-<short-name>.md`.
42
+ 4. Every code step includes a `Source` field naming the scip-query command that produced the path, line range, and behavior claim.
43
+ 5. Every behavior-changing step includes a testability design: test seam, injected dependencies, pure core, side-effect boundary, and validation.
44
+ 6. Do not propose a new helper, wrapper, type, parameter, config flag, component, hook, or module until the reuse audit proves reuse or extension is not the better move.
45
+
46
+ ## Planning Terms
47
+
48
+ A reuse audit is the part of a plan that proves a proposed new symbol, file, option, wrapper, or contract is needed; what makes it useful is that it ties the new shape to existing definitions, consumers, and rejected extension points.
49
+
50
+ A test seam is the entry point a test can call to prove a behavior without replaying the whole product path; what makes it valuable in a plan is that it names the exact unit or boundary where correctness will be observed.
51
+
52
+ A side-effect boundary is the edge where deterministic program decisions meet files, processes, clocks, networks, databases, or other external capabilities; what makes it important is that failures and fakes can be isolated there while core decisions stay easy to test.
53
+
54
+ A contract is the stable promise one code unit exposes to another, including accepted inputs, returned outputs, errors, timing expectations, and side effects that callers may rely on.
55
+
56
+ ## Workflow
57
+
58
+ ### 1. Discover
59
+
60
+ Run:
61
+
62
+ ```bash
63
+ scip-query status --capabilities
64
+ scip-query plan-context <target>
65
+ ```
66
+
67
+ Use the shared reference for follow-up commands. Fill three gates before designing:
68
+
69
+ ```markdown
70
+ ## Goal
71
+ What the user is trying to accomplish and what done looks like for them.
72
+
73
+ ## Current State
74
+ The affected end-to-end flow, with scip-query citations for entry points, callers, data flow, dependencies, downstream impact, and non-obvious invariants.
75
+
76
+ ## Reuse Audit
77
+ For every new symbol or file being considered: reuse target, extension target, or evidence-backed reason new code is justified.
78
+ ```
79
+
80
+ This step is complete only when the plan can explain the current flow, its consumers, and every proposed new unit's reuse decision with citations.
81
+
82
+ ### 2. Shape for Tests
83
+
84
+ Before writing implementation phases, add:
85
+
86
+ ```markdown
87
+ ## Testability Design
88
+
89
+ | Behavior | Test seam | Dependencies to inject | Pure core | Side-effect shell | Contract |
90
+ | --- | --- | --- | --- | --- | --- |
91
+ | <behavior> | <test entry point> | <clock/db/http/logger/etc.> | <calculation/decision function> | <I/O wrapper> | <small interface or call shape> |
92
+ ```
93
+
94
+ Plan the code so tests can call the pure core directly and exercise the side-effect shell with injected replacements. Prefer this shape:
95
+
96
+ 1. Parse and validate at the boundary.
97
+ 2. Pass domain data and injected dependencies into a small orchestrator.
98
+ 3. Put calculations, filtering, selection, formatting decisions, and state transitions in pure functions.
99
+ 4. Keep database, network, filesystem, clock, randomness, logging, email, and payment calls in thin side-effect shells.
100
+ 5. Depend on small contracts at boundaries; avoid broad option objects, booleans that hide behavior, and wrappers that merely forward.
101
+
102
+ This step is complete only when every changed behavior has a named test seam and the plan makes clear which logic can be tested without real external services.
103
+
104
+ ### 3. Design the Checklist
105
+
106
+ Write phases in execution order. Keep each phase deployable or explicitly mark why it is not. Use this step format:
107
+
108
+ ```markdown
109
+ ### N.M - Imperative title
110
+
111
+ - [ ] **File**: `path/to/file.ts:LINE-LINE`
112
+ - **Source**: `scip-query <command>`
113
+ - **What**: Current behavior verified from source.
114
+ - **Change**: Exact edit to make.
115
+ - **Testability**:
116
+ - Test seam:
117
+ - Injected dependencies:
118
+ - Pure core:
119
+ - Side-effect shell:
120
+ - Contract:
121
+ - **Validation**: Targeted test, smoke command, or manual check that proves the behavior.
122
+ - **Why**: Why this step is needed and why this order is safe.
123
+ ```
124
+
125
+ This step is complete only when no checklist item says "update this file" without exact current behavior, target behavior, and validation.
126
+
127
+ ### 4. Stress-Test
128
+
129
+ Apply these lenses to every phase. Add or change steps until each answer is concrete:
130
+
131
+ | Lens | Plan must answer |
132
+ | --- | --- |
133
+ | Purpose | Why does the current code exist, and what invariant must survive? |
134
+ | Blast radius | Which direct and transitive consumers move with this change? |
135
+ | Valid intermediate state | Would the project still work after only this phase? |
136
+ | Reversibility | Is this a one-way or two-way door, and what rollback exists? |
137
+ | Failure | What happens when I/O, external APIs, malformed data, retries, or crashes occur? |
138
+ | Concurrency | What shared state can be touched twice or out of order? |
139
+ | Boundaries | Who can call this entry point, and where is input validated? |
140
+ | Data integrity | What existing data, generated artifacts, or persisted contracts are affected? |
141
+ | Observability | Can a maintainer diagnose failures from logs/errors without rereading the source? |
142
+ | Human experience | What would surprise, confuse, or block a real user? |
143
+ | Reuse | Does existing code already solve this problem or most of it? |
144
+ | Testability | Are dependencies injectable, logic pure where practical, concerns separated, and contracts small? |
145
+
146
+ This step is complete only when every discovered gap has either a new plan step or a written reason it is accepted.
147
+
148
+ ### 5. Verify the Plan
149
+
150
+ Run or delegate phase-by-phase reference checks. Each verifier confirms:
151
+
152
+ - every path exists;
153
+ - every line range is still within about five lines;
154
+ - every behavior claim matches source;
155
+ - every new unit has reuse evidence;
156
+ - every behavior-changing step has a validation command and testability design.
157
+
158
+ Then rerun the source-producing context for the cited targets:
159
+
160
+ ```bash
161
+ scip-query plan-context <target>
162
+ ```
163
+
164
+ Use the shared reference for subagent briefing text when delegating.
165
+
166
+ This step is complete only when stale references are fixed and every phase has a validation path.
167
+
168
+ ## Output Shape
169
+
170
+ The plan file contains:
171
+
172
+ 1. Title and date.
173
+ 2. Goal.
174
+ 3. Current State.
175
+ 4. Reuse Audit.
176
+ 5. Testability Design.
177
+ 6. Design Phases.
178
+ 7. Stress-Test Findings.
179
+ 8. Execution Order and deployable phase notes.
180
+ 9. Ship Order with one-way doors flagged.
181
+ 10. Summary of files to create, edit, delete, and verify.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Concrete Plan"
3
+ short_description: "SCIP-grounded implementation plans"
4
+ default_prompt: "Use $scip-concrete-plan to create a SCIP-grounded implementation plan for this change."
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: scip-conductor
3
+ description: Plan and conduct multi-step engineering programs like a skeptical principal engineer. Use for writing executable multi-phase plans, delegating implementation, reviewing another agent's work, or carrying a large change end to end with verification at every handoff.
4
+ commands:
5
+ - template: "scip-query plan-context <target>"
6
+ when: "Anchor each phase's step before delegating it."
7
+ - template: "scip-query diff-gate --json"
8
+ when: "Verify a handoff before accepting it and before closing the program."
9
+ - template: "scip-query health --json"
10
+ when: "Pre-register or check a program-level health benchmark."
11
+ ---
12
+
13
+ # scip-conductor
14
+
15
+ This skill is how to run a *program* of work — planning, delegation, review,
16
+ and closure — not how to write one change plan (use a dedicated planning
17
+ skill such as `scip-concrete-plan` for individual changes when one is available).
18
+
19
+ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
20
+
21
+ <!-- BEGIN GENERATED SKILL COMMANDS -->
22
+ ## Commands for this skill
23
+
24
+ | Command | Purpose | When |
25
+ | --- | --- | --- |
26
+ | `scip-query plan-context <target>` | Pre-edit planning context for a symbol, file, or module | Anchor each phase's step before delegating it. |
27
+ | `scip-query diff-gate --json` | Gate the current diff: echo candidates, incomplete migrations, missing co-change partners, unedited twin partners (advisory), uncited doc updates, unused params, new dead symbols; exit 1 on blocking findings | Verify a handoff before accepting it and before closing the program. |
28
+ | `scip-query health --json` | Composite codebase health report with prioritized action list | Pre-register or check a program-level health benchmark. |
29
+
30
+ Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
31
+ <!-- END GENERATED SKILL COMMANDS -->
32
+
33
+ ## The Three Laws
34
+
35
+ 1. **A green result you have never seen fail is unverified.** Applies to
36
+ tests, gates, reports from other agents, and your own checks. (Where
37
+ available, `scip-integrity-audit` is the same law aimed at code.)
38
+ 2. **A plan is a contract for a less-capable executor, not a note to self.**
39
+ If a competent-but-uninspired agent could not execute a step without
40
+ guessing, the step is not finished being written.
41
+ 3. **Nothing is silent.** Every finding, deviation, and shortcut is either
42
+ fixed or written down with a reason someone else would accept. 0%
43
+ silent is the invariant; "fixed everything" is not.
44
+
45
+ ## Writing the Plan
46
+
47
+ - **Goal states what DONE MEANS falsifiably** — a command someone can run
48
+ and a result they can check, not an aspiration.
49
+ - **Pre-register acceptance benchmarks.** Before any work: measure the
50
+ current number (test count, timing, finding count, proof line), write it
51
+ in the plan, and state the target number. Work that cannot move a
52
+ pre-registered number is scope to question.
53
+ - **Every step carries five fields**: file anchor with verified current
54
+ behavior (cite how you know); the exact change; the validation command
55
+ with expected output; testability design (pure core, injected effects);
56
+ why this step is safe *in this order*. "Update X" with no current/target
57
+ behavior is a wish, not a step.
58
+ - **Order phases by information gain and risk**: blockers and
59
+ evidence-integrity first; cheap discriminating probes before expensive
60
+ builds; measurement before optimization; anything not yet decided by the
61
+ human is a GATED phase the executor must not start. Infrastructure the
62
+ later steps inherit (a labeling choke point, a shared helper layer)
63
+ lands before the features that need it.
64
+ - **Flag one-way doors** with their migration path, and keep an explicit
65
+ DEFER list so cut scope is visible instead of forgotten.
66
+ - **Include the working agreement**: ONE COMMIT PER STEP (bisectability is
67
+ non-negotiable; phase-level commits hide which step broke), the exact
68
+ gate commands — the FULL gate set the repo defines per phase: tests,
69
+ typecheck, lint/format, and build, not just focused tests (focused tests
70
+ hide cross-phase regressions; omitting the linter is how red mains ship),
71
+ regeneration duties,
72
+ and the deviation protocol —
73
+ "if source contradicts an anchor, BLOCKED-note it and continue; never
74
+ improvise silently."
75
+
76
+ ## Conducting the Work
77
+
78
+ - **Delegate breadth, keep judgment.** Fan out mechanical/scoped work;
79
+ personally own anything requiring taste, cross-cutting context, or the
80
+ final word on "is this real."
81
+ - **Concurrent agents get disjoint write scopes**, named in their briefs.
82
+ If a collision happens anyway: stop racing, apply-verify-commit
83
+ atomically in one action, and re-sequence to a single writer.
84
+ - **Never accept a report — reproduce its evidence.** On every handoff,
85
+ choose the *minimal discriminating probe*: the one command most likely to
86
+ expose the report being wrong (a mutation input, a hand count, the
87
+ benchmark number), and run it yourself. A report verified by reading it
88
+ is not verified.
89
+ - **Loop until the gate is quiet**: fix → re-run the discriminating probe →
90
+ re-run the gate → only then move on. After the program: fold what was
91
+ learned back into the durable layer (docs, skills, followups) — insight
92
+ that lives only in the conversation is lost.
93
+ - **Escalate only genuine decision points** — one-way doors, scope changes,
94
+ taste, spending. Everything else: decide, act, disclose.
95
+
96
+ ## Scar Rules (each bought with a real failure)
97
+
98
+ - **Verify your verifier.** A gate check that cannot fail is no gate: a
99
+ lint grep that only matches one linter's output, a diff-gate run on a
100
+ clean tree, a test suite that skips the new path. Prove the check catches
101
+ a planted failure once before trusting its green.
102
+ - **Never `git checkout`/`restore`/`stash` on a tree with uncommitted
103
+ work** — yours or anyone's. Revert probe edits by targeted deletion.
104
+ If source is lost, check `dist/*.map` sourcesContent before panicking.
105
+ - **Commit working states early and surgically** (explicit paths, never
106
+ `add -A` on a shared tree); an unbisectable pile of work is a liability.
107
+ - **Make the commit cadence mechanical, not aspirational.** At every step
108
+ boundary run the arithmetic check: steps completed == commits made. If
109
+ they differ, stop and commit before touching anything new. "I'll commit
110
+ when it's all done" is the signature decay of a long or low-effort run —
111
+ two real executions finished an entire plan with zero or one commit, and
112
+ both times the deviation was rationalized mid-run, not decided. A
113
+ self-check that is a count cannot be rationalized.
114
+ - **Watch for your own gate holes**: after any "all green," ask what that
115
+ check does NOT cover (eslint vs prettier; unit vs integration; clean-tree
116
+ vacuity).
117
+
118
+ ## Self-Report (required output)
119
+
120
+ End every conducted program — and every plan written under this skill —
121
+ with a checklist mapping each section above to concrete evidence:
122
+ the pre-registered benchmarks and their before/after values; each handoff's
123
+ discriminating probe and its OBSERVED result (a probe listed but not run
124
+ counts as not run); the deviation ledger; the DEFER list;
125
+ which learnings were folded back and where. A reviewer must be able to
126
+ audit the *conduct*, not just the artifact.
127
+
128
+ ## Completion
129
+
130
+ The program is complete only when: every pre-registered benchmark met or
131
+ its miss explained; every handoff probe run and recorded; the gate quiet on
132
+ the final state; nothing silent — every finding fixed or ledgered; and the
133
+ self-report written.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "SCIP Conductor"
3
+ short_description: "Conduct multi-phase engineering programs"
4
+ default_prompt: "Use $scip-conductor to plan and conduct this multi-phase program end to end with verified handoffs."
@@ -1,49 +1,73 @@
1
1
  ---
2
2
  name: scip-debug
3
- description: Root-cause bugs and regressions with scip-query evidence. Use when the user reports a bug, failing behavior, regression, confusing runtime path, broken data flow, or asks to debug, diagnose, reproduce, trace, or explain why code behaves incorrectly before fixing it.
3
+ description: Debug bugs and regressions with scip-query evidence. Use for failing behavior, wrong data flow, confusing runtime paths, broken tests, root-cause analysis, reproduction, tracing, or minimal fixes.
4
+ commands:
5
+ - template: "scip-query files <feature-or-error-term>"
6
+ when: "Find the entry point from a feature name or error term."
7
+ - template: "scip-query trace <candidate-symbol>"
8
+ when: "Find the entry point: definition plus every reference."
9
+ - template: "scip-query call-graph <entry-symbol>"
10
+ when: "Follow execution: callers and callees along the failing path."
11
+ - template: "scip-query dataflow <symbol-or-variable>"
12
+ when: "Follow data: producers, consumers, and usage sites."
13
+ - template: "scip-query similar <suspect-symbol> --json --full"
14
+ when: "Compare nearby implementations for missing guards or handling."
15
+ - template: "scip-query change-surface <suspect-file> --json --full"
16
+ when: "Bound the fix: exports, consumers, and blast-radius risk."
4
17
  ---
5
18
 
6
- # SCIP Debug
19
+ # scip-debug
7
20
 
8
- Use this skill to move from a reported failure to a minimal verified fix. A bug is a mismatch between expected behavior and observed behavior in a concrete execution path. A root cause is the earliest code fact in that path that explains the mismatch and makes the later symptoms possible.
21
+ Use this skill to move from a reported failure to a minimal verified fix. A bug is a mismatch between expected behavior and observed behavior in a concrete execution path. A root cause is the earliest code fact in that path that explains the mismatch.
22
+
23
+ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
24
+
25
+ <!-- BEGIN GENERATED SKILL COMMANDS -->
26
+ ## Commands for this skill
27
+
28
+ | Command | Purpose | When |
29
+ | --- | --- | --- |
30
+ | `scip-query files <feature-or-error-term>` | Find files matching a pattern | Find the entry point from a feature name or error term. |
31
+ | `scip-query trace <candidate-symbol>` | Trace a symbol: definition + all references | Find the entry point: definition plus every reference. |
32
+ | `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | Follow execution: callers and callees along the failing path. |
33
+ | `scip-query dataflow <symbol-or-variable>` | Reference-level dataflow: definition sites, usage sites, producers, consumers | Follow data: producers, consumers, and usage sites. |
34
+ | `scip-query similar <suspect-symbol> --json --full` | Find heuristic function similarity candidates from callee fingerprints | Compare nearby implementations for missing guards or handling. |
35
+ | `scip-query change-surface <suspect-file> --json --full` | Pre-change briefing: exports, consumers, and blast-radius risk | Bound the fix: exports, consumers, and blast-radius risk. |
36
+
37
+ Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
+ <!-- END GENERATED SKILL COMMANDS -->
9
39
 
10
40
  ## Rules
11
41
 
12
- 1. Reproduce or restate the failure before changing code.
13
- 2. Use scip-query to identify entry points, call paths, data flow, and blast radius. Do not debug from filename guesses alone.
14
- 3. Prefer one narrow fix over broad cleanup. If cleanup is also needed, record it after the bug fix unless it is required for correctness.
15
- 4. Verify the fix with the repo's test or smoke command, then run `scip-verify`.
42
+ 1. Reproduce or restate the failure before editing.
43
+ 2. Use scip-query to find entry points, call paths, data flow, and blast radius.
44
+ 3. Prefer one narrow fix over broad cleanup.
45
+ 4. Verify with the narrowest repo test or smoke command, then invoke `scip-verify`.
16
46
 
17
47
  ## Workflow
18
48
 
19
49
  ### 1. Pin the failure
20
50
 
21
- Record:
51
+ Record observed behavior, expected behavior, reproducing command/route/UI action/test/job/file, error text or wrong output, and regression window if known.
22
52
 
23
- - observed behavior;
24
- - expected behavior;
25
- - command, route, UI action, test, job, or file that exposes it;
26
- - error text or wrong output;
27
- - suspected time window if it is a regression.
53
+ If no reproduction is provided, build the smallest runnable reproduction from existing tests, scripts, CLI, or app entry points.
28
54
 
29
- If the user provides no reproduction, make the smallest runnable reproduction you can from the repo's existing tests, scripts, CLI, or app entry points.
55
+ This step is complete only when the mismatch is concrete enough to test or the missing external fact is named.
30
56
 
31
57
  ### 2. Find the entry point
32
58
 
33
59
  ```bash
34
- scip-query status --capabilities
35
- scip-query status --capabilities
36
- # If freshness is stale, missing, or unknown:
37
- # scip-query reindex
38
60
  scip-query files <feature-or-error-term>
39
61
  scip-query outline <candidate-file>
40
62
  scip-query trace <candidate-symbol>
41
63
  scip-query code <candidate-symbol>
42
64
  ```
43
65
 
44
- Use `scip-query by-kind function --scope <scope>` or `scip-query kind-counts --scope <scope>` when the codebase is unfamiliar and you need an inventory before selecting an entry point.
66
+ Use `kind-counts` or `by-kind` when the codebase is unfamiliar.
67
+
68
+ This step is complete only when the failing path has a plausible entry point with source evidence.
45
69
 
46
- ### 3. Follow execution
70
+ ### 3. Follow execution and data
47
71
 
48
72
  ```bash
49
73
  scip-query call-graph <entry-symbol>
@@ -51,73 +75,51 @@ scip-query code <callee-symbol>
51
75
  scip-query refs <state-or-api-symbol>
52
76
  scip-query fan-in <suspect-symbol>
53
77
  scip-query fan-out <suspect-file>
54
- ```
55
-
56
- Build the smallest path that explains the observed behavior. Stop expanding once the path reaches the first code fact that can cause the symptom.
57
-
58
- ### 4. Follow data and state
59
-
60
- ```bash
61
78
  scip-query dataflow <symbol-or-variable>
62
79
  scip-query slice <symbol-or-variable>
63
80
  scip-query slice <symbol-or-variable> --forward
64
81
  ```
65
82
 
66
- Use dataflow when the bug looks like wrong state, wrong input normalization, missing validation, stale cache, dropped field, wrong async order, or an unexpected output value.
83
+ Stop expanding when the first code fact that can cause the symptom is found.
67
84
 
68
- ### 5. Compare nearby implementations
85
+ This step is complete only when the path explains the symptom or the missing evidence is explicit.
86
+
87
+ ### 4. Compare nearby implementations
69
88
 
70
89
  ```bash
71
90
  scip-query similar <suspect-symbol> --json --full
72
- scip-query convergence <suspect-symbol> <similar-symbol>
91
+ scip-query similar <suspect-symbol> <similar-symbol> --plan
73
92
  scip-query similar-files <suspect-file> --json --full
74
93
  ```
75
94
 
76
- A similar implementation can reveal the missing branch, guard, conversion, lifecycle step, or error handling path. Preserve essential differences; do not copy behavior blindly.
95
+ Use comparisons to find missing guards, conversions, lifecycle steps, or error handling. Preserve essential differences.
96
+
97
+ This step is complete only when comparisons either support the fix or are rejected with a reason.
77
98
 
78
- ### 6. Bound the fix
99
+ ### 5. Bound and fix
79
100
 
80
101
  ```bash
81
102
  scip-query change-surface <suspect-file> --json --full
82
103
  scip-query affected <suspect-symbol> --json
83
- scip-query diff-impact --json
84
104
  ```
85
105
 
86
- Name the smallest symbol or file that should change. If the blast radius is larger than the bug's scope, explain why before editing.
87
-
88
- ### 7. Fix and verify
106
+ Make the smallest code change that fixes the root cause.
89
107
 
90
- Apply the minimal code change, then run:
108
+ This step is complete only when the changed symbol/file is justified by blast-radius evidence.
91
109
 
92
- ```bash
93
- scip-query status --capabilities
94
- # If freshness is stale, missing, or unknown:
95
- # scip-query reindex
96
- scip-query diff-gate --json
97
- ```
110
+ ### 6. Verify
98
111
 
99
- Also run the narrowest repo test, app smoke test, or command that reproduces the failure. Invoke `scip-verify` before calling the bug fixed.
112
+ Run the reproduction, narrow test or smoke command, and invoke `scip-verify`.
100
113
 
101
- ## Report Format
114
+ ## Report
102
115
 
103
116
  ```markdown
104
- Bug: <observed mismatch>
105
-
117
+ Bug:
106
118
  Entry point:
107
- - <file/symbol> from <command>
108
-
109
119
  Root cause:
110
- - <code fact> from <command>
111
-
112
120
  Fix:
113
- - <minimal change>
114
-
115
121
  Verification:
116
- - <repo test or smoke command>
117
- - `scip-query diff-gate --json`
118
-
119
122
  Remaining risk:
120
- - <blast radius, unavailable capability, or follow-up cleanup>
121
123
  ```
122
124
 
123
- If no root cause is proven, say what evidence is missing and what command or reproduction would unblock it. Do not present a guess as a fix.
125
+ Do not present a guess as a root cause. If no root cause is proven, report the missing evidence.