scip-query 0.15.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -1
- package/README.md +148 -66
- package/dist/augment-vue-worker.js +1 -1
- package/dist/chunk-2EU6WVR3.js +3 -0
- package/dist/chunk-2HFXPIBT.js +2 -0
- package/dist/chunk-2LGPMYS2.js +35 -0
- package/dist/chunk-2Y7YX54K.js +16 -0
- package/dist/chunk-363TZ64I.js +2 -0
- package/dist/chunk-3I34FZ6R.js +2 -0
- package/dist/chunk-3LAKH6BV.js +2 -0
- package/dist/chunk-3M2UCPFS.js +3 -0
- package/dist/chunk-3OPIMH42.js +2 -0
- package/dist/{chunk-QZOAOLLZ.js → chunk-3YAZH3JU.js} +2 -2
- package/dist/chunk-5P26M63Y.js +2 -0
- package/dist/{chunk-72FR7KEZ.js → chunk-5TVNLPUM.js} +14 -12
- package/dist/chunk-5UKDCXVC.js +5 -0
- package/dist/{chunk-R7U2I55B.js → chunk-5XDNFOAH.js} +2 -2
- package/dist/chunk-62Y3PC27.js +4 -0
- package/dist/chunk-6DNE65QS.js +40 -0
- package/dist/{chunk-N2OTJWC2.js → chunk-6EVORGCB.js} +2 -2
- package/dist/chunk-6GZ7LM7S.js +2 -0
- package/dist/chunk-753JWTUH.js +3 -0
- package/dist/chunk-7II7NFRV.js +4 -0
- package/dist/{chunk-M7EEHYSU.js → chunk-7RAS466A.js} +2 -2
- package/dist/chunk-A46JTKTM.js +5 -0
- package/dist/{chunk-2XRXEIRK.js → chunk-AAMZRDJT.js} +2 -2
- package/dist/chunk-AMPN2VMF.js +3 -0
- package/dist/{chunk-6XA4LDHY.js → chunk-B3X6KU75.js} +2 -2
- package/dist/chunk-BFWVHD2P.js +16 -0
- package/dist/chunk-BVHP2B4D.js +61 -0
- package/dist/{chunk-BUNDZ6K2.js → chunk-BVUA3GZC.js} +2 -2
- package/dist/{chunk-EDSD3VJK.js → chunk-CKIAEVGM.js} +2 -2
- package/dist/chunk-CM4EZLW4.js +2 -0
- package/dist/chunk-CS3FXTUC.js +2 -0
- package/dist/chunk-CVBS2FD4.js +2 -0
- package/dist/chunk-D5OXYOJP.js +7 -0
- package/dist/chunk-DA34GNNO.js +29 -0
- package/dist/chunk-DKK2H4D7.js +7 -0
- package/dist/chunk-EBSSCVR4.js +5 -0
- package/dist/{chunk-OXTM2RX3.js → chunk-EVCSXWER.js} +2 -2
- package/dist/chunk-FFIYGYQR.js +67 -0
- package/dist/chunk-G4KQ7S74.js +20 -0
- package/dist/{chunk-44P4SJFN.js → chunk-GWWYLYD3.js} +2 -2
- package/dist/chunk-HGUNWXJX.js +2 -0
- package/dist/chunk-HLRWOFXC.js +9 -0
- package/dist/{chunk-YQKECTPV.js → chunk-IRIM3SUR.js} +2 -2
- package/dist/chunk-JHK2DMUQ.js +4 -0
- package/dist/chunk-JQ2PCFZW.js +3 -0
- package/dist/chunk-JRFCWCOD.js +16 -0
- package/dist/chunk-JXAJDINF.js +2 -0
- package/dist/chunk-K32ZOW3P.js +2 -0
- package/dist/{chunk-3H5OSDF7.js → chunk-KI4WPR7Q.js} +2 -2
- package/dist/{chunk-43GKP6LI.js → chunk-KP2DJY7D.js} +2 -2
- package/dist/{chunk-YTVKPJXW.js → chunk-L27UIF3E.js} +2 -2
- package/dist/chunk-LT6AHYVY.js +18 -0
- package/dist/chunk-MCNWCJYL.js +11 -0
- package/dist/{chunk-K6UI6EBZ.js → chunk-MZB3DTHW.js} +2 -2
- package/dist/chunk-NLRWGGPY.js +8 -0
- package/dist/chunk-NLVKD45E.js +13 -0
- package/dist/chunk-OO6S4ECV.js +112 -0
- package/dist/{chunk-QYOPMTZ6.js → chunk-OYGKBDAD.js} +2 -2
- package/dist/chunk-P5QZILZ4.js +2 -0
- package/dist/chunk-P5XHIJHI.js +2 -0
- package/dist/chunk-PCCMMI2M.js +3 -0
- package/dist/{chunk-2TPCIPYA.js → chunk-Q65QYKU7.js} +2 -2
- package/dist/{chunk-K7SPOJHZ.js → chunk-QB7NRST4.js} +2 -2
- package/dist/{chunk-7JZRFDCU.js → chunk-QSNG3NHQ.js} +2 -2
- package/dist/chunk-QVZSWLLZ.js +2 -0
- package/dist/chunk-RLB7FZKR.js +10 -0
- package/dist/{chunk-KYB7FPXT.js → chunk-RPMT6MTX.js} +2 -2
- package/dist/chunk-RQWNF2RM.js +2 -0
- package/dist/chunk-RYFIRFYJ.js +4 -0
- package/dist/{chunk-QARYU7R3.js → chunk-S2FZILCF.js} +2 -2
- package/dist/{chunk-HV27H2V2.js → chunk-S3IXCXW2.js} +2 -2
- package/dist/{chunk-TYCZ7S4I.js → chunk-S5MTSES5.js} +2 -2
- package/dist/chunk-S5RZQA6V.js +2 -0
- package/dist/{chunk-PEHDARNC.js → chunk-SEEJPIWG.js} +2 -2
- package/dist/chunk-SOCS3467.js +2 -0
- package/dist/chunk-U6BJVXWQ.js +2 -0
- package/dist/chunk-UO4IADXJ.js +38 -0
- package/dist/{chunk-ZEO4CXQR.js → chunk-VLSI5MYU.js} +2 -2
- package/dist/chunk-VSQRU3AP.js +2 -0
- package/dist/chunk-VYQY75NA.js +2 -0
- package/dist/{chunk-NOKUZU56.js → chunk-VZCR3VQY.js} +2 -2
- package/dist/chunk-W3ZVRLCH.js +2 -0
- package/dist/chunk-WA64GKWB.js +20 -0
- package/dist/chunk-WFRZGMWJ.js +71 -0
- package/dist/chunk-WN6XEYVX.js +2 -0
- package/dist/chunk-XAEU4ROB.js +101 -0
- package/dist/chunk-XBPAJASV.js +2 -0
- package/dist/{chunk-GY3HAWUA.js → chunk-XC6PUFNN.js} +2 -2
- package/dist/chunk-Y42DMR6F.js +6 -0
- package/dist/chunk-YCVYOV4A.js +7 -0
- package/dist/{chunk-WPZPB42I.js → chunk-YD37KSEK.js} +2 -2
- package/dist/{chunk-V5W7H7V4.js → chunk-YFEJIYWH.js} +2 -2
- package/dist/chunk-YSUD2S7T.js +3 -0
- package/dist/{chunk-KJCDEDQW.js → chunk-ZEKBAMCN.js} +2 -2
- package/dist/chunk-ZHGUZKJL.js +2 -0
- package/dist/cli.js +586 -312
- package/dist/{config-types-aCgyLrvE.d.ts → config-types-SVkUIufk.d.ts} +8 -2
- package/dist/{db-DwCdT3rv.d.ts → db-CS0TuVH6.d.ts} +1 -1
- package/dist/{git-history-Dao3_Pu9.d.ts → git-history-ChNHbfZQ.d.ts} +2 -1
- package/dist/{health-nJUidasZ.d.ts → health-Btal3mQi.d.ts} +4 -4
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1 -19
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/bottlenecks.d.ts +8 -2
- 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 +2 -2
- 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 +4 -3
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +2 -2
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +3 -3
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +5 -4
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +2 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +2 -2
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +2 -2
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +12 -3
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.d.ts +2 -2
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/deep-chains.d.ts +8 -3
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.d.ts +2 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-gate.d.ts +5 -4
- package/dist/queries/diff-gate.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 -2
- 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 +3 -3
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +11 -5
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +2 -2
- package/dist/queries/health.d.ts +3 -3
- 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 +2 -2
- 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 +3 -3
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +5 -5
- 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 +2 -2
- 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 +3 -3
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +4 -4
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +4 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +4 -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 +4 -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/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 +2 -2
- package/dist/queries/slice.js +1 -1
- 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 +2 -2
- 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.d.ts +2 -2
- 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 +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +2 -2
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.d.ts +2 -2
- 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/vue-component-duplicates.d.ts +4 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +4 -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/reindex-worker.js +256 -12
- package/dist/reindex.d.ts +29 -3
- package/dist/reindex.js +251 -22
- package/dist/runtime.d.ts +8 -4
- package/dist/runtime.js +2 -2
- package/dist/rust-semantic-session-server.js +2 -0
- package/dist/rust-semantic-session-worker.js +2 -0
- package/dist/rust-semantic-worker.js +2 -0
- package/dist/{scip-cli-DeAbuJ2b.d.ts → scip-cli-BKL-26TZ.d.ts} +2 -2
- package/dist/{symbol-types-DaoeXKUt.d.ts → symbol-types-BgWU6lhL.d.ts} +2 -0
- package/dist/watch-server.js +42 -0
- package/docs/AGENT_GUIDE.md +110 -34
- package/docs/AI_FAILURE_MODES.md +8 -3
- package/docs/COMMAND_REFERENCE.md +10 -6
- package/docs/REGEX_POLICY.md +3 -1
- package/docs/accuracy-audit-checklist.md +300 -0
- package/docs/accuracy-hardening-goal.md +493 -54
- package/docs/analyzer-inventory.md +31 -23
- package/docs/analyzer-validation-ledger.md +51 -21
- package/package.json +2 -1
- package/scripts/build-scip-windows.mjs +7 -7
- package/skills/_shared/SKILL.md +20 -19
- package/skills/scip-calibrate/SKILL.md +4 -2
- package/skills/scip-hyper-optimization/SKILL.md +5 -1
- package/skills/scip-query/SKILL.md +1 -1
- package/skills/scip-setup/SKILL.md +104 -4
- package/skills/scip-verify/SKILL.md +20 -14
- package/dist/chunk-27HMTUJE.js +0 -3
- package/dist/chunk-27XEGMCT.js +0 -7
- package/dist/chunk-3AMWF6V5.js +0 -3
- package/dist/chunk-4SCMYKD6.js +0 -2
- package/dist/chunk-5AAAEZ2Z.js +0 -2
- package/dist/chunk-5JRMZMLM.js +0 -2
- package/dist/chunk-5VY3RIEI.js +0 -38
- package/dist/chunk-6JUAGXR4.js +0 -4
- package/dist/chunk-6KDOYKCB.js +0 -40
- package/dist/chunk-6KMTPNZL.js +0 -3
- package/dist/chunk-7COVQPQQ.js +0 -9
- package/dist/chunk-7S5E7KWT.js +0 -2
- package/dist/chunk-7TVFPOD7.js +0 -102
- package/dist/chunk-A6KSEIRN.js +0 -61
- package/dist/chunk-AAMURYOK.js +0 -4
- package/dist/chunk-BP7S6V3M.js +0 -20
- package/dist/chunk-BRBF3E5X.js +0 -35
- package/dist/chunk-BZXE3HO4.js +0 -6
- package/dist/chunk-CXQQOXSI.js +0 -10
- package/dist/chunk-EVZSAR3S.js +0 -2
- package/dist/chunk-GMOEX7EV.js +0 -2
- package/dist/chunk-GNG622H3.js +0 -3
- package/dist/chunk-GUDKRIGW.js +0 -7
- package/dist/chunk-GULVO6NF.js +0 -43
- package/dist/chunk-HZZQKNVE.js +0 -2
- package/dist/chunk-I4R3SNMR.js +0 -2
- package/dist/chunk-IMQFJ53K.js +0 -2
- package/dist/chunk-ISLWJ4PY.js +0 -10
- package/dist/chunk-IUSSGHJO.js +0 -2
- package/dist/chunk-J5WVNZ6O.js +0 -2
- package/dist/chunk-JJUX2OAP.js +0 -2
- package/dist/chunk-JZBGTSAB.js +0 -13
- package/dist/chunk-K5N5RNGM.js +0 -2
- package/dist/chunk-KSJ544IV.js +0 -5
- package/dist/chunk-LY7NMOBW.js +0 -2
- package/dist/chunk-N23FT4EZ.js +0 -2
- package/dist/chunk-NCVFKOLB.js +0 -2
- package/dist/chunk-PESEPWZO.js +0 -2
- package/dist/chunk-PMY4UFGV.js +0 -2
- package/dist/chunk-Q7PWDXL5.js +0 -5
- package/dist/chunk-QVGFVRKD.js +0 -2
- package/dist/chunk-R5336VHZ.js +0 -2
- package/dist/chunk-RLB6SG25.js +0 -2
- package/dist/chunk-SFDVBARK.js +0 -2
- package/dist/chunk-TG7QSYCJ.js +0 -2
- package/dist/chunk-UHPWZCYQ.js +0 -3
- package/dist/chunk-URSSPS5H.js +0 -2
- package/dist/chunk-WIBFXSYB.js +0 -6
- package/dist/chunk-WMO2VZZK.js +0 -3
- package/dist/chunk-WS3Z6W3M.js +0 -65
- package/dist/chunk-X3DTIEMU.js +0 -18
- package/dist/chunk-X5C43YVI.js +0 -2
- package/dist/chunk-X7CHWTZ2.js +0 -72
- package/dist/chunk-XDESMVOL.js +0 -4
- package/dist/chunk-XZBLZHXL.js +0 -16
- package/dist/chunk-YBGC7HTY.js +0 -3
- package/dist/chunk-ZMGBWSFZ.js +0 -2
package/docs/AGENT_GUIDE.md
CHANGED
|
@@ -14,17 +14,39 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
|
|
|
14
14
|
### Steps
|
|
15
15
|
|
|
16
16
|
1. **Run setup**
|
|
17
|
+
|
|
17
18
|
```bash
|
|
18
19
|
scip-query setup --json
|
|
19
20
|
```
|
|
20
|
-
|
|
21
|
+
|
|
22
|
+
Returns: detected languages, automatic-indexing config and live service
|
|
23
|
+
state, Rust semantic transport/fallback state, indexer readiness,
|
|
24
|
+
remediation attempts, index result, capability summary, project-local hook
|
|
25
|
+
install state, smoke tests, health score, issue list, health dossier paths,
|
|
26
|
+
and setup verdict. A project with no watch decision is enabled; an existing
|
|
27
|
+
explicit `watch.enabled: false` is preserved. Use `scip-query setup --guided`
|
|
28
|
+
for a recommended automatic-indexing choice, or
|
|
29
|
+
`scip-query setup --no-hooks --json` when the repo should not write Codex or
|
|
30
|
+
Claude Code lifecycle hooks.
|
|
31
|
+
|
|
32
|
+
Setup reports three change scopes. Repository records are shared project
|
|
33
|
+
facts and history that must survive clones, so commit `.scipquery.json`,
|
|
34
|
+
managed AGENTS/CLAUDE guidance, health dossiers,
|
|
35
|
+
`.scipquery/suppressions/*.json`, and `.scipquery/ledger/` when setup or a
|
|
36
|
+
gate run changes them. Checkout preferences configure only one clone, so do
|
|
37
|
+
not commit `.codex/hooks.json` or `.claude/settings.local.json`; setup keeps
|
|
38
|
+
them out of Git through `.git/info/exclude`. User-environment changes install
|
|
39
|
+
skills or indexers for the current machine. Use `setup --guided` to answer
|
|
40
|
+
each repository, checkout, or user-scope question separately.
|
|
21
41
|
|
|
22
42
|
2. **Resolve blockers**
|
|
43
|
+
|
|
23
44
|
```bash
|
|
24
45
|
scip-query doctor
|
|
25
46
|
scip-query status --json
|
|
26
47
|
scip-query capabilities --matrix
|
|
27
48
|
```
|
|
49
|
+
|
|
28
50
|
`doctor` is the human diagnostic. `status --json` is the machine-readable freshness/config surface. `check-deps` and `capability-matrix` remain compatibility aliases, but new workflows should prefer `doctor`, `status`, and `capabilities --matrix`.
|
|
29
51
|
|
|
30
52
|
3. **Start health follow-through**
|
|
@@ -50,33 +72,43 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
|
|
|
50
72
|
### Steps
|
|
51
73
|
|
|
52
74
|
1. **Map the module**
|
|
75
|
+
|
|
53
76
|
```bash
|
|
54
77
|
scip-query system <module-path>
|
|
55
78
|
```
|
|
79
|
+
|
|
56
80
|
Returns: all files in the module, all exported symbols with line ranges, all inbound and outbound dependencies. This is your starting map.
|
|
57
81
|
|
|
58
82
|
2. **Understand the public contract**
|
|
83
|
+
|
|
59
84
|
```bash
|
|
60
85
|
scip-query surface <module-path>
|
|
61
86
|
```
|
|
87
|
+
|
|
62
88
|
Returns: which symbols external consumers actually reference. This is the true public API — not what's exported, but what's used. Any change to these symbols is a breaking change.
|
|
63
89
|
|
|
64
90
|
3. **Trace specific symbols**
|
|
91
|
+
|
|
65
92
|
```bash
|
|
66
93
|
scip-query trace <symbol-name>
|
|
67
94
|
```
|
|
95
|
+
|
|
68
96
|
Returns: where the symbol is defined (file + line range + signature) and every file that references it. Use this for any symbol you need to understand deeply.
|
|
69
97
|
|
|
70
98
|
4. **Map the call graph**
|
|
99
|
+
|
|
71
100
|
```bash
|
|
72
101
|
scip-query call-graph <function-name>
|
|
73
102
|
```
|
|
103
|
+
|
|
74
104
|
Returns: what calls this function (incoming) and what this function calls (outgoing). Gives you the function's role in the execution flow.
|
|
75
105
|
|
|
76
106
|
5. **Check blast radius**
|
|
107
|
+
|
|
77
108
|
```bash
|
|
78
109
|
scip-query affected <symbol-name>
|
|
79
110
|
```
|
|
111
|
+
|
|
80
112
|
Returns: the full transitive closure of symbols that could break if this symbol changes. Depth 1 = direct consumers. Depth 2 = consumers of consumers. Shows the complete ripple effect.
|
|
81
113
|
|
|
82
114
|
6. **Pre-change briefing**
|
|
@@ -102,38 +134,48 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
|
|
|
102
134
|
### Steps
|
|
103
135
|
|
|
104
136
|
1. **Map the target area**
|
|
137
|
+
|
|
105
138
|
```bash
|
|
106
139
|
scip-query system <module-path>
|
|
107
140
|
scip-query outline <each-file-you-will-modify>
|
|
108
141
|
```
|
|
142
|
+
|
|
109
143
|
Get the structural outline with line ranges for every file in scope. Add `--signatures` only when type details are useful.
|
|
110
144
|
|
|
111
145
|
2. **Identify the public contract you must preserve**
|
|
146
|
+
|
|
112
147
|
```bash
|
|
113
148
|
scip-query surface <module-path>
|
|
114
149
|
```
|
|
150
|
+
|
|
115
151
|
Any symbol that appears here must maintain backward compatibility or all consumers must be updated.
|
|
116
152
|
|
|
117
153
|
3. **Map every symbol you plan to change**
|
|
154
|
+
|
|
118
155
|
```bash
|
|
119
156
|
scip-query refs <symbol> # who uses it
|
|
120
157
|
scip-query affected <symbol> # transitive blast radius
|
|
121
158
|
scip-query fan-in <symbol> # quantified consumer count
|
|
122
159
|
```
|
|
160
|
+
|
|
123
161
|
For each symbol you'll modify: know exactly who consumes it and how many layers deep the impact goes.
|
|
124
162
|
|
|
125
163
|
4. **Check blast radius before editing**
|
|
164
|
+
|
|
126
165
|
```bash
|
|
127
166
|
scip-query change-surface <file>
|
|
128
167
|
scip-query diff-impact --json
|
|
129
168
|
```
|
|
169
|
+
|
|
130
170
|
Identify which symbols in your change set have many external consumers and which downstream files will be affected.
|
|
131
171
|
|
|
132
172
|
5. **Find reusable code**
|
|
173
|
+
|
|
133
174
|
```bash
|
|
134
175
|
scip-query similar <symbol-you-plan-to-write>
|
|
135
176
|
scip-query deps <file>
|
|
136
177
|
```
|
|
178
|
+
|
|
137
179
|
Before writing new code, check if something similar already exists. `similar` finds functions with overlapping callee patterns. `deps` shows what the file already imports that you can reuse.
|
|
138
180
|
|
|
139
181
|
6. **After making changes, verify impact**
|
|
@@ -181,68 +223,90 @@ For analyzer implementation work, follow [Regex Policy](REGEX_POLICY.md): regex
|
|
|
181
223
|
Numeric thresholds below are recommended starting points for review sessions; command defaults may differ.
|
|
182
224
|
|
|
183
225
|
1. **Get the full health report**
|
|
226
|
+
|
|
184
227
|
```bash
|
|
185
228
|
scip-query health
|
|
186
229
|
```
|
|
230
|
+
|
|
187
231
|
This runs every analysis and produces a prioritized action list. Start here. The actions are sorted by impact/effort ratio — do the top ones first.
|
|
188
232
|
|
|
189
233
|
2. **Review dead-code candidates**
|
|
234
|
+
|
|
190
235
|
```bash
|
|
191
236
|
scip-query dead --min-loc 10 --skip-barrels
|
|
192
237
|
```
|
|
193
|
-
|
|
238
|
+
|
|
239
|
+
`dead-code` rows have no repository consumer after test references, declared package exports, framework entrypoints, and language contracts are considered. `file-internal` rows have same-file use but no cross-file consumer and are contextual, not deletion claims. Confirm deletion candidates with `cleanup-plan --verify`. `--skip-barrels` ignores references from inactive barrel files without hiding live package entry surfaces.
|
|
194
240
|
|
|
195
241
|
3. **Delete isolated symbols**
|
|
242
|
+
|
|
196
243
|
```bash
|
|
197
244
|
scip-query isolated --min-loc 5
|
|
198
245
|
```
|
|
246
|
+
|
|
199
247
|
Stricter than `dead` — these symbols have zero references anywhere, including in their own file. Completely disconnected from the codebase.
|
|
200
248
|
|
|
201
249
|
4. **Break circular dependencies**
|
|
250
|
+
|
|
202
251
|
```bash
|
|
203
252
|
scip-query cycles
|
|
204
253
|
```
|
|
254
|
+
|
|
205
255
|
If any exist, they need structural fixes: dependency inversion, module splitting, or interface extraction.
|
|
206
256
|
|
|
207
257
|
5. **Consolidate similar functions**
|
|
258
|
+
|
|
208
259
|
```bash
|
|
209
260
|
scip-query similar --min-similarity 0.5
|
|
210
261
|
```
|
|
262
|
+
|
|
211
263
|
Pairs of functions with overlapping callee sets. For each pair:
|
|
264
|
+
|
|
212
265
|
```bash
|
|
213
266
|
scip-query convergence <symbol1> <symbol2>
|
|
214
267
|
```
|
|
268
|
+
|
|
215
269
|
Shows what the consolidated version would look like: shared callees = common body, unique callees = parameterization points.
|
|
216
270
|
|
|
217
271
|
6. **Extract large functions**
|
|
272
|
+
|
|
218
273
|
```bash
|
|
219
274
|
scip-query extract-candidates --min-loc 20
|
|
220
275
|
```
|
|
276
|
+
|
|
221
277
|
Functions with isolated callee clusters — natural "Extract Method" seams.
|
|
222
278
|
|
|
223
279
|
7. **Remove unnecessary indirection**
|
|
280
|
+
|
|
224
281
|
```bash
|
|
225
282
|
scip-query wrapper-candidates
|
|
226
283
|
scip-query passthrough-candidates
|
|
227
284
|
```
|
|
285
|
+
|
|
228
286
|
Wrappers: single-consumer symbols that can be inlined. Passthroughs: functions that just forward to one callee.
|
|
229
287
|
|
|
230
288
|
8. **Prune premature abstractions**
|
|
289
|
+
|
|
231
290
|
```bash
|
|
232
291
|
scip-query stale-abstractions
|
|
233
292
|
```
|
|
293
|
+
|
|
234
294
|
Types and interfaces with 0-1 consumers. An interface with one implementation isn't an abstraction.
|
|
235
295
|
|
|
236
296
|
9. **Fix pattern drift**
|
|
297
|
+
|
|
237
298
|
```bash
|
|
238
299
|
scip-query drift --patterns
|
|
239
300
|
```
|
|
301
|
+
|
|
240
302
|
Files that deviate from their directory's typical dependency pattern. Bring them into line with their neighbors. `--patterns` is opt-in (off by default since 21.2 calibration found this channel low-precision at scale) — treat hits as leads to confirm, not findings.
|
|
241
303
|
|
|
242
304
|
10. **Remove redundant re-exports**
|
|
305
|
+
|
|
243
306
|
```bash
|
|
244
307
|
scip-query redundant-reexports
|
|
245
308
|
```
|
|
309
|
+
|
|
246
310
|
Barrel file entries that nobody imports through. Clean up the barrel.
|
|
247
311
|
|
|
248
312
|
11. **Find same-shape functions**
|
|
@@ -253,16 +317,16 @@ Numeric thresholds below are recommended starting points for review sessions; co
|
|
|
253
317
|
|
|
254
318
|
### Priority order
|
|
255
319
|
|
|
256
|
-
| Priority | What
|
|
257
|
-
|
|
258
|
-
| 1
|
|
259
|
-
| 2
|
|
260
|
-
| 3
|
|
261
|
-
| 4
|
|
262
|
-
| 5
|
|
263
|
-
| 6
|
|
264
|
-
| 7
|
|
265
|
-
| 8
|
|
320
|
+
| Priority | What | Why |
|
|
321
|
+
| -------- | ----------------------- | ----------------------------------------------------------- |
|
|
322
|
+
| 1 | Dead code | High-confidence deletion candidates; verify before deleting |
|
|
323
|
+
| 2 | Isolated symbols | Zero indexed consumers; verify before deleting |
|
|
324
|
+
| 3 | Circular deps | Structural fix, prevents future problems |
|
|
325
|
+
| 4 | Similar functions | Reduces duplication, use `convergence` for prescription |
|
|
326
|
+
| 5 | Extraction candidates | Reduces function complexity |
|
|
327
|
+
| 6 | Wrappers / passthroughs | Removes unnecessary indirection |
|
|
328
|
+
| 7 | Stale abstractions | Removes premature over-engineering |
|
|
329
|
+
| 8 | Pattern drift | Consistency improvement |
|
|
266
330
|
|
|
267
331
|
---
|
|
268
332
|
|
|
@@ -273,27 +337,34 @@ Numeric thresholds below are recommended starting points for review sessions; co
|
|
|
273
337
|
### Steps
|
|
274
338
|
|
|
275
339
|
1. **Overall health**
|
|
340
|
+
|
|
276
341
|
```bash
|
|
277
342
|
scip-query health
|
|
278
343
|
scip-query health --json # for programmatic use
|
|
279
344
|
```
|
|
280
345
|
|
|
281
346
|
2. **Complexity risks**
|
|
347
|
+
|
|
282
348
|
```bash
|
|
283
349
|
scip-query complexity-hotspots -n 20
|
|
284
350
|
```
|
|
351
|
+
|
|
285
352
|
Symbols with the highest composite score (LOC x fan-in x fan-out). These are the most likely to contain bugs and the hardest to modify.
|
|
286
353
|
|
|
287
354
|
3. **Coupling risks**
|
|
355
|
+
|
|
288
356
|
```bash
|
|
289
357
|
scip-query bottlenecks -n 20
|
|
290
358
|
```
|
|
359
|
+
|
|
291
360
|
Symbols with both high fan-in (many consumers) AND high fan-out (many dependencies). Changes to these are risky in both directions.
|
|
292
361
|
|
|
293
362
|
4. **Architecture depth**
|
|
363
|
+
|
|
294
364
|
```bash
|
|
295
365
|
scip-query deep-chains --min-depth 5
|
|
296
366
|
```
|
|
367
|
+
|
|
297
368
|
Long transitive dependency chains. If chains are deeper than 6-7, the architecture may need flattening.
|
|
298
369
|
|
|
299
370
|
5. **Structural drift**
|
|
@@ -335,15 +406,19 @@ Numeric thresholds below are recommended starting points for review sessions; co
|
|
|
335
406
|
### Steps
|
|
336
407
|
|
|
337
408
|
1. **Compute diff impact**
|
|
409
|
+
|
|
338
410
|
```bash
|
|
339
411
|
scip-query diff-impact --json
|
|
340
412
|
```
|
|
413
|
+
|
|
341
414
|
Shows: changed files, changed symbols with fan-in counts, and affected consumer files.
|
|
342
415
|
|
|
343
416
|
2. **Check transitive impact for critical symbols**
|
|
417
|
+
|
|
344
418
|
```bash
|
|
345
419
|
scip-query affected <changed-symbol>
|
|
346
420
|
```
|
|
421
|
+
|
|
347
422
|
For any high fan-in symbol that changed, check the full transitive blast wave.
|
|
348
423
|
|
|
349
424
|
3. **Re-check structural drift around the changed area**
|
|
@@ -357,28 +432,29 @@ Numeric thresholds below are recommended starting points for review sessions; co
|
|
|
357
432
|
|
|
358
433
|
## Quick Reference
|
|
359
434
|
|
|
360
|
-
| I want to...
|
|
361
|
-
|
|
362
|
-
| Understand a module
|
|
363
|
-
| See what consumers actually use
|
|
364
|
-
| Find all references to a symbol
|
|
365
|
-
| See what a function calls and who calls it | `call-graph <symbol>`
|
|
366
|
-
| Check blast radius of a change
|
|
367
|
-
| Get a pre-change briefing
|
|
368
|
-
| See impact of my git changes
|
|
369
|
-
| Find dead code to delete
|
|
370
|
-
| Find duplicate functions
|
|
371
|
-
| Find same-shape functions
|
|
372
|
-
| Get a refactoring prescription
|
|
373
|
-
| Find redundant barrel re-exports
|
|
374
|
-
| Find extraction opportunities
|
|
375
|
-
| Find unnecessary wrappers
|
|
376
|
-
| Find single-implementation types
|
|
377
|
-
| Find pattern outliers
|
|
378
|
-
| Get overall codebase health
|
|
379
|
-
| Find riskiest symbols
|
|
380
|
-
| Find coupling pressure points
|
|
381
|
-
| Find circular dependencies
|
|
435
|
+
| I want to... | Run |
|
|
436
|
+
| ------------------------------------------ | ----------------------------------- |
|
|
437
|
+
| Understand a module | `system <module>` |
|
|
438
|
+
| See what consumers actually use | `surface <module>` |
|
|
439
|
+
| Find all references to a symbol | `refs <symbol>` or `trace <symbol>` |
|
|
440
|
+
| See what a function calls and who calls it | `call-graph <symbol>` |
|
|
441
|
+
| Check blast radius of a change | `affected <symbol>` |
|
|
442
|
+
| Get a pre-change briefing | `change-surface <file>` |
|
|
443
|
+
| See impact of my git changes | `diff-impact --json` |
|
|
444
|
+
| Find dead code to delete | `dead --min-loc 10 --skip-barrels` |
|
|
445
|
+
| Find duplicate functions | `similar --min-similarity 0.5` |
|
|
446
|
+
| Find same-shape functions | `similar-signatures --min-loc 5` |
|
|
447
|
+
| Get a refactoring prescription | `convergence <sym1> <sym2>` |
|
|
448
|
+
| Find redundant barrel re-exports | `redundant-reexports` |
|
|
449
|
+
| Find extraction opportunities | `extract-candidates --min-loc 20` |
|
|
450
|
+
| Find unnecessary wrappers | `wrapper-candidates` |
|
|
451
|
+
| Find single-implementation types | `stale-abstractions` |
|
|
452
|
+
| Find pattern outliers | `drift` |
|
|
453
|
+
| Get overall codebase health | `health` |
|
|
454
|
+
| Find riskiest symbols | `complexity-hotspots` |
|
|
455
|
+
| Find coupling pressure points | `bottlenecks` |
|
|
456
|
+
| Find circular dependencies | `cycles` |
|
|
457
|
+
|
|
382
458
|
---
|
|
383
459
|
|
|
384
460
|
## Tips for AI Agents
|
package/docs/AI_FAILURE_MODES.md
CHANGED
|
@@ -253,9 +253,10 @@ The detectors only help if they run. Three layers, in increasing strength:
|
|
|
253
253
|
**1. Skills and lifecycle hooks (routing).** Installing scip-query symlinks the
|
|
254
254
|
bundled skills into `~/.agents/skills/`, `~/.claude/skills/`, and
|
|
255
255
|
`~/.codex/skills/` — they update automatically with the package. Project setup
|
|
256
|
-
writes reviewable
|
|
257
|
-
`.claude/settings.local.json`
|
|
258
|
-
|
|
256
|
+
writes reviewable checkout-local hooks to `.codex/hooks.json` and
|
|
257
|
+
`.claude/settings.local.json` and excludes both through `.git/info/exclude`.
|
|
258
|
+
The deprecated `setup-hooks --shared` flag remains parse-compatible but no
|
|
259
|
+
longer writes tracked settings. Set `SCIP_QUERY_SKIP_HOOK_INSTALL=1` or run
|
|
259
260
|
`scip-query setup --no-hooks` to skip lifecycle hook setup. The hooks add
|
|
260
261
|
scip-query context at session start, route prompts toward the right specialist,
|
|
261
262
|
and run a safe Stop hook wrapper around the diff gate only for that repository.
|
|
@@ -276,6 +277,10 @@ commands, writes `docs/scip-query/health-dossier.md` and `.json`, reports the
|
|
|
276
277
|
health score and items needing attention, and seeds a managed block in
|
|
277
278
|
`AGENTS.md` plus a `CLAUDE.md` import shim.
|
|
278
279
|
|
|
280
|
+
The generated guidance distinguishes shared repository records from local
|
|
281
|
+
preferences. Commit suppression files and `.scipquery/ledger/` outcome events
|
|
282
|
+
with the change that produced them. Never commit the checkout hook files.
|
|
283
|
+
|
|
279
284
|
After setup, use `scip-cleanup-audit` to confirm raw signals and
|
|
280
285
|
`scip-cleanup-improve` when the user wants the agent to fix the worst confirmed
|
|
281
286
|
items until the health score is as high as reasonably possible.
|
|
@@ -45,7 +45,7 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
45
45
|
|
|
46
46
|
| Command | Description | Options |
|
|
47
47
|
|---|---|---|
|
|
48
|
-
| `dead [scope]` | Find dead code
|
|
48
|
+
| `dead [scope]` | Find repository-dead code, file-internal symbols, and implicit-usage signals | `--min-loc <n>`<br>`--include-tests`<br>`--skip-barrels`<br>`--include-members`<br>`--only-dead`<br>`--only-internal`<br>`--full`<br>`--json` |
|
|
49
49
|
| `unused-imports <file>` | Find imports not referenced in the same file | `--full`<br>`--json` |
|
|
50
50
|
| `isolated` | Find completely orphaned symbols (no references at all) | `-s, --scope <path>`<br>`--min-loc <n>`<br>`--full`<br>`--json` |
|
|
51
51
|
| `similar [symbol] [other]` | Find heuristic function similarity candidates from callee fingerprints | `--min-similarity <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-callees <n>`<br>`--cross-file-only`<br>`--plan`<br>`--full`<br>`--json` |
|
|
@@ -84,12 +84,12 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
84
84
|
| Command | Description | Options |
|
|
85
85
|
|---|---|---|
|
|
86
86
|
| `hotspots` | Most-referenced symbols in the codebase (choke points) | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
|
|
87
|
-
| `fan-in [symbol]` |
|
|
87
|
+
| `fan-in [symbol]` | Count files referencing an exact symbol; top JSON rows include exact symbol identity | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
|
|
88
88
|
| `fan-out [file]` | How many external symbols a file uses (or top fan-out across codebase) | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
|
|
89
89
|
| `coupling [file1] [file2]` | Coupling between two files, or top coupled pairs in codebase | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json` |
|
|
90
90
|
| `cycles` | Detect circular dependency chains between files | `-s, --scope <path>`<br>`--max-depth <n>`<br>`--json` |
|
|
91
91
|
| `bottlenecks` | Find coupling hubs: high fan-in AND high fan-out | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-fan-in <n>`<br>`--min-fan-out <n>`<br>`--full`<br>`--json` |
|
|
92
|
-
| `deep-chains` | Find the longest
|
|
92
|
+
| `deep-chains` | Find the longest condensed dependency-component chains | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-depth <n>`<br>`--full`<br>`--json` |
|
|
93
93
|
| `call-graph <symbol>` | Show incoming callers and outgoing callees for a symbol | `--full`<br>`--json` |
|
|
94
94
|
|
|
95
95
|
### Impact
|
|
@@ -128,6 +128,7 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
128
128
|
| Command | Description | Options |
|
|
129
129
|
|---|---|---|
|
|
130
130
|
| `bench` | Benchmark indexing and command runtimes for this repository | `--json`<br>`--cold-index`<br>`--include-heavy`<br>`--command <cmd>`<br>`--timeout-ms <n>`<br>`--progress`<br>`--profile`<br>`--profile-out <path>` |
|
|
131
|
+
| `work-audit <profile>` | Rank exact repeated computations in a profiling JSONL file by measured avoidable time | `--top <n>`<br>`--json` |
|
|
131
132
|
| `install-skills` | Install skills (_shared, scip-query, scip-setup, scip-calibrate, scip-cleanup-audit, scip-cleanup-improve, scip-integrity-audit, scip-twin-drift, scip-claim-audit, scip-probe-reachability, scip-hyper-optimization, scip-api-impact, scip-concrete-plan, scip-conductor, scip-debug, scip-explore, scip-triage-issue, scip-diagram, scip-doc-reconcile, scip-directory-architecture, scip-maintainability, scip-react-maintainability, scip-vue-maintainability, scip-verify, scip-language-playbook, scip-tla-model-system) into Claude Code, Codex, and shared agent roots | - |
|
|
132
133
|
| `setup-hooks` | Install or refresh project-local Codex and Claude Code lifecycle hooks | `--shared`<br>`--remove`<br>`--force`<br>`--json` |
|
|
133
134
|
| `check-deps` | Check whether scip-query and the detected language indexers are actually runnable | - |
|
|
@@ -136,13 +137,13 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
136
137
|
| `init` | Create a .scipquery.json config file for this project | - |
|
|
137
138
|
| `config-validate` | Validate .scipquery.json, including structured suppressions and declared coupling groups | `--json` |
|
|
138
139
|
| `suppress <id>` | Record an accepted finding as a file under .scipquery/suppressions/ with a required reason | `--reason <text>`<br>`--check <check>`<br>`--file <path>`<br>`--expires-at <iso>`<br>`--json` |
|
|
139
|
-
| `effectiveness` | Per-check effectiveness from the committed outcome ledger:
|
|
140
|
+
| `effectiveness` | Per-check effectiveness from the committed outcome ledger: caught, same-HEAD verified fixes, suppressed, unverified disappearances, and precision | `--since <window>`<br>`--check <check>`<br>`--json` |
|
|
140
141
|
| `doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | `--json` |
|
|
141
|
-
| `setup` | Bootstrap this project: install agent skills, refresh the index, verify capabilities, and report health | `--git-hook`<br>`--no-hooks`<br>`--dossier-dir <path>`<br>`--json` |
|
|
142
|
+
| `setup` | Bootstrap this project: enable automatic indexing, install agent skills, refresh the index, verify capabilities, and report health | `--guided`<br>`--yes`<br>`--git-hook`<br>`--no-hooks`<br>`--no-skills`<br>`--no-parsers`<br>`--no-health`<br>`--dossier-dir <path>`<br>`--json` |
|
|
142
143
|
| `setup-agent` | Seed agent guidance for this project: AGENTS.md/CLAUDE.md block pointing agents at the scip-query skills and diff gate, plus an optional git pre-commit backstop | `--git-hook` |
|
|
143
144
|
| `setup-ci` | Write a GitHub Actions workflow that runs scip-query reindex and diff-gate on pull requests | `--force`<br>`--dry-run` |
|
|
144
145
|
| `uninstall` | Remove scip-query-owned skill links, project hooks, and managed agent setup blocks | `--global`<br>`--project`<br>`--dry-run`<br>`--json` |
|
|
145
|
-
| `watch` | Watch
|
|
146
|
+
| `watch` | Watch in the foreground or manage the per-project background refresh service | `--daemon`<br>`--status`<br>`--stop`<br>`--debounce <ms>`<br>`--cooldown <ms>`<br>`--git-poll <ms>`<br>`--idle-timeout <ms>`<br>`--json` |
|
|
146
147
|
| `status` | Show index status for this project | `--json`<br>`--capabilities` |
|
|
147
148
|
|
|
148
149
|
<!-- END GENERATED COMMAND REFERENCE -->
|
|
@@ -179,3 +180,6 @@ even though its per-pair classification loop in `queries.coChange`
|
|
|
179
180
|
candidate-pair count on a large repository. It now flows through `budgetedDbCommand` and
|
|
180
181
|
`coChange` accepts a `scanLimit` option that truncates the (already priority-sorted) candidate
|
|
181
182
|
pairs before classification, so the disclosed budget is truthful rather than cosmetic.
|
|
183
|
+
The setup-scope follow-up rechecked this implementation citation; extracting
|
|
184
|
+
shared hook outcome recording changed imports in the same runtime module but
|
|
185
|
+
did not change the `co-change` budget boundary described here.
|
package/docs/REGEX_POLICY.md
CHANGED
|
@@ -11,7 +11,9 @@ Use parsers for structured inputs when the parser is available:
|
|
|
11
11
|
|
|
12
12
|
Regex remains the right tool for flat machine-generated strings:
|
|
13
13
|
|
|
14
|
-
- SCIP symbol encodings in `src/symbols/symbol-parser.ts
|
|
14
|
+
- SCIP symbol encodings in `src/symbols/symbol-parser.ts`; when SCIP kind
|
|
15
|
+
metadata is available, detectors use it as the final callable/type/value
|
|
16
|
+
classification instead of treating symbol shape as sufficient proof.
|
|
15
17
|
- SCIP row and descriptor filters in storage/query SQL when the pattern is static.
|
|
16
18
|
- Path fragments and glob prefilters, followed by segment-aware matching when slash semantics matter.
|
|
17
19
|
- Signature normalization in `src/queries/cleanup/similar-signatures.ts`.
|