scip-query 0.23.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +491 -2
- package/README.md +111 -122
- package/dist/augment-vue-worker.js +1 -1
- package/dist/by-kind-PRVFAGTQ.js +2 -0
- package/dist/call-graph-DVPAQV2F.js +2 -0
- package/dist/call-graph-evidence-CUtj8V2I.d.ts +19 -0
- package/dist/chunk-2FSBGL5P.js +2 -0
- package/dist/chunk-2HLAFUCY.js +2 -0
- package/dist/chunk-2IWUT6CJ.js +3 -0
- package/dist/chunk-2KNN7GTQ.js +2 -0
- package/dist/chunk-2LHXRE2B.js +8 -0
- package/dist/{chunk-EG2CPZMJ.js → chunk-2YXE77TJ.js} +2 -2
- package/dist/chunk-36SGVCGX.js +2 -0
- package/dist/chunk-3ABBFPTP.js +2 -0
- package/dist/chunk-3IVFU4FD.js +3 -0
- package/dist/chunk-3JIQS44J.js +7 -0
- package/dist/chunk-3ZRB6DNK.js +7 -0
- package/dist/{chunk-6YTSKJJ3.js → chunk-42EOW5VI.js} +1 -1
- package/dist/{chunk-6I6L7Z62.js → chunk-4BHGBMNO.js} +2 -2
- package/dist/chunk-4BP3UBDG.js +2 -0
- package/dist/chunk-4D6RO7G4.js +2 -0
- package/dist/chunk-4FEWQ6RH.js +2 -0
- package/dist/chunk-4IGEOBG7.js +2 -0
- package/dist/chunk-4QZXBUKC.js +2 -0
- package/dist/chunk-4WBDEVX2.js +4 -0
- package/dist/chunk-4WCUBZU3.js +8 -0
- package/dist/chunk-4WTUBQ36.js +40 -0
- package/dist/chunk-4XQ4O6IM.js +3 -0
- package/dist/chunk-55UQAMZO.js +4 -0
- package/dist/chunk-5D2LVK7O.js +125 -0
- package/dist/chunk-5IYJ56TT.js +2 -0
- package/dist/chunk-5PLMJC7Q.js +2 -0
- package/dist/chunk-5TNQJUR2.js +5 -0
- package/dist/chunk-62BDNPMI.js +2 -0
- package/dist/chunk-64DZ5TXR.js +7 -0
- package/dist/chunk-65245JCM.js +2 -0
- package/dist/chunk-6FFVZZL4.js +2 -0
- package/dist/chunk-6KO5JHAR.js +2 -0
- package/dist/chunk-6LRXOOSX.js +2 -0
- package/dist/chunk-6LSEIIF7.js +2 -0
- package/dist/chunk-6YMNWD3H.js +6 -0
- package/dist/chunk-72AD6ZRR.js +5 -0
- package/dist/chunk-73AAKPUC.js +4 -0
- package/dist/chunk-76CZ77DF.js +2 -0
- package/dist/chunk-7VPEEAAG.js +2 -0
- package/dist/chunk-7WTPQ4NX.js +14 -0
- package/dist/chunk-7Y5T6XDP.js +2 -0
- package/dist/chunk-A2IIGFMJ.js +5 -0
- package/dist/chunk-AB5KCTEV.js +2 -0
- package/dist/chunk-AC566WBP.js +6 -0
- package/dist/chunk-AGWFSTXC.js +3 -0
- package/dist/chunk-AOSIYPTA.js +2 -0
- package/dist/chunk-AUVEWPIF.js +2 -0
- package/dist/chunk-B56T42J3.js +25 -0
- package/dist/chunk-BIQEF5NE.js +2 -0
- package/dist/chunk-BL6XJKTA.js +3 -0
- package/dist/chunk-BMKOQJRI.js +2 -0
- package/dist/chunk-BOZ4EXBB.js +3 -0
- package/dist/chunk-BUTWYEPH.js +2 -0
- package/dist/chunk-BZB4QPIP.js +2 -0
- package/dist/{chunk-ILTDAWEF.js → chunk-CE357GEE.js} +4 -4
- package/dist/chunk-CFN45HFP.js +2 -0
- package/dist/chunk-CFYMZFXT.js +368 -0
- package/dist/chunk-CN5EH7O3.js +2 -0
- package/dist/chunk-D254DNNQ.js +4 -0
- package/dist/chunk-D3FDISIC.js +2 -0
- package/dist/chunk-D3NX5XIE.js +3 -0
- package/dist/chunk-DA7RPPDF.js +3 -0
- package/dist/chunk-DDMC3FON.js +3 -0
- package/dist/chunk-DIO3FUSG.js +2 -0
- package/dist/chunk-DJ2NNSUK.js +3 -0
- package/dist/chunk-DKYQIM3C.js +18 -0
- package/dist/{chunk-JTQVMR42.js → chunk-DOOEL2IV.js} +2 -2
- package/dist/chunk-DVFP6PZI.js +2 -0
- package/dist/chunk-E3FDPXZK.js +2 -0
- package/dist/chunk-E7YNJLCB.js +2 -0
- package/dist/chunk-EFGW5JPH.js +2 -0
- package/dist/chunk-EJVTR244.js +13 -0
- package/dist/chunk-EOV7RTRZ.js +2 -0
- package/dist/chunk-ETOIKRHO.js +2 -0
- package/dist/chunk-EYK3ZAO2.js +3 -0
- package/dist/chunk-F2V2LPET.js +52 -0
- package/dist/chunk-F4LUHJTF.js +2 -0
- package/dist/chunk-F4PUT6IT.js +2 -0
- package/dist/chunk-F56GCXXS.js +5 -0
- package/dist/chunk-FC2EVQRM.js +2 -0
- package/dist/chunk-FL7NBMHP.js +3 -0
- package/dist/chunk-FMRN2TRL.js +3 -0
- package/dist/chunk-FVULPZDF.js +20 -0
- package/dist/chunk-GCKCF5FL.js +43 -0
- package/dist/chunk-GH2PYF46.js +2 -0
- package/dist/chunk-GHJAGXIP.js +2 -0
- package/dist/{chunk-WIWY3CRX.js → chunk-GMVSHUKZ.js} +2 -2
- package/dist/chunk-GS6KDO4R.js +2 -0
- package/dist/chunk-GUUBXNN7.js +2 -0
- package/dist/chunk-GVWX5T43.js +80 -0
- package/dist/chunk-GZKFETP5.js +2 -0
- package/dist/chunk-H4EQHO6J.js +9 -0
- package/dist/chunk-H73WY2RM.js +2 -0
- package/dist/chunk-H75GSPRV.js +60 -0
- package/dist/chunk-HDR3AHSV.js +61 -0
- package/dist/chunk-HQBSL74Y.js +2 -0
- package/dist/chunk-HRRFKWPZ.js +2 -0
- package/dist/chunk-HXENDJC6.js +2 -0
- package/dist/chunk-IIBAZNSW.js +21 -0
- package/dist/chunk-INLMWEUU.js +12 -0
- package/dist/chunk-IWQPAF4F.js +2 -0
- package/dist/chunk-IZJ6YUKP.js +35 -0
- package/dist/chunk-J2TMAIN5.js +60 -0
- package/dist/chunk-J5FJMODQ.js +142 -0
- package/dist/chunk-J7HZPIO3.js +2 -0
- package/dist/chunk-JEVRKFRL.js +2 -0
- package/dist/chunk-JFXSGAEB.js +30 -0
- package/dist/chunk-JVRTHGFS.js +3 -0
- package/dist/chunk-JYWEX7RR.js +360 -0
- package/dist/chunk-K3YL22N6.js +2 -0
- package/dist/chunk-K4CN7GXK.js +12 -0
- package/dist/chunk-K5TBVXU4.js +30 -0
- package/dist/chunk-KDDIE2DP.js +9 -0
- package/dist/chunk-KHWRRPV4.js +2 -0
- package/dist/chunk-KI6NBKDY.js +14 -0
- package/dist/chunk-KU3QRSTH.js +2 -0
- package/dist/chunk-KZBJWZJB.js +2 -0
- package/dist/chunk-L7GFM3NP.js +3 -0
- package/dist/chunk-LMO6PK3V.js +35 -0
- package/dist/chunk-LN4YXJJU.js +2 -0
- package/dist/chunk-LOVIZBJ4.js +43 -0
- package/dist/chunk-LPCRK4A2.js +11 -0
- package/dist/chunk-MMHZKBFA.js +2 -0
- package/dist/{chunk-M2O5NY6W.js → chunk-MOQQBQRD.js} +2 -2
- package/dist/chunk-N2WN6I3L.js +2 -0
- package/dist/chunk-N3ORQT7L.js +2 -0
- package/dist/chunk-NAZ3RAIW.js +2 -0
- package/dist/chunk-NDUNO5JQ.js +2 -0
- package/dist/chunk-NEIWRNAZ.js +4 -0
- package/dist/chunk-NJJMVD65.js +2 -0
- package/dist/chunk-NLOQOBXI.js +20 -0
- package/dist/chunk-NOLZOVCU.js +2 -0
- package/dist/chunk-NOWINRRN.js +2 -0
- package/dist/chunk-NZAXKGRL.js +16 -0
- package/dist/chunk-O2C4UILI.js +2 -0
- package/dist/chunk-O3RHA6ZT.js +3 -0
- package/dist/chunk-O4UZSPPI.js +3 -0
- package/dist/chunk-OGFV2BUX.js +2 -0
- package/dist/chunk-OZCJXZK6.js +499 -0
- package/dist/chunk-P6ODM7BY.js +2 -0
- package/dist/{chunk-XBGWL66K.js → chunk-PAVGPRHJ.js} +2 -2
- package/dist/chunk-PH52RA7D.js +2 -0
- package/dist/chunk-PKN354TH.js +3 -0
- package/dist/chunk-PWOASWEG.js +11 -0
- package/dist/chunk-QIWXRW72.js +2 -0
- package/dist/chunk-QJRMOK5N.js +2 -0
- package/dist/{chunk-YXPUP5G2.js → chunk-QOIXNWQR.js} +2 -2
- package/dist/chunk-QXEUDXBT.js +3 -0
- package/dist/chunk-QYUVVBMR.js +6 -0
- package/dist/chunk-QZ7KQZRN.js +2 -0
- package/dist/chunk-R6LQBUDH.js +2 -0
- package/dist/chunk-RBS42E55.js +20 -0
- package/dist/chunk-RSJKPCFX.js +26 -0
- package/dist/chunk-S6CZA3MV.js +2 -0
- package/dist/chunk-STMVAHJP.js +2 -0
- package/dist/chunk-SYVPTTVW.js +2 -0
- package/dist/chunk-T3I6NHBH.js +2 -0
- package/dist/chunk-T6DK3ZP7.js +2 -0
- package/dist/chunk-TKD34PHN.js +4 -0
- package/dist/chunk-TNNQFH7W.js +2 -0
- package/dist/chunk-TNV7SSUF.js +2 -0
- package/dist/chunk-TO7ZR3EH.js +8 -0
- package/dist/chunk-TOU3CHK4.js +2 -0
- package/dist/chunk-TRBI4UKT.js +2 -0
- package/dist/chunk-TZCVNCAN.js +4 -0
- package/dist/chunk-U4LZA5LL.js +3 -0
- package/dist/chunk-U5RIG3JP.js +3 -0
- package/dist/chunk-UP5KXN2I.js +2 -0
- package/dist/chunk-UQFR3NDH.js +5 -0
- package/dist/chunk-UXYXF7GV.js +2 -0
- package/dist/chunk-VB3GOKOS.js +2 -0
- package/dist/chunk-VF5JZICY.js +2 -0
- package/dist/chunk-VTY3VK6E.js +2 -0
- package/dist/chunk-VX2O4RIS.js +2 -0
- package/dist/chunk-WKPV2TDZ.js +2 -0
- package/dist/chunk-WOFQ5DTB.js +2 -0
- package/dist/chunk-WS4C6TCK.js +2 -0
- package/dist/chunk-WXU3DGPU.js +2 -0
- package/dist/chunk-X6RMKHJQ.js +81 -0
- package/dist/{chunk-4ILJCCXV.js → chunk-XHMN6ZX7.js} +2 -2
- package/dist/chunk-XHTVFLWW.js +2 -0
- package/dist/chunk-XKIDJCIK.js +2 -0
- package/dist/chunk-XTYTYZPT.js +2 -0
- package/dist/chunk-Y2JHHTTA.js +2 -0
- package/dist/chunk-YGVRMGYN.js +4 -0
- package/dist/chunk-YNQCGEQE.js +2 -0
- package/dist/chunk-YOQVEXVE.js +14 -0
- package/dist/chunk-YRT2WLYY.js +2 -0
- package/dist/chunk-YTAP5Y2G.js +2 -0
- package/dist/chunk-YTYWI7VB.js +2 -0
- package/dist/chunk-YULZRALL.js +2 -0
- package/dist/chunk-Z33WQG4Q.js +2 -0
- package/dist/chunk-ZGTYGDMF.js +16 -0
- package/dist/chunk-ZHMRSZFD.js +43 -0
- package/dist/chunk-ZHSP366W.js +10 -0
- package/dist/chunk-ZIBYCYKK.js +7 -0
- package/dist/{chunk-GAS2LJMP.js → chunk-ZLADLUE6.js} +3 -3
- package/dist/chunk-ZO4YXUT6.js +4 -0
- package/dist/{chunk-HYO3NP5Q.js → chunk-ZR4HBC2H.js} +2 -2
- package/dist/cli-main.js +6 -6
- package/dist/cli.js +1 -1
- package/dist/{code-B17qEMbt.d.ts → code-BNyrCF3_.d.ts} +3 -2
- package/dist/code-IL5WH3NZ.js +2 -0
- package/dist/code-result-json-ANTBEDFP.js +4 -0
- package/dist/command-descriptors-HEEMDHTU.js +222 -0
- package/dist/deps-EOWFC6FD.js +2 -0
- package/dist/direct-navigation-Y5B6OSIQ.js +3 -0
- package/dist/{exploration-topology-BG4v30HZ.d.ts → exploration-topology-CSgEyAz-.d.ts} +3 -1
- package/dist/files-K4AI3JUM.js +2 -0
- package/dist/frontend-profile-roles-D7eCum8P.d.ts +10 -0
- package/dist/{health-CPp2Jf1Z.d.ts → health-BtfmNrfa.d.ts} +58 -74
- package/dist/hierarchy-6W5NDIFI.js +2 -0
- package/dist/imports-WH365QY4.js +2 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.js +1 -1
- package/dist/members-K3PHMF5S.js +2 -0
- package/dist/methods-E7KVMBX4.js +2 -0
- package/dist/output-continuation-command-BJSY67SN.js +3 -0
- package/dist/output-pagination-UZJ5ACIX.js +24 -0
- package/dist/postinstall.js +1 -1
- package/dist/project-reindex-EP24WT4X.js +3 -0
- package/dist/queries/affected.js +1 -1
- package/dist/queries/architecture.d.ts +15 -4
- package/dist/queries/architecture.js +1 -1
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +3 -1
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +1 -0
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +3 -3
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +20 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +1 -1
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity.d.ts +6 -3
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/context.d.ts +1 -7
- package/dist/queries/context.js +1 -1
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dead.d.ts +2 -0
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/dependence-slice.d.ts +46 -22
- package/dist/queries/dependence-slice.js +1 -1
- package/dist/queries/dependency-depth.d.ts +1 -7
- package/dist/queries/dependency-depth.js +1 -1
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +3 -1
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +1 -1
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +29 -2
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/entry-map.d.ts +2 -4
- package/dist/queries/entry-map.js +1 -1
- package/dist/queries/evidence.d.ts +121 -61
- package/dist/queries/evidence.js +1 -1
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +2 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +1 -1
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +1 -0
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +3 -3
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +17 -65
- package/dist/queries/index.js +1 -1
- package/dist/queries/locality-candidates.d.ts +4 -4
- 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.js +1 -1
- package/dist/queries/not-implemented.d.ts +2 -6
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +9 -1
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +19 -3
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +22 -3
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +17 -3
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +4 -14
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.d.ts +4 -1
- package/dist/queries/refs.js +1 -1
- package/dist/queries/review.d.ts +188 -0
- package/dist/queries/review.js +2 -0
- package/dist/queries/similar-files.d.ts +7 -10
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +19 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice-cohesion.d.ts +205 -0
- package/dist/queries/slice-cohesion.js +2 -0
- package/dist/queries/source-inspection.d.ts +6 -202
- package/dist/queries/source-inspection.js +1 -1
- package/dist/queries/source-search.d.ts +2 -3
- package/dist/queries/source-search.js +1 -1
- package/dist/queries/stats.d.ts +1 -0
- package/dist/queries/stats.js +1 -1
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.d.ts +4 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/test-quality.d.ts +1 -1
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/twin-drift.d.ts +23 -7
- package/dist/queries/twin-drift.js +1 -1
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +3 -15
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/query-service-fastpath.js +5 -5
- package/dist/query-service-server.js +4 -4
- package/dist/refs-CCBJG7WK.js +2 -0
- package/dist/refs-pagination-DRNLVU4S.js +2 -0
- package/dist/reindex-worker.js +79 -29
- package/dist/reindex.js +45 -45
- package/dist/repository-cache-worker.js +2 -0
- package/dist/runtime.d.ts +8 -8
- package/dist/runtime.js +3 -4
- 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/service-queries-2WAJI7R6.js +6 -0
- package/dist/source-inspection-91U9zdO3.d.ts +341 -0
- package/dist/{source-search-types-Dwz8KeuW.d.ts → source-search-types-DWGYNg8M.d.ts} +15 -2
- package/dist/stats-G7DIV6VU.js +2 -0
- package/dist/surface-IO55UALI.js +2 -0
- package/dist/system-ZBMSHJXU.js +2 -0
- package/dist/{queries/trace.d.ts → trace-BMjw3prn.d.ts} +1 -18
- package/dist/typescript-indexer.js +2 -0
- package/dist/typescript-mailbox-worker.js +1 -1
- package/dist/watch-server.js +3 -3
- package/docs/AGENT_GUIDE.md +19 -128
- package/docs/CLI_JSON_OUTPUT.md +21 -17
- package/docs/COMMAND_REFERENCE.md +34 -49
- package/docs/CURRENT_COMMANDS.md +123 -0
- package/docs/DETECTOR_EVIDENCE_CONTRACTS.md +0 -40
- package/docs/DETECTOR_GUIDE.md +55 -12
- package/docs/PRODUCT_VISION.md +135 -0
- package/docs/PROPERTY_TESTING.md +73 -0
- package/docs/REVIEW.md +76 -0
- package/docs/SKILLS.md +51 -0
- package/docs/WINDOWS_SIDECAR_RELEASE.md +12 -3
- package/docs/accuracy-audit-checklist.md +70 -13
- package/docs/analyzer-inventory.md +2 -2
- package/docs/locality-analyzer-design.md +9 -9
- package/package.json +18 -80
- package/scripts/evidence-product-contract.mjs +7 -3
- package/scripts/record-review-coverage.mjs +118 -0
- package/scripts/scip-windows-provenance.mjs +29 -19
- package/skills/scip-architecture-review/SKILL.md +57 -0
- package/skills/scip-architecture-review/agents/openai.yaml +4 -0
- package/skills/scip-architecture-review/references/design-checks.md +17 -0
- package/skills/scip-explore/SKILL.md +15 -59
- package/skills/scip-explore/agents/openai.yaml +3 -3
- package/skills/scip-explore/references/external-evidence.md +2 -2
- package/skills/scip-explore/references/information-model.md +26 -29
- package/skills/scip-explore/scripts/capture-evidence.mjs +68 -34
- package/skills/scip-integrity-audit/SKILL.md +53 -181
- package/skills/scip-integrity-audit/agents/openai.yaml +3 -3
- package/skills/scip-integrity-audit/references/integrity-probes.md +27 -0
- package/skills/scip-plan/SKILL.md +39 -65
- package/skills/scip-plan/agents/openai.yaml +2 -2
- package/skills/scip-query/SKILL.md +28 -81
- package/skills/scip-query/agents/openai.yaml +2 -2
- package/skills/scip-query/references/command-guide.md +169 -0
- package/skills/scip-setup/SKILL.md +4 -2
- package/skills/scip-setup/agents/openai.yaml +3 -3
- package/dist/by-kind-XI2CSWEY.js +0 -2
- package/dist/call-graph-UONR6JR5.js +0 -2
- package/dist/call-graph-evidence-lZa2dwQA.d.ts +0 -11
- package/dist/chunk-26CT72HM.js +0 -2
- package/dist/chunk-2E7CX53V.js +0 -2
- package/dist/chunk-2GRUZAQF.js +0 -43
- package/dist/chunk-2LDBDR6J.js +0 -29
- package/dist/chunk-2OOY75BW.js +0 -2
- package/dist/chunk-2R3V3PSD.js +0 -4
- package/dist/chunk-2WC2OEDO.js +0 -4
- package/dist/chunk-35NLDRZC.js +0 -2
- package/dist/chunk-3AF4TUFK.js +0 -3
- package/dist/chunk-3D3QG236.js +0 -2
- package/dist/chunk-3FHOF22C.js +0 -21
- package/dist/chunk-3JKSW6LJ.js +0 -2
- package/dist/chunk-3L2ZBPEX.js +0 -133
- package/dist/chunk-3PJABJSU.js +0 -2
- package/dist/chunk-3SVF22I5.js +0 -2
- package/dist/chunk-3WR4E3A3.js +0 -3
- package/dist/chunk-4FTZ4P5G.js +0 -2
- package/dist/chunk-4UX2F3JX.js +0 -2
- package/dist/chunk-4WNW27SX.js +0 -2
- package/dist/chunk-5ENOG4VP.js +0 -61
- package/dist/chunk-64BFSI5I.js +0 -2
- package/dist/chunk-66DVSJQG.js +0 -455
- package/dist/chunk-6HFCYNYE.js +0 -9
- package/dist/chunk-6PQNKL3G.js +0 -3
- package/dist/chunk-6V5CNXL6.js +0 -2
- package/dist/chunk-6VVV4WRR.js +0 -4
- package/dist/chunk-7BWFZPPZ.js +0 -2
- package/dist/chunk-7CYG22FH.js +0 -2
- package/dist/chunk-7F45LJKI.js +0 -2
- package/dist/chunk-7IWV2EG3.js +0 -3
- package/dist/chunk-7KCZELVM.js +0 -2
- package/dist/chunk-AFHTBORT.js +0 -2
- package/dist/chunk-AVRYW5OZ.js +0 -2
- package/dist/chunk-B3X6KU75.js +0 -2
- package/dist/chunk-B5D7QPBE.js +0 -4
- package/dist/chunk-BBCIS4DX.js +0 -16
- package/dist/chunk-BDUVI7TO.js +0 -3
- package/dist/chunk-BE7ZZTMC.js +0 -2
- package/dist/chunk-BHVUJOCQ.js +0 -3
- package/dist/chunk-BJT7LSPK.js +0 -3
- package/dist/chunk-BKVWUP7Y.js +0 -2
- package/dist/chunk-BQGB4HBD.js +0 -2
- package/dist/chunk-BRV7PIFF.js +0 -2
- package/dist/chunk-CEEZJXEF.js +0 -2
- package/dist/chunk-CIYLO6SI.js +0 -7
- package/dist/chunk-CJZXN4NU.js +0 -2
- package/dist/chunk-CNO7TOKL.js +0 -2
- package/dist/chunk-COF23M5F.js +0 -2
- package/dist/chunk-CWFP7GM5.js +0 -2
- package/dist/chunk-D2DHWI3D.js +0 -2
- package/dist/chunk-D4N5SQ2M.js +0 -4
- package/dist/chunk-DBRSYFXR.js +0 -2
- package/dist/chunk-DHUIOLDT.js +0 -2
- package/dist/chunk-DIRJWYBM.js +0 -6
- package/dist/chunk-DIUFNHRJ.js +0 -35
- package/dist/chunk-DRENNWRG.js +0 -2
- package/dist/chunk-DTZCKZEU.js +0 -4
- package/dist/chunk-DULC3QFP.js +0 -5
- package/dist/chunk-DYGHBZ2N.js +0 -16
- package/dist/chunk-E5R6AQ73.js +0 -40
- package/dist/chunk-E73UNJTF.js +0 -38
- package/dist/chunk-EKV5HX33.js +0 -2
- package/dist/chunk-EQHFIL6T.js +0 -3
- package/dist/chunk-ESIQ66Z7.js +0 -2
- package/dist/chunk-EVFUMY4R.js +0 -3
- package/dist/chunk-F7DY272B.js +0 -2
- package/dist/chunk-FBN2FGXG.js +0 -2
- package/dist/chunk-FDLOBR6P.js +0 -4
- package/dist/chunk-FESCRNVV.js +0 -5
- package/dist/chunk-FFRKR4EQ.js +0 -2
- package/dist/chunk-FGA2U4OR.js +0 -8
- package/dist/chunk-FIQRSHVM.js +0 -2
- package/dist/chunk-FPYLNQPT.js +0 -2
- package/dist/chunk-FRUSVINH.js +0 -2
- package/dist/chunk-GSP44ENC.js +0 -2
- package/dist/chunk-GUFSG5TX.js +0 -2
- package/dist/chunk-GYIZ4NXB.js +0 -2
- package/dist/chunk-GZIUDL6G.js +0 -2
- package/dist/chunk-H5EXS3HM.js +0 -2
- package/dist/chunk-HCXEQRFF.js +0 -18
- package/dist/chunk-HEHOQQKH.js +0 -2
- package/dist/chunk-HKGFPJ4T.js +0 -4
- package/dist/chunk-HLZTEXRA.js +0 -2
- package/dist/chunk-HOENASQM.js +0 -3
- package/dist/chunk-HVF5VBG6.js +0 -2
- package/dist/chunk-I55I7XXP.js +0 -2
- package/dist/chunk-IDFEUFKS.js +0 -2
- package/dist/chunk-IHGQTTVW.js +0 -2
- package/dist/chunk-IICPE7B2.js +0 -20
- package/dist/chunk-IL676XCC.js +0 -18
- package/dist/chunk-IW5XQG5G.js +0 -2
- package/dist/chunk-IZDPJ2QI.js +0 -2
- package/dist/chunk-J66VOFW6.js +0 -5
- package/dist/chunk-JFMEXGFE.js +0 -2
- package/dist/chunk-JGKUET5J.js +0 -3
- package/dist/chunk-JS4PGXMV.js +0 -3
- package/dist/chunk-JWTGMPIT.js +0 -80
- package/dist/chunk-JYR66JN5.js +0 -5
- package/dist/chunk-KFOYCQAJ.js +0 -9
- package/dist/chunk-KLFEXGQA.js +0 -2
- package/dist/chunk-KMVGRIO2.js +0 -2
- package/dist/chunk-KYSDI3GE.js +0 -5
- package/dist/chunk-L6PJPETJ.js +0 -29
- package/dist/chunk-LDVT66YM.js +0 -2
- package/dist/chunk-LEECKFCJ.js +0 -2
- package/dist/chunk-LMZ5PRUV.js +0 -2
- package/dist/chunk-LQRQN2XA.js +0 -2
- package/dist/chunk-LXABEJX3.js +0 -2
- package/dist/chunk-MNV5FSBW.js +0 -3
- package/dist/chunk-MPQ4OTBM.js +0 -2
- package/dist/chunk-MTDBHTSF.js +0 -2
- package/dist/chunk-MV3CDXPI.js +0 -38
- package/dist/chunk-MWN53KRN.js +0 -60
- package/dist/chunk-MXNGIEPU.js +0 -3
- package/dist/chunk-N2ZSIIGR.js +0 -117
- package/dist/chunk-N5B2NILC.js +0 -5
- package/dist/chunk-NJITK2GP.js +0 -2
- package/dist/chunk-NOGJXYFO.js +0 -2
- package/dist/chunk-NOYBFVJA.js +0 -554
- package/dist/chunk-NWQXSFFU.js +0 -3
- package/dist/chunk-ODDUPDP7.js +0 -13
- package/dist/chunk-OLIWTZI3.js +0 -3
- package/dist/chunk-OLNV6I6U.js +0 -2
- package/dist/chunk-OR2E3AGZ.js +0 -2
- package/dist/chunk-OSR2GEHQ.js +0 -2
- package/dist/chunk-OSSESPDX.js +0 -3
- package/dist/chunk-OWOOWNJ5.js +0 -7
- package/dist/chunk-P42EIXTA.js +0 -2
- package/dist/chunk-PJFGPYTU.js +0 -2
- package/dist/chunk-PP7KNN7L.js +0 -2
- package/dist/chunk-PU7T5QYQ.js +0 -2
- package/dist/chunk-PWWAJSKV.js +0 -74
- package/dist/chunk-PZL5T7SU.js +0 -73
- package/dist/chunk-QBE3YX64.js +0 -23
- package/dist/chunk-QGVTFRY2.js +0 -7
- package/dist/chunk-QOJONDS7.js +0 -2
- package/dist/chunk-QU5XRYB5.js +0 -4
- package/dist/chunk-QUU5OBVK.js +0 -11
- package/dist/chunk-RBLQNW26.js +0 -20
- package/dist/chunk-RTQ7NEKG.js +0 -81
- package/dist/chunk-SQXRS7BG.js +0 -4
- package/dist/chunk-SSK6LDPC.js +0 -2
- package/dist/chunk-SZHGTCPP.js +0 -7
- package/dist/chunk-T4N4P2K5.js +0 -16
- package/dist/chunk-TA3QKLLU.js +0 -2
- package/dist/chunk-TEBQMNVI.js +0 -43
- package/dist/chunk-TPFHAQ2G.js +0 -2
- package/dist/chunk-TQPCBMWT.js +0 -5
- package/dist/chunk-TQZV7KV4.js +0 -2
- package/dist/chunk-TRNAEQ6P.js +0 -3
- package/dist/chunk-TY7CRN3Z.js +0 -2
- package/dist/chunk-UHFYCMZO.js +0 -35
- package/dist/chunk-UICY4GTQ.js +0 -7
- package/dist/chunk-UVGEWT4Y.js +0 -26
- package/dist/chunk-UXW33INU.js +0 -29
- package/dist/chunk-VMPRET3I.js +0 -5
- package/dist/chunk-VNLGKHS6.js +0 -6
- package/dist/chunk-VQILFTEH.js +0 -2
- package/dist/chunk-VUPHCS7Y.js +0 -57
- package/dist/chunk-VVZSBTSU.js +0 -23
- package/dist/chunk-VZRNID6A.js +0 -2
- package/dist/chunk-W5OXRYGE.js +0 -7
- package/dist/chunk-W6STWDQI.js +0 -57
- package/dist/chunk-W7CXK74K.js +0 -2
- package/dist/chunk-WB3WYIRE.js +0 -4
- package/dist/chunk-WDNVY4E7.js +0 -20
- package/dist/chunk-WK46TNUM.js +0 -3
- package/dist/chunk-WNTFFKAX.js +0 -12
- package/dist/chunk-WOIKCX6A.js +0 -2
- package/dist/chunk-WUN6KBHV.js +0 -2
- package/dist/chunk-WYCTJDVR.js +0 -2
- package/dist/chunk-WYPL7GF7.js +0 -2
- package/dist/chunk-XDAUYDFT.js +0 -2
- package/dist/chunk-XDQMU3BT.js +0 -2
- package/dist/chunk-XFA4SSO3.js +0 -3
- package/dist/chunk-XGZEP6GR.js +0 -8
- package/dist/chunk-XPDPNWTQ.js +0 -368
- package/dist/chunk-XRYABF57.js +0 -8
- package/dist/chunk-YBGKCQIS.js +0 -2
- package/dist/chunk-YEN6CYC7.js +0 -16
- package/dist/chunk-YF5IB2LF.js +0 -2
- package/dist/chunk-YI2AWIHC.js +0 -3
- package/dist/chunk-YPWBKGFU.js +0 -2
- package/dist/chunk-YPWHBBIS.js +0 -2
- package/dist/chunk-YSH6U3L4.js +0 -3
- package/dist/chunk-YU5DZUZI.js +0 -10
- package/dist/chunk-YWO5DDRC.js +0 -16
- package/dist/chunk-Z4CDXYNQ.js +0 -2
- package/dist/chunk-ZF5KHH7C.js +0 -2
- package/dist/chunk-ZOHS7AQV.js +0 -21
- package/dist/chunk-ZTI4SBFV.js +0 -3
- package/dist/code-MI6F2TTU.js +0 -2
- package/dist/code-result-json-FXALY4HE.js +0 -2
- package/dist/command-descriptors-P34VABY5.js +0 -343
- package/dist/dataflow-4KEMJPC6.js +0 -2
- package/dist/dependence-slice-R7FPWD5M.js +0 -2
- package/dist/deps-7EMQUYUT.js +0 -2
- package/dist/direct-navigation-6YO234F2.js +0 -3
- package/dist/entry-map-KOOLR26E.js +0 -2
- package/dist/files-OPIPJIGZ.js +0 -2
- package/dist/graph-evidence-Bjyky2V4.d.ts +0 -126
- package/dist/hierarchy-QPD2CAER.js +0 -2
- package/dist/imports-M6HUXRXC.js +0 -2
- package/dist/members-I5MEFOCT.js +0 -2
- package/dist/methods-5JYGGHXA.js +0 -2
- package/dist/next-anchor-candidates-BwMczMvX.d.ts +0 -90
- package/dist/output-continuation-command-UPQAAKBP.js +0 -3
- package/dist/output-pagination-3OFL2MJV.js +0 -19
- package/dist/project-reindex-UKKQ5PLS.js +0 -3
- package/dist/queries/anchors.d.ts +0 -123
- package/dist/queries/anchors.js +0 -2
- package/dist/queries/complexity-hotspots.d.ts +0 -40
- package/dist/queries/complexity-hotspots.js +0 -2
- package/dist/queries/convergence.d.ts +0 -33
- package/dist/queries/convergence.js +0 -2
- package/dist/queries/dataflow.d.ts +0 -77
- package/dist/queries/dataflow.js +0 -2
- package/dist/queries/deep-chains.d.ts +0 -5
- package/dist/queries/deep-chains.js +0 -2
- package/dist/queries/extract-candidates.d.ts +0 -52
- package/dist/queries/extract-candidates.js +0 -2
- package/dist/queries/isolated.d.ts +0 -24
- package/dist/queries/isolated.js +0 -2
- package/dist/queries/plan-context.d.ts +0 -33
- package/dist/queries/plan-context.js +0 -2
- package/dist/queries/reference-neighborhood.d.ts +0 -4
- package/dist/queries/reference-neighborhood.js +0 -2
- package/dist/queries/reference-reachability.d.ts +0 -48
- package/dist/queries/reference-reachability.js +0 -2
- package/dist/queries/self-audit.d.ts +0 -63
- package/dist/queries/self-audit.js +0 -2
- package/dist/queries/similar-chains.d.ts +0 -48
- package/dist/queries/similar-chains.js +0 -2
- package/dist/queries/slice.d.ts +0 -4
- package/dist/queries/slice.js +0 -2
- package/dist/queries/stale-abstractions.d.ts +0 -72
- package/dist/queries/stale-abstractions.js +0 -2
- package/dist/queries/system-map.d.ts +0 -449
- package/dist/queries/system-map.js +0 -2
- package/dist/queries/trace.js +0 -2
- package/dist/queries/twin-ab.d.ts +0 -66
- package/dist/queries/twin-ab.js +0 -2
- package/dist/queries/value-flow.d.ts +0 -43
- package/dist/queries/value-flow.js +0 -2
- package/dist/queries/wrapper-candidates.d.ts +0 -34
- package/dist/queries/wrapper-candidates.js +0 -2
- package/dist/refs-PSU4JZZW.js +0 -2
- package/dist/refs-pagination-JG6CJMRC.js +0 -2
- package/dist/slice-HYRATV64.js +0 -2
- package/dist/source-snippet-_wrcgmZc.d.ts +0 -15
- package/dist/stats-OOJ74B32.js +0 -2
- package/dist/surface-VTGDYWF5.js +0 -2
- package/dist/symbol-resolution-WD5EU5JE.js +0 -2
- package/dist/system-LRQNFOR2.js +0 -2
- package/dist/trace-F4B6OLL4.js +0 -2
- package/dist/value-flow-VRPZY72V.js +0 -2
- package/skills/concrete-plan/SKILL.md +0 -8
- package/skills/concrete-plan/agents/openai.yaml +0 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,496 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `scip-query` are documented here. This file starts at 0.11.0; everything below covers behavior changes made since the 0.10.12 release.
|
|
4
4
|
|
|
5
|
-
## [
|
|
5
|
+
## [0.26.0] - 2026-09-11
|
|
6
|
+
|
|
7
|
+
### Agent workflows and quality review
|
|
8
|
+
|
|
9
|
+
- `review --base <ref>` evaluates changed, new, and untracked TS/JS functions
|
|
10
|
+
for complexity and duplication. Coverage-backed risk analysis requires
|
|
11
|
+
coverage matched to the reviewed source.
|
|
12
|
+
- `system --source [module]` supplies current module files, exports, imports,
|
|
13
|
+
consumers, policy, and findings without first building an index. `health`
|
|
14
|
+
reports concrete source findings instead of an aggregate health score.
|
|
15
|
+
- Consolidated agent guidance into six workflows: `scip-query`, `scip-explore`,
|
|
16
|
+
`scip-plan`, `scip-architecture-review`, `scip-integrity-audit`, and
|
|
17
|
+
`scip-setup`. Planning requires documenting the existing end-to-end flow,
|
|
18
|
+
comparable features, shared owners, and reuse choices before implementation.
|
|
19
|
+
Use ordinary file tools for source reading and scip-query for relationships,
|
|
20
|
+
architecture, quality findings, and change impact.
|
|
21
|
+
|
|
22
|
+
### Output and migration notes
|
|
23
|
+
|
|
24
|
+
- Oversized human output now saves the complete result to a temporary file
|
|
25
|
+
and prints a preview and file location. Automatic continuation prompts and
|
|
26
|
+
routine metadata footers are removed. Explicit pagination and the internal
|
|
27
|
+
`continue` command remain available. Use `--json --json-output <path>` for
|
|
28
|
+
programmatic filtering; human output is not a stable parsing interface.
|
|
29
|
+
- Source and graph additions are opt-in: for example, `inspect --bindings`
|
|
30
|
+
requests binding details and `evidence --detail` requests detailed edges.
|
|
31
|
+
- Removed overlapping CLI commands: `trace`, `reference-neighborhood`,
|
|
32
|
+
`value-flow`, `reference-reachability`, `isolated`, `similar-chains`,
|
|
33
|
+
`extract-candidates`, `wrapper-candidates`, `stale-abstractions`,
|
|
34
|
+
`complexity-hotspots`, and `self-audit`. Use `evidence` for explicit typed
|
|
35
|
+
relationships, `refs` for reference sites, `dead` for unused-code candidates,
|
|
36
|
+
`dependence-slice` / `slice-cohesion` for local flow questions, and
|
|
37
|
+
`health` / `review` / `complexity` for quality findings. See
|
|
38
|
+
[the current command inventory](docs/CURRENT_COMMANDS.md) for scope and
|
|
39
|
+
[the command reference](docs/COMMAND_REFERENCE.md) for arguments.
|
|
40
|
+
- Removed obsolete JavaScript package subpaths under `scip-query/queries/`:
|
|
41
|
+
`anchors`, `complexity-hotspots`, `convergence`, `dataflow`, `deep-chains`,
|
|
42
|
+
`system-map`, `extract-candidates`, `isolated`, `plan-context`,
|
|
43
|
+
`reference-neighborhood`, `reference-reachability`, `self-audit`,
|
|
44
|
+
`similar-chains`, `slice`, `stale-abstractions`, `trace`, `twin-ab`,
|
|
45
|
+
`value-flow`, and `wrapper-candidates`. Update imports to supported query
|
|
46
|
+
entries; replacements are not necessarily signature-compatible.
|
|
47
|
+
|
|
48
|
+
### TypeScript accuracy and incremental indexing
|
|
49
|
+
|
|
50
|
+
- Corrected compiler identity and source binding handling across index
|
|
51
|
+
partitions, anonymous/default exports, mutable bindings, and nested value
|
|
52
|
+
reads. Graph results retain the distinction between established edges,
|
|
53
|
+
derived observations, and candidates that require confirmation.
|
|
54
|
+
- Strengthened stale-input detection, source dependency tracking, cache
|
|
55
|
+
invalidation, failed-publication recovery, and incremental compiler-state
|
|
56
|
+
recovery. Failed compiler work does not publish a partially replaced index.
|
|
57
|
+
- Preserved watcher ownership through cleanup failures and made unavailable
|
|
58
|
+
incremental-service recovery explicit. Configured rebuild policy and
|
|
59
|
+
disabled watchers remain respected.
|
|
60
|
+
- Added reproducible property-based tests and state-transition coverage for
|
|
61
|
+
indexing, caches, query inputs, and publication recovery, alongside
|
|
62
|
+
independent known-answer graph tests. These tests do not establish complete
|
|
63
|
+
TypeScript or runtime coverage.
|
|
64
|
+
|
|
65
|
+
### Indexing performance
|
|
66
|
+
|
|
67
|
+
- Reuse verified compiler documents and runtime analysis after incremental
|
|
68
|
+
edits; avoid repeated reference preparation and runtime mount parsing.
|
|
69
|
+
- Share parsed TypeScript sources across bounded compiler batches and reuse
|
|
70
|
+
focused source facts during graph analysis.
|
|
71
|
+
- On the recorded LaunchPoint backend snapshot, the final compiler-batch
|
|
72
|
+
change reduced a cold index from 192.9 to 167.4 seconds and compiler work
|
|
73
|
+
from 119.7 to 95.1 seconds. All 9,485 compiler documents and recorded
|
|
74
|
+
runtime facts matched the preceding build. Peak process-tree memory rose
|
|
75
|
+
from 11.8 to 12.5 GiB; the one-minute cold-index target remains unmet.
|
|
76
|
+
Results are workload-specific, not a universal latency or memory guarantee.
|
|
77
|
+
- The Windows sidecar remains pinned to `scip-query-scip-windows@0.13.1`.
|
|
78
|
+
Node.js 22 or later is still required.
|
|
79
|
+
|
|
80
|
+
### Release checks
|
|
81
|
+
|
|
82
|
+
- Build before the complete test suite so CLI contracts exercise the artifact
|
|
83
|
+
that will be packed. Use the compiled CLI in the source-reading contract
|
|
84
|
+
suites and share Node's compilation cache between release test subprocesses,
|
|
85
|
+
with temporary-cache cleanup and explicit cache/coverage controls preserved.
|
|
86
|
+
- Reduce temporary SQLite journal churn in generated read-proof tests while
|
|
87
|
+
retaining the separate reader, every edit checkpoint, and existing timeouts.
|
|
88
|
+
Keep the two-worker test limit and all release checks.
|
|
89
|
+
|
|
90
|
+
## [0.25.0]
|
|
91
|
+
|
|
92
|
+
### Slice-based cohesion
|
|
93
|
+
|
|
94
|
+
- New `slice-cohesion [symbol]` command. For every value a TypeScript
|
|
95
|
+
function hands out (its return value, each property of a returned object
|
|
96
|
+
literal, an effect call, a write to a parameter or field, a throw) it
|
|
97
|
+
takes the backward slice over the compiler-owned local flow graph and
|
|
98
|
+
partitions the body by which outputs share statements. Outputs whose
|
|
99
|
+
slices never meet are separate local computations; the largest cluster
|
|
100
|
+
stays in place and every other qualifying cluster is reported as an
|
|
101
|
+
extraction with its line ranges, the outputs it produces, and the
|
|
102
|
+
parameters it would take. Exit-only guards (including branches that only
|
|
103
|
+
log before leaving), shared setup derived only from inputs, and writes
|
|
104
|
+
that reach a parameter through an alias (`bucket = map.get(k)`,
|
|
105
|
+
`map.set(k, bucket)`) are modeled so that one-computation functions stay
|
|
106
|
+
whole.
|
|
107
|
+
- The model keeps failure handling with the operation it protects: every
|
|
108
|
+
statement in a `catch` or `finally` block depends on the try block it
|
|
109
|
+
handles. A function's return value is one output no matter how many
|
|
110
|
+
return statements produce it, and the same field on several returned
|
|
111
|
+
object literals is one output, so alternate returns and guard clauses
|
|
112
|
+
are not seams.
|
|
113
|
+
- React bodies are modeled by state ownership. A tuple state hook
|
|
114
|
+
(`const [x, setX] = useState()`) makes `setX(...)` a write to `x` when it
|
|
115
|
+
runs at render time or inside an effect callback (directly, through
|
|
116
|
+
promise continuations and timers, or through a `useCallback` closure the
|
|
117
|
+
effect calls), so later reads of `x` depend on it. Event handlers declared
|
|
118
|
+
and passed away write nothing until invoked. Candidates carry an
|
|
119
|
+
archetype (`calculation`, `react-component`, `react-hook`,
|
|
120
|
+
`orchestration`), clusters carry a kind (`calculation`, `hook`,
|
|
121
|
+
`effects`) and a role (`remainder`, `extraction`, `below-threshold`), and
|
|
122
|
+
the recommendation names a pure calculation, custom hook, or effect
|
|
123
|
+
sequence candidate rather than a generic function split.
|
|
124
|
+
- Guards are structural: a then-branch that only prepares or reports an exit
|
|
125
|
+
(calls, local bindings, then a return or throw whose value is not computed
|
|
126
|
+
in the branch or an enclosing loop) is an exit, so `return empty` after a
|
|
127
|
+
shared constant, a log line before `return null`, and `return
|
|
128
|
+
suppress(params)` do not form clusters. Every unit also depends on the
|
|
129
|
+
predicates that syntactically enclose it, so a strategy branch inside a
|
|
130
|
+
`try` shares its branch with the fallback that follows. Shared setup is
|
|
131
|
+
judged against the partition: a unit read by outputs of one cluster only
|
|
132
|
+
returns to that cluster. Clusters that compute a result while awaiting or
|
|
133
|
+
producing effects are `operation` candidates, not pure calculations.
|
|
134
|
+
- A keep-whole verdict explains what joins the outputs (statements feeding
|
|
135
|
+
every output, statements feeding several, chaining through predicates or
|
|
136
|
+
state writes, or setup-only reads) instead of a bare shared count, and
|
|
137
|
+
bodies whose only extractions are effect sequences rank after
|
|
138
|
+
calculations, operations, and hooks with an advisory note that
|
|
139
|
+
orchestration may be intentional.
|
|
140
|
+
- Extraction interfaces count only what would become a parameter:
|
|
141
|
+
function parameters, `this`, shared-setup bindings, and locals of an
|
|
142
|
+
enclosing function. Imports, module-level names, globals, and JSX tags
|
|
143
|
+
stay what they are. The `signal` tier requires a complete local model
|
|
144
|
+
and at least one extraction within five parameters; the remainder never
|
|
145
|
+
needs an interface. Orchestration roots (bodies whose value outputs are
|
|
146
|
+
all calls) and code under scripts, tools, bin, or migration directories
|
|
147
|
+
are reported at support tier and ranked last.
|
|
148
|
+
- Coverage names its scope: `coverage.model` is `function-local-flow`,
|
|
149
|
+
`coverage.candidateEdgeEffect` records that candidate flow edges were
|
|
150
|
+
treated as dependencies and can only merge clusters, and a partial model
|
|
151
|
+
turns the recommendation into an inspection request. The JSON envelope
|
|
152
|
+
reports one row per finding, a targeted symbol reports complete
|
|
153
|
+
coverage, a scan without a cap reports complete coverage, and a capped
|
|
154
|
+
scan reports what it omitted. Scan results omit per-unit listings and
|
|
155
|
+
slice arrays (a targeted symbol keeps them), `--scan-limit <n>` bounds
|
|
156
|
+
the analysis work independently of `-n`, help states that `--full` and
|
|
157
|
+
`--limit` cannot be combined, and long scans report progress on stderr.
|
|
158
|
+
- Performance: the analyzer builds one in-memory compiler program per file
|
|
159
|
+
and previously re-parsed the standard library, re-resolved every import
|
|
160
|
+
and `@types` package, and looked for `@typescript/lib-*` replacements on
|
|
161
|
+
each of them. Library and `@types` declaration files are now parsed once
|
|
162
|
+
per process, imports resolve only when an `@types` package can back
|
|
163
|
+
them, lib replacement lookup is off, property accesses are keyed by
|
|
164
|
+
their receiver and member name instead of an inferred property symbol,
|
|
165
|
+
reaching definitions and postdominators run as bit-set worklists in
|
|
166
|
+
reverse postorder, and a scan evaluates a file's callables together so
|
|
167
|
+
its flow graph and parse are shared. On a 7,900-file Next.js repository
|
|
168
|
+
the `.tsx`-scoped scan went from 177 s to 8 s and the unbounded scan from
|
|
169
|
+
more than 30 minutes to 33 s.
|
|
170
|
+
|
|
171
|
+
### Local flow models try, catch, and finally
|
|
172
|
+
|
|
173
|
+
- The TypeScript local flow CFG now builds try, catch, and finally regions
|
|
174
|
+
instead of treating a try statement as one opaque node that invalidated
|
|
175
|
+
every reaching definition. Any node inside a try block may raise, so the
|
|
176
|
+
state before each of them flows to the catch entry; a `throw` inside the
|
|
177
|
+
block lands in the catch; the catch binding is a definition; normal
|
|
178
|
+
completion of either block continues through the finally block. A finally
|
|
179
|
+
block after a return, break, or continue inside its try or catch is the
|
|
180
|
+
one remaining disclosed gap. Control dependence is derived from predicate
|
|
181
|
+
nodes only, so raise edges do not become spurious branches.
|
|
182
|
+
|
|
183
|
+
### Local flow covers destructuring, element writes, and loop variables
|
|
184
|
+
|
|
185
|
+
- The TypeScript local definition-use analysis now binds every leaf of an
|
|
186
|
+
object or array pattern in parameters and declarations, feeds pattern
|
|
187
|
+
defaults into the definition, records `container[index] = value` as a
|
|
188
|
+
partial definition that does not kill earlier definitions of the
|
|
189
|
+
container, draws a `for...of` or `for...in` variable from its iterable,
|
|
190
|
+
and resolves a shorthand property (`{ value }`) to the local binding
|
|
191
|
+
rather than the property it creates. Previously a destructuring statement
|
|
192
|
+
or element write invalidated every reaching definition after it, which
|
|
193
|
+
truncated `dependence-slice`, `value-flow`, and every consumer of the flow
|
|
194
|
+
graph.
|
|
195
|
+
|
|
196
|
+
## [0.24.1]
|
|
197
|
+
|
|
198
|
+
### Solution-style tsconfigs and a live type checker
|
|
199
|
+
|
|
200
|
+
- A repository whose root `tsconfig.json` only references other projects
|
|
201
|
+
(`files: []` plus `references`) crashed every compiler-backed command in
|
|
202
|
+
0.24.0 (`Cannot read properties of undefined (reading 'flags')`): the
|
|
203
|
+
root's empty program received each file as an ad hoc addition and the
|
|
204
|
+
provider kept using a checker from the program before the addition. The
|
|
205
|
+
root is now replaced by the projects it references, and the provider reads
|
|
206
|
+
the current program's checker on every use.
|
|
207
|
+
- A function whose return type holds an object type literal
|
|
208
|
+
(`): Promise<{ url: string }> {`) had its body read from the wrong brace;
|
|
209
|
+
thin-forwarder, wrapper, twin, and duplicate-body checks now skip type and
|
|
210
|
+
value literals when locating a body.
|
|
211
|
+
|
|
212
|
+
### Health counts cycles on the import graph
|
|
213
|
+
|
|
214
|
+
- The health report's circular-dependency axis counts real cycles on the
|
|
215
|
+
import graph, where a cycle is a runtime dependency a reader can break.
|
|
216
|
+
A component that cycles only through type or symbol references (the
|
|
217
|
+
`cycles` command's default basis) is disclosed as a policy exclusion with
|
|
218
|
+
its file count instead of being scored. On Launchpoint this turns one
|
|
219
|
+
725-file symbol-reference component into a disclosure and no counted
|
|
220
|
+
cycle.
|
|
221
|
+
|
|
222
|
+
### Detector calibration on a third and fourth repository
|
|
223
|
+
|
|
224
|
+
Label sets for SuplierScout (Express + React, solution-style tsconfig) and
|
|
225
|
+
Stable_Management (workspace monorepo, five tsconfigs) under
|
|
226
|
+
`docs/validation/labels/`. Only the rules those labels measured as an
|
|
227
|
+
improvement shipped.
|
|
228
|
+
|
|
229
|
+
- `similar`: two functions in one file sharing four or more callees at
|
|
230
|
+
similarity 0.5 or more are direct findings whatever the vocabulary class
|
|
231
|
+
(create/update/delete workflows, archive/restore pairs), because the file's
|
|
232
|
+
own imports are the scaffolding vocabulary. A cross-file pair whose shared
|
|
233
|
+
evidence mixes domain behavior with scaffolding is direct from similarity
|
|
234
|
+
0.6. Precision holds at 1.0 on Launchpoint (recall 0.43 to 0.71) and on
|
|
235
|
+
Stable_Management (recall 0.33 to 0.92); no labeled false row is promoted
|
|
236
|
+
on any of the four repositories.
|
|
237
|
+
- `co-change`: a `<Name>.script.ts` companion is a single-file component's
|
|
238
|
+
script block, so a view script changing with its model is model-view
|
|
239
|
+
coupling rather than a schema-with-script sweep. Stable_Management recall
|
|
240
|
+
0.82 to 1.0 at precision 1.0.
|
|
241
|
+
- `extract-candidates`: a selected region that is one statement (an awaited
|
|
242
|
+
call with callback arguments, a resource or form declaration, a nested
|
|
243
|
+
function) is support tier, because extracting it would only wrap that
|
|
244
|
+
statement. SuplierScout precision 0.9 to 1.0 with recall unchanged; Vega
|
|
245
|
+
unchanged.
|
|
246
|
+
- `extract-candidates`: every tier reason now names the line range it was
|
|
247
|
+
decided on. The reason said "the largest region" while describing the most
|
|
248
|
+
actionable region, which is often a different one.
|
|
249
|
+
- `passthrough-candidates`: a body whose parameter carries a default value
|
|
250
|
+
reshapes its input and is not a literal passthrough (source-facts payload
|
|
251
|
+
version 10).
|
|
252
|
+
|
|
253
|
+
## [0.24.0]
|
|
254
|
+
|
|
255
|
+
### Oversized compiler projects are served from file closures
|
|
256
|
+
|
|
257
|
+
- A tsconfig that lists more files than the semantic worker's heap can hold
|
|
258
|
+
(by the same estimate that sizes the heap: 2,560 MB plus 1.25 MB per
|
|
259
|
+
file) is no longer loaded whole and no longer declined. Its compiler
|
|
260
|
+
program starts empty and grows by the import closure of each requested
|
|
261
|
+
file, so callees, callee coverage, signatures, and import usage stay
|
|
262
|
+
exact per file; references and hierarchies, which need every file, are
|
|
263
|
+
declined per request and the cheap paths answer them. The service status
|
|
264
|
+
and provider availability report `projectScope: file-closure`.
|
|
265
|
+
|
|
266
|
+
### Second-repository review: layering, facades, stubs, and configuration entry points
|
|
267
|
+
|
|
268
|
+
- A member that calls another member of its twin cluster leaves the cluster
|
|
269
|
+
before pairing, so a facade method no longer pairs with its near-name
|
|
270
|
+
siblings either; the delegation check follows one re-export hop, so a
|
|
271
|
+
caller importing through a barrel is recognized. A thin forwarder whose
|
|
272
|
+
single call has a different name than its own (a web client calling
|
|
273
|
+
`apiClient.getData`, a vendor adapter) is a stub over its peer's concept,
|
|
274
|
+
not a twin of it. Overrides of one abstract member and key-qualified
|
|
275
|
+
lookup members (`getBySlug`, `findByEmail`) on unrelated classes are
|
|
276
|
+
convention, not drift.
|
|
277
|
+
- A class whose methods forward to members of several collaborators is a
|
|
278
|
+
composed-service facade even when no single collaborator receives three
|
|
279
|
+
forwards. A body of the form `return handler(async () => {...})(req, res,
|
|
280
|
+
next)` is a curried handler, not a literal passthrough.
|
|
281
|
+
- A wrapper forwarding through a module-private variable
|
|
282
|
+
(`return loadedLanguages.has(lang)`) is a boundary signal: inlining it
|
|
283
|
+
would export the state it hides.
|
|
284
|
+
- Rendered extraction regions grow to element boundaries: a region cut
|
|
285
|
+
inside a JSX element now reaches its closing tag or, when it only
|
|
286
|
+
straddles two elements, fails the size rules instead of reporting a
|
|
287
|
+
fragment. Growth stops at the function's own `return`, and the candidate's
|
|
288
|
+
region is the largest extractable one rather than the largest one, so a
|
|
289
|
+
smaller signal-tier region beside a region that holds the function's
|
|
290
|
+
return is the advice.
|
|
291
|
+
- Concise arrow bodies are read past braces in parameter types and type
|
|
292
|
+
arguments (`(x) => client.patchData<{ ok: true }>(x)`), so arrow-function
|
|
293
|
+
wrappers, twins, and duplicate bodies see the real body. A file of
|
|
294
|
+
wrappers that all forward through one receiver (a copy catalog, a client
|
|
295
|
+
object) is a facade over it and its wrappers are signal tier.
|
|
296
|
+
- Co-change findings carry an action tier. Pairs whose shared commits were
|
|
297
|
+
only broad sweeps, stale pairs with at most two focused co-changes, and
|
|
298
|
+
configuration, schema, documentation, or generated partners are signal
|
|
299
|
+
tier and no longer count toward the hidden-coupling score.
|
|
300
|
+
- Source files a root configuration names by path (`next.config.js`
|
|
301
|
+
`images.loaderFile`, a `package.json` script running `src/scripts/x.ts`)
|
|
302
|
+
are entry surfaces: their exports are invoked by the framework or tool,
|
|
303
|
+
not dead.
|
|
304
|
+
- `duplicate-bodies --json` no longer prints policy-exclusion lines into
|
|
305
|
+
the JSON document or export file; they remain in human output.
|
|
306
|
+
- Label sets for dead code, similar pairs, stale abstractions, complexity
|
|
307
|
+
hotspots, large components, and co-change on Launchpoint, and for twin
|
|
308
|
+
drift, wrappers, passthroughs, and extraction on Vega, live under
|
|
309
|
+
`docs/validation/labels/`.
|
|
310
|
+
|
|
311
|
+
### Human output redirected to a file is complete
|
|
312
|
+
|
|
313
|
+
- When stdout is a regular file (`scip-query health --full > report.txt`),
|
|
314
|
+
human output is written in full. Page cursors remain for terminals and
|
|
315
|
+
pipes, where the reader is an agent whose context the page budget
|
|
316
|
+
protects from a client that truncates long tool results.
|
|
317
|
+
|
|
318
|
+
### Call sites the grammar wraps are no longer dropped
|
|
319
|
+
|
|
320
|
+
- `await client.getData<T>(...)` parses with the `await` bound to the member
|
|
321
|
+
expression, and `(a as B).run()`, `a!.run()`, and `(fn)()` wrap the target
|
|
322
|
+
the same way. The call-site extractor now reads through those wrappers,
|
|
323
|
+
so the occurrence and AST callee tiers see the call; source facts carry
|
|
324
|
+
a new payload version. Found by the Vega self-audit's one oracle-only edge.
|
|
325
|
+
|
|
326
|
+
### Evidence products keyed by build
|
|
327
|
+
|
|
328
|
+
- File and project evidence rows are keyed by the running build's digest
|
|
329
|
+
as well as their payload version, and rows another build wrote are pruned
|
|
330
|
+
when the cache opens. A development build with changed analysis logic
|
|
331
|
+
never reads a previous build's rows; compiler-derived callee and reference
|
|
332
|
+
rows keep their schema-only keys.
|
|
333
|
+
|
|
334
|
+
### Dependency cycles classified by component content
|
|
335
|
+
|
|
336
|
+
- A cyclic component is classified by what remains after its barrels,
|
|
337
|
+
tests, and entry files are removed: if the product files still cycle,
|
|
338
|
+
that cycle is the finding and its witness is reported; if not, the
|
|
339
|
+
component only cycles through module bookkeeping. Previously the
|
|
340
|
+
verdict followed one witness path, which could run through a barrel that
|
|
341
|
+
a genuine product cycle sat beside.
|
|
342
|
+
|
|
343
|
+
### Wrapper, passthrough, and twin-drift findings reviewed against source
|
|
344
|
+
|
|
345
|
+
- A wrapper is `forwarding`-shaped only when its body is exactly one call
|
|
346
|
+
with plain-value arguments; a preparatory statement, a callback, a nested
|
|
347
|
+
call, or a literal the body builds now makes it a helper (signal tier, not
|
|
348
|
+
counted by health). The two-statement allowance had classified computed
|
|
349
|
+
keys, reductions, and two-step operations as inline advice.
|
|
350
|
+
- Boundary-term evidence for wrappers and passthroughs reads owner-qualified
|
|
351
|
+
leaf names (`BaseLogger log`) instead of path-qualified short names, so a
|
|
352
|
+
directory both sides live in (`lib/auth/`, `social-providers/`) no longer
|
|
353
|
+
reads as a boundary while an enclosing class still counts, and a term
|
|
354
|
+
present on both sides (`toBaseRate` forwarding to `parseBaseRate`) is
|
|
355
|
+
shared vocabulary rather than a reason to demote the finding.
|
|
356
|
+
- A twin-drift member that calls its same-name counterpart (an operations
|
|
357
|
+
function over its use-case, a component over the function it renders)
|
|
358
|
+
is a layer, not a parallel implementation; the delegation exclusion no
|
|
359
|
+
longer requires the caller to be a thin forwarder, and an aliased import
|
|
360
|
+
of the counterpart counts only under its alias.
|
|
361
|
+
- Reviewed label sets for the three detectors on `launchpoint-backend`
|
|
362
|
+
live under `docs/validation/labels/launchpoint-backend/`; the label
|
|
363
|
+
scorer understands the `direct | signal` tier vocabulary.
|
|
364
|
+
|
|
365
|
+
### The semantic worker loads one compiler project at a time
|
|
366
|
+
|
|
367
|
+
- Compiler projects are built lazily: a tsconfig's project exists only once a
|
|
368
|
+
request needs one of its files, files are routed to the tsconfig that
|
|
369
|
+
lists them, and a project that was never asked for costs nothing. The
|
|
370
|
+
semantic worker now carries the same soft-memory retirement mark as the
|
|
371
|
+
index worker, restarts once after a failure, and a batch whose worker died
|
|
372
|
+
of memory is retried as file halves down to single files before the
|
|
373
|
+
service counts as failed. Worker heaps are sized to the indexed document
|
|
374
|
+
count, capped by physical memory or the container's cgroup limit,
|
|
375
|
+
whichever is lower.
|
|
376
|
+
|
|
377
|
+
### Self-audit distinguishes what the compiler cannot see
|
|
378
|
+
|
|
379
|
+
- A cheap-path answer in a file outside every tsconfig (a test excluded from
|
|
380
|
+
the build config) is reported as outside oracle coverage rather than as a
|
|
381
|
+
false positive, and precision is measured over the rest.
|
|
382
|
+
|
|
383
|
+
### Health report cache keyed by build
|
|
384
|
+
|
|
385
|
+
- The cache key carries a digest of the running entry bundle, so two builds
|
|
386
|
+
under one version string never serve each other's reports.
|
|
387
|
+
|
|
388
|
+
### Compiler callees resolve imported functions, and self-audit measures callee precision
|
|
389
|
+
|
|
390
|
+
- The compiler callee path bound an imported call to its import alias and then
|
|
391
|
+
looked for a definition at the import statement, so every cross-file call to
|
|
392
|
+
an imported function was dropped from the semantic callee product and from
|
|
393
|
+
the self-audit oracle. Aliases now resolve to their declaration; cached
|
|
394
|
+
compiler callees carry a new schema so they recompute.
|
|
395
|
+
- The compiler now also reports, per definition, how many call and render
|
|
396
|
+
sites it resolved inside the repository, resolved to a library or ambient
|
|
397
|
+
symbol, or could not bind at all. `self-audit` treats a definition with no
|
|
398
|
+
unbound site as a complete oracle and measures callee and render precision
|
|
399
|
+
over those symbols; a cheap-only answer next to a partial oracle stays
|
|
400
|
+
unverified. Scores report `completeOracleSymbols`.
|
|
401
|
+
|
|
402
|
+
### Whole-project semantic passes stay inside memory
|
|
403
|
+
|
|
404
|
+
- `extract-candidates --full` (and every other full-mode semantic pass) sent
|
|
405
|
+
the whole candidate set to the semantic service in one request; on a large
|
|
406
|
+
repository the service's worker died at its heap limit and the command then
|
|
407
|
+
loaded the compiler in-process and died at its own. Bulk callee requests are
|
|
408
|
+
now sent in bounded per-file batches, a service failure on a large index
|
|
409
|
+
disables semantic enrichment for the run instead of loading the compiler
|
|
410
|
+
in-process (with a stderr notice), a service that merely lacks a request
|
|
411
|
+
kind keeps serving the others, and the service sizes its compiler worker
|
|
412
|
+
heaps from the indexed document count with a machine-memory ceiling.
|
|
413
|
+
Decoded occurrence data is held in a bounded cache instead of per run.
|
|
414
|
+
|
|
415
|
+
### Extraction candidates require a real block and stay out of control flow
|
|
416
|
+
|
|
417
|
+
- A region must span eight lines, and a region holding a `return` statement
|
|
418
|
+
of the function itself is support tier: it is the function's control flow,
|
|
419
|
+
not a helper. Exclusive call spans inside one multi-line statement (a
|
|
420
|
+
fluent query chain, a large literal) now form one region, since a region
|
|
421
|
+
never cuts through a statement; rendered subtrees keep the proximity rule
|
|
422
|
+
because a subtree is a legitimate cut inside a `return`. A reviewed
|
|
423
|
+
Launchpoint label set
|
|
424
|
+
(`docs/validation/labels/launchpoint-backend/extract-candidates.json`)
|
|
425
|
+
scores against the current output.
|
|
426
|
+
|
|
427
|
+
### Carried publications keep the deferred-companion marker
|
|
428
|
+
|
|
429
|
+
- A publication that carried every language shard rewrote the metadata
|
|
430
|
+
without the `scipCompanion` marker while its publication record still said
|
|
431
|
+
`deferred`; the marker is now carried from the accepted generation.
|
|
432
|
+
|
|
433
|
+
### Health reports name the input they were computed from
|
|
434
|
+
|
|
435
|
+
- `health` now records provenance: the immutable index generation identity
|
|
436
|
+
(with its publication time and mode when the generation store has them),
|
|
437
|
+
the git HEAD, branch, and uncommitted-path count, and the computation time.
|
|
438
|
+
The text report prints it as an `Input:` line under the file and symbol
|
|
439
|
+
counts; `health --json` carries it as `provenance`. Two reports whose
|
|
440
|
+
provenance differs were computed from different inputs, which the file and
|
|
441
|
+
symbol counts alone could not show.
|
|
442
|
+
|
|
443
|
+
### Incremental TypeScript refresh survives a reused-shard publication
|
|
444
|
+
|
|
445
|
+
- A publication that reused the TypeScript shard (only non-TypeScript inputs
|
|
446
|
+
changed) advances the project snapshot without writing a new overlay, so
|
|
447
|
+
the next TypeScript edit looked for an overlay named by the new snapshot,
|
|
448
|
+
found nothing, and every refresh failed with "deferred TypeScript SCIP
|
|
449
|
+
base has no matching overlay generation" until an explicit
|
|
450
|
+
`--allow-expensive-rebuild`. The incremental planner now bases the next
|
|
451
|
+
overlay on the overlay generation the accepted publication carries, which
|
|
452
|
+
is the overlay that exists.
|
|
453
|
+
|
|
454
|
+
### Extraction candidates are exclusive regions, not line coincidences
|
|
455
|
+
|
|
456
|
+
- `extract-candidates` now reports contiguous line ranges whose callees are
|
|
457
|
+
used nowhere else in the function, grown over the enclosing block's opener
|
|
458
|
+
and closer, and only when the range is at least five lines, at most three
|
|
459
|
+
quarters of the body, and leaves the rest of the function with callees of
|
|
460
|
+
its own. Callees used across the body (loggers, translators) are reported
|
|
461
|
+
as ambient instead of gluing every region together. When the indexer
|
|
462
|
+
emitted local-symbol occurrences, each region lists the bindings an
|
|
463
|
+
extraction would take as parameters and hand back. The previous
|
|
464
|
+
implementation keyed callee co-occurrence on a source line, so its
|
|
465
|
+
"clusters" were names sharing one line and its isolation score was always
|
|
466
|
+
100%; `ExtractCandidate.clusters` is replaced by `regions` and the kinds
|
|
467
|
+
are now `call-region` and `render-region`.
|
|
468
|
+
|
|
469
|
+
### Callee edges start from the indexer's own bindings
|
|
470
|
+
|
|
471
|
+
- The cheap callee path now reads the compiler-resolved occurrence the index
|
|
472
|
+
already stores for each call line before falling back to leaf-name
|
|
473
|
+
resolution. Member calls through typed receivers (`this.service.method()`)
|
|
474
|
+
resolve exactly, and a call the indexer bound to a library or ambient symbol
|
|
475
|
+
is no longer guessed onto a same-named repository function. Occurrences are
|
|
476
|
+
decoded per file from the chunk blobs, so no query loads the whole SCIP
|
|
477
|
+
artifact. `CalleeRow.source` gains `scip-occurrence`, `graph` prints it as
|
|
478
|
+
`O`, and `self-audit` reports cheap rows by evidence source. On a NestJS +
|
|
479
|
+
Next.js monorepo, callee recall against the compiler moved from 0.29 to 0.98.
|
|
480
|
+
|
|
481
|
+
### Eight judgment skills restored to the bundled suite
|
|
482
|
+
|
|
483
|
+
- `install-skills` and `setup` now also link `principal-maintainability-review`,
|
|
484
|
+
`scip-system-compression`, `scip-root-cause`, `scip-claim-audit`,
|
|
485
|
+
`scip-probe-reachability`, `scip-twin-drift`, `scip-calibrate`, and
|
|
486
|
+
`conductor` into Claude Code, Codex, and the shared agent root. Each is the
|
|
487
|
+
last full version from this repository's history, ported to the current
|
|
488
|
+
command surface: retired `diff-gate`, `cleanup-apply`, `plan-context`,
|
|
489
|
+
`effectiveness`, and `symbols` references are replaced with `diff-impact`,
|
|
490
|
+
`architecture`, `outline`, and the standalone detectors, and every
|
|
491
|
+
`metadata.commands` template validates against the live descriptors.
|
|
492
|
+
- The repo-local `.agents/skills/principal-maintainability-review` and
|
|
493
|
+
`.agents/skills/scip-system-compression` stubs are removed; the bundled
|
|
494
|
+
skills supersede them.
|
|
6
495
|
|
|
7
496
|
## [0.23.0]
|
|
8
497
|
|
|
@@ -256,7 +745,7 @@ All notable changes to `scip-query` are documented here. This file starts at 0.1
|
|
|
256
745
|
in-process. When more than 256 files have cold fragments and no watch
|
|
257
746
|
service is running, the semantic consumer tier is reported as failed with
|
|
258
747
|
the remedy (`scip-query health --full` once, or `scip-query watch
|
|
259
|
-
|
|
748
|
+
--daemon`) and the source-fallback tier still runs; on a 7,800-file
|
|
260
749
|
repository the in-process computation took longer than the 10-minute batch
|
|
261
750
|
budget while the service or the prewarm warms the same rows in the
|
|
262
751
|
background. With warm fragments the same diff-impact takes seconds.
|