scip-query 0.20.0 → 0.21.1
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.
- package/CHANGELOG.md +81 -0
- package/README.md +255 -884
- package/dist/augment-vue-worker.js +1 -1
- package/dist/by-kind-XXGZGNZ6.js +2 -0
- package/dist/call-graph-VGY3R4L3.js +2 -0
- package/dist/call-graph-evidence-lZa2dwQA.d.ts +11 -0
- package/dist/change-analysis-types-CCtoCHbC.d.ts +9 -0
- package/dist/chunk-26CT72HM.js +2 -0
- package/dist/chunk-27OUNZW5.js +3 -0
- package/dist/chunk-2LJLEM5B.js +2 -0
- package/dist/chunk-3KXFB2FM.js +2 -0
- package/dist/chunk-3T5U2EQ2.js +2 -0
- package/dist/chunk-3TNRNKAT.js +2 -0
- package/dist/{chunk-PXY7F6Y4.js → chunk-3XQLJG7V.js} +5 -5
- package/dist/chunk-3XZELASU.js +2 -0
- package/dist/chunk-3YETOKNO.js +4 -0
- package/dist/chunk-47WX6UC4.js +2 -0
- package/dist/{chunk-7SQQWSY3.js → chunk-4HQYNZ3P.js} +2 -2
- package/dist/chunk-4IASLUOP.js +3 -0
- package/dist/{chunk-KMKTIO2G.js → chunk-4KIPF45P.js} +2 -2
- package/dist/chunk-4SZJF4GK.js +2 -0
- package/dist/chunk-4TOU7HHQ.js +2 -0
- package/dist/chunk-4ZCLDH6T.js +11 -0
- package/dist/{chunk-DQGFVPUV.js → chunk-527HV7JY.js} +3 -3
- package/dist/{chunk-ZTETIQ35.js → chunk-5BJPJUXF.js} +2 -2
- package/dist/chunk-5J3A6RBZ.js +16 -0
- package/dist/chunk-5KIJMEPC.js +2 -0
- package/dist/{chunk-JDOEX4E6.js → chunk-5QM7QT5B.js} +2 -2
- package/dist/chunk-5Z2H76VD.js +11 -0
- package/dist/chunk-63TFRBMB.js +2 -0
- package/dist/chunk-67FK5KGV.js +3 -0
- package/dist/chunk-6DO3VBLV.js +2 -0
- package/dist/chunk-6LS3IG2I.js +13 -0
- package/dist/chunk-6QN4FYQW.js +2 -0
- package/dist/chunk-6X4KO5A7.js +11 -0
- package/dist/chunk-743MEVFJ.js +8 -0
- package/dist/chunk-7G2WIVIX.js +2 -0
- package/dist/chunk-7KCZELVM.js +2 -0
- package/dist/chunk-7MUHSZGN.js +3 -0
- package/dist/chunk-7YZGSLW6.js +3 -0
- package/dist/chunk-7Z4GMCHM.js +117 -0
- package/dist/{chunk-32LVLCLN.js → chunk-AAOEROT3.js} +3 -3
- package/dist/chunk-AFRS7WJU.js +26 -0
- package/dist/chunk-ANCHW2R4.js +57 -0
- package/dist/{chunk-SXP2MBJH.js → chunk-AQF35NGT.js} +2 -2
- package/dist/chunk-ARGPDW2Y.js +6 -0
- package/dist/chunk-B3AREUQK.js +16 -0
- package/dist/chunk-BCTCADNB.js +2 -0
- package/dist/chunk-BM4OTGSY.js +3 -0
- package/dist/chunk-BMKTDJI6.js +16 -0
- package/dist/chunk-BOJ5SVE2.js +2 -0
- package/dist/{chunk-WXZLAAWK.js → chunk-BVR44XXB.js} +2 -2
- package/dist/{chunk-RUJURYSV.js → chunk-BYXWXLKM.js} +2 -2
- package/dist/chunk-BZCRHP46.js +3 -0
- package/dist/chunk-BZYSGZRK.js +2 -0
- package/dist/chunk-C52Q3JEQ.js +2 -0
- package/dist/chunk-C7WSQA6A.js +21 -0
- package/dist/{chunk-BDCC2NPY.js → chunk-CNT4ND5O.js} +2 -2
- package/dist/chunk-CQVDALWQ.js +2 -0
- package/dist/chunk-CTO3TRX7.js +2 -0
- package/dist/chunk-CXT3GZSQ.js +2 -0
- package/dist/{chunk-JVYA47YU.js → chunk-DGM2RJ3I.js} +2 -2
- package/dist/{chunk-7PIO7NKH.js → chunk-DK6MB565.js} +2 -2
- package/dist/chunk-DNPETNXT.js +2 -0
- package/dist/chunk-DRENNWRG.js +2 -0
- package/dist/chunk-DUDUIT5P.js +2 -0
- package/dist/chunk-DXEJ4FLZ.js +21 -0
- package/dist/chunk-DXYMTQZ4.js +2 -0
- package/dist/chunk-DZA7MQMU.js +6 -0
- package/dist/{chunk-ZHXX42OH.js → chunk-DZNWXJN2.js} +4 -4
- package/dist/{chunk-CJST5ETY.js → chunk-E6N6YTVM.js} +2 -2
- package/dist/chunk-E7CJ6O72.js +2 -0
- package/dist/chunk-EJHNTAEE.js +2 -0
- package/dist/chunk-EPLE5O5O.js +2 -0
- package/dist/chunk-F4FNK44D.js +2 -0
- package/dist/chunk-FCGMQETU.js +2 -0
- package/dist/chunk-FIO44MVK.js +3 -0
- package/dist/chunk-FLSVYEPL.js +2 -0
- package/dist/chunk-FOP7HD6H.js +3 -0
- package/dist/chunk-FSPENGSU.js +4 -0
- package/dist/chunk-FUUDUAKM.js +2 -0
- package/dist/chunk-FYCH2EYQ.js +2 -0
- package/dist/{chunk-5E4WNAVD.js → chunk-G47MFF47.js} +2 -2
- package/dist/chunk-G6VV7ROY.js +2 -0
- package/dist/chunk-GBZCVYWA.js +2 -0
- package/dist/chunk-GSHTVE56.js +3 -0
- package/dist/chunk-GTZFKDP3.js +2 -0
- package/dist/{chunk-2HPVVXM5.js → chunk-H2RBDP5S.js} +2 -2
- package/dist/chunk-H5EXS3HM.js +2 -0
- package/dist/chunk-HR5JYLVV.js +4 -0
- package/dist/chunk-HW7FASEL.js +2 -0
- package/dist/chunk-HYU4W353.js +10 -0
- package/dist/{chunk-FKSELJQF.js → chunk-I2LY3KN7.js} +2 -2
- package/dist/chunk-IGBQVEHE.js +2 -0
- package/dist/{chunk-3G66UZBH.js → chunk-IH3K5J6K.js} +2 -2
- package/dist/chunk-IHGK3SZ7.js +29 -0
- package/dist/chunk-IM23CSG5.js +2 -0
- package/dist/chunk-IQMGNIGY.js +2 -0
- package/dist/chunk-ITF3CWS5.js +2 -0
- package/dist/chunk-IZKJQQCQ.js +3 -0
- package/dist/chunk-J4HUBIVF.js +5 -0
- package/dist/{chunk-AZJQQKDD.js → chunk-JGMD6JGB.js} +2 -2
- package/dist/chunk-JLZWYDCZ.js +4 -0
- package/dist/chunk-JO6FK3Q5.js +2 -0
- package/dist/chunk-JSHDCVUM.js +81 -0
- package/dist/chunk-K2DZCH2K.js +2 -0
- package/dist/chunk-K63CAPS2.js +23 -0
- package/dist/chunk-KBIC6JHJ.js +2 -0
- package/dist/chunk-KFFQURUZ.js +2 -0
- package/dist/chunk-KFOYCQAJ.js +9 -0
- package/dist/chunk-KGKCJFWZ.js +6 -0
- package/dist/chunk-KK7GPALL.js +28 -0
- package/dist/chunk-L7WRUNKJ.js +2 -0
- package/dist/{chunk-W4ETQAXM.js → chunk-LFWB7TOJ.js} +2 -2
- package/dist/chunk-LGVTIZPV.js +61 -0
- package/dist/chunk-LIWIV26I.js +29 -0
- package/dist/chunk-LJMWILX6.js +3 -0
- package/dist/{chunk-BPAPWKP6.js → chunk-LXMW6ZAX.js} +8 -8
- package/dist/chunk-MFBVUQJZ.js +2 -0
- package/dist/{chunk-O64IZ6UX.js → chunk-MLTKGHD2.js} +2 -2
- package/dist/chunk-MLTSTKXD.js +5 -0
- package/dist/chunk-MR4ZKWO6.js +57 -0
- package/dist/{chunk-EN3O7VJA.js → chunk-MRXBLYRE.js} +2 -2
- package/dist/chunk-MXNGIEPU.js +3 -0
- package/dist/chunk-N4EFQIRX.js +20 -0
- package/dist/chunk-ND3BWIVN.js +7 -0
- package/dist/chunk-NODZYYGC.js +2 -0
- package/dist/chunk-NP4JFCLE.js +133 -0
- package/dist/chunk-NQXWWE6S.js +8 -0
- package/dist/chunk-NSDPPUDY.js +7 -0
- package/dist/chunk-NT4NVEHU.js +18 -0
- package/dist/chunk-O2VY47Y5.js +325 -0
- package/dist/chunk-O3EX5STE.js +5 -0
- package/dist/chunk-O4PZFAXA.js +3 -0
- package/dist/chunk-OA2BO4DR.js +2 -0
- package/dist/chunk-OFZVFIDF.js +3 -0
- package/dist/{chunk-PQCI4SQX.js → chunk-OG5UK2K7.js} +2 -2
- package/dist/chunk-OMVNRPST.js +2 -0
- package/dist/{chunk-7BAVHKMJ.js → chunk-OU6SDWAM.js} +9 -9
- package/dist/{chunk-LY4WC4AD.js → chunk-OY7PCALC.js} +2 -2
- package/dist/{chunk-A73XVBCR.js → chunk-P3UFF22M.js} +2 -2
- package/dist/chunk-PAZSBPJR.js +3 -0
- package/dist/chunk-PJBYDCBQ.js +38 -0
- package/dist/chunk-PRLU3I7G.js +79 -0
- package/dist/chunk-PU6XDQ2X.js +16 -0
- package/dist/{chunk-3CLX5EOX.js → chunk-PWEQ6CZZ.js} +2 -2
- package/dist/{chunk-XSRF6Q77.js → chunk-PX6QNUYF.js} +2 -2
- package/dist/chunk-Q4MRRB3C.js +3 -0
- package/dist/chunk-QGVUPYBC.js +35 -0
- package/dist/chunk-QH5Q6M5C.js +2 -0
- package/dist/chunk-QLWZUFDT.js +2 -0
- package/dist/chunk-QN2AI3D2.js +3 -0
- package/dist/{chunk-JAYYFEQY.js → chunk-QZCACNV5.js} +2 -2
- package/dist/chunk-RNKRYK6B.js +4 -0
- package/dist/chunk-RSUH7G5T.js +29 -0
- package/dist/chunk-RZWBTKXO.js +5 -0
- package/dist/chunk-SBFDPHKH.js +4 -0
- package/dist/{chunk-HX4GQPZP.js → chunk-SGSPCEFC.js} +3 -3
- package/dist/chunk-SIGVQT43.js +2 -0
- package/dist/chunk-SRIZDEWX.js +4 -0
- package/dist/chunk-SV2LEFVM.js +2 -0
- package/dist/chunk-T2PBOVDI.js +3 -0
- package/dist/chunk-TP2X2C2Y.js +3 -0
- package/dist/chunk-U2MNECDU.js +2 -0
- package/dist/chunk-U7DOYZDH.js +2 -0
- package/dist/chunk-UAQQR55F.js +2 -0
- package/dist/chunk-UBETC3Q2.js +2 -0
- package/dist/chunk-UEQORB2A.js +2 -0
- package/dist/chunk-UM56ZET4.js +38 -0
- package/dist/chunk-UXNXOMXJ.js +2 -0
- package/dist/{chunk-6SHPK5ZE.js → chunk-V6XENWOF.js} +2 -2
- package/dist/chunk-VJAD5WX5.js +2 -0
- package/dist/chunk-VRJG7N3I.js +453 -0
- package/dist/chunk-W7HN6V4E.js +7 -0
- package/dist/chunk-WCIKJ2E3.js +3 -0
- package/dist/chunk-WEXQYJY3.js +5 -0
- package/dist/chunk-WOPZX5GM.js +2 -0
- package/dist/chunk-WRQXLNYE.js +9 -0
- package/dist/{chunk-XKWKXZKW.js → chunk-WV6R37XV.js} +2 -2
- package/dist/{chunk-N5W4YZMK.js → chunk-WZ7V4BQV.js} +2 -2
- package/dist/chunk-WZRNEVYC.js +2 -0
- package/dist/chunk-X5MWO4DM.js +7 -0
- package/dist/chunk-XDAUYDFT.js +2 -0
- package/dist/{chunk-L7AW2QB5.js → chunk-XDOEHEET.js} +2 -2
- package/dist/chunk-XDQX6LDT.js +4 -0
- package/dist/chunk-XFRHBAIT.js +2 -0
- package/dist/chunk-XIPGCT3D.js +5 -0
- package/dist/chunk-XKM5D2XS.js +16 -0
- package/dist/chunk-XNF5T4T2.js +4 -0
- package/dist/chunk-Y2S4YNLH.js +3 -0
- package/dist/chunk-YA72ZUKO.js +2 -0
- package/dist/chunk-YBWE6J32.js +43 -0
- package/dist/chunk-YCXQQ3YB.js +2 -0
- package/dist/chunk-YDTK77JP.js +43 -0
- package/dist/chunk-YF25RQER.js +4 -0
- package/dist/chunk-YKHL4J3G.js +2 -0
- package/dist/chunk-YLNCTPOI.js +4 -0
- package/dist/chunk-YR7VRWNX.js +2 -0
- package/dist/chunk-YT4IQBET.js +3 -0
- package/dist/chunk-YUKYB54I.js +1 -0
- package/dist/chunk-Z2KGMIL4.js +2 -0
- package/dist/chunk-Z2QB75BS.js +3 -0
- package/dist/chunk-Z67JOKRE.js +554 -0
- package/dist/chunk-ZGDHC5AT.js +2 -0
- package/dist/chunk-ZMS4YCY7.js +2 -0
- package/dist/chunk-ZNW5A5VX.js +3 -0
- package/dist/{chunk-TFRAYKN6.js → chunk-ZP2WUVZ5.js} +2 -2
- package/dist/chunk-ZQUNCTEZ.js +2 -0
- package/dist/cli-main.js +8 -0
- package/dist/cli.js +1 -3
- package/dist/code-AXLJBZ6T.js +2 -0
- package/dist/code-B17qEMbt.d.ts +121 -0
- package/dist/code-result-json-CTZHAQXJ.js +2 -0
- package/dist/command-descriptors-6INSCKLW.js +342 -0
- package/dist/{config-types-jVM3D7MA.d.ts → config-types-B9B60MiR.d.ts} +199 -23
- package/dist/dataflow-AFXY423Q.js +2 -0
- package/dist/{db-B5PM5yNk.d.ts → db-BwIVAYNB.d.ts} +1 -1
- package/dist/dependence-slice-2G4X6VSJ.js +2 -0
- package/dist/deps-LMCAV5DO.js +2 -0
- package/dist/direct-navigation-2ONV22Y2.js +3 -0
- package/dist/entry-map-ZOC3VXO5.js +2 -0
- package/dist/exploration-topology-BG4v30HZ.d.ts +256 -0
- package/dist/file-dep-graph-Bqg3t3Px.d.ts +4 -0
- package/dist/file-kind-BKCVMNUf.d.ts +10 -0
- package/dist/files-WJQJLHMH.js +2 -0
- package/dist/graph-evidence-Bjyky2V4.d.ts +126 -0
- package/dist/graph-exploration-contract-CqDsnPQL.d.ts +7 -0
- package/dist/{health-Do5TKSJI.d.ts → health-CPp2Jf1Z.d.ts} +33 -34
- package/dist/hierarchy-ASNIHAX4.js +2 -0
- package/dist/imports-JICEKDKK.js +2 -0
- package/dist/index.d.ts +4 -31
- package/dist/index.js +1 -1
- package/dist/members-C5H2K3MS.js +2 -0
- package/dist/methods-KZOZHSD4.js +2 -0
- package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
- package/dist/output-continuation-command-NX3RH3TP.js +3 -0
- package/dist/output-pagination-3OFL2MJV.js +19 -0
- package/dist/postinstall.js +1 -1
- package/dist/project-reindex-A2SXUH2H.js +3 -0
- package/dist/queries/affected.d.ts +22 -4
- package/dist/queries/affected.js +1 -1
- package/dist/queries/anchors.d.ts +123 -0
- package/dist/queries/anchors.js +2 -0
- package/dist/queries/architecture.d.ts +3 -2
- package/dist/queries/architecture.js +1 -1
- package/dist/queries/bottlenecks.d.ts +26 -7
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +2 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +17 -3
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +2 -2
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +2 -2
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +2 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +5 -26
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +2 -2
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +2 -2
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/context.d.ts +145 -0
- package/dist/queries/context.js +2 -0
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +8 -3
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +34 -7
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +40 -14
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +2 -2
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.d.ts +3 -3
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/deep-chains.d.ts +4 -38
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/dependence-slice.d.ts +47 -0
- package/dist/queries/dependence-slice.js +2 -0
- package/dist/queries/dependency-depth.d.ts +49 -0
- package/dist/queries/dependency-depth.js +2 -0
- package/dist/queries/deps.d.ts +4 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +3 -3
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +4 -4
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +2 -2
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +2 -2
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/entry-map.d.ts +121 -0
- package/dist/queries/entry-map.js +2 -0
- package/dist/queries/evidence.d.ts +70 -0
- package/dist/queries/evidence.js +2 -0
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +18 -5
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +2 -2
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +4 -3
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +5 -3
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +11 -5
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +2 -2
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +4 -4
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +56 -136
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +2 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.d.ts +2 -2
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +2 -2
- package/dist/queries/methods.js +1 -1
- package/dist/queries/not-implemented.d.ts +3 -3
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/outline.d.ts +2 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +5 -9
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +27 -64
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +2 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +2 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +2 -2
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.d.ts +2 -2
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +2 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/reference-neighborhood.d.ts +4 -0
- package/dist/queries/reference-neighborhood.js +2 -0
- package/dist/queries/reference-reachability.d.ts +48 -0
- package/dist/queries/reference-reachability.js +2 -0
- package/dist/queries/refs.d.ts +2 -2
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +2 -2
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.d.ts +2 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +2 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +2 -2
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +2 -2
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +3 -36
- package/dist/queries/slice.js +1 -1
- package/dist/queries/source-inspection.d.ts +209 -0
- package/dist/queries/source-inspection.js +2 -0
- package/dist/queries/source-search.d.ts +13 -0
- package/dist/queries/source-search.js +2 -0
- package/dist/queries/stale-abstractions.d.ts +2 -2
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +2 -2
- package/dist/queries/surface.d.ts +13 -4
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +2 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system-map.d.ts +449 -0
- package/dist/queries/system-map.js +2 -0
- package/dist/queries/system.d.ts +5 -3
- package/dist/queries/system.js +1 -1
- package/dist/queries/test-quality.d.ts +2 -2
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/trace.d.ts +47 -3
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +3 -3
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.d.ts +3 -3
- package/dist/queries/twin-drift.js +1 -1
- package/dist/queries/unused-imports.d.ts +2 -2
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +2 -2
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/value-flow.d.ts +43 -0
- package/dist/queries/value-flow.js +2 -0
- package/dist/queries/vue-component-duplicates.d.ts +2 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +2 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +2 -2
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +2 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/query-service-fastpath.js +6 -0
- package/dist/query-service-server.js +5 -0
- package/dist/refs-ZOORVRQC.js +2 -0
- package/dist/refs-pagination-SRCUOYRD.js +2 -0
- package/dist/reindex-worker.js +85 -86
- package/dist/reindex.d.ts +64 -42
- package/dist/reindex.js +93 -77
- package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
- package/dist/runtime.d.ts +287 -8
- package/dist/runtime.js +4 -3
- package/dist/rust-semantic-session-server.js +1 -1
- package/dist/rust-semantic-session-worker.js +1 -1
- package/dist/rust-semantic-worker.js +1 -1
- package/dist/{scip-cli-BnEwZRLJ.d.ts → scip-cli-H-n59izO.d.ts} +33 -2
- package/dist/slice-NOTBWA7S.js +2 -0
- package/dist/source-search-types-Dwz8KeuW.d.ts +79 -0
- package/dist/source-snippet-_wrcgmZc.d.ts +15 -0
- package/dist/stats-OOJ74B32.js +2 -0
- package/dist/surface-BTBCLKNA.js +2 -0
- package/dist/symbol-resolution-SVSMX4RN.js +2 -0
- package/dist/system-2EIUFP6B.js +2 -0
- package/dist/trace-BB2GHQPG.js +2 -0
- package/dist/typescript-mailbox-worker.js +1 -1
- package/dist/value-flow-OA7AHSUG.js +2 -0
- package/dist/watch-server.js +3 -2
- package/docs/AGENT_GUIDE.md +133 -476
- package/docs/AI_FAILURE_MODES.md +30 -301
- package/docs/API.md +1 -1
- package/docs/API_EVOLUTION.md +6 -0
- package/docs/CLI_JSON_OUTPUT.md +207 -29
- package/docs/COMMAND_REFERENCE.md +255 -154
- package/docs/CONFIGURATION_WRITE_SAFETY.md +14 -13
- package/docs/DETECTOR_EVIDENCE_CONTRACTS.md +84 -0
- package/docs/DETECTOR_GUIDE.md +46 -138
- package/docs/DURABILITY.md +7 -1
- package/docs/INDEX_GENERATIONS.md +6 -0
- package/docs/LOCK_PROTOCOL.md +8 -0
- package/docs/REINDEX_METADATA_COMPATIBILITY.md +13 -3
- package/docs/SECURITY_MODEL.md +39 -42
- package/docs/accuracy-audit-checklist.md +4 -0
- package/docs/accuracy-hardening-goal.md +9 -2
- package/docs/analyzer-inventory.md +59 -264
- package/docs/analyzer-validation-protocol.md +62 -170
- package/docs/architecture-coherence-vision.md +18 -12
- package/docs/locality-analyzer-design.md +1 -1
- package/docs/schemas/cli-json-envelope.schema.json +212 -27
- package/docs/schemas/cli-json-export-receipt.schema.json +25 -0
- package/docs/schemas/cli-output-page.schema.json +1 -1
- package/docs/schemas/observation-receipt.schema.json +164 -0
- package/docs/schemas/project-config.schema.json +37 -45
- package/docs/schemas/suppression-record.schema.json +1 -34
- package/package.json +69 -11
- package/skills/concrete-plan/SKILL.md +8 -0
- package/skills/concrete-plan/agents/openai.yaml +4 -0
- package/skills/scip-explore/SKILL.md +49 -61
- package/skills/scip-explore/agents/openai.yaml +3 -3
- package/skills/scip-explore/references/delegated-exploration.md +51 -0
- package/skills/scip-explore/references/external-evidence.md +72 -0
- package/skills/scip-explore/references/information-model.md +51 -0
- package/skills/scip-explore/scripts/capture-evidence.mjs +666 -0
- package/skills/scip-integrity-audit/SKILL.md +185 -0
- package/skills/scip-integrity-audit/agents/openai.yaml +4 -0
- package/skills/scip-plan/SKILL.md +67 -49
- package/skills/scip-plan/agents/openai.yaml +3 -3
- package/skills/scip-query/SKILL.md +98 -77
- package/skills/scip-query/agents/openai.yaml +3 -3
- package/skills/scip-setup/SKILL.md +10 -102
- package/skills/scip-setup/agents/openai.yaml +3 -3
- package/dist/chunk-26QA6FAI.js +0 -8
- package/dist/chunk-2KAZEZ6M.js +0 -2
- package/dist/chunk-3ORVDL3H.js +0 -2
- package/dist/chunk-46XGSFNI.js +0 -2
- package/dist/chunk-4MAK2HOY.js +0 -6
- package/dist/chunk-4TURLRL5.js +0 -16
- package/dist/chunk-4UQVNCQE.js +0 -2
- package/dist/chunk-55Q3WLZX.js +0 -2
- package/dist/chunk-5I5G2QOX.js +0 -3
- package/dist/chunk-6LDJQXAH.js +0 -2
- package/dist/chunk-6O5TICIZ.js +0 -3
- package/dist/chunk-7O5IKBTZ.js +0 -16
- package/dist/chunk-7S5E7KWT.js +0 -2
- package/dist/chunk-7WPLAODU.js +0 -5
- package/dist/chunk-AFHORGLH.js +0 -42
- package/dist/chunk-AIE7TFJW.js +0 -9
- package/dist/chunk-AQOFWNQJ.js +0 -1
- package/dist/chunk-B2PX5I6M.js +0 -2
- package/dist/chunk-B75HZHUP.js +0 -2
- package/dist/chunk-B7PBSLZN.js +0 -2
- package/dist/chunk-BBW6JFHN.js +0 -2
- package/dist/chunk-BNXCIFVY.js +0 -2
- package/dist/chunk-BS2NMXQZ.js +0 -4
- package/dist/chunk-C3KV2II6.js +0 -2
- package/dist/chunk-C43RDDP4.js +0 -20
- package/dist/chunk-DAFAHMNB.js +0 -42
- package/dist/chunk-DQLPXMH6.js +0 -8
- package/dist/chunk-EKZTZXHZ.js +0 -117
- package/dist/chunk-EW2NTSFA.js +0 -18
- package/dist/chunk-F3Z4OUDS.js +0 -8
- package/dist/chunk-FJH2NW7J.js +0 -66
- package/dist/chunk-FTFP6O3L.js +0 -11
- package/dist/chunk-FYLK2DEJ.js +0 -2
- package/dist/chunk-GH74ASD6.js +0 -11
- package/dist/chunk-GMXWZP2B.js +0 -2
- package/dist/chunk-GOUBFH5O.js +0 -3
- package/dist/chunk-HLF2TX6R.js +0 -2
- package/dist/chunk-HX7M4BDI.js +0 -30
- package/dist/chunk-HZ72SESS.js +0 -128
- package/dist/chunk-IB2N4FIY.js +0 -10
- package/dist/chunk-IZYYAFN5.js +0 -2
- package/dist/chunk-JFGGXWQF.js +0 -947
- package/dist/chunk-JN4NMBEX.js +0 -8
- package/dist/chunk-JW56N3KI.js +0 -4
- package/dist/chunk-JZ2OXNWB.js +0 -2
- package/dist/chunk-KFZNKUNT.js +0 -2
- package/dist/chunk-L5GJNV2T.js +0 -8
- package/dist/chunk-L7JDSCDF.js +0 -4
- package/dist/chunk-LU47HG23.js +0 -14
- package/dist/chunk-LVY7NPF7.js +0 -2
- package/dist/chunk-MKCDWWGV.js +0 -4
- package/dist/chunk-MNE7YG56.js +0 -2
- package/dist/chunk-MRXBEXSY.js +0 -26
- package/dist/chunk-MV7OWDUX.js +0 -2
- package/dist/chunk-NGEXCJJW.js +0 -11
- package/dist/chunk-NIW6JDC5.js +0 -29
- package/dist/chunk-PBUQFCNB.js +0 -16
- package/dist/chunk-POAVPHH7.js +0 -2
- package/dist/chunk-QZ4JVECJ.js +0 -2
- package/dist/chunk-RDO52JGY.js +0 -2
- package/dist/chunk-RJT3TUUZ.js +0 -2
- package/dist/chunk-RVLDN63O.js +0 -4
- package/dist/chunk-RXOXSKY3.js +0 -2
- package/dist/chunk-S7OYBOCK.js +0 -2
- package/dist/chunk-SMNXQT5Z.js +0 -3
- package/dist/chunk-SRAFT254.js +0 -2
- package/dist/chunk-T7YQSHPQ.js +0 -3
- package/dist/chunk-UJCOIXDY.js +0 -2
- package/dist/chunk-UJPRPGCO.js +0 -13
- package/dist/chunk-WCCFZ7V7.js +0 -113
- package/dist/chunk-WUPW3UN3.js +0 -3
- package/dist/chunk-X54AGLVX.js +0 -2
- package/dist/chunk-Y2MVPNKY.js +0 -5
- package/dist/chunk-YKUU5AIC.js +0 -3
- package/dist/chunk-YLCJLTPL.js +0 -2
- package/dist/chunk-YTQVETEO.js +0 -2
- package/dist/chunk-Z4N3MZYA.js +0 -38
- package/dist/chunk-ZJOOT3BG.js +0 -2
- package/dist/chunk-ZK26BAQL.js +0 -2
- package/dist/command-descriptors-DSS46KXI.js +0 -642
- package/dist/diff-gate-types-B0QYpDv1.d.ts +0 -11
- package/dist/direct-navigation-6YHV6IB5.js +0 -3
- package/dist/queries/diff-gate.d.ts +0 -253
- package/dist/queries/diff-gate.js +0 -2
- package/docs/COMMITTED_RECORD_COMPATIBILITY.md +0 -154
- package/docs/analyzer-validation-ledger.md +0 -516
- package/docs/schemas/outcome-event-record.schema.json +0 -95
- package/skills/_shared/SKILL.md +0 -101
- package/skills/_shared/agents/openai.yaml +0 -4
- package/skills/_shared/references/agent-contract-catalog.md +0 -105
- package/skills/_shared/references/command-catalog.md +0 -118
- package/skills/_shared/references/detector-precision-and-diffgate.md +0 -59
- package/skills/_shared/references/evidence-and-dead-code.md +0 -25
- package/skills/scip-audit/SKILL.md +0 -77
- package/skills/scip-audit/agents/openai.yaml +0 -4
- package/skills/scip-audit/references/claims.md +0 -98
- package/skills/scip-audit/references/cleanup.md +0 -100
- package/skills/scip-audit/references/directory.md +0 -222
- package/skills/scip-audit/references/frontend.md +0 -130
- package/skills/scip-audit/references/integrity.md +0 -154
- package/skills/scip-audit/references/maintainability.md +0 -162
- package/skills/scip-audit/references/twin-drift.md +0 -104
- package/skills/scip-diagnose/SKILL.md +0 -52
- package/skills/scip-diagnose/agents/openai.yaml +0 -4
- package/skills/scip-diagnose/references/debug.md +0 -117
- package/skills/scip-diagnose/references/probe-reachability.md +0 -77
- package/skills/scip-diagnose/references/root-cause.md +0 -145
- package/skills/scip-diagnose/references/triage.md +0 -119
- package/skills/scip-explore/references/diagrams.md +0 -40
- package/skills/scip-explore/references/language-playbook.md +0 -49
- package/skills/scip-improve/SKILL.md +0 -56
- package/skills/scip-improve/agents/openai.yaml +0 -4
- package/skills/scip-improve/references/cleanup-batches.md +0 -53
- package/skills/scip-improve/references/directory-moves.md +0 -53
- package/skills/scip-improve/references/doc-reconcile.md +0 -30
- package/skills/scip-improve/references/frontend-extraction.md +0 -39
- package/skills/scip-improve/references/maintainability-mechanism.md +0 -43
- package/skills/scip-improve/references/twin-drift.md +0 -35
- package/skills/scip-plan/references/api-impact.md +0 -19
- package/skills/scip-plan/references/conductor.md +0 -41
- package/skills/scip-plan/references/high-assurance.md +0 -43
- package/skills/scip-plan/references/hyper-optimization.md +0 -50
- package/skills/scip-plan/references/tla-model.md +0 -88
- package/skills/scip-setup/references/bootstrap-workflow.md +0 -119
- package/skills/scip-setup/references/language-verification.md +0 -61
- package/skills/scip-setup/references/lifecycle-commands.md +0 -119
- package/skills/scip-setup/references/per-repo-triage.md +0 -24
- package/skills/scip-verify/SKILL.md +0 -229
- package/skills/scip-verify/agents/openai.yaml +0 -4
- package/skills/scip-verify/references/calibrate-detectors.md +0 -170
|
@@ -1,192 +1,84 @@
|
|
|
1
|
-
# Analyzer
|
|
1
|
+
# Analyzer validation protocol
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This protocol tests whether scip-query 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.
|
|
4
6
|
|
|
5
|
-
|
|
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.
|
|
6
12
|
|
|
7
|
-
##
|
|
13
|
+
## Required evidence
|
|
8
14
|
|
|
9
|
-
|
|
15
|
+
For each detector family, use at least:
|
|
10
16
|
|
|
11
|
-
|
|
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.
|
|
12
21
|
|
|
13
|
-
|
|
22
|
+
Do not score a detector by output volume. Count correct findings, incorrect
|
|
23
|
+
findings, missed known cases, time, and output size separately.
|
|
14
24
|
|
|
15
|
-
|
|
25
|
+
## Mapping commands
|
|
16
26
|
|
|
17
|
-
|
|
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:
|
|
18
30
|
|
|
19
|
-
|
|
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.
|
|
20
35
|
|
|
21
|
-
|
|
36
|
+
## Cleanup commands
|
|
22
37
|
|
|
23
|
-
|
|
38
|
+
For dead code, duplication, drift, extraction, wrappers, migration residue, and
|
|
39
|
+
documentation findings, record:
|
|
24
40
|
|
|
25
|
-
|
|
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.
|
|
26
46
|
|
|
27
|
-
|
|
28
|
-
| ------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------------------------------------- |
|
|
29
|
-
| `/Users/aydansalois/Documents/GitHub/scip-query` | TypeScript CLI and analysis library | 290 `.ts`, 103 `.md` | Core graph, cleanup, health, docs, diff gate, score behavior |
|
|
30
|
-
| `/Users/aydansalois/Documents/GitHub/Stable_Management` | npm workspaces with Vue frontend, TypeScript backend, shared package | 1,168 `.ts`, 409 `.vue`, 380 `.md` | Vue analyzers, co-change, cross-workspace coupling, docs, large-index budget |
|
|
31
|
-
| `/Users/aydansalois/Documents/GitHub/Vega_2.0` | TypeScript monorepo with React web app, API app, shared packages | 1,567 `.ts`, 672 `.tsx`, 1,163 `.md` | React analyzers, monorepo locality, diff gate, shared-package coupling |
|
|
32
|
-
| `/Users/aydansalois/Documents/GitHub/SynthRunnerRust` | Rust project | 27 `.rs`, 36 `.md` | SCIP graph smoke coverage, non-TypeScript command behavior, docs and git-history signals |
|
|
47
|
+
## React and Vue
|
|
33
48
|
|
|
34
|
-
|
|
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.
|
|
35
52
|
|
|
36
|
-
|
|
53
|
+
## Architecture
|
|
37
54
|
|
|
38
|
-
|
|
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.
|
|
39
59
|
|
|
40
|
-
|
|
60
|
+
## Health
|
|
41
61
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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?
|
|
45
66
|
|
|
46
|
-
|
|
67
|
+
## Agent-effectiveness trials
|
|
47
68
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
scip-query reindex
|
|
51
|
-
scip-query health --full --json > /tmp/scip-query-validation/REPO/health.json
|
|
52
|
-
scip-query diff-gate --json > /tmp/scip-query-validation/REPO/diff-gate.json
|
|
53
|
-
```
|
|
69
|
+
To test whether the product helps an agent, run matched control and treatment
|
|
70
|
+
tasks in separate disposable copies of the same fixture:
|
|
54
71
|
|
|
55
|
-
|
|
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
|
+
scip-query 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.
|
|
56
81
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
| Threshold edge | 5 findings near the default threshold or last page | Tests whether cutoffs are calibrated |
|
|
61
|
-
| Expected-miss probes | 5 known cases from code search, history, or user notes | Tests false negatives instead of only checking emitted findings |
|
|
62
|
-
|
|
63
|
-
Every sampled finding should be reviewed with the same evidence bundle:
|
|
64
|
-
|
|
65
|
-
```sh
|
|
66
|
-
scip-query plan-context <symbol-or-file> --full --json
|
|
67
|
-
scip-query refs <symbol> --json
|
|
68
|
-
scip-query code <symbol> --json
|
|
69
|
-
git log --oneline -- <file>
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
For file-level or history-level analyzers, substitute the file tools:
|
|
73
|
-
|
|
74
|
-
```sh
|
|
75
|
-
scip-query change-surface <file> --full --json
|
|
76
|
-
scip-query imports <file> --json
|
|
77
|
-
scip-query deps <file> --json
|
|
78
|
-
scip-query rdeps <file> --json
|
|
79
|
-
scip-query co-change <file> --full --json
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
The validation record should be small enough to write for every sampled result.
|
|
83
|
-
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"repo": "Stable_Management",
|
|
87
|
-
"revision": "COMMIT",
|
|
88
|
-
"command": "vue-composable-candidates",
|
|
89
|
-
"findingId": "stable identifier or pasted summary",
|
|
90
|
-
"location": "frontend/src/views/Example.vue",
|
|
91
|
-
"verdict": "tp | fp | accepted_design | needs_judgment | fn",
|
|
92
|
-
"actionTier": "direct | signal | support",
|
|
93
|
-
"evidence": ["source/reference/history facts that make the verdict reproducible"],
|
|
94
|
-
"counterevidence": ["facts that weaken the analyzer claim"],
|
|
95
|
-
"precisionWork": "threshold, parser, evidence field, skip rule, score weight, wording, or none"
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Do not accept a precision change unless it survives at least one second repository or one focused fixture. That is the guard against fitting the analyzer to whichever repo annoyed us today.
|
|
100
|
-
|
|
101
|
-
## Analyzer Matrix
|
|
102
|
-
|
|
103
|
-
| Analyzer or family | True-positive standard | Likely false positives | False-negative probes | Programmatic precision work |
|
|
104
|
-
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
105
|
-
| `cleanup-plan` | The batch deletes graph-unreferenced production code and `--verify` keeps the checker green. | Entry points, reflection, generated exports, CLI/plugin surfaces, unrecognized framework-discovered files. | Search for manually deleted dead code in recent history and compare with prior report. | Better root-surface detection, package export reading, framework-discovered route/page exports, and verification summaries are implemented; generated/reflection root coverage remains a future caveat. |
|
|
106
|
-
| `dead`, `new-dead`, `isolated` | The symbol has no real production consumers and is not an entry surface. | File-private helpers, test-only helpers, exported APIs consumed outside the index, generated or reflection entry points. | Known orphan functions found by `rg`, deleted symbols in git history, test fixtures with dynamic usage. | Separate "dead" from "file-internal", package/export metadata, and framework-discovered route/page roots are implemented; generated/reflection roots and external consumer evidence remain future caveats. |
|
|
107
|
-
| `unused-params` | A trailing simple parameter is unused in all relevant implementations and can be removed without API breakage. | Interface conformance, callback arity, overload compatibility, framework signatures, future public API shape. | Search for underscore-less trailing params in changed files and compare with command output. | Type-aware override/interface checks, callback convention allowlists, public API guards. |
|
|
108
|
-
| `unused-imports`, `drift` unused-import findings | The imported binding is never referenced in the file's executable or type surface. | Type-only imports hidden by parser limits, macro usage, framework compiler usage, generated symbols. | Compare against TypeScript/ESLint unused import diagnostics where available. | Compiler-oracle comparison, macro/framework allowlists, unused-import evidence in output. |
|
|
109
|
-
| `redundant-reexports` | A private barrel re-export has zero barrel consumers, zero direct consumers, and emits `actionTier: "direct"`. | Public package API, external consumers outside the repo, documentation examples, generated SDK boundaries. | Inspect barrels with no internal imports and compare against package exports/docs. | Package `exports`, directory index entrypoints, nested package manifests, action tier, surface evidence, and recommendations are now emitted; generated-surface caveats remain future precision work. |
|
|
110
|
-
| `passthrough-candidates` | The function only forwards arguments to one callee, adds no stable name, policy, boundary, public-facade role, or adaptation, and the emitted `actionTier` is `direct`. | Domain vocabulary wrappers, API adapters, test seams, telemetry/auth wrappers, public facade names, package-public exports, service/provider boundaries, capability modules, access-policy forwarding. | Search for tiny wrappers around known callees that command misses. | Action tier, runtime-boundary evidence, separate public-facade evidence, recommendation, and health score discount are now emitted; clean Vega second-corpus confirmation kept signal/direct counts stable. |
|
|
111
|
-
| `wrapper-candidates` | A small one-consumer wrapper adds no useful concept and can be inlined. | Boundary naming, dependency inversion, future API shape, test isolation, schema/contract modules. | Inspect one-consumer helpers in high-churn files. | Consumer-kind evidence, caller fan-in smoothing, naming/domain hints, suppression-informed weight reduction. |
|
|
112
|
-
| `stale-abstractions` | A type/class/helper has zero consumers or one accidental consumer and no boundary role, and the emitted staleness kind/action tier correctly separates unused cleanup from one-consumer ownership review. | Contract types, generated schema types, nominal domain names, low-consumer but intentionally public API. | Search for old low-consumer files, compare with command and suppressions. | Action tier, staleness kind, and recommendation are now emitted; one-consumer rows stay contextual/support in score calibration unless stronger public-surface evidence changes the claim. |
|
|
113
|
-
| `similar`, `similar-files`, `similar-chains`, `similar-signatures`, `convergence` | Two units share enough behavior or dependency shape that unification would reduce real duplication. | Coincidental same framework plumbing, shared type shape but different concepts, generated code, parallel product flows, or cross-language structural overlap without recognized semantic tokens. | Manually inspect known copy-paste pairs, recent duplicated commits, and repeated command handlers. | Domain-token reporting, framework-token downweighting, neutral `structural-overlap` evidence, changed-code directionality, grouped evidence rather than scalar similarity alone. |
|
|
114
|
-
| `recent-duplicates`, diff-gate `echo` | New or recently changed code re-implements older code with the same behavior. | Boilerplate repeated by framework convention, tests, intentionally forked product variants. | Scan recent commits for "copy", "duplicate", "refactor", or similar edits not reported. | Root-cause groups now separate review items from pairwise evidence; age windows, test/generated filters, behavior-token evidence, and established-owner links remain future precision candidates. |
|
|
115
|
-
| `extract-candidates` | A large callable contains a cohesive callee cluster, and the emitted extraction kind/recommendation correctly frames it as workflow orchestration, a broad helper cluster, or a cohesive helper cluster. | Incidental call clustering, readable local sequence, algorithm steps that should stay together, or helper groups without a stable concept name. | Inspect large functions with obvious sections and compare with report. | Extraction kind, action tier, reasons, and recommendation are now emitted; locality and score calibration are recorded, while placement decisions remain report-only through the locality workflow. |
|
|
116
|
-
| `incomplete-migration` | A new helper is used at some matching sites while other equivalent sites still contain the old inline pattern, and the old site passes both helper-containment and site-coverage checks. | Intentional partial rollout, tests documenting old behavior, helper only valid for one subtype, or broad orchestration sites where the helper pattern is only a small fragment. | Search diffs with new helpers and repeated old call clusters. | Two-sided containment, helper shape, site coverage, broad-site regression coverage, migration-scope hints, and second-corpus same-scope validation are now recorded. |
|
|
117
|
-
| `react-component-duplicates`, `vue-component-duplicates` | Two components repeat substantial render structure where a component extraction would preserve product meaning. | Design-system repetition, route-specific layouts, data-table boilerplate, static labels inflating similarity. | Inspect similar screenshots/templates not reported, especially after large component splits. | Framework-token downweighting, static text handling, shared component/import evidence, route/domain context. |
|
|
118
|
-
| `react-hook-candidates`, `vue-composable-candidates` | Components repeat state, effects, lifecycle, request, or handler behavior that can live in a hook/composable, and the row's evidence class points to domain or mixed behavior rather than only generic workflow. | Generic useState/useEffect/useQuery plumbing, unrelated screens using the same framework primitives, or existing shared abstractions that already own the workflow. | Search for repeated custom hook/composable calls and copied handler names. | Evidence class and action tier are now emitted; field validation and score calibration are recorded, and new non-empty corpora can extend calibration later. |
|
|
119
|
-
| `react-large-component-pressure`, `vue-large-view-pressure` | A component/view is large enough that unrelated reasons to change are forced through one file. | Generated views, story/demo files, intentionally monolithic route shells, style-heavy one-off pages. | Search largest React/Vue files and compare with command output. | Pressure-kind/context recommendations are validated; future locality recommendations remain report-only until consumer coverage improves. |
|
|
120
|
-
| `complexity`, `complexity-hotspots` | A symbol or file has enough branching, LOC, fan-in, or fan-out that local reasoning and change risk are objectively high. | Central orchestration code, parsers, reducers, generated code, tables expressed as code. | Compare against high-branch files from code search and known bug-fix hotspots. | Keep cyclomatic and graph-pressure scores separate, report branch evidence, combine with churn/fix density. |
|
|
121
|
-
| `cycles` | A real dependency cycle crosses source files in a way that makes layering or change order harder. | Barrel cycles, test cycles, module-hierarchy cycles, framework registration loops. | Compare file dependency SCCs with `deps`/`rdeps`, seed fixture cycles. | Keep existing cycle-kind split, score only real cycles, improve barrel/test classification. |
|
|
122
|
-
| `co-change`, diff-gate `co-change-partner` | Files repeatedly change together without a dependency edge, showing hidden coordination work; partner class, commit scope, recency, and commit-subject context now distinguish focused current pairs from broad, stale, unlabeled, fix-labeled, or docs-labeled history. | Same feature touched by broad commits, stale coupling that history no longer predicts, local commit subjects that do not reflect true tracker labels, or a partner class that is real but does not imply this diff needs the other side. | Inspect known schema/client, env/config, doc/code pairs and changed partner misses. | Partner-class evidence, declared-coupling suggestions, broad-sweep context, recency context, local subject labels, issue refs, external-label-unavailable status, and health score weighting are now emitted; continue only with future metadata-provider validation for true issue/PR labels. |
|
|
123
|
-
| `doc-drift`, diff-gate `doc-reference` | A doc cites code that moved, broke, or kept changing after the doc claim stopped changing, and the cited claim or doc intent indicates whether this is current guidance, support evidence, or a broken reference. | Exploratory docs, historical notes, configuration examples, docs intentionally describing old behavior. | Search docs with path references and compare broken/stale outputs. | Cited-claim metadata, citation-kind output, co-change-only historical-note intent, Markdown-local citation parsing, and second-corpus parser validation are now recorded. |
|
|
124
|
-
| `drift` layer and pattern findings | Imports violate an explicit or strongly inferred local architecture rule, and the row's action tier correctly separates explicit policy from inferred signal. | Inferred rules from too few siblings, migration states, intentionally exceptional bridge files. | Inspect known layer boundaries and sibling directories with unique imports. | Action tier, policy basis, evidence reasons, and recommendation are now emitted; inferred drift stays low-score/support unless stronger sibling support is available. |
|
|
125
|
-
| `hotspots`, `fan-in`, `fan-out`, `coupling`, `bottlenecks`, `deep-chains` | The graph facts correctly identify centrality, dependency breadth, shared symbols, hubs, or long chains, while output frames them as contextual signal or support rather than direct repair. | These are not smells by themselves; false positives are mostly product mistakes when score treats them as repair demands. | Compare with raw SCIP graph and known central modules. | Bottlenecks, coupling, and deep chains now emit action-tier metadata; deep chains de-duplicate strict suffix rows. Keep graph risk contextual except when combined with churn, cycles, or direct findings. |
|
|
126
|
-
| `affected`, `change-surface`, `plan-context` | The tool names real consumers, blast radius, references, calls, history, and risks for a target. | Missing index data, generated code, dynamic imports, language unsupported by current index. | Pick symbols with known callers and compare against `rg` plus compiler refs when available. | Index capability reporting, language-specific fallbacks, clearer "missing evidence" sections. |
|
|
127
|
-
| `self-audit` | Cheap evidence paths match the TypeScript compiler oracle on sampled symbols. | Sampling bias, non-TypeScript code, compiler config mismatch. | Repeat with scopes from different packages and compare disagreement classes. | Stratified sampling by package/file kind, persistent disagreement fixtures. |
|
|
128
|
-
| `health`, `health-phase`, `diff-gate` composite reports | The composite report explains its deductions and gates new direct findings without hiding signal pressure. | Treating contextual signal as direct debt, score staying perfect while signal backlog grows, baseline churn from history-derived findings. | Compare scalar changes against reviewed finding labels and suppression counts. | Action-tier identities, direct/signal score separation, suppression trust adjustments, and hidden-coupling score-count correction are recorded. |
|
|
129
|
-
|
|
130
|
-
The first TypeScript support-analysis review found accurate source-grounded output for `validateProjectConfig()` and fixed `status`/`doctor` config diagnostic parity. The Rust cross-language review confirmed that graph/source/checker-backed analyzers work on Rust, while TypeScript semantic self-audit is explicitly unavailable and frontend analyzers correctly return stack-specific empty results.
|
|
131
|
-
|
|
132
|
-
`cleanup-apply` is not an analyzer. It is an action command that should be validated through the `cleanup-plan --verify` path and normal project checks.
|
|
133
|
-
|
|
134
|
-
Navigation commands such as `stats`, `files`, `methods`, `refs`, `trace`, `deps`, `rdeps`, `system`, `surface`, `imports`, `imported-by`, `outline`, `members`, `by-kind`, `kind-counts`, `hierarchy`, `call-graph`, `code`, `dataflow`, and `slice` should be tested as evidence providers. Their success standard is referential accuracy, not whether they find a smell.
|
|
135
|
-
|
|
136
|
-
## False-Negative Search
|
|
137
|
-
|
|
138
|
-
False negatives need active hunting because normal analyzer output cannot show what it missed.
|
|
139
|
-
|
|
140
|
-
Use these probes on each corpus:
|
|
141
|
-
|
|
142
|
-
1. Search for large units:
|
|
143
|
-
|
|
144
|
-
```sh
|
|
145
|
-
rg --files | rg '\.(ts|tsx|vue|rs)$' | xargs wc -l | sort -nr | head -30
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
2. Search for repeated names and local copy-paste clues:
|
|
149
|
-
|
|
150
|
-
```sh
|
|
151
|
-
rg -n "TODO|copy|duplicate|refactor|extract|cleanup|unused|dead|stale"
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
3. Search history for repairs that should have been predicted:
|
|
155
|
-
|
|
156
|
-
```sh
|
|
157
|
-
git log --oneline --grep='fix\\|bug\\|cleanup\\|refactor\\|remove\\|dead'
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
4. Inspect suppressions as precision labels:
|
|
161
|
-
|
|
162
|
-
```sh
|
|
163
|
-
rg -n "scip-query: ignore-" src tests docs
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
5. For frontend repos, inspect large component split candidates by directory:
|
|
167
|
-
|
|
168
|
-
```sh
|
|
169
|
-
rg --files | rg '\.(tsx|vue)$' | xargs wc -l | sort -nr | head -50
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
The expected result of this phase is not "all analyzers are accurate." The expected result is a ranked list of detector improvements with evidence: parser gaps first, public-surface mistakes second, framework convention mistakes third, score-weight mistakes fourth.
|
|
173
|
-
|
|
174
|
-
## Score Implications
|
|
175
|
-
|
|
176
|
-
The score model should encode reviewed action implication.
|
|
177
|
-
|
|
178
|
-
Direct findings are code or docs locations where the analyzer normally identifies a local repair. They should carry heavier deductions and should be eligible for diff-gate blocking.
|
|
179
|
-
|
|
180
|
-
Contextual signals are real patterns whose repair depends on product or architecture judgment. They should accumulate as backlog pressure, but a single signal should not be scored like dead code.
|
|
181
|
-
|
|
182
|
-
Support analyses are evidence maps. They should inform planning and other detectors, not reduce health by themselves.
|
|
183
|
-
|
|
184
|
-
Suppression counts and `self-audit` disagreement rates should modify analyzer trust. A detector with many accepted suppressions or poor compiler-oracle disagreement should still report, but its score weight should be lower until the false-positive cause is understood. Structured suppressions must keep a reason, an identity, a live expiration when temporary, and any file scope must still point at a current file.
|
|
185
|
-
|
|
186
|
-
## Residual Future Work
|
|
187
|
-
|
|
188
|
-
No active validation ledger slice remains. Future production steps should stay small and falsifiable:
|
|
189
|
-
|
|
190
|
-
1. Keep true co-change issue/PR labels blocked until a repository metadata provider is available; local commit-subject context is implemented.
|
|
191
|
-
2. Keep locality report-only until exact consumer coverage and repair outcomes justify score integration.
|
|
192
|
-
3. Keep `docs/analyzer-validation-ledger.md` current as each analyzer family receives a new implementation or corpus-confirmation result.
|
|
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.
|
|
@@ -87,7 +87,12 @@ row for a boundary that may depend on nothing. `requireAcyclic` independently
|
|
|
87
87
|
forbids multi-boundary strongly connected components. A project should enable
|
|
88
88
|
both only after the observed graph has been classified and repaired.
|
|
89
89
|
|
|
90
|
-
`
|
|
90
|
+
`requireCompleteCoverage` gives boundary ownership normative force: every
|
|
91
|
+
indexed, non-ignored file must match exactly one declared boundary. Without the
|
|
92
|
+
flag, unmapped and ambiguous files remain visible coverage facts but cannot
|
|
93
|
+
block work.
|
|
94
|
+
|
|
95
|
+
`requireResolvedBoundaries` closes the gap the dependency rules leave open. Same-boundary
|
|
91
96
|
dependencies are always allowed, so every edge inside a boundary is discarded
|
|
92
97
|
before `requireAcyclic` runs — which means a boundary coarse enough to contain
|
|
93
98
|
both sides of a cycle passes the check while saying nothing about the code
|
|
@@ -173,20 +178,21 @@ For each mature boundary, state which other boundaries it is allowed to depend o
|
|
|
173
178
|
|
|
174
179
|
Run the report again. A forbidden edge is now a testable disagreement between implementation and policy, not the tool's opinion about directory distance.
|
|
175
180
|
|
|
176
|
-
### 6.
|
|
181
|
+
### 6. Review and ratchet
|
|
177
182
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
183
|
+
Run `scip-query architecture` after changing a declared boundary or one of its
|
|
184
|
+
consumers. The report applies configured dependency rules exactly and cites the
|
|
185
|
+
files that create each forbidden edge. Repositories that want a broader
|
|
186
|
+
maintenance ratchet can record reviewed health findings with `scip-query health
|
|
187
|
+
--write-baseline` and compare later scans with `scip-query health --baseline`.
|
|
188
|
+
Neither command decides whether an arbitrary coding task is complete.
|
|
184
189
|
|
|
185
190
|
### 7. Migrate narrow seams
|
|
186
191
|
|
|
187
192
|
Start with a narrow edge whose few file dependencies cross a mature rule. Determine whether the right repair is to move code, invert a dependency, extract a genuinely shared contract, combine falsely separated boundaries, or revise the policy.
|
|
188
193
|
|
|
189
|
-
Verify each slice with tests, typechecking, incomplete-migration checks,
|
|
194
|
+
Verify each slice with tests, typechecking, incomplete-migration checks,
|
|
195
|
+
architecture analysis, and `diff-impact` before taking the next one.
|
|
190
196
|
|
|
191
197
|
## Example: Vega 2.0
|
|
192
198
|
|
|
@@ -199,7 +205,7 @@ For a codebase the size of Vega 2.0, the first pass should not invent a universa
|
|
|
199
205
|
5. configure the mature boundaries descriptively;
|
|
200
206
|
6. inspect reciprocal pairs and large connected components with their file-edge breadth;
|
|
201
207
|
7. close dependency rows only where the intended direction is supported;
|
|
202
|
-
8.
|
|
208
|
+
8. record reviewed violations and check each relevant change against the declared rules;
|
|
203
209
|
9. migrate one narrow, high-confidence seam at a time.
|
|
204
210
|
|
|
205
211
|
The initial result may be a mixture of layers and subsystems. That is preferable to forcing a neat diagram that contradicts the software. The model becomes stronger as verified migrations and maintenance history provide new facts.
|
|
@@ -212,7 +218,7 @@ The initial result may be a mixture of layers and subsystems. That is preferable
|
|
|
212
218
|
- Extract the reusable strongly-connected-component algorithm already embedded in `deep-chains`.
|
|
213
219
|
- Add a pure architecture graph analyzer and `scip-query architecture`.
|
|
214
220
|
- Extend the directory-architecture skill with the discover, declare, measure, and ratchet workflow.
|
|
215
|
-
- Keep architecture
|
|
221
|
+
- Keep architecture findings distinct from ordinary code-smell scoring.
|
|
216
222
|
|
|
217
223
|
### Slice 2: replace implicit drift policy — implemented
|
|
218
224
|
|
|
@@ -225,7 +231,7 @@ The initial result may be a mixture of layers and subsystems. That is preferable
|
|
|
225
231
|
|
|
226
232
|
- Give architecture findings stable identities.
|
|
227
233
|
- Add report-only health visibility.
|
|
228
|
-
-
|
|
234
|
+
- Support an optional repository health baseline for teams that want a ratchet.
|
|
229
235
|
- Calibrate on scip-query, Vega 2.0, Stable Management, and structurally different external repositories before any score deduction.
|
|
230
236
|
|
|
231
237
|
### Slice 4: discovery assistance
|
|
@@ -147,7 +147,7 @@ scip-locality-review
|
|
|
147
147
|
The skill would tell agents to run:
|
|
148
148
|
|
|
149
149
|
```sh
|
|
150
|
-
scip-query
|
|
150
|
+
scip-query context <target> --full
|
|
151
151
|
scip-query imported-by <symbol>
|
|
152
152
|
scip-query rdeps <file>
|
|
153
153
|
scip-query co-change <file> --full
|