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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scip-query",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.1",
|
|
4
4
|
"description": "Evidence and verification for AI coding agents: map code, reuse concepts, finish migrations, and gate diffs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"scripts/scip-windows-provenance.mjs",
|
|
21
21
|
"scripts/verify-scip-windows.mjs",
|
|
22
22
|
"skills/**/*.md",
|
|
23
|
-
"skills/**/agents/*.yaml"
|
|
23
|
+
"skills/**/agents/*.yaml",
|
|
24
|
+
"skills/**/scripts/*.mjs"
|
|
24
25
|
],
|
|
25
26
|
"sideEffects": false,
|
|
26
27
|
"exports": {
|
|
@@ -40,6 +41,10 @@
|
|
|
40
41
|
"import": "./dist/queries/architecture.js",
|
|
41
42
|
"types": "./dist/queries/architecture.d.ts"
|
|
42
43
|
},
|
|
44
|
+
"./queries/anchors": {
|
|
45
|
+
"import": "./dist/queries/anchors.js",
|
|
46
|
+
"types": "./dist/queries/anchors.d.ts"
|
|
47
|
+
},
|
|
43
48
|
"./queries/bottlenecks": {
|
|
44
49
|
"import": "./dist/queries/bottlenecks.js",
|
|
45
50
|
"types": "./dist/queries/bottlenecks.d.ts"
|
|
@@ -92,6 +97,14 @@
|
|
|
92
97
|
"import": "./dist/queries/dataflow.js",
|
|
93
98
|
"types": "./dist/queries/dataflow.d.ts"
|
|
94
99
|
},
|
|
100
|
+
"./queries/dependence-slice": {
|
|
101
|
+
"import": "./dist/queries/dependence-slice.js",
|
|
102
|
+
"types": "./dist/queries/dependence-slice.d.ts"
|
|
103
|
+
},
|
|
104
|
+
"./queries/dependency-depth": {
|
|
105
|
+
"import": "./dist/queries/dependency-depth.js",
|
|
106
|
+
"types": "./dist/queries/dependency-depth.d.ts"
|
|
107
|
+
},
|
|
95
108
|
"./queries/dead": {
|
|
96
109
|
"import": "./dist/queries/dead.js",
|
|
97
110
|
"types": "./dist/queries/dead.d.ts"
|
|
@@ -104,14 +117,18 @@
|
|
|
104
117
|
"import": "./dist/queries/deep-chains.js",
|
|
105
118
|
"types": "./dist/queries/deep-chains.d.ts"
|
|
106
119
|
},
|
|
120
|
+
"./queries/entry-map": {
|
|
121
|
+
"import": "./dist/queries/entry-map.js",
|
|
122
|
+
"types": "./dist/queries/entry-map.d.ts"
|
|
123
|
+
},
|
|
124
|
+
"./queries/system-map": {
|
|
125
|
+
"import": "./dist/queries/system-map.js",
|
|
126
|
+
"types": "./dist/queries/system-map.d.ts"
|
|
127
|
+
},
|
|
107
128
|
"./queries/deps": {
|
|
108
129
|
"import": "./dist/queries/deps.js",
|
|
109
130
|
"types": "./dist/queries/deps.d.ts"
|
|
110
131
|
},
|
|
111
|
-
"./queries/diff-gate": {
|
|
112
|
-
"import": "./dist/queries/diff-gate.js",
|
|
113
|
-
"types": "./dist/queries/diff-gate.d.ts"
|
|
114
|
-
},
|
|
115
132
|
"./queries/diff-impact": {
|
|
116
133
|
"import": "./dist/queries/diff-impact.js",
|
|
117
134
|
"types": "./dist/queries/diff-impact.d.ts"
|
|
@@ -128,6 +145,10 @@
|
|
|
128
145
|
"import": "./dist/queries/drift.js",
|
|
129
146
|
"types": "./dist/queries/drift.d.ts"
|
|
130
147
|
},
|
|
148
|
+
"./queries/evidence": {
|
|
149
|
+
"import": "./dist/queries/evidence.js",
|
|
150
|
+
"types": "./dist/queries/evidence.d.ts"
|
|
151
|
+
},
|
|
131
152
|
"./queries/extract-candidates": {
|
|
132
153
|
"import": "./dist/queries/extract-candidates.js",
|
|
133
154
|
"types": "./dist/queries/extract-candidates.d.ts"
|
|
@@ -196,6 +217,10 @@
|
|
|
196
217
|
"import": "./dist/queries/plan-context.js",
|
|
197
218
|
"types": "./dist/queries/plan-context.d.ts"
|
|
198
219
|
},
|
|
220
|
+
"./queries/context": {
|
|
221
|
+
"import": "./dist/queries/context.js",
|
|
222
|
+
"types": "./dist/queries/context.d.ts"
|
|
223
|
+
},
|
|
199
224
|
"./queries/recent-duplicates": {
|
|
200
225
|
"import": "./dist/queries/recent-duplicates.js",
|
|
201
226
|
"types": "./dist/queries/recent-duplicates.d.ts"
|
|
@@ -204,6 +229,14 @@
|
|
|
204
229
|
"import": "./dist/queries/redundant-reexports.js",
|
|
205
230
|
"types": "./dist/queries/redundant-reexports.d.ts"
|
|
206
231
|
},
|
|
232
|
+
"./queries/reference-neighborhood": {
|
|
233
|
+
"import": "./dist/queries/reference-neighborhood.js",
|
|
234
|
+
"types": "./dist/queries/reference-neighborhood.d.ts"
|
|
235
|
+
},
|
|
236
|
+
"./queries/reference-reachability": {
|
|
237
|
+
"import": "./dist/queries/reference-reachability.js",
|
|
238
|
+
"types": "./dist/queries/reference-reachability.d.ts"
|
|
239
|
+
},
|
|
207
240
|
"./queries/refs": {
|
|
208
241
|
"import": "./dist/queries/refs.js",
|
|
209
242
|
"types": "./dist/queries/refs.d.ts"
|
|
@@ -256,6 +289,14 @@
|
|
|
256
289
|
"import": "./dist/queries/slice.js",
|
|
257
290
|
"types": "./dist/queries/slice.d.ts"
|
|
258
291
|
},
|
|
292
|
+
"./queries/source-inspection": {
|
|
293
|
+
"import": "./dist/queries/source-inspection.js",
|
|
294
|
+
"types": "./dist/queries/source-inspection.d.ts"
|
|
295
|
+
},
|
|
296
|
+
"./queries/source-search": {
|
|
297
|
+
"import": "./dist/queries/source-search.js",
|
|
298
|
+
"types": "./dist/queries/source-search.d.ts"
|
|
299
|
+
},
|
|
259
300
|
"./queries/stale-abstractions": {
|
|
260
301
|
"import": "./dist/queries/stale-abstractions.js",
|
|
261
302
|
"types": "./dist/queries/stale-abstractions.d.ts"
|
|
@@ -296,6 +337,10 @@
|
|
|
296
337
|
"import": "./dist/queries/unused-params.js",
|
|
297
338
|
"types": "./dist/queries/unused-params.d.ts"
|
|
298
339
|
},
|
|
340
|
+
"./queries/value-flow": {
|
|
341
|
+
"import": "./dist/queries/value-flow.js",
|
|
342
|
+
"types": "./dist/queries/value-flow.d.ts"
|
|
343
|
+
},
|
|
299
344
|
"./queries/unused-imports": {
|
|
300
345
|
"import": "./dist/queries/unused-imports.js",
|
|
301
346
|
"types": "./dist/queries/unused-imports.d.ts"
|
|
@@ -314,23 +359,35 @@
|
|
|
314
359
|
}
|
|
315
360
|
},
|
|
316
361
|
"scripts": {
|
|
317
|
-
"build": "node --max-old-space-size=
|
|
362
|
+
"build": "node --max-old-space-size=16384 ./node_modules/tsup/dist/cli-default.js",
|
|
318
363
|
"dev": "tsup --watch",
|
|
319
|
-
"format": "prettier --write \"{src,tests,scripts}/**/*.{ts,tsx,js,mjs,json}\" \"*.{ts,js,json}\"",
|
|
320
|
-
"format:check": "prettier --check \"{src,tests,scripts}/**/*.{ts,tsx,js,mjs,json}\" \"*.{ts,js,json}\"",
|
|
321
|
-
"test": "vitest run",
|
|
364
|
+
"format": "prettier --write \"{src,tests,scripts}/**/*.{ts,tsx,js,mjs,json}\" \"skills/**/scripts/*.{js,mjs}\" \"*.{ts,js,json}\"",
|
|
365
|
+
"format:check": "prettier --check \"{src,tests,scripts}/**/*.{ts,tsx,js,mjs,json}\" \"skills/**/scripts/*.{js,mjs}\" \"*.{ts,js,json}\"",
|
|
366
|
+
"test": "vitest run --maxWorkers=2",
|
|
367
|
+
"soak:cache-lifecycle": "npm run build && vite-node scripts/cache-lifecycle-soak.ts",
|
|
322
368
|
"test:watch": "vitest",
|
|
323
369
|
"typecheck": "tsc --noEmit && tsc -p tests/fixtures/invocation-coverage-contract/tsconfig.json && tsc -p tests/fixtures/protocol-state-contract/tsconfig.json",
|
|
324
370
|
"audit:prod": "node scripts/audit-production-dependencies.mjs",
|
|
325
371
|
"api:report": "node scripts/api-surface-contract.mjs report",
|
|
326
372
|
"api:check": "npm run build && node scripts/api-surface-contract.mjs check && tsc -p tests/fixtures/public-api-consumer/tsconfig.json",
|
|
327
373
|
"api:update": "npm run build && node scripts/api-surface-contract.mjs update",
|
|
328
|
-
"lint": "npm run format:check && eslint src tests tsup.config.ts scripts/api-surface-contract.mjs scripts/audit-production-dependencies.mjs scripts/build-scip-windows.mjs scripts/npm-release-state.ts scripts/npm-release.ts scripts/publish-scip-windows.ts scripts/release-npm-guard.ts scripts/release-npm.ts scripts/scip-windows-package-identity.ts scripts/scip-windows-provenance.mjs scripts/scip-windows-release.ts scripts/verify-scip-windows.mjs scripts/verify-scip-windows-registry.ts && npm run api:check && node scripts/check-skill-links.mjs",
|
|
374
|
+
"lint": "npm run format:check && eslint src tests tsup.config.ts scripts/api-surface-contract.mjs scripts/audit-production-dependencies.mjs scripts/benchmark-cold-reindex.ts scripts/benchmark-graph-literal.ts scripts/benchmark-query-service.ts scripts/benchmark-reindex-accounting.ts scripts/benchmark-source-search.ts scripts/build-scip-windows.mjs scripts/cache-lifecycle-soak.ts scripts/codex-exploration-sandbox.mjs scripts/codex-exploration-trial-core.mjs scripts/codex-exploration-trial.mjs scripts/compare-exploration-trials.mjs scripts/exploration-benchmark-core.mjs scripts/exploration-benchmark.mjs scripts/npm-release-state.ts scripts/npm-release.ts scripts/publish-scip-windows.ts scripts/release-npm-guard.ts scripts/release-npm.ts scripts/scip-windows-package-identity.ts scripts/scip-windows-provenance.mjs scripts/scip-windows-release.ts scripts/verify-identity-collision-cli.mjs scripts/verify-scip-windows.mjs scripts/verify-scip-windows-registry.ts skills/scip-explore/scripts/capture-evidence.mjs && npm run api:check && node scripts/check-skill-links.mjs",
|
|
329
375
|
"build:scip-windows": "node scripts/build-scip-windows.mjs",
|
|
330
376
|
"verify:scip-windows": "node scripts/verify-scip-windows.mjs",
|
|
377
|
+
"verify:identity-collision-cli": "node scripts/verify-identity-collision-cli.mjs",
|
|
331
378
|
"verify:scip-windows-registry": "vite-node scripts/verify-scip-windows-registry.ts",
|
|
332
379
|
"bench:evidence-products": "node scripts/evidence-product-contract.mjs",
|
|
380
|
+
"bench:exploration": "node scripts/exploration-benchmark.mjs",
|
|
381
|
+
"bench:exploration:codex": "node scripts/codex-exploration-trial.mjs",
|
|
382
|
+
"bench:exploration:compare": "node scripts/compare-exploration-trials.mjs",
|
|
383
|
+
"bench:cold-reindex": "vite-node scripts/benchmark-cold-reindex.ts",
|
|
384
|
+
"bench:edit-latency": "vite-node scripts/benchmark-edit-latency.ts",
|
|
385
|
+
"bench:graph-literal": "vite-node scripts/benchmark-graph-literal.ts",
|
|
386
|
+
"bench:query-service": "npm run build && vite-node scripts/benchmark-query-service.ts",
|
|
387
|
+
"bench:reindex-accounting": "vite-node scripts/benchmark-reindex-accounting.ts",
|
|
388
|
+
"bench:source-search": "vite-node scripts/benchmark-source-search.ts",
|
|
333
389
|
"bench:native-symbol-leaf": "node scripts/bench-native-symbol-leaf.mjs",
|
|
390
|
+
"bench:agent-output": "npm run build -- --silent && vite-node scripts/benchmark-agent-output.ts",
|
|
334
391
|
"calibrate": "node scripts/accuracy-calibration.mjs",
|
|
335
392
|
"docs:commands": "vite-node scripts/render-command-reference.ts --write",
|
|
336
393
|
"prepublishOnly": "vite-node scripts/release-npm-guard.ts",
|
|
@@ -363,6 +420,7 @@
|
|
|
363
420
|
"dependencies": {
|
|
364
421
|
"@bufbuild/protobuf": "^2.11.0",
|
|
365
422
|
"@c4312/scip": "^0.1.0",
|
|
423
|
+
"@ts-morph/common": "^0.29.0",
|
|
366
424
|
"@vue/compiler-dom": "^3.5.40",
|
|
367
425
|
"@vue/compiler-sfc": "^3.5.40",
|
|
368
426
|
"better-sqlite3": "^13.0.2",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: concrete-plan
|
|
3
|
+
description: Compatibility alias for the canonical scip-plan skill. Use only when an existing prompt explicitly requests concrete-plan.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Concrete Plan compatibility alias
|
|
7
|
+
|
|
8
|
+
This name remains for a transition period so existing agent prompts do not fail. Apply `$scip-plan`; it contains the canonical command/question manual and code-grounded planning format. Do not combine the two skills.
|
|
@@ -1,90 +1,78 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-explore
|
|
3
|
-
description:
|
|
4
|
-
commands:
|
|
5
|
-
- template: "scip-query system <module-or-scope>"
|
|
6
|
-
when: "Orient to a module's files, symbols, dependencies, and consumers."
|
|
7
|
-
- template: "scip-query trace <entry-symbol>"
|
|
8
|
-
when: "Connect an entry symbol to its definition and references."
|
|
9
|
-
- template: "scip-query affected <symbol>"
|
|
10
|
-
when: "Measure the transitive downstream blast radius of a change."
|
|
3
|
+
description: Understand a repository system end to end before explaining, planning, changing, or reviewing it. Use when the task depends on how behavior enters the system, branches, transforms data, crosses runtimes, changes state, reaches consumers, or recovers from failure across multiple symbols or files. Apply scip-query as the evidence instrument; this skill owns the system model, evidence ledger, synthesis, and stopping test. Skip it for a single exact source lookup whose answer is already local.
|
|
11
4
|
---
|
|
12
5
|
|
|
13
|
-
|
|
6
|
+
# SCIP Explore
|
|
14
7
|
|
|
15
|
-
|
|
8
|
+
A repository system is the set of cooperating code, runtime mechanisms, and state resources whose coordinated behavior turns an initiating input into observable consequences. To understand one end to end is to reconstruct that behavior from its initiating boundary through every material decision, transformation, handoff, state change, result, and recovery path within the user's scope.
|
|
16
9
|
|
|
17
|
-
|
|
18
|
-
## Commands for this skill
|
|
10
|
+
`$scip-query` is the sensing skill: it locates exact referents, projects typed relationships, reads implementation, and reports evidence strength and coverage. Load it before querying. This skill is the investigation skill: it decides which facts the answer must establish, integrates the observations, and decides when the system is understood well enough to answer. Do not duplicate the command manual here or treat either skill as a fixed command sequence.
|
|
19
11
|
|
|
20
|
-
|
|
21
|
-
| --- | --- | --- | --- | --- |
|
|
22
|
-
| `scip-query system <module-or-scope>` | Full module map: files, symbols, deps in/out | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` | Orient to a module's files, symbols, dependencies, and consumers. |
|
|
23
|
-
| `scip-query trace <entry-symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Connect an entry symbol to its definition and references. |
|
|
24
|
-
| `scip-query affected <symbol>` | Transitive closure of symbols that could break if this symbol changes | affected symbol identities, files, and traversal depths | `bounded` | Measure the transitive downstream blast radius of a change. |
|
|
12
|
+
## Build the proof target
|
|
25
13
|
|
|
26
|
-
|
|
27
|
-
<!-- END GENERATED SKILL COMMANDS -->
|
|
14
|
+
Before querying, restate the user's question as a checkable capability or decision. Then create a small private evidence ledger. An evidence ledger is a working record whose rows bind each material claim to the evidence needed to settle it. A material claim is a repository fact whose truth could change the requested explanation, decision, plan, or edit.
|
|
28
15
|
|
|
29
|
-
|
|
16
|
+
Start with three to seven rows, normally one for each distinct clause in the user's question. A row must be atomic enough that one status applies to every part of it. Split a row when different predicates, outcomes, fields, bounds, or failure paths require different evidence. Do not add rows merely because an unrelated implementation exposes more behavior.
|
|
30
17
|
|
|
31
|
-
|
|
32
|
-
- Relationship, consumer, and completeness claims must cite a `scip-query` command. Literal local-source claims may cite a native file read instead.
|
|
33
|
-
- Resolve ambiguous symbols before describing behavior — `scip-query code` is the usual tool, but it isn't mandatory when you already have an exact native range.
|
|
34
|
-
- Follow the graph before trusting folder structure. Start wide, then narrow.
|
|
35
|
-
- Descriptions need citations; conclusions need discriminators. A conclusion — why something happens, what a unit is for, which intent explains a shape — must state one rival explanation and the trace evidence that ruled it out.
|
|
18
|
+
Give each row one status:
|
|
36
19
|
|
|
37
|
-
|
|
20
|
+
- `unresolved`: no sufficient evidence yet;
|
|
21
|
+
- `established`: exact or adequately calibrated evidence supports the claim within stated coverage;
|
|
22
|
+
- `unsupported`: a named provider or source limitation prevents the claim;
|
|
23
|
+
- `excluded`: the claim cannot change the requested answer, with the reason recorded.
|
|
38
24
|
|
|
39
|
-
|
|
25
|
+
Derive rows from the question, not from a generic checklist. For an end-to-end behavior, test whether the answer depends on these five parts of the causal spine:
|
|
40
26
|
|
|
41
|
-
|
|
27
|
+
1. origin and ownership — what initiates the behavior, which entry surface receives it, and which long-lived or per-invocation owner controls it;
|
|
28
|
+
2. decisions and transformations — which predicates, authorization checks, precedence rules, bounds, defaults, sibling outcomes, extension hooks, and data reshaping alter what happens;
|
|
29
|
+
3. crossings and effects — which runtime mechanisms carry the work, which state or external resources are observed or changed, and in what order;
|
|
30
|
+
4. observation — which return value, emitted event, notification, durable record, or downstream consumer makes the result visible;
|
|
31
|
+
5. failure and recovery — which retry, rejection, rollback, cleanup, interruption rule, later repair, or post-loop maintenance follows an incomplete or completed path.
|
|
42
32
|
|
|
43
|
-
|
|
44
|
-
Done when: module files, key symbols, dependencies, and reverse dependencies are mapped.
|
|
33
|
+
These are possible fact classes, not assumptions that every system contains all five. Mark an absent class `excluded` only when evidence shows it cannot alter the answer. For comparisons, keep separate rows for both paths and for each discriminator between them.
|
|
45
34
|
|
|
46
|
-
|
|
47
|
-
Done when: the traced path connects entry point to observable effect.
|
|
35
|
+
Read [references/information-model.md](references/information-model.md) only when the user asks for the capability inventory, a ledger row needs a specialized analysis beyond the ordinary relationship families, or provider support is uncertain. It maps the complete kinds of information scip-query can expose to the system claims they can and cannot establish. Do not load it for routine end-to-end exploration.
|
|
48
36
|
|
|
49
|
-
|
|
50
|
-
Done when: direct dependencies, public surface, and downstream blast radius are named.
|
|
37
|
+
When collaboration tools are available and authorized, and the main agent will continue from the investigation into planning, editing, or review, prefer a fresh delegated explorer for a multi-symbol causal spine. Read [references/delegated-exploration.md](references/delegated-exploration.md) before the main context performs repository exploration. The explorer owns read-only acquisition; the main agent receives only a claim-complete ledger, retains all mutation and user-facing authority, and revalidates affected claims after edits. Do not delegate a single exact lookup whose result is already local.
|
|
51
38
|
|
|
52
|
-
|
|
53
|
-
Done when: producers, transformations, storage, and consumers are identified — or explicitly marked unavailable.
|
|
39
|
+
When `SCIP_EXPLORE_EVIDENCE_DIR` and `SCIP_EXPLORE_LEDGER` are set, read [references/external-evidence.md](references/external-evidence.md) before querying. That runner has requested external evidence mode: complete packets stay outside model context, bounded receipts support the investigation, and a claim-complete ledger becomes the only input to a fresh synthesis phase.
|
|
54
40
|
|
|
55
|
-
|
|
56
|
-
Done when: the explanation names the risky symbols, or states that no relevant risks appeared.
|
|
41
|
+
## Establish the causal spine
|
|
57
42
|
|
|
58
|
-
|
|
43
|
+
Start from the most discriminating exact referent already present in the request. Locate one only when needed. Reuse returned symbols and `file:line` identities as graph roots; do not rediscover the same unit through synonyms.
|
|
59
44
|
|
|
60
|
-
|
|
61
|
-
|---|---|
|
|
62
|
-
| Function behavior | `code`, `hierarchy`, `call-graph`, `dataflow`, `complexity` |
|
|
63
|
-
| User-action flow | `files` or `outline` to find the handler, then `code` and `call-graph` down the path |
|
|
64
|
-
| Safe to change? | `change-surface`, `affected`, `similar` |
|
|
65
|
-
| Module architecture | `system`, `surface`, `deep-chains`, `bottlenecks`, `cycles`, `hotspots` (`hotspots` lists the most-referenced symbols — choke points where any change ripples widely) |
|
|
66
|
-
| Relationship between two units | `coupling`, `similar --plan`, `similar-chains` |
|
|
45
|
+
Treat all exact text already visible in a locator, inspect slice, or code receipt as located. Do not search for a function, call expression, constant, or message that is already present in delivered source. Do not run `outline` after exact source has already exposed the relevant unit boundaries. If a root has produced two failed or non-settling locator/outline attempts, use the best exact `file:line` already known with one bounded `inspect` and reassess the claim; do not alternate among more locators. A claim is not unsupported or excludable while a delivered exact identity or recovery command can settle a material clause.
|
|
67
46
|
|
|
68
|
-
|
|
47
|
+
When a locator returns competing implementations, make authoritative scope the first ledger row. Before reading either implementation body, compare only the evidence that can identify which path answers the question: external entry surfaces, incoming execution, ownership, consumers, or runtime handoffs. A core type, newer package, first search result, or public export is not ingress. Treat one path as authoritative only when exact evidence connects it to the scope named by the question. If one bounded comparison plus its exact relevant recovery cannot do that, preserve every plausibly live implementation as a separate scope; an ambiguous general question requires each live scope to be explained to the requested depth or explicitly left unresolved. Do not silently choose one, and do not exclude another without evidence that it cannot answer the question.
|
|
69
48
|
|
|
70
|
-
|
|
49
|
+
For a lifecycle, distinguish scheduling from execution and completion from later maintenance. If work is queued, establish both the event that creates the pending work and the later owner that observes and processes it, including their ordering. If plugins or other extension points can inject, replace, or transform material input, treat those operations as behavior rather than incidental calls. Include later filtering, reconstruction, pruning, or cleanup when it changes what a future consumer observes.
|
|
71
50
|
|
|
72
|
-
|
|
73
|
-
- **`unused-imports <file>`** — imports not referenced in that same file. Run on a file you're about to touch, or one a de-bloat pass flagged; remove only entries you've confirmed are safe.
|
|
74
|
-
- **`similar-signatures`** — functions with near-identical type signatures. Run when hunting duplicate-shaped functions to consolidate. This is a *good-with-review* signal — check each match with `code` before merging, don't act on the list alone.
|
|
75
|
-
- **`co-change [file]`** — files that change together in git history with no dependency edge between them: hidden coupling. Run when `change-surface` or `affected` reports a small blast radius but you suspect the graph is missing something. This is also *good-with-review* — a paired file is a prompt to check manually, not proof the current change must touch it too. (`diff-gate`'s `co-change-partner` check is the automated version of this same signal.)
|
|
51
|
+
Select relationships because they can settle named ledger rows. Include the initiating owner as a root or request incoming execution when an end-to-end account needs ingress. Batch independent roots and related families when their evidence belongs to the same open question. When the interface supports concurrent tool calls, issue independent observations in one wave while preserving one complete result and cursor chain per command. Never combine results through a shortening pipe or abandon a printed `Continue exactly:` cursor; transport completion is required before coverage can be evaluated. Do not request every family to see what appears. Use graph evidence for relationships between units and behavior/source evidence for predicates inside a selected unit; neither substitutes for the other.
|
|
76
52
|
|
|
77
|
-
|
|
53
|
+
After each packet:
|
|
78
54
|
|
|
79
|
-
|
|
55
|
+
- record its normalized request and every delivered exact source interval; before another query, reject an exact duplicate and subtract already covered ranges locally;
|
|
56
|
+
- update only the ledger rows that its evidence actually establishes;
|
|
57
|
+
- preserve evidence strength, coverage, exact bounds, defaults, branch predicates, separately handled fields, ownership scope, state identity, ordering, and cleanup effects;
|
|
58
|
+
- mark a row `established` only when the selected behavior supports every clause in that row; an accurate high-level sentence does not settle omitted guards, markers, fields, stop conditions, or sibling outcomes;
|
|
59
|
+
- treat the exact formula of any configurable threshold, budget, or bound that changes selection as material; treat a durable reduction marker as unresolved until its later consumer and exact model-facing substitution are established or the provider reports that frontier unsupported;
|
|
60
|
+
- name the remaining gap before another query;
|
|
61
|
+
- follow a printed fold, recovery command, or adjacent identity only when it can close that gap;
|
|
62
|
+
- use `inspect --view behavior` for a named behavioral gap and `code` only when exact syntax can change the conclusion.
|
|
80
63
|
|
|
81
|
-
|
|
64
|
+
If two consecutive packets neither establish a row nor split one using a newly discovered behavior-changing fact, stop expanding that root and reassess the selected authority, relationship family, or ledger. Do not compensate for a weak root with more source.
|
|
82
65
|
|
|
83
|
-
|
|
84
|
-
|---|---|
|
|
85
|
-
| Entering an unfamiliar language (TypeScript, Python, Java, Scala, Kotlin, Rust, Go, C, C++, Ruby, C#, Visual Basic, Dart, PHP, Clojure/ClojureScript, Vue) and picking the highest-signal commands, including de-bloat sets | `references/language-playbook.md` |
|
|
86
|
-
| Turning exploration evidence into an HTML flow, dependency, data-flow, or blast-radius diagram | `references/diagrams.md` |
|
|
66
|
+
At an input boundary, keep decoding or parsing separate from validation even when source nests them in one expression. Establish both failure paths before assigning a response: a validator that returns a failure result does not catch an exception or rejected promise raised while its argument is being produced. Preserve which enclosing handler catches that earlier failure.
|
|
87
67
|
|
|
88
|
-
|
|
68
|
+
Calls and exact runtime handoffs establish executable reachability within their stated coverage. Dataflow, state, temporal, contract, identity, ownership, reference, and dependency evidence establish only the relationship they name. A candidate is a lead requiring confirmation. A bounded or unsupported result cannot establish absence. If scip-query reports a specific unsupported frontier, use a native read only for that frontier and record why the exception was necessary.
|
|
89
69
|
|
|
90
|
-
|
|
70
|
+
## Synthesize the system
|
|
71
|
+
|
|
72
|
+
Condense observations into one causal account: when the initiating condition holds, the identified owner evaluates the material decisions, transforms or transfers the identified data, changes the identified state in the established order, and exposes the established result; on the relevant failure path, the established recovery behavior follows.
|
|
73
|
+
|
|
74
|
+
This causal account is not a chronology of files read. Organize it by what makes the behavior occur. Keep structurally different operations separate: a returned default is not a thrown rejection; a cache invalidation is not a generic state update; an enqueue is not successful consumption; local source order is not cross-process completion.
|
|
75
|
+
|
|
76
|
+
Before answering or editing, audit the draft against the ledger and every selected statement-complete behavior packet. Repair answer-side omissions from evidence already delivered instead of querying again. Preserve every material predicate, hard bound, default, separately merged field, durable effect, externally visible ordering, and cleanup action. If an unsupported row limits the conclusion, state that limit in the answer.
|
|
77
|
+
|
|
78
|
+
Stop when every material row is `established`, `unsupported`, or `excluded`, no contradiction remains among the rows, and no exact in-scope recovery command could change the answer. Packet completion, a plausible narrative, elapsed time, query count, and token cost are not stopping conditions.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name:
|
|
3
|
-
short_description:
|
|
4
|
-
default_prompt:
|
|
2
|
+
display_name: 'SCIP Explore'
|
|
3
|
+
short_description: 'Understand repository systems end to end'
|
|
4
|
+
default_prompt: 'Use $scip-explore to understand this repository system end to end before explaining or changing it.'
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Delegated live exploration
|
|
2
|
+
|
|
3
|
+
A delegated explorer is a read-only subagent that turns one fixed repository question into a claim-complete evidence ledger for a separate coding agent. Its defining boundary is that it may observe and record the system but cannot change the repository, choose the implementation, grade its own work, or answer the user. The separation keeps acquisition transcripts outside the main coding context while leaving decisions and effects with the agent responsible for them.
|
|
4
|
+
|
|
5
|
+
Use this mode only when the active environment permits subagents and the investigation spans enough owners, branches, crossings, or effects that direct exploration would materially enlarge the main context. The main agent remains responsible for the user's objective, permissions, edits, checks, commits, and final answer.
|
|
6
|
+
|
|
7
|
+
## Create the checkpoint
|
|
8
|
+
|
|
9
|
+
Before spawning, the main agent:
|
|
10
|
+
|
|
11
|
+
1. states the exact question and initial material claims without exploring their answers;
|
|
12
|
+
2. creates one private temporary root outside the repository, containing an evidence directory and ledger path;
|
|
13
|
+
3. records the current repository root, commit, dirty paths, and intended scope;
|
|
14
|
+
4. refrains from tracked-source edits until acquisition returns.
|
|
15
|
+
|
|
16
|
+
Start one fresh explorer with no inherited conversation turns. When the collaboration surface supports explicit profiles, request `gpt-5.6-terra` with `xhigh` reasoning for a terminal ledger unless the user selected another profile or broader fixed evaluation has established a better one. Do not silently substitute a different model or reasoning level.
|
|
17
|
+
|
|
18
|
+
Treat `gpt-5.6-sol` with `low` reasoning as an experimental balanced profile, not yet the default. On one frozen OpenCode external-ledger run it recovered 6/7 strict compound facts in 338 seconds for about 43.10 Codex credits, versus Terra-xhigh's 5/7 in 630 seconds for 33.20 credits. It has not been repeated across seeds or task shapes. Use it when the user accepts the measured credit premium for faster turnaround and stronger observed clause retention; disclose that the evidence is one run.
|
|
19
|
+
|
|
20
|
+
Use `gpt-5.6-sol` with `medium` reasoning as an accuracy escalation when a decision-critical compound claim remains unresolved after Terra, or when the user explicitly prioritizes accuracy over credits. On one frozen OpenCode external-ledger run it recovered 7/7 strict compound facts versus Terra-xhigh's 5/7, but cost about 2.5 times as many Codex credits, used 60 semantic queries instead of 23, and has not been repeated across task shapes or seeds. Give Sol the unresolved claim ids and accepted ledger for an audit or targeted delta; do not repeat a complete acquisition unless the earlier ledger is unusable.
|
|
21
|
+
|
|
22
|
+
Treat `gpt-5.6-luna` with `max` reasoning as an experimental economy pre-pass, not as a terminal-ledger replacement. Use it only when the user explicitly prioritizes cost or the result is a preliminary map. Before relying on its ledger for an implementation or compound system claim, give the question and ledger—not its receipts or transcript—to a fresh Terra-xhigh auditor; turn every missing or weakened material clause into a targeted Terra delta. Do not claim that this hybrid saves cost until its complete acquisition, audit, and delta path has been measured.
|
|
23
|
+
|
|
24
|
+
Give the explorer only the question, material-claim seed, repository and temporary paths, observed baseline, and these instructions. Require it to load `$scip-explore` and `$scip-query`, read [external-evidence.md](external-evidence.md), and run each scip-query observation through the capture wrapper with the assigned evidence directory. The explorer may prepare or refresh scip-query's private index when required; it may not edit, stage, commit, run tests, mutate external systems, inspect an evaluation rubric, or broaden the user's scope.
|
|
25
|
+
|
|
26
|
+
The explorer writes either a complete base ledger or a blocked ledger. Its visible response is exactly `LEDGER_READY <absolute-ledger-path>` or `LEDGER_BLOCKED <absolute-ledger-path>`; it does not paste the ledger, receipts, raw packets, or a user-facing explanation into the subagent response.
|
|
27
|
+
|
|
28
|
+
## Accept the handoff
|
|
29
|
+
|
|
30
|
+
The main agent reads only the ledger. Accept `LEDGER_READY` only when:
|
|
31
|
+
|
|
32
|
+
- the path is the assigned path and the file is nonempty and bounded;
|
|
33
|
+
- the header names the exact task, scope, baseline, receipts, and observation identities;
|
|
34
|
+
- the scope manifest accounts for every plausibly live production scope from complete locator evidence; a named but unexplored live scope rejects the handoff unless exact routing evidence excludes it;
|
|
35
|
+
- the ledger state is `complete` and no material row remains `unresolved`;
|
|
36
|
+
- every established row has exact citations, evidence strength, and coverage;
|
|
37
|
+
- receipts combined within a claim describe compatible, adequately stable observations.
|
|
38
|
+
|
|
39
|
+
If the explorer returns `LEDGER_BLOCKED`, the signal is malformed, the snapshot changed, or a required identity is unknown, do not silently explore in the main context or downgrade the explorer. Retry a fresh explorer only when a named recoverable gap can be corrected; otherwise tell the user which evidence boundary prevented the handoff.
|
|
40
|
+
|
|
41
|
+
A Sol-low base ledger that fails the scope-manifest or clause-transfer check is not accepted because it is cheaper. Give only the missing scope or claim ids to the configured accuracy escalation as a targeted delta; do not repeat already accepted acquisition.
|
|
42
|
+
|
|
43
|
+
After acceptance, the main agent synthesizes the system and may read only the exact implementation surfaces needed to edit. It never reads raw packets merely to gain confidence. Keep the temporary evidence until the task's verification is complete, then remove only the exact temporary root created for this handoff.
|
|
44
|
+
|
|
45
|
+
## Revalidate after edits
|
|
46
|
+
|
|
47
|
+
An edit changes the repository snapshot and therefore ends the original ledger's authority over current state. Run `scip-query diff-impact` after a nontrivial change and identify which relied-on claim ids intersect changed or affected symbols and files.
|
|
48
|
+
|
|
49
|
+
A ledger delta is a new read-only handoff that binds an earlier ledger to a later repository snapshot while replacing only claims whose truth or evidence may have changed. Spawn a fresh explorer with the original question, base-ledger checksum, affected claim ids, diff-impact result, and new temporary paths. The delta explorer first ensures scip-query's index reflects the changed tracked sources; an unchanged index-generation identity after an indexed source change cannot authorize the new snapshot. The delta must name the new observation identities, invalidated or superseded ids, replacement terminal rows, and any unchanged rows whose continued applicability it establishes. Do not make the main agent carry the earlier exploration transcript into this pass.
|
|
50
|
+
|
|
51
|
+
The main agent may retain an old claim only when the delta establishes that the change cannot affect it. A moved commit, changed content or index identity, invalidated stability proof, incompatible receipt, or unknown relationship blocks reuse rather than producing a warning.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# External evidence mode
|
|
2
|
+
|
|
3
|
+
External evidence mode separates complete repository observations from the smaller claim evidence kept in the model's active context. A raw evidence packet is the exhaustive JSON result written by scip-query. An evidence receipt is the bounded, model-facing projection of that same result together with its coverage, observation identity, file path, byte count, and checksum.
|
|
4
|
+
|
|
5
|
+
Use this mode only when `SCIP_EXPLORE_EVIDENCE_DIR` and `SCIP_EXPLORE_LEDGER` are set. The surrounding runner owns those paths and the later context checkpoint; their presence in the task is sufficient, so do not query `env` to reconfirm them. One evidence directory belongs to one read-only acquisition snapshot. Do not reuse it after a tracked-source edit or known index-generation change; start a new directory and ledger or delta. Receipt reuse is limited to the latest compatible observation identity already present in the directory, but the read-only snapshot boundary is what prevents the first request after an unseen external change from reusing stale evidence.
|
|
6
|
+
|
|
7
|
+
The supported checkpoint uses two model contexts. The acquisition context receives bounded receipts and writes the ledger; a fresh synthesis context receives only the question and that ledger. Writing evidence to Markdown inside one continuing context does not remove earlier tool results or receipts from that context. A one-context runner may still use capture to reduce each tool result, but it must not describe that as context eviction or expect the ledger to lower already accumulated input.
|
|
8
|
+
|
|
9
|
+
## Capture evidence
|
|
10
|
+
|
|
11
|
+
Run every scip-query exploration command through the installed capture script:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
node <loaded-scip-explore-skill-directory>/scripts/capture-evidence.mjs --id <unique-id> -- <command> <arguments...>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Replace the directory placeholder with the absolute directory containing the `scip-explore` `SKILL.md` you actually loaded. Do not guess that the skill is repository-local; Codex, Claude, and shared-agent installations may expose different absolute roots.
|
|
18
|
+
|
|
19
|
+
Use a distinctive literal already present in the task or a prior receipt, not a broad topic word:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node <loaded-scip-explore-skill-directory>/scripts/capture-evidence.mjs --id locate-root -- search '<exact identifier or message>'
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Arguments after `--` are ordinary scip-query arguments without the `scip-query` executable. Do not add `--json`, `--agent-output`, `--json-output`, or pagination flags; the script owns transport. It writes the complete JSON envelope under `SCIP_EXPLORE_EVIDENCE_DIR` before it returns a receipt. It never pipes the result through `head`, `tail`, `jq`, or another shortening stage. A search receipt groups every identity present in the exhaustive packet into a complete file-owner-line manifest and keeps only the freshness states needed to calibrate those identities; verbose per-file proofs and binary-path inventories remain in the checksum-addressed raw packet. A command-rendering identity budget may report omissions even when the exhaustive packet contains the known total; the receipt promotes coverage only when raw identity count, known total, and matching-line count agree exactly. Otherwise an incomplete identity manifest, an overlarge model projection, or any other inability to represent the requested observation safely produces a refusal and keeps the complete raw packet for audit. Narrow or follow the stated recovery under a new evidence id; never treat the refusal as evidence.
|
|
26
|
+
|
|
27
|
+
The file export is the pagination-safe transport for external evidence mode: the command completes its exhaustive machine payload outside the model-facing terminal, then the wrapper reads that complete file. Outside this wrapper, every printed `Continue exactly:` command remains mandatory. Run each cursor unchanged until none remains before interpreting that command. Do not substitute a fresh query, alter cursor flags, or infer completeness from one page.
|
|
28
|
+
|
|
29
|
+
The wrapper compares each request with successful receipts in the same evidence directory. An exact duplicate returns `already-captured` with the receipt ids to cite and does not run scip-query again. A `code file:start-end` range already covered by either a code receipt or an exact inspect slice does the same. A partially covered range returns `overlap-requires-uncovered-query` and the exact uncovered selectors; capture only those selectors under a new id. These responses reuse already delivered bytes without deleting or approximating evidence. Prevent the response in the first place: after every receipt, record its normalized request and delivered source intervals in the private ledger; before every capture, check exact-request reuse and subtract covered intervals. Do not ask the wrapper to rediscover that a request is redundant.
|
|
30
|
+
|
|
31
|
+
Batch independent facts as one acquisition wave when the tool interface supports concurrent calls, but keep one complete raw packet and one receipt per command. Give each command its own id. Batching means issuing independent lossless transports together; it never means concatenating their terminal output, sharing a cursor, or clipping any result to fit a combined budget.
|
|
32
|
+
|
|
33
|
+
Do not read a raw packet merely because it exists. The receipt is the delivered evidence. A raw packet is for deterministic audit or a specifically named field that the receipt reports as omitted; audit only a count, identity, digest, or other non-source fact programmatically. Never print raw source, result arrays, or a raw field through `jq`, Python, `head`, `tail`, or another native command. If omitted source can change a ledger row, issue the receipt's bounded recovery query. A receipt may refer to an earlier receipt for an identical observation checkpoint while preserving its own observation time and identity hash; resolve that reference when checking snapshot compatibility instead of requesting the checkpoint again.
|
|
34
|
+
|
|
35
|
+
An `inspect --view behavior` receipt keeps every exact source slice once, plus compact unit, binding, coverage, visible-frontier, and recovery metadata. Duplicate behavior-line encodings and withheld frontier lead objects stay in the raw packet; their counts and exact `remainingInspectCommands` stay visible. Read the delivered slices as source evidence and follow a remaining command only when a named claim depends on its withheld frontier. Do not request the same source again with `code`.
|
|
36
|
+
|
|
37
|
+
`code` has no smaller safe projection: its exact source is the evidence. Prefer `inspect --view behavior` for predicates and use `code` only for a named, narrow range whose syntax can change a ledger row and is not already covered by an inspect slice or code receipt. A rejected overlarge projection is a signal to narrow the source question, not to print the raw packet.
|
|
38
|
+
|
|
39
|
+
## Write the checkpoint ledger
|
|
40
|
+
|
|
41
|
+
Keep the ordinary private evidence ledger while exploring. At the end of the evidence phase, write one self-contained Markdown ledger to the exact `SCIP_EXPLORE_LEDGER` path. This is the only repository understanding carried into the fresh synthesis phase, so preserve claim-sized evidence rather than a narrative summary.
|
|
42
|
+
|
|
43
|
+
Begin the ledger with:
|
|
44
|
+
|
|
45
|
+
- schema `scip-explore-ledger/v1`;
|
|
46
|
+
- handoff kind `base` or `delta`;
|
|
47
|
+
- the exact task and scope;
|
|
48
|
+
- a scope manifest listing every plausibly live production scope exposed by complete locator identities, with status `established`, `unsupported`, or `excluded` and exact authority evidence for any exclusion;
|
|
49
|
+
- state `complete` or `blocked`;
|
|
50
|
+
- every receipt id and raw-evidence checksum used;
|
|
51
|
+
- the observation identities and stability proofs reported by those receipts;
|
|
52
|
+
- for a delta, the base-ledger checksum plus every invalidated or superseded claim id.
|
|
53
|
+
|
|
54
|
+
`complete` means every material row is `established`, `unsupported`, or `excluded` and all receipts used for one claim are compatible with the declared snapshot. Use `blocked` when acquisition cannot produce a trustworthy terminal ledger. Do not silently omit an oversized projection, incompatible observation identity, changed snapshot, or unresolved material clause.
|
|
55
|
+
|
|
56
|
+
For an unqualified product question, a production scope cannot be excluded merely because another scope has a direct caller or a more complete causal spine. Either explain every plausibly live scope to the requested depth, establish exact product routing that makes one irrelevant, or return `blocked` so a targeted delta can settle it. Naming an unexplored live scope in a limitation does not make a ledger complete.
|
|
57
|
+
|
|
58
|
+
Do not classify a reachable selection formula, bound, or downstream representation consumer as non-material when it changes the user's requested behavior. In particular, a named budget helper requires its exact arithmetic, and a persisted reduction marker requires the later consumer's exact model-facing result. A delivered identity or recovery command capable of establishing either keeps the row unresolved until it is read.
|
|
59
|
+
|
|
60
|
+
For every material row include:
|
|
61
|
+
|
|
62
|
+
- an atomic claim identifier and status;
|
|
63
|
+
- the complete established claim, including every material guard, default, bound, field operation, ordering rule, sibling outcome, cleanup, and failure behavior;
|
|
64
|
+
- a `Must transfer` list with one bullet for every independently material clause that fresh synthesis must state; preserve distinct operations such as inject, replace, and transform as distinct bullets;
|
|
65
|
+
- for an input boundary, separate decoding or parsing failure from validation failure and cite the handler for each; a validator does not catch a failure raised while its argument is being produced;
|
|
66
|
+
- exact `file:line` or compiler-symbol citations present in delivered receipts;
|
|
67
|
+
- evidence strength and coverage limitations;
|
|
68
|
+
- unresolved, unsupported, or excluded clauses stated separately.
|
|
69
|
+
|
|
70
|
+
For deferred work, state the creation event, the later processing event, and whether processing occurs before ordinary work. For filtering, summarization, or pruning, distinguish durable storage from the model-facing view and state explicitly whether original history or output is deleted.
|
|
71
|
+
|
|
72
|
+
Do not cite the temporary raw-packet path as repository evidence. Do not answer the user's question in the evidence phase. After writing the ledger, return only the control signal required by the runner so it can decide whether a fresh synthesis context is permitted. Benchmark runners use exactly `LEDGER_READY` for a complete ledger or `LEDGER_BLOCKED` for a blocked ledger; delegated live exploration uses the path-bearing form in [delegated-exploration.md](delegated-exploration.md). Never append an explanation to either signal.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# scip-query information model
|
|
2
|
+
|
|
3
|
+
Use this map to decide what kind of repository fact a ledger row requires. It inventories information classes rather than prescribing a route. `scip-query --help-all` remains the complete runtime command inventory, and `scip-query capabilities --matrix` remains the authority on which providers and evidence ceilings are available in the current project.
|
|
4
|
+
|
|
5
|
+
## Direct system evidence
|
|
6
|
+
|
|
7
|
+
| Information kind | What its real referents are | Primary controls | What it can establish | What it cannot establish alone |
|
|
8
|
+
|---|---|---|---|---|
|
|
9
|
+
| Current text | Exact tracked bytes, occurrences, paths, and aligned compiler owners | `search`, `files` | Cardinality and location within reported text coverage | Task relevance or executable reachability |
|
|
10
|
+
| Source structure | Compiler-owned files, symbols, members, methods, nesting, and ranges | `outline`, `methods`, `members`, `hierarchy`, `by-kind`, `kind-counts` | What constructs exist and contain one another | That a construct runs or is externally active |
|
|
11
|
+
| Entry and consumer surfaces | Callables where control may enter and symbols outside consumers actually use | `entrypoints`, `entry-map`, `surface`, `fan-in` | Candidate ingress, static downstream reach, and published use | Runtime invocation from visibility or zero callers alone |
|
|
12
|
+
| Execution and control | Calls, callbacks, returns, throws, branches, loops, handlers, and local control dependence | `evidence --edge execution`, `call-graph`, `dependence-slice` | Static may-call and supported control reachability | That an invocation occurred, completed, or selected a candidate target at runtime |
|
|
13
|
+
| Data movement | Arguments, parameters, definitions, uses, returns, captures, field uses, serialized discriminators, and values written to state | `evidence --edge dataflow`, `value-flow`, `dependence-slice` | Supported local and bounded cross-call value transfers | General interprocedural definition-use flow, heap aliasing, or every eventual consumer |
|
|
14
|
+
| Runtime handoff | Source-grounded producers and consumers joined by queues, events, commands, discriminators, or registered adapters | `evidence --edge runtime` | Supported producer/consumer rendezvous and dispatch identity | Successful delivery, retry, or an unregistered framework crossing |
|
|
15
|
+
| State interaction | Identified resources read, written, deleted, enqueued, or consumed | `evidence --edge state` | Which construct performs which observed state operation | Transactionality, durability, alias identity, or exclusive ownership unless separately evidenced |
|
|
16
|
+
| Temporal order | Local successors, await completion, lock scope, and supported enqueue-before-consume order | `evidence --edge temporal` | Reported local or adapter-backed before/after relations | Cross-process happens-before, durable completion, or exceptional completion |
|
|
17
|
+
| Contracts | Interfaces, types, and other compiler/source contracts used by a construct | `evidence --edge contract` | The identified constraint relationship | Runtime invocation or unchecked behavioral conformance |
|
|
18
|
+
| Identity | Compiler- or source-owned observations that refer to the same entity | `evidence --edge identity`, `refs`, `trace`, `reference-neighborhood` | Same-entity references within coverage | Execution, value transfer, or active product selection |
|
|
19
|
+
| Ownership | Structural containment or observation ownership between code, runtime observations, and state resources | `evidence --edge ownership`, `hierarchy`, `members` | What contains or owns an observed unit | Lifetime, singleton scope, or per-session sharing unless source behavior establishes it |
|
|
20
|
+
| Dependencies and topology | Imports, reverse imports, file dependencies, cycles, depth, coupling, and cross-file coordination hubs | `evidence --edge dependencies`, `deps`, `rdeps`, `imports`, `imported-by`, `system`, `cycles`, `dependency-depth`, `coupling`, `fan-out`, `bottlenecks`, `hotspots` | Static reliance and structural shape | Execution, runtime contention, or architectural intent by itself |
|
|
21
|
+
| Implementation behavior | Exact statements and connected source units selected for a named gap | `inspect`, `code` | Current source behavior for materialized units | Callers, runtime reachability, or relevance without surrounding evidence |
|
|
22
|
+
|
|
23
|
+
The eleven `evidence` controls are incoming and outgoing `execution`, incoming and outgoing `dataflow`, plus `runtime`, `state`, `temporal`, `contract`, `identity`, `ownership`, and `dependencies`. They cover nine top-level relationship classes.
|
|
24
|
+
|
|
25
|
+
## Task-specific analyses
|
|
26
|
+
|
|
27
|
+
These controls expose additional information, but they are not ordinary stages in every exploration.
|
|
28
|
+
|
|
29
|
+
| Information kind | Controls | Use when |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| Change impact | `diff-impact`, `affected`, `change-surface` | A current or proposed edit must preserve downstream consumers, public surface, or operational roots |
|
|
32
|
+
| Declared architecture | `architecture` | Project-owned boundary and dependency rules constrain the answer or edit |
|
|
33
|
+
| Historical coupling and migration state | `co-change`, `incomplete-migration`, `doc-drift` | Git history or partial rollout can expose hidden coordination, residual sites, or stale documentation |
|
|
34
|
+
| Complexity and structural pressure | `complexity`, `complexity-hotspots`, `fan-in`, `fan-out`, `coupling`, `dependency-depth`, `bottlenecks` | Maintainability or structural concentration is the question; reference counts are not runtime load |
|
|
35
|
+
| Duplication, reuse, and cleanup candidates | `similar`, `similar-files`, `similar-chains`, `extract-candidates`, `locality-candidates`, `recent-duplicates`, `duplicate-bodies`, `twin-drift`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `redundant-reexports` | The task asks whether code can be consolidated, reused, moved, or removed; heuristic results remain candidates |
|
|
36
|
+
| Framework health and implementation integrity | `health`, `dead`, `isolated`, `unused-imports`, `unused-params`, `not-implemented`, `decorative-checkers`, `test-quality`, and the React/Vue detectors | The task asks for cleanup, incomplete behavior, or configured framework findings; detector evidence contracts govern each claim |
|
|
37
|
+
| Explicit state-machine models | `tla` | The task asks to scaffold, verify, record, or check an explicit transition model; a verified model is only as sound as its mapping to code |
|
|
38
|
+
| Index and provider capability | `status`, `capabilities`, `doctor`, `stats` | A claim depends on freshness, language support, provider availability, or an analytical ceiling; these describe the instrument, not the repository system's behavior |
|
|
39
|
+
| Delivered evidence state | `session`, transport continuations, coverage and recovery sections | You must determine what evidence has already been delivered, what was withheld recoverably, and what remains unavailable |
|
|
40
|
+
|
|
41
|
+
## Calibration limits
|
|
42
|
+
|
|
43
|
+
Evidence strength controls the strongest claim available:
|
|
44
|
+
|
|
45
|
+
- `exact` is directly established by compiler or source evidence within reported coverage;
|
|
46
|
+
- `derived` is deterministically computed from disclosed input facts;
|
|
47
|
+
- `candidate` is ambiguous or heuristic and requires confirmation;
|
|
48
|
+
- `mixed` preserves constituents of different strengths;
|
|
49
|
+
- `unknown` has no calibrated strength and cannot support a stronger claim than the raw observation.
|
|
50
|
+
|
|
51
|
+
The current general blind spots are whole-program interprocedural value flow, heap and cross-instance aliasing, interprocedural exceptional flow, reflection, generated dispatch, and framework crossings without a registered adapter. Missing edges across one of these frontiers are unknown, not proof that the behavior is absent. Close only the named material gap with `value-flow`, `dependence-slice`, `inspect`, `code`, or an exact text search as the reported recovery permits.
|