camouf 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -106,7 +106,7 @@ npx camouf fix --id sig-001 # Fix a specific mismatch
106
106
 
107
107
  ## Features
108
108
 
109
- - **18 Built-in Rules**: AI-specific and architecture validation rules
109
+ - **19 Built-in Rules**: AI-specific and architecture validation rules
110
110
  - **Function/Field Matching**: Fuzzy matching to detect AI naming drift
111
111
  - **Circular Dependency Detection**: Find and break dependency cycles
112
112
  - **Real-time Watch Mode**: Continuous architecture monitoring
@@ -157,7 +157,7 @@ Running `npx camouf` or `npx camouf help` displays the full interactive help:
157
157
  ██║ ███████║██╔████╔██║██║ ██║██║ ██║█████╗
158
158
  ██║ ██╔══██║██║╚██╔╝██║██║ ██║██║ ██║██╔══╝
159
159
  ╚██████╗██║ ██║██║ ╚═╝ ██║╚██████╔╝╚██████╔╝██║
160
- ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ v0.8.0
160
+ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ v0.10.0
161
161
 
162
162
  Architecture guardrails for AI-generated code
163
163
 
@@ -234,7 +234,7 @@ Running `npx camouf` or `npx camouf help` displays the full interactive help:
234
234
 
235
235
  AI Safety: ai-hallucinated-imports, inconsistent-casing,
236
236
  orphaned-functions, phantom-type-references,
237
- context-drift-patterns
237
+ context-drift-patterns, async-discrepancies
238
238
  Architecture: layer-dependencies, circular-dependencies,
239
239
  function-signature-matching, contract-mismatch
240
240
  Code Quality: type-safety, performance-antipatterns,
@@ -306,6 +306,8 @@ npm install --save-dev camouf-plugin-react
306
306
 
307
307
  Camouf exposes an **MCP (Model Context Protocol) server** that allows AI agents like Claude, Cursor, and Copilot to validate their own code **before proposing it to you**.
308
308
 
309
+ > **Full tutorial:** [Using Camouf with AI Agents (MCP Tutorial)](docs/mcp-agent-tutorial.md) -- setup, real-time streaming, multi-agent collaboration, and the validate-fix-revalidate loop.
310
+
309
311
  ### Start MCP Server
310
312
 
311
313
  ```bash
@@ -370,7 +372,9 @@ This creates a **feedback loop** where AI catches its own mistakes before you se
370
372
  - [Getting Started](docs/getting-started.md)
371
373
  - [Creating Plugins](docs/creating-plugins.md)
372
374
  - [AI Agent Challenges](docs/ai-agent-challenges.md)
375
+ - [MCP Agent Tutorial](docs/mcp-agent-tutorial.md)
373
376
  - [Configuring Rules](docs/configuring-rules.md)
377
+ - [Async Discrepancies Guide](docs/async-discrepancies.md)
374
378
  - [CI/CD Integration](docs/ci-cd-integration.md)
375
379
  - [Changelog](CHANGELOG.md)
376
380
 
@@ -492,6 +496,7 @@ These rules catch mistakes that AI coding assistants commonly make:
492
496
  | `phantom-type-references` | Catches references to types that don't exist | `warn` |
493
497
  | `inconsistent-casing` | Detects mixing of camelCase/snake_case in the same codebase | `warn` |
494
498
  | `orphaned-functions` | Finds functions declared but never called anywhere | `warn` |
499
+ | `async-discrepancies` | Detects async/await misuse: floating promises, unnecessary async, mixed patterns | `warn` |
495
500
 
496
501
  > **See examples:** Check `test-fixtures/ai-errors/` in the repository for concrete examples of what each rule catches.
497
502
 
@@ -343,10 +343,10 @@ async function scaffoldPlugin(options) {
343
343
  keywords: ['camouf', 'camouf-plugin', 'architecture', 'static-analysis'],
344
344
  license: 'MIT',
345
345
  peerDependencies: {
346
- camouf: '>=0.8.0',
346
+ camouf: '>=0.9.0',
347
347
  },
348
348
  devDependencies: {
349
- camouf: '^0.8.0',
349
+ camouf: '^0.9.0',
350
350
  typescript: '^5.3.0',
351
351
  },
352
352
  files: ['dist', 'README.md'],
@@ -385,7 +385,7 @@ const plugin: CamoufPlugin = {
385
385
  version: '0.1.0',
386
386
  description: '${pluginDescription}',
387
387
  author: '',
388
- camoufVersion: '>=0.8.0',
388
+ camoufVersion: '>=0.9.0',
389
389
  },
390
390
  rules: [new ${className}()],
391
391
  };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version and metadata for Camouf CLI
3
3
  */
4
- export declare const version = "0.8.0";
4
+ export declare const version = "0.10.0";
5
5
  export declare const name = "camouf";
6
6
  export declare const description = "Architecture guardrails for AI-generated code";
7
7
  export declare const metadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,eAAO,MAAM,WAAW,kDAAkD,CAAC;AAE3E,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,WAAW,CAAC;AAChC,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,eAAO,MAAM,WAAW,kDAAkD,CAAC;AAE3E,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version and metadata for Camouf CLI
3
3
  */
4
- export const version = '0.8.0';
4
+ export const version = '0.10.0';
5
5
  export const name = 'camouf';
6
6
  export const description = 'Architecture guardrails for AI-generated code';
7
7
  export const metadata = {
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,+CAA+C,CAAC;AAE3E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,OAAO;IACP,WAAW;IACX,QAAQ,EAAE,oCAAoC;IAC9C,UAAU,EAAE,oCAAoC;IAChD,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,YAAY;CACtB,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAChC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,+CAA+C,CAAC;AAE3E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,OAAO;IACP,WAAW;IACX,QAAQ,EAAE,oCAAoC;IAC9C,UAAU,EAAE,oCAAoC;IAChD,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,YAAY;CACtB,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Async Discrepancies Rule
3
+ *
4
+ * Detects async/await misuse patterns commonly introduced by AI coding assistants.
5
+ * These discrepancies arise when AI agents lose context about whether a function
6
+ * is synchronous or asynchronous, leading to subtle runtime bugs.
7
+ *
8
+ * Detections:
9
+ * 1. Missing `await` on async function calls
10
+ * 2. `async` functions that never use `await` (unnecessary async)
11
+ * 3. Async/sync signature drift between declaration and usage
12
+ * 4. Floating promises (async calls without await or .then/.catch)
13
+ * 5. `await` on non-async/non-promise expressions
14
+ * 6. Mixed async patterns (mixing callbacks with async/await)
15
+ */
16
+ import { IRule, RuleContext, RuleConfig, RuleResult, RuleCategory, RuleDocumentation } from '../rule.interface.js';
17
+ interface AsyncDiscrepanciesConfig extends RuleConfig {
18
+ /** Check for missing await on async calls */
19
+ checkMissingAwait?: boolean;
20
+ /** Check for unnecessary async keywords */
21
+ checkUnnecessaryAsync?: boolean;
22
+ /** Check for floating promises (unawaited async calls) */
23
+ checkFloatingPromises?: boolean;
24
+ /** Check for await on non-promise values */
25
+ checkAwaitNonPromise?: boolean;
26
+ /** Check for mixed async patterns (callbacks + async/await) */
27
+ checkMixedPatterns?: boolean;
28
+ /** File extensions to analyze */
29
+ includeExtensions?: string[];
30
+ /** Ignore patterns for function names */
31
+ ignorePatterns?: string[];
32
+ }
33
+ export declare class AsyncDiscrepanciesRule implements IRule {
34
+ readonly id = "async-discrepancies";
35
+ readonly name = "Async Discrepancies Detection";
36
+ readonly description = "Detects async/await misuse patterns commonly introduced by AI coding assistants";
37
+ readonly severity: "warning";
38
+ readonly tags: string[];
39
+ readonly category: RuleCategory;
40
+ readonly supportsIncremental = true;
41
+ readonly defaultSeverity: "warning";
42
+ private config;
43
+ private violationCounter;
44
+ /** Known async functions discovered across the project */
45
+ private knownAsyncFunctions;
46
+ configure(options: Partial<AsyncDiscrepanciesConfig>): void;
47
+ check(context: RuleContext): Promise<RuleResult>;
48
+ checkFile(filePath: string, context: RuleContext): Promise<RuleResult>;
49
+ getDocumentation(): RuleDocumentation;
50
+ private collectAsyncFunctions;
51
+ private buildAsyncFunctionInfo;
52
+ private checkUnnecessaryAsyncFunctions;
53
+ private checkFloatingPromisesAndMissingAwait;
54
+ private checkAwaitOnNonPromise;
55
+ private checkMixedAsyncPatterns;
56
+ private reportMixedPatterns;
57
+ private shouldAnalyzeFile;
58
+ private shouldIgnoreFunction;
59
+ private escapeRegex;
60
+ private createViolation;
61
+ }
62
+ export {};
63
+ //# sourceMappingURL=async-discrepancies.rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-discrepancies.rule.d.ts","sourceRoot":"","sources":["../../../../src/core/rules/builtin/async-discrepancies.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGnH,UAAU,wBAAyB,SAAQ,UAAU;IACnD,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAuBD,qBAAa,sBAAuB,YAAW,KAAK;IAClD,QAAQ,CAAC,EAAE,yBAAyB;IACpC,QAAQ,CAAC,IAAI,mCAAmC;IAChD,QAAQ,CAAC,WAAW,qFAAqF;IACzG,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;IACvC,QAAQ,CAAC,IAAI,WAAqD;IAClE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAiB;IAChD,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,QAAQ,CAAC,eAAe,EAAG,SAAS,CAAU;IAE9C,OAAO,CAAC,MAAM,CAiBZ;IAEF,OAAO,CAAC,gBAAgB,CAAK;IAE7B,0DAA0D;IAC1D,OAAO,CAAC,mBAAmB,CAAwC;IAEnE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI;IAIrD,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA4ChD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAK5E,gBAAgB,IAAI,iBAAiB;IAuErC,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,8BAA8B;IAwBtC,OAAO,CAAC,oCAAoC;IA0G5C,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,uBAAuB;IAiE/B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;CAkBxB"}
@@ -0,0 +1,452 @@
1
+ /**
2
+ * Async Discrepancies Rule
3
+ *
4
+ * Detects async/await misuse patterns commonly introduced by AI coding assistants.
5
+ * These discrepancies arise when AI agents lose context about whether a function
6
+ * is synchronous or asynchronous, leading to subtle runtime bugs.
7
+ *
8
+ * Detections:
9
+ * 1. Missing `await` on async function calls
10
+ * 2. `async` functions that never use `await` (unnecessary async)
11
+ * 3. Async/sync signature drift between declaration and usage
12
+ * 4. Floating promises (async calls without await or .then/.catch)
13
+ * 5. `await` on non-async/non-promise expressions
14
+ * 6. Mixed async patterns (mixing callbacks with async/await)
15
+ */
16
+ export class AsyncDiscrepanciesRule {
17
+ id = 'async-discrepancies';
18
+ name = 'Async Discrepancies Detection';
19
+ description = 'Detects async/await misuse patterns commonly introduced by AI coding assistants';
20
+ severity = 'warning';
21
+ tags = ['ai-safety', 'async', 'promises', 'correctness'];
22
+ category = 'ai-specific';
23
+ supportsIncremental = true;
24
+ defaultSeverity = 'warning';
25
+ config = {
26
+ enabled: true,
27
+ severity: 'warning',
28
+ checkMissingAwait: true,
29
+ checkUnnecessaryAsync: true,
30
+ checkFloatingPromises: true,
31
+ checkAwaitNonPromise: true,
32
+ checkMixedPatterns: true,
33
+ includeExtensions: ['.ts', '.tsx', '.js', '.jsx'],
34
+ ignorePatterns: [
35
+ '^_', // Private/internal
36
+ '^main$', // Entry points
37
+ '^bootstrap$', // Bootstrap functions
38
+ 'Middleware$', // Middleware (often async by convention)
39
+ 'Handler$', // Handlers (often async by convention)
40
+ 'Controller$', // Controllers
41
+ ],
42
+ };
43
+ violationCounter = 0;
44
+ /** Known async functions discovered across the project */
45
+ knownAsyncFunctions = new Map();
46
+ configure(options) {
47
+ this.config = { ...this.config, ...options };
48
+ }
49
+ async check(context) {
50
+ const violations = [];
51
+ this.violationCounter = 0;
52
+ this.knownAsyncFunctions.clear();
53
+ const fileContents = [];
54
+ // First pass: collect all async function declarations
55
+ for (const nodeId of context.graph.nodes()) {
56
+ const node = context.getNodeData(nodeId);
57
+ if (!node)
58
+ continue;
59
+ const filePath = node.data.relativePath;
60
+ if (!this.shouldAnalyzeFile(filePath))
61
+ continue;
62
+ const content = context.fileContents?.get(filePath);
63
+ if (!content)
64
+ continue;
65
+ fileContents.push({ filePath, content });
66
+ this.collectAsyncFunctions(filePath, content);
67
+ }
68
+ // Second pass: detect discrepancies
69
+ for (const { filePath, content } of fileContents) {
70
+ if (this.config.checkUnnecessaryAsync) {
71
+ this.checkUnnecessaryAsyncFunctions(filePath, content, violations);
72
+ }
73
+ if (this.config.checkFloatingPromises || this.config.checkMissingAwait) {
74
+ this.checkFloatingPromisesAndMissingAwait(filePath, content, violations);
75
+ }
76
+ if (this.config.checkAwaitNonPromise) {
77
+ this.checkAwaitOnNonPromise(filePath, content, violations);
78
+ }
79
+ if (this.config.checkMixedPatterns) {
80
+ this.checkMixedAsyncPatterns(filePath, content, violations);
81
+ }
82
+ }
83
+ return { violations };
84
+ }
85
+ async checkFile(filePath, context) {
86
+ // For incremental checks, run the full check (we need cross-file context)
87
+ return this.check(context);
88
+ }
89
+ getDocumentation() {
90
+ return {
91
+ summary: this.description,
92
+ details: `This rule detects async/await discrepancies that AI coding assistants commonly introduce
93
+ when they lose context about function signatures. These bugs are particularly insidious because
94
+ they often don't cause immediate errors but lead to race conditions, unhandled promise rejections,
95
+ and subtle data corruption.`,
96
+ examples: [
97
+ {
98
+ title: 'Unnecessary async function',
99
+ bad: `async function getUser(id: string) {
100
+ return users.find(u => u.id === id); // No await needed
101
+ }`,
102
+ good: `function getUser(id: string) {
103
+ return users.find(u => u.id === id);
104
+ }`,
105
+ explanation: 'Function marked as async but never uses await. This wraps the return value in an unnecessary Promise.',
106
+ },
107
+ {
108
+ title: 'Missing await on async call',
109
+ bad: `async function processOrder(orderId: string) {
110
+ const order = getOrderById(orderId); // Missing await!
111
+ console.log(order.status); // order is a Promise, not the actual value
112
+ }`,
113
+ good: `async function processOrder(orderId: string) {
114
+ const order = await getOrderById(orderId);
115
+ console.log(order.status);
116
+ }`,
117
+ explanation: 'Calling an async function without await returns a Promise instead of the resolved value.',
118
+ },
119
+ {
120
+ title: 'Floating promise',
121
+ bad: `function handleRequest(req: Request) {
122
+ saveToDatabase(req.body); // Floating promise - errors silently swallowed
123
+ return { success: true };
124
+ }`,
125
+ good: `async function handleRequest(req: Request) {
126
+ await saveToDatabase(req.body);
127
+ return { success: true };
128
+ }`,
129
+ explanation: 'Async function called without await, .then(), or .catch() — errors will be silently lost.',
130
+ },
131
+ {
132
+ title: 'Mixed async patterns',
133
+ bad: `async function fetchData() {
134
+ const result = await fetch('/api/data');
135
+ result.json().then(data => {
136
+ processData(data); // Mixing await with .then()
137
+ });
138
+ }`,
139
+ good: `async function fetchData() {
140
+ const result = await fetch('/api/data');
141
+ const data = await result.json();
142
+ processData(data);
143
+ }`,
144
+ explanation: 'Mixing await and .then() in the same function creates confusing control flow.',
145
+ },
146
+ ],
147
+ options: [
148
+ { name: 'checkMissingAwait', type: 'boolean', description: 'Check for missing await on async function calls', default: true },
149
+ { name: 'checkUnnecessaryAsync', type: 'boolean', description: 'Detect async functions that never use await', default: true },
150
+ { name: 'checkFloatingPromises', type: 'boolean', description: 'Detect unawaited async calls (floating promises)', default: true },
151
+ { name: 'checkAwaitNonPromise', type: 'boolean', description: 'Detect await on values that are not Promises', default: true },
152
+ { name: 'checkMixedPatterns', type: 'boolean', description: 'Detect mixing of callbacks with async/await', default: true },
153
+ ],
154
+ relatedRules: ['function-signature-matching', 'performance-antipatterns'],
155
+ };
156
+ }
157
+ // ─── Detection: Collect async function declarations ─────────────────
158
+ collectAsyncFunctions(filePath, content) {
159
+ const lines = content.split('\n');
160
+ for (let i = 0; i < lines.length; i++) {
161
+ const line = lines[i];
162
+ // Match: async function name(...)
163
+ const asyncFnMatch = line.match(/\basync\s+function\s+(\w+)\s*\(/);
164
+ if (asyncFnMatch) {
165
+ const info = this.buildAsyncFunctionInfo(asyncFnMatch[1], filePath, i, lines);
166
+ if (info)
167
+ this.knownAsyncFunctions.set(info.name, info);
168
+ continue;
169
+ }
170
+ // Match: export async function name(...)
171
+ const exportAsyncFnMatch = line.match(/\bexport\s+(?:default\s+)?async\s+function\s+(\w+)\s*\(/);
172
+ if (exportAsyncFnMatch) {
173
+ const info = this.buildAsyncFunctionInfo(exportAsyncFnMatch[1], filePath, i, lines);
174
+ if (info)
175
+ this.knownAsyncFunctions.set(info.name, info);
176
+ continue;
177
+ }
178
+ // Match: const name = async (...) => or const name = async function(...)
179
+ const arrowAsyncMatch = line.match(/\b(?:const|let|var)\s+(\w+)\s*=\s*async\s/);
180
+ if (arrowAsyncMatch) {
181
+ const info = this.buildAsyncFunctionInfo(arrowAsyncMatch[1], filePath, i, lines);
182
+ if (info)
183
+ this.knownAsyncFunctions.set(info.name, info);
184
+ continue;
185
+ }
186
+ // Match: async methodName(...) inside a class
187
+ const asyncMethodMatch = line.match(/^\s+(?:public\s+|private\s+|protected\s+)?(?:static\s+)?async\s+(\w+)\s*\(/);
188
+ if (asyncMethodMatch && asyncMethodMatch[1] !== 'function') {
189
+ const info = this.buildAsyncFunctionInfo(asyncMethodMatch[1], filePath, i, lines);
190
+ if (info)
191
+ this.knownAsyncFunctions.set(info.name, info);
192
+ }
193
+ }
194
+ }
195
+ buildAsyncFunctionInfo(name, filePath, startLine, lines) {
196
+ // Find the function body boundaries
197
+ let braceCount = 0;
198
+ let bodyStartLine = startLine;
199
+ let bodyEndLine = startLine;
200
+ let foundBody = false;
201
+ let hasAwaitInBody = false;
202
+ let returnsPromise = false;
203
+ for (let i = startLine; i < lines.length; i++) {
204
+ const line = lines[i];
205
+ // Check return type annotation for Promise
206
+ if (i === startLine || i === startLine + 1) {
207
+ if (/:\s*Promise\s*</.test(line)) {
208
+ returnsPromise = true;
209
+ }
210
+ }
211
+ const openBraces = (line.match(/{/g) || []).length;
212
+ const closeBraces = (line.match(/}/g) || []).length;
213
+ if (openBraces > 0 && !foundBody) {
214
+ foundBody = true;
215
+ bodyStartLine = i;
216
+ }
217
+ braceCount += openBraces - closeBraces;
218
+ // Check for await usage in the body
219
+ if (foundBody && /\bawait\s/.test(line)) {
220
+ hasAwaitInBody = true;
221
+ }
222
+ if (foundBody && braceCount <= 0) {
223
+ bodyEndLine = i;
224
+ break;
225
+ }
226
+ }
227
+ if (!foundBody)
228
+ return null;
229
+ return {
230
+ name,
231
+ file: filePath,
232
+ line: startLine + 1,
233
+ hasAwaitInBody,
234
+ returnsPromise,
235
+ bodyStartLine: bodyStartLine + 1,
236
+ bodyEndLine: bodyEndLine + 1,
237
+ };
238
+ }
239
+ // ─── Detection 1: Unnecessary async functions ──────────────────────
240
+ checkUnnecessaryAsyncFunctions(filePath, _content, violations) {
241
+ for (const [name, info] of this.knownAsyncFunctions) {
242
+ if (info.file !== filePath)
243
+ continue;
244
+ if (this.shouldIgnoreFunction(name))
245
+ continue;
246
+ // async function that never uses await and doesn't explicitly return Promise
247
+ if (!info.hasAwaitInBody && !info.returnsPromise) {
248
+ violations.push(this.createViolation(filePath, `Function '${name}' is declared async but never uses 'await'`, info.line, `Remove the 'async' keyword if the function doesn't need to await any asynchronous operations. ` +
249
+ `Unnecessary async wraps the return value in a Promise, adding overhead and misleading callers.`));
250
+ }
251
+ }
252
+ }
253
+ // ─── Detection 2: Floating promises & missing await ────────────────
254
+ checkFloatingPromisesAndMissingAwait(filePath, content, violations) {
255
+ const lines = content.split('\n');
256
+ // Build set of known async function names for this project
257
+ const asyncFunctionNames = new Set();
258
+ for (const [name] of this.knownAsyncFunctions) {
259
+ asyncFunctionNames.add(name);
260
+ }
261
+ // Also add common async APIs
262
+ const commonAsyncApis = new Set([
263
+ 'fetch', 'axios', 'request',
264
+ 'readFile', 'writeFile', 'readdir', 'mkdir', 'unlink', 'stat',
265
+ 'findOne', 'findMany', 'findById', 'findAll',
266
+ 'create', 'update', 'delete', 'save', 'remove',
267
+ 'query', 'execute', 'transaction',
268
+ 'connect', 'disconnect', 'close',
269
+ 'send', 'sendMail', 'publish', 'subscribe',
270
+ ]);
271
+ // Track whether we're inside an async function
272
+ let inAsyncFunction = false;
273
+ let asyncBraceDepth = 0;
274
+ let braceCount = 0;
275
+ for (let i = 0; i < lines.length; i++) {
276
+ const line = lines[i];
277
+ const trimmed = line.trim();
278
+ // Skip comments and empty lines
279
+ if (trimmed.startsWith('//') || trimmed.startsWith('*') || trimmed.startsWith('/*') || trimmed === '') {
280
+ continue;
281
+ }
282
+ // Track async function scope
283
+ if (/\basync\s+(function\s+\w+|(\w+)\s*=\s*async|\w+\s*\()/.test(line) ||
284
+ /\basync\s+\w+\s*\(/.test(line)) {
285
+ inAsyncFunction = true;
286
+ asyncBraceDepth = braceCount;
287
+ }
288
+ const openBraces = (line.match(/{/g) || []).length;
289
+ const closeBraces = (line.match(/}/g) || []).length;
290
+ braceCount += openBraces - closeBraces;
291
+ if (inAsyncFunction && braceCount <= asyncBraceDepth) {
292
+ inAsyncFunction = false;
293
+ }
294
+ // Look for function calls that are known async but not awaited
295
+ for (const asyncName of asyncFunctionNames) {
296
+ // Pattern: bare call statement — functionName(...) not preceded by await, return, or assignment
297
+ const callPattern = new RegExp(`(?<!\\bawait\\s)(?<!\\breturn\\s)(?<!=\\s)(?<!\\bvoid\\s)\\b${this.escapeRegex(asyncName)}\\s*\\(`, 'g');
298
+ if (callPattern.test(trimmed)) {
299
+ // Make sure it's a standalone statement (not part of assignment or return)
300
+ const isAssigned = /(?:const|let|var|=)\s*.*\b/.test(trimmed.split(asyncName)[0] || '');
301
+ const isReturned = trimmed.startsWith('return ');
302
+ const isAwaited = new RegExp(`\\bawait\\s+.*\\b${this.escapeRegex(asyncName)}`).test(trimmed);
303
+ const isChained = new RegExp(`${this.escapeRegex(asyncName)}\\s*\\([^)]*\\)\\s*\\.\\s*(then|catch|finally)\\b`).test(trimmed);
304
+ const isVoid = trimmed.startsWith('void ');
305
+ if (!isAssigned && !isReturned && !isAwaited && !isChained && !isVoid) {
306
+ violations.push(this.createViolation(filePath, `Async function '${asyncName}()' called without 'await', '.then()', or error handling — floating promise`, i + 1, inAsyncFunction
307
+ ? `Add 'await' before '${asyncName}()' to properly handle its result and errors.`
308
+ : `Either await this call inside an async function, or chain '.then().catch()' to handle the promise.`));
309
+ }
310
+ }
311
+ }
312
+ // Check for common async API calls without await in async functions
313
+ if (inAsyncFunction) {
314
+ for (const apiName of commonAsyncApis) {
315
+ // More conservative: only flag when it looks like a standalone statement
316
+ const stmtPattern = new RegExp(`^\\s*(?:\\w+\\.)?${this.escapeRegex(apiName)}\\s*\\(`);
317
+ if (stmtPattern.test(trimmed)) {
318
+ const isAwaited = new RegExp(`\\bawait\\b`).test(trimmed);
319
+ const isAssigned = /(?:const|let|var)\s+\w+\s*=/.test(trimmed);
320
+ const isReturned = trimmed.startsWith('return ');
321
+ const isChained = /\)\s*\.\s*(then|catch|finally)\b/.test(trimmed);
322
+ if (!isAwaited && !isAssigned && !isReturned && !isChained) {
323
+ violations.push(this.createViolation(filePath, `Potential floating promise: '${apiName}()' called without 'await' in async function`, i + 1, `Add 'await' before '${apiName}()' to ensure proper execution order and error propagation.`));
324
+ }
325
+ }
326
+ }
327
+ }
328
+ }
329
+ }
330
+ // ─── Detection 3: await on non-promise values ──────────────────────
331
+ checkAwaitOnNonPromise(filePath, content, violations) {
332
+ const lines = content.split('\n');
333
+ // Patterns that are clearly not promises
334
+ const nonPromisePatterns = [
335
+ // await on literal values
336
+ /\bawait\s+(['"`])/, // await "string", await `template`
337
+ /\bawait\s+\d+/, // await 42
338
+ /\bawait\s+(true|false|null|undefined)\b/, // await true/false/null/undefined
339
+ /\bawait\s+\[(?!\s*\.\.\.)(?!.*Promise)/, // await [array] (not Promise.all style)
340
+ /\bawait\s+{\s*\w+/, // await {object}
341
+ ];
342
+ for (let i = 0; i < lines.length; i++) {
343
+ const line = lines[i];
344
+ const trimmed = line.trim();
345
+ // Skip comments
346
+ if (trimmed.startsWith('//') || trimmed.startsWith('*') || trimmed.startsWith('/*')) {
347
+ continue;
348
+ }
349
+ for (const pattern of nonPromisePatterns) {
350
+ if (pattern.test(trimmed)) {
351
+ violations.push(this.createViolation(filePath, `Suspicious 'await' on a value that is likely not a Promise`, i + 1, `'await' on non-Promise values is unnecessary and may indicate AI-generated code that ` +
352
+ `confused sync and async APIs. Remove 'await' if the expression doesn't return a Promise.`));
353
+ break;
354
+ }
355
+ }
356
+ }
357
+ }
358
+ // ─── Detection 4: Mixed async patterns ─────────────────────────────
359
+ checkMixedAsyncPatterns(filePath, content, violations) {
360
+ const lines = content.split('\n');
361
+ // Track function scopes to detect mixing
362
+ let inAsyncFunction = false;
363
+ let asyncFuncStartLine = 0;
364
+ let asyncBraceDepth = 0;
365
+ let braceCount = 0;
366
+ let hasAwait = false;
367
+ let hasThenCatch = false;
368
+ let hasCallback = false;
369
+ let thenLine = 0;
370
+ let callbackLine = 0;
371
+ for (let i = 0; i < lines.length; i++) {
372
+ const line = lines[i];
373
+ const trimmed = line.trim();
374
+ // Detect async function start
375
+ if (/\basync\s+(?:function\s+\w+|\w+\s*=\s*async|\(\s*\w)|\basync\s+\w+\s*\(/.test(line)) {
376
+ // Report previous function if mixed
377
+ if (inAsyncFunction) {
378
+ this.reportMixedPatterns(filePath, asyncFuncStartLine, hasAwait, hasThenCatch, hasCallback, thenLine, callbackLine, violations);
379
+ }
380
+ inAsyncFunction = true;
381
+ asyncFuncStartLine = i + 1;
382
+ asyncBraceDepth = braceCount;
383
+ hasAwait = false;
384
+ hasThenCatch = false;
385
+ hasCallback = false;
386
+ thenLine = 0;
387
+ callbackLine = 0;
388
+ }
389
+ const openBraces = (line.match(/{/g) || []).length;
390
+ const closeBraces = (line.match(/}/g) || []).length;
391
+ braceCount += openBraces - closeBraces;
392
+ if (inAsyncFunction) {
393
+ if (/\bawait\s/.test(trimmed))
394
+ hasAwait = true;
395
+ if (/\.\s*then\s*\(/.test(trimmed)) {
396
+ hasThenCatch = true;
397
+ thenLine = i + 1;
398
+ }
399
+ // Detect callback patterns: function(err, result) or (err, data) =>
400
+ if (/\(err(?:or)?\s*,\s*\w+\)\s*(?:=>|{)/.test(trimmed) ||
401
+ /function\s*\(\s*err(?:or)?\s*,/.test(trimmed)) {
402
+ hasCallback = true;
403
+ callbackLine = i + 1;
404
+ }
405
+ }
406
+ if (inAsyncFunction && braceCount <= asyncBraceDepth) {
407
+ this.reportMixedPatterns(filePath, asyncFuncStartLine, hasAwait, hasThenCatch, hasCallback, thenLine, callbackLine, violations);
408
+ inAsyncFunction = false;
409
+ }
410
+ }
411
+ // Handle last function
412
+ if (inAsyncFunction) {
413
+ this.reportMixedPatterns(filePath, asyncFuncStartLine, hasAwait, hasThenCatch, hasCallback, thenLine, callbackLine, violations);
414
+ }
415
+ }
416
+ reportMixedPatterns(filePath, funcStartLine, hasAwait, hasThenCatch, hasCallback, thenLine, callbackLine, violations) {
417
+ if (hasAwait && hasThenCatch) {
418
+ violations.push(this.createViolation(filePath, `Mixed async patterns: function uses both 'await' and '.then()' chains`, thenLine || funcStartLine, `Convert '.then()' chains to 'await' for consistent async style. ` +
419
+ `Mixing patterns makes control flow harder to follow and may indicate AI-generated code drift.`));
420
+ }
421
+ if (hasAwait && hasCallback) {
422
+ violations.push(this.createViolation(filePath, `Mixed async patterns: function uses both 'await' and error-first callbacks`, callbackLine || funcStartLine, `Convert callback-style code to async/await using 'util.promisify()' or manual Promise wrapping. ` +
423
+ `Mixing callbacks with async/await often indicates AI context confusion.`));
424
+ }
425
+ }
426
+ // ─── Helpers ───────────────────────────────────────────────────────
427
+ shouldAnalyzeFile(filePath) {
428
+ const extensions = this.config.includeExtensions || ['.ts', '.tsx', '.js', '.jsx'];
429
+ return extensions.some(ext => filePath.endsWith(ext));
430
+ }
431
+ shouldIgnoreFunction(name) {
432
+ const patterns = this.config.ignorePatterns || [];
433
+ return patterns.some(pattern => new RegExp(pattern).test(name));
434
+ }
435
+ escapeRegex(str) {
436
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
437
+ }
438
+ createViolation(file, message, line, suggestion) {
439
+ this.violationCounter++;
440
+ return {
441
+ id: `async-discrepancies-${this.violationCounter}`,
442
+ ruleId: this.id,
443
+ ruleName: this.name,
444
+ severity: this.config.severity || 'warning',
445
+ message,
446
+ file,
447
+ line,
448
+ suggestion,
449
+ };
450
+ }
451
+ }
452
+ //# sourceMappingURL=async-discrepancies.rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-discrepancies.rule.js","sourceRoot":"","sources":["../../../../src/core/rules/builtin/async-discrepancies.rule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../../src/core/rules/rule-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAA8B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAqB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAA2B,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAsB,MAAM,6BAA6B,CAAC;AAsB/E,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IAKhC;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC;;OAEG;IACH,OAAO,CAAC,eAAe;IAuCvB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAI/B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAWpC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA4BhG;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA8BtH;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBvD;;OAEG;IACH,QAAQ,IAAI,KAAK,EAAE;IAInB;;OAEG;IACH,eAAe,IAAI,KAAK,EAAE;IAM1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;CASxB"}
1
+ {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../../src/core/rules/rule-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAA8B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAqB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAA2B,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAsB,MAAM,6BAA6B,CAAC;AAuB/E,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IAKhC;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC;;OAEG;IACH,OAAO,CAAC,eAAe;IAwCvB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAI/B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAWpC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA4BhG;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA8BtH;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBvD;;OAEG;IACH,QAAQ,IAAI,KAAK,EAAE;IAInB;;OAEG;IACH,eAAe,IAAI,KAAK,EAAE;IAM1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;CASxB"}
@@ -24,6 +24,7 @@ import { FunctionSignatureMatchingRule } from './builtin/function-signature-matc
24
24
  import { HardcodedSecretsRule } from './builtin/hardcoded-secrets.rule.js';
25
25
  import { InconsistentCasingRule } from './builtin/inconsistent-casing.rule.js';
26
26
  import { OrphanedFunctionsRule } from './builtin/orphaned-functions.rule.js';
27
+ import { AsyncDiscrepanciesRule } from './builtin/async-discrepancies.rule.js';
27
28
  export class RuleEngine {
28
29
  config;
29
30
  rules = new Map();
@@ -85,6 +86,7 @@ export class RuleEngine {
85
86
  new HardcodedSecretsRule(),
86
87
  new InconsistentCasingRule(),
87
88
  new OrphanedFunctionsRule(),
89
+ new AsyncDiscrepanciesRule(),
88
90
  ];
89
91
  for (const rule of builtinRules) {
90
92
  this.registerRule(rule);
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../../src/core/rules/rule-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,wBAAwB;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,MAAM,OAAO,UAAU;IACb,MAAM,CAAe;IACrB,KAAK,GAAuB,IAAI,GAAG,EAAE,CAAC;IACtC,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtC,YAAY,GAAwB,IAAI,CAAC;IAEjD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAEnD,8BAA8B;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxB,6DAA6D;YAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,0BAA0B;QAC1B,MAAM,YAAY,GAAY;YAC5B,IAAI,yBAAyB,EAAE;YAC/B,IAAI,wBAAwB,EAAE;YAC9B,IAAI,yBAAyB,EAAE;YAC/B,IAAI,qBAAqB,EAAE;YAC3B,IAAI,wBAAwB,EAAE;YAC9B,IAAI,oBAAoB,EAAE;YAC1B,IAAI,2BAA2B,EAAE;YACjC,IAAI,cAAc,EAAE;YACpB,IAAI,qBAAqB,EAAE;YAC3B,IAAI,2BAA2B,EAAE;YACjC,IAAI,0BAA0B,EAAE;YAChC,IAAI,mBAAmB,EAAE;YACzB,IAAI,sBAAsB,EAAE;YAC5B,IAAI,iBAAiB,EAAE;YACvB,IAAI,6BAA6B,EAAE;YACnC,IAAI,oBAAoB,EAAE;YAC1B,IAAI,sBAAsB,EAAE;YAC5B,IAAI,qBAAqB,EAAE;SAC5B,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QAEvD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,IAAW;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAiB;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,aAAa,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAsB,EAAE,YAAkC;QACvE,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAEnE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAEnC,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEzC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC9C,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACtD,GAAG,CAAC;wBACJ,QAAQ;qBACT,CAAC,CAAC,CAAC;oBACJ,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,aAAc,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,KAAsB,EAAE,YAAkC;QAC7F,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAElE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,uDAAuD;YACvD,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,SAAS;YAE3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEvD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC9C,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACtD,GAAG,CAAC;wBACJ,QAAQ;qBACT,CAAC,CAAC,CAAC;oBACJ,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,qBAAqB,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,UAAuB;QACnC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG;gBAAE,SAAS;YAEnD,IAAI,CAAC;gBACH,gBAAgB;gBAChB,uDAAuD;gBACvD,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aACjC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC7B,MAAM,CAAC,CAAC,IAAI,EAAiB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAsB,EAAE,SAAkB,EAAE,YAAkC;QAClG,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;YACL,SAAS;YACT,YAAY;YACZ,WAAW,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,WAAW,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YAC3E,gBAAgB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;YACzD,gBAAgB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAA4B;QAChD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAQ,KAAyB,CAAC,KAAK,KAAK,KAAK,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAc;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAgD,CAAC,CAAC;QAE7F,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,CAAC;QACD,OAAQ,KAAyB,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;CACF"}
1
+ {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../../src/core/rules/rule-engine.ts"],"names":[],"mappings":"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"}
package/dist/mcp/index.js CHANGED
@@ -29,7 +29,7 @@ import { promptDefinitions, getPrompt } from './prompts/index.js';
29
29
  /**
30
30
  * MCP Server version
31
31
  */
32
- const VERSION = '0.8.0';
32
+ const VERSION = '0.9.0';
33
33
  /**
34
34
  * Create and configure the MCP server
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,IAiCxB,CAAC;AAuBF;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACpE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD,CAAC,CAmCD;AA2MD;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1B,CAAC"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,IAiCxB,CAAC;AAuBF;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACpE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD,CAAC,CAmCD;AA+ND;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1B,CAAC"}
@@ -136,6 +136,25 @@ function getRuleSpecificFix(ruleId) {
136
136
  explanation: 'Context drift occurs when AI loses track of established naming and introduces different names for the same concepts.',
137
137
  prevention: 'When generating new code, first query existing types with similar purpose. Reuse established naming.',
138
138
  },
139
+ 'function-signature-matching': {
140
+ fixType: 'code_change',
141
+ priority: 'high',
142
+ defaultDescription: 'Fix function name, parameter names, or parameter count to match shared contract',
143
+ steps: [
144
+ 'Read the canonical function signature from the shared/types directory',
145
+ 'For function-name mismatches: rename the function to match the shared contract exactly',
146
+ 'For parameter-name mismatches: rename the parameter to match',
147
+ 'For parameter-count mismatches: add the missing parameters with appropriate values from context',
148
+ 'Update all call sites that reference the renamed function/parameter',
149
+ 'Re-validate with camouf_validate to confirm the fix',
150
+ ],
151
+ alternatives: [
152
+ { description: 'If the shared contract is wrong, update the shared type instead and make all implementations match' },
153
+ { description: 'For parameter-count mismatch, make the extra parameter optional in the shared contract if it is truly optional' },
154
+ ],
155
+ explanation: 'AI agents with limited context windows often remember function names approximately but not exactly. This causes runtime errors when the client calls getUser() but the server defined getUserById(). Parameter count mismatches (e.g., cancelOrder(id) vs cancelOrder(id, reason)) mean the caller is not providing all required data.',
156
+ prevention: 'Before calling or implementing any function, read the shared contract file. Use camouf_analyze with focus="types" to see all canonical signatures. Copy the exact name and full parameter list.',
157
+ },
139
158
  'phantom-type-references': {
140
159
  fixType: 'code_change',
141
160
  priority: 'high',
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../src/mcp/tools/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../../src/mcp/tools/fix.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ function resolveRelative(sourceFile, importPath) {
89
89
  parts.push(part);
90
90
  }
91
91
  }
92
- let resolved = parts.join('/');
92
+ const resolved = parts.join('/');
93
93
  // Try to match against known file extensions
94
94
  const extensions = ['.ts', '.tsx', '.js', '.jsx', '.py', '.java', '.go', '.rs'];
95
95
  for (const ext of extensions) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,8 @@ export interface BuiltinRulesConfig {
100
100
  'hardcoded-secrets'?: RuleLevel;
101
101
  /** Function signature matching across boundaries */
102
102
  'function-signature-matching'?: RuleLevel;
103
+ /** Async/await discrepancies detection */
104
+ 'async-discrepancies'?: RuleLevel;
103
105
  }
104
106
  export type RuleLevel = 'off' | 'warn' | 'error' | RuleLevelConfig;
105
107
  export interface RuleLevelConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgQH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACvC,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QACvD,OAAO,EAAE;YACP,oBAAoB;YACpB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,gBAAgB;SACjB;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,oBAAoB,EAAE,OAAO;YAC7B,uBAAuB,EAAE,MAAM;YAC/B,0BAA0B,EAAE,MAAM;YAClC,aAAa,EAAE,MAAM;SACtB;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC;KACd;CACF,CAAC"}
1
+ {"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmQH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACvC,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QACvD,OAAO,EAAE;YACP,oBAAoB;YACpB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,gBAAgB;SACjB;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,oBAAoB,EAAE,OAAO;YAC7B,uBAAuB,EAAE,MAAM;YAC/B,0BAA0B,EAAE,MAAM;YAClC,aAAa,EAAE,MAAM;SACtB;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC;KACd;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camouf",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Architecture guardrails for AI-generated code - catches the mistakes AI coding assistants make",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",