circle-ir-ai 2.21.0 → 2.26.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 +351 -0
- package/dist/agents/mastra/workflow.d.ts.map +1 -1
- package/dist/agents/mastra/workflow.js +41 -1
- package/dist/agents/mastra/workflow.js.map +1 -1
- package/dist/cache/classification-cache.d.ts +27 -2
- package/dist/cache/classification-cache.d.ts.map +1 -1
- package/dist/cache/classification-cache.js +37 -5
- package/dist/cache/classification-cache.js.map +1 -1
- package/dist/cache/discovery-cache.d.ts +71 -0
- package/dist/cache/discovery-cache.d.ts.map +1 -0
- package/dist/cache/discovery-cache.js +95 -0
- package/dist/cache/discovery-cache.js.map +1 -0
- package/dist/cache/tree-cache.d.ts +111 -0
- package/dist/cache/tree-cache.d.ts.map +1 -0
- package/dist/cache/tree-cache.js +171 -0
- package/dist/cache/tree-cache.js.map +1 -0
- package/dist/cache/verify-cache.d.ts +60 -0
- package/dist/cache/verify-cache.d.ts.map +1 -0
- package/dist/cache/verify-cache.js +103 -0
- package/dist/cache/verify-cache.js.map +1 -0
- package/dist/cluster/cluster.d.ts +174 -0
- package/dist/cluster/cluster.d.ts.map +1 -0
- package/dist/cluster/cluster.js +392 -0
- package/dist/cluster/cluster.js.map +1 -0
- package/dist/cluster/index.d.ts +11 -0
- package/dist/cluster/index.d.ts.map +1 -0
- package/dist/cluster/index.js +10 -0
- package/dist/cluster/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/batch-classifier.d.ts.map +1 -1
- package/dist/llm/batch-classifier.js +13 -4
- package/dist/llm/batch-classifier.js.map +1 -1
- package/dist/llm/call-logger.d.ts +36 -0
- package/dist/llm/call-logger.d.ts.map +1 -1
- package/dist/llm/call-logger.js +36 -0
- package/dist/llm/call-logger.js.map +1 -1
- package/dist/llm/discovery.d.ts +1 -1
- package/dist/llm/discovery.d.ts.map +1 -1
- package/dist/llm/discovery.js +39 -0
- package/dist/llm/discovery.js.map +1 -1
- package/dist/llm/verification.d.ts +1 -1
- package/dist/llm/verification.d.ts.map +1 -1
- package/dist/llm/verification.js +39 -0
- package/dist/llm/verification.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,357 @@ 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.26.0] - 2026-06-30
|
|
9
|
+
|
|
10
|
+
### Added — Cluster layer foundation (cognium-ai#154, P4 of epic #155)
|
|
11
|
+
|
|
12
|
+
Ships the foundation of the top-of-pipeline file clustering proposed
|
|
13
|
+
in #154: a new `src/cluster/` module that groups files by their
|
|
14
|
+
static structural fingerprint (CK metrics + import/annotation set)
|
|
15
|
+
so downstream passes can eventually apply per-cluster policy bundles
|
|
16
|
+
("library bootstrap" vs "controller surface" vs "data-access shim")
|
|
17
|
+
instead of one-size-fits-all discovery/verification.
|
|
18
|
+
|
|
19
|
+
**Scope split — foundation only.** P1–P3 of epic #155 were
|
|
20
|
+
single-shot cache wins; P4's full policy bundles + the two benchmark
|
|
21
|
+
validation gates (top-100 HIGH/CRIT ≥30% reduction,
|
|
22
|
+
CWE-Bench-Java within 1pp) need empirical tuning that can't complete
|
|
23
|
+
in a single release. This release lands the primitives so downstream
|
|
24
|
+
wiring tickets can integrate `clusterFiles()` as an opaque grouping
|
|
25
|
+
signal while the policy resolver iterates separately.
|
|
26
|
+
|
|
27
|
+
**Out of scope here** (tracked as follow-up tickets):
|
|
28
|
+
|
|
29
|
+
- `meta.json.files[*].clusterId` field — scan-emit schema migration
|
|
30
|
+
(Acceptance #3)
|
|
31
|
+
- Top-100 HIGH/CRIT precision validation (Acceptance #4)
|
|
32
|
+
- CWE-Bench-Java regression check (Acceptance #5)
|
|
33
|
+
- `--cluster-policy <profile>` CLI flag in cognium-ai (Acceptance #6)
|
|
34
|
+
- LLM cluster labeling pass (optional future per the issue)
|
|
35
|
+
|
|
36
|
+
**New module `src/cluster/`:**
|
|
37
|
+
|
|
38
|
+
- `extractClusterVector(circleIr)` — pulls a `ClusterVector` (CK
|
|
39
|
+
metrics + top-2-segment imports + class-level annotations +
|
|
40
|
+
publicSurface count) from a single-file `analyze()` result. CK
|
|
41
|
+
metric lookup is case-insensitive (`"CBO"` / `"cbo"` / `"Cbo"`
|
|
42
|
+
all match). Missing metrics default to 0 — a procedural file with
|
|
43
|
+
no CK numbers is a valid "low-complexity" signal, not missing data.
|
|
44
|
+
- `clusterFiles(inputs, { k })` — deterministic PAM-lite k-medoids
|
|
45
|
+
returning `Map<filePath, clusterId>` per Acceptance #1. Seed is
|
|
46
|
+
derived from a digest of (sorted file paths || vector signatures)
|
|
47
|
+
so re-runs on the same input produce the same labels; tie-breaking
|
|
48
|
+
on equal distances falls back to lexicographic path order. k is
|
|
49
|
+
clamped to `[1, inputs.length]`; empty input returns empty result.
|
|
50
|
+
- Distance functions exposed for unit-testability:
|
|
51
|
+
`euclideanCkDistance` (on max-normalized CK + publicSurface),
|
|
52
|
+
`jaccardDistance` (on string sets), `mixedDistance`
|
|
53
|
+
(`0.6·CK + 0.2·imports + 0.2·annotations`, all in [0,1])
|
|
54
|
+
- `computeNormalization(inputs)` — per-axis max-normalize.
|
|
55
|
+
Max-normalize (rather than z-score) is deliberate: cluster
|
|
56
|
+
boundaries should be robust to outliers (one god-class with
|
|
57
|
+
WMC=400 shouldn't squash everything else into the same cluster).
|
|
58
|
+
- `ClusterPolicy` type + `DEFAULT_CLUSTER_POLICY` constant
|
|
59
|
+
(`application` profile, all sources/sinks allowed, LLM enabled)
|
|
60
|
+
so downstream wiring tickets can land without re-declaring shape.
|
|
61
|
+
|
|
62
|
+
**Tests (`tests/cluster.test.ts`, 23 cases):**
|
|
63
|
+
|
|
64
|
+
- `jaccardDistance`: empty/disjoint/identical/partial-overlap/dedupe
|
|
65
|
+
- `euclideanCkDistance`: zero on identical, monotone on CK delta
|
|
66
|
+
- `mixedDistance`: zero on identical, bounded to [0,1]
|
|
67
|
+
- `clusterFiles`: empty input, k-clamping, label-range invariant,
|
|
68
|
+
determinism (same seed → same labels), order-invariance (input
|
|
69
|
+
reversal preserves cluster sets), clean separation of well-
|
|
70
|
+
separated groups, convergence within `maxIter`
|
|
71
|
+
- `extractClusterVector`: CK metric extraction with unrelated
|
|
72
|
+
metrics ignored, case-insensitive metric names, top-2 package
|
|
73
|
+
segment extraction, fallback to `imported_name` when
|
|
74
|
+
`from_package` is null, annotation dedupe across types,
|
|
75
|
+
publicSurface counts public/default methods + types but skips
|
|
76
|
+
`private` modifiers
|
|
77
|
+
- `DEFAULT_CLUSTER_POLICY`: shape sanity
|
|
78
|
+
|
|
79
|
+
**Public surface (`src/index.ts`):**
|
|
80
|
+
|
|
81
|
+
All cluster exports surfaced at package top-level so consumers can
|
|
82
|
+
`import { clusterFiles } from 'circle-ir-ai'` without reaching into
|
|
83
|
+
the subpath.
|
|
84
|
+
|
|
85
|
+
### Notes
|
|
86
|
+
|
|
87
|
+
- K-medoids convergence on synthetic 40-file 2-cluster input
|
|
88
|
+
completes within `maxIter=50` (typically 1–3 iterations) —
|
|
89
|
+
Acceptance #2 budget of <2s on top-100 repos is comfortable; the
|
|
90
|
+
inner loop is scalar arithmetic on a 9-dim vector.
|
|
91
|
+
- The `circle-ir`-version + `circle-ir-ai`-version axes that
|
|
92
|
+
invalidate the tree cache (#153) also invalidate the implicit
|
|
93
|
+
CK-vector input here — so re-runs after an engine bump produce
|
|
94
|
+
fresh assignments without polluting the cache.
|
|
95
|
+
|
|
96
|
+
## [2.25.0] - 2026-06-30
|
|
97
|
+
|
|
98
|
+
### Added — Persistent tree cache (cognium-ai#153, P3 of epic #155)
|
|
99
|
+
|
|
100
|
+
`runPatternMatch` output (the natural seam in the Mastra workflow:
|
|
101
|
+
patternSources / patternSinks / types / imports / sastFindings / dfg)
|
|
102
|
+
is now persisted to disk. Pattern-match output is a pure function of
|
|
103
|
+
file content + engine version, so caching this slice eliminates the
|
|
104
|
+
parse + AST walk + SAST-rule firing on warm runs.
|
|
105
|
+
|
|
106
|
+
Empirically, on the v2.20.6 gson re-verify (2026-06-29) the scan stage
|
|
107
|
+
ate 179s of 358s end-to-end — ~half the wall-clock is rediscovering
|
|
108
|
+
structure circle-ir already knows. Cached pattern-match also feeds the
|
|
109
|
+
#145 static pre-filter with more material, indirectly reducing
|
|
110
|
+
enrichment-call volume.
|
|
111
|
+
|
|
112
|
+
**Scope:** caches `runPatternMatch` return only, NOT full `CircleIR`.
|
|
113
|
+
The full graph (cross-file CFG, project-level type hierarchy) is too
|
|
114
|
+
entangled with project context to cache safely without a full
|
|
115
|
+
`CircleIR.serialize()` upstream — that's a separate D3 design
|
|
116
|
+
question.
|
|
117
|
+
|
|
118
|
+
**Wire-through (`src/cache/tree-cache.ts`, new module):**
|
|
119
|
+
|
|
120
|
+
- `getTreeCache()` — module-scoped singleton over
|
|
121
|
+
`ClassificationCache<PatternMatchResult>` with **7-day TTL** (longer
|
|
122
|
+
than discovery/verify caches because pattern-match output is
|
|
123
|
+
structural and stable)
|
|
124
|
+
- `computeTreeCacheKey(input)` — content key combines source SHA-256,
|
|
125
|
+
circle-ir version, circle-ir-ai version, language tag, and a
|
|
126
|
+
caller-supplied `ruleSetFingerprint`. Classifier
|
|
127
|
+
`'tree-pattern-match'`
|
|
128
|
+
- `computeRuleSetFingerprint(input)` — order-stable digest over
|
|
129
|
+
`(disabledPasses, projectProfile)` so re-ordering `--disable a,b`
|
|
130
|
+
vs `--disable b,a` still hits
|
|
131
|
+
- `resetTreeCache()` / `getTreeCacheVersions()` — test-only helpers
|
|
132
|
+
- Cache directory: `.cognium/cache/tree/` (separate from
|
|
133
|
+
`.cognium/cache/discovery/` and `.cognium/cache/verify/`)
|
|
134
|
+
|
|
135
|
+
**Workflow wire-up (`src/agents/mastra/workflow.ts`):**
|
|
136
|
+
|
|
137
|
+
`runPatternMatch` consults the persistent cache before calling
|
|
138
|
+
circle-ir's `analyze()`. On hit it returns immediately. On miss it
|
|
139
|
+
falls through to analyze + populates the cache after the result
|
|
140
|
+
object is built. `projectProfile` may be a Map for multi-project runs
|
|
141
|
+
— fingerprint converts to object form first to avoid Map-serialization
|
|
142
|
+
quirks. Disk-write failures never fail the workflow.
|
|
143
|
+
|
|
144
|
+
**Versioning note:** unlike discovery/verify caches, the tree cache is
|
|
145
|
+
NOT keyed on the LLM model fingerprint (pattern-match is static —
|
|
146
|
+
circle-ir doesn't call any LLM). It IS keyed on both the circle-ir and
|
|
147
|
+
circle-ir-ai package versions because either bump can change the
|
|
148
|
+
workflow-level transforms applied to the result. Bumping `circle-ir`
|
|
149
|
+
(e.g. 3.123.0 → 3.124.0) produces 0% tree-cache hits against the old
|
|
150
|
+
version's cache (no false reuse).
|
|
151
|
+
|
|
152
|
+
**Env toggles:**
|
|
153
|
+
|
|
154
|
+
- `LLM_TREE_CACHE=0` — disables the persistent tree cache
|
|
155
|
+
|
|
156
|
+
**Invalidation matrix (#153 acceptance criteria, all covered by
|
|
157
|
+
`tests/tree-cache.test.ts`):**
|
|
158
|
+
|
|
159
|
+
- Edit one file → only that file's tree entry invalidates
|
|
160
|
+
(source SHA-256 in content key)
|
|
161
|
+
- Bump circle-ir → entire cache invalidates (version in key)
|
|
162
|
+
- Bump circle-ir-ai → entire cache invalidates
|
|
163
|
+
- Change language tag → miss
|
|
164
|
+
- Change disabled-passes / project-profile → miss
|
|
165
|
+
- Re-order disabled-passes list → still hits
|
|
166
|
+
|
|
167
|
+
**Tests:** 11 new tests in `tests/tree-cache.test.ts` cover all
|
|
168
|
+
acceptance criteria. `tests/mastra-workflow.test.ts` now disables
|
|
169
|
+
`LLM_TREE_CACHE` at the file level so existing timing assertions
|
|
170
|
+
(`totalTimeMs > 0`) aren't defeated by cached short-circuits — the
|
|
171
|
+
tree cache has its own coverage. Full suite: 1011 pass + 3 skipped.
|
|
172
|
+
|
|
173
|
+
## [2.24.0] - 2026-06-30
|
|
174
|
+
|
|
175
|
+
### Added — Persistent discovery cache (cognium-ai#134, P2 of epic #155)
|
|
176
|
+
|
|
177
|
+
LLM discovery (per-method vulnerability analysis) results are now
|
|
178
|
+
persisted to disk via `ClassificationCache`. Identical `(className,
|
|
179
|
+
methodName, methodCode SHA, sortedCweSet, model fingerprint)` requests
|
|
180
|
+
survive across processes, CI runs, and developer iterations — not just
|
|
181
|
+
within one process the way the in-memory `_discoveryDedupCache` (#136)
|
|
182
|
+
does. This closes the 500× duplication pathology observed in the
|
|
183
|
+
2026-06-27 keycloak sweep (LLM-COST-SHARE-KEYCLOAK telemetry).
|
|
184
|
+
|
|
185
|
+
**Wire-through (`src/cache/discovery-cache.ts`, new module):**
|
|
186
|
+
|
|
187
|
+
- `getDiscoveryCache(config?)` — module-scoped singleton over
|
|
188
|
+
`ClassificationCache<DiscoveryResult>` keyed on
|
|
189
|
+
`getPhaseModelFingerprint(config)`. Distinct from the verify-phase
|
|
190
|
+
singleton in `verify-cache.ts` so each phase can carry its own model
|
|
191
|
+
fingerprint (e.g. cheap discovery + strong verifier) without thrashing
|
|
192
|
+
- `computeDiscoveryCacheKey(input)` — sort-invariant `(content,
|
|
193
|
+
classifier)` tuple where `content = className + '\\0' + methodName +
|
|
194
|
+
'\\0' + SHA-256(methodCode) + '\\0' + sortedCweSet` and
|
|
195
|
+
`classifier = 'discovery-method'`
|
|
196
|
+
- `resetDiscoveryCache()` — test-only singleton reset
|
|
197
|
+
- Cache directory: `.cognium/cache/discovery/` (separate from
|
|
198
|
+
`.cognium/cache/verify/` so each phase can be cleared independently
|
|
199
|
+
— `rm -rf .cognium/cache/discovery/` only nukes discovery entries)
|
|
200
|
+
|
|
201
|
+
**Discovery wire-up (`src/llm/discovery.ts`):**
|
|
202
|
+
|
|
203
|
+
`analyzeMethod` now consults the persistent cache at the top, before
|
|
204
|
+
the LLM call. On hit it returns immediately and emits a synthetic
|
|
205
|
+
`discoveryCacheHit: true` JSONL row (so `analyze-llm-log.ts` can
|
|
206
|
+
compute discovery-hit rate independently of verify-hit rate). On miss
|
|
207
|
+
it falls through to the existing LLM call, then populates the cache
|
|
208
|
+
after the fully-built `result` is ready. Early-return failure paths
|
|
209
|
+
(LLM-null, low-confidence drop, catch block) intentionally skip the
|
|
210
|
+
cache write so transient failures and threshold tweaks don't pollute
|
|
211
|
+
the cache. Disk-write failures never fail discovery.
|
|
212
|
+
|
|
213
|
+
**Telemetry (`src/llm/call-logger.ts`):**
|
|
214
|
+
|
|
215
|
+
- `LLMCallEntry.discoveryCacheHit?: boolean` — set on synthetic
|
|
216
|
+
no-call entries emitted when the persistent discovery cache served a
|
|
217
|
+
per-method result. Mirrors `verifyCacheHit` from 2.23.0
|
|
218
|
+
- `LLMCallLogger.logDiscoveryCacheHit({ signature, phase, model?,
|
|
219
|
+
context? })` — analogous to `logVerifyCacheHit`, emits a zero-duration
|
|
220
|
+
success row so the JSONL analyzer can surface discovery-hit rate
|
|
221
|
+
|
|
222
|
+
**Env toggles:**
|
|
223
|
+
|
|
224
|
+
- `LLM_DISCOVERY_CACHE=0` — disables the persistent layer; in-memory
|
|
225
|
+
dedup from #136 still applies. Useful when iterating on prompt
|
|
226
|
+
changes without rebuilding the cache
|
|
227
|
+
|
|
228
|
+
**Invalidation matrix (#134 acceptance criteria, all covered by
|
|
229
|
+
`tests/discovery-cache.test.ts`):**
|
|
230
|
+
|
|
231
|
+
- Edit one method → only that method's entry invalidates (methodCode
|
|
232
|
+
SHA-256 is part of the key)
|
|
233
|
+
- Add a new CWE to targetCWEs → existing entries still hit for old
|
|
234
|
+
CWE-sets; new CWE-set requests miss
|
|
235
|
+
- Change discovery model → entire cache invalidates (fingerprint is
|
|
236
|
+
part of the singleton key)
|
|
237
|
+
- Re-order targetCWEs → still hits (sort-invariant key)
|
|
238
|
+
- Same method name across different classes → distinct entries
|
|
239
|
+
(className is part of the key)
|
|
240
|
+
|
|
241
|
+
**Tests:** 9 new tests in `tests/discovery-cache.test.ts` cover all
|
|
242
|
+
nine acceptance criteria. Full suite: 1000 pass + 3 skipped.
|
|
243
|
+
|
|
244
|
+
## [2.23.0] - 2026-06-30
|
|
245
|
+
|
|
246
|
+
### Added — Persistent verify cache (cognium-ai#152, P1 of epic #155)
|
|
247
|
+
|
|
248
|
+
LLM verification batch results are now persisted to disk via
|
|
249
|
+
`ClassificationCache`. Identical `(file SHA, pair-set, model
|
|
250
|
+
fingerprint)` requests survive across processes, CI runs, and
|
|
251
|
+
developer iterations — not just within one process the way the
|
|
252
|
+
in-memory `_verifierDedupCache` (#138 step 3) does.
|
|
253
|
+
|
|
254
|
+
**Wire-through (`src/cache/verify-cache.ts`, new module):**
|
|
255
|
+
|
|
256
|
+
- `getVerifyCache(config?)` — module-scoped singleton over
|
|
257
|
+
`ClassificationCache<BatchVerificationResult>` keyed on
|
|
258
|
+
`getPhaseModelFingerprint(config)`. Switching the verification model
|
|
259
|
+
swaps the singleton automatically (mirrors the
|
|
260
|
+
classification-cache.ts singleton policy from 2.22.0)
|
|
261
|
+
- `computeVerifyCacheKey(input)` — sort-invariant `(content,
|
|
262
|
+
classifier)` tuple where `content = SHA-256(code) + '\\0' +
|
|
263
|
+
pairsFingerprint` and `classifier = 'verify-batch'`
|
|
264
|
+
- `resetVerifyCache()` — test-only singleton reset
|
|
265
|
+
- Cache directory: `.cognium/cache/verify/` (separate from the
|
|
266
|
+
discovery-phase `.cognium/cache/` so each phase can be cleared
|
|
267
|
+
independently)
|
|
268
|
+
|
|
269
|
+
**Verifier wire-up (`src/llm/verification.ts`):**
|
|
270
|
+
|
|
271
|
+
`verifyTaintPathsBatch` now consults the persistent cache before the
|
|
272
|
+
in-memory dedup. On hit it returns immediately and emits a synthetic
|
|
273
|
+
`verifyCacheHit: true` JSONL row (so `analyze-llm-log.ts` can compute
|
|
274
|
+
verify-hit rate). On miss it falls through to the existing in-memory
|
|
275
|
+
dedup + engine call, then `then`-populates the persistent cache.
|
|
276
|
+
Disk-write failures (full disk, permission errors) never fail
|
|
277
|
+
verification.
|
|
278
|
+
|
|
279
|
+
**Telemetry (`src/llm/call-logger.ts`):**
|
|
280
|
+
|
|
281
|
+
- `LLMCallEntry.verifyCacheHit?: boolean` — synthetic-row tag
|
|
282
|
+
parallel to `skippedByPrefilter` (#145)
|
|
283
|
+
- `LLMCallLogger.logVerifyCacheHit({ signature, phase, model, context })`
|
|
284
|
+
helper
|
|
285
|
+
|
|
286
|
+
**Env toggle:**
|
|
287
|
+
|
|
288
|
+
- `LLM_VERIFY_CACHE=0` disables the persistent layer; in-memory dedup
|
|
289
|
+
from #138 still applies
|
|
290
|
+
|
|
291
|
+
**Invalidation matrix (acceptance criteria #152):**
|
|
292
|
+
|
|
293
|
+
| Trigger | Effect |
|
|
294
|
+
|---|---|
|
|
295
|
+
| Edit one file in a project | Only that file's entries invalidate (file SHA-256 in content key) |
|
|
296
|
+
| Add a new sink to the engine | Existing entries still hit if the new sink doesn't change the per-file pair-set |
|
|
297
|
+
| Change verification model | Entire cache invalidates (fingerprint in singleton key) |
|
|
298
|
+
|
|
299
|
+
**Tests:** 9 new tests in `tests/verify-cache.test.ts` cover
|
|
300
|
+
round-trip, per-file invalidation, sort-invariant pair ordering,
|
|
301
|
+
model-fingerprint isolation, singleton stability, env-toggle
|
|
302
|
+
no-op, classifier-namespace stability, content-key delta on
|
|
303
|
+
pair-set change, and `className`-not-in-key. The existing 9 tests in
|
|
304
|
+
`tests/llm/verifier-dedup.test.ts` set `LLM_VERIFY_CACHE=0` to keep
|
|
305
|
+
exercising the in-memory layer in isolation. Full suite: 991
|
|
306
|
+
passed | 3 skipped.
|
|
307
|
+
|
|
308
|
+
**`.gitignore`:** added `.cognium/` so cache artifacts written during
|
|
309
|
+
local dev / test runs don't pollute the working tree.
|
|
310
|
+
|
|
311
|
+
This is P1 of epic cognium-ai#155 (persistent caches + cluster
|
|
312
|
+
layer). P2 (discovery cache), P3 (tree cache), P4 (cluster layer)
|
|
313
|
+
to follow.
|
|
314
|
+
|
|
315
|
+
## [2.22.0] - 2026-06-30
|
|
316
|
+
|
|
317
|
+
### Added — Cache-key model dimension (cognium-ai#151 P0 spike)
|
|
318
|
+
|
|
319
|
+
`ClassificationCache` now accepts a `modelFingerprint` option (typically
|
|
320
|
+
the output of `getPhaseModelFingerprint(config)` from `src/llm/config.ts`)
|
|
321
|
+
and embeds it as a third component of the cache key alongside the
|
|
322
|
+
content hash and classifier name. This closes the silent cache-poisoning
|
|
323
|
+
hole where switching `LLM_DISCOVERY_MODEL` between scans reused the
|
|
324
|
+
previous model's classifier results.
|
|
325
|
+
|
|
326
|
+
**Wire-through:**
|
|
327
|
+
|
|
328
|
+
- `ClassificationCacheOptions.modelFingerprint?: string` (additive,
|
|
329
|
+
default `''`)
|
|
330
|
+
- `ClassificationCache.getModelFingerprint(): string` (public accessor
|
|
331
|
+
for singleton fingerprint comparison)
|
|
332
|
+
- `getClassificationCache(options)` now resets the singleton when the
|
|
333
|
+
requested fingerprint differs from the cached instance — two scans
|
|
334
|
+
with different per-phase models in the same process get distinct
|
|
335
|
+
caches instead of poisoning each other
|
|
336
|
+
- `BatchClassifier` constructor resolves config first, derives the
|
|
337
|
+
fingerprint via `getPhaseModelFingerprint(config)`, and threads it
|
|
338
|
+
into `getClassificationCache({ enabled, modelFingerprint })`
|
|
339
|
+
|
|
340
|
+
**Back-compat:** when `modelFingerprint` is omitted or empty, the
|
|
341
|
+
key falls through to the prior 2-component shape — bit-identical to
|
|
342
|
+
≤2.21.0. Existing on-disk entries from ≤2.21.0 keep hitting. The
|
|
343
|
+
first scan after wire-through is a cache miss only for the call sites
|
|
344
|
+
that opt into the fingerprint.
|
|
345
|
+
|
|
346
|
+
**Tests:** 8 new tests in `tests/classification-cache.test.ts` cover
|
|
347
|
+
singleton swap-on-fingerprint-change, singleton stability when
|
|
348
|
+
fingerprint identical, default-to-empty back-compat, cross-model entry
|
|
349
|
+
isolation, legacy disk-layout preservation, and empty-vs-explicit
|
|
350
|
+
non-collision. Existing 6 tests in `tests/llm/phase-model-split.test.ts`
|
|
351
|
+
continue to verify the regression coverage on legacy single-model
|
|
352
|
+
behavior + fingerprint shape (acceptance criterion 5). Full suite:
|
|
353
|
+
982 passed | 3 skipped.
|
|
354
|
+
|
|
355
|
+
This is the cache-key half of cognium-ai#151 (acceptance criteria 4 +
|
|
356
|
+
6). Criterion 3 (`meta.json` `perPhase[*].model` telemetry) is
|
|
357
|
+
deferred to the harness side.
|
|
358
|
+
|
|
8
359
|
## [2.21.0] - 2026-06-30
|
|
9
360
|
|
|
10
361
|
### Added — withLLMContext wrap across 23 external chatJSON callsites (closes cognium-ai#149 gap)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/agents/mastra/workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAoC,GAAG,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOvF,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/agents/mastra/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { shouldGateInterproceduralParam } from '../../analysis/entry-point-detec
|
|
|
14
14
|
import { withLLMContext } from '../../llm/debug-context.js';
|
|
15
15
|
import { fileNeedsEnrichment } from '../../llm/pre-filter.js';
|
|
16
16
|
import { llmCallLogger } from '../../llm/call-logger.js';
|
|
17
|
+
import { getTreeCache, computeTreeCacheKey, computeRuleSetFingerprint, } from '../../cache/tree-cache.js';
|
|
17
18
|
// Re-export the Mastra step definitions
|
|
18
19
|
export { patternMatchStep, enrichStep, mergeStep, verifyStep, reportStep, } from './steps.js';
|
|
19
20
|
// ============================================================================
|
|
@@ -31,6 +32,36 @@ export { patternMatchStep, enrichStep, mergeStep, verifyStep, reportStep, } from
|
|
|
31
32
|
* off to attribute the failure as `reason: 'timeout'`.
|
|
32
33
|
*/
|
|
33
34
|
async function runPatternMatch(filePath, sourceCode, language, disabledPasses, fileTimeoutMs = 30000, projectProfile) {
|
|
35
|
+
// cognium-ai#153 — persistent tree cache. Pattern-match output is a
|
|
36
|
+
// pure function of (sourceCode, language, circle-ir version,
|
|
37
|
+
// circle-ir-ai version, rule-set). Serving identical files from disk
|
|
38
|
+
// skips parse + AST walk + SAST-rule firing entirely (~half the
|
|
39
|
+
// wall-clock on warm runs per 2026-06-29 v2.20.6 gson re-verify).
|
|
40
|
+
//
|
|
41
|
+
// `projectProfile` may be a Map for multi-project runs — fingerprint
|
|
42
|
+
// the bare object form to avoid Map-serialization quirks. Pre-filter
|
|
43
|
+
// skipping happens downstream in runEnrich, not here.
|
|
44
|
+
const persistentCacheEnabled = process.env.LLM_TREE_CACHE !== '0';
|
|
45
|
+
let tCache = null;
|
|
46
|
+
let tKey = null;
|
|
47
|
+
if (persistentCacheEnabled) {
|
|
48
|
+
tCache = getTreeCache();
|
|
49
|
+
const profileForFingerprint = projectProfile instanceof Map
|
|
50
|
+
? Object.fromEntries(projectProfile.entries())
|
|
51
|
+
: projectProfile;
|
|
52
|
+
tKey = computeTreeCacheKey({
|
|
53
|
+
sourceCode,
|
|
54
|
+
language,
|
|
55
|
+
ruleSetFingerprint: computeRuleSetFingerprint({
|
|
56
|
+
disabledPasses,
|
|
57
|
+
projectProfile: profileForFingerprint,
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
const cached = tCache.get(tKey.content, tKey.classifier);
|
|
61
|
+
if (cached) {
|
|
62
|
+
return cached;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
34
65
|
const { analyze, isAnalyzerInitialized } = await import('circle-ir');
|
|
35
66
|
const { ensureAnalyzerInitialized } = await import('../../utils/analyzer-init.js');
|
|
36
67
|
const { withTimeout } = await import('../../utils/with-timeout.js');
|
|
@@ -49,7 +80,7 @@ async function runPatternMatch(filePath, sourceCode, language, disabledPasses, f
|
|
|
49
80
|
}
|
|
50
81
|
: undefined;
|
|
51
82
|
const result = await withTimeout(analyze(sourceCode, filePath, language, analyzerOptions), fileTimeoutMs, filePath);
|
|
52
|
-
|
|
83
|
+
const patternResult = {
|
|
53
84
|
patternSources: result.taint.sources,
|
|
54
85
|
patternSinks: result.taint.sinks,
|
|
55
86
|
types: result.types,
|
|
@@ -63,6 +94,15 @@ async function runPatternMatch(filePath, sourceCode, language, disabledPasses, f
|
|
|
63
94
|
// replacing the previous N×M cross-product.
|
|
64
95
|
dfg: result.dfg,
|
|
65
96
|
};
|
|
97
|
+
// cognium-ai#153 — populate persistent tree cache. Disk-write errors
|
|
98
|
+
// never fail the workflow.
|
|
99
|
+
if (tCache && tKey) {
|
|
100
|
+
try {
|
|
101
|
+
tCache.set(tKey.content, tKey.classifier, patternResult);
|
|
102
|
+
}
|
|
103
|
+
catch { }
|
|
104
|
+
}
|
|
105
|
+
return patternResult;
|
|
66
106
|
}
|
|
67
107
|
/**
|
|
68
108
|
* Run LLM enrichment step with language-aware prompts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/agents/mastra/workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/agents/mastra/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Classification Cache
|
|
3
3
|
*
|
|
4
|
-
* Caches LLM classification results by composite key
|
|
4
|
+
* Caches LLM classification results by composite key
|
|
5
|
+
* (content hash + classifier name + per-phase model fingerprint).
|
|
5
6
|
* Optimized for batch classifier workloads with shorter TTL than FileCache.
|
|
6
7
|
*
|
|
7
8
|
* Key differences from FileCache:
|
|
8
|
-
* - Composite key: SHA-256(content + '\0' + classifierName)
|
|
9
|
+
* - Composite key: SHA-256(content + '\0' + classifierName + '\0' + modelFingerprint)
|
|
9
10
|
* - Shorter default TTL (24h vs 7d)
|
|
10
11
|
* - Cache directory: .cognium/cache/
|
|
11
12
|
* - Hit/miss tracking for observability
|
|
13
|
+
*
|
|
14
|
+
* Model dimension (cognium-ai#151 P0 spike):
|
|
15
|
+
* When `modelFingerprint` is supplied (typically via
|
|
16
|
+
* `getPhaseModelFingerprint()` from `../llm/config.ts`) it becomes part
|
|
17
|
+
* of the cache key. This prevents a `gemma3:12b` discovery result from
|
|
18
|
+
* being silently reused when the operator switches to `gpt-4o-mini` for
|
|
19
|
+
* discovery. The fingerprint is the same identity the persistent cache
|
|
20
|
+
* (#158) uses, so call-site cache and S3 cache stay in lockstep.
|
|
21
|
+
*
|
|
22
|
+
* Backward compat: when omitted the key falls through to the prior
|
|
23
|
+
* 2-component shape, so existing callers (and on-disk entries from
|
|
24
|
+
* ≤2.21.0) keep working — the first run after wire-through is a cache
|
|
25
|
+
* miss only for the call sites that opt into the fingerprint.
|
|
12
26
|
*/
|
|
13
27
|
export interface ClassificationCacheOptions {
|
|
14
28
|
/** Cache directory (default: .cognium/cache/ in project root) */
|
|
@@ -17,15 +31,26 @@ export interface ClassificationCacheOptions {
|
|
|
17
31
|
maxAge?: number;
|
|
18
32
|
/** Enable/disable cache (default: true) */
|
|
19
33
|
enabled?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Per-phase model identity for cache namespacing (cognium-ai#151).
|
|
36
|
+
* Typically the output of `getPhaseModelFingerprint(config)` from
|
|
37
|
+
* `../llm/config.ts`. Two scans with different discovery / verification
|
|
38
|
+
* models will produce different cache keys and not poison each other.
|
|
39
|
+
* Defaults to empty string (legacy 2-component key shape).
|
|
40
|
+
*/
|
|
41
|
+
modelFingerprint?: string;
|
|
20
42
|
}
|
|
21
43
|
export declare class ClassificationCache<T = unknown> {
|
|
22
44
|
private cacheDir;
|
|
23
45
|
private maxAge;
|
|
24
46
|
private enabled;
|
|
47
|
+
private modelFingerprint;
|
|
25
48
|
private memoryCache;
|
|
26
49
|
private hits;
|
|
27
50
|
private misses;
|
|
28
51
|
constructor(options?: ClassificationCacheOptions);
|
|
52
|
+
/** Per-phase model identity used in cache key (cognium-ai#151). */
|
|
53
|
+
getModelFingerprint(): string;
|
|
29
54
|
private computeKey;
|
|
30
55
|
private getCachePath;
|
|
31
56
|
private ensureCacheDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classification-cache.d.ts","sourceRoot":"","sources":["../../src/cache/classification-cache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"classification-cache.d.ts","sourceRoot":"","sources":["../../src/cache/classification-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,MAAM,WAAW,0BAA0B;IACzC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAUD,qBAAa,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAK;gBAEP,OAAO,GAAE,0BAA+B;IAWpD,mEAAmE;IACnE,mBAAmB,IAAI,MAAM;IAI7B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO;IAIf,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAmClD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAwBzD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIjD,KAAK,IAAI,IAAI;IAeb,KAAK,IAAI;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CA4BzE;AASD,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,mBAAmB,CAMhG;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
|