scip-query 0.23.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/CHANGELOG.md +491 -2
  2. package/README.md +111 -122
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/by-kind-PRVFAGTQ.js +2 -0
  5. package/dist/call-graph-DVPAQV2F.js +2 -0
  6. package/dist/call-graph-evidence-CUtj8V2I.d.ts +19 -0
  7. package/dist/chunk-2FSBGL5P.js +2 -0
  8. package/dist/chunk-2HLAFUCY.js +2 -0
  9. package/dist/chunk-2IWUT6CJ.js +3 -0
  10. package/dist/chunk-2KNN7GTQ.js +2 -0
  11. package/dist/chunk-2LHXRE2B.js +8 -0
  12. package/dist/{chunk-EG2CPZMJ.js → chunk-2YXE77TJ.js} +2 -2
  13. package/dist/chunk-36SGVCGX.js +2 -0
  14. package/dist/chunk-3ABBFPTP.js +2 -0
  15. package/dist/chunk-3IVFU4FD.js +3 -0
  16. package/dist/chunk-3JIQS44J.js +7 -0
  17. package/dist/chunk-3ZRB6DNK.js +7 -0
  18. package/dist/{chunk-6YTSKJJ3.js → chunk-42EOW5VI.js} +1 -1
  19. package/dist/{chunk-6I6L7Z62.js → chunk-4BHGBMNO.js} +2 -2
  20. package/dist/chunk-4BP3UBDG.js +2 -0
  21. package/dist/chunk-4D6RO7G4.js +2 -0
  22. package/dist/chunk-4FEWQ6RH.js +2 -0
  23. package/dist/chunk-4IGEOBG7.js +2 -0
  24. package/dist/chunk-4QZXBUKC.js +2 -0
  25. package/dist/chunk-4WBDEVX2.js +4 -0
  26. package/dist/chunk-4WCUBZU3.js +8 -0
  27. package/dist/chunk-4WTUBQ36.js +40 -0
  28. package/dist/chunk-4XQ4O6IM.js +3 -0
  29. package/dist/chunk-55UQAMZO.js +4 -0
  30. package/dist/chunk-5D2LVK7O.js +125 -0
  31. package/dist/chunk-5IYJ56TT.js +2 -0
  32. package/dist/chunk-5PLMJC7Q.js +2 -0
  33. package/dist/chunk-5TNQJUR2.js +5 -0
  34. package/dist/chunk-62BDNPMI.js +2 -0
  35. package/dist/chunk-64DZ5TXR.js +7 -0
  36. package/dist/chunk-65245JCM.js +2 -0
  37. package/dist/chunk-6FFVZZL4.js +2 -0
  38. package/dist/chunk-6KO5JHAR.js +2 -0
  39. package/dist/chunk-6LRXOOSX.js +2 -0
  40. package/dist/chunk-6LSEIIF7.js +2 -0
  41. package/dist/chunk-6YMNWD3H.js +6 -0
  42. package/dist/chunk-72AD6ZRR.js +5 -0
  43. package/dist/chunk-73AAKPUC.js +4 -0
  44. package/dist/chunk-76CZ77DF.js +2 -0
  45. package/dist/chunk-7VPEEAAG.js +2 -0
  46. package/dist/chunk-7WTPQ4NX.js +14 -0
  47. package/dist/chunk-7Y5T6XDP.js +2 -0
  48. package/dist/chunk-A2IIGFMJ.js +5 -0
  49. package/dist/chunk-AB5KCTEV.js +2 -0
  50. package/dist/chunk-AC566WBP.js +6 -0
  51. package/dist/chunk-AGWFSTXC.js +3 -0
  52. package/dist/chunk-AOSIYPTA.js +2 -0
  53. package/dist/chunk-AUVEWPIF.js +2 -0
  54. package/dist/chunk-B56T42J3.js +25 -0
  55. package/dist/chunk-BIQEF5NE.js +2 -0
  56. package/dist/chunk-BL6XJKTA.js +3 -0
  57. package/dist/chunk-BMKOQJRI.js +2 -0
  58. package/dist/chunk-BOZ4EXBB.js +3 -0
  59. package/dist/chunk-BUTWYEPH.js +2 -0
  60. package/dist/chunk-BZB4QPIP.js +2 -0
  61. package/dist/{chunk-ILTDAWEF.js → chunk-CE357GEE.js} +4 -4
  62. package/dist/chunk-CFN45HFP.js +2 -0
  63. package/dist/chunk-CFYMZFXT.js +368 -0
  64. package/dist/chunk-CN5EH7O3.js +2 -0
  65. package/dist/chunk-D254DNNQ.js +4 -0
  66. package/dist/chunk-D3FDISIC.js +2 -0
  67. package/dist/chunk-D3NX5XIE.js +3 -0
  68. package/dist/chunk-DA7RPPDF.js +3 -0
  69. package/dist/chunk-DDMC3FON.js +3 -0
  70. package/dist/chunk-DIO3FUSG.js +2 -0
  71. package/dist/chunk-DJ2NNSUK.js +3 -0
  72. package/dist/chunk-DKYQIM3C.js +18 -0
  73. package/dist/{chunk-JTQVMR42.js → chunk-DOOEL2IV.js} +2 -2
  74. package/dist/chunk-DVFP6PZI.js +2 -0
  75. package/dist/chunk-E3FDPXZK.js +2 -0
  76. package/dist/chunk-E7YNJLCB.js +2 -0
  77. package/dist/chunk-EFGW5JPH.js +2 -0
  78. package/dist/chunk-EJVTR244.js +13 -0
  79. package/dist/chunk-EOV7RTRZ.js +2 -0
  80. package/dist/chunk-ETOIKRHO.js +2 -0
  81. package/dist/chunk-EYK3ZAO2.js +3 -0
  82. package/dist/chunk-F2V2LPET.js +52 -0
  83. package/dist/chunk-F4LUHJTF.js +2 -0
  84. package/dist/chunk-F4PUT6IT.js +2 -0
  85. package/dist/chunk-F56GCXXS.js +5 -0
  86. package/dist/chunk-FC2EVQRM.js +2 -0
  87. package/dist/chunk-FL7NBMHP.js +3 -0
  88. package/dist/chunk-FMRN2TRL.js +3 -0
  89. package/dist/chunk-FVULPZDF.js +20 -0
  90. package/dist/chunk-GCKCF5FL.js +43 -0
  91. package/dist/chunk-GH2PYF46.js +2 -0
  92. package/dist/chunk-GHJAGXIP.js +2 -0
  93. package/dist/{chunk-WIWY3CRX.js → chunk-GMVSHUKZ.js} +2 -2
  94. package/dist/chunk-GS6KDO4R.js +2 -0
  95. package/dist/chunk-GUUBXNN7.js +2 -0
  96. package/dist/chunk-GVWX5T43.js +80 -0
  97. package/dist/chunk-GZKFETP5.js +2 -0
  98. package/dist/chunk-H4EQHO6J.js +9 -0
  99. package/dist/chunk-H73WY2RM.js +2 -0
  100. package/dist/chunk-H75GSPRV.js +60 -0
  101. package/dist/chunk-HDR3AHSV.js +61 -0
  102. package/dist/chunk-HQBSL74Y.js +2 -0
  103. package/dist/chunk-HRRFKWPZ.js +2 -0
  104. package/dist/chunk-HXENDJC6.js +2 -0
  105. package/dist/chunk-IIBAZNSW.js +21 -0
  106. package/dist/chunk-INLMWEUU.js +12 -0
  107. package/dist/chunk-IWQPAF4F.js +2 -0
  108. package/dist/chunk-IZJ6YUKP.js +35 -0
  109. package/dist/chunk-J2TMAIN5.js +60 -0
  110. package/dist/chunk-J5FJMODQ.js +142 -0
  111. package/dist/chunk-J7HZPIO3.js +2 -0
  112. package/dist/chunk-JEVRKFRL.js +2 -0
  113. package/dist/chunk-JFXSGAEB.js +30 -0
  114. package/dist/chunk-JVRTHGFS.js +3 -0
  115. package/dist/chunk-JYWEX7RR.js +360 -0
  116. package/dist/chunk-K3YL22N6.js +2 -0
  117. package/dist/chunk-K4CN7GXK.js +12 -0
  118. package/dist/chunk-K5TBVXU4.js +30 -0
  119. package/dist/chunk-KDDIE2DP.js +9 -0
  120. package/dist/chunk-KHWRRPV4.js +2 -0
  121. package/dist/chunk-KI6NBKDY.js +14 -0
  122. package/dist/chunk-KU3QRSTH.js +2 -0
  123. package/dist/chunk-KZBJWZJB.js +2 -0
  124. package/dist/chunk-L7GFM3NP.js +3 -0
  125. package/dist/chunk-LMO6PK3V.js +35 -0
  126. package/dist/chunk-LN4YXJJU.js +2 -0
  127. package/dist/chunk-LOVIZBJ4.js +43 -0
  128. package/dist/chunk-LPCRK4A2.js +11 -0
  129. package/dist/chunk-MMHZKBFA.js +2 -0
  130. package/dist/{chunk-M2O5NY6W.js → chunk-MOQQBQRD.js} +2 -2
  131. package/dist/chunk-N2WN6I3L.js +2 -0
  132. package/dist/chunk-N3ORQT7L.js +2 -0
  133. package/dist/chunk-NAZ3RAIW.js +2 -0
  134. package/dist/chunk-NDUNO5JQ.js +2 -0
  135. package/dist/chunk-NEIWRNAZ.js +4 -0
  136. package/dist/chunk-NJJMVD65.js +2 -0
  137. package/dist/chunk-NLOQOBXI.js +20 -0
  138. package/dist/chunk-NOLZOVCU.js +2 -0
  139. package/dist/chunk-NOWINRRN.js +2 -0
  140. package/dist/chunk-NZAXKGRL.js +16 -0
  141. package/dist/chunk-O2C4UILI.js +2 -0
  142. package/dist/chunk-O3RHA6ZT.js +3 -0
  143. package/dist/chunk-O4UZSPPI.js +3 -0
  144. package/dist/chunk-OGFV2BUX.js +2 -0
  145. package/dist/chunk-OZCJXZK6.js +499 -0
  146. package/dist/chunk-P6ODM7BY.js +2 -0
  147. package/dist/{chunk-XBGWL66K.js → chunk-PAVGPRHJ.js} +2 -2
  148. package/dist/chunk-PH52RA7D.js +2 -0
  149. package/dist/chunk-PKN354TH.js +3 -0
  150. package/dist/chunk-PWOASWEG.js +11 -0
  151. package/dist/chunk-QIWXRW72.js +2 -0
  152. package/dist/chunk-QJRMOK5N.js +2 -0
  153. package/dist/{chunk-YXPUP5G2.js → chunk-QOIXNWQR.js} +2 -2
  154. package/dist/chunk-QXEUDXBT.js +3 -0
  155. package/dist/chunk-QYUVVBMR.js +6 -0
  156. package/dist/chunk-QZ7KQZRN.js +2 -0
  157. package/dist/chunk-R6LQBUDH.js +2 -0
  158. package/dist/chunk-RBS42E55.js +20 -0
  159. package/dist/chunk-RSJKPCFX.js +26 -0
  160. package/dist/chunk-S6CZA3MV.js +2 -0
  161. package/dist/chunk-STMVAHJP.js +2 -0
  162. package/dist/chunk-SYVPTTVW.js +2 -0
  163. package/dist/chunk-T3I6NHBH.js +2 -0
  164. package/dist/chunk-T6DK3ZP7.js +2 -0
  165. package/dist/chunk-TKD34PHN.js +4 -0
  166. package/dist/chunk-TNNQFH7W.js +2 -0
  167. package/dist/chunk-TNV7SSUF.js +2 -0
  168. package/dist/chunk-TO7ZR3EH.js +8 -0
  169. package/dist/chunk-TOU3CHK4.js +2 -0
  170. package/dist/chunk-TRBI4UKT.js +2 -0
  171. package/dist/chunk-TZCVNCAN.js +4 -0
  172. package/dist/chunk-U4LZA5LL.js +3 -0
  173. package/dist/chunk-U5RIG3JP.js +3 -0
  174. package/dist/chunk-UP5KXN2I.js +2 -0
  175. package/dist/chunk-UQFR3NDH.js +5 -0
  176. package/dist/chunk-UXYXF7GV.js +2 -0
  177. package/dist/chunk-VB3GOKOS.js +2 -0
  178. package/dist/chunk-VF5JZICY.js +2 -0
  179. package/dist/chunk-VTY3VK6E.js +2 -0
  180. package/dist/chunk-VX2O4RIS.js +2 -0
  181. package/dist/chunk-WKPV2TDZ.js +2 -0
  182. package/dist/chunk-WOFQ5DTB.js +2 -0
  183. package/dist/chunk-WS4C6TCK.js +2 -0
  184. package/dist/chunk-WXU3DGPU.js +2 -0
  185. package/dist/chunk-X6RMKHJQ.js +81 -0
  186. package/dist/{chunk-4ILJCCXV.js → chunk-XHMN6ZX7.js} +2 -2
  187. package/dist/chunk-XHTVFLWW.js +2 -0
  188. package/dist/chunk-XKIDJCIK.js +2 -0
  189. package/dist/chunk-XTYTYZPT.js +2 -0
  190. package/dist/chunk-Y2JHHTTA.js +2 -0
  191. package/dist/chunk-YGVRMGYN.js +4 -0
  192. package/dist/chunk-YNQCGEQE.js +2 -0
  193. package/dist/chunk-YOQVEXVE.js +14 -0
  194. package/dist/chunk-YRT2WLYY.js +2 -0
  195. package/dist/chunk-YTAP5Y2G.js +2 -0
  196. package/dist/chunk-YTYWI7VB.js +2 -0
  197. package/dist/chunk-YULZRALL.js +2 -0
  198. package/dist/chunk-Z33WQG4Q.js +2 -0
  199. package/dist/chunk-ZGTYGDMF.js +16 -0
  200. package/dist/chunk-ZHMRSZFD.js +43 -0
  201. package/dist/chunk-ZHSP366W.js +10 -0
  202. package/dist/chunk-ZIBYCYKK.js +7 -0
  203. package/dist/{chunk-GAS2LJMP.js → chunk-ZLADLUE6.js} +3 -3
  204. package/dist/chunk-ZO4YXUT6.js +4 -0
  205. package/dist/{chunk-HYO3NP5Q.js → chunk-ZR4HBC2H.js} +2 -2
  206. package/dist/cli-main.js +6 -6
  207. package/dist/cli.js +1 -1
  208. package/dist/{code-B17qEMbt.d.ts → code-BNyrCF3_.d.ts} +3 -2
  209. package/dist/code-IL5WH3NZ.js +2 -0
  210. package/dist/code-result-json-ANTBEDFP.js +4 -0
  211. package/dist/command-descriptors-HEEMDHTU.js +222 -0
  212. package/dist/deps-EOWFC6FD.js +2 -0
  213. package/dist/direct-navigation-Y5B6OSIQ.js +3 -0
  214. package/dist/{exploration-topology-BG4v30HZ.d.ts → exploration-topology-CSgEyAz-.d.ts} +3 -1
  215. package/dist/files-K4AI3JUM.js +2 -0
  216. package/dist/frontend-profile-roles-D7eCum8P.d.ts +10 -0
  217. package/dist/{health-CPp2Jf1Z.d.ts → health-BtfmNrfa.d.ts} +58 -74
  218. package/dist/hierarchy-6W5NDIFI.js +2 -0
  219. package/dist/imports-WH365QY4.js +2 -0
  220. package/dist/index.d.ts +13 -1
  221. package/dist/index.js +1 -1
  222. package/dist/members-K3PHMF5S.js +2 -0
  223. package/dist/methods-E7KVMBX4.js +2 -0
  224. package/dist/output-continuation-command-BJSY67SN.js +3 -0
  225. package/dist/output-pagination-UZJ5ACIX.js +24 -0
  226. package/dist/postinstall.js +1 -1
  227. package/dist/project-reindex-EP24WT4X.js +3 -0
  228. package/dist/queries/affected.js +1 -1
  229. package/dist/queries/architecture.d.ts +15 -4
  230. package/dist/queries/architecture.js +1 -1
  231. package/dist/queries/bottlenecks.js +1 -1
  232. package/dist/queries/by-kind.js +1 -1
  233. package/dist/queries/call-graph.d.ts +3 -1
  234. package/dist/queries/call-graph.js +1 -1
  235. package/dist/queries/change-surface.d.ts +1 -0
  236. package/dist/queries/change-surface.js +1 -1
  237. package/dist/queries/cleanup-plan.d.ts +3 -3
  238. package/dist/queries/cleanup-plan.js +1 -1
  239. package/dist/queries/co-change.d.ts +20 -2
  240. package/dist/queries/co-change.js +1 -1
  241. package/dist/queries/code.d.ts +1 -1
  242. package/dist/queries/code.js +1 -1
  243. package/dist/queries/complexity.d.ts +6 -3
  244. package/dist/queries/complexity.js +1 -1
  245. package/dist/queries/context.d.ts +1 -7
  246. package/dist/queries/context.js +1 -1
  247. package/dist/queries/coupling.js +1 -1
  248. package/dist/queries/cycles.js +1 -1
  249. package/dist/queries/dead.d.ts +2 -0
  250. package/dist/queries/dead.js +1 -1
  251. package/dist/queries/decorative-checkers.js +1 -1
  252. package/dist/queries/dependence-slice.d.ts +46 -22
  253. package/dist/queries/dependence-slice.js +1 -1
  254. package/dist/queries/dependency-depth.d.ts +1 -7
  255. package/dist/queries/dependency-depth.js +1 -1
  256. package/dist/queries/deps.js +1 -1
  257. package/dist/queries/diff-impact.d.ts +3 -1
  258. package/dist/queries/diff-impact.js +1 -1
  259. package/dist/queries/doc-drift.js +1 -1
  260. package/dist/queries/drift.d.ts +1 -1
  261. package/dist/queries/drift.js +1 -1
  262. package/dist/queries/duplicate-bodies.d.ts +29 -2
  263. package/dist/queries/duplicate-bodies.js +1 -1
  264. package/dist/queries/entry-map.d.ts +2 -4
  265. package/dist/queries/entry-map.js +1 -1
  266. package/dist/queries/evidence.d.ts +121 -61
  267. package/dist/queries/evidence.js +1 -1
  268. package/dist/queries/fan.js +1 -1
  269. package/dist/queries/files.js +1 -1
  270. package/dist/queries/health.d.ts +1 -1
  271. package/dist/queries/health.js +1 -1
  272. package/dist/queries/hierarchy.d.ts +2 -2
  273. package/dist/queries/hierarchy.js +1 -1
  274. package/dist/queries/hotspots.d.ts +1 -1
  275. package/dist/queries/hotspots.js +1 -1
  276. package/dist/queries/imports.d.ts +1 -0
  277. package/dist/queries/imports.js +1 -1
  278. package/dist/queries/incomplete-migration.d.ts +3 -3
  279. package/dist/queries/incomplete-migration.js +1 -1
  280. package/dist/queries/index.d.ts +17 -65
  281. package/dist/queries/index.js +1 -1
  282. package/dist/queries/locality-candidates.d.ts +4 -4
  283. package/dist/queries/locality-candidates.js +1 -1
  284. package/dist/queries/members.d.ts +2 -2
  285. package/dist/queries/members.js +1 -1
  286. package/dist/queries/methods.js +1 -1
  287. package/dist/queries/not-implemented.d.ts +2 -6
  288. package/dist/queries/not-implemented.js +1 -1
  289. package/dist/queries/outline.js +1 -1
  290. package/dist/queries/passthrough-candidates.d.ts +9 -1
  291. package/dist/queries/passthrough-candidates.js +1 -1
  292. package/dist/queries/react-component-duplicates.d.ts +19 -3
  293. package/dist/queries/react-component-duplicates.js +1 -1
  294. package/dist/queries/react-hook-candidates.d.ts +22 -3
  295. package/dist/queries/react-hook-candidates.js +1 -1
  296. package/dist/queries/react-large-component-pressure.d.ts +17 -3
  297. package/dist/queries/react-large-component-pressure.js +1 -1
  298. package/dist/queries/recent-duplicates.js +1 -1
  299. package/dist/queries/redundant-reexports.d.ts +4 -14
  300. package/dist/queries/redundant-reexports.js +1 -1
  301. package/dist/queries/refs.d.ts +4 -1
  302. package/dist/queries/refs.js +1 -1
  303. package/dist/queries/review.d.ts +188 -0
  304. package/dist/queries/review.js +2 -0
  305. package/dist/queries/similar-files.d.ts +7 -10
  306. package/dist/queries/similar-files.js +1 -1
  307. package/dist/queries/similar-signatures.js +1 -1
  308. package/dist/queries/similar.d.ts +19 -1
  309. package/dist/queries/similar.js +1 -1
  310. package/dist/queries/slice-cohesion.d.ts +205 -0
  311. package/dist/queries/slice-cohesion.js +2 -0
  312. package/dist/queries/source-inspection.d.ts +6 -202
  313. package/dist/queries/source-inspection.js +1 -1
  314. package/dist/queries/source-search.d.ts +2 -3
  315. package/dist/queries/source-search.js +1 -1
  316. package/dist/queries/stats.d.ts +1 -0
  317. package/dist/queries/stats.js +1 -1
  318. package/dist/queries/surface.js +1 -1
  319. package/dist/queries/symbols.js +1 -1
  320. package/dist/queries/system.d.ts +4 -2
  321. package/dist/queries/system.js +1 -1
  322. package/dist/queries/test-quality.d.ts +1 -1
  323. package/dist/queries/test-quality.js +1 -1
  324. package/dist/queries/twin-drift.d.ts +23 -7
  325. package/dist/queries/twin-drift.js +1 -1
  326. package/dist/queries/unused-imports.js +1 -1
  327. package/dist/queries/unused-params.d.ts +3 -15
  328. package/dist/queries/unused-params.js +1 -1
  329. package/dist/queries/vue-component-duplicates.js +1 -1
  330. package/dist/queries/vue-composable-candidates.js +1 -1
  331. package/dist/queries/vue-large-view-pressure.js +1 -1
  332. package/dist/query-service-fastpath.js +5 -5
  333. package/dist/query-service-server.js +4 -4
  334. package/dist/refs-CCBJG7WK.js +2 -0
  335. package/dist/refs-pagination-DRNLVU4S.js +2 -0
  336. package/dist/reindex-worker.js +79 -29
  337. package/dist/reindex.js +45 -45
  338. package/dist/repository-cache-worker.js +2 -0
  339. package/dist/runtime.d.ts +8 -8
  340. package/dist/runtime.js +3 -4
  341. package/dist/rust-semantic-session-server.js +1 -1
  342. package/dist/rust-semantic-session-worker.js +1 -1
  343. package/dist/rust-semantic-worker.js +1 -1
  344. package/dist/service-queries-2WAJI7R6.js +6 -0
  345. package/dist/source-inspection-91U9zdO3.d.ts +341 -0
  346. package/dist/{source-search-types-Dwz8KeuW.d.ts → source-search-types-DWGYNg8M.d.ts} +15 -2
  347. package/dist/stats-G7DIV6VU.js +2 -0
  348. package/dist/surface-IO55UALI.js +2 -0
  349. package/dist/system-ZBMSHJXU.js +2 -0
  350. package/dist/{queries/trace.d.ts → trace-BMjw3prn.d.ts} +1 -18
  351. package/dist/typescript-indexer.js +2 -0
  352. package/dist/typescript-mailbox-worker.js +1 -1
  353. package/dist/watch-server.js +3 -3
  354. package/docs/AGENT_GUIDE.md +19 -128
  355. package/docs/CLI_JSON_OUTPUT.md +21 -17
  356. package/docs/COMMAND_REFERENCE.md +34 -49
  357. package/docs/CURRENT_COMMANDS.md +123 -0
  358. package/docs/DETECTOR_EVIDENCE_CONTRACTS.md +0 -40
  359. package/docs/DETECTOR_GUIDE.md +55 -12
  360. package/docs/PRODUCT_VISION.md +135 -0
  361. package/docs/PROPERTY_TESTING.md +73 -0
  362. package/docs/REVIEW.md +76 -0
  363. package/docs/SKILLS.md +51 -0
  364. package/docs/WINDOWS_SIDECAR_RELEASE.md +12 -3
  365. package/docs/accuracy-audit-checklist.md +70 -13
  366. package/docs/analyzer-inventory.md +2 -2
  367. package/docs/locality-analyzer-design.md +9 -9
  368. package/package.json +18 -80
  369. package/scripts/evidence-product-contract.mjs +7 -3
  370. package/scripts/record-review-coverage.mjs +118 -0
  371. package/scripts/scip-windows-provenance.mjs +29 -19
  372. package/skills/scip-architecture-review/SKILL.md +57 -0
  373. package/skills/scip-architecture-review/agents/openai.yaml +4 -0
  374. package/skills/scip-architecture-review/references/design-checks.md +17 -0
  375. package/skills/scip-explore/SKILL.md +15 -59
  376. package/skills/scip-explore/agents/openai.yaml +3 -3
  377. package/skills/scip-explore/references/external-evidence.md +2 -2
  378. package/skills/scip-explore/references/information-model.md +26 -29
  379. package/skills/scip-explore/scripts/capture-evidence.mjs +68 -34
  380. package/skills/scip-integrity-audit/SKILL.md +53 -181
  381. package/skills/scip-integrity-audit/agents/openai.yaml +3 -3
  382. package/skills/scip-integrity-audit/references/integrity-probes.md +27 -0
  383. package/skills/scip-plan/SKILL.md +39 -65
  384. package/skills/scip-plan/agents/openai.yaml +2 -2
  385. package/skills/scip-query/SKILL.md +28 -81
  386. package/skills/scip-query/agents/openai.yaml +2 -2
  387. package/skills/scip-query/references/command-guide.md +169 -0
  388. package/skills/scip-setup/SKILL.md +4 -2
  389. package/skills/scip-setup/agents/openai.yaml +3 -3
  390. package/dist/by-kind-XI2CSWEY.js +0 -2
  391. package/dist/call-graph-UONR6JR5.js +0 -2
  392. package/dist/call-graph-evidence-lZa2dwQA.d.ts +0 -11
  393. package/dist/chunk-26CT72HM.js +0 -2
  394. package/dist/chunk-2E7CX53V.js +0 -2
  395. package/dist/chunk-2GRUZAQF.js +0 -43
  396. package/dist/chunk-2LDBDR6J.js +0 -29
  397. package/dist/chunk-2OOY75BW.js +0 -2
  398. package/dist/chunk-2R3V3PSD.js +0 -4
  399. package/dist/chunk-2WC2OEDO.js +0 -4
  400. package/dist/chunk-35NLDRZC.js +0 -2
  401. package/dist/chunk-3AF4TUFK.js +0 -3
  402. package/dist/chunk-3D3QG236.js +0 -2
  403. package/dist/chunk-3FHOF22C.js +0 -21
  404. package/dist/chunk-3JKSW6LJ.js +0 -2
  405. package/dist/chunk-3L2ZBPEX.js +0 -133
  406. package/dist/chunk-3PJABJSU.js +0 -2
  407. package/dist/chunk-3SVF22I5.js +0 -2
  408. package/dist/chunk-3WR4E3A3.js +0 -3
  409. package/dist/chunk-4FTZ4P5G.js +0 -2
  410. package/dist/chunk-4UX2F3JX.js +0 -2
  411. package/dist/chunk-4WNW27SX.js +0 -2
  412. package/dist/chunk-5ENOG4VP.js +0 -61
  413. package/dist/chunk-64BFSI5I.js +0 -2
  414. package/dist/chunk-66DVSJQG.js +0 -455
  415. package/dist/chunk-6HFCYNYE.js +0 -9
  416. package/dist/chunk-6PQNKL3G.js +0 -3
  417. package/dist/chunk-6V5CNXL6.js +0 -2
  418. package/dist/chunk-6VVV4WRR.js +0 -4
  419. package/dist/chunk-7BWFZPPZ.js +0 -2
  420. package/dist/chunk-7CYG22FH.js +0 -2
  421. package/dist/chunk-7F45LJKI.js +0 -2
  422. package/dist/chunk-7IWV2EG3.js +0 -3
  423. package/dist/chunk-7KCZELVM.js +0 -2
  424. package/dist/chunk-AFHTBORT.js +0 -2
  425. package/dist/chunk-AVRYW5OZ.js +0 -2
  426. package/dist/chunk-B3X6KU75.js +0 -2
  427. package/dist/chunk-B5D7QPBE.js +0 -4
  428. package/dist/chunk-BBCIS4DX.js +0 -16
  429. package/dist/chunk-BDUVI7TO.js +0 -3
  430. package/dist/chunk-BE7ZZTMC.js +0 -2
  431. package/dist/chunk-BHVUJOCQ.js +0 -3
  432. package/dist/chunk-BJT7LSPK.js +0 -3
  433. package/dist/chunk-BKVWUP7Y.js +0 -2
  434. package/dist/chunk-BQGB4HBD.js +0 -2
  435. package/dist/chunk-BRV7PIFF.js +0 -2
  436. package/dist/chunk-CEEZJXEF.js +0 -2
  437. package/dist/chunk-CIYLO6SI.js +0 -7
  438. package/dist/chunk-CJZXN4NU.js +0 -2
  439. package/dist/chunk-CNO7TOKL.js +0 -2
  440. package/dist/chunk-COF23M5F.js +0 -2
  441. package/dist/chunk-CWFP7GM5.js +0 -2
  442. package/dist/chunk-D2DHWI3D.js +0 -2
  443. package/dist/chunk-D4N5SQ2M.js +0 -4
  444. package/dist/chunk-DBRSYFXR.js +0 -2
  445. package/dist/chunk-DHUIOLDT.js +0 -2
  446. package/dist/chunk-DIRJWYBM.js +0 -6
  447. package/dist/chunk-DIUFNHRJ.js +0 -35
  448. package/dist/chunk-DRENNWRG.js +0 -2
  449. package/dist/chunk-DTZCKZEU.js +0 -4
  450. package/dist/chunk-DULC3QFP.js +0 -5
  451. package/dist/chunk-DYGHBZ2N.js +0 -16
  452. package/dist/chunk-E5R6AQ73.js +0 -40
  453. package/dist/chunk-E73UNJTF.js +0 -38
  454. package/dist/chunk-EKV5HX33.js +0 -2
  455. package/dist/chunk-EQHFIL6T.js +0 -3
  456. package/dist/chunk-ESIQ66Z7.js +0 -2
  457. package/dist/chunk-EVFUMY4R.js +0 -3
  458. package/dist/chunk-F7DY272B.js +0 -2
  459. package/dist/chunk-FBN2FGXG.js +0 -2
  460. package/dist/chunk-FDLOBR6P.js +0 -4
  461. package/dist/chunk-FESCRNVV.js +0 -5
  462. package/dist/chunk-FFRKR4EQ.js +0 -2
  463. package/dist/chunk-FGA2U4OR.js +0 -8
  464. package/dist/chunk-FIQRSHVM.js +0 -2
  465. package/dist/chunk-FPYLNQPT.js +0 -2
  466. package/dist/chunk-FRUSVINH.js +0 -2
  467. package/dist/chunk-GSP44ENC.js +0 -2
  468. package/dist/chunk-GUFSG5TX.js +0 -2
  469. package/dist/chunk-GYIZ4NXB.js +0 -2
  470. package/dist/chunk-GZIUDL6G.js +0 -2
  471. package/dist/chunk-H5EXS3HM.js +0 -2
  472. package/dist/chunk-HCXEQRFF.js +0 -18
  473. package/dist/chunk-HEHOQQKH.js +0 -2
  474. package/dist/chunk-HKGFPJ4T.js +0 -4
  475. package/dist/chunk-HLZTEXRA.js +0 -2
  476. package/dist/chunk-HOENASQM.js +0 -3
  477. package/dist/chunk-HVF5VBG6.js +0 -2
  478. package/dist/chunk-I55I7XXP.js +0 -2
  479. package/dist/chunk-IDFEUFKS.js +0 -2
  480. package/dist/chunk-IHGQTTVW.js +0 -2
  481. package/dist/chunk-IICPE7B2.js +0 -20
  482. package/dist/chunk-IL676XCC.js +0 -18
  483. package/dist/chunk-IW5XQG5G.js +0 -2
  484. package/dist/chunk-IZDPJ2QI.js +0 -2
  485. package/dist/chunk-J66VOFW6.js +0 -5
  486. package/dist/chunk-JFMEXGFE.js +0 -2
  487. package/dist/chunk-JGKUET5J.js +0 -3
  488. package/dist/chunk-JS4PGXMV.js +0 -3
  489. package/dist/chunk-JWTGMPIT.js +0 -80
  490. package/dist/chunk-JYR66JN5.js +0 -5
  491. package/dist/chunk-KFOYCQAJ.js +0 -9
  492. package/dist/chunk-KLFEXGQA.js +0 -2
  493. package/dist/chunk-KMVGRIO2.js +0 -2
  494. package/dist/chunk-KYSDI3GE.js +0 -5
  495. package/dist/chunk-L6PJPETJ.js +0 -29
  496. package/dist/chunk-LDVT66YM.js +0 -2
  497. package/dist/chunk-LEECKFCJ.js +0 -2
  498. package/dist/chunk-LMZ5PRUV.js +0 -2
  499. package/dist/chunk-LQRQN2XA.js +0 -2
  500. package/dist/chunk-LXABEJX3.js +0 -2
  501. package/dist/chunk-MNV5FSBW.js +0 -3
  502. package/dist/chunk-MPQ4OTBM.js +0 -2
  503. package/dist/chunk-MTDBHTSF.js +0 -2
  504. package/dist/chunk-MV3CDXPI.js +0 -38
  505. package/dist/chunk-MWN53KRN.js +0 -60
  506. package/dist/chunk-MXNGIEPU.js +0 -3
  507. package/dist/chunk-N2ZSIIGR.js +0 -117
  508. package/dist/chunk-N5B2NILC.js +0 -5
  509. package/dist/chunk-NJITK2GP.js +0 -2
  510. package/dist/chunk-NOGJXYFO.js +0 -2
  511. package/dist/chunk-NOYBFVJA.js +0 -554
  512. package/dist/chunk-NWQXSFFU.js +0 -3
  513. package/dist/chunk-ODDUPDP7.js +0 -13
  514. package/dist/chunk-OLIWTZI3.js +0 -3
  515. package/dist/chunk-OLNV6I6U.js +0 -2
  516. package/dist/chunk-OR2E3AGZ.js +0 -2
  517. package/dist/chunk-OSR2GEHQ.js +0 -2
  518. package/dist/chunk-OSSESPDX.js +0 -3
  519. package/dist/chunk-OWOOWNJ5.js +0 -7
  520. package/dist/chunk-P42EIXTA.js +0 -2
  521. package/dist/chunk-PJFGPYTU.js +0 -2
  522. package/dist/chunk-PP7KNN7L.js +0 -2
  523. package/dist/chunk-PU7T5QYQ.js +0 -2
  524. package/dist/chunk-PWWAJSKV.js +0 -74
  525. package/dist/chunk-PZL5T7SU.js +0 -73
  526. package/dist/chunk-QBE3YX64.js +0 -23
  527. package/dist/chunk-QGVTFRY2.js +0 -7
  528. package/dist/chunk-QOJONDS7.js +0 -2
  529. package/dist/chunk-QU5XRYB5.js +0 -4
  530. package/dist/chunk-QUU5OBVK.js +0 -11
  531. package/dist/chunk-RBLQNW26.js +0 -20
  532. package/dist/chunk-RTQ7NEKG.js +0 -81
  533. package/dist/chunk-SQXRS7BG.js +0 -4
  534. package/dist/chunk-SSK6LDPC.js +0 -2
  535. package/dist/chunk-SZHGTCPP.js +0 -7
  536. package/dist/chunk-T4N4P2K5.js +0 -16
  537. package/dist/chunk-TA3QKLLU.js +0 -2
  538. package/dist/chunk-TEBQMNVI.js +0 -43
  539. package/dist/chunk-TPFHAQ2G.js +0 -2
  540. package/dist/chunk-TQPCBMWT.js +0 -5
  541. package/dist/chunk-TQZV7KV4.js +0 -2
  542. package/dist/chunk-TRNAEQ6P.js +0 -3
  543. package/dist/chunk-TY7CRN3Z.js +0 -2
  544. package/dist/chunk-UHFYCMZO.js +0 -35
  545. package/dist/chunk-UICY4GTQ.js +0 -7
  546. package/dist/chunk-UVGEWT4Y.js +0 -26
  547. package/dist/chunk-UXW33INU.js +0 -29
  548. package/dist/chunk-VMPRET3I.js +0 -5
  549. package/dist/chunk-VNLGKHS6.js +0 -6
  550. package/dist/chunk-VQILFTEH.js +0 -2
  551. package/dist/chunk-VUPHCS7Y.js +0 -57
  552. package/dist/chunk-VVZSBTSU.js +0 -23
  553. package/dist/chunk-VZRNID6A.js +0 -2
  554. package/dist/chunk-W5OXRYGE.js +0 -7
  555. package/dist/chunk-W6STWDQI.js +0 -57
  556. package/dist/chunk-W7CXK74K.js +0 -2
  557. package/dist/chunk-WB3WYIRE.js +0 -4
  558. package/dist/chunk-WDNVY4E7.js +0 -20
  559. package/dist/chunk-WK46TNUM.js +0 -3
  560. package/dist/chunk-WNTFFKAX.js +0 -12
  561. package/dist/chunk-WOIKCX6A.js +0 -2
  562. package/dist/chunk-WUN6KBHV.js +0 -2
  563. package/dist/chunk-WYCTJDVR.js +0 -2
  564. package/dist/chunk-WYPL7GF7.js +0 -2
  565. package/dist/chunk-XDAUYDFT.js +0 -2
  566. package/dist/chunk-XDQMU3BT.js +0 -2
  567. package/dist/chunk-XFA4SSO3.js +0 -3
  568. package/dist/chunk-XGZEP6GR.js +0 -8
  569. package/dist/chunk-XPDPNWTQ.js +0 -368
  570. package/dist/chunk-XRYABF57.js +0 -8
  571. package/dist/chunk-YBGKCQIS.js +0 -2
  572. package/dist/chunk-YEN6CYC7.js +0 -16
  573. package/dist/chunk-YF5IB2LF.js +0 -2
  574. package/dist/chunk-YI2AWIHC.js +0 -3
  575. package/dist/chunk-YPWBKGFU.js +0 -2
  576. package/dist/chunk-YPWHBBIS.js +0 -2
  577. package/dist/chunk-YSH6U3L4.js +0 -3
  578. package/dist/chunk-YU5DZUZI.js +0 -10
  579. package/dist/chunk-YWO5DDRC.js +0 -16
  580. package/dist/chunk-Z4CDXYNQ.js +0 -2
  581. package/dist/chunk-ZF5KHH7C.js +0 -2
  582. package/dist/chunk-ZOHS7AQV.js +0 -21
  583. package/dist/chunk-ZTI4SBFV.js +0 -3
  584. package/dist/code-MI6F2TTU.js +0 -2
  585. package/dist/code-result-json-FXALY4HE.js +0 -2
  586. package/dist/command-descriptors-P34VABY5.js +0 -343
  587. package/dist/dataflow-4KEMJPC6.js +0 -2
  588. package/dist/dependence-slice-R7FPWD5M.js +0 -2
  589. package/dist/deps-7EMQUYUT.js +0 -2
  590. package/dist/direct-navigation-6YO234F2.js +0 -3
  591. package/dist/entry-map-KOOLR26E.js +0 -2
  592. package/dist/files-OPIPJIGZ.js +0 -2
  593. package/dist/graph-evidence-Bjyky2V4.d.ts +0 -126
  594. package/dist/hierarchy-QPD2CAER.js +0 -2
  595. package/dist/imports-M6HUXRXC.js +0 -2
  596. package/dist/members-I5MEFOCT.js +0 -2
  597. package/dist/methods-5JYGGHXA.js +0 -2
  598. package/dist/next-anchor-candidates-BwMczMvX.d.ts +0 -90
  599. package/dist/output-continuation-command-UPQAAKBP.js +0 -3
  600. package/dist/output-pagination-3OFL2MJV.js +0 -19
  601. package/dist/project-reindex-UKKQ5PLS.js +0 -3
  602. package/dist/queries/anchors.d.ts +0 -123
  603. package/dist/queries/anchors.js +0 -2
  604. package/dist/queries/complexity-hotspots.d.ts +0 -40
  605. package/dist/queries/complexity-hotspots.js +0 -2
  606. package/dist/queries/convergence.d.ts +0 -33
  607. package/dist/queries/convergence.js +0 -2
  608. package/dist/queries/dataflow.d.ts +0 -77
  609. package/dist/queries/dataflow.js +0 -2
  610. package/dist/queries/deep-chains.d.ts +0 -5
  611. package/dist/queries/deep-chains.js +0 -2
  612. package/dist/queries/extract-candidates.d.ts +0 -52
  613. package/dist/queries/extract-candidates.js +0 -2
  614. package/dist/queries/isolated.d.ts +0 -24
  615. package/dist/queries/isolated.js +0 -2
  616. package/dist/queries/plan-context.d.ts +0 -33
  617. package/dist/queries/plan-context.js +0 -2
  618. package/dist/queries/reference-neighborhood.d.ts +0 -4
  619. package/dist/queries/reference-neighborhood.js +0 -2
  620. package/dist/queries/reference-reachability.d.ts +0 -48
  621. package/dist/queries/reference-reachability.js +0 -2
  622. package/dist/queries/self-audit.d.ts +0 -63
  623. package/dist/queries/self-audit.js +0 -2
  624. package/dist/queries/similar-chains.d.ts +0 -48
  625. package/dist/queries/similar-chains.js +0 -2
  626. package/dist/queries/slice.d.ts +0 -4
  627. package/dist/queries/slice.js +0 -2
  628. package/dist/queries/stale-abstractions.d.ts +0 -72
  629. package/dist/queries/stale-abstractions.js +0 -2
  630. package/dist/queries/system-map.d.ts +0 -449
  631. package/dist/queries/system-map.js +0 -2
  632. package/dist/queries/trace.js +0 -2
  633. package/dist/queries/twin-ab.d.ts +0 -66
  634. package/dist/queries/twin-ab.js +0 -2
  635. package/dist/queries/value-flow.d.ts +0 -43
  636. package/dist/queries/value-flow.js +0 -2
  637. package/dist/queries/wrapper-candidates.d.ts +0 -34
  638. package/dist/queries/wrapper-candidates.js +0 -2
  639. package/dist/refs-PSU4JZZW.js +0 -2
  640. package/dist/refs-pagination-JG6CJMRC.js +0 -2
  641. package/dist/slice-HYRATV64.js +0 -2
  642. package/dist/source-snippet-_wrcgmZc.d.ts +0 -15
  643. package/dist/stats-OOJ74B32.js +0 -2
  644. package/dist/surface-VTGDYWF5.js +0 -2
  645. package/dist/symbol-resolution-WD5EU5JE.js +0 -2
  646. package/dist/system-LRQNFOR2.js +0 -2
  647. package/dist/trace-F4B6OLL4.js +0 -2
  648. package/dist/value-flow-VRPZY72V.js +0 -2
  649. package/skills/concrete-plan/SKILL.md +0 -8
  650. package/skills/concrete-plan/agents/openai.yaml +0 -4
@@ -1,185 +1,57 @@
1
1
  ---
2
2
  name: scip-integrity-audit
3
- description: Audit whether implementations are real with scip-query. Use for suspected faked or half-implemented features, decorative checkers or verifiers that never fail, dead code paths hidden behind graceful fallbacks, metrics that may be lying, or a "does any of this actually work" interrogation of a system.
4
- metadata:
5
- commands:
6
- - template: 'scip-query search <text>'
7
- when: 'Locate a status word, checker name, adapter, fallback, or metric producer.'
8
- - template: 'scip-query outline <file>'
9
- when: 'Inventory the callables in a known file before choosing a drill target.'
10
- - template: 'scip-query evidence --symbol <symbol> --edge <family> --direction <direction> --depth <n> --max-edges <n>'
11
- when: 'Project callers, callees, or dataflow around a checker, adapter, fallback, or metric.'
12
- - template: 'scip-query inspect --at <file:line> --view behavior'
13
- when: 'Read connected behavior for a named remaining gap after graph evidence.'
14
- - template: 'scip-query code <selector>'
15
- when: 'Read exact implementation syntax only when the body itself can change the verdict.'
16
- - template: 'scip-query decorative-checkers -s <scope> --json'
17
- when: 'Shortlist validate/verify/check/assert/is/has callables with no reachable failure exit.'
18
- - template: 'scip-query not-implemented -s <scope> --json'
19
- when: 'Shortlist reachable placeholder stubs that a real caller can actually reach.'
20
- - template: 'scip-query test-quality -s <scope> --json'
21
- when: 'Check regression artifacts and tests for assertion-free bodies, skip rot, and mock-echo.'
22
- - template: 'scip-query twin-drift -s <scope> --json'
23
- when: 'Find same-name or near-name twins whose bodies have silently diverged.'
24
- - template: 'scip-query twin-ab <symbolA> <symbolB>'
25
- when: 'Scaffold a table-driven comparison of two same-concept twins on a shared input.'
3
+ description: Investigate whether a feature fulfills its promised behavior through live consumers. Find partial implementations, decorative checks, ineffective parser migrations, competing implementations, misleading results, and tests validating their own assumptions.
26
4
  ---
27
5
 
28
- # scip-integrity-audit
29
-
30
- <!-- BEGIN GENERATED SKILL COMMANDS -->
31
- ## Command and question manual
32
-
33
- | Command syntax | Question it answers |
34
- | --- | --- |
35
- | `scip-query search <text>` | Locate a status word, checker name, adapter, fallback, or metric producer. |
36
- | `scip-query outline <file>` | Inventory the callables in a known file before choosing a drill target. |
37
- | `scip-query evidence --symbol <symbol> --edge <family> --direction <direction> --depth <n> --max-edges <n>` | Project callers, callees, or dataflow around a checker, adapter, fallback, or metric. |
38
- | `scip-query inspect --at <file:line> --view behavior` | Read connected behavior for a named remaining gap after graph evidence. |
39
- | `scip-query code <selector>` | Read exact implementation syntax only when the body itself can change the verdict. |
40
- | `scip-query decorative-checkers -s <scope> --json` | Shortlist validate/verify/check/assert/is/has callables with no reachable failure exit. |
41
- | `scip-query not-implemented -s <scope> --json` | Shortlist reachable placeholder stubs that a real caller can actually reach. |
42
- | `scip-query test-quality -s <scope> --json` | Check regression artifacts and tests for assertion-free bodies, skip rot, and mock-echo. |
43
- | `scip-query twin-drift -s <scope> --json` | Find same-name or near-name twins whose bodies have silently diverged. |
44
- | `scip-query twin-ab <symbolA> <symbolB>` | Scaffold a table-driven comparison of two same-concept twins on a shared input. |
45
-
46
- These commands are controls, not a checklist. Use every capability needed by the task, but make each query answer a distinct question. There is no required sequence or query limit. Run a command's `--help` when you need a flag not shown in its template.
47
- <!-- END GENERATED SKILL COMMANDS -->
48
-
49
- Use this skill to interrogate whether a system's claims are backed by real
50
- implementations. Structural review asks "is this well organized?"; this skill
51
- asks **"is this real?"** it hunts decorative checkers, adapters written
52
- against imagined data, features that have silently never run, and numbers
53
- nobody ever recomputed.
54
-
55
- Use `$scip-query` locators and evidence projections to inventory producers.
56
- `health --full` does not run the integrity detectors; call
57
- `decorative-checkers`, `not-implemented`, `test-quality`, and `twin-drift`
58
- directly.
59
-
60
- ## The Stance
61
-
62
- A green result you have never seen fail is unverified. Every status word,
63
- banner, and metric is testimony from the code, not evidence about the code
64
- cross-examine the producer before believing it. The most dangerous code is
65
- not broken code; it is code that reports success without doing the work.
66
-
67
- ## Drills
68
-
69
- Run all five over the chosen scope. Each has a checkable exit.
70
-
71
- ### 1. Falsify every checker
72
-
73
- Inventory everything in scope that accepts/rejects, passes/fails, or
74
- validates (checkers, gates, verifiers, validators — find producers with
75
- `search` on the status words in output, then `evidence` execution incoming
76
- and outgoing). For each one, construct an input that MUST fail — a wrong
77
- binding, a corrupt file, an impossible value and run it. A checker that
78
- passes its should-fail input is decorative: file it as a defect, not a note.
79
- Before filing, attempt the defense: an accusation triggers a rewrite, so
80
- search for the failure exit the drill may have missed — a config-gated
81
- branch, an async rejection, one-hop delegation (the calibration's known
82
- noise archetypes). File the defect with the executed should-fail input
83
- attached and the defense attempt noted; a defense that succeeds clears the
84
- checker and stays in the record as its witness.
85
- Complete only when every checker in scope has been witnessed rejecting a
86
- constructed should-fail input, or is listed with a reason it cannot be.
87
-
88
- Mechanized by: `scip-query decorative-checkers` finds `validate*`/`verify*`/
89
- `check*`/`assert*`/`is*`/`has*` callables with no reachable failure exit
90
- anywhere in their body (calibrated 2026-07-03 against two external repos —
91
- standalone-only; noise archetypes past one-hop delegation in
92
- `docs/validation/2026-07-03-integrity-detector-calibration.md`). Run it first
93
- to shortlist candidates before hand-constructing should-fail inputs.
94
-
95
- ### 2. Diff every adapter against captured reality
96
-
97
- For each parser/adapter of an external format (tool output, XML/JSON
98
- schemas, protocol messages): obtain ONE real sample from the actual source
99
- and diff it against the code's assumptions and the tests' fixtures. Ask of
100
- every fixture: was this generated from reality, or imagined? A parser and a
101
- hand-written fixture can validate each other's shared hallucination
102
- indefinitely.
103
- Complete only when every adapter has been checked against at least one
104
- captured-real sample.
105
-
106
- ### 3. Autopsy every fallback
107
-
108
- Graceful degradation is where dead features hide: a primary path that has
109
- never worked looks identical to a healthy fallback. For every catch block,
110
- `?? fallback`, and degraded mode in scope: produce an execution witness that
111
- the PRIMARY path runs (a test, a probe, a log). Use `evidence` execution and
112
- `inspect --view behavior` for branch reachability. A fallback that always
113
- fires means the feature above it is dead — date of death: birth.
114
- Complete only when every fallback's primary path has a witness or a filed
115
- defect.
116
-
117
- Mechanized by: `scip-query not-implemented` finds reachable placeholder
118
- stubs (`throw new Error('not implemented')`, TODO-comment + return-default,
119
- empty bodies) that a real caller, entry surface, or package-surface export
120
- can actually reach — the graph fact that separates "primary path never
121
- built" from `dead`'s "primary path built but unreferenced." Standalone-only
122
- (calibrated 2026-07-03; 0 live findings on two external repos post-fix, see
123
- the calibration report) — treat a clean run as "nothing this shape found,"
124
- not as "every fallback's primary path is proven live."
125
-
126
- ### 4. Hand-compute every metric twice
127
-
128
- For each number the system reports (scores, counts, estimates): pick two
129
- concrete instances, compute the expected value by hand from first
130
- principles, and compare. Off-by-a-factor errors (double counting, inflated
131
- estimates) survive for years because nobody ever recomputes one sample.
132
- Complete only when every reported metric has two hand-verified samples.
133
-
134
- ### 5. Cross-examine same-concept twins
135
-
136
- Where one concept is computed in more than one place, feed both the same
137
- input and require the same answer. `twin-drift` finds the same-name cases
138
- mechanically; for same-concept-different-name pairs, project consumers with
139
- `evidence` execution incoming and compare implementations with `code`. Once
140
- a pair is identified, `scip-query twin-ab <symbolA> <symbolB>` scaffolds a
141
- table-driven vitest file that imports both and asserts equal output —
142
- fill in the input table and run it. Disagreement between twins means at
143
- least one is wrong — determine which before consolidating.
144
- Complete only when every discovered twin pair has been compared on a shared
145
- input.
146
-
147
- ## Severity
148
-
149
- Rank findings by what the failure does to a user who trusted the output:
150
- a decorative checker or false "verified" banner outranks everything; a
151
- dead-but-fallbacked feature outranks a wrong metric; a wrong metric outranks
152
- structural mess. Structural findings are real, but they are not lies — do
153
- not fold them into the integrity verdict.
154
-
155
- ## Reporting
156
-
157
- File each finding with: the claim as displayed, the producer (file:line),
158
- the drill that exposed it, the should-fail input or real sample used, and
159
- the fix. The audit is complete only when every drill's exit criterion is
160
- met for the scope, and every defect found has a regression artifact — a
161
- test, fixture, or model that fails on the pre-fix behavior.
162
-
163
- End with a derived verdict, not an impression:
164
-
165
- ```markdown
166
- Integrity: <scope> — <c> checkers witnessed failing, <a> adapters diffed
167
- against reality, <f> fallback primaries witnessed live, <m> metrics
168
- recomputed, <t> twins compared; <d> defects filed, <u> unverifiable (reasons)
169
- ```
170
-
171
- A suspect scope that produces zero defects is itself a claim: state what
172
- made the suspicion wrong, or rerun the drill that should have caught it.
173
-
174
- A regression artifact that doesn't actually assert anything, or asserts the
175
- same literal it stubbed into its own mock, is a fake witness — the same
176
- "reports success without doing the work" failure mode this skill hunts in
177
- production code, just relocated to the test suite. Run `scip-query
178
- test-quality -s <scope>` over the audit's own regression artifacts (and,
179
- periodically, over the suite at large) to catch this: assertion-free test
180
- bodies, a skipped-test ledger with git-blame age (a skip with no fix date
181
- attached is a claim nobody is checking), and mock-echo (a test that only
182
- proves its own stub). Standalone-only, mixed precision by sub-check
183
- (calibrated 2026-07-03): assertion-free and skipped are high-precision;
184
- mock-echo is intentionally low-precision (syntactic same-literal matching,
185
- not dataflow) — treat its output as a reviewed candidate list, not a verdict.
6
+ # SCIP Integrity Audit
7
+
8
+ Load `$scip-query` for mechanics and `$scip-explore` when the live path is unknown. Ask “is this real?”: does the implementation produce the outcome its user or consumer relies on?
9
+
10
+ Use the [implementation-integrity command guide](../scip-query/references/command-guide.md#implementation-integrity) to select a detector for a named concern. Its rows describe what each pattern can miss or misclassify; no detector replaces the live-path investigation below.
11
+
12
+ An integrity defect is a mismatch between promised behavior and the behavior the live implementation provides. Establish the promise from the task, public contract, consumers, and relevant tests—not a function name alone. A fallback is an alternative selected when another implementation fails or is unavailable; its use cannot support a stronger guarantee than it provides.
13
+
14
+ Do not attribute intentions such as cheating to an agent or author. Report the concrete shortcut, missing operation, unsupported claim, and consequence.
15
+
16
+ ## Establish promise and live path
17
+
18
+ State which input should produce which result, rejection, or durable effect. Record uncertainty when requirements are unclear; do not invent a stronger feature and call its absence a defect.
19
+
20
+ Trace the actual command/API/worker through selected implementations, configuration, effects, fallbacks, and consumers. Inventory plausible parallel implementations even with different names. An installed parser, new class, or unit test calling a helper does not prove production consumers use it.
21
+
22
+ Choose investigations below for actual evidence gaps. There is no mandatory all-detector battery or requirement to manufacture a finding.
23
+
24
+ ## Investigate the mechanism
25
+
26
+ | Concern | Investigation |
27
+ | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
28
+ | Success without checking | Run valid and deliberately invalid cases through the public path with independent expected results. Inspect delegated/asynchronous failure before declaring a decorative checker. |
29
+ | Feature works only through fallback | Observe primary success and induced failure. Establish the selected path, result/effects, and whether degraded behavior is disclosed. |
30
+ | Parser assumes an imagined format | Feed the actual parser/version representative captured input or valid language examples. Verify the consuming traversal and output, not a node merely appearing somewhere. |
31
+ | Replacement beside old mechanisms | Trace relevant ingress/configuration variants. Compare cases distinguishing their guarantees; account for consumers and retirement. |
32
+ | Status or metric overstates evidence | Trace inputs and coverage to the supporting operation. Independently calculate distinguishing examples; test omissions, errors, and partial results. |
33
+ | Tests share implementation mistakes | Exercise a real consumer with independent expected results. Checking only a mocked value does not verify the feature. |
34
+
35
+ A literal “pass” in a correctly checked branch can be justified; a computed status can be wrong. A failed branch probe is not proof of unreachability. A clean detector result establishes only that supported patterns were not found within coverage.
36
+
37
+ `decorative-checkers`, `not-implemented`, `test-quality`, `incomplete-migration`, and `twin-drift` shortlist candidates. Check help and limits; run only for a relevant gap. `health` does not run every integrity detector.
38
+
39
+ ## Parser migration example
40
+
41
+ A syntax tree represents grammatical structure; name resolution connects references to declarations; executing a test observes exercised behavior. Parsing alone cannot fulfill a promise of compiler-backed identity.
42
+
43
+ For a regex-to-parser migration, exercise the live route with relevant multiline constructs, comments/strings containing code-like text, nested expressions, aliases, or shadowed names. Establish expected output independently.
44
+
45
+ Look for parser wrappers still delegating to regex, copied extraction rules, unsupported syntax silently returning success, and tests bypassing the live consumer. Regex is appropriate for literal search or a deliberately bounded text format. The defect is claiming guarantees the mechanism cannot establish.
46
+
47
+ Read [integrity probes](references/integrity-probes.md) when parser, fallback, or comparison details matter.
48
+
49
+ ## Record a justified verdict
50
+
51
+ For each promise record expected behavior and its source, live producer/consumer, executed input/path, expected versus actual results/effects, verdict, limits, and regression check.
52
+
53
+ Test the strongest explanation that would make suspected behavior correct: distinct contract, delegated check, compatibility path, or explicitly weaker guarantee. Preserve counterevidence. Names or different outputs alone do not establish a defect.
54
+
55
+ For authorized substantial fixes use `$scip-plan`. Add a regression check distinguishing old from required behavior, fix the live owner, migrate consumers, and retire obsolete mechanisms where justified. Run behavioral tests, review actual changes, and fresh impact.
56
+
57
+ Report inventory coverage separately from executed behavior. List unexercised paths and consequences. One favorable example does not verify a whole feature, and a candidate scan does not audit a whole repository.
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: 'scip integrity audit'
3
- short_description: 'Interrogate whether implementations are real: falsify checkers, diff adapters against reality, autopsy fallbacks.'
4
- default_prompt: 'Run the scip-integrity-audit drills over this codebase and report every decorative checker, dead-behind-fallback feature, and lying metric.'
2
+ display_name: "SCIP Integrity Audit"
3
+ short_description: "Check whether features fulfill their promises."
4
+ default_prompt: "Use $scip-integrity-audit to trace promised behavior through live consumers and test for partial implementations or misleading results."
@@ -0,0 +1,27 @@
1
+ # Integrity probes
2
+
3
+ Use isolated fixtures, temporary repositories, or local test seams without changing user data. An execution witness records input, actual entry path, and observed results/effects. Establish expected outcomes independently.
4
+
5
+ ## Parsers and identities
6
+
7
+ Run the parser version selected by production and pass its output through the real traversal/adapter. Assert the public result. Finding an expected node somewhere does not prove the consuming branch is reachable under its parent and guards.
8
+
9
+ When identity matters, test identical spellings with different lexical owners. Exercise relevant comments, whitespace, aliases, nesting, and alternate supported forms. Disclose unsupported forms; a text approximation cannot justify a compiler-backed claim.
10
+
11
+ If a probe misses a branch, question the probe, enclosing conditions, configuration, and grammar version. Establish a counterexample or grammar contradiction before declaring dead code. Capture representative real external inputs when possible; minimal grammar examples serve a distinct purpose.
12
+
13
+ ## Primary and fallback paths
14
+
15
+ Exercise primary success, expected unavailability, meaningful failure, and consumer response. Use observable results/calls or a narrow test seam to distinguish paths. Check swallowed failures, partial state, and weakened guarantees. An intentional fallback is valid if it meets the contract or accurately reports limits; relabeling cannot fix a required missing capability.
16
+
17
+ ## Parallel implementations
18
+
19
+ Locate ingresses and configuration variants before choosing a canonical owner. Compare contracts including errors, order, state, and compatibility. For paths intended to agree, run distinguishing inputs against both, including adverse cases. Differences can be intentional, and agreement on samples is not universal equivalence.
20
+
21
+ After migration, verify routing. Importing a replacement directly in a test does not establish that the command/worker/API stopped using the old implementation.
22
+
23
+ ## Checks and metrics
24
+
25
+ Exercise a valid case so an always-failing checker cannot look correct, and an invalid case so an always-passing checker cannot look correct. When practical, remove the relevant operation and confirm the regression check fails. Do not require destructive production execution.
26
+
27
+ Recompute metric examples that distinguish plausible defects, such as double counting or missing coverage. A fixed sample count does not establish the whole calculation. Classify status by supporting evidence: constants can describe static support accurately, while computed values can overstate readiness. Follow errors, partial output, and stale inputs to consumers.
@@ -1,86 +1,60 @@
1
1
  ---
2
2
  name: scip-plan
3
- description: Write a concise, code-grounded implementation plan for a non-trivial feature, fix, refactor, migration, or retirement. Use scip-query as the primary repository exploration surface and cite exact owners, relationships, behavior, and consumers.
4
- metadata:
5
- commands:
6
- - template: 'scip-query search <text>'
7
- when: 'Locate exact repository text, a runtime key, or a compiler symbol; use `scip-query search -- <text>` when the literal starts with a dash.'
8
- - template: 'scip-query outline <file>'
9
- when: 'Locate compiler-owned constructs in a known file.'
10
- - template: 'scip-query entrypoints <text>'
11
- when: 'Locate an external callable root when its entry surface is known.'
12
- - template: 'scip-query evidence --symbol <symbol> --edge <family> --direction <direction> --depth <n> --max-edges <n>'
13
- when: 'Project explicitly selected typed relationships from one exact root.'
14
- - template: 'scip-query inspect --at <file:line> --view behavior'
15
- when: 'Read connected behavior for a named implementation gap.'
16
- - template: 'scip-query code <selector>'
17
- when: 'Read exact source only when syntax itself can change the decision.'
18
- - template: 'scip-query diff-impact'
19
- when: 'Map changed symbols and downstream consumers after an edit.'
20
- - template: 'scip-query architecture'
21
- when: 'Validate declared structural boundaries.'
22
- - template: 'scip-query health --full'
23
- when: 'Run configured cleanup and quality detectors.'
3
+ description: Plan changes by mapping the existing system end to end, finding comparable features and conventions, and documenting how to reuse or extend current owners instead of creating parallel implementations.
24
4
  ---
25
5
 
26
6
  # SCIP Plan
27
7
 
28
- Write a plan that another coding agent can execute without rediscovering the relevant system.
8
+ Load `$scip-query` for mechanics and use `$scip-explore` to establish the existing behavior the change will touch. Reuse facts already established by current evidence. A plan is an ordered set of concrete changes and checks another agent can execute without rediscovering the system.
29
9
 
30
- <!-- BEGIN GENERATED SKILL COMMANDS -->
31
- ## Command and question manual
10
+ The [planning and change-review commands](../scip-query/references/command-guide.md#orientation-and-change-review) distinguish a pre-change briefing, proposed symbol impact, actual diff metrics and downstream consumers. Choose the one that settles the current planning question; do not run them all for the same fact.
32
11
 
33
- | Command syntax | Question it answers |
34
- | --- | --- |
35
- | `scip-query search <text>` | Locate exact repository text, a runtime key, or a compiler symbol; use \`scip-query search -- <text>\` when the literal starts with a dash. |
36
- | `scip-query outline <file>` | Locate compiler-owned constructs in a known file. |
37
- | `scip-query entrypoints <text>` | Locate an external callable root when its entry surface is known. |
38
- | `scip-query evidence --symbol <symbol> --edge <family> --direction <direction> --depth <n> --max-edges <n>` | Project explicitly selected typed relationships from one exact root. |
39
- | `scip-query inspect --at <file:line> --view behavior` | Read connected behavior for a named implementation gap. |
40
- | `scip-query code <selector>` | Read exact source only when syntax itself can change the decision. |
41
- | `scip-query diff-impact` | Map changed symbols and downstream consumers after an edit. |
42
- | `scip-query architecture` | Validate declared structural boundaries. |
43
- | `scip-query health --full` | Run configured cleanup and quality detectors. |
12
+ Plan changes spanning owners, consumers, dependencies, migrations, or several implementation steps. Skip a document for one obvious edit. Persist substantial plans in the project's normal location, usually `docs/plans/YYYY-MM-DD-<change>.md`, when they must survive a context reset.
44
13
 
45
- These commands are controls, not a checklist. Use every capability needed by the task, but make each query answer a distinct question. There is no required sequence or query limit. Run a command's `--help` when you need a flag not shown in its template.
46
- <!-- END GENERATED SKILL COMMANDS -->
14
+ ## Map the existing system before designing the change
47
15
 
48
- <!-- BEGIN GENERATED EXPLORATION MANUAL -->
49
- ### Choose a relationship deliberately
16
+ State the requested observable outcome. Then establish how the affected operation works today, from its actual initiating surface to the result its consumer observes. Cover the relevant authorization and validation, dispatch or registration, transformations, shared services, durable state changes, runtime handoffs, notifications, returned values, and failure/recovery paths. Follow queued work through its consumer when completion depends on that consumer. Bound this investigation to facts that can change the plan; an end-to-end map does not require reading the entire repository.
50
17
 
51
- | Question | Evidence family | Direction |
52
- |---|---|---|
53
- | Who can call or reach this? | `execution` | `incoming` |
54
- | What can this call or reach? | `execution` | `outgoing` |
55
- | Where can this value come from? | `dataflow` | `incoming` |
56
- | Where can this value go? | `dataflow` | `outgoing` |
57
- | Which producer and consumer rendezvous? | `runtime` | `both` |
58
- | What resource is observed or changed? | `state` | `both` |
59
- | What occurs before or after this? | `temporal` | `both` |
60
- | What interface constrains this? | `contract` | `both` |
61
- | Are these observations the same entity? | `identity` | `both` |
62
- | What contains or owns this? | `ownership` | `both` |
63
- | What does this statically rely on? | `dependencies` | `outgoing` |
18
+ Locate the entry surface with ordinary repository search; use `entrypoints` when external roots are unclear. Use `context` for reuse candidates and `evidence` for the execution, runtime or dependency relationships needed to connect the existing path and consumers. Read implementation details with ordinary file tools; symbol-aware reads are optional. Choose commands to settle facts, not to complete a fixed query checklist. A module inventory, a matching type, a helper's implementation or the first search result does not establish the operation's live path.
64
19
 
65
- Use exact evidence as an observed fact only within its coverage. Derived evidence is deterministically computed; candidate evidence is a lead; mixed evidence must retain its constituent strengths; unknown evidence cannot support a stronger claim. Missing output is not evidence of absence.
20
+ Find existing features that perform the same operation or a closely related one, including features with different names that use the same resource, service, registration mechanism or state transition. Trace a relevant working example through its real consumer and shared owner. Compare its contracts with the requested change: inputs, policies, state, effects and completion behavior. If several implementations exist, establish which serves the affected entry surface, which others remain live, and whether one is a compatibility path or an incomplete migration.
66
21
 
67
- The controls above are complete for ordinary exploration. Run `scip-query capabilities --matrix` only when a named claim depends on uncertain provider support; do not run it for routine orientation.
68
- <!-- END GENERATED EXPLORATION MANUAL -->
22
+ A shared implementation path is the connected code several features use to enforce the same rules or update the same state, such as a dispatcher, policy service and persistence operation. Identify that path before proposing a new handler, service, registry, store or copy of its rules. Find its supported extension points and the consumers they serve. Prefer extending that path and reusing its existing code when its contracts fit the request.
69
23
 
70
- scip-query is a repository exploration surface: an indexed code reader that joins exact current text to compiler-owned identities and typed relationships. Use it as the primary exploration surface for tracked repository text. Treat its commands as controls, not a checklist. Use every capability needed by the change, but make each query answer a distinct repository question. There is no mandatory sequence, required anchor phase, or query-count limit.
24
+ Code conventions are recurring implementation choices in working features that coordinate how those features integrate, such as registration, dependency injection, error handling and test setup. Record the conventions demonstrated by the comparable features, with exact references. Follow them unless a verified defect or a requirement makes them unsuitable; in that case, explain the constraint and plan the coherent change and any consumer migration. Do not create a second implementation merely because a new file is easier to write, or copy an existing defect to match its style.
71
25
 
72
- Before planning, understand the relevant initiating surfaces, behavior owners, decisions, data transformations, effects, consumers, existing reuse opportunities, and structural constraints. Use one discriminating locator and reuse its results as graph roots; do not repeat generic synonym searches after usable candidates exist. When several implementations match, compare their entry surfaces, incoming execution, ownership, callers, or runtime connections before selecting one. Locator results are graph roots, not relevance rankings. Read coverage and recovery before making complete-set or absence claims. Use native tools only for edits, checks, binary content, or a specific unsupported gap reported by scip-query.
26
+ Before deciding that no reusable implementation exists, resolve relevant search and graph coverage gaps and examine the nearest related owners and features. Record the searched scope and remaining uncertainty. Missing, bounded or unsupported evidence does not establish absence. If an unresolved fact could change placement or reuse, keep that design decision unresolved and continue independent work; do not fill the gap with a speculative parallel implementation.
73
27
 
74
- Do not write a plan for one obvious local edit. Write one when correctness depends on several owners or files, downstream consumers, a migration or retirement, reuse of existing behavior, architecture rules, or several coherent implementation slices. Put it in `docs/plans/YYYY-MM-DD-<name>.md` only when it must survive a context reset.
28
+ Use `$scip-architecture-review` for design assessment and `$scip-integrity-audit` when multiple paths, advertised behavior or an apparent replacement may conceal an incomplete implementation.
75
29
 
76
- ## Plan shape
30
+ ## Record the evidence in the plan
77
31
 
78
- State the observable outcome in one or two sentences. Explain the current behavior with exact symbol and file/line references. Then use this table:
32
+ Before the proposed implementation steps, include these sections in every substantial plan:
79
33
 
80
- | Step | Code reference | Change | Preserve or retire | Verify |
81
- | --- | --- | --- | --- | --- |
82
- | Coherent implementation slice | Exact symbol and file/line | Concrete edit and why it belongs here | Existing behavior to keep or residue to remove | Check that fails when the outcome is absent |
34
+ - **Existing flow:** an ordered account or compact diagram from the initiating surface through the current owners and effects to observable completion, with exact symbol or file/line references. Include the relevant alternative outcomes and recovery behavior. Name the component that owns each rule and resource and any lifetime or sharing scope that affects the change.
35
+ - **Comparable features and conventions:** the working examples inspected, the shared path they use, their relevant contracts, and the conventions the change should follow. Separate observed facts from proposed choices. When no analogue was found, record the actual search scope and limits instead of asserting that none exists throughout the codebase.
36
+ - **Reuse and ownership decisions:** the existing symbols or modules to call, extend or adapt, where the new behavior enters the established flow, and the consumers affected. For a proposed new owner or parallel path, state why extending the existing owner cannot meet the requirement and how responsibility stays clear. A deliberate replacement must name the consumers to migrate and the old path to retire.
83
37
 
84
- Order the rows so each leaves the repository in a valid state. Include the relevant entry point, behavior owner, downstream consumers, reuse candidates, architecture constraints, migration or cleanup, and validation. Label design choices as choices. Include an open-uncertainty section only when an unresolved repository fact can change the implementation, and name the exact scip-query command that would answer it.
38
+ Another agent must be able to identify the existing central path and implement the extension from this record. Statements such as “follow existing patterns,” “reuse the service,” or “the system was explored” are insufficient without the actual path, references and decisions. Resolve contradictions between the proposed design and the observed implementation before marking the plan ready for dependent implementation. Planning does not add a user approval requirement.
85
39
 
86
- The plan is ready when another agent can implement it without a broad repository rediscovery pass.
40
+ ## Write executable steps
41
+
42
+ | Step | Code reference | Change | Preserve or retire | Verify |
43
+ | -------------------------------- | ---------------------------------- | ------------------------- | --------------------------------------------------- | ------------------------------------------------ |
44
+ | One coherent implementation step | Exact owner and relevant consumers | Concrete edit and purpose | Behavior, interfaces, state, or obsolete mechanisms | Check detecting the missing or incorrect outcome |
45
+
46
+ Order steps so earlier changes enable later ones and intermediate states are valid or have an explicit migration/rollback strategy. Give each rule/resource an identified owner. Name consumers that must migrate and legacy entry points, fallbacks, registrations, copies, and documentation to retire.
47
+
48
+ Preserve authorization, errors, bounds, defaults, operation/record identity, lock scope, order, retries, interruption, and cleanup where applicable. Do not hide unresolved decisions behind “wire it up,” “use the parser,” or “add tests.”
49
+
50
+ Validation must exercise promised behavior through a real consumer. Include a check that would fail if the new feature bypassed the shared registration, policy, state-management or persistence path it is meant to extend. Verify the relevant decisions and observable effects; a test of an isolated new helper or a mock replacing the shared path does not establish integration. Record independent expected outputs/failures when they distinguish a real fix from a shortcut. For a parser migration, include syntax that defeats the old method and evidence that the live consumer uses the replacement. Do not require arbitrary counts of tests, examples, alternatives, or unrelated performance targets.
51
+
52
+ ## Execute and update
53
+
54
+ Continue already-authorized implementation; planning does not create another approval gate. Before dependent edits, use the recorded existing flow and reuse decisions. If implementation reveals a missed owner, convention or existing feature, update the plan and affected steps before proceeding with a conflicting design. Update completed work and verified facts. Record material findings as fixed, retained with reason, or unresolved with missing evidence. Retire superseded steps so later agents do not repeat them.
55
+
56
+ Run focused behavioral tests and required repository checks. Run `scip-query review --base <commit>`, fresh `diff-impact`, and architecture checks when dependencies changed. Investigate findings without changing thresholds or policy to conceal them. Repeat checks after relevant changes, not the entire suite after every small step.
57
+
58
+ During diff review, compare the implemented entry-to-result flow with the plan. Confirm that the real consumer reaches the intended shared owner, existing callers retain their required behavior, and new code has not duplicated registration, policy checks, data access or state ownership elsewhere. For a replacement, verify the named consumers migrated and the obsolete path was retired. Clean complexity metrics alone do not establish reuse or correct integration.
59
+
60
+ Report outcomes, actual validation, remaining limits, and migration status. Checking off implementation steps does not establish that the promised outcome works.
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: 'SCIP Plan'
3
- short_description: 'Write concise repository-grounded implementation plans'
4
- default_prompt: 'Use $scip-plan to explore the relevant system with scip-query and write a concise implementation plan grounded in exact symbol and file/line references.'
3
+ short_description: 'Map existing flows and plan around shared owners.'
4
+ default_prompt: 'Use $scip-plan to map the existing system end to end, inspect comparable features and conventions, and document the shared path, exact code to reuse or extend, and integration checks before proposing implementation steps.'