codebaseiq 0.1.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 (432) hide show
  1. package/CHANGELOG.md +481 -0
  2. package/LICENSE +202 -0
  3. package/README.md +349 -0
  4. package/dist/augment-vue-worker.js +2 -0
  5. package/dist/call-graph-evidence-gNsxjCW8.d.ts +16 -0
  6. package/dist/change-analysis-types-CCtoCHbC.d.ts +9 -0
  7. package/dist/chunk-2Q2LW5JW.js +14 -0
  8. package/dist/chunk-2X7V4HS4.js +88 -0
  9. package/dist/chunk-34WBMAYK.js +2 -0
  10. package/dist/chunk-35NLDRZC.js +2 -0
  11. package/dist/chunk-362QOSFD.js +3 -0
  12. package/dist/chunk-3IER7Q6H.js +12 -0
  13. package/dist/chunk-3JSXXYTZ.js +345 -0
  14. package/dist/chunk-3LCDIREB.js +4 -0
  15. package/dist/chunk-476NR5B7.js +2 -0
  16. package/dist/chunk-4FC325IF.js +30 -0
  17. package/dist/chunk-4WKDMDEW.js +9 -0
  18. package/dist/chunk-4XTAUQFD.js +2 -0
  19. package/dist/chunk-5PUWMSDU.js +26 -0
  20. package/dist/chunk-5VKBFZZU.js +3 -0
  21. package/dist/chunk-6BQ3DSPK.js +2 -0
  22. package/dist/chunk-6CS3UQTN.js +3 -0
  23. package/dist/chunk-6MUIJMVL.js +6 -0
  24. package/dist/chunk-6NW7MU72.js +40 -0
  25. package/dist/chunk-6OAHRI2D.js +6 -0
  26. package/dist/chunk-6YTSKJJ3.js +2 -0
  27. package/dist/chunk-7FND7D7N.js +2 -0
  28. package/dist/chunk-7MGU3HPH.js +2 -0
  29. package/dist/chunk-7NVGT435.js +2 -0
  30. package/dist/chunk-7XAN6GKB.js +2 -0
  31. package/dist/chunk-AAQQPKCU.js +2 -0
  32. package/dist/chunk-ADTBPVUZ.js +21 -0
  33. package/dist/chunk-AKB7V7TV.js +2 -0
  34. package/dist/chunk-ANFVSJWQ.js +11 -0
  35. package/dist/chunk-B2OB55RR.js +3 -0
  36. package/dist/chunk-B3UYV66Z.js +4 -0
  37. package/dist/chunk-B75HZHUP.js +2 -0
  38. package/dist/chunk-BFFZDZQV.js +2 -0
  39. package/dist/chunk-BGBBVSH4.js +2 -0
  40. package/dist/chunk-BH5F2Q4O.js +2 -0
  41. package/dist/chunk-BJ6SQAEN.js +2 -0
  42. package/dist/chunk-BMYOV5GP.js +77 -0
  43. package/dist/chunk-BVAJLC5A.js +7 -0
  44. package/dist/chunk-C6SBF2WH.js +4 -0
  45. package/dist/chunk-C74PPYLA.js +3 -0
  46. package/dist/chunk-C7QOQX32.js +8 -0
  47. package/dist/chunk-CAUCPUOF.js +7 -0
  48. package/dist/chunk-CO5R3UNA.js +2 -0
  49. package/dist/chunk-CQP3THUZ.js +7 -0
  50. package/dist/chunk-CVYSU6BX.js +16 -0
  51. package/dist/chunk-CWONGW6P.js +3 -0
  52. package/dist/chunk-DDZ7VHWV.js +20 -0
  53. package/dist/chunk-DGXRDLV5.js +2 -0
  54. package/dist/chunk-DO6WQD2T.js +3 -0
  55. package/dist/chunk-DQMDCD24.js +2 -0
  56. package/dist/chunk-DR2LURYU.js +3 -0
  57. package/dist/chunk-DRENNWRG.js +2 -0
  58. package/dist/chunk-ECQBG7PW.js +564 -0
  59. package/dist/chunk-EF2R3WNQ.js +2 -0
  60. package/dist/chunk-ELNRLMC5.js +29 -0
  61. package/dist/chunk-EMNIHCRB.js +18 -0
  62. package/dist/chunk-ENCCHKM6.js +5 -0
  63. package/dist/chunk-EZNMUY67.js +5 -0
  64. package/dist/chunk-FAJQ7LWY.js +3 -0
  65. package/dist/chunk-FDGD5AB5.js +2 -0
  66. package/dist/chunk-FETNQCFO.js +117 -0
  67. package/dist/chunk-FM5BPL4V.js +60 -0
  68. package/dist/chunk-FQKZWM4L.js +49 -0
  69. package/dist/chunk-FW53T7EB.js +2 -0
  70. package/dist/chunk-G6XFR4ZL.js +4 -0
  71. package/dist/chunk-GCHRX4YW.js +4 -0
  72. package/dist/chunk-GTIYTDRE.js +562 -0
  73. package/dist/chunk-GTXSJDCO.js +2 -0
  74. package/dist/chunk-GW6Z3WGY.js +2 -0
  75. package/dist/chunk-H3LGFZVK.js +2 -0
  76. package/dist/chunk-HKQUXIFO.js +2 -0
  77. package/dist/chunk-HOA5YGOH.js +3 -0
  78. package/dist/chunk-HPJRBHVT.js +3 -0
  79. package/dist/chunk-HRWGYWRJ.js +49 -0
  80. package/dist/chunk-I2T2LLK2.js +4 -0
  81. package/dist/chunk-ICFDQHAM.js +3 -0
  82. package/dist/chunk-ID63777H.js +4 -0
  83. package/dist/chunk-IJ4HMYBE.js +3 -0
  84. package/dist/chunk-ILMHV3KM.js +2 -0
  85. package/dist/chunk-IOP6FWIM.js +2 -0
  86. package/dist/chunk-IRQOAM5G.js +2 -0
  87. package/dist/chunk-J77SU6VA.js +38 -0
  88. package/dist/chunk-JE3WZ6II.js +2 -0
  89. package/dist/chunk-JEJLSICM.js +4 -0
  90. package/dist/chunk-JOIRNPPY.js +2 -0
  91. package/dist/chunk-JSOYNVWH.js +3 -0
  92. package/dist/chunk-KMITESMT.js +2 -0
  93. package/dist/chunk-KUW32IRO.js +2 -0
  94. package/dist/chunk-KWVHSKHK.js +31 -0
  95. package/dist/chunk-L4NRUAGJ.js +18 -0
  96. package/dist/chunk-L57ZKWVG.js +6 -0
  97. package/dist/chunk-LTA3BRZX.js +2 -0
  98. package/dist/chunk-LU3BMVH2.js +10 -0
  99. package/dist/chunk-LZYFLFEH.js +2 -0
  100. package/dist/chunk-MOVBWNIP.js +16 -0
  101. package/dist/chunk-MVB3DAEY.js +3 -0
  102. package/dist/chunk-N3IQCBCF.js +29 -0
  103. package/dist/chunk-NAUD7LCA.js +2 -0
  104. package/dist/chunk-NCZUNH3E.js +109 -0
  105. package/dist/chunk-NE6IU5ZD.js +5 -0
  106. package/dist/chunk-NEDP5RFQ.js +60 -0
  107. package/dist/chunk-NMTSZXCL.js +2 -0
  108. package/dist/chunk-NNJ2KZZG.js +4 -0
  109. package/dist/chunk-NNO6A2PO.js +2 -0
  110. package/dist/chunk-NNOKTMZT.js +20 -0
  111. package/dist/chunk-O6QTXQPJ.js +13 -0
  112. package/dist/chunk-OANDYLJQ.js +2 -0
  113. package/dist/chunk-OFBE4NGP.js +2 -0
  114. package/dist/chunk-OGTFJ3XD.js +2 -0
  115. package/dist/chunk-OL6KJP3N.js +16 -0
  116. package/dist/chunk-OLF4MA5W.js +8 -0
  117. package/dist/chunk-OTOKVOJ3.js +2 -0
  118. package/dist/chunk-OVTS4DKB.js +2 -0
  119. package/dist/chunk-OZYRSMSH.js +3 -0
  120. package/dist/chunk-P5XHIJHI.js +2 -0
  121. package/dist/chunk-PBI2LFKH.js +2 -0
  122. package/dist/chunk-PIOMTC27.js +2 -0
  123. package/dist/chunk-PTAWHLVJ.js +6 -0
  124. package/dist/chunk-PX4RYAAK.js +2 -0
  125. package/dist/chunk-PYAB5SM6.js +7 -0
  126. package/dist/chunk-Q5ELPRKQ.js +2 -0
  127. package/dist/chunk-Q65CQ4XL.js +2 -0
  128. package/dist/chunk-Q72QSKXC.js +308 -0
  129. package/dist/chunk-QCN62RTF.js +3 -0
  130. package/dist/chunk-QDCCHMVZ.js +2 -0
  131. package/dist/chunk-QHRNXP3C.js +3 -0
  132. package/dist/chunk-QKPLA6IC.js +2 -0
  133. package/dist/chunk-QOKYJ33H.js +2 -0
  134. package/dist/chunk-QW7EP6WI.js +21 -0
  135. package/dist/chunk-R2NOK63J.js +4 -0
  136. package/dist/chunk-RBAS5ZHI.js +2 -0
  137. package/dist/chunk-RDBI2RXU.js +9 -0
  138. package/dist/chunk-RKEJ6VTF.js +73 -0
  139. package/dist/chunk-RR7SX44N.js +35 -0
  140. package/dist/chunk-RU65DDUP.js +215 -0
  141. package/dist/chunk-SELM5MER.js +2 -0
  142. package/dist/chunk-SGX43S2L.js +2 -0
  143. package/dist/chunk-SMRBZ6EC.js +2 -0
  144. package/dist/chunk-SNNWPCN7.js +4 -0
  145. package/dist/chunk-ST7V3SKN.js +2 -0
  146. package/dist/chunk-SWHMHUKF.js +2 -0
  147. package/dist/chunk-SYDJMPES.js +2 -0
  148. package/dist/chunk-SZD2KF7Q.js +2 -0
  149. package/dist/chunk-T3DGWPXM.js +3 -0
  150. package/dist/chunk-TFZB6XTM.js +239 -0
  151. package/dist/chunk-TIIC3ZE7.js +2 -0
  152. package/dist/chunk-TRRC4ZJ7.js +2 -0
  153. package/dist/chunk-TXXOEMZJ.js +2 -0
  154. package/dist/chunk-UBGWN7I4.js +2 -0
  155. package/dist/chunk-UCD3H3UZ.js +5 -0
  156. package/dist/chunk-UDS562V4.js +5 -0
  157. package/dist/chunk-UNBY47BC.js +3 -0
  158. package/dist/chunk-UP3BUZR5.js +74 -0
  159. package/dist/chunk-UXM43C7T.js +3 -0
  160. package/dist/chunk-UZGZB3VB.js +3 -0
  161. package/dist/chunk-VE5AVNMP.js +2 -0
  162. package/dist/chunk-VEXUL62T.js +2 -0
  163. package/dist/chunk-VFY6Y2H6.js +61 -0
  164. package/dist/chunk-VUIYB2V3.js +2 -0
  165. package/dist/chunk-VXYS3FZD.js +23 -0
  166. package/dist/chunk-WE5RZHZ7.js +5 -0
  167. package/dist/chunk-WMPRTGH2.js +2 -0
  168. package/dist/chunk-WOQBZPIF.js +2 -0
  169. package/dist/chunk-XLQ3GLWZ.js +2 -0
  170. package/dist/chunk-XME3HPXZ.js +2 -0
  171. package/dist/chunk-XMQ23E27.js +2 -0
  172. package/dist/chunk-XWUOUWYI.js +2 -0
  173. package/dist/chunk-XZEE23VG.js +5 -0
  174. package/dist/chunk-Y6KHROC3.js +7 -0
  175. package/dist/chunk-YESXMKX3.js +3 -0
  176. package/dist/chunk-YMGZZEW4.js +2 -0
  177. package/dist/chunk-YSNONTJ2.js +2 -0
  178. package/dist/chunk-YUKYB54I.js +1 -0
  179. package/dist/chunk-YVCIMIOC.js +12 -0
  180. package/dist/chunk-Z54RD7VL.js +3 -0
  181. package/dist/chunk-ZKX2FRS6.js +15 -0
  182. package/dist/chunk-ZMI2JSX2.js +2 -0
  183. package/dist/chunk-ZV3JV5G5.js +8 -0
  184. package/dist/chunk-ZZ3MWF33.js +4 -0
  185. package/dist/chunk-ZZXSWSN6.js +2 -0
  186. package/dist/cli-context-3SNLDYBM.js +3 -0
  187. package/dist/cli-context-T3B7W6GG.js +2 -0
  188. package/dist/cli-program-YNOXO72B.js +7 -0
  189. package/dist/cli.js +3 -0
  190. package/dist/code-DlqpBDd0.d.ts +121 -0
  191. package/dist/command-descriptors-6AOUKWW7.js +346 -0
  192. package/dist/command-descriptors-ZFKJSRUP.js +344 -0
  193. package/dist/command-panels-SZONPMLJ.js +3 -0
  194. package/dist/config-types-BNoC96J3.d.ts +560 -0
  195. package/dist/db-D7sauVFH.d.ts +95 -0
  196. package/dist/direct-navigation-DP4LVMRX.js +3 -0
  197. package/dist/direct-navigation-FLUS3BT6.js +2 -0
  198. package/dist/exploration-topology-BG4v30HZ.d.ts +256 -0
  199. package/dist/file-dep-graph-Bqg3t3Px.d.ts +4 -0
  200. package/dist/file-kind-BKCVMNUf.d.ts +10 -0
  201. package/dist/frontend-behavior-evidence-EfM4_9bc.d.ts +4 -0
  202. package/dist/git-history-ChNHbfZQ.d.ts +13 -0
  203. package/dist/graph-evidence-BIFqyisO.d.ts +131 -0
  204. package/dist/health-DJaZXg8I.d.ts +340 -0
  205. package/dist/index.d.ts +183 -0
  206. package/dist/index.js +2 -0
  207. package/dist/invocation-command-descriptors-QT2JMY5J.js +3 -0
  208. package/dist/invocation-command-descriptors-YN4QJEAX.js +2 -0
  209. package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
  210. package/dist/output-continuation-command-2V2SL4TD.js +2 -0
  211. package/dist/output-continuation-command-65J5IP3O.js +3 -0
  212. package/dist/postinstall.js +3 -0
  213. package/dist/project-reindex-5JOKXAXT.js +2 -0
  214. package/dist/project-reindex-UQBIKO4M.js +3 -0
  215. package/dist/queries/affected.d.ts +40 -0
  216. package/dist/queries/affected.js +2 -0
  217. package/dist/queries/anchors.d.ts +123 -0
  218. package/dist/queries/anchors.js +2 -0
  219. package/dist/queries/architecture.d.ts +166 -0
  220. package/dist/queries/architecture.js +2 -0
  221. package/dist/queries/bottlenecks.d.ts +68 -0
  222. package/dist/queries/bottlenecks.js +2 -0
  223. package/dist/queries/by-kind.d.ts +27 -0
  224. package/dist/queries/by-kind.js +2 -0
  225. package/dist/queries/call-graph.d.ts +52 -0
  226. package/dist/queries/call-graph.js +2 -0
  227. package/dist/queries/change-surface.d.ts +55 -0
  228. package/dist/queries/change-surface.js +2 -0
  229. package/dist/queries/cleanup-plan.d.ts +66 -0
  230. package/dist/queries/cleanup-plan.js +2 -0
  231. package/dist/queries/co-change.d.ts +90 -0
  232. package/dist/queries/co-change.js +2 -0
  233. package/dist/queries/code.d.ts +6 -0
  234. package/dist/queries/code.js +2 -0
  235. package/dist/queries/complexity-hotspots.d.ts +61 -0
  236. package/dist/queries/complexity-hotspots.js +2 -0
  237. package/dist/queries/complexity.d.ts +74 -0
  238. package/dist/queries/complexity.js +2 -0
  239. package/dist/queries/context.d.ts +146 -0
  240. package/dist/queries/context.js +2 -0
  241. package/dist/queries/convergence.d.ts +33 -0
  242. package/dist/queries/convergence.js +2 -0
  243. package/dist/queries/coupling.d.ts +32 -0
  244. package/dist/queries/coupling.js +2 -0
  245. package/dist/queries/cycles.d.ts +66 -0
  246. package/dist/queries/cycles.js +2 -0
  247. package/dist/queries/dataflow.d.ts +77 -0
  248. package/dist/queries/dataflow.js +2 -0
  249. package/dist/queries/dead.d.ts +58 -0
  250. package/dist/queries/dead.js +2 -0
  251. package/dist/queries/decorative-checkers.d.ts +34 -0
  252. package/dist/queries/decorative-checkers.js +2 -0
  253. package/dist/queries/deep-chains.d.ts +5 -0
  254. package/dist/queries/deep-chains.js +2 -0
  255. package/dist/queries/dependence-slice.d.ts +46 -0
  256. package/dist/queries/dependence-slice.js +2 -0
  257. package/dist/queries/dependency-depth.d.ts +49 -0
  258. package/dist/queries/dependency-depth.js +2 -0
  259. package/dist/queries/deps.d.ts +15 -0
  260. package/dist/queries/deps.js +2 -0
  261. package/dist/queries/diff-impact.d.ts +165 -0
  262. package/dist/queries/diff-impact.js +2 -0
  263. package/dist/queries/doc-drift.d.ts +115 -0
  264. package/dist/queries/doc-drift.js +2 -0
  265. package/dist/queries/drift.d.ts +79 -0
  266. package/dist/queries/drift.js +2 -0
  267. package/dist/queries/duplicate-bodies.d.ts +55 -0
  268. package/dist/queries/duplicate-bodies.js +2 -0
  269. package/dist/queries/entry-map.d.ts +121 -0
  270. package/dist/queries/entry-map.js +2 -0
  271. package/dist/queries/evidence.d.ts +70 -0
  272. package/dist/queries/evidence.js +2 -0
  273. package/dist/queries/extract-candidates.d.ts +52 -0
  274. package/dist/queries/extract-candidates.js +2 -0
  275. package/dist/queries/fan.d.ts +53 -0
  276. package/dist/queries/fan.js +2 -0
  277. package/dist/queries/files.d.ts +20 -0
  278. package/dist/queries/files.js +2 -0
  279. package/dist/queries/health.d.ts +8 -0
  280. package/dist/queries/health.js +2 -0
  281. package/dist/queries/hierarchy.d.ts +21 -0
  282. package/dist/queries/hierarchy.js +2 -0
  283. package/dist/queries/hotspots.d.ts +42 -0
  284. package/dist/queries/hotspots.js +2 -0
  285. package/dist/queries/imports.d.ts +34 -0
  286. package/dist/queries/imports.js +2 -0
  287. package/dist/queries/incomplete-migration.d.ts +90 -0
  288. package/dist/queries/incomplete-migration.js +2 -0
  289. package/dist/queries/index.d.ts +180 -0
  290. package/dist/queries/index.js +2 -0
  291. package/dist/queries/isolated.d.ts +24 -0
  292. package/dist/queries/isolated.js +2 -0
  293. package/dist/queries/locality-candidates.d.ts +51 -0
  294. package/dist/queries/locality-candidates.js +2 -0
  295. package/dist/queries/members.d.ts +21 -0
  296. package/dist/queries/members.js +2 -0
  297. package/dist/queries/methods.d.ts +43 -0
  298. package/dist/queries/methods.js +2 -0
  299. package/dist/queries/not-implemented.d.ts +33 -0
  300. package/dist/queries/not-implemented.js +2 -0
  301. package/dist/queries/outline.d.ts +22 -0
  302. package/dist/queries/outline.js +2 -0
  303. package/dist/queries/passthrough-candidates.d.ts +41 -0
  304. package/dist/queries/passthrough-candidates.js +2 -0
  305. package/dist/queries/plan-context.d.ts +33 -0
  306. package/dist/queries/plan-context.js +2 -0
  307. package/dist/queries/react-component-duplicates.d.ts +39 -0
  308. package/dist/queries/react-component-duplicates.js +2 -0
  309. package/dist/queries/react-hook-candidates.d.ts +44 -0
  310. package/dist/queries/react-hook-candidates.js +2 -0
  311. package/dist/queries/react-large-component-pressure.d.ts +34 -0
  312. package/dist/queries/react-large-component-pressure.js +2 -0
  313. package/dist/queries/recent-duplicates.d.ts +79 -0
  314. package/dist/queries/recent-duplicates.js +2 -0
  315. package/dist/queries/redundant-reexports.d.ts +37 -0
  316. package/dist/queries/redundant-reexports.js +2 -0
  317. package/dist/queries/reference-neighborhood.d.ts +4 -0
  318. package/dist/queries/reference-neighborhood.js +2 -0
  319. package/dist/queries/reference-reachability.d.ts +48 -0
  320. package/dist/queries/reference-reachability.js +2 -0
  321. package/dist/queries/refs.d.ts +13 -0
  322. package/dist/queries/refs.js +2 -0
  323. package/dist/queries/self-audit.d.ts +65 -0
  324. package/dist/queries/self-audit.js +2 -0
  325. package/dist/queries/similar-chains.d.ts +48 -0
  326. package/dist/queries/similar-chains.js +2 -0
  327. package/dist/queries/similar-files.d.ts +35 -0
  328. package/dist/queries/similar-files.js +2 -0
  329. package/dist/queries/similar-signatures.d.ts +46 -0
  330. package/dist/queries/similar-signatures.js +2 -0
  331. package/dist/queries/similar.d.ts +187 -0
  332. package/dist/queries/similar.js +2 -0
  333. package/dist/queries/slice.d.ts +4 -0
  334. package/dist/queries/slice.js +2 -0
  335. package/dist/queries/source-inspection.d.ts +209 -0
  336. package/dist/queries/source-inspection.js +2 -0
  337. package/dist/queries/source-search.d.ts +85 -0
  338. package/dist/queries/source-search.js +2 -0
  339. package/dist/queries/stale-abstractions.d.ts +72 -0
  340. package/dist/queries/stale-abstractions.js +2 -0
  341. package/dist/queries/stats.d.ts +15 -0
  342. package/dist/queries/stats.js +2 -0
  343. package/dist/queries/surface.d.ts +22 -0
  344. package/dist/queries/surface.js +2 -0
  345. package/dist/queries/symbols.d.ts +14 -0
  346. package/dist/queries/symbols.js +2 -0
  347. package/dist/queries/system-map.d.ts +449 -0
  348. package/dist/queries/system-map.js +2 -0
  349. package/dist/queries/system.d.ts +21 -0
  350. package/dist/queries/system.js +2 -0
  351. package/dist/queries/test-quality.d.ts +56 -0
  352. package/dist/queries/test-quality.js +2 -0
  353. package/dist/queries/trace.d.ts +68 -0
  354. package/dist/queries/trace.js +2 -0
  355. package/dist/queries/twin-ab.d.ts +66 -0
  356. package/dist/queries/twin-ab.js +2 -0
  357. package/dist/queries/twin-drift.d.ts +119 -0
  358. package/dist/queries/twin-drift.js +2 -0
  359. package/dist/queries/unused-imports.d.ts +4 -0
  360. package/dist/queries/unused-imports.js +2 -0
  361. package/dist/queries/unused-params.d.ts +38 -0
  362. package/dist/queries/unused-params.js +2 -0
  363. package/dist/queries/value-flow.d.ts +42 -0
  364. package/dist/queries/value-flow.js +2 -0
  365. package/dist/queries/vue-component-duplicates.d.ts +43 -0
  366. package/dist/queries/vue-component-duplicates.js +2 -0
  367. package/dist/queries/vue-composable-candidates.d.ts +44 -0
  368. package/dist/queries/vue-composable-candidates.js +2 -0
  369. package/dist/queries/vue-large-view-pressure.d.ts +41 -0
  370. package/dist/queries/vue-large-view-pressure.js +2 -0
  371. package/dist/queries/wrapper-candidates.d.ts +34 -0
  372. package/dist/queries/wrapper-candidates.js +2 -0
  373. package/dist/reindex-worker.js +3 -0
  374. package/dist/reindex.d.ts +254 -0
  375. package/dist/reindex.js +298 -0
  376. package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
  377. package/dist/runtime.d.ts +555 -0
  378. package/dist/runtime.js +4 -0
  379. package/dist/rust-semantic-session-server.js +2 -0
  380. package/dist/rust-semantic-session-worker.js +2 -0
  381. package/dist/rust-semantic-worker.js +2 -0
  382. package/dist/scip-cli-B7N3haxa.d.ts +67 -0
  383. package/dist/source-snippet-_wrcgmZc.d.ts +15 -0
  384. package/dist/symbol-types-BIQwfoAx.d.ts +74 -0
  385. package/dist/typescript-mailbox-worker.js +2 -0
  386. package/dist/watch-server.js +8 -0
  387. package/docs/AGENT_GUIDE.md +148 -0
  388. package/docs/AI_FAILURE_MODES.md +43 -0
  389. package/docs/API.md +40 -0
  390. package/docs/API_EVOLUTION.md +77 -0
  391. package/docs/CLI_JSON_OUTPUT.md +389 -0
  392. package/docs/COMMAND_REFERENCE.md +294 -0
  393. package/docs/CONFIGURATION_WRITE_SAFETY.md +131 -0
  394. package/docs/DETECTOR_GUIDE.md +46 -0
  395. package/docs/DURABILITY.md +159 -0
  396. package/docs/INDEX_GENERATIONS.md +167 -0
  397. package/docs/LOCK_PROTOCOL.md +133 -0
  398. package/docs/MAILBOX_LIFECYCLE.md +224 -0
  399. package/docs/REGEX_POLICY.md +36 -0
  400. package/docs/REINDEX_METADATA_COMPATIBILITY.md +104 -0
  401. package/docs/RUST_DURABLE_SESSION_PROTOCOL.md +126 -0
  402. package/docs/SECURITY_MODEL.md +125 -0
  403. package/docs/TELEMETRY_RETENTION.md +84 -0
  404. package/docs/TIME_SEMANTICS.md +77 -0
  405. package/docs/WATCH_REFRESH_REQUESTS.md +123 -0
  406. package/docs/WINDOWS_SIDECAR_RELEASE.md +424 -0
  407. package/docs/accuracy-audit-checklist.md +304 -0
  408. package/docs/accuracy-hardening-goal.md +500 -0
  409. package/docs/analyzer-inventory.md +78 -0
  410. package/docs/analyzer-validation-protocol.md +84 -0
  411. package/docs/architecture-coherence-vision.md +254 -0
  412. package/docs/assets/codebaseiq-logo-dark.svg +21 -0
  413. package/docs/assets/codebaseiq-logo.svg +24 -0
  414. package/docs/locality-analyzer-design.md +193 -0
  415. package/docs/schemas/cli-json-envelope.schema.json +237 -0
  416. package/docs/schemas/cli-output-page.schema.json +104 -0
  417. package/docs/schemas/npm-release-state.schema.json +146 -0
  418. package/docs/schemas/observation-receipt.schema.json +164 -0
  419. package/docs/schemas/project-config.schema.json +318 -0
  420. package/docs/schemas/suppression-record.schema.json +79 -0
  421. package/docs/schemas/windows-sidecar-provenance.schema.json +137 -0
  422. package/package.json +482 -0
  423. package/scripts/build-codebaseiq-windows.mjs +197 -0
  424. package/scripts/codebaseiq-windows-provenance.mjs +364 -0
  425. package/scripts/evidence-product-contract.mjs +197 -0
  426. package/scripts/verify-codebaseiq-windows.mjs +29 -0
  427. package/skills/codebaseiq/SKILL.md +75 -0
  428. package/skills/codebaseiq/agents/openai.yaml +4 -0
  429. package/skills/codebaseiq-explore/SKILL.md +34 -0
  430. package/skills/codebaseiq-explore/agents/openai.yaml +4 -0
  431. package/skills/concrete-plan/SKILL.md +79 -0
  432. package/skills/concrete-plan/agents/openai.yaml +4 -0
@@ -0,0 +1,500 @@
1
+ # Accuracy Hardening and Health Certification Roadmap
2
+
3
+ Date: 2026-07-10
4
+ Status: Complete for private-shadow readiness; public leaderboard remains a separate program
5
+
6
+ > Historical certification record. It preserves the evidence and command
7
+ > names used during the 2026-07 program. See
8
+ > [Analyzer inventory](analyzer-inventory.md) and
9
+ > [Analyzer validation protocol](analyzer-validation-protocol.md) for the
10
+ > current product and evaluation standard.
11
+
12
+ Current execution plan:
13
+ [`2026-07-11-remaining-accuracy-verification-program.md`](./plans/2026-07-11-remaining-accuracy-verification-program.md).
14
+ Closure certificate:
15
+ [`2026-07-11-accuracy-program-closure.md`](./validation/2026-07-11-accuracy-program-closure.md).
16
+
17
+ ## Goal
18
+
19
+ Make codebaseiq's reported health findings trustworthy enough to publish for
20
+ real open-source repositories. Trust is earned per detector, language, and
21
+ evidence capability; it is not inherited from the composite health score or
22
+ from calibration on a different ecosystem.
23
+
24
+ This program uses existing repositories as its primary evidence. Small
25
+ fixtures remain regression tests, while historical fixes and temporary
26
+ mutations in disposable worktrees provide known-positive cases for measuring
27
+ what a detector misses.
28
+
29
+ ## Accuracy Contract
30
+
31
+ Precision is the share of reported findings that satisfy the detector's truth
32
+ rule after the cited code is inspected. Recall is the share of known real
33
+ problems that the detector reports. Precision protects users from false
34
+ accusations; recall measures the problems the tool fails to show. Neither can
35
+ substitute for the other.
36
+
37
+ A truth rule is the repeatable decision procedure that makes two reviewers
38
+ classify the same candidate consistently. Every detector must define its rule
39
+ before its findings are sampled.
40
+
41
+ ### Certification levels
42
+
43
+ | Level | Evidence requirement | Public treatment |
44
+ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
45
+ | Certified | Observed precision at least 95%, conservative 95% confidence lower bound at least 90%, evidence from at least three repositories, and known-positive recall coverage | Actionable finding |
46
+ | Qualified | Observed precision at least 90% but not all certified gates are met | Investigation signal |
47
+ | Experimental | Observed precision below 90% or a known unresolved noise archetype can produce finding walls | Omit from public results; retain for development |
48
+ | Unsupported | Required parser, semantic provider, checker, framework model, or repository input is unavailable | Report `not analyzed`, never zero |
49
+ | Insufficient evidence | Too few reviewed findings or known-positive cases to estimate performance | Report uncertified status, never imply accuracy |
50
+
51
+ The conservative lower bound is the plausible floor after accounting for
52
+ sample size. For orientation, 95 valid rows out of 100 is 95% observed
53
+ precision but does not establish a 90% lower bound; about 97 out of 100 or 190
54
+ out of 200 does.
55
+
56
+ Certification is recorded independently for each detector-language pair and,
57
+ where framework behavior changes reachability, for the applicable framework
58
+ cohort. An aggregate percentage may summarize certified rows, but it must
59
+ never hide an uncertified combination.
60
+
61
+ ## Publication Contract
62
+
63
+ Until certification is complete, the composite health score is a local
64
+ prioritization aid and is not eligible for a public cross-repository
65
+ leaderboard.
66
+
67
+ Public output must:
68
+
69
+ - separate derived measurements, compiler/graph-backed candidates, and
70
+ investigation signals;
71
+ - identify language, detector version, indexer or semantic provider, commit,
72
+ dependency-install state, and capability status;
73
+ - report applicable production files or lines, excluded candidates, and
74
+ exclusion reasons;
75
+ - distinguish a supported zero from `unsupported`, `degraded`, and `not
76
+ analyzed`;
77
+ - normalize applicable findings by production lines or applicable files, not
78
+ by every indexer-emitted symbol;
79
+ - keep React, Vue, Rust macro/trait, Python framework, and other stack-specific
80
+ cohorts out of universal comparisons unless applicability is normalized;
81
+ - disclose Git-history coverage and commit filters for history-derived
82
+ measurements; and
83
+ - preserve the raw result and analysis version so a published result can be
84
+ reproduced after detector changes.
85
+
86
+ Facts and recommendations must remain separate. Identical bodies, dependency
87
+ cycles, branch counts, or Git change counts can be reproducible facts; a claim
88
+ that code should be consolidated, split, or deleted requires additional
89
+ evidence.
90
+
91
+ ## Real-Repository Corpus
92
+
93
+ The first calibration corpus uses repositories already available locally.
94
+ They remain read-only; any deletion test or planted known-positive case runs
95
+ in an isolated worktree or temporary clone.
96
+
97
+ | Cohort | Initial repositories | Coverage purpose |
98
+ | ---------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
99
+ | TypeScript | Vega_2.0, openwork, Stable_Management, traceroot; Element Plus and PrimeVue for Vue framework breadth | React, Vue, workspaces, packages, backend code, documentation/showcase families, and mixed-language boundaries |
100
+ | Rust | openai/codex, SynthRunnerRust | Large workspace plus small crate; traits, derives, macros, generated code, async runtimes, and public APIs |
101
+ | Python | scip-python, traceroot, Python files in openai/codex | Large Python codebase, mixed repositories, decorators, framework registration, and current semantic-capability gaps |
102
+
103
+ Additional public repositories may be added to cover a missing framework or
104
+ repository shape. Corpus additions must address a named gap rather than merely
105
+ increase volume.
106
+
107
+ ## Detector Truth Rules
108
+
109
+ Each detector gets a more detailed rule in its calibration manifest. The
110
+ starting rules are:
111
+
112
+ - **Dead code:** no production, public API, framework, generated, reflective,
113
+ configured, FFI, macro, or test-required consumer exists, and removal passes
114
+ every available checker covering the file. A missing checker prevents a
115
+ certified deletion claim.
116
+ - **Dependency cycle:** the reported files and dependency edges exist in the
117
+ accepted index. The cycle is factual; architectural harm is a separate
118
+ signal.
119
+ - **Exact duplicate body:** normalized callable bodies are equal. The equality
120
+ is factual; consolidation is a recommendation.
121
+ - **Complexity measurement:** source lines, branches, and cyclomatic estimate
122
+ match the stated AST or fallback basis. The composite hotspot product is a
123
+ prioritization signal, not cyclomatic or cognitive complexity.
124
+ - **Similarity, twins, wrappers, passthroughs, stale abstractions, extraction,
125
+ frontend pressure, and hidden coupling:** the emitted evidence must match
126
+ the code, but actionability is an investigation verdict until the
127
+ detector-language pair earns certification.
128
+
129
+ ## Roadmap
130
+
131
+ ### Phase 0 — Freeze the calibration and publication schemas
132
+
133
+ - Define the machine-readable calibration manifest, reviewed-row schema,
134
+ detector truth rule, verdict vocabulary, and noise-archetype vocabulary.
135
+ - Record repository, commit, tool version, detector version, language,
136
+ framework cohort, evidence provider, capability state, finding ID, file and
137
+ line, exclusion reasons, reviewer verdict, checker result, and review notes.
138
+ - Add Wilson confidence intervals and per-detector-language certification
139
+ status. Do not calculate one global accuracy number as the primary result.
140
+
141
+ Exit: the same reviewed rows always produce the same precision, confidence,
142
+ and certification decision.
143
+
144
+ ### Phase 1 — Extend the real-repository calibration harness
145
+
146
+ The current `scripts/accuracy-calibration.mjs` harness proves selected
147
+ navigation answers against known source facts and records timing. Extend it
148
+ without making local repositories a normal test dependency.
149
+
150
+ - Run health detectors in full, uncapped mode against temporary indexes.
151
+ - Select deterministic random and stratified samples instead of only top
152
+ findings.
153
+ - Produce a review ledger with `valid`, `invalid`, and `uncertain` verdicts.
154
+ - Preserve candidate evidence and source locations needed for code review.
155
+ - Group invalid findings by named noise archetype.
156
+ - Support a fresh holdout sample that was not used while fixing the detector.
157
+ - Replay selected historical commits and temporary known-positive mutations
158
+ in isolated worktrees for recall.
159
+
160
+ Exit: one command can generate a reproducible calibration packet without
161
+ modifying any corpus repository.
162
+
163
+ ### Phase 2 — Certify TypeScript dead-code findings
164
+
165
+ - Review approximately 25 deterministic candidates each from Vega_2.0,
166
+ openwork, Stable_Management, and traceroot for a 100-row baseline.
167
+ - Verify public exports, ambient declarations, decorators, framework
168
+ registration, workspace/barrel consumers, generated entry points, and test
169
+ boundaries.
170
+ - Fix shared false-positive archetypes rather than suppressing individual
171
+ examples or raising thresholds until output looks clean.
172
+ - Re-run the original sample and a fresh holdout sample.
173
+ - Exercise known positives from historical deletions or isolated worktree
174
+ mutations to establish recall coverage.
175
+
176
+ Exit: TypeScript dead code is certified, qualified, or explicitly retained as
177
+ experimental with every failed criterion recorded.
178
+
179
+ ### Phase 3 — Certify TypeScript measurements and remaining detector families
180
+
181
+ Work in evidence order:
182
+
183
+ 1. cycles, exact duplicates, raw complexity measurements, unused imports, and
184
+ unused parameters;
185
+ 2. recent duplicates, similarity, co-change, and doc drift;
186
+ 3. twins, wrappers, passthroughs, stale abstractions, extraction candidates,
187
+ React/Vue duplication and pressure, and hidden coupling.
188
+
189
+ Detectors below 90% remain absent from public output even when useful during
190
+ interactive exploration.
191
+
192
+ Exit: every TypeScript health family has a current certification state and a
193
+ published list of unresolved noise archetypes.
194
+
195
+ ### Phase 4 — Certify Rust and replace silent bias with visible applicability
196
+
197
+ Completed 2026-07-11 with qualified, insufficient, or unsupported verdicts;
198
+ no Rust row met the evidence threshold for promotion to certified. The renewal
199
+ used three pinned broad-replay repositories plus the prior six-repository dead
200
+ expansion, corrected seven trait/convention/import/signature advice archetypes,
201
+ and retained ordinary relationships on an untouched Vega holdout. Evidence and
202
+ per-command boundaries are recorded in
203
+ [`2026-07-11-rust-detector-certification.md`](./validation/2026-07-11-rust-detector-certification.md).
204
+
205
+ - Calibrate on openai/codex and SynthRunnerRust, then add at least one more
206
+ public Rust repository before awarding certified status.
207
+ - Measure trait, trait-implementation, derive, attribute-macro, test,
208
+ generated-code, async-runtime, ABI/export, and public-library behavior.
209
+ - Replace silent broad exclusions with reported applicability states and
210
+ exclusion counts wherever the tool cannot prove runtime reachability.
211
+ - Prefer rust-analyzer or SCIP evidence over framework-name rules. A
212
+ conservative exclusion may protect precision, but it must not make a
213
+ macro-heavy repository appear objectively healthier through invisible
214
+ omissions.
215
+ - Verify candidate deletion with `cargo check` when available and report when
216
+ build scripts, features, targets, or missing dependencies limit coverage.
217
+
218
+ Exit: each Rust detector is certified, qualified, experimental, unsupported,
219
+ or insufficiently evidenced, with exclusion coverage visible.
220
+
221
+ ### Phase 5 — Build and certify Python semantic and framework coverage
222
+
223
+ Status: Complete with explicit withholding. The current implementation has a
224
+ Python indexer and source facts but no Python semantic provider or type-aware
225
+ checker. The three-repository audit corrected dunder, transitive model,
226
+ protocol-hook, and runtime export false positives, then assigned every Python
227
+ row a qualified, insufficient, or unsupported verdict. Evidence:
228
+ [`2026-07-11-python-detector-certification.md`](./validation/2026-07-11-python-detector-certification.md).
229
+
230
+ - Establish the current indexing, semantic, and checker capability separately
231
+ for each corpus repository.
232
+ - Add or integrate semantic reference evidence before making strong dead-code
233
+ claims.
234
+ - Model decorator and registration behavior for Django, FastAPI, Flask,
235
+ pytest fixtures, Click/Typer, dataclasses, and Pydantic as corpus evidence
236
+ requires.
237
+ - Treat unsupported semantic or checker paths as `not analyzed`, not clean.
238
+ - Calibrate on scip-python, traceroot, and at least one additional public
239
+ Python repository with a different framework shape.
240
+
241
+ Exit: Python findings meet the same thresholds as TypeScript and Rust, or the
242
+ public capability matrix clearly withholds unsupported families.
243
+
244
+ ### Phase 6 — Replace the leaderboard score with certified evidence views
245
+
246
+ - Publish per-language and per-framework finding families, coverage, and
247
+ certification status before considering a composite score.
248
+ - Normalize only within comparable cohorts and applicable production code.
249
+ - Version methodology and retain historical results under the detector version
250
+ that produced them.
251
+ - Ensure health actions use calibrated language: facts, candidates, signals,
252
+ and unsupported analyses cannot share defect wording.
253
+
254
+ Exit: two repositories cannot change relative rank merely because one uses a
255
+ framework-specific detector or contains more excluded/test/generated symbols.
256
+
257
+ ### Phase 7 — Run a private cloud shadow leaderboard
258
+
259
+ - Analyze immutable clean checkouts for new commits with reproducible
260
+ dependency setup or an explicit degraded-mode disclosure.
261
+ - Reuse parent-commit indexes and semantic evidence through the completed
262
+ automatic incremental indexing system.
263
+ - Run for several weeks across diverse public repositories, auditing top
264
+ findings, commit-to-commit stability, coverage changes, and detector-version
265
+ rank changes.
266
+ - Publish only after certified detector output remains stable and
267
+ reproducible; keep experimental detectors private.
268
+
269
+ Exit: the service can reproduce any result from repository commit, analysis
270
+ version, configuration, capability record, and preserved raw output.
271
+
272
+ ## Completed Foundation
273
+
274
+ The previous accuracy-hardening program established:
275
+
276
+ - source-backed fixture/oracle checks for navigation commands;
277
+ - an optional real-repository calibration script using temporary caches;
278
+ - fail-closed mixed-language indexing with explicit partial opt-in;
279
+ - Rust path-qualified lookup and call-graph regression coverage;
280
+ - candidate/disclaimer language for heuristic commands; and
281
+ - optional timing and index-size metadata.
282
+
283
+ Those checks prove that selected commands retrieve expected source and graph
284
+ facts. They do not certify health-finding precision or recall, which is the
285
+ active program above.
286
+
287
+ ## Program Closure
288
+
289
+ Language detectors, composite workflows, navigation answers, and operational
290
+ state transitions have terminal verdicts under their current capabilities.
291
+ The final full repository verification passed, and certified evidence views are
292
+ ready for a capability-aware private cloud shadow. The aggregate health score
293
+ remains experimental and must not drive a public cross-language leaderboard.
294
+
295
+ ## Progress — 2026-07-10
296
+
297
+ The first TypeScript dead-code baseline is complete:
298
+ [`2026-07-10-typescript-dead-certification-baseline.md`](./validation/2026-07-10-typescript-dead-certification-baseline.md).
299
+ Across 78 deterministic rows from Vega_2.0, openwork, Stable_Management, and
300
+ traceroot, 25 were valid and 53 invalid: 32.1% observed precision with a 95%
301
+ Wilson interval of 22.7%–43.0%. The detector remains experimental.
302
+
303
+ Those five causes were fixed, and a second review exposed React lifecycle,
304
+ implemented-protocol, and nested Next.js proxy roots. The final certificate is
305
+ recorded in
306
+ [`2026-07-10-typescript-dead-certification.md`](./validation/2026-07-10-typescript-dead-certification.md).
307
+ The final fixed-seed sample contained 43 valid findings and zero invalid
308
+ findings across four repositories: 100% observed precision with a 91.8% 95%
309
+ Wilson lower bound, plus three positive-recall fixtures. TypeScript `dead` is
310
+ therefore certified under its repository-dead truth rule. This does not certify
311
+ Rust, Python, other TypeScript detectors, or the aggregate health score.
312
+
313
+ The Rust `dead` baseline and hardening replay are also complete:
314
+ [`2026-07-10-rust-dead-certification-baseline.md`](./validation/2026-07-10-rust-dead-certification-baseline.md)
315
+ and
316
+ [`2026-07-10-rust-dead-certification.md`](./validation/2026-07-10-rust-dead-certification.md).
317
+ The baseline found 1 valid and 51 invalid rows. Cargo library rooting and an
318
+ explicit `implicit-usage` signal tier removed every reviewed false positive;
319
+ the pinned replay produced three valid findings and zero invalid findings.
320
+ That is 100% observed precision, but the 43.8% Wilson lower bound and
321
+ one-repository finding sample are too small for certification. Rust `dead`
322
+ therefore remains insufficiently evidenced and must not be presented as a
323
+ public actionable metric. Three positive fixtures protect private-library and
324
+ binary-only recall while the corpus is expanded.
325
+
326
+ The TypeScript factual-detector campaign is complete:
327
+ [`2026-07-10-typescript-factual-detectors.md`](./validation/2026-07-10-typescript-factual-detectors.md).
328
+ `unused-imports` (59/59), `duplicate-bodies` (40/40), raw `complexity`
329
+ (40/40), and `redundant-reexports` (40/40) are certified under their narrow
330
+ fact rules. `unused-params`, `cycles`, `isolated`, `not-implemented`,
331
+ `decorative-checkers`, and `test-quality` were audited and hardened but remain
332
+ insufficiently evidenced because their surviving real-repository frames lack
333
+ the required row count or repository breadth. The campaign removed import-use,
334
+ ambient dependency-edge, framework-contract, re-export-attribution,
335
+ delegated-checker, and implicit-test-assertion false-positive archetypes.
336
+
337
+ The TypeScript general-similarity campaign is also complete:
338
+ [`2026-07-10-typescript-similarity-detectors.md`](./validation/2026-07-10-typescript-similarity-detectors.md).
339
+ The `similar`, `similar-files`, and `similar-signatures` relationship claims are
340
+ certified at 36/36, 40/40, and 40/40 valid rows across four repositories.
341
+ `similar-chains` is qualified because its correct 40/40 sample came from a
342
+ bounded 500-path input frame, and none of its sampled consolidation advice was
343
+ actionable. `twin-drift` is qualified at 37/40 (92.5%) after constant,
344
+ near-name, test-helper, and convention-only filtering. `recent-duplicates` is
345
+ 8/8 after generic React-plumbing hardening but remains insufficiently
346
+ evidenced. The campaign now records factual relationship validity separately
347
+ from recommendation utility.
348
+
349
+ The initial TypeScript architecture/history campaign is complete:
350
+ [`2026-07-10-typescript-architecture-history-detectors.md`](./validation/2026-07-10-typescript-architecture-history-detectors.md).
351
+ The `co-change`, `doc-drift`, and `stale-abstractions` relationship claims are
352
+ certified at 40/40 valid rows across four repositories. `drift` is qualified at
353
+ 40/40 because the population was 39 pattern deviations, one inferred layer,
354
+ and a supported zero for unused-import rows; none of the sampled drift advice
355
+ was actionable without ownership evidence. The initial packet qualified
356
+ `wrapper-candidates` at 30/30 and left `passthrough-candidates` insufficient at
357
+ 21/21. The 2026-07-11 renewal expanded those samples to 60/60 and 41/41 valid
358
+ relationships across three repositories, certifying both narrow facts. Removal
359
+ utility remains contextual. The campaign removed ambient-declaration,
360
+ generated co-change state, and structural-token feature-label noise.
361
+
362
+ The initial TypeScript extraction and graph-risk campaign is complete:
363
+ [`2026-07-10-typescript-extraction-graph-risk-detectors.md`](./validation/2026-07-10-typescript-extraction-graph-risk-detectors.md).
364
+ `extract-candidates`, `locality-candidates`, `coupling`, `deep-chains`,
365
+ `complexity-hotspots`, `hotspots`, `fan-in`, and `fan-out` are certified on
366
+ 43-48 valid sampled rows across four repositories. `bottlenecks` is qualified
367
+ at 33/33 because its 89.6% confidence floor remained just below the certified
368
+ threshold. The 69,942-row uncapped frame exposed and removed ambiguous
369
+ shortened fan-in identities and cycle-inflated dependency depth. These results
370
+ certify the disclosed measurements, not automatic refactoring actionability.
371
+
372
+ The bottleneck population renewal is complete:
373
+ [`2026-07-11-typescript-bottlenecks-certification.md`](./validation/2026-07-11-typescript-bottlenecks-certification.md).
374
+ The public result now discloses the deterministic caller-file and
375
+ external-callee sets behind its totals. All 39 reviewed rows passed arithmetic
376
+ and pinned-source checks across four repositories, producing a 91.0% Wilson
377
+ lower bound and certifying the narrow graph fact. Centrality remains a review
378
+ signal rather than evidence that refactoring is beneficial.
379
+
380
+ The React and Vue framework-detector campaign is complete:
381
+ [`2026-07-11-react-vue-detectors.md`](./validation/2026-07-11-react-vue-detectors.md).
382
+ React component duplication, hook candidates, and component pressure are each
383
+ certified at 48/48 valid rows across three repositories. Vue component
384
+ duplication is certified at 41/41 across four repositories, composable
385
+ candidates at 48/48 across three repositories with findings, and view pressure
386
+ at 64/64 across four repositories. The 54,586-row combined uncapped frame
387
+ removed unqualified dominant-pressure axes, nested-component route-page
388
+ misclassification, and unreproducible similarity-score totals. All sampled
389
+ refactoring advice remained non-actionable without local design context.
390
+
391
+ The same campaign's initial `augment-vue` runs reported 66,396 SFC mentions in
392
+ Stable_Management and 13,700 in on_main_mvp. Those totals established the
393
+ operational path but were not an accuracy certificate. Missing project files
394
+ no longer abort the whole run, and the reliable single-context resolver is the
395
+ default after parallel worker stalls reproduced at two, four, and eight
396
+ workers. Ordinary `reindex` does not run this optional augmentation.
397
+
398
+ The completed Vue reference-completeness audit is recorded in
399
+ [`2026-07-11-vue-reference-completeness.md`](./validation/2026-07-11-vue-reference-completeness.md).
400
+ It found that the earlier totals collapsed local SFC bindings onto component
401
+ symbols, attributed properties to nearby callables, and counted module-path
402
+ fragments. After hardening, an exact import/component oracle matched all 841
403
+ reviewed mentions across Stable_Management, on_main_mvp, and agent_chat. The
404
+ command is qualified for cross-file component identity; broader local and
405
+ property identity is withheld and explicitly unsupported.
406
+
407
+ The `twin-ab` generated-scaffold audit is complete:
408
+ [`2026-07-11-twin-ab-generated-scaffold.md`](./validation/2026-07-11-twin-ab-generated-scaffold.md).
409
+ Three pinned TypeScript repositories produced importable real-callable
410
+ scaffolds with zero scaffold-local compiler diagnostics. The audit found and
411
+ fixed a shared export-classification defect where an adjacent exported
412
+ declaration made a following private callable look exported; the two real
413
+ private pairs now refuse, and focused regression coverage preserves that
414
+ boundary.
415
+
416
+ The low-population TypeScript factual renewal is also complete:
417
+ [`2026-07-11-typescript-factual-evidence-renewal.md`](./validation/2026-07-11-typescript-factual-evidence-renewal.md).
418
+ All 25 emitted rows were valid across the four-repository replay, including four
419
+ newly reviewed mock-echo facts. `unused-params`, `cycles`, `isolated`,
420
+ `not-implemented`, `decorative-checkers`, and `test-quality` remain
421
+ insufficient because their natural populations still fail sample-size or
422
+ repository-breadth gates; they should be renewed only when a named new corpus
423
+ adds the missing population.
424
+
425
+ The wrapper/passthrough population renewal is complete:
426
+ [`2026-07-11-typescript-wrapper-passthrough-certification.md`](./validation/2026-07-11-typescript-wrapper-passthrough-certification.md).
427
+ Independent unbounded reference checks validated all 60 wrapper rows, and
428
+ source review validated all 41 passthrough rows. Both relationship claims are
429
+ now certified; automatic removal remains unsupported without local boundary
430
+ evidence.
431
+
432
+ The recent-duplicates population expansion is complete:
433
+ [`2026-07-11-typescript-recent-duplicates-expansion.md`](./validation/2026-07-11-typescript-recent-duplicates-expansion.md).
434
+ All eight natural findings passed pinned source, shared-evidence, and
435
+ file-addition-history checks across four repositories with findings. Two more
436
+ repositories produced supported zeros, and one repository's indexing failure
437
+ remained explicit rather than becoming a zero. The 67.6% confidence floor is
438
+ still insufficient, so renewal is terminal for this named corpus and should
439
+ resume only when another corpus or historical snapshot adds findings.
440
+
441
+ The widened Rust dead-code population replay is complete:
442
+ [`2026-07-11-rust-dead-expansion.md`](./validation/2026-07-11-rust-dead-expansion.md).
443
+ Five of six pinned repositories completed with indexing, source, semantic, and
444
+ checker capability; one indexing failure stayed explicit. The only three
445
+ natural findings again came from VegaAssistant and were all valid. Four
446
+ supported zeros cannot raise the 43.9% confidence floor, so Rust `dead` remains
447
+ insufficient and is terminal for this named corpus.
448
+
449
+ The Python detector campaign is complete under the current capability boundary:
450
+ [`2026-07-11-python-detector-certification.md`](./validation/2026-07-11-python-detector-certification.md).
451
+ `scip-python-plus` and source facts were available, but no Python semantic
452
+ provider or type-aware checker existed. The renewal corrected convention
453
+ dunders, transitive Pydantic model liveness, runtime protocol hooks, and
454
+ literal `__all__` export/import behavior. The Flask holdout retained 29
455
+ file-internal and two signature relationships while reporting zero
456
+ repository-dead rows. Every Python matrix row is now qualified, insufficient,
457
+ or unsupported; none is certified for public actionable scoring.
458
+
459
+ The composite workflow campaign is complete:
460
+ [`2026-07-11-composite-workflow-certification.md`](./validation/2026-07-11-composite-workflow-certification.md).
461
+ All 166 targeted cleanup, diff-gate, health, effectiveness, and impact probes
462
+ passed. A mixed Python replay exposed that health omitted capability state and
463
+ turned contextual relationships into action language. Health now carries the
464
+ live capability matrix, marks its score experimental and non-comparable across
465
+ languages, distinguishes syntax-only verification, and describes candidates as
466
+ investigations rather than automatic refactorings. Diff-gate and impact
467
+ workflows are qualified under their per-check evidence; only exact configured
468
+ coverage-contract comparison is certified in this slice.
469
+
470
+ The navigation and graph-answer campaign is complete:
471
+ [`2026-07-11-navigation-graph-certification.md`](./validation/2026-07-11-navigation-graph-certification.md).
472
+ All 107 exact-answer probes passed across 14 fixture files, and a live replay
473
+ kept definition ranges, imports, references, dependencies, calls, slices,
474
+ outlines, and counts mutually consistent. The audit corrected reference-only
475
+ imports, type owners, and module owners appearing as callable callers. It also
476
+ records that hierarchy is lexical, dataflow is reference-level, overload
477
+ selection and inheritance are unsupported, and semantic cross-language edges
478
+ exist only when an upstream indexer emits them.
479
+
480
+ ## Program Acceptance Criteria
481
+
482
+ - Every health detector-language pair has a visible certification state.
483
+ - Public actionable findings meet the certified threshold; public signals
484
+ meet the qualified threshold; lower-precision rows remain private.
485
+ - Precision samples span at least three repositories, and recall has
486
+ known-positive evidence.
487
+ - False positives are tracked as named archetypes with regression coverage,
488
+ not hidden by unreasoned suppressions.
489
+ - Unsupported and degraded analyses cannot appear as zero findings.
490
+ - Rust exclusions and framework-specific applicability are reported rather
491
+ than silently improving comparative results.
492
+ - Python does not make strong semantic health claims until the required
493
+ provider and checker evidence exists.
494
+ - Public comparisons are reproducible, versioned, coverage-aware, and limited
495
+ to comparable cohorts.
496
+ - `npm test`, `npm run typecheck`, and `npm run build` pass after each
497
+ implementation slice.
498
+ - Current changes use native tests plus the relevant `context`, `diff-impact`,
499
+ `architecture`, or detector command. No codebaseiq command declares an
500
+ arbitrary coding task complete.
@@ -0,0 +1,78 @@
1
+ # Analyzer inventory
2
+
3
+ This inventory describes the current analysis product. Historical validation
4
+ records may name commands that no longer exist; use this file and the generated
5
+ [command reference](COMMAND_REFERENCE.md) for the live surface.
6
+
7
+ An analyzer is a program that derives repository facts or maintenance leads
8
+ from indexed code, source text, configuration, or version history. A direct
9
+ finding identifies a local condition that normally has a concrete repair. A
10
+ signal identifies evidence that needs inspection before a repair can be chosen.
11
+ Support analysis maps code without claiming that the mapped code is defective.
12
+
13
+ ## Support analysis
14
+
15
+ - `context` gathers one target's definitions, references, callers, callees,
16
+ dataflow, slices, affected consumers, change risk, dependencies, public
17
+ surface, complexity, history, suppressions, and possible reuse sites.
18
+ - Navigation commands such as `code`, `refs`, `call-graph`, `dataflow`, `slice`,
19
+ `deps`, `rdeps`, `system`, and `surface` answer narrower questions.
20
+ - `diff-impact` maps the current change to affected symbols, tests, consumers,
21
+ and risk. It does not approve or reject the change.
22
+ - `architecture` checks declared boundaries and dependency rules.
23
+
24
+ ## General cleanup analyzers
25
+
26
+ These commands report direct findings or bounded maintenance leads:
27
+
28
+ - dead code and unused inputs: `dead`, `unused-imports`, `unused-params`,
29
+ `stale-abstractions`;
30
+ - duplication and drift: `similar`, `similar-files`, `similar-signatures`,
31
+ `similar-chains`, `duplicate-bodies`, `recent-duplicates`, `twin-drift`;
32
+ - unnecessary indirection: `wrapper-candidates`, `passthrough-candidates`,
33
+ `decorative-checkers`, `not-implemented`;
34
+ - extraction and locality: `extract-candidates`, `locality-candidates`,
35
+ `complexity-hotspots`;
36
+ - migration and documentation: `incomplete-migration`, `doc-drift`,
37
+ `redundant-reexports`;
38
+ - history and coordination: `co-change`, `change-surface`.
39
+
40
+ ## React analyzers
41
+
42
+ - `react-component-duplicates`
43
+ - `react-hook-candidates`
44
+ - `react-large-component-pressure`
45
+
46
+ ## Vue analyzers
47
+
48
+ - `vue-component-duplicates`
49
+ - `vue-composable-candidates`
50
+ - `vue-large-view-pressure`
51
+
52
+ Vue indexing and source augmentation remain first-class parts of the product.
53
+ React and Vue findings are also represented in `health`.
54
+
55
+ ## Repository health
56
+
57
+ `health` combines general, React, and Vue detector families into one review
58
+ report. It is a maintenance scan, not a completion authority. Its score and
59
+ actions help choose cleanup work; they do not prove that an arbitrary coding
60
+ task is complete.
61
+
62
+ `health --write-baseline` records the current finding identities.
63
+ `health --baseline` reports findings that are new relative to that baseline.
64
+ This is an optional repository ratchet, not a required agent ceremony.
65
+
66
+ ## Suppressions
67
+
68
+ Structured suppression files record reviewed findings under
69
+ `.codebaseiq/suppressions/`. They are loaded with project analysis, counted in
70
+ health and context, and validated by `config-validate`. Inline
71
+ `codebaseiq: ignore-*` comments remain visible to the suppression inventory.
72
+
73
+ ## Evidence limits
74
+
75
+ Each command reports or documents its coverage as complete, bounded, sampled,
76
+ or unknown. A complete transport only means that every rendered character was
77
+ retrieved. It does not turn bounded analysis into an exhaustive repository
78
+ claim.
@@ -0,0 +1,84 @@
1
+ # Analyzer validation protocol
2
+
3
+ This protocol tests whether codebaseiq reports useful repository evidence on
4
+ arbitrary projects. It does not use a hidden exact implementation as the only
5
+ oracle, and it does not treat a command firing as proof that the product helped.
6
+
7
+ An oracle is an independent way to determine what is true in the fixture. A
8
+ fixture is a disposable repository state with known relationships or defects.
9
+ A true positive is a reported item whose claimed relationship or defect exists
10
+ at its cited source. A false positive is a reported item whose claim does not
11
+ hold when the source and relevant consumers are inspected.
12
+
13
+ ## Required evidence
14
+
15
+ For each detector family, use at least:
16
+
17
+ 1. a small synthetic fixture that isolates the claimed behavior;
18
+ 2. a real repository example with normal framework and build conventions;
19
+ 3. one negative example that looks similar but should not be reported;
20
+ 4. direct source, compiler, test, or version-history evidence for the verdict.
21
+
22
+ Do not score a detector by output volume. Count correct findings, incorrect
23
+ findings, missed known cases, time, and output size separately.
24
+
25
+ ## Mapping commands
26
+
27
+ Validate `context`, graph queries, and `diff-impact` against relationships that
28
+ can be independently checked through compiler references, source imports,
29
+ tests, or a second language-aware tool. Judge:
30
+
31
+ - whether the named entry-to-effect path is real;
32
+ - whether material consumers are present;
33
+ - whether bounded coverage is disclosed;
34
+ - whether the output helps form a correct plan without unnecessary commands.
35
+
36
+ ## Cleanup commands
37
+
38
+ For dead code, duplication, drift, extraction, wrappers, migration residue, and
39
+ documentation findings, record:
40
+
41
+ - the exact claim the command made;
42
+ - the source location and evidence class;
43
+ - the repair that would follow if the claim is correct;
44
+ - intentional variation or framework behavior that defeats the claim;
45
+ - whether rerunning after the repair removes the finding.
46
+
47
+ ## React and Vue
48
+
49
+ Test both frameworks. Each corpus must include components, hooks or composables,
50
+ large views, intentional variants, framework entrypoints, and generated or test
51
+ files. Vue source augmentation must be enabled before judging Vue recall.
52
+
53
+ ## Architecture
54
+
55
+ Define boundary rules before creating the violating edge. Confirm that
56
+ `architecture` reports the forbidden dependency with both endpoints and does
57
+ not invent violations outside the declared rules. Then remove the edge and
58
+ confirm the finding disappears.
59
+
60
+ ## Health
61
+
62
+ Judge each underlying finding before judging the aggregate report. A health
63
+ score is a summary of detector output, not an independent oracle. Baseline mode
64
+ is valid only for the narrower question: did a new stable finding identity
65
+ appear relative to the recorded baseline?
66
+
67
+ ## Agent-effectiveness trials
68
+
69
+ To test whether the product helps an agent, run matched control and treatment
70
+ tasks in separate disposable copies of the same fixture:
71
+
72
+ - use the same provider, model, reasoning level, task prompt, starting commit,
73
+ dependency state, and hidden time limit;
74
+ - prepare and index the treatment before measured work begins;
75
+ - give the control ordinary repository tools and the treatment the reduced
76
+ codebaseiq exploration surface;
77
+ - do not reveal hidden scoring facts or the time limit;
78
+ - keep full transcripts;
79
+ - score plan accuracy, implementation correctness, completeness, architecture,
80
+ residue, elapsed time, and tokens separately.
81
+
82
+ The treatment succeeds only when it improves task outcomes or reaches the same
83
+ outcome with a meaningful efficiency gain. A detector warning counts as value
84
+ only if it identifies a real issue and changes the agent's work for the better.