circle-ir-ai 2.8.5 → 2.8.7
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 +58 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,64 @@ 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.8.7] - 2026-06-10
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **Upgrade `circle-ir` from `^3.27.1` to `^3.33.0`** — picks up
|
|
13
|
+
6 minor engine versions (3.28.0 through 3.33.0) published on
|
|
14
|
+
2026-06-10. Typecheck ✓, build ✓, 556/556 tests pass against the
|
|
15
|
+
new engine with no source changes required (no breaking API
|
|
16
|
+
surface in the bump).
|
|
17
|
+
|
|
18
|
+
## [2.8.6] - 2026-06-10
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **#84 postmortem: parse-retry budget was entangled with HTTP retry
|
|
23
|
+
budget in v2.8.5.** Investigation after the v2.8.5 gemma3:12b
|
|
24
|
+
benchmark re-run showed an unchanged score (94/120, same 2 parse
|
|
25
|
+
errors). Inspection of the v2.8.5 verbose trail revealed:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
[LLM] JSON parse error (array) — parse-retry 1/1
|
|
29
|
+
[LLM] Error: This operation was aborted — retry 2/3 in 10s
|
|
30
|
+
[LLM] JSON parse error (array) — parse-retries exhausted
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The `parseRetries` counter in `benchmarks/runners/run-cwe-bench-java.ts`
|
|
34
|
+
was declared outside the `for (attempt...)` loop and was consumed by
|
|
35
|
+
the first parse error. When an AbortError subsequently triggered an
|
|
36
|
+
HTTP retry, the retry consumed an `attempt` slot but did not refresh
|
|
37
|
+
the parse-retry budget — so the next parse error had no budget left.
|
|
38
|
+
|
|
39
|
+
Fix: decoupled the two counters. Converted the loop to `while
|
|
40
|
+
(attempt <= MAX_RETRIES)` and now only HTTP-retry sites
|
|
41
|
+
(`attempt++`) consume the HTTP budget. Parse-retry `continue`
|
|
42
|
+
statements leave `attempt` untouched. Each error type now has its
|
|
43
|
+
own independent budget (max 4 HTTP attempts + 1 parse retry per
|
|
44
|
+
call). Maximum loop iterations bounded at 5.
|
|
45
|
+
|
|
46
|
+
### Notes
|
|
47
|
+
|
|
48
|
+
- The v2.8.6 gemma3:12b benchmark (re-run 2026-06-10) scored the
|
|
49
|
+
same 94/120 with 2 parse errors. The retry-logic fix is correct
|
|
50
|
+
but didn't recover the lost detection because gemma3:12b
|
|
51
|
+
consistently fails on the same 2 specific prompts under the
|
|
52
|
+
benchmark's actual conditions (sustained corpus load + cross-file
|
|
53
|
+
context augmentation). Standalone repros with `num_ctx=32768`
|
|
54
|
+
succeed 5/5 and 6/6 respectively, indicating the failure is
|
|
55
|
+
contextual to the runner's full augmented prompt + position in
|
|
56
|
+
the sequence rather than a logic bug.
|
|
57
|
+
|
|
58
|
+
- The fix is the right semantic to ship regardless — removes a
|
|
59
|
+
latent bug from the retry path that would have masked any future
|
|
60
|
+
retry-recoverable failure.
|
|
61
|
+
|
|
62
|
+
- For users seeking zero parse errors, recommend `qwen3-coder:30b`
|
|
63
|
+
(0/113 failures, 91/120 score, ~2x faster per call) over
|
|
64
|
+
`gemma3:12b` (2/109 failures, 94/120 score).
|
|
65
|
+
|
|
8
66
|
## [2.8.5] - 2026-06-09
|
|
9
67
|
|
|
10
68
|
### Fixed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir-ai",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.7",
|
|
4
4
|
"description": "LLM-enhanced SAST analysis built on circle-ir",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"dependencies": {
|
|
95
95
|
"@ax-llm/ax": "^20.0.0",
|
|
96
96
|
"@mastra/core": "^1.18.0",
|
|
97
|
-
"circle-ir": "^3.
|
|
97
|
+
"circle-ir": "^3.33.0",
|
|
98
98
|
"minimatch": "^10.2.5",
|
|
99
99
|
"p-queue": "^9.1.0"
|
|
100
100
|
},
|