code-auditor-mcp 3.4.13 → 3.4.15

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 (105) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +96 -0
  3. package/dist/analyzers/applicability.d.ts +41 -0
  4. package/dist/analyzers/applicability.d.ts.map +1 -0
  5. package/dist/analyzers/applicability.js +96 -0
  6. package/dist/analyzers/applicability.js.map +1 -0
  7. package/dist/analyzers/ruleRegistry.js +11 -11
  8. package/dist/analyzers/ruleRegistry.js.map +1 -1
  9. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +8 -8
  10. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  11. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -2
  12. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  13. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +2 -2
  14. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  15. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  16. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +9 -1
  17. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  18. package/dist/analyzers/universal/schema/migrations.d.ts +11 -0
  19. package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
  20. package/dist/analyzers/universal/schema/migrations.js +127 -4
  21. package/dist/analyzers/universal/schema/migrations.js.map +1 -1
  22. package/dist/auditRunner.d.ts.map +1 -1
  23. package/dist/auditRunner.js +62 -23
  24. package/dist/auditRunner.js.map +1 -1
  25. package/dist/cli.js +393 -1
  26. package/dist/cli.js.map +1 -1
  27. package/dist/codeIndexDB.d.ts +40 -1
  28. package/dist/codeIndexDB.d.ts.map +1 -1
  29. package/dist/codeIndexDB.js +222 -50
  30. package/dist/codeIndexDB.js.map +1 -1
  31. package/dist/config/defaults.js +2 -2
  32. package/dist/config/defaults.js.map +1 -1
  33. package/dist/config/pathProfiles.d.ts +7 -0
  34. package/dist/config/pathProfiles.d.ts.map +1 -1
  35. package/dist/config/pathProfiles.js +7 -1
  36. package/dist/config/pathProfiles.js.map +1 -1
  37. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  38. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1 -1
  39. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  40. package/dist/ledger.d.ts +163 -2
  41. package/dist/ledger.d.ts.map +1 -1
  42. package/dist/ledger.js +528 -7
  43. package/dist/ledger.js.map +1 -1
  44. package/dist/mcp.js +3 -3
  45. package/dist/mcp.js.map +1 -1
  46. package/dist/mcpAuditJobs.d.ts +24 -2
  47. package/dist/mcpAuditJobs.d.ts.map +1 -1
  48. package/dist/mcpAuditJobs.js +364 -58
  49. package/dist/mcpAuditJobs.js.map +1 -1
  50. package/dist/pipeline.d.ts +9 -2
  51. package/dist/pipeline.d.ts.map +1 -1
  52. package/dist/pipeline.js +165 -18
  53. package/dist/pipeline.js.map +1 -1
  54. package/dist/pipelineAdapters.d.ts.map +1 -1
  55. package/dist/pipelineAdapters.js +45 -10
  56. package/dist/pipelineAdapters.js.map +1 -1
  57. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  58. package/dist/reporting/sarifReportGenerator.js +6 -1
  59. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  60. package/dist/ruleAliases.d.ts.map +1 -1
  61. package/dist/ruleAliases.js +23 -0
  62. package/dist/ruleAliases.js.map +1 -1
  63. package/dist/scripts/benchmarkWorkers.js +1 -1
  64. package/dist/scripts/benchmarkWorkers.js.map +1 -1
  65. package/dist/services/auditJobService.d.ts +22 -5
  66. package/dist/services/auditJobService.d.ts.map +1 -1
  67. package/dist/services/auditJobService.js +67 -26
  68. package/dist/services/auditJobService.js.map +1 -1
  69. package/dist/services/fileAccounting.d.ts +83 -0
  70. package/dist/services/fileAccounting.d.ts.map +1 -0
  71. package/dist/services/fileAccounting.js +0 -0
  72. package/dist/services/fileAccounting.js.map +1 -0
  73. package/dist/styles/styleExtractor.d.ts +2 -2
  74. package/dist/styles/styleExtractor.d.ts.map +1 -1
  75. package/dist/styles/styleExtractor.js +83 -11
  76. package/dist/styles/styleExtractor.js.map +1 -1
  77. package/dist/styles/styleIndexer.d.ts +14 -0
  78. package/dist/styles/styleIndexer.d.ts.map +1 -1
  79. package/dist/styles/styleIndexer.js +117 -16
  80. package/dist/styles/styleIndexer.js.map +1 -1
  81. package/dist/styles/tailwindProbe.d.ts +31 -0
  82. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  83. package/dist/styles/tailwindProbe.js +145 -4
  84. package/dist/styles/tailwindProbe.js.map +1 -1
  85. package/dist/styles/tailwindUtilityExpander.d.ts +3 -0
  86. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  87. package/dist/styles/tailwindUtilityExpander.js +35 -1
  88. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  89. package/dist/styles/types.d.ts +11 -0
  90. package/dist/styles/types.d.ts.map +1 -1
  91. package/dist/types.d.ts +130 -0
  92. package/dist/types.d.ts.map +1 -1
  93. package/dist/types.js.map +1 -1
  94. package/dist/utils/fileDiscovery.d.ts +71 -0
  95. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  96. package/dist/utils/fileDiscovery.js +201 -25
  97. package/dist/utils/fileDiscovery.js.map +1 -1
  98. package/dist/workers/auditJobRunner.d.ts +2 -0
  99. package/dist/workers/auditJobRunner.d.ts.map +1 -0
  100. package/dist/workers/auditJobRunner.js +37 -0
  101. package/dist/workers/auditJobRunner.js.map +1 -0
  102. package/dist/workers/auditWorker.js +26 -0
  103. package/dist/workers/auditWorker.js.map +1 -1
  104. package/package.json +2 -2
  105. package/plugin/.claude-plugin/plugin.json +1 -1
@@ -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.13",
13
+ "version": "3.4.15",
14
14
  "author": {
15
15
  "name": "Ben Hammond"
16
16
  },
package/CHANGELOG.md CHANGED
@@ -2,6 +2,102 @@
2
2
 
3
3
  All notable changes to the Code Auditor MCP project.
4
4
 
5
+ ## [3.4.15] — 2026-08-19
6
+
7
+ ### Detached runs & a queryable findings store (Spec 41)
8
+ - The findings ledger is now the single queryable findings store. `audit --detach`
9
+ forks a detached run with per-run stderr captured to a log; new `status`,
10
+ `result`, and `jobs` CLI commands read persisted run state and findings.
11
+ - Ledger runs gain lifecycle/provenance columns (`status`, `started_at`,
12
+ `heartbeat_at`, `finished_at`, `error`, `progress_json`, content-hash
13
+ manifest) and a `findings_ledger_coverage` table; coverage rows (fired / clean /
14
+ notApplicable / unassessed per rule) are persisted for the first time.
15
+ - `auditJobService` is DB-backed (no in-memory `Map`); `runAuditJob` is shared by
16
+ the MCP server and the CLI. Concurrency is a heartbeat lease (stale `running`
17
+ rows are reclaimed as `failed`, never wedging the queue); retention is opt-in
18
+ `jobs --prune` only.
19
+
20
+ ### Stylesheet-dialect support (Spec 42)
21
+ - Embedded `<style>` blocks in `.astro` / `.vue` / `.svelte` are now read and
22
+ parsed through the single shared rule-set parser (dispatching on `lang`/`type`),
23
+ so those component dialects no longer produce silent zero class-usage counts.
24
+ - Unread style sources (`.sass` / `.less` / `.styl`, and unsupported `<style lang>`)
25
+ are recorded to `style_unread_sources`; `styles/undefined-class` reports
26
+ `notApplicable` naming them instead of asserting a class it cannot see.
27
+ - `styles/missing-org-filter` derives applicability from the schema table catalog
28
+ (Tier 1 named tables / Tier 2 schema columns / Tier 3 DDL columns); no tenant
29
+ column → `notApplicable` without a config flag.
30
+
31
+ ### Silent-drop backstop (Spec 42 R2)
32
+ - The style extractor's `default:` branch no longer drops an unhandled file
33
+ extension silently. A genuinely unknown dialect (`.mdx`, `.md`, …) is recorded
34
+ as an unread source so `undefined-class` surfaces the gap; known non-style
35
+ source (JSON/Go/SQL/TOML/Prisma) and `.css`/`.scss` (owned by the AST pipeline)
36
+ stay silent via the shared `KNOWN_SOURCE_EXTENSIONS` set.
37
+ - The last hand-maintained extension lists (markup dispatch + class-usage gate)
38
+ now derive from the `STYLE_MARKUP_EXTENSIONS` discovery constant, so adding a
39
+ dialect to the discovery set flows everywhere at once.
40
+
41
+ ### Gate-budget & fallthrough surface (Spec 43)
42
+ - The gate speed budget is now warm-then-measure: a cold run warms the page cache
43
+ and index (reported, never asserted), and the warm run is the asserted figure —
44
+ the budget measures rule latency rather than one-time WASM/index cost.
45
+ - The scoped-DRY `changed` path reads only the narrow columns
46
+ `buildFullFunctionHashmap` needs (`getAllFunctionsForDry`), and `audit.health`
47
+ counts functions with a `COUNT(*)` query — skipping the wide JSON columns and
48
+ their per-row `JSON.parse`.
49
+ - Extensions present on disk but skipped by discovery (`.mdx`, `.md`, …) are now
50
+ surfaced in the CLI so an unlisted extension never vanishes silently, and
51
+ `styles/undefined-class`'s `notApplicable` reason names the per-source
52
+ dialect/extension rather than a bare path list.
53
+
54
+ ### File accounting (Spec 44)
55
+ - Every file the walk touches now lands in exactly one terminal state —
56
+ `analyzed`, `partially analyzed`, or `dropped` (one of eight named reasons) —
57
+ and the accounting must balance (`analyzed + partiallyAnalyzed + dropped ===
58
+ touched`), asserted at end-of-run; a leak or double-classification fails the run.
59
+ - `partially analyzed` is keyed on *consumption*, not output: a file dropped at
60
+ stage 2 (`no adapter` / `no visitor matched`) that any later layer read (the
61
+ style indexer, or a stage-3 `readSource`) is reclassified, whether or not it
62
+ produced findings — so a clean file the indexer read is never reported as
63
+ "not analyzed".
64
+ - Infrastructure directories (`node_modules`, `.git`, …) are recorded as an
65
+ aggregate `infraPruned` line, never per-file; content directories (`docs`,
66
+ `specs`, …) are enumerated per-file as `dropped: directory pruned`.
67
+ - `.mjs` / `.cjs` / `.cts` / `.mts` are added to every site that hard-codes the
68
+ JS/TS extension set, so those files are now discovered, parsed, and analyzed.
69
+ - The CLI summary line (`N analyzed · M dropped (R reasons)`) replaces
70
+ `Files analyzed`, and `--explain-skipped` prints a bounded per-reason breakdown;
71
+ the full per-file lists live in the JSON report under `metadata.fileAccounting`.
72
+
73
+ ## [3.4.14] — 2026-08-17
74
+
75
+ ### SOLID rule-ID namespace normalization (task #5)
76
+ - The five SOLID rules that were still emitting bare IDs — `single-responsibility`,
77
+ `open-closed`, `interface-segregation`, `liskov-substitution`,
78
+ `dependency-inversion` — now emit `solid/`-prefixed IDs, matching the two that
79
+ already did (`solid/class-size`, `solid/method-complexity`). Applied consistently
80
+ across the analyzer, `RULE_REGISTRY`, `defaults.ts`, and `RULE_ALIASES` (with a
81
+ reverse map for the bare forms). `buildFullRuleId` now guards against
82
+ double-prefixing (`solid/solid/class-size`).
83
+
84
+ ### Self-scan exclusion (Bug #3)
85
+ - The tool's own on-disk output is no longer re-discovered as source: `.code-index`
86
+ (the CodeIndexDB directory) is added to the excluded-dirs set, and
87
+ `audit-report.{json,html,csv,sarif}` are skipped by basename. A prior audit's
88
+ report embeds raw source snippets (e.g. `error_class = 'zombie-capped'`) that
89
+ otherwise leaked class-usage false positives back into the next run.
90
+
91
+ ### Two live false positives fixed (task #4)
92
+ - **Class-usage extraction**: a `\b` word boundary before the `class`/`className`
93
+ attribute name prevents identifier-substring matches (`error_class`,
94
+ `myclassName`) from being read as class attributes, while real
95
+ `className="..."`/`class="..."` attributes still extract.
96
+ - **Tailwind v4 bare-import resolution**: bare package `@import`s (e.g.
97
+ `tw-animate-css`, shadcn utility styles) are now resolved from `node_modules` via
98
+ their package export map, so plugin utilities validate against the project's own
99
+ `tailwindcss`. Fails open when a package or `node_modules` is absent.
100
+
5
101
  ## [3.4.13] — 2026-08-16
6
102
 
7
103
  ### Memory — streaming pipeline + `tree.delete()` (Spec 30/31/32)
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Derived rule applicability (Spec 39).
3
+ *
4
+ * A rule's applicability is a predicate over its declared inputs, evaluated
5
+ * before the rule runs. A rule whose predicate is false reports `notApplicable`
6
+ * with a reason naming the absent input — not silence, and not zero findings.
7
+ *
8
+ * This module is intentionally free of analyzer imports: pipeline.ts imports it
9
+ * statically, and the analyzer classes pull in pipeline.js (via
10
+ * UniversalSchemaAnalyzer.js → makeVisitorStatus), so a static analyzer import
11
+ * here would create a pipeline↔analyzer cycle. The pipeline-side convention is
12
+ * to reach analyzers only through dynamic import() (see pipelineAdapters.ts).
13
+ */
14
+ export interface RuleApplicability {
15
+ applicable: boolean;
16
+ reason?: string;
17
+ }
18
+ /**
19
+ * A stylesheet source the style indexer could not read (Spec 42 R2). When any
20
+ * exist, styles/undefined-class must not assert a class is undefined because it
21
+ * may be defined in one of these files.
22
+ */
23
+ export interface UnreadStyleSourceInfo {
24
+ filePath: string;
25
+ reason: string;
26
+ }
27
+ /**
28
+ * Evaluate whether a rule is applicable to the current codebase, given inputs
29
+ * the pipeline has already computed.
30
+ *
31
+ * Returns null when the rule has no applicability predicate — the rule runs
32
+ * unconditionally and its reporting state remains governed by the Spec 33 item
33
+ * 14 input mapping.
34
+ *
35
+ * @param ruleId The registry rule id.
36
+ * @param dataAccessConfig The namespaced data-access config (may be undefined).
37
+ * @param ddlColumns Aggregated DDL-declared columns from the schema reducer.
38
+ * @param unreadStyleSources Stylesheets the indexer could not read (Spec 42 R2).
39
+ */
40
+ export declare function evaluateRuleApplicability(ruleId: string, dataAccessConfig: Record<string, unknown> | undefined, ddlColumns: string[] | undefined, unreadStyleSources?: UnreadStyleSourceInfo[]): RuleApplicability | null;
41
+ //# sourceMappingURL=applicability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicability.d.ts","sourceRoot":"","sources":["../../src/analyzers/applicability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACrD,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,GAC3C,iBAAiB,GAAG,IAAI,CAQ1B"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Derived rule applicability (Spec 39).
3
+ *
4
+ * A rule's applicability is a predicate over its declared inputs, evaluated
5
+ * before the rule runs. A rule whose predicate is false reports `notApplicable`
6
+ * with a reason naming the absent input — not silence, and not zero findings.
7
+ *
8
+ * This module is intentionally free of analyzer imports: pipeline.ts imports it
9
+ * statically, and the analyzer classes pull in pipeline.js (via
10
+ * UniversalSchemaAnalyzer.js → makeVisitorStatus), so a static analyzer import
11
+ * here would create a pipeline↔analyzer cycle. The pipeline-side convention is
12
+ * to reach analyzers only through dynamic import() (see pipelineAdapters.ts).
13
+ */
14
+ /**
15
+ * Default tenant-scoping column names. The single source of truth is
16
+ * DEFAULT_DATA_ACCESS_CONFIG.orgFilterColumns in UniversalDataAccessAnalyzer.js;
17
+ * this is a local copy because importing that module here would create the cycle
18
+ * described above. Keep in sync with that constant.
19
+ */
20
+ const DEFAULT_ORG_FILTER_COLUMNS = ['org_id', 'tenant_id', 'organization_id', 'workspace_id'];
21
+ /**
22
+ * Evaluate whether a rule is applicable to the current codebase, given inputs
23
+ * the pipeline has already computed.
24
+ *
25
+ * Returns null when the rule has no applicability predicate — the rule runs
26
+ * unconditionally and its reporting state remains governed by the Spec 33 item
27
+ * 14 input mapping.
28
+ *
29
+ * @param ruleId The registry rule id.
30
+ * @param dataAccessConfig The namespaced data-access config (may be undefined).
31
+ * @param ddlColumns Aggregated DDL-declared columns from the schema reducer.
32
+ * @param unreadStyleSources Stylesheets the indexer could not read (Spec 42 R2).
33
+ */
34
+ export function evaluateRuleApplicability(ruleId, dataAccessConfig, ddlColumns, unreadStyleSources) {
35
+ if (ruleId === 'styles/undefined-class') {
36
+ return evaluateUndefinedClassApplicability(unreadStyleSources);
37
+ }
38
+ if (ruleId === 'missing-org-filter') {
39
+ return evaluateMissingOrgFilterApplicability(dataAccessConfig, ddlColumns);
40
+ }
41
+ return null;
42
+ }
43
+ /**
44
+ * Spec 42 R2 — whole-run scope: if any stylesheet went unread, a class this
45
+ * detector would otherwise flag undefined may in fact be defined there. Report
46
+ * notApplicable naming what was unread rather than assert undefined.
47
+ */
48
+ function evaluateUndefinedClassApplicability(unreadStyleSources) {
49
+ if (unreadStyleSources && unreadStyleSources.length > 0) {
50
+ // Surface the per-source reason (which encodes the offending extension for
51
+ // the Spec 43 R5 fallthrough, or the unsupported dialect for Spec 42 R2)
52
+ // rather than only the file path, so a "loud" fallthrough stays loud end to
53
+ // end instead of being collapsed back to a bare path list.
54
+ const names = unreadStyleSources
55
+ .map((s) => (s.reason ? `${s.filePath} (${s.reason})` : s.filePath))
56
+ .join(', ');
57
+ return {
58
+ applicable: false,
59
+ reason: `stylesheets were not read: ${names}`,
60
+ };
61
+ }
62
+ return null;
63
+ }
64
+ /**
65
+ * Spec 39/42 R3 — `missing-org-filter` is applicable when the project declares a
66
+ * tenant-scoping column in one of three places: configured tenant tables by name,
67
+ * a configured schema table, or the DDL-derived table catalog.
68
+ */
69
+ function evaluateMissingOrgFilterApplicability(dataAccessConfig, ddlColumns) {
70
+ // Tier 1 — user declared tenant-scoped tables by name (policy of record).
71
+ const orgFilterTables = dataAccessConfig?.orgFilterTables ?? [];
72
+ if (orgFilterTables.length > 0)
73
+ return { applicable: true };
74
+ const orgFilterColumns = dataAccessConfig?.orgFilterColumns ?? DEFAULT_ORG_FILTER_COLUMNS;
75
+ const schemas = dataAccessConfig?.schemas ?? [];
76
+ const tenantColumns = new Set(orgFilterColumns.map((c) => String(c).toLowerCase()));
77
+ // Tier 2 — a configured schema declares a table carrying a tenant-scoping column.
78
+ for (const schema of schemas) {
79
+ for (const table of schema.tables ?? []) {
80
+ for (const column of table.columns ?? []) {
81
+ if (tenantColumns.has(String(column.name).toLowerCase())) {
82
+ return { applicable: true };
83
+ }
84
+ }
85
+ }
86
+ }
87
+ // Tier 3 — the table catalog (DDL-derived columns) carries a tenant-scoping column.
88
+ if (ddlColumns?.some((c) => tenantColumns.has(String(c).toLowerCase()))) {
89
+ return { applicable: true };
90
+ }
91
+ return {
92
+ applicable: false,
93
+ reason: 'no tenant-scoping column found in table catalog',
94
+ };
95
+ }
96
+ //# sourceMappingURL=applicability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicability.js","sourceRoot":"","sources":["../../src/analyzers/applicability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAY9F;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,gBAAqD,EACrD,UAAgC,EAChC,kBAA4C;IAE5C,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACxC,OAAO,mCAAmC,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,qCAAqC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,mCAAmC,CAC1C,kBAA4C;IAE5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,KAAK,GAAG,kBAAkB;aAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACnE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,8BAA8B,KAAK,EAAE;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,qCAAqC,CAC5C,gBAAqD,EACrD,UAAgC;IAEhC,0EAA0E;IAC1E,MAAM,eAAe,GAAc,gBAAgB,EAAE,eAAwC,IAAI,EAAE,CAAC;IACpG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAE5D,MAAM,gBAAgB,GACnB,gBAAgB,EAAE,gBAAyC,IAAI,0BAA0B,CAAC;IAC7F,MAAM,OAAO,GACV,gBAAgB,EAAE,OAAe,IAAI,EAAE,CAAC;IAE3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpF,kFAAkF;IAClF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,iDAAiD;KAC1D,CAAC;AACJ,CAAC"}
@@ -46,14 +46,14 @@ export const RULE_REGISTRY = {
46
46
  ],
47
47
  },
48
48
  },
49
- 'open-closed': {
49
+ 'solid/open-closed': {
50
50
  analyzer: 'solid',
51
51
  field: 'rule',
52
52
  input: ['files'],
53
53
  gating: false,
54
54
  resolvable: false,
55
55
  message: 'Class "{name}" violates the Open/Closed Principle.',
56
- docs: 'open-closed',
56
+ docs: 'solid/open-closed',
57
57
  thresholds: [],
58
58
  samples: {
59
59
  valid: [
@@ -64,14 +64,14 @@ export const RULE_REGISTRY = {
64
64
  ],
65
65
  },
66
66
  },
67
- 'single-responsibility': {
67
+ 'solid/single-responsibility': {
68
68
  analyzer: 'solid',
69
69
  field: 'rule',
70
70
  input: ['files'],
71
71
  gating: true,
72
72
  resolvable: true,
73
73
  message: 'Function "{name}" has {count} {metric}, exceeding the maximum of {max}. Break it down.',
74
- docs: 'single-responsibility',
74
+ docs: 'solid/single-responsibility',
75
75
  thresholds: ['maxParametersPerMethod', 'maxLinesPerMethod'],
76
76
  samples: {
77
77
  valid: [
@@ -85,14 +85,14 @@ export const RULE_REGISTRY = {
85
85
  ],
86
86
  },
87
87
  },
88
- 'interface-segregation': {
88
+ 'solid/interface-segregation': {
89
89
  analyzer: 'solid',
90
90
  field: 'rule',
91
91
  input: ['files'],
92
92
  gating: false,
93
93
  resolvable: false,
94
94
  message: 'Interface "{name}" violates the Interface Segregation Principle.',
95
- docs: 'interface-segregation',
95
+ docs: 'solid/interface-segregation',
96
96
  thresholds: [],
97
97
  samples: {
98
98
  valid: [
@@ -103,14 +103,14 @@ export const RULE_REGISTRY = {
103
103
  ],
104
104
  },
105
105
  },
106
- 'liskov-substitution': {
106
+ 'solid/liskov-substitution': {
107
107
  analyzer: 'solid',
108
108
  field: 'rule',
109
109
  input: ['files'],
110
110
  gating: false,
111
111
  resolvable: false,
112
112
  message: 'Class "{name}" violates the Liskov Substitution Principle.',
113
- docs: 'liskov-substitution',
113
+ docs: 'solid/liskov-substitution',
114
114
  thresholds: [],
115
115
  samples: {
116
116
  valid: [
@@ -121,14 +121,14 @@ export const RULE_REGISTRY = {
121
121
  ],
122
122
  },
123
123
  },
124
- 'dependency-inversion': {
124
+ 'solid/dependency-inversion': {
125
125
  analyzer: 'solid',
126
126
  field: 'rule',
127
127
  input: ['files'],
128
128
  gating: false,
129
129
  resolvable: false,
130
130
  message: 'Module "{name}" violates the Dependency Inversion Principle.',
131
- docs: 'dependency-inversion',
131
+ docs: 'solid/dependency-inversion',
132
132
  thresholds: [],
133
133
  samples: {
134
134
  valid: [
@@ -243,7 +243,7 @@ export const RULE_REGISTRY = {
243
243
  'missing-org-filter': {
244
244
  analyzer: 'data-access',
245
245
  field: 'rule',
246
- input: ['files'],
246
+ input: ['schema'],
247
247
  gating: false,
248
248
  resolvable: false,
249
249
  message: 'Query on {tables} is missing an organization/tenant filter.',
@@ -1 +1 @@
1
- {"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
@@ -161,7 +161,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
161
161
  */
162
162
  checkOpenClosed(cls, ctx, violations) {
163
163
  if (this.hasModificationPatterns(cls, ctx.ast, ctx.adapter, ctx.sourceCode)) {
164
- violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" appears to be frequently modified. Consider using composition or inheritance for extension.`, { severity: 'suggestion', rule: 'open-closed', symbol: cls.name }));
164
+ violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" appears to be frequently modified. Consider using composition or inheritance for extension.`, { severity: 'suggestion', rule: 'solid/open-closed', symbol: cls.name }));
165
165
  }
166
166
  }
167
167
  /**
@@ -190,9 +190,9 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
190
190
  */
191
191
  checkFunctionSize(func, ctx, violations) {
192
192
  const { ast, config } = ctx;
193
- withRuleTiming('single-responsibility', () => {
193
+ withRuleTiming('solid/single-responsibility', () => {
194
194
  if (func.parameters.length > (config.maxParametersPerMethod || 4)) {
195
- violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${func.parameters.length} parameters, exceeding the maximum of ${config.maxParametersPerMethod || 4}. Consider using an options object.`, { severity: 'warning', rule: 'single-responsibility', symbol: func.name,
195
+ violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${func.parameters.length} parameters, exceeding the maximum of ${config.maxParametersPerMethod || 4}. Consider using an options object.`, { severity: 'warning', rule: 'solid/single-responsibility', symbol: func.name,
196
196
  resolution: {
197
197
  action: 'bundle-params',
198
198
  summary: `Bundle the ${func.parameters.length} parameters of "${func.name}" into an options object.`,
@@ -202,10 +202,10 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
202
202
  } }));
203
203
  }
204
204
  });
205
- withRuleTiming('single-responsibility', () => {
205
+ withRuleTiming('solid/single-responsibility', () => {
206
206
  const lineCount = func.location.end.line - func.location.start.line + 1;
207
207
  if (lineCount > (config.maxLinesPerMethod || 50)) {
208
- violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${lineCount} lines, exceeding the maximum of ${config.maxLinesPerMethod || 50}. Consider breaking it down.`, { severity: 'warning', rule: 'single-responsibility', symbol: func.name,
208
+ violations.push(this.createViolation(ast.filePath, func.location.start, `Function "${func.name}" has ${lineCount} lines, exceeding the maximum of ${config.maxLinesPerMethod || 50}. Consider breaking it down.`, { severity: 'warning', rule: 'solid/single-responsibility', symbol: func.name,
209
209
  resolution: {
210
210
  action: 'break-down-function',
211
211
  summary: `Break "${func.name}" (${lineCount} lines) into smaller functions, extracting named helper blocks.`,
@@ -250,7 +250,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
250
250
  // positive. Only interfaces that expose methods carry the ISP smell.
251
251
  const hasMethodMembers = members.some(member => member.type === 'method');
252
252
  if (hasMethodMembers && memberCount > maxMembers) {
253
- violations.push(this.createViolation(ast.filePath, iface.location.start, `Interface "${iface.name}" has ${memberCount} members, exceeding the maximum of ${maxMembers}. Consider splitting into smaller interfaces.`, { severity: 'warning', rule: 'interface-segregation', symbol: iface.name }));
253
+ violations.push(this.createViolation(ast.filePath, iface.location.start, `Interface "${iface.name}" has ${memberCount} members, exceeding the maximum of ${maxMembers}. Consider splitting into smaller interfaces.`, { severity: 'warning', rule: 'solid/interface-segregation', symbol: iface.name }));
254
254
  }
255
255
  return violations;
256
256
  }
@@ -304,7 +304,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
304
304
  }
305
305
  });
306
306
  if (hasThrow) {
307
- violations.push(this.createViolation(ast.filePath, method.location.start, `Method "${cls.name}.${method.name}" throws exceptions. Ensure this doesn't violate parent class contract.`, { severity: 'suggestion', rule: 'liskov-substitution', symbol: `${cls.name}.${method.name}` }));
307
+ violations.push(this.createViolation(ast.filePath, method.location.start, `Method "${cls.name}.${method.name}" throws exceptions. Ensure this doesn't violate parent class contract.`, { severity: 'suggestion', rule: 'solid/liskov-substitution', symbol: `${cls.name}.${method.name}` }));
308
308
  }
309
309
  }
310
310
  }
@@ -319,7 +319,7 @@ export class UniversalSOLIDAnalyzer extends UniversalAnalyzer {
319
319
  return;
320
320
  }
321
321
  if (this.hasDirectInstantiation(cls, classNode, ctx)) {
322
- violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" directly instantiates a concrete dependency. Consider depending on abstractions.`, { severity: 'suggestion', rule: 'dependency-inversion', symbol: cls.name }));
322
+ violations.push(this.createViolation(ctx.ast.filePath, cls.location.start, `Class "${cls.name}" directly instantiates a concrete dependency. Consider depending on abstractions.`, { severity: 'suggestion', rule: 'solid/dependency-inversion', symbol: cls.name }));
323
323
  }
324
324
  }
325
325
  /**