circle-ir-ai 2.42.0 → 2.44.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
@@ -5,6 +5,78 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.44.0] - 2026-07-13
9
+
10
+ ### Fixed — LLM transport resilience: retry opaque 400s + recover truncated discovery JSON (cognium-ai#222, #223)
11
+
12
+ Deep analysis of a Novita.ai `qwen/qwen3-coder-next` CWE-Bench-Java run
13
+ (three passes, failure rate 7%→19%→38%, score tracking it down) showed the
14
+ misses were **provider-transport failures, not engine/model misses** — the
15
+ failure-free union was 101/120 vs a single flaky-run 89–94. Two root causes,
16
+ both in `src/llm/ax-client.ts`:
17
+
18
+ - **#222 — opaque HTTP 400 treated as terminal.** Novita intermittently
19
+ returns `HTTP 400 invalid_request_error` (opaque `trace_id`, no actionable
20
+ message) for requests it accepts on retry — not length-related (a 147K-char
21
+ prompt succeeded while a 5.8K one 400ed). The client made **1 attempt, no
22
+ retry** (unlike 429/5xx). Now `isTransient400()` classifies the body:
23
+ opaque `invalid_request_error` → retried with backoff (bounded,
24
+ `MAX_TRANSIENT_400_RETRIES=2`, new `transient_client_error` outcome);
25
+ deterministic parameter-error 400s (`Unsupported parameter`,
26
+ `max_completion_tokens`, context-length, content-policy) stay terminal.
27
+
28
+ - **#223 — truncated discovery JSON not recovered + retry made it worse.**
29
+ Responses cut off mid-`reasoning`-string left the verdict array unparseable.
30
+ `tryRecoverTruncatedJSON` had a **close-order bug** — it appended all `]`
31
+ then all `}`, yielding `…"path_traversal"]}` for a truncated `[{…` (array
32
+ closed before its object). Now it rebuilds the open-delimiter **stack** and
33
+ closes innermost-first, plus strips a dangling `"key":`/trailing comma — so
34
+ the leading complete verdicts survive. Also stopped **lowering `max_tokens`
35
+ on retry** (it was shrinking the output budget "to reduce truncation",
36
+ which is backwards when truncation is the failure).
37
+
38
+ `isTransient400` is exported. 8 new tests (`tests/llm/transient-400.test.ts`),
39
+ existing terminal-400 behavior preserved. 1394 tests.
40
+
41
+ ## [2.43.0] - 2026-07-12
42
+
43
+ ### Added — per-entity design-smell detection for quality discrimination (cognium-ai#198)
44
+
45
+ The quality passes keyed on **directory-averaged** metrics (avgComplexity,
46
+ avgCBO, MI), which are refactor-invariant for design smells: splitting one
47
+ god-class into three, or one hairy method into three, barely moves an
48
+ average because you divide by more entities. Across the 18 contrastive
49
+ quality-regression pairs only 1 discriminated smelly-from-refactored.
50
+
51
+ New `src/quality/entity-smells.ts` (`detectEntitySmells`) consumes the
52
+ per-entity data the averages discarded and emits **per-entity** smells with
53
+ per-entity thresholds:
54
+
55
+ - **high-complexity** — any method whose McCabe CC > 10 (named).
56
+ - **god-class** — any type whose RFC response-surface ≥ 12. Keys on RFC, not
57
+ LCOM: circle-ir's per-type LCOM reports 0 on dynamic-language classes, so
58
+ gating on it would silently disable detection on the languages the corpus
59
+ most needs.
60
+
61
+ Both fire on the offending entity and clear when it's split — proven by
62
+ end-to-end discrimination tests that run `analyze` on synthetic
63
+ smelly/refactored pairs. Wired into the quality `code-complexity` pass, so
64
+ `quality` findings now name the method/class and discriminate the twins.
65
+
66
+ **Also fixes a latent CC bug** (`health-score/calculator.ts`): circle-ir
67
+ emits one `cyclomatic_complexity` entry *per method*, but the code used
68
+ `.find()` and read only the first (arbitrary) method — so `maxComplexity` /
69
+ `complexFunctions` were computed from a single method and high-complexity
70
+ methods were under-counted. Now iterates all method entries.
71
+
72
+ ### Tests — lock cognium-ai#186 (browser `.query()` FP) at the pass level
73
+
74
+ Added end-to-end `inputValidationPass` tests asserting that
75
+ `navigator.permissions.query` / `chrome.tabs.query` flows are dropped
76
+ (clean pass, no BLOCKED tier) while a real `pool.query(...)` DB sink still
77
+ fires. #186's `isBrowserQueryApi` gate shipped earlier; this locks it so it
78
+ can't silently regress. (1386 tests.)
79
+
8
80
  ## [2.42.0] - 2026-07-12
9
81
 
10
82
  ### Added — trust tier transparency: `tierReason` / `baseTier` / `blockingFindings` (cognium-ai#206)
@@ -7,6 +7,7 @@
7
7
  import { type ScanResult } from '../security-scan/scanner.js';
8
8
  import { type SecretScanResult } from '../secret-scan/scanner.js';
9
9
  import { type DeadCodeResult } from '../dead-code/detector.js';
10
+ import { type EntitySmell } from '../quality/entity-smells.js';
10
11
  import { type MetricResult } from './metrics.js';
11
12
  /**
12
13
  * Health score calculation options
@@ -90,6 +91,8 @@ export interface HealthScoreResult {
90
91
  totalLoc: number;
91
92
  timestamp: string;
92
93
  durationMs: number;
94
+ /** cognium-ai#198 — per-entity design smells (high-CC methods, god-classes). */
95
+ entitySmells?: EntitySmell[];
93
96
  };
94
97
  }
95
98
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../src/health-score/calculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../src/health-score/calculator.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { ensureAnalyzerInitialized } from '../utils/analyzer-init.js';
13
13
  import { scanDirectory } from '../security-scan/scanner.js';
14
14
  import { quickSecretScan } from '../secret-scan/scanner.js';
15
15
  import { detectDeadCode } from '../dead-code/detector.js';
16
+ import { detectEntitySmells } from '../quality/entity-smells.js';
16
17
  import { calculateSecurityScore, calculateMaintainabilityScore, calculateQualityScore, calculatePerformanceScore, countAnnotations, countLinesOfCode, estimateComplexity, detectNPlusOnePatterns, detectBlockingIoPatterns, getScoreLabel, getScoreColor, } from './metrics.js';
17
18
  /**
18
19
  * Default weights
@@ -176,6 +177,7 @@ export class HealthScoreCalculator {
176
177
  totalLoc: fileInfo.totalLoc,
177
178
  timestamp: new Date().toISOString(),
178
179
  durationMs: Date.now() - startTime,
180
+ entitySmells: fileInfo.entitySmells,
179
181
  },
180
182
  };
181
183
  }
@@ -203,6 +205,7 @@ export class HealthScoreCalculator {
203
205
  avgLCOM: 0,
204
206
  avgBugHotspot: 0,
205
207
  duplicationPercent: 0,
208
+ entitySmells: [],
206
209
  };
207
210
  const excludePatterns = [
208
211
  /node_modules/,
@@ -320,15 +323,23 @@ export class HealthScoreCalculator {
320
323
  const m = metrics.find(v => v.name === name);
321
324
  return m ? m.value : undefined;
322
325
  };
323
- // Cyclomatic complexity (real v(G))
324
- const cc = getMetric('cyclomatic_complexity');
325
- if (cc !== undefined) {
326
- totalComplexity += cc;
326
+ // Cyclomatic complexity (real v(G)). circle-ir emits ONE
327
+ // cyclomatic_complexity entry per method (tagged
328
+ // `description: "method: X"`). cognium-ai#198: read ALL of
329
+ // them — the previous code used `.find()` and saw only the
330
+ // first (arbitrary) method's CC, so `maxComplexity` /
331
+ // `complexFunctions` were computed from a single method and
332
+ // high-complexity methods were silently under-counted.
333
+ const methodCCs = metrics
334
+ .filter((v) => v.name === 'cyclomatic_complexity')
335
+ .map((v) => v.value);
336
+ if (methodCCs.length > 0) {
337
+ const fileMax = Math.max(...methodCCs);
338
+ const fileMean = methodCCs.reduce((s, v) => s + v, 0) / methodCCs.length;
339
+ totalComplexity += fileMean; // mean method CC (was: first method)
327
340
  fileCount++;
328
- info.maxComplexity = Math.max(info.maxComplexity, cc);
329
- if (cc > 10) {
330
- info.complexFunctions++;
331
- }
341
+ info.maxComplexity = Math.max(info.maxComplexity, fileMax);
342
+ info.complexFunctions += methodCCs.filter((v) => v > 10).length;
332
343
  }
333
344
  else {
334
345
  // Fallback to regex heuristic
@@ -339,6 +350,13 @@ export class HealthScoreCalculator {
339
350
  if (complexity > 10)
340
351
  info.complexFunctions++;
341
352
  }
353
+ // cognium-ai#198: per-entity design smells (high-CC methods,
354
+ // god-classes) keyed on per-method / per-type thresholds so a
355
+ // smell fires on the offending entity and clears when it's
356
+ // refactored — unlike the directory averages below.
357
+ const smells = detectEntitySmells(file.relativePath, metrics);
358
+ if (smells.length > 0)
359
+ info.entitySmells.push(...smells);
342
360
  // Composite metrics
343
361
  // Note: MI=0 often indicates very large/complex files or parse failures.
344
362
  // Exclude MI=0 from average to avoid skewing the score.
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../src/health-score/calculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../src/health-score/calculator.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,21 @@ export declare const MAX_CODE_CONTEXT_LENGTH: number;
61
61
  * back to exponential backoff with jitter (1s, 2s, 4s, 8s, 16s).
62
62
  */
63
63
  export declare function parseRetryAfterMs(header: string | null, attempt: number, now?: number): number;
64
+ /**
65
+ * cognium-ai#222 — decide whether an HTTP 400 body looks *transient*
66
+ * (retryable) rather than a deterministic request defect.
67
+ *
68
+ * Deterministic 400s carry an actionable, request-shape message we must NOT
69
+ * retry — OpenAI: `"Unsupported parameter: 'temperature'"`,
70
+ * `"Use 'max_completion_tokens' instead of 'max_tokens'"`, unknown model,
71
+ * context-length-exceeded, content-policy. Retrying those just loops.
72
+ *
73
+ * Opaque 400s carry only a generic `invalid_request_error` + a `trace_id`
74
+ * and no actionable parameter name — empirically these are transient
75
+ * provider hiccups and recover on retry. Default to NOT retrying when the
76
+ * body is missing/ambiguous (conservative — preserves prior behavior).
77
+ */
78
+ export declare function isTransient400(body: string | undefined | null): boolean;
64
79
  /**
65
80
  * Strip `<think>...</think>` reasoning blocks from LLM output.
66
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ax-client.d.ts","sourceRoot":"","sources":["../../src/llm/ax-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ax-client.d.ts","sourceRoot":"","sources":["../../src/llm/ax-client.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,53 @@ const TRANSIENT_5XX_STATUSES = new Set([500, 502, 503, 504]);
214
214
  * proxy doesn't burn the rate-limit budget.
215
215
  */
216
216
  const MAX_TRANSIENT_5XX_RETRIES = 3;
217
+ /**
218
+ * cognium-ai#222 — Maximum retries for an *opaque* HTTP 400. Some
219
+ * OpenAI-compatible providers (observed: Novita.ai `qwen/qwen3-coder-next`)
220
+ * intermittently return `HTTP 400 invalid_request_error` for requests that
221
+ * succeed on a later attempt — a transient server-side rejection dressed as
222
+ * a client error. Small budget, independent of the 5xx/429 budgets.
223
+ */
224
+ const MAX_TRANSIENT_400_RETRIES = 2;
225
+ /**
226
+ * cognium-ai#222 — decide whether an HTTP 400 body looks *transient*
227
+ * (retryable) rather than a deterministic request defect.
228
+ *
229
+ * Deterministic 400s carry an actionable, request-shape message we must NOT
230
+ * retry — OpenAI: `"Unsupported parameter: 'temperature'"`,
231
+ * `"Use 'max_completion_tokens' instead of 'max_tokens'"`, unknown model,
232
+ * context-length-exceeded, content-policy. Retrying those just loops.
233
+ *
234
+ * Opaque 400s carry only a generic `invalid_request_error` + a `trace_id`
235
+ * and no actionable parameter name — empirically these are transient
236
+ * provider hiccups and recover on retry. Default to NOT retrying when the
237
+ * body is missing/ambiguous (conservative — preserves prior behavior).
238
+ */
239
+ export function isTransient400(body) {
240
+ if (!body)
241
+ return false; // no body → can't prove transient → terminal
242
+ const b = body.toLowerCase();
243
+ // Deterministic client-fix signals → never retry.
244
+ if (b.includes('unsupported parameter') ||
245
+ b.includes('max_completion_tokens') ||
246
+ b.includes('unsupported value') ||
247
+ b.includes('context length') ||
248
+ b.includes('context_length') ||
249
+ b.includes('maximum context') ||
250
+ b.includes('too many tokens') ||
251
+ b.includes('model_not_found') ||
252
+ b.includes('does not exist') ||
253
+ b.includes('content management policy') ||
254
+ b.includes('content_policy') ||
255
+ b.includes('content filter')) {
256
+ return false;
257
+ }
258
+ // Opaque provider rejection → treat as transient. Novita emits
259
+ // `{"message":"invalid request error trace_id: …","type":"invalid_request_error"}`.
260
+ return (b.includes('invalid_request_error') ||
261
+ b.includes('invalid request error') ||
262
+ b.includes('trace_id'));
263
+ }
217
264
  /**
218
265
  * Strip `<think>...</think>` reasoning blocks from LLM output.
219
266
  *
@@ -864,13 +911,16 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
864
911
  const maxRetries = 1; // parse / timeout / network retries
865
912
  const maxRateLimitRetries = MAX_RATE_LIMIT_RETRIES;
866
913
  const maxTransient5xxRetries = MAX_TRANSIENT_5XX_RETRIES;
914
+ const maxTransient400Retries = MAX_TRANSIENT_400_RETRIES;
867
915
  let attempt = retryCount; // 0 = initial; >0 = reduced-token retry
868
916
  let rateLimitAttempt = rateLimitRetryCount;
869
917
  let transient5xxAttempt = 0; // independent budget for 5xx
918
+ let transient400Attempt = 0; // cognium-ai#222: budget for opaque 400
870
919
  // Per-attempt logging (cognium-ai#87). One JSONL `kind:'attempt'` entry per
871
920
  // loop iteration when LLM_LOG_JSONL or LLM_DEEP is set. Upper-bound on
872
921
  // total possible iterations covers all three independent retry budgets.
873
- const maxAttempts = maxRetries + 1 + maxRateLimitRetries + maxTransient5xxRetries;
922
+ const maxAttempts = maxRetries + 1 + maxRateLimitRetries + maxTransient5xxRetries +
923
+ maxTransient400Retries;
874
924
  let attemptIdx = 0;
875
925
  const promptChars = systemPrompt.length + userPrompt.length;
876
926
  const emitAttempt = (outcome, attemptStartMs, extras = {}) => {
@@ -927,10 +977,13 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
927
977
  while (true) {
928
978
  attemptIdx++;
929
979
  const attemptStart = Date.now();
930
- // On retry, request fewer tokens to reduce truncation risk
931
- const maxTokens = attempt > 0
932
- ? Math.min(phaseConfig.maxTokens, 4000)
933
- : phaseConfig.maxTokens;
980
+ // cognium-ai#223: `max_tokens` is the OUTPUT cap — lowering it makes
981
+ // the model truncate *sooner*. The old heuristic shrank it to 4000
982
+ // on retry "to reduce truncation risk", which is backwards when the
983
+ // failure IS output truncation (the dominant discovery parse-error:
984
+ // a verdict array cut off mid-`reasoning`). Keep the full budget on
985
+ // retry so a re-attempt has room to finish the JSON.
986
+ const maxTokens = phaseConfig.maxTokens;
934
987
  const controller = new AbortController();
935
988
  const timeoutMs = phaseConfig.timeout || 60000;
936
989
  const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
@@ -1034,10 +1087,14 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
1034
1087
  transient5xxAttempt++;
1035
1088
  continue;
1036
1089
  }
1037
- // #43: log the response body too, not just the status code.
1090
+ // #43: read the response body once, not just the status code.
1038
1091
  // OpenAI's 400s contain useful messages like "Unsupported
1039
1092
  // parameter: 'temperature'" or "Use 'max_completion_tokens'
1040
- // instead of 'max_tokens'" that would otherwise be invisible.
1093
+ // instead of 'max_tokens'" that would otherwise be invisible —
1094
+ // and cognium-ai#222 uses the body to classify 400s as
1095
+ // transient-vs-terminal. `response.text()` can only be consumed
1096
+ // once, so this single read feeds both the retry decision and the
1097
+ // terminal log below.
1041
1098
  let bodySnippet = '';
1042
1099
  try {
1043
1100
  bodySnippet = (await response.text()).slice(0, 300);
@@ -1045,6 +1102,25 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
1045
1102
  catch {
1046
1103
  // ignore — body may have been consumed or stream errored
1047
1104
  }
1105
+ // cognium-ai#222: opaque 400 (e.g. Novita `invalid_request_error`)
1106
+ // is a transient provider rejection — retry with backoff, like a
1107
+ // 5xx. Deterministic parameter-error 400s (`isTransient400` →
1108
+ // false) fall through to the terminal path unchanged.
1109
+ if (response.status === 400 &&
1110
+ transient400Attempt < maxTransient400Retries &&
1111
+ isTransient400(bodySnippet)) {
1112
+ const sleepMs = parseRetryAfterMs(response.headers.get('Retry-After'), transient400Attempt);
1113
+ console.error(`LLM opaque 400 (invalid_request_error); sleeping ${sleepMs}ms ` +
1114
+ `before retry ${transient400Attempt + 1}/${maxTransient400Retries}`);
1115
+ emitAttempt('transient_client_error', attemptStart, {
1116
+ httpStatus: 400,
1117
+ backoffMs: sleepMs,
1118
+ responseSnippet: bodySnippet || undefined,
1119
+ });
1120
+ await sleep(sleepMs);
1121
+ transient400Attempt++;
1122
+ continue;
1123
+ }
1048
1124
  console.error(`LLM call failed: HTTP ${response.status}${bodySnippet ? ' — ' + bodySnippet : ''}`);
1049
1125
  let terminalCategory;
1050
1126
  if (response.status === 429) {
@@ -1198,9 +1274,7 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
1198
1274
  * Handles cases where LLM output was cut off mid-response
1199
1275
  */
1200
1276
  tryRecoverTruncatedJSON(jsonStr) {
1201
- // Count open brackets
1202
- let braces = 0;
1203
- let brackets = 0;
1277
+ // First pass: detect a mid-string truncation (unbalanced quotes).
1204
1278
  let inString = false;
1205
1279
  let escaped = false;
1206
1280
  for (const char of jsonStr) {
@@ -1216,18 +1290,8 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
1216
1290
  inString = !inString;
1217
1291
  continue;
1218
1292
  }
1219
- if (inString)
1220
- continue;
1221
- if (char === '{')
1222
- braces++;
1223
- if (char === '}')
1224
- braces--;
1225
- if (char === '[')
1226
- brackets++;
1227
- if (char === ']')
1228
- brackets--;
1229
1293
  }
1230
- // If we're truncated mid-string, close it
1294
+ // If we're truncated mid-string, close it.
1231
1295
  if (inString) {
1232
1296
  jsonStr = jsonStr + '"';
1233
1297
  }
@@ -1237,14 +1301,44 @@ INFORMATION EXPOSURE (CWE-200/209) SPECIFIC:
1237
1301
  if (lastValidEnd > 0 && lastValidEnd < jsonStr.length - 1) {
1238
1302
  jsonStr = jsonStr.substring(0, lastValidEnd);
1239
1303
  }
1240
- // Add missing brackets
1241
- while (brackets > 0) {
1242
- jsonStr += ']';
1243
- brackets--;
1304
+ // cognium-ai#223: when the truncation point is a comma,
1305
+ // `findLastCompleteValue` keeps it, so appending closers yields `…,}]`
1306
+ // (invalid trailing comma). Strip a dangling `"key":` (no value) and any
1307
+ // trailing comma. A *complete* trailing `"key":"value"` ends in `"`, so
1308
+ // neither pattern touches it.
1309
+ jsonStr = jsonStr
1310
+ .replace(/,\s*"[^"]*"\s*:\s*$/, '') // drop `, "key":` with no value
1311
+ .replace(/,\s*$/, ''); // drop trailing comma
1312
+ // cognium-ai#223: close the OPEN delimiters in reverse nesting order.
1313
+ // The previous code closed all `]` then all `}`, which produced invalid
1314
+ // output like `…"path_traversal"]}` for a truncated `[{…` (array closed
1315
+ // before the object it contains). Rebuild the open-delimiter stack on
1316
+ // the final string and append the matching closers innermost-first.
1317
+ const stack = [];
1318
+ inString = false;
1319
+ escaped = false;
1320
+ for (const char of jsonStr) {
1321
+ if (escaped) {
1322
+ escaped = false;
1323
+ continue;
1324
+ }
1325
+ if (char === '\\') {
1326
+ escaped = true;
1327
+ continue;
1328
+ }
1329
+ if (char === '"') {
1330
+ inString = !inString;
1331
+ continue;
1332
+ }
1333
+ if (inString)
1334
+ continue;
1335
+ if (char === '{' || char === '[')
1336
+ stack.push(char);
1337
+ else if (char === '}' || char === ']')
1338
+ stack.pop();
1244
1339
  }
1245
- while (braces > 0) {
1246
- jsonStr += '}';
1247
- braces--;
1340
+ for (let i = stack.length - 1; i >= 0; i--) {
1341
+ jsonStr += stack[i] === '{' ? '}' : ']';
1248
1342
  }
1249
1343
  // Quick validation - should start with { or [
1250
1344
  const trimmed = jsonStr.trim();