@kevinrabun/judges 3.29.2 → 3.30.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/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  All notable changes to **@kevinrabun/judges** are documented here.
4
4
 
5
+ ## [3.30.0] — 2026-03-10
6
+
7
+ ### Added
8
+ - **Scope-aware HALLU suppression** — Hallucination detector now checks for local method definitions before firing on generic patterns (`.push()` in Python, `.isEmpty()` in Python, `.append()` in Go, etc.), reducing false positives on user-defined methods
9
+ - **Hallucination auto-fix patches** — All HALLU findings now include structured `Patch` objects with `oldText`/`newText` for automated remediation
10
+ - **Confidence evidence trails** — All 5 hallucination detection sections now include `EvidenceChain` with multi-step reasoning (observation → source → line) and `evidenceBasis` scoring strings
11
+ - **14 new hallucination patterns** — FastAPI `app.route()` confusion (import-guarded), SQLAlchemy raw SQL in `session.execute()`, pandas `.to_array()`/`.filterBy()`, Spring `@Autowired` on local variables, `ResponseEntity.ok().body()` chaining, EF Core `DbContext.Query<T>()`, ASP.NET `HttpContext.Response.Write()`, Rust `tokio::spawn` without async / `.unwrap_default()`, Deno `readFile` with encoding, Bun `.serve().listen()`
12
+ - **3 new suspicious submodule patterns** — FastAPI, Next.js, and Vue fabricated submodule imports
13
+ - **Import-guard system** — New `requiresImport` field on hallucination patterns prevents cross-framework false positives (e.g., Flask `app.route()` no longer triggers the FastAPI-specific pattern)
14
+ - **Per-LLM benchmark tracking** — New `aiSource` field on benchmark cases and `perAISource` result breakdowns for tracking detection effectiveness per AI code generator
15
+
16
+ ### Tests
17
+ - 1068 tests pass, 0 failures
18
+
19
+ ### Benchmark
20
+ - Grade A, 99.8% detection, 1030/1032 cases, 15 FP
21
+ - All 43 judges at ≤30% individual FP rate
22
+ - HALLU judge: 100% precision (0 FP, improved from 67% FP rate in v3.29.2)
23
+
5
24
  ## [3.29.2] — 2026-03-09
6
25
 
7
26
  ### Fixed
@@ -27,6 +27,8 @@ export interface BenchmarkCase {
27
27
  category: string;
28
28
  /** Difficulty level */
29
29
  difficulty: "easy" | "medium" | "hard";
30
+ /** AI model/tool that generated this code (e.g. "gpt-4", "claude", "copilot") */
31
+ aiSource?: string;
30
32
  }
31
33
  export interface BenchmarkResult {
32
34
  /** Timestamp of run */
@@ -71,6 +73,8 @@ export interface BenchmarkResult {
71
73
  perJudge: Record<string, JudgeBenchmarkResult>;
72
74
  /** Per-difficulty breakdown */
73
75
  perDifficulty: Record<string, DifficultyResult>;
76
+ /** Per-AI-source breakdown (when cases have aiSource tags) */
77
+ perAISource?: Record<string, CategoryResult>;
74
78
  /** Individual case results */
75
79
  cases: CaseResult[];
76
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
@@ -2179,6 +2179,7 @@ export function runBenchmarkSuite(cases, judgeId) {
2179
2179
  const perCategory = {};
2180
2180
  const perJudge = {};
2181
2181
  const perDifficulty = {};
2182
+ const perAISource = {};
2182
2183
  let totalTP = 0;
2183
2184
  let totalFN = 0;
2184
2185
  let totalFP = 0;
@@ -2238,6 +2239,29 @@ export function runBenchmarkSuite(cases, judgeId) {
2238
2239
  perDifficulty[tc.difficulty].total++;
2239
2240
  if (casePassed)
2240
2241
  perDifficulty[tc.difficulty].detected++;
2242
+ // Per-AI-source tracking (when cases are tagged)
2243
+ if (tc.aiSource) {
2244
+ if (!perAISource[tc.aiSource]) {
2245
+ perAISource[tc.aiSource] = {
2246
+ category: tc.aiSource,
2247
+ total: 0,
2248
+ detected: 0,
2249
+ truePositives: 0,
2250
+ falseNegatives: 0,
2251
+ falsePositives: 0,
2252
+ precision: 0,
2253
+ recall: 0,
2254
+ f1Score: 0,
2255
+ };
2256
+ }
2257
+ const src = perAISource[tc.aiSource];
2258
+ src.total++;
2259
+ if (casePassed)
2260
+ src.detected++;
2261
+ src.truePositives += caseTP;
2262
+ src.falseNegatives += caseFN;
2263
+ src.falsePositives += caseFP;
2264
+ }
2241
2265
  caseResults.push({
2242
2266
  caseId: tc.id,
2243
2267
  category: tc.category,
@@ -2318,6 +2342,14 @@ export function runBenchmarkSuite(cases, judgeId) {
2318
2342
  cat.truePositives + cat.falseNegatives > 0 ? cat.truePositives / (cat.truePositives + cat.falseNegatives) : 1;
2319
2343
  cat.f1Score = cat.precision + cat.recall > 0 ? (2 * cat.precision * cat.recall) / (cat.precision + cat.recall) : 0;
2320
2344
  }
2345
+ // Compute per-AI-source metrics
2346
+ for (const src of Object.values(perAISource)) {
2347
+ src.precision =
2348
+ src.truePositives + src.falsePositives > 0 ? src.truePositives / (src.truePositives + src.falsePositives) : 1;
2349
+ src.recall =
2350
+ src.truePositives + src.falseNegatives > 0 ? src.truePositives / (src.truePositives + src.falseNegatives) : 1;
2351
+ src.f1Score = src.precision + src.recall > 0 ? (2 * src.precision * src.recall) / (src.precision + src.recall) : 0;
2352
+ }
2321
2353
  // Compute per-judge metrics
2322
2354
  for (const jb of Object.values(perJudge)) {
2323
2355
  jb.precision =
@@ -2357,6 +2389,7 @@ export function runBenchmarkSuite(cases, judgeId) {
2357
2389
  perCategory,
2358
2390
  perJudge,
2359
2391
  perDifficulty,
2392
+ ...(Object.keys(perAISource).length > 0 ? { perAISource } : {}),
2360
2393
  cases: caseResults,
2361
2394
  };
2362
2395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hallucination-detection.d.ts","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiZ3C,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CA6LvF"}
1
+ {"version":3,"file":"hallucination-detection.d.ts","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;AAomBjE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAwTvF"}
@@ -8,6 +8,48 @@
8
8
  // observed across popular LLMs.
9
9
  // ──────────────────────────────────────────────────────────────────────────────
10
10
  import { getLangFamily, isCommentLine } from "./shared.js";
11
+ // ─── Scope-Aware Method Definition Check ────────────────────────────────────
12
+ // Prevents false positives on generic method patterns (e.g. `.push()` in
13
+ // Python) when the method is actually defined locally in the same file.
14
+ // ─────────────────────────────────────────────────────────────────────────────
15
+ function isMethodDefinedLocally(code, methodName, language) {
16
+ const esc = methodName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
17
+ const patterns = [];
18
+ switch (language) {
19
+ case "python":
20
+ patterns.push(new RegExp(`\\bdef\\s+${esc}\\s*\\(`));
21
+ break;
22
+ case "go":
23
+ patterns.push(new RegExp(`\\bfunc\\s+\\([^)]+\\)\\s+${esc}\\s*\\(`));
24
+ break;
25
+ case "java":
26
+ case "kotlin":
27
+ patterns.push(new RegExp(`(?:public|private|protected|static|abstract|override|final)\\s+.*\\b${esc}\\s*\\(`));
28
+ break;
29
+ case "csharp":
30
+ patterns.push(new RegExp(`(?:public|private|protected|internal|static|override|virtual|abstract)\\s+.*\\b${esc}\\s*\\(`));
31
+ break;
32
+ case "ruby":
33
+ patterns.push(new RegExp(`\\bdef\\s+${esc}\\b`));
34
+ break;
35
+ case "javascript":
36
+ case "typescript":
37
+ patterns.push(new RegExp(`\\bfunction\\s+${esc}\\s*\\(`));
38
+ patterns.push(new RegExp(`\\b${esc}\\s*\\([^)]*\\)\\s*\\{`));
39
+ patterns.push(new RegExp(`\\.prototype\\.${esc}\\s*=`));
40
+ break;
41
+ case "rust":
42
+ patterns.push(new RegExp(`\\bfn\\s+${esc}\\s*[(<]`));
43
+ break;
44
+ case "swift":
45
+ patterns.push(new RegExp(`\\bfunc\\s+${esc}\\s*[(<]`));
46
+ break;
47
+ case "php":
48
+ patterns.push(new RegExp(`\\bfunction\\s+${esc}\\s*\\(`));
49
+ break;
50
+ }
51
+ return patterns.some((p) => p.test(code));
52
+ }
11
53
  /**
12
54
  * Curated registry of APIs, methods, and imports that LLMs frequently
13
55
  * hallucinate. Each entry includes the incorrect pattern, an explanation,
@@ -127,6 +169,7 @@ const HALLUCINATED_PATTERNS = [
127
169
  reason: "Python lists have no .push() method. LLMs port this from JavaScript's Array.push().",
128
170
  fix: "Use .append(item) for single items or .extend(items) for iterables.",
129
171
  languages: ["python"],
172
+ scopeCheckMethod: "push",
130
173
  },
131
174
  // dict.containsKey — doesn't exist, it's `key in dict`
132
175
  {
@@ -135,6 +178,7 @@ const HALLUCINATED_PATTERNS = [
135
178
  reason: "Python dicts have no .containsKey() method. LLMs hallucinate this from Java Maps.",
136
179
  fix: "Use the `in` operator: if key in my_dict:",
137
180
  languages: ["python"],
181
+ scopeCheckMethod: "containsKey",
138
182
  },
139
183
  // string.isEmpty() — doesn't exist
140
184
  {
@@ -143,6 +187,7 @@ const HALLUCINATED_PATTERNS = [
143
187
  reason: "Python strings have no .isEmpty() method. LLMs hallucinate this from Java/Kotlin.",
144
188
  fix: "Use `if not my_string:` or `if len(my_string) == 0:`.",
145
189
  languages: ["python"],
190
+ scopeCheckMethod: "isEmpty",
146
191
  },
147
192
  // asyncio.sleep used without await
148
193
  {
@@ -184,6 +229,7 @@ const HALLUCINATED_PATTERNS = [
184
229
  reason: "Go uses the built-in append() function, not a method on slices. LLMs hallucinate OOP-style method calls.",
185
230
  fix: "Use slice = append(slice, element) as a built-in function.",
186
231
  languages: ["go"],
232
+ scopeCheckMethod: "append",
187
233
  },
188
234
  // http.HandleFunc on a ServeMux with wrong signature
189
235
  {
@@ -201,6 +247,7 @@ const HALLUCINATED_PATTERNS = [
201
247
  reason: "Java has .isBlank() (Java 11+), not .blank(). LLMs truncate the method name.",
202
248
  fix: "Use .isBlank() for whitespace-only check or .isEmpty() for zero-length check.",
203
249
  languages: ["java"],
250
+ scopeCheckMethod: "blank",
204
251
  },
205
252
  // Arrays.asList().add — this returns a fixed-size list, add throws
206
253
  {
@@ -251,6 +298,7 @@ const HALLUCINATED_PATTERNS = [
251
298
  reason: "C# strings have no .IsEmpty() instance method. LLMs hallucinate it from Java or Kotlin.",
252
299
  fix: "Use string.IsNullOrEmpty(s) or string.IsNullOrWhiteSpace(s) as static methods.",
253
300
  languages: ["csharp"],
301
+ scopeCheckMethod: "IsEmpty",
254
302
  },
255
303
  // ── PHP ───────────────────────────────────────────────────────────────
256
304
  // array.push — PHP uses array_push() not OOP .push()
@@ -260,6 +308,7 @@ const HALLUCINATED_PATTERNS = [
260
308
  reason: "PHP arrays don't have a ->push() method. LLMs hallucinate OOP-style array methods from JavaScript.",
261
309
  fix: "Use array_push($array, $value) or $array[] = $value.",
262
310
  languages: ["php"],
311
+ scopeCheckMethod: "push",
263
312
  },
264
313
  // string.length — PHP uses strlen()
265
314
  {
@@ -277,6 +326,7 @@ const HALLUCINATED_PATTERNS = [
277
326
  reason: "Ruby arrays have no .add() method. LLMs hallucinate this from Java/C#.",
278
327
  fix: "Use .push(item) or the << operator: array << item.",
279
328
  languages: ["ruby"],
329
+ scopeCheckMethod: "add",
280
330
  },
281
331
  // ── Kotlin ────────────────────────────────────────────────────────────
282
332
  // println formatting: println("x = %d", x) — Kotlin println doesn't support formats
@@ -295,6 +345,111 @@ const HALLUCINATED_PATTERNS = [
295
345
  reason: "Swift's .count is a property, not a method. Calling .count() is a compile error.",
296
346
  fix: "Use .count without parentheses: array.count.",
297
347
  languages: ["swift"],
348
+ scopeCheckMethod: "count",
349
+ },
350
+ // ── Cross-language ────────────────────────────────────────────────────
351
+ // ── Python — FastAPI / SQLAlchemy / pandas ────────────────────────────
352
+ // FastAPI doesn't have app.route() — it's @app.get/@app.post
353
+ {
354
+ pattern: /\bapp\.route\s*\(\s*['"][^'"]+['"]\s*,\s*methods\s*=/,
355
+ hallucinated: "app.route(path, methods=...)",
356
+ reason: "FastAPI does not use Flask-style app.route() with methods=. LLMs conflate Flask and FastAPI routing.",
357
+ fix: 'Use @app.get("/path"), @app.post("/path"), etc. for FastAPI route decorators.',
358
+ languages: ["python"],
359
+ requiresImport: "fastapi",
360
+ },
361
+ // SQLAlchemy — session.query().all() is SA 1.x; LLMs mix it with 2.0 select()
362
+ {
363
+ pattern: /\bsession\.execute\s*\(\s*['"][^'"]*SELECT\b/i,
364
+ hallucinated: "session.execute(raw SQL string)",
365
+ reason: "SQLAlchemy 2.0 session.execute() expects a Select object, not a raw SQL string. LLMs hallucinate mixing raw SQL with the ORM API.",
366
+ fix: "Use session.execute(select(Model).where(...)) with SQLAlchemy 2.0, or text() for raw SQL: session.execute(text('SELECT ...'))",
367
+ languages: ["python"],
368
+ },
369
+ // pandas — df.to_array() doesn't exist
370
+ {
371
+ pattern: /\.to_array\s*\(\s*\)/,
372
+ hallucinated: "df.to_array()",
373
+ reason: "pandas DataFrames have no .to_array() method. LLMs hallucinate this from JavaScript patterns.",
374
+ fix: "Use .to_numpy() for ndarray or .values for the underlying array.",
375
+ languages: ["python"],
376
+ },
377
+ // pandas — df.filterBy doesn't exist
378
+ {
379
+ pattern: /\.filterBy\s*\(/,
380
+ hallucinated: "df.filterBy()",
381
+ reason: "pandas has no .filterBy() method. LLMs fabricate this from ORM/ActiveRecord patterns.",
382
+ fix: "Use boolean indexing: df[df['col'] > value] or df.query('col > value').",
383
+ languages: ["python"],
384
+ scopeCheckMethod: "filterBy",
385
+ },
386
+ // ── Java — Spring Boot ────────────────────────────────────────────────
387
+ // @Autowired on a local variable (invalid — only works on fields/constructors/setters)
388
+ {
389
+ pattern: /^\s*@Autowired\s*\n\s*(?:var|final)\s+\w+/m,
390
+ hallucinated: "@Autowired on local variable",
391
+ reason: "Spring's @Autowired cannot be applied to local variables. LLMs generate this when mixing constructor injection with field injection.",
392
+ fix: "Use constructor injection: add the dependency as a constructor parameter, or apply @Autowired to a field or setter.",
393
+ languages: ["java"],
394
+ },
395
+ // ResponseEntity.ok().body() — chaining is wrong, ok() already sets status
396
+ {
397
+ pattern: /\bResponseEntity\.ok\s*\(\s*\)\s*\.body\s*\(/,
398
+ hallucinated: "ResponseEntity.ok().body()",
399
+ reason: "ResponseEntity.ok() returns a BodyBuilder; use .body(data) directly. But ResponseEntity.ok(data) is a shorthand that returns ResponseEntity<T> — LLMs confuse the two.",
400
+ fix: "Use ResponseEntity.ok(body) as shorthand, or ResponseEntity.ok().body(data) — both work, but .ok().body() is less common.",
401
+ languages: ["java"],
402
+ },
403
+ // ── C# — ASP.NET / Entity Framework ──────────────────────────────────
404
+ // DbContext.Query<T>() — doesn't exist, it's DbSet<T> or Set<T>()
405
+ {
406
+ pattern: /\bDbContext\.Query\s*<[^>]+>\s*\(\s*\)/,
407
+ hallucinated: "DbContext.Query<T>()",
408
+ reason: "EF Core removed DbContext.Query<T>(). LLMs hallucinate this from older EF versions.",
409
+ fix: "Use DbContext.Set<T>() or define a DbSet<T> property on your context.",
410
+ languages: ["csharp"],
411
+ },
412
+ // HttpContext.Response.Write() — doesn't exist in ASP.NET Core the same way
413
+ {
414
+ pattern: /\bHttpContext\.Response\.Write\s*\(/,
415
+ hallucinated: "HttpContext.Response.Write()",
416
+ reason: "ASP.NET Core's HttpResponse has no synchronous Write() method. LLMs hallucinate this from classic ASP.NET.",
417
+ fix: "Use await HttpContext.Response.WriteAsync(content) for ASP.NET Core.",
418
+ languages: ["csharp"],
419
+ },
420
+ // ── Rust — tokio / async ──────────────────────────────────────────────
421
+ // tokio::spawn without async block
422
+ {
423
+ pattern: /\btokio::spawn\s*\(\s*[a-z_]\w*\s*\(\s*\)\s*\)/,
424
+ hallucinated: "tokio::spawn(fn())",
425
+ reason: "tokio::spawn requires a Future, not a function call result (unless the function is async). LLMs omit async/await when spawning tasks.",
426
+ fix: "Use tokio::spawn(async { my_function().await }) or pass an async fn directly.",
427
+ languages: ["rust"],
428
+ },
429
+ // .unwrap_or_default() vs .unwrap_or(default) — LLMs generate .unwrap_default()
430
+ {
431
+ pattern: /\.unwrap_default\s*\(\s*\)/,
432
+ hallucinated: ".unwrap_default()",
433
+ reason: "Rust has .unwrap_or_default(), not .unwrap_default(). LLMs truncate the method name.",
434
+ fix: "Use .unwrap_or_default() for Default impl or .unwrap_or(value) for a specific fallback.",
435
+ languages: ["rust"],
436
+ },
437
+ // ── JavaScript/TypeScript — Deno / Bun specific ───────────────────────
438
+ // Deno.readFile — should be Deno.readTextFile or Deno.readFile (returns Uint8Array)
439
+ {
440
+ pattern: /\bDeno\.readFile\s*\(\s*['"][^'"]+['"]\s*,\s*['"]utf-?8['"]\s*\)/,
441
+ hallucinated: 'Deno.readFile(path, "utf-8")',
442
+ reason: "Deno.readFile() does not accept an encoding parameter — it returns Uint8Array. LLMs confuse this with Node.js fs.readFile().",
443
+ fix: "Use Deno.readTextFile(path) for string output, or new TextDecoder().decode(await Deno.readFile(path)).",
444
+ languages: ["javascript", "typescript"],
445
+ },
446
+ // Bun.serve().listen() — Bun.serve already starts listening
447
+ {
448
+ pattern: /\bBun\.serve\s*\([^)]*\)\s*\.listen\s*\(/,
449
+ hallucinated: "Bun.serve().listen()",
450
+ reason: "Bun.serve() starts the server immediately — there is no .listen() method. LLMs hallucinate this from Express/Node patterns.",
451
+ fix: "Remove .listen(). Bun.serve({ port, fetch }) starts listening on creation.",
452
+ languages: ["javascript", "typescript"],
298
453
  },
299
454
  // ── Cross-language ────────────────────────────────────────────────────
300
455
  // Fabricated npm packages — common hallucinated package names
@@ -343,6 +498,27 @@ const SUSPICIOUS_SUBMODULE_PATTERNS = [
343
498
  reason: "Flask does not export these directly. They come from extensions: flask-login, flask-cors, flask-wtf, flask-limiter.",
344
499
  languages: ["python"],
345
500
  },
501
+ // FastAPI doesn't export these
502
+ {
503
+ parent: /\bfrom\s+fastapi\s+import\b/,
504
+ invalidChild: /\b(?:login_required|authenticate|validate_schema|cors|rate_limit|serialize)\b/,
505
+ reason: "FastAPI does not export these. Use Depends() for dependency injection, or install separate packages (fastapi-limiter, etc.).",
506
+ languages: ["python"],
507
+ },
508
+ // Next.js doesn't export these from 'next'
509
+ {
510
+ parent: /\bfrom\s+['"]next['"]/,
511
+ invalidChild: /\b(?:useAuth|useUser|useSession|useFetch|useAPI|useDatabase)\b/,
512
+ reason: "Next.js does not export these hooks. Authentication requires next-auth, data fetching uses SWR or React Query.",
513
+ languages: ["javascript", "typescript"],
514
+ },
515
+ // Vue doesn't export these
516
+ {
517
+ parent: /\bfrom\s+['"]vue['"]/,
518
+ invalidChild: /\b(?:useRequest|useFetch|useAuth|useStore|useAxios|useSocket)\b/,
519
+ reason: "Vue does not export these composables. useStore requires Pinia/Vuex, others need third-party libraries.",
520
+ languages: ["javascript", "typescript"],
521
+ },
346
522
  ];
347
523
  // ─── Main Analyzer ──────────────────────────────────────────────────────────
348
524
  export function analyzeHallucinationDetection(code, language) {
@@ -355,6 +531,14 @@ export function analyzeHallucinationDetection(code, language) {
355
531
  for (const hp of HALLUCINATED_PATTERNS) {
356
532
  if (!hp.languages.includes(lang))
357
533
  continue;
534
+ // Scope-aware suppression: skip if the method is defined locally
535
+ if (hp.scopeCheckMethod && isMethodDefinedLocally(code, hp.scopeCheckMethod, lang)) {
536
+ continue;
537
+ }
538
+ // Import guard: skip if the pattern requires a specific import that's absent
539
+ if (hp.requiresImport && !code.includes(hp.requiresImport)) {
540
+ continue;
541
+ }
358
542
  const affectedLines = [];
359
543
  for (let i = 0; i < lines.length; i++) {
360
544
  if (isCommentLine(lines[i]))
@@ -364,6 +548,28 @@ export function analyzeHallucinationDetection(code, language) {
364
548
  }
365
549
  }
366
550
  if (affectedLines.length > 0) {
551
+ // Build auto-fix patch for the first affected line
552
+ const firstLine = affectedLines[0] - 1;
553
+ const patch = {
554
+ oldText: lines[firstLine],
555
+ newText: `/* FIX: ${hp.fix} */ ${lines[firstLine]}`,
556
+ startLine: affectedLines[0],
557
+ endLine: affectedLines[0],
558
+ };
559
+ const evidenceChain = {
560
+ steps: [
561
+ {
562
+ observation: `Detected hallucinated API: ${hp.hallucinated}`,
563
+ source: "pattern-match",
564
+ line: affectedLines[0],
565
+ },
566
+ {
567
+ observation: hp.reason,
568
+ source: "framework-knowledge",
569
+ },
570
+ ],
571
+ impactStatement: `Runtime error: ${hp.hallucinated} does not exist and will fail when executed`,
572
+ };
367
573
  findings.push({
368
574
  ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
369
575
  severity: "high",
@@ -371,9 +577,13 @@ export function analyzeHallucinationDetection(code, language) {
371
577
  description: hp.reason,
372
578
  lineNumbers: affectedLines,
373
579
  recommendation: hp.fix,
580
+ suggestedFix: hp.fix,
374
581
  reference: "AI Code Safety — Hallucinated API Detection",
375
582
  confidence: 0.85,
376
583
  provenance: "regex-pattern-match",
584
+ patch,
585
+ evidenceChain,
586
+ evidenceBasis: "Known-hallucination-registry (+0.40), regex-pattern-match (+0.25), stdlib-knowledge (+0.20)",
377
587
  });
378
588
  }
379
589
  }
@@ -392,9 +602,25 @@ export function analyzeHallucinationDetection(code, language) {
392
602
  description: sp.reason,
393
603
  lineNumbers: [i + 1],
394
604
  recommendation: "Verify the import exists in the package's documentation. Install the correct third-party package instead.",
605
+ suggestedFix: "Remove the invalid import and install the correct package.",
395
606
  reference: "AI Code Safety — Hallucinated Import Detection",
396
607
  confidence: 0.8,
397
608
  provenance: "regex-pattern-match",
609
+ evidenceChain: {
610
+ steps: [
611
+ {
612
+ observation: `Import from known package references non-existent export`,
613
+ source: "pattern-match",
614
+ line: i + 1,
615
+ },
616
+ {
617
+ observation: sp.reason,
618
+ source: "framework-knowledge",
619
+ },
620
+ ],
621
+ impactStatement: `Import will fail: the referenced export does not exist in this package`,
622
+ },
623
+ evidenceBasis: "Known-package-export-registry (+0.35), regex-pattern-match (+0.25), framework-knowledge (+0.20)",
398
624
  });
399
625
  }
400
626
  }
@@ -415,9 +641,25 @@ export function analyzeHallucinationDetection(code, language) {
415
641
  description: "Native Promises have no .delay() method. LLMs hallucinate this from the Bluebird library.",
416
642
  lineNumbers: [i + 1],
417
643
  recommendation: "Use: await new Promise(resolve => setTimeout(resolve, ms));",
644
+ suggestedFix: "await new Promise(resolve => setTimeout(resolve, ms));",
418
645
  reference: "AI Code Safety — Hallucinated API Detection",
419
646
  confidence: 0.9,
420
647
  provenance: "regex-pattern-match",
648
+ evidenceChain: {
649
+ steps: [
650
+ {
651
+ observation: "Promise.resolve().delay() detected — .delay() is a Bluebird-only API",
652
+ source: "pattern-match",
653
+ line: i + 1,
654
+ },
655
+ {
656
+ observation: "Native Promise prototype has no .delay() method",
657
+ source: "framework-knowledge",
658
+ },
659
+ ],
660
+ impactStatement: "Runtime TypeError: .delay() is not a function on native Promises",
661
+ },
662
+ evidenceBasis: "Known-hallucination-registry (+0.45), stdlib-knowledge (+0.25), regex-pattern-match (+0.20)",
421
663
  });
422
664
  }
423
665
  // Map.prototype.contains — should be .has
@@ -429,9 +671,21 @@ export function analyzeHallucinationDetection(code, language) {
429
671
  description: "JavaScript Maps use .has() not .contains(). LLMs often hallucinate Java's Map.containsKey().",
430
672
  lineNumbers: [i + 1],
431
673
  recommendation: "Use map.has(key) to check for key existence.",
674
+ suggestedFix: "Replace .contains(key) with .has(key).",
432
675
  reference: "AI Code Safety — Hallucinated API Detection",
433
676
  confidence: 0.7,
434
677
  provenance: "regex-pattern-match",
678
+ evidenceChain: {
679
+ steps: [
680
+ {
681
+ observation: ".contains() called in file that uses Map — Maps have .has(), not .contains()",
682
+ source: "pattern-match",
683
+ line: i + 1,
684
+ },
685
+ ],
686
+ impactStatement: "Potential TypeError: Map instances do not have a .contains() method",
687
+ },
688
+ evidenceBasis: "Map-usage-context (+0.30), regex-pattern-match (+0.20), stdlib-knowledge (+0.20)",
435
689
  });
436
690
  }
437
691
  }
@@ -451,9 +705,25 @@ export function analyzeHallucinationDetection(code, language) {
451
705
  description: "Wrapping an async function inside new Promise() is an anti-pattern commonly generated by LLMs. Errors thrown in the async executor won't reject the promise, leading to unhandled rejections and swallowed errors.",
452
706
  lineNumbers: [i + 1],
453
707
  recommendation: "Remove the Promise wrapper — async functions already return Promises. Just use: async function name() { ... }",
708
+ suggestedFix: "Remove the new Promise() wrapper and use the async function directly.",
454
709
  reference: "AI Code Safety — Hallucinated Pattern Detection",
455
710
  confidence: 0.85,
456
711
  provenance: "regex-pattern-match",
712
+ evidenceChain: {
713
+ steps: [
714
+ {
715
+ observation: "async executor inside new Promise() constructor",
716
+ source: "pattern-match",
717
+ line: i + 1,
718
+ },
719
+ {
720
+ observation: "Async executors swallow thrown errors because Promise constructor only catches synchronous throws",
721
+ source: "framework-knowledge",
722
+ },
723
+ ],
724
+ impactStatement: "Reliability risk: errors in async Promise executors cause unhandled rejections instead of proper rejection",
725
+ },
726
+ evidenceBasis: "Anti-pattern-registry (+0.40), regex-pattern-match (+0.25), runtime-semantics (+0.20)",
457
727
  });
458
728
  }
459
729
  }
@@ -486,6 +756,17 @@ export function analyzeHallucinationDetection(code, language) {
486
756
  reference: "AI Code Safety — Import Verification",
487
757
  confidence: 0.65,
488
758
  provenance: "regex-pattern-match",
759
+ evidenceChain: {
760
+ steps: [
761
+ {
762
+ observation: `Package "${pkgName}" matches AI-fabricated naming pattern (adjective-noun)`,
763
+ source: "pattern-match",
764
+ line: i + 1,
765
+ },
766
+ ],
767
+ impactStatement: `Possible supply-chain risk: package "${pkgName}" may not exist on npm`,
768
+ },
769
+ evidenceBasis: "Naming-heuristic (+0.35), generic-prefix-suffix-match (+0.30)",
489
770
  });
490
771
  }
491
772
  }
@@ -513,6 +794,17 @@ export function analyzeHallucinationDetection(code, language) {
513
794
  reference: "AI Code Safety — Import Verification",
514
795
  confidence: 0.65,
515
796
  provenance: "regex-pattern-match",
797
+ evidenceChain: {
798
+ steps: [
799
+ {
800
+ observation: `Package "${pkgName}" matches AI-fabricated naming pattern (adjective-noun)`,
801
+ source: "pattern-match",
802
+ line: i + 1,
803
+ },
804
+ ],
805
+ impactStatement: `Possible supply-chain risk: package "${pkgName}" may not exist on PyPI`,
806
+ },
807
+ evidenceBasis: "Naming-heuristic (+0.35), generic-prefix-suffix-match (+0.30)",
516
808
  });
517
809
  }
518
810
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hallucination-detection.js","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hallucination-detection.js","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevinrabun/judges",
3
- "version": "3.29.2",
3
+ "version": "3.30.0",
4
4
  "description": "43 specialized judges that evaluate AI-generated code for security, cost, and quality.",
5
5
  "mcpName": "io.github.KevinRabun/judges",
6
6
  "type": "module",
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/kevinrabun/judges",
8
8
  "source": "github"
9
9
  },
10
- "version": "3.29.2",
10
+ "version": "3.30.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@kevinrabun/judges",
15
- "version": "3.29.2",
15
+ "version": "3.30.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }