code-auditor-mcp 3.4.0 → 3.4.2

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.
Files changed (84) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +196 -0
  3. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +1 -1
  4. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  5. package/dist/analyzers/orm/drizzleAdapter.d.ts +15 -0
  6. package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
  7. package/dist/analyzers/orm/drizzleAdapter.js +35 -2
  8. package/dist/analyzers/orm/drizzleAdapter.js.map +1 -1
  9. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  10. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +27 -8
  11. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  12. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +12 -0
  13. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +18 -1
  15. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  16. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +9 -0
  17. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  18. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +39 -0
  19. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  20. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +17 -0
  21. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  22. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +98 -33
  23. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  24. package/dist/auditRunner.d.ts.map +1 -1
  25. package/dist/auditRunner.js +39 -15
  26. package/dist/auditRunner.js.map +1 -1
  27. package/dist/churn/churnExtractor.js +4 -1
  28. package/dist/churn/churnExtractor.js.map +1 -1
  29. package/dist/cli.js +5 -2
  30. package/dist/cli.js.map +1 -1
  31. package/dist/codeIndexDB.d.ts +1 -0
  32. package/dist/codeIndexDB.d.ts.map +1 -1
  33. package/dist/codeIndexDB.js +24 -6
  34. package/dist/codeIndexDB.js.map +1 -1
  35. package/dist/componentScanner.d.ts.map +1 -1
  36. package/dist/componentScanner.js +4 -3
  37. package/dist/componentScanner.js.map +1 -1
  38. package/dist/config/configLoader.d.ts.map +1 -1
  39. package/dist/config/configLoader.js +9 -6
  40. package/dist/config/configLoader.js.map +1 -1
  41. package/dist/config/defaults.d.ts +1 -0
  42. package/dist/config/defaults.d.ts.map +1 -1
  43. package/dist/config/defaults.js +9 -2
  44. package/dist/config/defaults.js.map +1 -1
  45. package/dist/conventions/conventionMiner.d.ts.map +1 -1
  46. package/dist/conventions/conventionMiner.js +144 -47
  47. package/dist/conventions/conventionMiner.js.map +1 -1
  48. package/dist/hotspots/hotspotScorer.js +1 -1
  49. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  50. package/dist/languages/UniversalAnalyzer.js +2 -0
  51. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  52. package/dist/languages/adapterBridge.d.ts +7 -0
  53. package/dist/languages/adapterBridge.d.ts.map +1 -1
  54. package/dist/languages/adapterBridge.js +9 -2
  55. package/dist/languages/adapterBridge.js.map +1 -1
  56. package/dist/languages/tree-sitter/converter.d.ts +9 -1
  57. package/dist/languages/tree-sitter/converter.d.ts.map +1 -1
  58. package/dist/languages/tree-sitter/converter.js +13 -6
  59. package/dist/languages/tree-sitter/converter.js.map +1 -1
  60. package/dist/scripts/runBench.d.ts.map +1 -1
  61. package/dist/scripts/runBench.js +16 -4
  62. package/dist/scripts/runBench.js.map +1 -1
  63. package/dist/styles/styleIndexer.js +9 -3
  64. package/dist/styles/styleIndexer.js.map +1 -1
  65. package/dist/styles/tailwindUtilityExpander.d.ts +116 -0
  66. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -0
  67. package/dist/styles/tailwindUtilityExpander.js +880 -0
  68. package/dist/styles/tailwindUtilityExpander.js.map +1 -0
  69. package/dist/types.d.ts +4 -0
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/types.js.map +1 -1
  72. package/dist/utils/astParser.d.ts.map +1 -1
  73. package/dist/utils/astParser.js +3 -2
  74. package/dist/utils/astParser.js.map +1 -1
  75. package/dist/utils/dependencyExtractor.d.ts.map +1 -1
  76. package/dist/utils/dependencyExtractor.js +5 -3
  77. package/dist/utils/dependencyExtractor.js.map +1 -1
  78. package/dist/utils/fileDiscovery.d.ts +1 -0
  79. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  80. package/dist/utils/fileDiscovery.js +8 -2
  81. package/dist/utils/fileDiscovery.js.map +1 -1
  82. package/package.json +1 -1
  83. package/plugin/.claude-plugin/plugin.json +1 -1
  84. package/plugin/scripts/hook-audit.sh +2 -2
@@ -10,7 +10,7 @@
10
10
  "name": "code-auditor",
11
11
  "source": "./plugin",
12
12
  "description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
13
- "version": "3.4.0",
13
+ "version": "3.4.1",
14
14
  "author": {
15
15
  "name": "Ben Hammond"
16
16
  },
package/CHANGELOG.md CHANGED
@@ -2,6 +2,202 @@
2
2
 
3
3
  All notable changes to the Code Auditor MCP project.
4
4
 
5
+ ## [3.4.1] — 2026-07-24
6
+
7
+ ### Patch Release — Production Bug Fixes
8
+
9
+ Release validation (the validator's own create-and-audit integration test) caught four defects that the bench suite missed — all behind a green 1,166-test suite. Three were wiring gaps invisible to the bench by construction (the bench seeds tables directly in-memory, bypassing production service-layer wiring). The fourth was an A2 gate scope problem (the gate checked manifest structure and keyword presence but never verified doc-CLI parity).
10
+
11
+ #### Defect #1: Style Index Dead in Production
12
+
13
+ The style analyzer's index sync path (`syncStyleIndex()`) accessed `CodeIndexDB.getInstance().rawDb`, but `CodeIndexDB.getInstance()` returns an uninitialized instance — `rawDb` is only assigned in `initializeInternal()`. The `await styleDb.initialize()` call was missing, so `rawDb` was always `undefined` and every style index sync silently failed. Real-audit style findings were always empty.
14
+
15
+ **Fix** (`d601ac3`): Added `await styleDb.initialize()` before `syncStyleIndex()` in `auditRunner.ts` deepSync() styles block.
16
+
17
+ #### Defect #2: Hotspots Empty on Real Git Repos
18
+
19
+ `functions.file_path` stores absolute paths (from `discoverFiles` via `path.join()`). `file_churn` stored git-relative paths (from `git log --numstat` output). The `hotspotScorer` built its lookup Map with relative keys but queried with absolute keys — they never matched. Every hotspot on a real git repo was empty.
20
+
21
+ **Fix** (`d601ac3`): Resolve git-relative paths to absolute via `path.resolve(targetPath, parts[2])` in `churnExtractor.ts`.
22
+
23
+ **Secondary defects in same fix**:
24
+ - `clearIndex()` now clears stale `churn_hash`/`conventions_hash`/`style_last_sync` meta keys — a clear+re-sync previously skipped churn extraction
25
+ - Replaced silent `catch {}` blocks with `console.warn()` in `deepSync()` and CLI hotspots command — these swallowed the path mismatch bug for an entire release cycle
26
+ - `hotspot_scores` INSERT → INSERT OR REPLACE to handle duplicate targets from anonymous functions in the same file
27
+
28
+ #### Defect #3: SKILL.md `--tool claude` Phantom Flag & A2 Gate Expansion
29
+
30
+ The SKILL.md referenced `--tool claude` as a `generate-config` flag, but the CLI never supported it. The A2 gate ran only against the style layer (frontmatter, keyword presence) — it never checked whether the flags taught to agents actually exist.
31
+
32
+ **Fix** (uncommitted, `src/cli-integration.spec.ts`): The A2 gate now verifies doc-CLI parity. It parses every SKILL.md bash code block and inline backtick command, extracts flags and subcommand paths, calls the actual CLI's `--help` for each target, and asserts every referenced token appears in the help output. The `--tool claude` phantom would be caught immediately. 16 tests pass, 6 skip (missing subcommands not yet implemented).
33
+
34
+ #### from-audit Fingerprint Migration (One-Time Churn)
35
+
36
+ The `from_audit` handler in `projectTasks.ts` previously used divergent inline symbol extraction with a different priority order (`className` before `functionName`, missing `methodName`/`name` fields). Commit `fc5ec22` (Spec 11) replaced it with the canonical `extractSymbol()` from `symbols.ts`. The fingerprint scheme itself (SHA-256 over `[analyzer, rule, file, symbol]`) is stable and hasn't changed between v3.4.0 and v3.4.1 — the migration from divergent inline extraction to `extractSymbol()` happened in v3.1.1.
37
+
38
+ **Effect on upgrade**: Pre-existing tasks created with the old inline extraction scheme have different fingerprints than tasks created by the current code. Running `from-audit` after upgrading from pre-v3.1.1 will produce duplicate tasks on the first run — the old fingerprints won't match dedup checks. Subsequent runs use the new stable fingerprints and deduplicate correctly.
39
+
40
+ #### CSS Discovery Fix
41
+
42
+ The Style Intelligence analyzer's file discovery didn't include `.css`/`.scss` extensions in the default extension list (`ALL_EXTENSIONS`), so CSS/SCSS files were never discovered by `findFiles()` — even though the CSS adapter, CSS/SCSS tree-sitter grammars, and style extractor were all fully functional. A full audit on a project with CSS files would produce zero style findings because no CSS files were ever indexed.
43
+
44
+ **Fix** (uncommitted, `src/utils/fileDiscovery.ts`): Added `CSS_EXTENSIONS` (`['.css', '.scss']`) to `ALL_EXTENSIONS`.
45
+
46
+ #### Release Riders
47
+
48
+ - **Hook-contract regression guard** (`9773144`): Added `hookContractViolations` field to bench output
49
+ - **GROUND-TRUTH.md §9** (`6b38fa9`): Documented `nextSessionsCursor` and `withRetry` as known SDK-level gaps
50
+ - **Conventions analyzer** (`9773144`): Fixed line-0 violation (line 0 → line 9) in Spec-15 evidence
51
+
52
+ ### Changed Files
53
+
54
+ | File | Change |
55
+ |------|--------|
56
+ | `src/auditRunner.ts` | Add `await styleDb.initialize()` before style index sync |
57
+ | `src/utils/fileDiscovery.ts` | Add CSS_EXTENSIONS to ALL_EXTENSIONS |
58
+ | `src/scripts/churnExtractor.ts` | Resolve git-relative paths to absolute |
59
+ | `src/codeIndexDB.ts` | Clear stale meta keys on index reset; INSERT OR REPLACE on hotspot_scores |
60
+ | `src/cli.ts` | Replace silent catch with console.warn in hotspots command |
61
+ | `src/cli-integration.spec.ts` | A2 gate expansion — doc-CLI parity tests (16 pass, 6 skip) |
62
+ | `GROUND-TRUTH.md` | §9: Known Issues — SDK/Integration Surface |
63
+
64
+ ## [3.4.2] — 2026-07-26
65
+
66
+ ### R4: SQL Extraction Regression Fix
67
+
68
+ Post-release dogfood triage surfaced false positives from three sources in the SQL extraction pipeline. None were structural bugs in the detection logic — they were routing failures: SQL-looking JS patterns reaching the extraction stage without DB context gates.
69
+
70
+ **The root cause was a one-emitter-law violation**: Spec 15's ORM extraction path introduced a **second emitter** — `DrizzleAdapter.extractTableReferences()` — that scanned every `call_expression` in every `.ts` file for `.from()`/`.insert()`/`.delete()` patterns. It bypassed the shared gates that protect the three regular SQL extraction paths (tagged templates gate on `sql` identifiers, DB-call patterns gate on provenance + db-member checks, file-type gates on `.sql`/migration directories). The Drizzle adapter had its own gate system — but that system was incomplete: no file-level import check, no expression-level companion requirements. Generic method calls like `Array.from(map)` in non-Drizzle files reached the extraction stage and produced false positives across rule IDs `loop-query` and `sql-injection`.
71
+
72
+ **Registry accounting** (rule IDs affected by the Drizzle emitter, confirmed by Spec 22 fixture coverage):
73
+ | Rule ID | Affected? | Rationale |
74
+ |---------|-----------|-----------|
75
+ | `schema/loop-query` | Yes | Drizzle emitted table refs → N+1 detection in loop context |
76
+ | `schema/sql-injection` | Yes | Drizzle emitted raw refs → injection check on unescaped inputs |
77
+ | `data-access/loop-query` | Yes | Same Drizzle-emitted refs, data-access analyzer path |
78
+ | `data-access/sql-injection` | Yes | Same Drizzle-emitted refs, data-access analyzer path |
79
+ | `schema/unknown-table` | Yes | Drizzle emitted table names → unknown-table validation |
80
+ | `schema/missing-schemas` | Indirect | Depends on table references from the same pipeline |
81
+ | All other rule IDs | No | No Drizzle-origin data reaches these detection chains |
82
+
83
+ The Prisma adapter was **not a rogue path**: `prisma.modelName.op()` syntax requires the `prisma.` identifier prefix and known operation names — a strong gate by construction. Regular SQL extraction paths (1–3) all have their own independent strong gates. Drizzle was the **only** gate-incomplete emitter.
84
+
85
+ **Post-verification** (2026-07-20): Re-ran the registry accounting across all four SQL extraction paths (tagged-template, DB-call, .sql/migration, ORM adapters). Confirmed Drizzle was the sole gate-incomplete emitter pre-fix — no other path lacked self-gating. The two-level gate (file import + companion methods) fully closes the vector.
86
+
87
+ #### R4.2: Routing Gates (Drizzle Adapter)
88
+
89
+ **File-level gate** (`DrizzleAdapter.extractTableReferences()`): The adapter now checks whether the file imports `drizzle-orm` before scanning for query operations. Without this gate, `Array.from(map)` in any `.ts` file produces a false `select` finding — the `.from()` method on `Array` has no semantic relationship to Drizzle query building.
90
+
91
+ **Expression-level gates**: Each extraction pattern now requires companion Drizzle methods to confirm DB context:
92
+ - `.from(identifier)` requires `.select()` in the same expression
93
+ - `.insert(identifier)` requires `.values()` in the same expression
94
+ - `.delete(identifier)` requires `.where()` in the same expression
95
+
96
+ These gates prevent generic `.from()`, `.insert()`, `.delete()` method calls on non-DB objects from being misinterpreted as table references.
97
+
98
+ #### R4.2: Routing Gates (Data-Access Shared Gate)
99
+
100
+ **Variable-assignment gate** (`containsSQLStructure()`): Raised the SQL keyword threshold from 1 to 2 for variable-assignment detection. A single `FROM` substring match (e.g., inside `Array.from()`) produced ~120 false positives on the recall corpus. Genuine SQL in variable assignments (`const q = "SELECT * FROM users"`) contains ≥2 keywords and still passes.
101
+
102
+ #### R4.3: SQL Alias Filtering
103
+
104
+ The SQL table-reference regex captures table names after `FROM`/`JOIN` keywords by matching `[\p{L}\p{N}_]+` followed by a word boundary. In `JOIN u.posts`, the `.` after `u` creates a word boundary, so the regex captures `u` — an alias for `users`, not a real table. Without filtering, every `JOIN alias.column` pattern produces a false `unknown-table` violation for the alias.
105
+
106
+ **Fix**: `extractAliasIdentifiers()` scans the SQL text for two alias patterns:
107
+ 1. **Explicit**: `FROM x AS t` / `JOIN x AS t` — `AS` keyword
108
+ 2. **Bare**: `FROM x t` / `JOIN x t` — no `AS` keyword, guarded by after-match dot check and `isSqlKeyword()` filtering
109
+
110
+ Extracted alias identifiers are subtracted from the table-reference list in `parseSqlTables()` before the list is returned.
111
+
112
+ #### R4.4: Bench Fixtures
113
+
114
+ - `src/no-sql-signal.ts` (both `data-access` and `schema` corpora): `Array.map`, `.toLowerCase`, `.insert()`, `.delete()`, `.update()` on plain JS objects — asserted as near-miss files producing zero SQL findings across all SQL-adjacent rule IDs.
115
+ - `src/aliased-queries.ts` (schema corpus): queries with explicit and bare aliases referencing only known tables — asserted as near-miss, confirming alias filtering prevents false `unknown-table` violations.
116
+
117
+ ### R1–R3 (Completed Previously)
118
+
119
+ - **R1**: `styles/undefined-class` — generated Tailwind utility dictionary; undefined-class detection now distinguishes "unknown in Tailwind" from "class from a different framework"
120
+ - **R2**: `styles/token-bypass` — CSS custom property definitions (`--color:`) and `var()` references are no longer flagged as token bypasses
121
+ - **R3**: `styles/value-drift` — categorical CSS properties (`display`, `position`, `overflow`, etc.) excluded from value-drift detection; their values are enumerations, not magnitudes
122
+
123
+ ### R5: Conventions — Naming Partitioning and Usage-Pair Noise Reduction
124
+
125
+ Post-release triage surfaced ~200 false positives in the conventions analyzer, concentrated in two areas: misleading naming conventions from mixed populations, and usage-pair correlation on built-in/stdlib methods where co-occurrence is arithmetic, not project convention.
126
+
127
+ #### R5.1: Naming Conventions Partitioned by Export Kind
128
+
129
+ Before this fix, the convention miner computed a single dominant casing mode per directory across all exported symbols. A directory with 40 PascalCase React components, 5 camelCase hooks, and 1 snake_case utility function would generate a `conventions/naming` violation for the utility — the miner treated all exports as a single population. With this fix, exports are partitioned into four populations before computing a mode:
130
+
131
+ - **React components** — JSX-returning / `.tsx` PascalCase entities
132
+ - **Hooks** — `use`-prefixed functions
133
+ - **Functions** — all other exported functions
134
+ - **Constants** — top-level literal-initialized exports
135
+
136
+ Each population must meet `minCorpus` independently; sub-threshold populations produce no conventions and no violations. Stored in the `export_kind` column of the `conventions` table (schema migration v8).
137
+
138
+ **Impact**: Eliminates false naming violations where legitimate convention in one population (e.g., PascalCase components) was used to judge a different population's naming (e.g., `use`-prefixed hooks or single utility functions).
139
+
140
+ #### R5.2: Built-in/Stdlib Excluded from Usage-Pair Mining
141
+
142
+ Usage-pair mining detects co-occurring function calls — "functions that call `A` also call `B`" — and flags deviations. Before this fix, built-in and standard library methods (`slice`, `trim`, `map`, `push`, `parse`, `stringify`, etc.) were treated as antecedents and consequents. Co-occurrence of universal methods is arithmetic, not convention: every function that calls `map` also calls `push` at some point, but that's not a meaningful project convention.
143
+
144
+ **Fix**: A comprehensive exclusion set (~80 identifiers covering Array, String, Object, Math, JSON, Promise, Console, and timer methods) is filtered from both antecedent and consequent positions. Antecedents must also be project-defined symbols resolvable in the function index — a `functions`-table membership check gates every antecedent.
145
+
146
+ **Threshold changes**: `pairConfidence` floor rises from 0.9 → 0.95 and `minCorpus` from 20 → 30. These are interim values, sweepable in the next recalibration pass.
147
+
148
+ ### R6: Evidence Bundle
149
+
150
+ All six defect classes are covered by bench fixtures in `bench/corpus/`:
151
+ - **styles**: `undefined-class`, `token-bypass`, `value-drift` fixtures with positive and near-miss files
152
+ - **data-access/schema**: `no-sql-signal.ts` near-miss (JS identifiers as SQL), `aliased-queries.ts` near-miss (alias filtering)
153
+ - **conventions**: all five rule domains (`usage-pair`, `import-form`, `error-handling`, `export-shape`, `naming`) at F1=1.0 with updated mining logic
154
+
155
+ Every touched rule remains at `suggestion` severity. The hook path is byte-identical to v3.4.1 on hook-contract fixtures. Evidence bundle at `specs/evidence/spec-22/`.
156
+
157
+ ### R7: JSON-Purity Contamination Fix
158
+
159
+ The `codeIndexDB.ts:1233` migration log path wrote to stdout via `console.log`. In `--json` mode, this contaminated the JSON output stream with non-JSON text, breaking downstream consumers that `JSON.parse()` the stdout. Switched to `console.error` (stderr) to keep migration notices off the JSON stream. Three purity tests added to `baseline.test.ts` for the hook-contract-critical paths: `changed --json`, `changed --stdin --json`, and zero-match edge case.
160
+
161
+ ### R8: isDynamic Extraction False Positives
162
+
163
+ `extractClassUsage()` only marked template-literal dynamic expressions as unresolvable; simple variables and ternaries passed through. All `{…}` wrapped expressions are now `unresolvable: true`, and the detector skips per-entry, not per-file. The undefined-class detector no longer false-flags runtime class-name expressions.
164
+
165
+ ### R9: Line-Number Conversion Sweep
166
+
167
+ **Root cause**: `toSourceLocation()` in `converter.ts` returned 0-based positions from tree-sitter without conversion, despite a comment saying "convert to 1-based columns." This created three divergent pipelines — callers compensated individually, some double-compensated, and raw TS node access bypassed the converter entirely. The sweep fixed 6 files at 6 edit locations:
168
+
169
+ - **`converter.ts`**: Single conversion point — all four position fields (line/column, start/end) now `+ 1`
170
+ - **`adapterBridge.ts`**: Removed internal `+ 1` compensation (now identity over `toSourceLocation()`)
171
+ - **`UniversalAnalyzer.ts`**: Removed scattered `+ 1` compensation in `createViolation()`
172
+ - **`astParser.ts`**: Removed `+ 1` compensation on parse error positions
173
+ - **`componentScanner.ts`**: Removed DOUBLE compensation (was 2-based)
174
+ - **`dependencyExtractor.ts`**: Removed DOUBLE compensation on call graph edges and usage records
175
+
176
+ **Secondary effects**: Mixed-basis DB spans resolved (some records had 1-based start + 0-based end), churn attribution off-by-one resolved, `validateHookContract` guard behavior preserved.
177
+
178
+ **Invariant**: All positions returned by `toSourceLocation()` are now 1-based. The single conversion point is mechanically enforced — zero `+ 1` compensations remain in the tree-sitter→adapter→consumer pipeline. Full sweep report at `specs/evidence/spec-22/line-number-sweep.md`.
179
+
180
+ ### R10: JSON Purity Test Expansion
181
+
182
+ Extended JSON purity tests from 3 to 17, covering all major `--json` CLI commands: `index status`, `config rules-list`, `config profiles`, `config detection`, `search`, `tasks list`, `tasks from-audit`, `hotspots`, `ledger stats`, `ledger list`, `risk`, `baseline`, `conventions list`, and `architecture`. Every test verifies `JSON.parse(stdout)` succeeds with zero non-JSON text.
183
+
184
+ ### R11: Hook-Path Diagnostic
185
+
186
+ Traced a stale footer error to the published plugin's hook script (`hook-audit.sh` line 50: `2>&1`) — the hook re-merges stderr into stdout after the repo correctly separated them. The repo is fixed; the hook script fix ships with the next plugin version. Diagnostic at `specs/evidence/spec-22/verify-close.md`.
187
+
188
+ ### Changed Files
189
+
190
+ | File | Change |
191
+ |------|--------|
192
+ | `src/languages/tree-sitter/converter.ts` | Add `+ 1` to all position fields; invariant JSDoc |
193
+ | `src/languages/adapterBridge.ts` | Remove internal `+ 1` compensation |
194
+ | `src/languages/UniversalAnalyzer.ts` | Remove scattered `+ 1` in `createViolation()` |
195
+ | `src/utils/astParser.ts` | Remove `+ 1` on parse error positions |
196
+ | `src/componentScanner.ts` | Remove double compensation (2-based → 1-based) |
197
+ | `src/utils/dependencyExtractor.ts` | Remove double compensation on call graph edges |
198
+ | `src/codeIndexDB.ts` | `console.log` → `console.error` for migration notices |
199
+ | `src/__tests__/baseline.test.ts` | 14 new JSON purity tests (3→17 total) |
200
+
5
201
  ## [3.3.0] — 2026-07-20
6
202
 
7
203
  ### Spec-10: Style Intelligence — Distribution-Aware Style Analysis
@@ -451,7 +451,7 @@ export class CrossDomainAnalyzer extends UniversalAnalyzer {
451
451
  for (const fn of untested) {
452
452
  violations.push({
453
453
  file: fn.filePath,
454
- line: 0, // Risk-based finding; no single line anchors this
454
+ line: fn.lineNumber ?? 1,
455
455
  column: 0,
456
456
  severity: 'suggestion',
457
457
  message: `Exported function '${fn.functionName}' (risk ${fn.riskScore.toFixed(3)}) has no measured test coverage. ` +
@@ -1 +1 @@
1
- {"version":3,"file":"CrossDomainAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/crossDomain/CrossDomainAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AA2BtD,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAC/C,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,kFAAkF,CAAC;IAC5E,QAAQ,GAAG,cAAc,CAAC;IAEnC;;;;OAIG;IACH,KAAK,CAAC,OAAO,CACX,KAAe,EACf,MAAM,GAAQ,EAAE,EAChB,OAAO,GAAQ,EAAE;QAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,GAAI,EAAU,CAAC,KAAK,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;gBACnE,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aACzF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aACzF,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAiC,CAAC;QAC7D,MAAM,cAAc,GAAG,WAAW;YAChC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,WAAW,GAAG,EAAE;YACnF,CAAC,CAAC,SAAS,CAAC;QAEd,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,SAAS,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,SAAS,CAAC,6BAA6B,KAAK,KAAK,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;YAC/C,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAoD,CAAC;QAC3E,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAsC,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,OAAO;YACL,UAAU;YACV,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACrC,OAAO,EAAE;gBACP,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,eAAe,EAAE,UAAU,CAAC,MAAM;gBAClC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACtC;SACF,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,UAAU;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2EAA2E;IAE3E;;;OAGG;IACK,sBAAsB,CAAC,KAAU,EAAE,QAAyB;QAClE,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhD,MAAM,IAAI,GAAG,KAAK;aACf,OAAO,CACN;;;aAGK,OAAO;;wFAEoE,OAAO;;wCAEvD,CACjC;aACA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAqB,CAAC;QAElF,mEAAmE;QACnE,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,SAAS;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,GAAG,CAAC,SAAS;gBACnB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,UAAU,GAAG,CAAC,UAAU,iBAAiB,GAAG,CAAC,UAAU,kFAAkF;gBAClJ,IAAI,EAAE,iCAAiC;gBACvC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,YAAY,EAAE,GAAG,CAAC,aAAa;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2EAA2E;IAE3E;;;;OAIG;IACK,sBAAsB,CAAC,KAAU,EAAE,QAAyB;QAClE,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhD,MAAM,IAAI,GAAG,KAAK;aACf,OAAO,CACN;;;aAGK,OAAO;;;4EAGwD,OAAO;;wCAE3C,CACjC;aACA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAqB,CAAC;QAElF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,SAAS;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,GAAG,CAAC,SAAS;gBACnB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,UAAU,GAAG,CAAC,UAAU,yIAAyI;gBAC1K,IAAI,EAAE,iCAAiC;gBACvC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,YAAY,EAAE,GAAG,CAAC,aAAa;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2EAA2E;IAE3E;;;;;;;OAOG;IACK,6BAA6B,CACnC,KAAU,EACV,WAAmB,EACnB,QAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qDAAqD;QACpH,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,UAAU,GAAG,KAAK;aACrB,OAAO,CACN;;;;;;WAMG,UAAU;iDAC4B,CAC1C;aACA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,CAAC;QAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAU/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,kCAAkC;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE3C,mEAAmE;YACnE,yDAAyD;YACzD,MAAM,UAAU,GAAG,KAAK;iBACrB,OAAO,CACN;sDAC4C,CAC7C;iBACA,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAoC,CAAC;YAEvE,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,uDAAuD;gBACvD,MAAM,WAAW,GAAG,KAAK;qBACtB,OAAO,CACN,oDAAoD,CACrD;qBACA,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAGtC,CAAC;gBAEH,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;oBAC7B,MAAM,YAAY,GAAG,KAAK;yBACvB,OAAO,CACN;;yDAE2C,CAC5C;yBACA,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAkC,CAAC;oBAE/D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;wBAC9B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,QAAQ,CAAC,QAAQ;oBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,sBAAsB,SAAS,CAAC,IAAI,gCAAgC,WAAW,MAAM,SAAS,gHAAgH;oBACvN,IAAI,EAAE,mCAAmC;oBACzC,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;OASG;IACK,sBAAsB,CAC5B,KAAU,EACV,MAA6B,EAC7B,QAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,EACJ,UAAU,EAAE,cAAc,GAAG,EAAE,EAC/B,SAAS,GAAG,GAAG,EACf,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,CAAC,GACV,GAAG,MAAM,CAAC;QAEX,0EAA0E;QAE1E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,yEAAyE;QACzE,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,KAAK;qBACf,OAAO,CAAC,2DAA2D,CAAC;qBACpE,GAAG,CAAC,KAAK,EAAE,KAAK,CAA0B,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,IAAI;oBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,KAAK;qBACf,OAAO,CAAC,yCAAyC,CAAC;qBAClD,GAAG,CAAC,CAAC,CAA0B,CAAC;gBACnC,KAAK,MAAM,CAAC,IAAI,IAAI;oBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,gEAAgE;QAChE,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YAEtE,MAAM,cAAc,GAAG,KAAK;iBACzB,OAAO,CACN;;oBAEU,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;iCACX,CACxB;iBACA,GAAG,CAAC,GAAG,UAAU,CAA0B,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,cAAc;gBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,MAAM,cAAc,GAAG,KAAK;iBACzB,OAAO,CACN;;iCAEuB,CACxB;iBACA,GAAG,EAA2B,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,cAAc;gBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAE/C,0EAA0E;QAE1E,MAAM,YAAY,GAAG,QAAQ;YAC3B,CAAC,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAG,KAAK;aAClB,OAAO,CACN;;;;;WAKG,YAAY;iDAC0B,CAC1C;aACA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAK1C,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAS5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEzD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,cAAc;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CACtC,KAAK,EACL,CAAC,CAAC,WAAW,EACb,YAAY,EACZ,KAAK,CACN,CAAC;YACF,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE;gBACtB,OAAO;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,aAAa;aAC1B,CAAC,CAAC;QACL,CAAC;QAWD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,sDAAsD;QAEzF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;gBACxB,GAAG;gBACH,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,CAAC,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;QAED,0EAA0E;QAE1E,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC;YAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,SAAS;gBAAE,SAAS;YAE/C,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACnE,MAAM,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;YAElD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;gBACvB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,IAAI,CAAC,CAAC,OAAO;wBAAE,SAAS;oBACxB,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,CAAC,CAAC,QAAQ;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,OAAO,EACL,aAAa,CAAC,CAAC,QAAQ,sBAAsB;4BAC7C,GAAG,YAAY,IAAI,aAAa,CAAC,MAAM,qBAAqB,GAAG,IAAI;4BACnE,6DAA6D,KAAK,KAAK;4BACvE,mCAAmC;wBACrC,IAAI,EAAE,gCAAgC;wBACtC,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,YAAY,EAAE,CAAC,CAAC,QAAQ;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;OAQG;IACK,mBAAmB,CACzB,KAAU,EACV,QAAwB,EACxB,QAAyB;QAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,GAAG,CAAC;QAEpD,wCAAwC;QACxC,MAAM,aAAa,GACjB,KAAK;aACF,OAAO,CAAC,oEAAoE,CAAC;aAC7E,GAAG,EACP,CAAC,GAAG,CAAC;QAEN,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,wDAAwD;YACxD,MAAM,QAAQ,GAAG,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAExD,yDAAyD;YACzD,MAAM,SAAS,GAAG,KAAK;iBACpB,OAAO,CACN,gFAAgF,CACjF;iBACA,GAAG,EAAuE,CAAC;YAC9E,MAAM,YAAY,GAAG,SAAS,EAAE,MAAM,IAAI,SAAS,CAAC;YACpD,MAAM,UAAU,GAAG,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC;YAElD,0EAA0E;YAC1E,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC;gBAClE,IAAI,QAAQ,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;oBACtC,YAAY;wBACV,yDAAyD,UAAU,IAAI;4BACvE,uBAAuB,QAAQ,KAAK;4BACpC,4EAA4E,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,EAAE,CAAC,QAAQ;oBACjB,IAAI,EAAE,CAAC,EAAE,kDAAkD;oBAC3D,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,OAAO,EACL,sBAAsB,EAAE,CAAC,YAAY,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC;wBAC1G,oHAAoH;wBACpH,CAAC,YAAY,IAAI,EAAE,CAAC;oBACtB,IAAI,EAAE,6BAA6B;oBACnC,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,YAAY;oBACZ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,6DAA6D;YAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAU,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE1C,MAAM,WAAW,GAAG,KAAK;iBACtB,OAAO,CACN;;;;;;;;;;;;gBAYM,OAAO;;;;;mCAKY,CAC1B;iBACA,GAAG,CAAC,GAAG,MAAM,CAMd,CAAC;YAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YAEhD,0DAA0D;YAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;YAC1F,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CACnD,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAC5C,CAAC;YAEF,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,cAAc,GAAG,gBAAgB;qBAC9B,GAAG,CAAC,CAAC,EAAU,EAAE,CAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC;qBAClD,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChB,KAAK,MAAM,CAAC,IAAI,gBAAgB;oBAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,aAAa,GAAG,KAAK;qBACxB,OAAO,CAAC,kCAAkC,cAAc,EAAE,CAAC;qBAC3D,GAAG,CAAC,GAAG,cAAc,CAA0B,CAAC;gBACnD,KAAK,MAAM,EAAE,IAAI,aAAa;oBAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,qEAAqE;YACrE,uEAAuE;YACvE,uBAAuB;YACvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAEhD,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;oBAClC,IAAI,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC;oBAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClC,MAAM,SAAS,GAAa,EAAE,CAAC;wBAC/B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;4BAClC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gCAAE,SAAS;4BAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BACpB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAEzB,MAAM,OAAO,GAAG,KAAK;iCAClB,OAAO,CACN;8DAC4C,CAC7C;iCACA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAoC,CAAC;4BAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gCAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gCACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oCAC/C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC3B,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,YAAY,GAAG,SAAS,CAAC;oBAC3B,CAAC;oBACD,mBAAmB;oBACnB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;wBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;4BAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,EAAE,CAAC,SAAS;wBAClB,IAAI,EAAE,EAAE,CAAC,WAAW;wBACpB,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,OAAO,EACL,sBAAsB,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,4CAA4C;4BAC5G,2FAA2F;wBAC7F,IAAI,EAAE,6BAA6B;wBACnC,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,YAAY,EAAE,EAAE,CAAC,IAAI;wBACrB,KAAK,EAAE,cAAc;qBACtB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,KAAU,EACV,WAAmB,EACnB,YAAyB,EACzB,QAAgB;QAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAEpB,0CAA0C;gBAC1C,MAAM,OAAO,GAAG,KAAK;qBAClB,OAAO,CACN;wDAC4C,CAC7C;qBACA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAoC,CAAC;gBAE1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC/C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"CrossDomainAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/crossDomain/CrossDomainAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,27 @@ export declare class DrizzleAdapter implements OrmAdapter {
14
14
  readonly fileExtensions: string[];
15
15
  supportsFile(filePath: string): boolean;
16
16
  extractTableReferences(ast: AST, adapter: LanguageAdapter, sourceCode: string): OrmTableReference[];
17
+ /**
18
+ * Spec 22 R4.2: Check whether the file imports from drizzle-orm.
19
+ *
20
+ * Scans import statement text for "drizzle-orm" — faster and more
21
+ * reliable than AST traversal across language adapters.
22
+ */
23
+ private fileImportsDrizzleOrm;
17
24
  /**
18
25
  * Try to extract a table reference from a Drizzle query chain.
19
26
  *
20
27
  * Pattern: db.select().from(users) or db.insert(users).values(...)
21
28
  * The table identifier is the argument to .from(), or the argument to
22
29
  * insert()/update()/delete() when they take a table directly.
30
+ *
31
+ * Spec 22 R4.2: Each pattern requires companion Drizzle methods in the
32
+ * same expression to avoid matching generic .from()/.insert()/.delete()
33
+ * calls (e.g. Array.from(map), .insert(record), .delete(id)).
34
+ * - .from(identifier) requires .select() in the expression
35
+ * - .insert(identifier) requires .values() in the expression
36
+ * - .update(identifier) already requires .set() — no change needed
37
+ * - .delete(identifier) requires .where() in the expression
23
38
  */
24
39
  private extractQueryTable;
25
40
  extractSchemaDefinitions(ast: AST, adapter: LanguageAdapter, sourceCode: string): OrmSchemaDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"drizzleAdapter.d.ts","sourceRoot":"","sources":["../../../src/analyzers/orm/drizzleAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,GAAG,EAAW,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA2B9E,qBAAa,cAAe,YAAW,UAAU;IAC/C,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,cAAc,WAAkC;IAEzD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtC;IAID,sBAAsB,CACpB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CAWrB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAwDzB,wBAAwB,CACtB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,MAAM,GACjB,mBAAmB,EAAE,CAWvB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CA6B/B"}
1
+ {"version":3,"file":"drizzleAdapter.d.ts","sourceRoot":"","sources":["../../../src/analyzers/orm/drizzleAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,GAAG,EAAW,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA2B9E,qBAAa,cAAe,YAAW,UAAU;IAC/C,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,cAAc,WAAkC;IAEzD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtC;IAID,sBAAsB,CACpB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CAkBrB;IAED;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IA4DzB,wBAAwB,CACtB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,MAAM,GACjB,mBAAmB,EAAE,CAWvB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CA6B/B"}
@@ -36,6 +36,12 @@ export class DrizzleAdapter {
36
36
  }
37
37
  // ── Table references from query operations ──────────────────────────────
38
38
  extractTableReferences(ast, adapter, sourceCode) {
39
+ // Spec 22 R4.2: File-level gate — only scan files that import drizzle-orm.
40
+ // Prevents false positives from generic .from()/.insert()/.delete() calls
41
+ // in non-Drizzle files (e.g. Array.from(map) → map flagged as a table).
42
+ if (!this.fileImportsDrizzleOrm(ast, adapter, sourceCode)) {
43
+ return [];
44
+ }
39
45
  const references = [];
40
46
  // Find all call_expression nodes
41
47
  const calls = adapter.findNodes(ast, { type: 'call_expression' });
@@ -46,18 +52,42 @@ export class DrizzleAdapter {
46
52
  }
47
53
  return references;
48
54
  }
55
+ /**
56
+ * Spec 22 R4.2: Check whether the file imports from drizzle-orm.
57
+ *
58
+ * Scans import statement text for "drizzle-orm" — faster and more
59
+ * reliable than AST traversal across language adapters.
60
+ */
61
+ fileImportsDrizzleOrm(ast, adapter, sourceCode) {
62
+ const importNodes = adapter.findNodes(ast, { type: 'import_statement' });
63
+ for (const node of importNodes) {
64
+ const text = adapter.getNodeText(node, sourceCode);
65
+ if (text.includes('drizzle-orm'))
66
+ return true;
67
+ }
68
+ return false;
69
+ }
49
70
  /**
50
71
  * Try to extract a table reference from a Drizzle query chain.
51
72
  *
52
73
  * Pattern: db.select().from(users) or db.insert(users).values(...)
53
74
  * The table identifier is the argument to .from(), or the argument to
54
75
  * insert()/update()/delete() when they take a table directly.
76
+ *
77
+ * Spec 22 R4.2: Each pattern requires companion Drizzle methods in the
78
+ * same expression to avoid matching generic .from()/.insert()/.delete()
79
+ * calls (e.g. Array.from(map), .insert(record), .delete(id)).
80
+ * - .from(identifier) requires .select() in the expression
81
+ * - .insert(identifier) requires .values() in the expression
82
+ * - .update(identifier) already requires .set() — no change needed
83
+ * - .delete(identifier) requires .where() in the expression
55
84
  */
56
85
  extractQueryTable(node, adapter, sourceCode) {
57
86
  const text = adapter.getNodeText(node, sourceCode);
58
87
  // db.select().from(tableName)
88
+ // Spec 22 R4.2: Require .select() companion — prevents Array.from(map) false positives.
59
89
  const fromMatch = text.match(/\.from\s*\(\s*(\w+)\s*\)/);
60
- if (fromMatch) {
90
+ if (fromMatch && /\.select\s*\(/.test(text)) {
61
91
  return {
62
92
  table: fromMatch[1],
63
93
  type: 'select',
@@ -66,6 +96,7 @@ export class DrizzleAdapter {
66
96
  };
67
97
  }
68
98
  // db.insert(tableName).values(...) → insert
99
+ // Spec 22 R4.2: Requires .values() companion — prevents generic .insert(record) false positives.
69
100
  const insertMatch = text.match(/\.insert\s*\(\s*(\w+)\s*\)/);
70
101
  if (insertMatch && /\.values\s*\(/.test(text)) {
71
102
  return {
@@ -76,6 +107,7 @@ export class DrizzleAdapter {
76
107
  };
77
108
  }
78
109
  // db.update(tableName).set(...) → update
110
+ // Already gated by .set() — no Spec 22 change needed.
79
111
  const updateMatch = text.match(/\.update\s*\(\s*(\w+)\s*\)/);
80
112
  if (updateMatch && /\.set\s*\(/.test(text)) {
81
113
  return {
@@ -86,8 +118,9 @@ export class DrizzleAdapter {
86
118
  };
87
119
  }
88
120
  // db.delete(tableName).where(...) → delete
121
+ // Spec 22 R4.2: Require .where() companion — prevents generic .delete(id) false positives.
89
122
  const deleteMatch = text.match(/\.delete\s*\(\s*(\w+)\s*\)/);
90
- if (deleteMatch) {
123
+ if (deleteMatch && /\.where\s*\(/.test(text)) {
91
124
  return {
92
125
  table: deleteMatch[1],
93
126
  type: 'delete',
@@ -1 +1 @@
1
- {"version":3,"file":"drizzleAdapter.js","sourceRoot":"","sources":["../../../src/analyzers/orm/drizzleAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,SAAS;IACT,YAAY;IACZ,aAAa;CACd,CAAC,CAAC;AAEH,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,MAAM,aAAa,GAA8C;IAC/D,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,SAAS,CAAC;IACjB,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzD,YAAY,CAAC,QAAgB;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,2EAA2E;IAE3E,sBAAsB,CACpB,GAAQ,EACR,OAAwB,EACxB,UAAkB;QAElB,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,GAAG;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CACvB,IAAa,EACb,OAAwB,EACxB,UAAkB;QAElB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnD,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC7B,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;aACtB,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7D,IAAI,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC7B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;aACxB,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7D,IAAI,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC7B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;aACxB,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC7B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;aACxB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAE3E,wBAAwB,CACtB,GAAQ,EACR,OAAwB,EACxB,UAAkB;QAElB,MAAM,WAAW,GAA0B,EAAE,CAAC;QAE9C,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACnE,IAAI,GAAG;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAC5B,IAAa,EACb,OAAwB,EACxB,UAAkB;QAElB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnD,qDAAqD;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,mEAAmE,CACpE,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAElC,qDAAqD;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAElD,OAAO;YACL,SAAS;YACT,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAC5B,IAAY;QAEZ,MAAM,OAAO,GAA0C,EAAE,CAAC;QAE1D,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC;QAE9B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEzB,iDAAiD;QACjD,oEAAoE;QACpE,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC5C,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,oCAAoC;YACpC,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,8GAA8G,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtJ,wDAAwD;gBACxD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"drizzleAdapter.js","sourceRoot":"","sources":["../../../src/analyzers/orm/drizzleAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalConventionsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAa,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAc3F,eAAO,MAAM,0BAA0B,EAAE,yBAKxC,CAAC;AAyCF,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,4EACuD;IAC3E,QAAQ,CAAC,QAAQ,WAAW;IAE5B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CA+FzB;IAED,yCAAyC;IACnC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAEjC;IAID;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA+EjC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkGlC;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAuErC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgEnC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CA8D/B"}
1
+ {"version":3,"file":"UniversalConventionsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAa,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAc3F,eAAO,MAAM,0BAA0B,EAAE,yBAKxC,CAAC;AAyCF,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,4EACuD;IAC3E,QAAQ,CAAC,QAAQ,WAAW;IAE5B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CA+FzB;IAED,yCAAyC;IACnC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAEjC;IAID;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA+EjC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkGlC;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAuErC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgEnC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAgG/B"}
@@ -21,8 +21,8 @@ import { detectCase, detectErrorHandlingShape, detectExportForm, parseFileImport
21
21
  // Default configuration
22
22
  // ---------------------------------------------------------------------------
23
23
  export const DEFAULT_CONVENTIONS_CONFIG = {
24
- minCorpus: 20,
25
- pairConfidence: 0.9,
24
+ minCorpus: 30,
25
+ pairConfidence: 0.95,
26
26
  modeShare: 0.8,
27
27
  maxConventionsPerDomain: 200,
28
28
  };
@@ -393,28 +393,47 @@ export class UniversalConventionsAnalyzer extends UniversalAnalyzer {
393
393
  */
394
394
  detectNamingViolations(rawDb, conventions) {
395
395
  const violations = [];
396
- // directory → dominantCase
397
- const dirCases = new Map();
396
+ // directory → kind → convention
397
+ const dirKindCases = new Map();
398
398
  for (const conv of conventions) {
399
399
  const dir = conv.directory ?? '.';
400
400
  const casing = conv.pattern;
401
401
  if (!casing)
402
402
  continue;
403
- dirCases.set(dir, {
403
+ const kind = conv.export_kind ?? 'function';
404
+ if (!dirKindCases.has(dir))
405
+ dirKindCases.set(dir, new Map());
406
+ dirKindCases.get(dir).set(kind, {
404
407
  casing,
405
408
  confidence: conv.confidence,
406
409
  exemplar_file: conv.exemplar_file,
407
410
  exemplar_line: conv.exemplar_line,
411
+ kind,
408
412
  });
409
413
  }
410
414
  const rows = rawDb
411
- .prepare(`SELECT id, name, file_path, line_number, is_exported
415
+ .prepare(`SELECT id, name, file_path, line_number, is_exported, entity_type, component_type
412
416
  FROM functions
413
417
  WHERE is_exported = 1`)
414
418
  .all();
415
419
  for (const row of rows) {
416
420
  const directory = path.dirname(row.file_path) || '.';
417
- const conv = dirCases.get(directory);
421
+ // Classify into export kind (same logic as mineNaming)
422
+ let rowKind;
423
+ if (row.entity_type === 'component' || row.component_type !== null) {
424
+ rowKind = 'react-component';
425
+ }
426
+ else if (/^use[A-Z]/.test(row.name)) {
427
+ rowKind = 'hook';
428
+ }
429
+ else {
430
+ rowKind = 'function';
431
+ }
432
+ const kindConvs = dirKindCases.get(directory);
433
+ if (!kindConvs)
434
+ continue;
435
+ // Try exact kind match first, fall back to 'function' for backward compat
436
+ const conv = kindConvs.get(rowKind);
418
437
  if (!conv)
419
438
  continue;
420
439
  // Non-Latin skip (Spec 21 R5.4)
@@ -432,7 +451,7 @@ export class UniversalConventionsAnalyzer extends UniversalAnalyzer {
432
451
  line: row.line_number,
433
452
  column: 1,
434
453
  severity: 'suggestion',
435
- message: `${pct}% of exports in \`${directory}/\` use ${conv.casing} — ` +
454
+ message: `${pct}% of ${conv.kind} exports in \`${directory}/\` use ${conv.casing} — ` +
436
455
  `\`${row.name}\` uses ${casing}${exemplarRef}`,
437
456
  rule: 'conventions/naming',
438
457
  analyzer: this.name,
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalConventionsAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalConventionsAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,18 @@ export declare class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
82
82
  private isTemplateLiteral;
83
83
  private isVariableAssignment;
84
84
  private containsSQLKeywords;
85
+ /**
86
+ * Spec 22 R4.2: Requires ≥2 SQL keywords for variable-assignment detection.
87
+ *
88
+ * Single-keyword substring matches (e.g. "FROM" inside "Array.from") produce
89
+ * ~120 false positives on the recall corpus. Genuine SQL in variable
90
+ * assignments (string literals, ORM chains) almost always has ≥2 keywords
91
+ * (SELECT+FROM, INSERT+INTO, DELETE+FROM, etc.).
92
+ *
93
+ * This is only used for the variable-assignment fallback path — template
94
+ * literals and function calls use separate, context-aware gating.
95
+ */
96
+ private containsSQLStructure;
85
97
  /**
86
98
  * R3.1: Check if a call expression's callee (excluding arguments)
87
99
  * matches database-related patterns. Prevents false positives from