scip-query 0.7.2 → 0.8.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/README.md +179 -221
- package/dist/augment-vue-worker.js +1 -1
- package/dist/{chunk-OPWOX7NT.js → chunk-2EC4JTHC.js} +2 -2
- package/dist/{chunk-SVSLAUSJ.js → chunk-46ILZVMX.js} +2 -2
- package/dist/chunk-4A4JFNWG.js +2 -0
- package/dist/{chunk-QBXTQODK.js → chunk-4B7YLRXX.js} +2 -2
- package/dist/chunk-64UY7VTR.js +63 -0
- package/dist/chunk-66ORT3LS.js +2 -0
- package/dist/{chunk-VMS5YTBS.js → chunk-6G76D2YM.js} +2 -2
- package/dist/{chunk-PEU24CSY.js → chunk-6P5W4U6G.js} +2 -2
- package/dist/chunk-6ZFKI5EP.js +40 -0
- package/dist/{chunk-EVXQF7DM.js → chunk-7I6KNKE3.js} +2 -2
- package/dist/{chunk-EIGCLVKK.js → chunk-7TYJD45F.js} +2 -2
- package/dist/chunk-7UZWNW4E.js +2 -0
- package/dist/{chunk-GIRI7FHW.js → chunk-AGW2MVIO.js} +2 -2
- package/dist/chunk-APLCSDXL.js +4 -0
- package/dist/{chunk-JDFWJ7VK.js → chunk-BCFED24F.js} +2 -2
- package/dist/chunk-CVRXOP6M.js +3 -0
- package/dist/{chunk-2QNKEJ7R.js → chunk-D43L5PQF.js} +2 -2
- package/dist/chunk-DJTJ3DLZ.js +7 -0
- package/dist/chunk-EAU4RDFG.js +2 -0
- package/dist/{chunk-BI4F6GXI.js → chunk-EKP7XJ6L.js} +2 -2
- package/dist/{chunk-LLL7THVV.js → chunk-EM2PPDN7.js} +2 -2
- package/dist/{chunk-6QC7SCKV.js → chunk-FIPE5AQT.js} +2 -2
- package/dist/chunk-FTBT4RP2.js +7 -0
- package/dist/{chunk-TB2OYNRS.js → chunk-GD7XRHSV.js} +2 -2
- package/dist/{chunk-XDXZP3BE.js → chunk-GMEBYEMU.js} +2 -2
- package/dist/chunk-GTZAU7OL.js +2 -0
- package/dist/chunk-HVGNOUYP.js +2 -0
- package/dist/chunk-HVXIXDLV.js +2 -0
- package/dist/{chunk-5TB4N27G.js → chunk-I7OTKWNY.js} +2 -2
- package/dist/{chunk-RFCR2BRD.js → chunk-JAMU6FLN.js} +2 -2
- package/dist/chunk-JTCEWV7Q.js +2 -0
- package/dist/chunk-K4Z3FCUJ.js +6 -0
- package/dist/{chunk-WJQFABZN.js → chunk-K6YIGVL7.js} +2 -2
- package/dist/chunk-MKE7SEEX.js +2 -0
- package/dist/chunk-N5D5ZCBW.js +7 -0
- package/dist/{chunk-ROZNBWIF.js → chunk-NGLRXEWN.js} +2 -2
- package/dist/{chunk-IFGEPTH5.js → chunk-NK7TQQG4.js} +2 -2
- package/dist/chunk-NOVKLH2F.js +2 -0
- package/dist/chunk-OIMM7KMI.js +2 -0
- package/dist/chunk-OQSV6OS2.js +2 -0
- package/dist/chunk-PBGTMPJ7.js +2 -0
- package/dist/{chunk-YH6TTQEI.js → chunk-PCMVXWDC.js} +4 -4
- package/dist/{chunk-U75WH4XG.js → chunk-PE4EJOLN.js} +2 -2
- package/dist/chunk-PLFYFZX3.js +2 -0
- package/dist/{chunk-HTVLH3NL.js → chunk-QYQXPPDI.js} +2 -2
- package/dist/{chunk-P7UMQ7R7.js → chunk-RCRK4E7E.js} +2 -2
- package/dist/chunk-RIXOMSOR.js +20 -0
- package/dist/chunk-SB6I6O3P.js +2 -0
- package/dist/{chunk-X2JB54QF.js → chunk-SDGCKEB7.js} +2 -2
- package/dist/chunk-SLOIQKY7.js +2 -0
- package/dist/{chunk-4VYIZV3S.js → chunk-SOGLYIJ4.js} +4 -4
- package/dist/chunk-SSINY7HL.js +4 -0
- package/dist/{chunk-FU5WRWAN.js → chunk-TFO4OMJZ.js} +2 -2
- package/dist/chunk-TH4JVC34.js +71 -0
- package/dist/chunk-TQTVM27C.js +6 -0
- package/dist/{chunk-QP6FLI6D.js → chunk-TR5AU6A5.js} +2 -2
- package/dist/{chunk-4LKJMRT5.js → chunk-UQE3DSXY.js} +2 -2
- package/dist/{chunk-LXJTDFOV.js → chunk-UUDYI3FF.js} +2 -2
- package/dist/chunk-VDZL45XI.js +2 -0
- package/dist/{chunk-XANDY7N5.js → chunk-VN6B6HFB.js} +2 -2
- package/dist/{chunk-SDPP5KVQ.js → chunk-WC43FMAB.js} +2 -2
- package/dist/chunk-WEJYUS5O.js +2 -0
- package/dist/chunk-WQFOZIID.js +4 -0
- package/dist/chunk-XBFLIGWU.js +3 -0
- package/dist/{chunk-TGNL3ZKZ.js → chunk-XSZ5NC4O.js} +2 -2
- package/dist/{chunk-4T35WUCX.js → chunk-Z2AJQ7VA.js} +2 -2
- package/dist/{chunk-S5VMVNFM.js → chunk-ZIIQ55VK.js} +2 -2
- package/dist/chunk-ZJ737ZMD.js +2 -0
- package/dist/cli.js +171 -173
- package/dist/health-C6r2VgpA.d.ts +234 -0
- package/dist/index.d.ts +11 -18
- package/dist/index.js +1 -1
- package/dist/postinstall.js +4 -4
- package/dist/queries/affected.js +1 -1
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +66 -0
- package/dist/queries/cleanup-plan.js +2 -0
- package/dist/queries/co-change.d.ts +42 -0
- package/dist/queries/co-change.js +2 -0
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.js +1 -1
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-gate.d.ts +52 -0
- package/dist/queries/diff-gate.js +2 -0
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +69 -0
- package/dist/queries/doc-drift.js +2 -0
- package/dist/queries/drift.js +1 -1
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.js +1 -1
- package/dist/queries/health.d.ts +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.js +1 -1
- package/dist/queries/index.d.ts +38 -2
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.js +1 -1
- package/dist/queries/outline.d.ts +1 -0
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +65 -0
- package/dist/queries/plan-context.js +2 -0
- package/dist/queries/recent-duplicates.d.ts +48 -0
- package/dist/queries/recent-duplicates.js +2 -0
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +58 -0
- package/dist/queries/self-audit.js +2 -0
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +6 -0
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.js +1 -1
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.js +1 -1
- package/dist/queries/trace.js +1 -1
- package/dist/queries/unused-params.d.ts +38 -0
- package/dist/queries/unused-params.js +2 -0
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +1 -1
- package/dist/reindex.js +1 -1
- package/dist/runtime.d.ts +3 -2
- package/dist/runtime.js +2 -2
- package/package.json +33 -1
- package/skills/concrete-plan/SKILL.md +37 -7
- package/skills/scip-ai-cleanup/SKILL.md +145 -0
- package/skills/scip-debloat/SKILL.md +37 -7
- package/skills/scip-doc-reconcile/SKILL.md +100 -0
- package/skills/scip-explore/SKILL.md +22 -9
- package/skills/scip-language-playbook/SKILL.md +4 -4
- package/skills/scip-maintainability/SKILL.md +264 -0
- package/skills/scip-verify/SKILL.md +2 -2
- package/dist/chunk-3X43EYFU.js +0 -3
- package/dist/chunk-4GPWGSOE.js +0 -40
- package/dist/chunk-5RGK4YA5.js +0 -63
- package/dist/chunk-5TT47UMX.js +0 -44
- package/dist/chunk-6QH2L26C.js +0 -71
- package/dist/chunk-6SR4UNWI.js +0 -2
- package/dist/chunk-6XEWA6FX.js +0 -2
- package/dist/chunk-7WHNTKSD.js +0 -2
- package/dist/chunk-BOVNTAKQ.js +0 -3
- package/dist/chunk-D62LLANH.js +0 -2
- package/dist/chunk-EDXML2HI.js +0 -4
- package/dist/chunk-EZQOVY3C.js +0 -2
- package/dist/chunk-IODTPF5H.js +0 -20
- package/dist/chunk-KJ6CW6EK.js +0 -2
- package/dist/chunk-NBUINPSH.js +0 -2
- package/dist/chunk-NHDPYW7O.js +0 -2
- package/dist/chunk-NKJKI6SE.js +0 -2
- package/dist/chunk-OPZQIJZU.js +0 -7
- package/dist/chunk-P3PVY6TX.js +0 -2
- package/dist/chunk-QE6MGGUY.js +0 -2
- package/dist/chunk-QVPYMZUJ.js +0 -6
- package/dist/chunk-RCJEFQOK.js +0 -4
- package/dist/chunk-UHMJYNTK.js +0 -2
- package/dist/health-x7B4Xu_6.d.ts +0 -119
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-DdTPetj5.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-CGIeLEpY.js';
|
|
4
|
+
|
|
5
|
+
interface DocDriftSubject {
|
|
6
|
+
file: string;
|
|
7
|
+
/**
|
|
8
|
+
* 'reference': the doc's text mentions this file path.
|
|
9
|
+
* 'co-change': the doc historically changed in the same commits as this file.
|
|
10
|
+
* 'both': both evidence sources agree — strongest signal.
|
|
11
|
+
*/
|
|
12
|
+
evidence: 'reference' | 'co-change' | 'both';
|
|
13
|
+
/** Commits where doc and subject changed together (0 for pure references). */
|
|
14
|
+
coChanges: number;
|
|
15
|
+
/** Commits touching the subject AFTER the doc's last change. */
|
|
16
|
+
changesSinceDocUpdate: number;
|
|
17
|
+
}
|
|
18
|
+
interface DocDriftFinding {
|
|
19
|
+
doc: string;
|
|
20
|
+
/** Unix seconds of the doc's last change; 0 = never changed in the window. */
|
|
21
|
+
docLastChangedAt: number;
|
|
22
|
+
/** Σ subject changes since the doc last changed — the staleness score. */
|
|
23
|
+
staleness: number;
|
|
24
|
+
subjects: DocDriftSubject[];
|
|
25
|
+
/** File paths the doc mentions that no longer exist (spec points at deleted code). */
|
|
26
|
+
brokenReferences: string[];
|
|
27
|
+
}
|
|
28
|
+
interface DocDriftResult {
|
|
29
|
+
/** False when git history is unavailable. */
|
|
30
|
+
available: boolean;
|
|
31
|
+
commitsAnalyzed: number;
|
|
32
|
+
/** Doc files scanned for content references. */
|
|
33
|
+
docsScanned: number;
|
|
34
|
+
findings: DocDriftFinding[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Archival docs (dated plans, ADRs, RFCs, changelogs) record a moment in
|
|
38
|
+
* time — they cite code as of their date and are never meant to track it.
|
|
39
|
+
*/
|
|
40
|
+
declare function isArchivalDoc(path: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Standards/docs drift, from two evidence sources:
|
|
43
|
+
*
|
|
44
|
+
* 1. CONTENT REFERENCES — the doc's text names file paths; those files kept
|
|
45
|
+
* changing after the doc last changed. Covers standards docs from day one
|
|
46
|
+
* (no history needed) and finds BROKEN references: paths the doc cites
|
|
47
|
+
* that no longer exist — a spec pointing at deleted code.
|
|
48
|
+
* 2. CO-CHANGE — the doc historically changed in the same commits as code
|
|
49
|
+
* files, then stopped while they kept churning. Catches implicit coupling
|
|
50
|
+
* the doc never names.
|
|
51
|
+
*
|
|
52
|
+
* A stale standards doc is worse than none when agents read it before
|
|
53
|
+
* implementing — they implement to a dead spec.
|
|
54
|
+
*/
|
|
55
|
+
declare function docDrift(db: ScipDatabase, opts?: {
|
|
56
|
+
doc?: string;
|
|
57
|
+
limit?: number;
|
|
58
|
+
minCoupling?: number;
|
|
59
|
+
}): DocDriftResult;
|
|
60
|
+
/**
|
|
61
|
+
* Docs whose text cites any of the target files — diff-gate uses this to ask
|
|
62
|
+
* "you changed these files; which docs claim to describe them?"
|
|
63
|
+
*/
|
|
64
|
+
declare function docsCitingFiles(db: ScipDatabase, targets: ReadonlySet<string>): Array<{
|
|
65
|
+
doc: string;
|
|
66
|
+
cited: string[];
|
|
67
|
+
}>;
|
|
68
|
+
|
|
69
|
+
export { type DocDriftFinding, type DocDriftResult, type DocDriftSubject, docDrift, docsCitingFiles, isArchivalDoc };
|
package/dist/queries/drift.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-2EC4JTHC.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as drift};
|
|
2
2
|
//# sourceMappingURL=drift.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-HVXIXDLV.js";import"../chunk-V76FCF5F.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as extractCandidates};
|
|
2
2
|
//# sourceMappingURL=extract-candidates.js.map
|
package/dist/queries/fan.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d}from"../chunk-
|
|
1
|
+
import{a,b,c,d}from"../chunk-TR5AU6A5.js";import"../chunk-WC43FMAB.js";import"../chunk-RIXOMSOR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as fanIn,b as fanOut,c as topFanIn,d as topFanOut};
|
|
2
2
|
//# sourceMappingURL=fan.js.map
|
package/dist/queries/health.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '../db-DdTPetj5.js';
|
|
2
2
|
import './stats.js';
|
|
3
|
-
export { H as HEALTH_PHASES, e as HealthPhaseName, h as health, c as healthPhase, d as healthReportFromPhases } from '../health-
|
|
3
|
+
export { H as HEALTH_PHASES, e as HealthPhaseName, h as health, c as healthPhase, d as healthReportFromPhases } from '../health-C6r2VgpA.js';
|
|
4
4
|
import 'better-sqlite3';
|
|
5
5
|
import '../config-types-CGIeLEpY.js';
|
package/dist/queries/health.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d}from"../chunk-
|
|
1
|
+
import{a,b,c,d}from"../chunk-GTZAU7OL.js";import"../chunk-JTCEWV7Q.js";import"../chunk-AQYBOORI.js";import"../chunk-DJTJ3DLZ.js";import"../chunk-SSINY7HL.js";import"../chunk-CVRXOP6M.js";import"../chunk-QYQXPPDI.js";import"../chunk-SLOIQKY7.js";import"../chunk-K4Z3FCUJ.js";import"../chunk-RKTDEIHF.js";import"../chunk-HVXIXDLV.js";import"../chunk-2EC4JTHC.js";import"../chunk-OIMM7KMI.js";import"../chunk-4A4JFNWG.js";import"../chunk-N5D5ZCBW.js";import"../chunk-K6YIGVL7.js";import"../chunk-V76FCF5F.js";import"../chunk-EKP7XJ6L.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as HEALTH_PHASES,b as health,c as healthPhase,d as healthReportFromPhases};
|
|
2
2
|
//# sourceMappingURL=health.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-SDGCKEB7.js";import"../chunk-7I6KNKE3.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as hierarchy};
|
|
2
2
|
//# sourceMappingURL=hierarchy.js.map
|
package/dist/queries/hotspots.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-7TYJD45F.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as hotspots};
|
|
2
2
|
//# sourceMappingURL=hotspots.js.map
|
package/dist/queries/imports.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c}from"../chunk-
|
|
1
|
+
import{a,b,c}from"../chunk-TFO4OMJZ.js";import"../chunk-WC43FMAB.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{b as importedBy,a as imports,c as unusedImports};
|
|
2
2
|
//# sourceMappingURL=imports.js.map
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -27,20 +27,56 @@ export { SimilarChainResult, similarChains } from './similar-chains.js';
|
|
|
27
27
|
export { ExtractCandidate, extractCandidates } from './extract-candidates.js';
|
|
28
28
|
export { AffectedResult, affected } from './affected.js';
|
|
29
29
|
export { ChangeSurfaceEntry, ChangeSurfaceResult, changeSurface } from './change-surface.js';
|
|
30
|
+
export { CleanupBatch, CleanupPlanEntry, CleanupPlanResult, cleanupPlan } from './cleanup-plan.js';
|
|
31
|
+
export { DiffGateCheck, DiffGateFinding, DiffGateResult, diffGate } from './diff-gate.js';
|
|
32
|
+
export { CoChangeFinding, CoChangeResult, coChange } from './co-change.js';
|
|
33
|
+
export { DocDriftFinding, DocDriftResult, DocDriftSubject, docDrift } from './doc-drift.js';
|
|
34
|
+
export { RecentDuplicateFinding, RecentDuplicatesResult, recentDuplicates } from './recent-duplicates.js';
|
|
35
|
+
export { PlanContextOptions, PlanContextResult, planContext } from './plan-context.js';
|
|
36
|
+
import { S as ScipDatabase } from '../db-DdTPetj5.js';
|
|
30
37
|
export { DiffImpactResult, diffImpact, diffImpactPartial, diffImpactPlan, mergeDiffImpactPartials } from './diff-impact.js';
|
|
31
38
|
export { DriftResult, DriftSummary, drift } from './drift.js';
|
|
32
39
|
export { WrapperCandidate, wrapperCandidates } from './wrapper-candidates.js';
|
|
33
40
|
export { PassthroughCandidate, passthroughCandidates } from './passthrough-candidates.js';
|
|
34
41
|
export { StaleAbstraction, staleAbstractions } from './stale-abstractions.js';
|
|
42
|
+
export { UnusedParamsFinding, unusedParams } from './unused-params.js';
|
|
35
43
|
export { ComplexityHotspot, complexityHotspots } from './complexity-hotspots.js';
|
|
36
|
-
export { H as HEALTH_PHASES, a as HealthAction, b as HealthReport, h as health, c as healthPhase, d as healthReportFromPhases } from '../health-
|
|
44
|
+
export { H as HEALTH_PHASES, a as HealthAction, b as HealthReport, h as health, c as healthPhase, d as healthReportFromPhases } from '../health-C6r2VgpA.js';
|
|
37
45
|
export { ConvergenceResult, convergence } from './convergence.js';
|
|
38
46
|
export { CodeResult, code } from './code.js';
|
|
39
47
|
export { ComplexityResult, complexity } from './complexity.js';
|
|
40
48
|
export { DataflowResult, dataflow } from './dataflow.js';
|
|
41
49
|
export { SliceResult, slice } from './slice.js';
|
|
42
50
|
export { RedundantReexport, redundantReexports } from './redundant-reexports.js';
|
|
51
|
+
export { AuditDisagreement, AuditQuestionScore, SelfAuditResult, selfAudit } from './self-audit.js';
|
|
43
52
|
export { SimilarSignatureGroup, similarSignatures } from './similar-signatures.js';
|
|
44
|
-
import '../db-DdTPetj5.js';
|
|
45
53
|
import 'better-sqlite3';
|
|
46
54
|
import '../config-types-CGIeLEpY.js';
|
|
55
|
+
|
|
56
|
+
interface HealthBaselineFile {
|
|
57
|
+
version: 1;
|
|
58
|
+
findings: string[];
|
|
59
|
+
}
|
|
60
|
+
interface BaselineComparison {
|
|
61
|
+
baselinePath: string;
|
|
62
|
+
baselineCount: number;
|
|
63
|
+
current: string[];
|
|
64
|
+
newFindings: string[];
|
|
65
|
+
fixedFindings: string[];
|
|
66
|
+
}
|
|
67
|
+
declare function collectBaselineFindings(db: ScipDatabase, opts?: {
|
|
68
|
+
scope?: string;
|
|
69
|
+
}): string[];
|
|
70
|
+
declare function writeHealthBaseline(db: ScipDatabase, opts?: {
|
|
71
|
+
path?: string;
|
|
72
|
+
scope?: string;
|
|
73
|
+
}): {
|
|
74
|
+
path: string;
|
|
75
|
+
findingCount: number;
|
|
76
|
+
};
|
|
77
|
+
declare function checkHealthBaseline(db: ScipDatabase, opts?: {
|
|
78
|
+
path?: string;
|
|
79
|
+
scope?: string;
|
|
80
|
+
}): BaselineComparison;
|
|
81
|
+
|
|
82
|
+
export { type BaselineComparison, type HealthBaselineFile, checkHealthBaseline, collectBaselineFindings, writeHealthBaseline };
|
package/dist/queries/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as $}from"../chunk-PLFYFZX3.js";import{a as te}from"../chunk-VN6B6HFB.js";import{a as ue}from"../chunk-66ORT3LS.js";import{a as me}from"../chunk-NGLRXEWN.js";import{a as fe}from"../chunk-MKE7SEEX.js";import{a as ce}from"../chunk-6G76D2YM.js";import{a as ae}from"../chunk-ZIIQ55VK.js";import{a as ee}from"../chunk-GMEBYEMU.js";import{a as se}from"../chunk-ZJ737ZMD.js";import{a as xe}from"../chunk-SB6I6O3P.js";import{a as pe}from"../chunk-UQE3DSXY.js";import{a as oe}from"../chunk-GD7XRHSV.js";import{a as re}from"../chunk-NK7TQQG4.js";import{a as ie}from"../chunk-JAMU6FLN.js";import{a as le}from"../chunk-7UZWNW4E.js";import{a as ne}from"../chunk-FIPE5AQT.js";import{a as N,b as T,c as U,d as L}from"../chunk-TR5AU6A5.js";import{a as Q}from"../chunk-PG3ZI5IH.js";import{a as W,b as _,c as q,d as z}from"../chunk-GTZAU7OL.js";import"../chunk-JTCEWV7Q.js";import{a as J}from"../chunk-SDGCKEB7.js";import{a as V}from"../chunk-7TYJD45F.js";import{a as X,b as Y,c as Z}from"../chunk-TFO4OMJZ.js";import{a as y}from"../chunk-BCFED24F.js";import{a as h}from"../chunk-PE4EJOLN.js";import{a as j,b as R}from"../chunk-AGW2MVIO.js";import{a as E,b as O,c as v,d as M}from"../chunk-XBFLIGWU.js";import{a as K}from"../chunk-HVGNOUYP.js";import{a as G}from"../chunk-AQYBOORI.js";import{a as w}from"../chunk-DJTJ3DLZ.js";import{a as k}from"../chunk-SSINY7HL.js";import"../chunk-CVRXOP6M.js";import{a as H}from"../chunk-QYQXPPDI.js";import{a as A}from"../chunk-SLOIQKY7.js";import{a as I,b as B}from"../chunk-K4Z3FCUJ.js";import"../chunk-RKTDEIHF.js";import{a as P}from"../chunk-HVXIXDLV.js";import{a as C,b as g,c as S,d as D}from"../chunk-6P5W4U6G.js";import{b}from"../chunk-OQSV6OS2.js";import{a as F}from"../chunk-2EC4JTHC.js";import{a as f}from"../chunk-FTBT4RP2.js";import{b as a}from"../chunk-OIMM7KMI.js";import{b as m}from"../chunk-4A4JFNWG.js";import"../chunk-N5D5ZCBW.js";import{a as l}from"../chunk-Z2AJQ7VA.js";import{a as i}from"../chunk-EM2PPDN7.js";import{a as x}from"../chunk-K6YIGVL7.js";import"../chunk-V76FCF5F.js";import{a as n}from"../chunk-I7OTKWNY.js";import{a as u,b as c}from"../chunk-46ILZVMX.js";import{a as d}from"../chunk-EKP7XJ6L.js";import{a as e}from"../chunk-UUDYI3FF.js";import{a as t}from"../chunk-XSZ5NC4O.js";import{a as r,b as o}from"../chunk-RCRK4E7E.js";import{a as p}from"../chunk-D43L5PQF.js";import"../chunk-MX6F756F.js";import{a as s}from"../chunk-4B7YLRXX.js";import"../chunk-WC43FMAB.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{W as HEALTH_PHASES,e as affected,t as bottlenecks,r as byKind,p as callGraph,s as changeSurface,v as checkHealthBaseline,f as cleanupPlan,m as coChange,l as code,E as collectBaselineFindings,i as complexity,x as complexityHotspots,n as convergence,u as coupling,d as cycles,y as dataflow,a as dead,h as deepChains,j as deps,M as diffGate,C as diffImpact,S as diffImpactPartial,g as diffImpactPlan,b as docDrift,F as drift,P as extractCandidates,N as fanIn,T as fanOut,Q as files,_ as health,q as healthPhase,z as healthReportFromPhases,J as hierarchy,V as hotspots,Y as importedBy,X as imports,H as isolated,o as kindCounts,ae as members,D as mergeDiffImpactPartials,ee as methods,se as outline,A as passthroughCandidates,xe as planContext,R as rdeps,le as recentDuplicates,ne as redundantReexports,te as refs,ue as selfAudit,I as similar,B as similarAll,me as similarChains,fe as similarFiles,ce as similarSignatures,ie as slice,k as staleAbstractions,G as stats,pe as surface,$ as symbols,oe as system,c as topCoupling,U as topFanIn,L as topFanOut,re as trace,Z as unusedImports,K as unusedParams,w as wrapperCandidates,O as writeHealthBaseline};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/queries/isolated.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-QYQXPPDI.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as isolated};
|
|
2
2
|
//# sourceMappingURL=isolated.js.map
|
package/dist/queries/members.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ZIIQ55VK.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as members};
|
|
2
2
|
//# sourceMappingURL=members.js.map
|
package/dist/queries/methods.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-GMEBYEMU.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as methods};
|
|
2
2
|
//# sourceMappingURL=methods.js.map
|
package/dist/queries/outline.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ZJ737ZMD.js";import"../chunk-WC43FMAB.js";import"../chunk-7I6KNKE3.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as outline};
|
|
2
2
|
//# sourceMappingURL=outline.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-SLOIQKY7.js";import"../chunk-V76FCF5F.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as passthroughCandidates};
|
|
2
2
|
//# sourceMappingURL=passthrough-candidates.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-DdTPetj5.js';
|
|
2
|
+
import { AffectedResult } from './affected.js';
|
|
3
|
+
import { CallGraphResult } from './call-graph.js';
|
|
4
|
+
import { ChangeSurfaceResult } from './change-surface.js';
|
|
5
|
+
import { ComplexityResult } from './complexity.js';
|
|
6
|
+
import { DataflowResult } from './dataflow.js';
|
|
7
|
+
import { DepResult } from './deps.js';
|
|
8
|
+
import { SliceResult } from './slice.js';
|
|
9
|
+
import { SurfaceResult } from './surface.js';
|
|
10
|
+
import { SystemResult } from './system.js';
|
|
11
|
+
import { TraceResult } from './trace.js';
|
|
12
|
+
import 'better-sqlite3';
|
|
13
|
+
import '../config-types-CGIeLEpY.js';
|
|
14
|
+
import './symbols.js';
|
|
15
|
+
|
|
16
|
+
interface PlanContextOptions {
|
|
17
|
+
semantic?: boolean;
|
|
18
|
+
impactDepth?: number;
|
|
19
|
+
sliceDepth?: number;
|
|
20
|
+
scope?: string;
|
|
21
|
+
}
|
|
22
|
+
/** Decision-time history risk for the target's file, from the change graph. */
|
|
23
|
+
interface PlanContextHistory {
|
|
24
|
+
/** False when git history is unavailable or no file could be resolved. */
|
|
25
|
+
available: boolean;
|
|
26
|
+
file: string | null;
|
|
27
|
+
churn: {
|
|
28
|
+
changes: number;
|
|
29
|
+
fixChanges: number;
|
|
30
|
+
lastChangedAt: number;
|
|
31
|
+
} | null;
|
|
32
|
+
/** Files that usually change together with this one — edit checklist. */
|
|
33
|
+
coChangePartners: Array<{
|
|
34
|
+
file: string;
|
|
35
|
+
together: number;
|
|
36
|
+
confidence: number;
|
|
37
|
+
}>;
|
|
38
|
+
/** Detector suppressions present in the file — known accepted findings. */
|
|
39
|
+
suppressionsInFile: number;
|
|
40
|
+
}
|
|
41
|
+
interface PlanContextResult {
|
|
42
|
+
target: string;
|
|
43
|
+
matched: {
|
|
44
|
+
symbol: boolean;
|
|
45
|
+
file: boolean;
|
|
46
|
+
module: boolean;
|
|
47
|
+
};
|
|
48
|
+
history: PlanContextHistory;
|
|
49
|
+
trace: TraceResult;
|
|
50
|
+
callGraph: CallGraphResult | null;
|
|
51
|
+
complexity: ComplexityResult | null;
|
|
52
|
+
dataflow: DataflowResult | null;
|
|
53
|
+
backwardSlice: SliceResult | null;
|
|
54
|
+
forwardSlice: SliceResult | null;
|
|
55
|
+
affected: AffectedResult[];
|
|
56
|
+
changeSurface: ChangeSurfaceResult | null;
|
|
57
|
+
deps: DepResult[];
|
|
58
|
+
rdeps: DepResult[];
|
|
59
|
+
system: SystemResult;
|
|
60
|
+
surface: SurfaceResult[];
|
|
61
|
+
warnings: string[];
|
|
62
|
+
}
|
|
63
|
+
declare function planContext(db: ScipDatabase, target: string, opts?: PlanContextOptions): PlanContextResult;
|
|
64
|
+
|
|
65
|
+
export { type PlanContextHistory, type PlanContextOptions, type PlanContextResult, planContext };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-SB6I6O3P.js";import"../chunk-UQE3DSXY.js";import"../chunk-GD7XRHSV.js";import"../chunk-NK7TQQG4.js";import"../chunk-JAMU6FLN.js";import"../chunk-JTCEWV7Q.js";import"../chunk-BCFED24F.js";import"../chunk-AGW2MVIO.js";import"../chunk-4A4JFNWG.js";import"../chunk-N5D5ZCBW.js";import"../chunk-EM2PPDN7.js";import"../chunk-UUDYI3FF.js";import"../chunk-D43L5PQF.js";import"../chunk-MX6F756F.js";import"../chunk-4B7YLRXX.js";import"../chunk-WC43FMAB.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as planContext};
|
|
2
|
+
//# sourceMappingURL=plan-context.js.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-DdTPetj5.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-CGIeLEpY.js';
|
|
4
|
+
|
|
5
|
+
interface RecentDuplicateFinding {
|
|
6
|
+
/** 'echo': recent code duplicating established code. 'twin': both sides are new. */
|
|
7
|
+
kind: 'echo' | 'twin';
|
|
8
|
+
echoSymbol: string;
|
|
9
|
+
echoFile: string;
|
|
10
|
+
/** Commits ago the echo's file was added. */
|
|
11
|
+
echoAgeCommits: number;
|
|
12
|
+
establishedSymbol: string;
|
|
13
|
+
establishedFile: string;
|
|
14
|
+
/** Commits ago the established file was added; null = older than the window. */
|
|
15
|
+
establishedAgeCommits: number | null;
|
|
16
|
+
similarity: number;
|
|
17
|
+
sharedCallees: string[];
|
|
18
|
+
}
|
|
19
|
+
interface RecentDuplicatesResult {
|
|
20
|
+
/** False when git history is unavailable. */
|
|
21
|
+
available: boolean;
|
|
22
|
+
windowCommits: number;
|
|
23
|
+
findings: RecentDuplicateFinding[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Recent re-implementations: AI agents (and humans in a hurry) write new
|
|
27
|
+
* helpers that duplicate code they didn't know existed. Generic similarity
|
|
28
|
+
* finds the pairs; this makes them DIRECTIONAL using git file ages — which
|
|
29
|
+
* side is the established original, which is the recent echo.
|
|
30
|
+
*
|
|
31
|
+
* 'echo' → the new code should probably use or extend the established code;
|
|
32
|
+
* delete the echo.
|
|
33
|
+
* 'twin' → both sides landed recently (often one agent session duplicating
|
|
34
|
+
* itself); pick one and consolidate before they diverge.
|
|
35
|
+
*
|
|
36
|
+
* Pairs where both sides are established are ordinary `similar` territory
|
|
37
|
+
* and are skipped here.
|
|
38
|
+
*/
|
|
39
|
+
declare function recentDuplicates(db: ScipDatabase, opts?: {
|
|
40
|
+
windowCommits?: number;
|
|
41
|
+
minSimilarity?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
scope?: string;
|
|
44
|
+
scanLimit?: number;
|
|
45
|
+
semantic?: boolean;
|
|
46
|
+
}): RecentDuplicatesResult;
|
|
47
|
+
|
|
48
|
+
export { type RecentDuplicateFinding, type RecentDuplicatesResult, recentDuplicates };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-7UZWNW4E.js";import"../chunk-K4Z3FCUJ.js";import"../chunk-RKTDEIHF.js";import"../chunk-N5D5ZCBW.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as recentDuplicates};
|
|
2
|
+
//# sourceMappingURL=recent-duplicates.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-FIPE5AQT.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as redundantReexports};
|
|
2
2
|
//# sourceMappingURL=redundant-reexports.js.map
|
package/dist/queries/refs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-VN6B6HFB.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as refs};
|
|
2
2
|
//# sourceMappingURL=refs.js.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-DdTPetj5.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-CGIeLEpY.js';
|
|
4
|
+
|
|
5
|
+
type AuditQuestion = 'references' | 'callees';
|
|
6
|
+
interface AuditDisagreement {
|
|
7
|
+
symbol: string;
|
|
8
|
+
question: AuditQuestion;
|
|
9
|
+
/** Files only the cheap evidence path reported (potential false positives). */
|
|
10
|
+
cheapOnly: string[];
|
|
11
|
+
/** Files only the compiler oracle reported (potential misses). */
|
|
12
|
+
oracleOnly: string[];
|
|
13
|
+
}
|
|
14
|
+
interface AuditQuestionScore {
|
|
15
|
+
question: AuditQuestion;
|
|
16
|
+
/** Symbols where both paths produced a comparable (non-empty) answer. */
|
|
17
|
+
comparedSymbols: number;
|
|
18
|
+
/**
|
|
19
|
+
* Null when the oracle is partial for this question (it confirms positives
|
|
20
|
+
* but doesn't enumerate all of them), so "cheap-only" answers are
|
|
21
|
+
* unverified rather than wrong and no precision claim is valid.
|
|
22
|
+
*/
|
|
23
|
+
precision: number | null;
|
|
24
|
+
recall: number;
|
|
25
|
+
/** Cheap-path answers the oracle could not confirm (only meaningful when precision is null). */
|
|
26
|
+
unverified: number;
|
|
27
|
+
}
|
|
28
|
+
interface SelfAuditResult {
|
|
29
|
+
/** False when no semantic provider is available — nothing to audit against. */
|
|
30
|
+
available: boolean;
|
|
31
|
+
sampleSize: number;
|
|
32
|
+
/** Fraction of sampled symbols the oracle could answer at all. */
|
|
33
|
+
oracleCoverage: number;
|
|
34
|
+
scores: AuditQuestionScore[];
|
|
35
|
+
/** Largest divergences — the actionable debugging targets. */
|
|
36
|
+
topDisagreements: AuditDisagreement[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Accuracy oracle: score the cheap evidence paths (SCIP + source heuristics)
|
|
40
|
+
* against the embedded TypeScript compiler (ts-morph) on a deterministic
|
|
41
|
+
* sample of symbols.
|
|
42
|
+
*
|
|
43
|
+
* This measures *agreement with compiler semantics*, not absolute truth —
|
|
44
|
+
* the compiler misses dynamic dispatch too. Comparison is at file-set
|
|
45
|
+
* granularity ("which files reference/are called by this symbol") because
|
|
46
|
+
* symbol-identity schemes differ between providers while file attribution
|
|
47
|
+
* does not.
|
|
48
|
+
*
|
|
49
|
+
* The point: "make every command as accurate as possible" is only meaningful
|
|
50
|
+
* once accuracy is a number you can track. This is that number.
|
|
51
|
+
*/
|
|
52
|
+
declare function selfAudit(db: ScipDatabase, opts?: {
|
|
53
|
+
samples?: number;
|
|
54
|
+
scope?: string;
|
|
55
|
+
maxDisagreements?: number;
|
|
56
|
+
}): SelfAuditResult;
|
|
57
|
+
|
|
58
|
+
export { type AuditDisagreement, type AuditQuestion, type AuditQuestionScore, type SelfAuditResult, selfAudit };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-66ORT3LS.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as selfAudit};
|
|
2
|
+
//# sourceMappingURL=self-audit.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-NGLRXEWN.js";import"../chunk-RIXOMSOR.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as similarChains};
|
|
2
2
|
//# sourceMappingURL=similar-chains.js.map
|
|
@@ -17,6 +17,12 @@ interface SimilarFileResult {
|
|
|
17
17
|
* Two files that depend on (import from) the same set of other files
|
|
18
18
|
* are structurally doing similar work. High Jaccard similarity between
|
|
19
19
|
* their dependency sets = likely copy-paste variants or consolidation candidates.
|
|
20
|
+
*
|
|
21
|
+
* Evidence policy: a pair must share at least two *distinctive* deps —
|
|
22
|
+
* deps with low global fan-in. Files that overlap only on family
|
|
23
|
+
* infrastructure (the modules everyone in their directory imports) are
|
|
24
|
+
* not copy-paste variants; adapter families sharing an SDK scored 100%
|
|
25
|
+
* before this gate while differing in everything that matters.
|
|
20
26
|
*/
|
|
21
27
|
declare function similarFiles(db: ScipDatabase, opts?: {
|
|
22
28
|
minSimilarity?: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-MKE7SEEX.js";import"../chunk-RKTDEIHF.js";import"../chunk-RIXOMSOR.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as similarFiles};
|
|
2
2
|
//# sourceMappingURL=similar-files.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-6G76D2YM.js";import"../chunk-MX6F756F.js";import"../chunk-64UY7VTR.js";import"../chunk-WEJYUS5O.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as similarSignatures};
|
|
2
2
|
//# sourceMappingURL=similar-signatures.js.map
|
package/dist/queries/similar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-K4Z3FCUJ.js";import"../chunk-RKTDEIHF.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as similar,b as similarAll};
|
|
2
2
|
//# sourceMappingURL=similar.js.map
|
package/dist/queries/slice.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-JAMU6FLN.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as slice};
|
|
2
2
|
//# sourceMappingURL=slice.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-SSINY7HL.js";import"../chunk-CVRXOP6M.js";import"../chunk-V76FCF5F.js";import"../chunk-MX6F756F.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as staleAbstractions};
|
|
2
2
|
//# sourceMappingURL=stale-abstractions.js.map
|
package/dist/queries/surface.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-UQE3DSXY.js";import"../chunk-WC43FMAB.js";import"../chunk-NOVKLH2F.js";import"../chunk-TQTVM27C.js";import"../chunk-RIXOMSOR.js";import"../chunk-EAU4RDFG.js";import"../chunk-PCMVXWDC.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as surface};
|
|
2
2
|
//# sourceMappingURL=surface.js.map
|
package/dist/queries/symbols.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-PLFYFZX3.js";import"../chunk-WC43FMAB.js";import"../chunk-7I6KNKE3.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as symbols};
|
|
2
2
|
//# sourceMappingURL=symbols.js.map
|
package/dist/queries/system.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-GD7XRHSV.js";import"../chunk-WC43FMAB.js";import"../chunk-7I6KNKE3.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as system};
|
|
2
2
|
//# sourceMappingURL=system.js.map
|
package/dist/queries/trace.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-NK7TQQG4.js";import"../chunk-6ZFKI5EP.js";import"../chunk-64UY7VTR.js";import"../chunk-7I6KNKE3.js";import"../chunk-APLCSDXL.js";import"../chunk-WEJYUS5O.js";import"../chunk-PBGTMPJ7.js";import"../chunk-SOGLYIJ4.js";import"../chunk-WQFOZIID.js";import"../chunk-NN3O7TPH.js";import"../chunk-VDZL45XI.js";export{a as trace};
|
|
2
2
|
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-DdTPetj5.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-CGIeLEpY.js';
|
|
4
|
+
|
|
5
|
+
interface UnusedParamsFinding {
|
|
6
|
+
symbol: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
file: string;
|
|
9
|
+
startLine: number;
|
|
10
|
+
endLine: number;
|
|
11
|
+
paramCount: number;
|
|
12
|
+
/** Trailing parameters never referenced in the body, in declaration order. */
|
|
13
|
+
unusedTrailing: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Speculative generality: trailing parameters nobody uses — a signature AI
|
|
17
|
+
* move (options and hooks added "for later" that never came).
|
|
18
|
+
*
|
|
19
|
+
* Deliberately conservative, TS/JS only:
|
|
20
|
+
* - TRAILING runs only — removing a trailing parameter is type-safe under
|
|
21
|
+
* TypeScript's function variance; removing a mid-list one breaks the
|
|
22
|
+
* positional contract. (Rust is excluded: call sites break, and rustc
|
|
23
|
+
* already warns there.)
|
|
24
|
+
* - `_`-prefixed names are declared-intentional and skipped.
|
|
25
|
+
* - Functions with pattern/rest parameters are skipped entirely.
|
|
26
|
+
* - One-line bodies are skipped (line-granular usage can't tell a use from
|
|
27
|
+
* the declaration itself).
|
|
28
|
+
* - Externally-live (package surface / entryRoots) symbols are skipped —
|
|
29
|
+
* their signatures are API.
|
|
30
|
+
*/
|
|
31
|
+
declare function unusedParams(db: ScipDatabase, opts?: {
|
|
32
|
+
scope?: string;
|
|
33
|
+
limit?: number;
|
|
34
|
+
scanLimit?: number;
|
|
35
|
+
files?: readonly string[];
|
|
36
|
+
}): UnusedParamsFinding[];
|
|
37
|
+
|
|
38
|
+
export { type UnusedParamsFinding, unusedParams };
|