scip-query 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/README.md +255 -884
- package/dist/augment-vue-worker.js +1 -1
- package/dist/by-kind-CI3O6PQG.js +2 -0
- package/dist/call-graph-6QTUTXH7.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-7PIO7NKH.js → chunk-2COFMIVK.js} +2 -2
- package/dist/chunk-2H4IAJHO.js +2 -0
- package/dist/chunk-2I3RSUWX.js +16 -0
- package/dist/chunk-2RP27XLR.js +2 -0
- package/dist/chunk-2ZBMOQGG.js +3 -0
- package/dist/{chunk-HX4GQPZP.js → chunk-32A42O5B.js} +3 -3
- package/dist/chunk-35ELD3RM.js +2 -0
- package/dist/chunk-35IW3P4H.js +2 -0
- package/dist/{chunk-DQGFVPUV.js → chunk-3653GTR7.js} +3 -3
- package/dist/chunk-3EX7DNBC.js +2 -0
- package/dist/chunk-3FQ3KMCD.js +2 -0
- package/dist/{chunk-5E4WNAVD.js → chunk-3PII3JI5.js} +2 -2
- package/dist/chunk-3TNRNKAT.js +2 -0
- package/dist/chunk-3VLJ2DCA.js +2 -0
- package/dist/{chunk-XSRF6Q77.js → chunk-46JLFIGA.js} +2 -2
- package/dist/chunk-4DCKBY6T.js +5 -0
- package/dist/chunk-4EXFZP6H.js +2 -0
- package/dist/chunk-4IIMPWMR.js +29 -0
- package/dist/chunk-4ILHWBYF.js +2 -0
- package/dist/chunk-4N6QSEMZ.js +10 -0
- package/dist/chunk-4OE2JO6I.js +2 -0
- package/dist/{chunk-7BAVHKMJ.js → chunk-4S4DF62J.js} +9 -9
- package/dist/chunk-4UUCUASK.js +554 -0
- package/dist/chunk-5236NQV3.js +2 -0
- package/dist/chunk-54EOGFBR.js +2 -0
- package/dist/{chunk-LY4WC4AD.js → chunk-5H7IWVXJ.js} +2 -2
- package/dist/chunk-5IZTXSOL.js +117 -0
- package/dist/{chunk-AZJQQKDD.js → chunk-5SE323LF.js} +2 -2
- package/dist/chunk-5ZJH6DDE.js +2 -0
- package/dist/chunk-63MBA7EG.js +3 -0
- package/dist/chunk-6BJ7SOY7.js +2 -0
- package/dist/chunk-6GJAP4OE.js +2 -0
- package/dist/chunk-6IEVHGWG.js +26 -0
- package/dist/chunk-6SWA6B24.js +7 -0
- package/dist/chunk-6T7H2AFY.js +3 -0
- package/dist/chunk-73Z33VFI.js +4 -0
- package/dist/chunk-7COHFNJK.js +38 -0
- package/dist/chunk-7HU2IJ2T.js +3 -0
- package/dist/chunk-7IOAZRVL.js +60 -0
- package/dist/chunk-7KCZELVM.js +2 -0
- package/dist/chunk-7PPYXENX.js +2 -0
- package/dist/chunk-7TWP3MCP.js +2 -0
- package/dist/chunk-AA7K3XLM.js +21 -0
- package/dist/chunk-AJVMVE7X.js +7 -0
- package/dist/chunk-ANWGXPPN.js +4 -0
- package/dist/chunk-APLKXICZ.js +3 -0
- package/dist/{chunk-JDOEX4E6.js → chunk-AQDWTCDC.js} +2 -2
- package/dist/chunk-AUP6YI5M.js +2 -0
- package/dist/chunk-B7ECWJAZ.js +2 -0
- package/dist/{chunk-ZHXX42OH.js → chunk-BATIVRU2.js} +4 -4
- package/dist/chunk-BBEDPVPB.js +4 -0
- package/dist/chunk-BBWPOMGU.js +2 -0
- package/dist/chunk-BD6CV7PN.js +2 -0
- package/dist/{chunk-XKWKXZKW.js → chunk-BHE44MHT.js} +2 -2
- package/dist/chunk-BOJ5SVE2.js +2 -0
- package/dist/chunk-BZYSGZRK.js +2 -0
- package/dist/chunk-CA5RE6H7.js +2 -0
- package/dist/chunk-CKDOY6JA.js +2 -0
- package/dist/chunk-CN2WGM7D.js +2 -0
- package/dist/chunk-COTMS5KM.js +3 -0
- package/dist/chunk-CSDDOUA4.js +3 -0
- package/dist/chunk-CT5SI2I4.js +2 -0
- package/dist/chunk-D5EKVZPI.js +2 -0
- package/dist/{chunk-FKSELJQF.js → chunk-D5W4UZY5.js} +2 -2
- package/dist/{chunk-RUJURYSV.js → chunk-DEUGHURX.js} +2 -2
- package/dist/chunk-DHKBIOXF.js +7 -0
- package/dist/chunk-DMQ7ZKJG.js +81 -0
- package/dist/chunk-DMUGTKMD.js +2 -0
- package/dist/chunk-DOPCR5BY.js +2 -0
- package/dist/chunk-DRENNWRG.js +2 -0
- package/dist/chunk-E4EJBGDZ.js +2 -0
- package/dist/chunk-E7BJXRNV.js +2 -0
- package/dist/chunk-EA4SH4U5.js +5 -0
- package/dist/{chunk-L7AW2QB5.js → chunk-EKZRF57O.js} +2 -2
- package/dist/chunk-ELNRLMC5.js +29 -0
- package/dist/chunk-F4FNK44D.js +2 -0
- package/dist/chunk-F7WQ337U.js +308 -0
- package/dist/chunk-FEQIQ26E.js +2 -0
- package/dist/chunk-FGB567HK.js +23 -0
- package/dist/chunk-FHV7NMFU.js +29 -0
- package/dist/chunk-FN6EJM6Q.js +2 -0
- package/dist/chunk-FTSQNONX.js +2 -0
- package/dist/chunk-FUG6RPYY.js +6 -0
- package/dist/chunk-G2F6T5BV.js +2 -0
- package/dist/chunk-G6OGPXJW.js +9 -0
- package/dist/chunk-GFLTPNWV.js +3 -0
- package/dist/chunk-GTDP2SKQ.js +2 -0
- package/dist/chunk-H46QMB7E.js +2 -0
- package/dist/chunk-H5EXS3HM.js +2 -0
- package/dist/chunk-HEOMG7IM.js +8 -0
- package/dist/chunk-HG5YI7PV.js +2 -0
- package/dist/{chunk-7SQQWSY3.js → chunk-HGKEAP7F.js} +2 -2
- package/dist/chunk-HUZNZ3H2.js +2 -0
- package/dist/chunk-HWLCBKFE.js +2 -0
- package/dist/chunk-I3U2FN2T.js +13 -0
- package/dist/{chunk-JAYYFEQY.js → chunk-I7PFL5P3.js} +2 -2
- package/dist/{chunk-2HPVVXM5.js → chunk-ICHBVITH.js} +2 -2
- package/dist/chunk-ICUQONOG.js +38 -0
- package/dist/chunk-IDPLC3FI.js +5 -0
- package/dist/{chunk-A73XVBCR.js → chunk-IGKKTHJR.js} +2 -2
- package/dist/chunk-IOKWFRFQ.js +4 -0
- package/dist/chunk-IPAL6DP2.js +3 -0
- package/dist/chunk-IUJ3ZFEE.js +7 -0
- package/dist/chunk-IXJ26KJJ.js +16 -0
- package/dist/chunk-IYV2YBHM.js +2 -0
- package/dist/chunk-JVZNWJBH.js +2 -0
- package/dist/chunk-K5MZYZV7.js +3 -0
- package/dist/{chunk-3G66UZBH.js → chunk-KFK7GF5C.js} +2 -2
- package/dist/chunk-KTRGJLY7.js +18 -0
- package/dist/chunk-KW6B5OL4.js +2 -0
- package/dist/chunk-KWARB5FZ.js +2 -0
- package/dist/chunk-LHTT5C3Z.js +2 -0
- package/dist/chunk-LPGDO2XA.js +3 -0
- package/dist/chunk-LXLD46LH.js +21 -0
- package/dist/chunk-MEI3PTUK.js +2 -0
- package/dist/chunk-MJNV7OCG.js +5 -0
- package/dist/chunk-MO226P4Q.js +4 -0
- package/dist/{chunk-3CLX5EOX.js → chunk-MOBF2GH6.js} +2 -2
- package/dist/chunk-MXNGIEPU.js +3 -0
- package/dist/chunk-MYUKI5VN.js +4 -0
- package/dist/{chunk-TFRAYKN6.js → chunk-N5C65OFK.js} +2 -2
- package/dist/{chunk-PXY7F6Y4.js → chunk-O2RM7E7L.js} +5 -5
- package/dist/chunk-OFUBXBYX.js +3 -0
- package/dist/chunk-OFY4HTMI.js +2 -0
- package/dist/chunk-OIRWZIYL.js +38 -0
- package/dist/chunk-OIVZ7PW6.js +438 -0
- package/dist/chunk-ORBKAUCH.js +4 -0
- package/dist/chunk-OUB4J26T.js +2 -0
- package/dist/chunk-OVPS2ILI.js +20 -0
- package/dist/chunk-PHSPBQM6.js +5 -0
- package/dist/{chunk-JVYA47YU.js → chunk-PIZY2GX6.js} +2 -2
- package/dist/chunk-PNISDVYC.js +3 -0
- package/dist/chunk-PQOL42AW.js +2 -0
- package/dist/chunk-PUVZNFVY.js +11 -0
- package/dist/chunk-PZEI2TVL.js +4 -0
- package/dist/{chunk-ZK26BAQL.js → chunk-Q2J2VZZT.js} +2 -2
- package/dist/chunk-Q7HB7BFJ.js +2 -0
- package/dist/{chunk-ZTETIQ35.js → chunk-QBANU5BQ.js} +2 -2
- package/dist/chunk-QD7IFBCR.js +10 -0
- package/dist/chunk-QDCCHMVZ.js +2 -0
- package/dist/chunk-QLQBZOJH.js +3 -0
- package/dist/{chunk-PQCI4SQX.js → chunk-QXR5QPSF.js} +2 -2
- package/dist/chunk-R2MOKIVO.js +2 -0
- package/dist/{chunk-EN3O7VJA.js → chunk-RFWAUHVW.js} +2 -2
- package/dist/chunk-RGCJ4646.js +16 -0
- package/dist/{chunk-BPAPWKP6.js → chunk-S3RTPPLQ.js} +8 -8
- package/dist/chunk-S73HBCGI.js +11 -0
- package/dist/chunk-SDPA5DKN.js +210 -0
- package/dist/chunk-SEUJVWT2.js +3 -0
- package/dist/chunk-SF7X6QNW.js +2 -0
- package/dist/chunk-SKUMCCC5.js +2 -0
- package/dist/chunk-SSSJO4RG.js +2 -0
- package/dist/chunk-SWFAFA4G.js +49 -0
- package/dist/chunk-SYUNTKO2.js +2 -0
- package/dist/chunk-T6FRID7Y.js +3 -0
- package/dist/chunk-TGWNNMPF.js +3 -0
- package/dist/chunk-TM5XEDDR.js +4 -0
- package/dist/chunk-TNOHGHZQ.js +2 -0
- package/dist/chunk-U2GPTA5U.js +3 -0
- package/dist/{chunk-SXP2MBJH.js → chunk-U7DR7MJD.js} +2 -2
- package/dist/chunk-U7LRSQG6.js +3 -0
- package/dist/chunk-UL4VJUMD.js +2 -0
- package/dist/chunk-UNORWZIJ.js +16 -0
- package/dist/chunk-UQ7XPRWU.js +2 -0
- package/dist/{chunk-6SHPK5ZE.js → chunk-URMZLV2N.js} +2 -2
- package/dist/chunk-URTX2BEA.js +6 -0
- package/dist/chunk-UZFCZ7SJ.js +2 -0
- package/dist/{chunk-KMKTIO2G.js → chunk-V7LQZTTZ.js} +2 -2
- package/dist/chunk-VETXXOYU.js +3 -0
- package/dist/chunk-VGRUM7JI.js +3 -0
- package/dist/{chunk-WXZLAAWK.js → chunk-VNKYRJKN.js} +2 -2
- package/dist/chunk-VWLIOEEF.js +11 -0
- package/dist/chunk-WB6LGCFB.js +6 -0
- package/dist/{chunk-W4ETQAXM.js → chunk-WK4FD4PG.js} +2 -2
- package/dist/{chunk-O64IZ6UX.js → chunk-WKPZCQLI.js} +2 -2
- package/dist/chunk-WSG3DK5H.js +2 -0
- package/dist/chunk-WULAPQUD.js +38 -0
- package/dist/chunk-WZQFY5S7.js +4 -0
- package/dist/chunk-X434XZAI.js +2 -0
- package/dist/chunk-X7PJJYKX.js +29 -0
- package/dist/chunk-XDAUYDFT.js +2 -0
- package/dist/chunk-XITQLISP.js +2 -0
- package/dist/chunk-XRXCANFQ.js +4 -0
- package/dist/chunk-XVDMJMES.js +3 -0
- package/dist/chunk-XXJ7WL3F.js +35 -0
- package/dist/chunk-Y4XQ7LES.js +9 -0
- package/dist/chunk-YIEFEPG6.js +16 -0
- package/dist/chunk-YRVERHJR.js +49 -0
- package/dist/{chunk-CJST5ETY.js → chunk-YUFWLWIC.js} +2 -2
- package/dist/chunk-YUKYB54I.js +1 -0
- package/dist/chunk-Z3GCK3PD.js +3 -0
- package/dist/chunk-ZBNL3QCY.js +4 -0
- package/dist/chunk-ZD3Z54IW.js +2 -0
- package/dist/chunk-ZDVDSDFG.js +4 -0
- package/dist/{chunk-32LVLCLN.js → chunk-ZHSARYVS.js} +3 -3
- package/dist/{chunk-BDCC2NPY.js → chunk-ZW44MCJM.js} +2 -2
- package/dist/{chunk-N5W4YZMK.js → chunk-ZYREOING.js} +2 -2
- package/dist/cli-main.js +8 -0
- package/dist/cli.js +1 -3
- package/dist/code-CczEvHui.d.ts +121 -0
- package/dist/code-EQL6ZBLH.js +2 -0
- package/dist/code-result-json-6E4J6LGZ.js +2 -0
- package/dist/command-descriptors-QH3G2OVD.js +346 -0
- package/dist/{config-types-jVM3D7MA.d.ts → config-types-Cm-VSEBb.d.ts} +189 -23
- package/dist/dataflow-2BLMUZBP.js +2 -0
- package/dist/{db-B5PM5yNk.d.ts → db-LKJXAlNS.d.ts} +1 -1
- package/dist/dependence-slice-MGAJDZXB.js +2 -0
- package/dist/deps-GQMUYVKW.js +2 -0
- package/dist/direct-navigation-6RUJKLAV.js +3 -0
- package/dist/entry-map-V2NQP5JU.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-VM53I4IU.js +2 -0
- package/dist/graph-evidence-CbUPCSKV.d.ts +126 -0
- package/dist/graph-exploration-contract-CqDsnPQL.d.ts +7 -0
- package/dist/{health-Do5TKSJI.d.ts → health-Wl5G_LRt.d.ts} +33 -34
- package/dist/hierarchy-D553WRSZ.js +2 -0
- package/dist/imports-DOZAJWLW.js +2 -0
- package/dist/index.d.ts +4 -31
- package/dist/index.js +1 -1
- package/dist/members-HE67475K.js +2 -0
- package/dist/methods-K5JK4PPH.js +2 -0
- package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
- package/dist/output-continuation-command-LKBUTNRL.js +3 -0
- package/dist/output-pagination-VAWOGX4R.js +19 -0
- package/dist/postinstall.js +1 -1
- package/dist/project-reindex-4ARU6QCM.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-NBHKL4UQ.js +2 -0
- package/dist/refs-pagination-BBVTIHMH.js +2 -0
- package/dist/reindex-worker.js +27 -45
- package/dist/reindex.d.ts +62 -42
- package/dist/reindex.js +32 -33
- package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
- package/dist/runtime.d.ts +286 -7
- 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-CppzF5MK.d.ts} +33 -2
- package/dist/slice-U6S6LBSB.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-C7SS5CDQ.js +2 -0
- package/dist/symbol-resolution-3FVEKDTJ.js +2 -0
- package/dist/system-6K2NOO5C.js +2 -0
- package/dist/trace-II5K2TMH.js +2 -0
- package/dist/typescript-mailbox-worker.js +1 -1
- package/dist/value-flow-MKFUUE5B.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 +27 -45
- package/docs/schemas/suppression-record.schema.json +1 -34
- package/package.json +65 -8
- package/skills/concrete-plan/SKILL.md +8 -0
- package/skills/concrete-plan/agents/openai.yaml +4 -0
- package/skills/scip-explore/SKILL.md +3 -85
- package/skills/scip-explore/agents/openai.yaml +3 -3
- 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 +77 -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/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,9 +1,8 @@
|
|
|
1
1
|
# Configuration and setup write safety
|
|
2
2
|
|
|
3
3
|
scip-query updates files that people and other agents may edit at the same
|
|
4
|
-
time: `.scipquery.json`,
|
|
5
|
-
|
|
6
|
-
pre-commit hook. A conflict-aware writer is a file updater that transforms one
|
|
4
|
+
time: `.scipquery.json`, `.git/info/exclude`, `AGENTS.md`, `CLAUDE.md`, and
|
|
5
|
+
structured suppression records. A conflict-aware writer is a file updater that transforms one
|
|
7
6
|
identified revision and refuses to claim success if an independent revision
|
|
8
7
|
wins before commit. Its defining behavior is preservation: it either applies
|
|
9
8
|
its narrow change to the newest valid input or leaves the newest input
|
|
@@ -43,11 +42,6 @@ the caller's observed value, the latest value, and the requested value:
|
|
|
43
42
|
- a different latest value for the same field is an explicit stale-field
|
|
44
43
|
conflict.
|
|
45
44
|
|
|
46
|
-
Hook setup rereads the latest valid provider object on every bounded retry,
|
|
47
|
-
removes only scip-query-owned hook entries, and merges the current owned hook
|
|
48
|
-
groups. Unknown top-level fields and non-scip hook entries survive installation
|
|
49
|
-
and removal.
|
|
50
|
-
|
|
51
45
|
Malformed latest JSON is never repaired by replacement because doing so could
|
|
52
46
|
erase information the writer cannot classify. The command reports the parse
|
|
53
47
|
failure and leaves the exact bytes in place.
|
|
@@ -68,6 +62,14 @@ hint, the writer still publishes a current record and reports `changed: true`.
|
|
|
68
62
|
Unknown root and nested fields survive because migration begins from the
|
|
69
63
|
latest complete object and removes only the owned legacy discriminator.
|
|
70
64
|
|
|
65
|
+
A collaboration domain is the merge-intended family of repository copies that
|
|
66
|
+
share durable project decisions. Its real-world referents are branches,
|
|
67
|
+
clones, linked worktrees, and contributor forks whose records are expected to
|
|
68
|
+
rejoin; the committed `collaborationDomainId` distinguishes that family
|
|
69
|
+
without confusing a filesystem path, host, or mutable remote URL for its
|
|
70
|
+
identity. `init` and `setup` create one opaque UUID when it is missing. A
|
|
71
|
+
concurrent winner is adopted, and later runs never rotate an established ID.
|
|
72
|
+
|
|
71
73
|
A non-integer discriminator, non-object top level, invalid `$schema` hint, or
|
|
72
74
|
unsupported older/future version fails before options are exposed to runtime
|
|
73
75
|
consumers. The loader names the supported legacy/current versions. A setup
|
|
@@ -95,9 +97,8 @@ New records use suppression schema version 1 and include the
|
|
|
95
97
|
`scip-query` writer version. Unversioned legacy records and v1 records written
|
|
96
98
|
before the discriminator was added remain readable. They remain byte-for-byte
|
|
97
99
|
unchanged on an idempotent replay and are upgraded only by an explicit
|
|
98
|
-
compare-and-replace policy change. Incompatible files are
|
|
99
|
-
|
|
100
|
-
[`COMMITTED_RECORD_COMPATIBILITY.md`](COMMITTED_RECORD_COMPATIBILITY.md).
|
|
100
|
+
compare-and-replace policy change. Incompatible files are reported by
|
|
101
|
+
`config-validate`; they never authorize a suppression.
|
|
101
102
|
|
|
102
103
|
## Managed text rules
|
|
103
104
|
|
|
@@ -107,8 +108,8 @@ Missing markers permit first installation, but incomplete, duplicated, or
|
|
|
107
108
|
reordered markers are a conflict because the intended ownership boundary is
|
|
108
109
|
ambiguous.
|
|
109
110
|
|
|
110
|
-
Managed Markdown
|
|
111
|
-
|
|
111
|
+
Managed Markdown uses a strict final revision check rather than silently
|
|
112
|
+
recomputing across an intervening edit. The command
|
|
112
113
|
reports the expected and latest revision hashes and does not write.
|
|
113
114
|
`.git/info/exclude` can safely retry because its exact owned marker block is
|
|
114
115
|
recomputed from the newest text.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Detector evidence contracts
|
|
2
|
+
|
|
3
|
+
Generated from `DETECTOR_EVIDENCE_CONTRACTS`.
|
|
4
|
+
|
|
5
|
+
## dead
|
|
6
|
+
|
|
7
|
+
The symbol has no visible repository reference after entry, framework, and rooted-symbol exclusions.
|
|
8
|
+
|
|
9
|
+
- Calibration: `mixed`; provider coverage: `partial`.
|
|
10
|
+
- Relations: `identity/references` (exact), `execution/call` (exact).
|
|
11
|
+
- Structural evidence: entry-surface exclusions; framework/source fallback references; rooted-symbol exclusions.
|
|
12
|
+
- Does not establish: Absence of visible references does not prove absence of reflection, generated dispatch, or external use.
|
|
13
|
+
- Recover with: `scip-query evidence --symbol <symbol> --edge execution --edge runtime --edge identity --direction both --depth 2 --max-edges 100`
|
|
14
|
+
|
|
15
|
+
## isolated
|
|
16
|
+
|
|
17
|
+
The callable has no visible non-self caller or callee after entry, framework, and rooted-symbol exclusions.
|
|
18
|
+
|
|
19
|
+
- Calibration: `mixed`; provider coverage: `partial`.
|
|
20
|
+
- Relations: `execution/call` (exact), `identity/references` (exact).
|
|
21
|
+
- Structural evidence: entry-surface exclusions; framework contract exclusions; source fallback callers.
|
|
22
|
+
- Does not establish: Visible graph isolation does not establish runtime unreachability through reflection or generated dispatch.
|
|
23
|
+
- Recover with: `scip-query evidence --symbol <symbol> --edge execution --edge runtime --edge identity --direction both --depth 2 --max-edges 100`
|
|
24
|
+
|
|
25
|
+
## wrapper-candidates
|
|
26
|
+
|
|
27
|
+
A small callable has one visible consumer and wrapper-shaped delegation, after boundary evidence is disclosed.
|
|
28
|
+
|
|
29
|
+
- Calibration: `candidate`; provider coverage: `partial`.
|
|
30
|
+
- Relations: `execution/call` (exact), `ownership/contains` (exact).
|
|
31
|
+
- Structural evidence: callable body shape; public and runtime-boundary signals; consumer fan-in.
|
|
32
|
+
- Does not establish: Wrapper shape does not prove that an API, ownership, observability, or compatibility boundary is unnecessary.
|
|
33
|
+
- Recover with: `scip-query inspect --symbol <symbol> --view behavior`
|
|
34
|
+
|
|
35
|
+
## passthrough-candidates
|
|
36
|
+
|
|
37
|
+
A small callable visibly forwards to one callee, with public-facade and boundary signals disclosed.
|
|
38
|
+
|
|
39
|
+
- Calibration: `mixed`; provider coverage: `partial`.
|
|
40
|
+
- Relations: `execution/call` (exact), `contract/uses-contract-symbol` (exact).
|
|
41
|
+
- Structural evidence: statement-complete forwarding shape; public facade evidence; runtime-boundary signals.
|
|
42
|
+
- Does not establish: Literal forwarding does not prove the callable has no contract, naming, policy, or compatibility role.
|
|
43
|
+
- Recover with: `scip-query inspect --symbol <symbol> --view behavior`
|
|
44
|
+
|
|
45
|
+
## stale-abstractions
|
|
46
|
+
|
|
47
|
+
A type-like abstraction has zero or one visible real consumer after re-export and ownership distinctions.
|
|
48
|
+
|
|
49
|
+
- Calibration: `mixed`; provider coverage: `partial`.
|
|
50
|
+
- Relations: `identity/references` (exact), `ownership/contains` (exact).
|
|
51
|
+
- Structural evidence: definition kind; barrel-only consumer distinction; defining-file usage.
|
|
52
|
+
- Does not establish: Low visible consumer count does not prove a public contract or runtime-registered type is obsolete.
|
|
53
|
+
- Recover with: `scip-query evidence --symbol <symbol> --edge identity --edge ownership --edge contract --direction both --depth 2 --max-edges 100`
|
|
54
|
+
|
|
55
|
+
## complexity-hotspots
|
|
56
|
+
|
|
57
|
+
A callable concentrates local branch/control pressure and graph fan-in or fan-out.
|
|
58
|
+
|
|
59
|
+
- Calibration: `mixed`; provider coverage: `partial`.
|
|
60
|
+
- Relations: `execution/predicate-consequence` (exact), `execution/call` (exact).
|
|
61
|
+
- Structural evidence: AST branch count or disclosed regex fallback; call fan-in; callee count.
|
|
62
|
+
- Does not establish: Structural complexity does not establish runtime frequency, latency, defect density, or a required refactor.
|
|
63
|
+
- Recover with: `scip-query inspect --symbol <symbol> --view behavior`
|
|
64
|
+
|
|
65
|
+
## decorative-checkers
|
|
66
|
+
|
|
67
|
+
A checker-shaped callable lacks a visible failure terminal directly or through one resolved delegate.
|
|
68
|
+
|
|
69
|
+
- Calibration: `mixed`; provider coverage: `partial`.
|
|
70
|
+
- Relations: `execution/returns` (exact), `execution/throws` (exact).
|
|
71
|
+
- Structural evidence: checker naming shape; direct terminal behavior; one-hop delegate body.
|
|
72
|
+
- Does not establish: No visible terminal does not prove the checker cannot fail through an opaque call, exception, or process exit.
|
|
73
|
+
- Recover with: `scip-query inspect --symbol <symbol> --view behavior`
|
|
74
|
+
|
|
75
|
+
## duplicate and similarity detectors
|
|
76
|
+
|
|
77
|
+
Two source units share the detector-specific structural or token pattern.
|
|
78
|
+
|
|
79
|
+
- Calibration: `candidate`; provider coverage: `partial`.
|
|
80
|
+
- Relations: none; structural detector.
|
|
81
|
+
- Structural evidence: normalized source/token/JSX/template similarity.
|
|
82
|
+
- Does not establish: Structural similarity does not establish shared domain identity or justify consolidation.
|
|
83
|
+
- Recover with: `scip-query inspect --symbol <symbol-a> --symbol <symbol-b> --view behavior`
|
|
84
|
+
|
package/docs/DETECTOR_GUIDE.md
CHANGED
|
@@ -1,138 +1,46 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- `
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
##
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
| `incomplete-migration` | function + **git diff** | callee _containment_ vs new-in-diff helpers | "I just extracted a helper — which call sites still have the logic inline and were never migrated?" |
|
|
48
|
-
| `convergence <a> <b>` | a known pair | shared/unique callees | "I already know these two overlap — give me the merge prescription." |
|
|
49
|
-
|
|
50
|
-
How to keep them straight:
|
|
51
|
-
|
|
52
|
-
- Use `similar` when you have **one symbol** in hand; `similar-files` /
|
|
53
|
-
`similar-chains` for repo-wide sweeps at coarser grain;
|
|
54
|
-
`similar-signatures` when implementations differ but the shape repeats.
|
|
55
|
-
- `recent-duplicates` is duplicate evidence **plus direction in time** - it tells you
|
|
56
|
-
which copy to delete. Run it after agent sessions. It covers generic callables,
|
|
57
|
-
React component structure, React hook behavior, Vue template structure, and
|
|
58
|
-
Vue composable-like behavior.
|
|
59
|
-
- `incomplete-migration` is the **inverse of an echo**: the _new_ code is the
|
|
60
|
-
canonical one (the helper you just extracted), and the _established_ code is
|
|
61
|
-
what should disappear. It also scores by containment, not symmetric
|
|
62
|
-
similarity, because an un-migrated site holds the helper's logic _plus_ its
|
|
63
|
-
own — cosine under-scores exactly those.
|
|
64
|
-
- `extract-candidates` is the **before** picture: seams inside one big
|
|
65
|
-
function that _should_ become a helper. `incomplete-migration` is the
|
|
66
|
-
**after** picture: you made the helper but didn't finish moving everyone
|
|
67
|
-
onto it.
|
|
68
|
-
|
|
69
|
-
## Cluster 3 — "Things drifting apart" (the drift family)
|
|
70
|
-
|
|
71
|
-
Three detectors share the word "drift" or the concept; they watch different
|
|
72
|
-
gaps:
|
|
73
|
-
|
|
74
|
-
| Command | Watches the gap between | Evidence |
|
|
75
|
-
| ----------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
76
|
-
| `drift` | a file and its **siblings/declared architecture** | reference graph: unused imports, project-owned forbidden boundary edges, "no sibling imports this" deviations |
|
|
77
|
-
| `doc-drift` | **docs** and the code they describe | doc file-citations + doc↔code co-change history; flags broken references and staleness scores |
|
|
78
|
-
| `co-change` | two **files** with an invisible contract | git history: pairs that change together with no dependency edge |
|
|
79
|
-
|
|
80
|
-
How to keep them straight: `drift` is structural and intra-code, `doc-drift`
|
|
81
|
-
is prose-vs-code, `co-change` is code-vs-code where the connection exists only
|
|
82
|
-
in commit history. The diff gate includes doc/code and hidden-coupling coverage
|
|
83
|
-
through the `doc-reference` and `co-change-partner` checks; run `drift
|
|
84
|
-
--architecture` when you need direct dependency-rule findings beside boundary
|
|
85
|
-
coverage, reciprocity, and connected-group signals.
|
|
86
|
-
|
|
87
|
-
<!-- BEGIN GENERATED DIFF-GATE CHECKS -->
|
|
88
|
-
| Check | What it catches | When it runs |
|
|
89
|
-
| --- | --- | --- |
|
|
90
|
-
| `echo` | Changed symbols that newly echo established code elsewhere. | Default diff gate. |
|
|
91
|
-
| `incomplete-migration` | New helpers or abstractions wired into some sites while older inline sites remain. | Default diff gate. |
|
|
92
|
-
| `co-change-partner` | Historically coupled files that usually change together but are missing from this diff. | Default diff gate. |
|
|
93
|
-
| `twin-partner` | A changed symbol has a same-(near-)name twin (identical or already-divergent) elsewhere that this diff left untouched. | Default diff gate. Advisory: findings print but never cause a nonzero exit by themselves. |
|
|
94
|
-
| `coverage-contract` | A configured `coverageContracts` entry (.scipquery.json) drifted: its declared key set no longer matches its ground-truth source. | Default diff gate, only when either side of a configured contract changed. |
|
|
95
|
-
| `architecture` | A declared architecture boundary rule has a violation absent from the committed health baseline. | Default diff gate when closed dependency rows, requireCompletePolicy, requireAcyclic, requireResolvedBoundaries, requireMinimalPolicy, maxBoundaryFanOut/maxBoundaryFiles, or testPaths are configured and a baseline exists. |
|
|
96
|
-
| `doc-reference` | Docs that cite changed files and may need a matching update. Dated snapshot docs (docs.snapshotPaths) are excluded by policy. | Default diff gate. Advisory (21.2) for bare file-mention citations; blocking when the citation has a line anchor or the cited file was deleted/renamed. |
|
|
97
|
-
| `unused-params` | Fresh trailing parameters or options that no changed body uses. | Default diff gate. |
|
|
98
|
-
| `new-dead` | Changed production symbols with zero indexed consumers. | Default diff gate. |
|
|
99
|
-
| `baseline` | New health finding identities compared with the committed health baseline. | Only with `diff-gate --baseline`. |
|
|
100
|
-
<!-- END GENERATED DIFF-GATE CHECKS -->
|
|
101
|
-
|
|
102
|
-
Baseline identities use `detector:file:shortName`. File or symbol renames can legitimately show as one fixed baseline identity plus one new identity; update the baseline after reviewing intentional renames.
|
|
103
|
-
|
|
104
|
-
## Cluster 4 — "Nothing uses this" (the deadness family)
|
|
105
|
-
|
|
106
|
-
| Command | Scope | Question |
|
|
107
|
-
| -------------- | ----------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
108
|
-
| `dead` | symbols | "What has zero consumers?" (evidence-ranked, entrypoint-aware) |
|
|
109
|
-
| `isolated` | callables | "What is fully disconnected — no callers _and_ no callees?" |
|
|
110
|
-
| `cleanup-plan` | the cascade | "If I delete the dead stuff, what _becomes_ dead next — and will my compiler vouch for the whole batch?" (`--verify`) |
|
|
111
|
-
|
|
112
|
-
`dead` finds candidates; `isolated` finds the most extreme subset;
|
|
113
|
-
`cleanup-plan --verify` turns candidates into a compiler-proven deletion plan.
|
|
114
|
-
Don't hand-delete from `dead` output when `cleanup-plan` can prove it.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## After-the-change check matrix
|
|
119
|
-
|
|
120
|
-
The reflex to build (and the one the `scip-query` router skill teaches
|
|
121
|
-
agents): match the check to what the change _did_. `diff-gate` runs the
|
|
122
|
-
broad sweep on every diff; these are the targeted follow-ups.
|
|
123
|
-
|
|
124
|
-
| You just... | Run |
|
|
125
|
-
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
126
|
-
| Extracted a helper / created an abstraction | `scip-query incomplete-migration` — did every site migrate? |
|
|
127
|
-
| Wrote a brand-new helper or module | `scip-query similar <it>` and `scip-query recent-duplicates` — did it already exist? |
|
|
128
|
-
| Added parameters, options, or config flags | `scip-query unused-params` — does anything use them yet? |
|
|
129
|
-
| Added a forwarding/wrapper layer | `scip-query wrapper-candidates` and `scip-query passthrough-candidates` — does it earn its indirection? |
|
|
130
|
-
| Added an interface, base class, or type alias | `scip-query stale-abstractions` — does it have more than one real consumer? |
|
|
131
|
-
| Changed a schema, contract, config, or generated file | `scip-query co-change <file>` — who historically moves with it? |
|
|
132
|
-
| Changed code that docs describe | `scip-query doc-drift` — which docs now lie? |
|
|
133
|
-
| Deleted code | `scip-query cleanup-plan --verify` — what else just became dead, and does the compiler agree? |
|
|
134
|
-
| Anything at all, before saying "done" | `scip-query reindex && scip-query diff-gate` |
|
|
135
|
-
|
|
136
|
-
And before any non-trivial change: plan with `scip-query plan-context
|
|
137
|
-
<target>` (or the `scip-plan` skill, which requires a scip-query citation
|
|
138
|
-
for every claim in the plan).
|
|
1
|
+
# Detector guide
|
|
2
|
+
|
|
3
|
+
A detector is a repository analysis that selects source locations with a
|
|
4
|
+
shared evidence pattern. Compiler-graph detectors report resolved program
|
|
5
|
+
relationships. Heuristic detectors report candidates that require source
|
|
6
|
+
confirmation.
|
|
7
|
+
|
|
8
|
+
## Repository overview
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
scip-query health --full
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The health report combines graph structure, duplication, drift, complexity,
|
|
15
|
+
history, suppressions, coverage contracts, and React and Vue analyses. Its
|
|
16
|
+
score is a summary, not proof of correctness.
|
|
17
|
+
|
|
18
|
+
## Focused detector families
|
|
19
|
+
|
|
20
|
+
| Concern | Commands |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| Exact or near duplication | `duplicate-bodies`, `similar`, `recent-duplicates` |
|
|
23
|
+
| Parallel implementations | `twin-drift`, `incomplete-migration`, `drift` |
|
|
24
|
+
| Unused or disconnected code | `dead`, `isolated`, `unused-params` |
|
|
25
|
+
| Excess indirection | `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `redundant-reexports` |
|
|
26
|
+
| Change pressure | `complexity-hotspots`, `co-change`, `cycles` |
|
|
27
|
+
| Documentation | `doc-drift` |
|
|
28
|
+
| React | `react-component-duplicates`, `react-hook-candidates`, `react-large-component-pressure` |
|
|
29
|
+
| Vue | `vue-component-duplicates`, `vue-composable-candidates`, `vue-large-view-pressure` |
|
|
30
|
+
| Team structure policy | `architecture` |
|
|
31
|
+
|
|
32
|
+
Run focused commands through the `scip-query` CLI. Add `--full` only when that
|
|
33
|
+
command supports it and exhaustive command coverage can change the decision.
|
|
34
|
+
|
|
35
|
+
## Acting on findings
|
|
36
|
+
|
|
37
|
+
1. Read the cited source.
|
|
38
|
+
2. Identify the shared concept or violated rule.
|
|
39
|
+
3. Preserve intentional variation.
|
|
40
|
+
4. Make one coherent edit.
|
|
41
|
+
5. Run native checks and the relevant detector again.
|
|
42
|
+
6. Use `scip-query diff-impact` when downstream consumers may have changed.
|
|
43
|
+
|
|
44
|
+
Suppress a false or accepted finding with `scip-query suppress <id>` and a
|
|
45
|
+
specific reason. A suppression addresses one finding; it must not disable an
|
|
46
|
+
unrelated detector family.
|
package/docs/DURABILITY.md
CHANGED
|
@@ -112,7 +112,6 @@ could not confirm the stronger durability guarantee.
|
|
|
112
112
|
| Watch refresh request, claim, and completion records | Durable immutable admission and acknowledgement | Accepted intent survives activity replacement and owner crashes; exclusive claims may be recovered only by the next lock owner |
|
|
113
113
|
| Cache ownership credential | Directory-durable where supported | A complete file is flushed privately, hardening is revalidated, the public credential is linked exclusively, and its directory is flushed before detailed publication success |
|
|
114
114
|
| npm release state | Directory-durable where supported; file-flushed on bounded hosts | The registry is freshly reconciled and remains external authority; the local coordinate-pair recovery record reports its exact achieved guarantee |
|
|
115
|
-
| Outcome event | File publication locally; repository-durable only after Git commit | The event becomes shared history through the committed repository record, not merely because a checkout-local file exists |
|
|
116
115
|
| TypeScript fragment/overlay manifests | Visibility-atomic | Content-addressed cache artifacts are validated and rebuildable |
|
|
117
116
|
| Repository GC state | Visibility-atomic | Sweep history can be reconstructed conservatively |
|
|
118
117
|
| Affected-set shadow latest record | Visibility-atomic | Calibration telemetry does not control publication |
|
|
@@ -126,6 +125,13 @@ stable compatibility mirrors, and their crash ordering are defined in
|
|
|
126
125
|
idempotency, claim recovery, and acknowledgement ordering are defined in
|
|
127
126
|
[Watch Refresh Requests](WATCH_REFRESH_REQUESTS.md).
|
|
128
127
|
|
|
128
|
+
The outcome-event journal was retired in version `0.20.0` together with
|
|
129
|
+
autonomous completion state. Current scip-query neither writes nor reads those
|
|
130
|
+
records and therefore makes no current durability claim for them. Git history
|
|
131
|
+
retains the removed repository records; deprecated record-shape types remain
|
|
132
|
+
temporarily available only for consumer-owned historical data. See
|
|
133
|
+
[Workflow API retirement compatibility](api/compatibility/2026-08-09-workflow-retirement.md).
|
|
134
|
+
|
|
129
135
|
## Executable crash model
|
|
130
136
|
|
|
131
137
|
`tests/helpers/persistence-frontier.ts` models the two states a normal
|
|
@@ -121,6 +121,12 @@ publishes a lease containing its random token, generation identity, PID, and
|
|
|
121
121
|
operating-system process-start identity when available. Closing the database
|
|
122
122
|
removes that exact lease idempotently.
|
|
123
123
|
|
|
124
|
+
Reader admission flushes the lock's complete ownership record but deliberately
|
|
125
|
+
does not force its directory entry to durable storage. The lock coordinates
|
|
126
|
+
live processes immediately; after a host storage crash every reader is dead, so
|
|
127
|
+
a lost name is safe and a resurrected complete name is attributable and
|
|
128
|
+
reclaimable. Publication and collection locks remain directory-durable.
|
|
129
|
+
|
|
124
130
|
Publication and collection use the same token-owned process lock. Collection
|
|
125
131
|
always protects the current generation, the named recovery generation, and
|
|
126
132
|
every live reader generation. It removes only oldest unprotected generations
|
package/docs/LOCK_PROTOCOL.md
CHANGED
|
@@ -58,6 +58,14 @@ owner. A crash before the link can leave a private candidate, but it cannot
|
|
|
58
58
|
expose an empty or truncated public lock. Successful publication removes the
|
|
59
59
|
private name and flushes the containing directory where supported.
|
|
60
60
|
|
|
61
|
+
The SQLite generation reader-admission lock is the one narrower durability
|
|
62
|
+
class. It still flushes the complete private ownership record before exclusive
|
|
63
|
+
publication, but it does not force the containing directory on acquire or
|
|
64
|
+
release. A host storage crash ends every admitted reader: losing the public name
|
|
65
|
+
is then harmless, while a resurrected name contains the flushed record for a
|
|
66
|
+
dead process instance and is reclaimed through the same guarded recovery path.
|
|
67
|
+
All other process locks retain directory-durable acquire and release.
|
|
68
|
+
|
|
61
69
|
## Observation and Recovery
|
|
62
70
|
|
|
63
71
|
| Observed state | Recovery decision |
|
|
@@ -18,9 +18,10 @@ classifies an input as:
|
|
|
18
18
|
invalid field in a recognized version.
|
|
19
19
|
|
|
20
20
|
The decoder shares only dependency-free object-record, timestamp,
|
|
21
|
-
scalar-number,
|
|
22
|
-
`src/domain/record-validation.ts`; moving
|
|
23
|
-
individual decoders does not change any
|
|
21
|
+
scalar-number, non-empty string, bounded one-line string, and
|
|
22
|
+
string-or-null-record predicates in `src/domain/record-validation.ts`; moving
|
|
23
|
+
those generic primitives out of individual decoders does not change any
|
|
24
|
+
version or capability decision.
|
|
24
25
|
|
|
25
26
|
No consumer may cast an unsupported or malformed record to the current model.
|
|
26
27
|
The decoder returns the original accepted v2/v3 object, so an authorized
|
|
@@ -45,6 +46,15 @@ additionally require it to be an object. Language lists contain unique names
|
|
|
45
46
|
from the same
|
|
46
47
|
`SUPPORTED_LANGUAGES` catalog used by configuration.
|
|
47
48
|
|
|
49
|
+
When the fingerprint also decodes as the current versioned
|
|
50
|
+
`ProjectInputSnapshot`, a fixed-snapshot receipt projects it as
|
|
51
|
+
`scip-query:index-inputs`. This is a derived identity over the existing
|
|
52
|
+
fingerprint bytes, not a second persisted identity field. The receipt compares
|
|
53
|
+
that projection only with a current fixed snapshot built under the same
|
|
54
|
+
project-input version; malformed, older, or otherwise unrecognized fingerprint
|
|
55
|
+
shapes remain usable only for the capabilities above and do not acquire an
|
|
56
|
+
index-alignment claim.
|
|
57
|
+
|
|
48
58
|
The SQLite layout field is an additive v3 upgrade boundary rather than a wire
|
|
49
59
|
version migration. A v3 record without it remains queryable, evidence-usable,
|
|
50
60
|
and eligible for language-shard reuse. It is not eligible for whole-SQLite
|
package/docs/SECURITY_MODEL.md
CHANGED
|
@@ -40,15 +40,14 @@ An input budget is a maximum amount of untrusted data one operation will
|
|
|
40
40
|
materialize or ask a parser to compile, distinguished from silent truncation by
|
|
41
41
|
failing explicitly with the input kind, observed amount, and accepted limit.
|
|
42
42
|
|
|
43
|
-
| Input class | Limit | Representative users
|
|
44
|
-
| ------------------------------------------------------ | -----------------------: |
|
|
45
|
-
| Config, manifest, lock, lease, and other small records | 8 MiB | `.scipquery.json`, package manifests, generation metadata
|
|
46
|
-
| One source or per-document fragment | 64 MiB | indexed source reads, TypeScript/Vue snapshots, mailbox result payloads
|
|
47
|
-
| One SCIP index artifact | 512 MiB | merge, sanitize, Rust occurrence fallback, shared-generation hydration
|
|
48
|
-
| Profile or retained JSONL artifact | 256 MiB | profiling
|
|
49
|
-
| Generated TLA trace | 16 MiB and 100,000 steps | `tla instrument` recorder
|
|
50
|
-
| Repository-supplied regular-expression pattern | 4,096 characters | entry-root patterns and TLA statement bindings
|
|
51
|
-
| Agent hook standard input | 8 MiB | stop-hook request payload |
|
|
43
|
+
| Input class | Limit | Representative users |
|
|
44
|
+
| ------------------------------------------------------ | -----------------------: | ----------------------------------------------------------------------- |
|
|
45
|
+
| Config, manifest, lock, lease, and other small records | 8 MiB | `.scipquery.json`, package manifests, generation metadata |
|
|
46
|
+
| One source or per-document fragment | 64 MiB | indexed source reads, TypeScript/Vue snapshots, mailbox result payloads |
|
|
47
|
+
| One SCIP index artifact | 512 MiB | merge, sanitize, Rust occurrence fallback, shared-generation hydration |
|
|
48
|
+
| Profile or retained JSONL artifact | 256 MiB | profiling output and rotating diagnostic segments |
|
|
49
|
+
| Generated TLA trace | 16 MiB and 100,000 steps | `tla instrument` recorder |
|
|
50
|
+
| Repository-supplied regular-expression pattern | 4,096 characters | entry-root patterns and TLA statement bindings |
|
|
52
51
|
|
|
53
52
|
Regular files are opened first, checked through that descriptor, read, and
|
|
54
53
|
checked again so replacement or growth cannot bypass the pre-read limit.
|
|
@@ -64,15 +63,20 @@ coverage metadata and `--full` remediation.
|
|
|
64
63
|
|
|
65
64
|
Output pagination is a resumable transport for one rendered command result,
|
|
66
65
|
distinguished from a result limit by preserving every rendered character.
|
|
67
|
-
Human output above
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
Human output above 6,500 characters, or above the smaller content allowance
|
|
67
|
+
required to keep its wrapped page under 8,000 UTF-8 bytes, automatically
|
|
68
|
+
includes the exact command for the next page. Large default JSON remains
|
|
69
|
+
byte-compatible and writes the exact opt-in paging command to stderr before
|
|
70
|
+
and after the JSON stream.
|
|
70
71
|
|
|
71
72
|
Every command accepts:
|
|
72
73
|
|
|
73
74
|
```text
|
|
74
75
|
--output-page-size <characters>
|
|
75
76
|
--output-cursor <cursor>
|
|
77
|
+
--agent-output
|
|
78
|
+
--json-output <path>
|
|
79
|
+
--raw-json
|
|
76
80
|
```
|
|
77
81
|
|
|
78
82
|
The opaque cursor binds the command, working directory, non-pagination
|
|
@@ -88,44 +92,37 @@ under a process-identity-aware lock. Abandoned writers are reclaimed without
|
|
|
88
92
|
removing a live writer; complete snapshots expire after one hour and are
|
|
89
93
|
removed after their final page.
|
|
90
94
|
|
|
95
|
+
`--agent-output` requires JSON, selects the command-owned bounded projection,
|
|
96
|
+
and limits the complete rendered stream to 16 JSON content pages (currently
|
|
97
|
+
56,000 characters). The command fails before delivering partial stdout when
|
|
98
|
+
that fuse is exceeded. This bounds model-context consumption even when every
|
|
99
|
+
individual page would be transport-safe.
|
|
100
|
+
|
|
101
|
+
`--json-output <path>` requires JSON and captures the complete serialized
|
|
102
|
+
result before publishing it through an atomic mode-`0600` file replacement.
|
|
103
|
+
The destination path is limited to 4,096 UTF-8 bytes and the file to 32 million
|
|
104
|
+
characters and 64 MiB. Stdout receives only a bounded receipt containing the
|
|
105
|
+
absolute path, byte count, and SHA-256 digest. Paging, agent projection, and
|
|
106
|
+
explicit raw streaming are mutually exclusive with file export.
|
|
107
|
+
|
|
91
108
|
Run commands normally without selecting a page size. If human output is
|
|
92
109
|
oversized, the readable multiline page prints one `Continue exactly:` command;
|
|
93
110
|
run it unchanged until the transport-complete marker. That marker proves every
|
|
94
111
|
rendered character was retrieved; command coverage remains a separate claim.
|
|
95
|
-
Explicit paged `--json`
|
|
96
|
-
|
|
97
|
-
`
|
|
112
|
+
Explicit paged `--json` and automatic `--json --agent-output` return the
|
|
113
|
+
versioned object envelope and must be followed until `page.complete` is
|
|
114
|
+
`true`. Do not pipe output through `head`, `tail`, or a
|
|
98
115
|
line-range `sed`; those programs discard data without creating a resumable
|
|
99
116
|
position. See [CLI JSON output](CLI_JSON_OUTPUT.md) and the [output-page
|
|
100
117
|
schema](schemas/cli-output-page.schema.json).
|
|
101
118
|
|
|
102
|
-
##
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
The public gate owns an isolated child process. Its default deadline is 60
|
|
111
|
-
seconds, or 180 seconds with `--full`. On timeout, failure, or interruption the
|
|
112
|
-
parent terminates and reaps that child before releasing the lease. An operator
|
|
113
|
-
may set `SCIP_QUERY_DIFF_GATE_TIMEOUT_MS` to a positive millisecond value; the
|
|
114
|
-
runtime caps it at 10 minutes.
|
|
115
|
-
|
|
116
|
-
The parent creates a unique, private progress path and one-run token while it
|
|
117
|
-
owns the lease. The child visibility-atomically records the current gate phase
|
|
118
|
-
and detector immediately before and after each detector. A timed-out parent
|
|
119
|
-
accepts only the record carrying its token, reports the active detector or
|
|
120
|
-
phase plus the last completed detector, and removes the record before releasing
|
|
121
|
-
the lease. The progress record is diagnostic evidence, not authority: failure
|
|
122
|
-
to write it cannot turn a passing gate into a failure, and a stale or malformed
|
|
123
|
-
record cannot alter the gate result.
|
|
124
|
-
|
|
125
|
-
Outcome reconciliation rechecks at most one historical comparison base per
|
|
126
|
-
gate. Deferred bases remain open and the result reports their exact base and
|
|
127
|
-
finding counts, so accumulated event history cannot silently multiply one
|
|
128
|
-
foreground gate into an unbounded replay batch.
|
|
119
|
+
## Analysis process containment
|
|
120
|
+
|
|
121
|
+
The `health` and `diff-impact` commands split expensive analysis into isolated
|
|
122
|
+
child processes. Each child has a finite deadline and bounded output. On a
|
|
123
|
+
timeout, failure, or interruption, the parent terminates and reaps the child.
|
|
124
|
+
The child must return the expected versioned protocol, command identity, and
|
|
125
|
+
result before its output is accepted.
|
|
129
126
|
|
|
130
127
|
## Terminal and JSON output
|
|
131
128
|
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
Date: 2026-07-10
|
|
4
4
|
Status: Complete; see the 2026-07-11 closure certificate
|
|
5
5
|
|
|
6
|
+
> Historical certification snapshot. Command rows below record the surface
|
|
7
|
+
> that existed on 2026-07-10. See [Analyzer inventory](analyzer-inventory.md)
|
|
8
|
+
> for the current product.
|
|
9
|
+
|
|
6
10
|
## Purpose
|
|
7
11
|
|
|
8
12
|
This checklist tracks whether each public command tells the truth about the
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Date: 2026-07-10
|
|
4
4
|
Status: Complete for private-shadow readiness; public leaderboard remains a separate program
|
|
5
5
|
|
|
6
|
+
> Historical certification record. It preserves the evidence and command
|
|
7
|
+
> names used during the 2026-07 program. See
|
|
8
|
+
> [Analyzer inventory](analyzer-inventory.md) and
|
|
9
|
+
> [Analyzer validation protocol](analyzer-validation-protocol.md) for the
|
|
10
|
+
> current product and evaluation standard.
|
|
11
|
+
|
|
6
12
|
Current execution plan:
|
|
7
13
|
[`2026-07-11-remaining-accuracy-verification-program.md`](./plans/2026-07-11-remaining-accuracy-verification-program.md).
|
|
8
14
|
Closure certificate:
|
|
@@ -489,5 +495,6 @@ exist only when an upstream indexer emits them.
|
|
|
489
495
|
to comparable cohorts.
|
|
490
496
|
- `npm test`, `npm run typecheck`, and `npm run build` pass after each
|
|
491
497
|
implementation slice.
|
|
492
|
-
-
|
|
493
|
-
`scip-query
|
|
498
|
+
- Current changes use native tests plus the relevant `context`, `diff-impact`,
|
|
499
|
+
`architecture`, or detector command. No scip-query command declares an
|
|
500
|
+
arbitrary coding task complete.
|