circle-ir-ai 2.29.0 → 2.31.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.
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Sliding-window file splitter with overlap-aware finding merge
3
+ * (cognium-ai#166 L3).
4
+ *
5
+ * Problem: files larger than the LLM's context window can't be sent
6
+ * single-shot to enrichment/verification. Truncation drops sinks past
7
+ * the cut. Windowed verification (`buildWindowedCode`) helps when we
8
+ * already know source/sink centers, but for the discovery / enrichment
9
+ * pass we don't — we need to feed the entire file to the LLM in
10
+ * multiple chunks and merge the results.
11
+ *
12
+ * Design: line-boundary sliding window. Each chunk is a contiguous
13
+ * range of lines that fits under the byte budget, with a configurable
14
+ * overlap between adjacent chunks so a taint flow that spans a chunk
15
+ * boundary can still be discovered. Findings from all chunks are
16
+ * merged with a dedup key that normalizes line numbers back to the
17
+ * original file, so a finding discovered in the overlap region isn't
18
+ * double-counted.
19
+ *
20
+ * Env vars (read at module load):
21
+ * CP_CHUNK_OVERLAP_RATIO — float, default 0.1 (10% overlap)
22
+ * CP_VERIFY_MAX_CHUNKS_PER_FILE — int, default 4
23
+ *
24
+ * Cap rationale: 4 chunks × 40KB budget = 160KB effective analysis
25
+ * ceiling per file. Files exceeding the cap emit a WARN with the
26
+ * `chunks-skipped` count so operators know to bump the cap or exclude
27
+ * the file. Prevents verifier cost explosion on 50K-line generated code.
28
+ */
29
+ import { estimateTokens } from './token-estimator.js';
30
+ function parsePositiveFloat(raw) {
31
+ if (!raw)
32
+ return null;
33
+ const n = parseFloat(raw);
34
+ if (Number.isFinite(n) && n > 0)
35
+ return n;
36
+ return null;
37
+ }
38
+ function parsePositiveInt(raw) {
39
+ if (!raw)
40
+ return null;
41
+ const n = parseInt(raw, 10);
42
+ if (Number.isFinite(n) && n > 0)
43
+ return n;
44
+ return null;
45
+ }
46
+ /** Default overlap fraction — 10% of chunk size. */
47
+ export const CHUNK_OVERLAP_RATIO_DEFAULT = 0.1;
48
+ /** Default maximum chunk count per file — 4 chunks. */
49
+ export const VERIFY_MAX_CHUNKS_PER_FILE_DEFAULT = 4;
50
+ export const CP_CHUNK_OVERLAP_RATIO = parsePositiveFloat(process.env.CP_CHUNK_OVERLAP_RATIO) ?? CHUNK_OVERLAP_RATIO_DEFAULT;
51
+ export const CP_VERIFY_MAX_CHUNKS_PER_FILE = parsePositiveInt(process.env.CP_VERIFY_MAX_CHUNKS_PER_FILE) ?? VERIFY_MAX_CHUNKS_PER_FILE_DEFAULT;
52
+ /**
53
+ * Split `code` into overlapping line-boundary chunks that each fit
54
+ * under `maxBytesPerChunk`. Small files pass through as a single
55
+ * chunk. Files that would exceed `maxChunks` have their tail dropped
56
+ * with a WARN log.
57
+ *
58
+ * The line-boundary discipline is deliberate: language parsers assume
59
+ * complete lines, and having chunk boundaries in the middle of a
60
+ * statement would break downstream Tree-sitter parses if the caller
61
+ * chose to re-analyze the chunk.
62
+ */
63
+ export function splitFileForVerification(code, opts) {
64
+ const maxBytes = opts.maxBytesPerChunk;
65
+ if (!Number.isFinite(maxBytes) || maxBytes <= 0) {
66
+ throw new Error(`splitFileForVerification: maxBytesPerChunk must be > 0, got ${maxBytes}`);
67
+ }
68
+ const overlap = opts.overlapRatio ?? CP_CHUNK_OVERLAP_RATIO;
69
+ const maxChunks = opts.maxChunks ?? CP_VERIFY_MAX_CHUNKS_PER_FILE;
70
+ const lines = code.split(/\r?\n/);
71
+ const totalLines = lines.length;
72
+ // Small file → single chunk pass-through.
73
+ if (code.length <= maxBytes) {
74
+ return {
75
+ chunks: [
76
+ {
77
+ index: 0,
78
+ startLine: 1,
79
+ endLine: totalLines,
80
+ code,
81
+ estimatedTokens: estimateTokens(code),
82
+ },
83
+ ],
84
+ totalLines,
85
+ skippedLines: 0,
86
+ capped: false,
87
+ };
88
+ }
89
+ // Estimate line-count that fits under budget. We use the mean line
90
+ // length as a rough sizing heuristic; the actual per-chunk build
91
+ // stops as soon as the accumulated byte count would exceed budget.
92
+ const avgLineLen = Math.max(1, code.length / totalLines);
93
+ const targetLinesPerChunk = Math.max(1, Math.floor(maxBytes / avgLineLen));
94
+ const overlapLines = Math.max(0, Math.floor(targetLinesPerChunk * overlap));
95
+ const chunks = [];
96
+ let cursor = 0; // 0-based line index
97
+ while (cursor < totalLines && chunks.length < maxChunks) {
98
+ // Greedily accumulate lines until adding one more would blow budget.
99
+ let byteCount = 0;
100
+ let endIndex = cursor;
101
+ while (endIndex < totalLines) {
102
+ const lineLen = lines[endIndex].length + 1; // +1 for the newline
103
+ if (byteCount + lineLen > maxBytes && endIndex > cursor)
104
+ break;
105
+ byteCount += lineLen;
106
+ endIndex++;
107
+ }
108
+ // endIndex is now exclusive; guarantee at least one line per chunk.
109
+ if (endIndex === cursor)
110
+ endIndex = cursor + 1;
111
+ const chunkCode = lines.slice(cursor, endIndex).join('\n');
112
+ chunks.push({
113
+ index: chunks.length,
114
+ startLine: cursor + 1,
115
+ endLine: endIndex,
116
+ code: chunkCode,
117
+ estimatedTokens: estimateTokens(chunkCode),
118
+ });
119
+ // Advance cursor by (chunk-length − overlap), never zero or negative.
120
+ const advance = Math.max(1, (endIndex - cursor) - overlapLines);
121
+ cursor += advance;
122
+ }
123
+ const capped = cursor < totalLines;
124
+ const skippedLines = capped ? totalLines - cursor : 0;
125
+ if (capped) {
126
+ console.error(` ⚠ file-splitter: file exceeded maxChunks=${maxChunks}, ` +
127
+ `skipped ${skippedLines}/${totalLines} lines. Bump CP_VERIFY_MAX_CHUNKS_PER_FILE or exclude the file. cognium-ai#166`);
128
+ }
129
+ return { chunks, totalLines, skippedLines, capped };
130
+ }
131
+ /**
132
+ * Merge findings emitted across multiple chunks into a single deduped
133
+ * list. Dedup key: `(cwe, sinkLine, sourceLine, snippetHash)`. The
134
+ * caller is responsible for having already rebased finding line
135
+ * numbers to the ORIGINAL file — the splitter's `startLine` /
136
+ * `endLine` are the mapping the caller should use.
137
+ *
138
+ * When two findings collide on the dedup key, the first-seen
139
+ * (lowest-`chunkIndex`) wins. Chunks in overlap regions therefore
140
+ * don't inflate the finding count.
141
+ */
142
+ export function mergeChunkedFindings(findings) {
143
+ const seen = new Map();
144
+ for (const f of findings) {
145
+ const snippetKey = f.snippet ? hashSnippet(f.snippet) : '';
146
+ const key = `${f.cwe}|${f.sinkLine}|${f.sourceLine ?? '-'}|${snippetKey}`;
147
+ if (!seen.has(key)) {
148
+ seen.set(key, f);
149
+ }
150
+ }
151
+ return Array.from(seen.values());
152
+ }
153
+ /** Cheap non-cryptographic hash for snippet dedup. */
154
+ function hashSnippet(s) {
155
+ let h = 0;
156
+ for (let i = 0; i < s.length; i++) {
157
+ h = ((h << 5) - h + s.charCodeAt(i)) | 0;
158
+ }
159
+ return h.toString(36);
160
+ }
161
+ //# sourceMappingURL=file-splitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-splitter.js","sourceRoot":"","sources":["../../src/llm/file-splitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Token estimator for verifier budget-packing (cognium-ai#165 L3).
3
+ *
4
+ * Rough `chars * TOKENS_PER_CHAR` heuristic — no per-provider tokenizer
5
+ * download. Sufficient for budget-packing decisions where being within
6
+ * ±15% is acceptable and being under-budget (over-estimate tokens) is
7
+ * strictly safer than being over-budget.
8
+ *
9
+ * The default `0.25` (≈ 4 chars per token) matches empirical measurements
10
+ * for source code across GPT / Claude / Llama tokenizers within a few
11
+ * percent. Operators who care about a specific provider can tune it via
12
+ * `CP_TOKENS_PER_CHAR` at process start.
13
+ *
14
+ * Rationale for NOT using `js-tiktoken`:
15
+ * - +1MB install, per-provider drift (only ships GPT vocabs)
16
+ * - Calibration debt when Anthropic / Google ship new tokenizers
17
+ * - Budget-packing decisions don't need ±1% accuracy
18
+ *
19
+ * Env vars (read at module load):
20
+ * CP_TOKENS_PER_CHAR — float, default 0.25
21
+ */
22
+ /** Default: 0.25 tokens/char (≈ 4 chars/token). See file header. */
23
+ export declare const TOKENS_PER_CHAR_DEFAULT = 0.25;
24
+ /**
25
+ * Effective tokens-per-char ratio for this process. Reads
26
+ * `CP_TOKENS_PER_CHAR` at module load; falls back to
27
+ * `TOKENS_PER_CHAR_DEFAULT`.
28
+ */
29
+ export declare const TOKENS_PER_CHAR: number;
30
+ /**
31
+ * Estimate token count for a text blob. Returns 0 for empty / undefined.
32
+ * Deliberately linear-time (no tokenization); constant-factor cheap
33
+ * enough to call inside packing loops.
34
+ */
35
+ export declare function estimateTokens(text: string | undefined | null): number;
36
+ //# sourceMappingURL=token-estimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/llm/token-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,MACiD,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAGtE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Token estimator for verifier budget-packing (cognium-ai#165 L3).
3
+ *
4
+ * Rough `chars * TOKENS_PER_CHAR` heuristic — no per-provider tokenizer
5
+ * download. Sufficient for budget-packing decisions where being within
6
+ * ±15% is acceptable and being under-budget (over-estimate tokens) is
7
+ * strictly safer than being over-budget.
8
+ *
9
+ * The default `0.25` (≈ 4 chars per token) matches empirical measurements
10
+ * for source code across GPT / Claude / Llama tokenizers within a few
11
+ * percent. Operators who care about a specific provider can tune it via
12
+ * `CP_TOKENS_PER_CHAR` at process start.
13
+ *
14
+ * Rationale for NOT using `js-tiktoken`:
15
+ * - +1MB install, per-provider drift (only ships GPT vocabs)
16
+ * - Calibration debt when Anthropic / Google ship new tokenizers
17
+ * - Budget-packing decisions don't need ±1% accuracy
18
+ *
19
+ * Env vars (read at module load):
20
+ * CP_TOKENS_PER_CHAR — float, default 0.25
21
+ */
22
+ function parsePositiveFloat(raw) {
23
+ if (!raw)
24
+ return null;
25
+ const n = parseFloat(raw);
26
+ if (Number.isFinite(n) && n > 0)
27
+ return n;
28
+ return null;
29
+ }
30
+ /** Default: 0.25 tokens/char (≈ 4 chars/token). See file header. */
31
+ export const TOKENS_PER_CHAR_DEFAULT = 0.25;
32
+ /**
33
+ * Effective tokens-per-char ratio for this process. Reads
34
+ * `CP_TOKENS_PER_CHAR` at module load; falls back to
35
+ * `TOKENS_PER_CHAR_DEFAULT`.
36
+ */
37
+ export const TOKENS_PER_CHAR = parsePositiveFloat(process.env.CP_TOKENS_PER_CHAR) ?? TOKENS_PER_CHAR_DEFAULT;
38
+ /**
39
+ * Estimate token count for a text blob. Returns 0 for empty / undefined.
40
+ * Deliberately linear-time (no tokenization); constant-factor cheap
41
+ * enough to call inside packing loops.
42
+ */
43
+ export function estimateTokens(text) {
44
+ if (!text)
45
+ return 0;
46
+ return Math.ceil(text.length * TOKENS_PER_CHAR);
47
+ }
48
+ //# sourceMappingURL=token-estimator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/llm/token-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,SAAS,kBAAkB,CAAC,GAAuB;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,uBAAuB,CAAC;AAEhF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAA+B;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;AAClD,CAAC"}
@@ -9,6 +9,17 @@ import { type LLMConfig } from './config.js';
9
9
  export declare const VERIFY_WINDOW_LINES: number;
10
10
  export declare const VERIFY_MAX_CHUNKS: number;
11
11
  export declare const VERIFY_MAX_PAIRS_PER_CHUNK: number;
12
+ /**
13
+ * Token budget per verifier LLM call (cognium-ai#165 L3). Complementary
14
+ * to the `MAX_PAIRS_PER_CHUNK` cap: whichever fires first triggers a
15
+ * partition. Default `12000` is safe for 16K-context models with
16
+ * headroom for schema + system prompt + response.
17
+ *
18
+ * Overridable via `CP_VERIFY_TOKEN_BUDGET` (positive integer). Set to a
19
+ * very large value (e.g. `1000000`) to effectively disable and preserve
20
+ * pre-L3 behavior.
21
+ */
22
+ export declare const VERIFY_TOKEN_BUDGET: number;
12
23
  /**
13
24
  * Detect minified / bundled single-line content. #102.
14
25
  *
@@ -1 +1 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/llm/verification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAsBlE,eAAO,MAAM,mBAAmB,QAGxB,CAAC;AAGT,eAAO,MAAM,iBAAiB,QAGvB,CAAC;AAGR,eAAO,MAAM,0BAA0B,QAG/B,CAAC;AAET;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,GAAE,MAA4B,GACxC,MAAM,CAmCR;AAMD,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,gBAAgB,GAAG,WAAW,CAAC;AACnF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAG/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAGzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAEhC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAGF,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAGF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IAGtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAqID,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC,CAAC;IACH,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAGZ;gBAEU,MAAM,CAAC,EAAE,WAAW;IAKhC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAWrD,UAAU;IAuCxB;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAiBlF,OAAO,CAAC,UAAU;YAMJ,eAAe;IAqE7B;;OAEG;YACW,gBAAgB;IA+B9B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IA2DnC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;OAIG;YACW,kBAAkB;IAqEhC;;OAEG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAOhC;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAE9E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE3F;AAoDD,kFAAkF;AAClF,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,IAAI,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAK5E;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA4E3I;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAoB7B"}
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/llm/verification.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { getDefaultLLMConfig } from './config.js';
10
10
  import { withLLMContext } from './debug-context.js';
11
11
  import { getVerifyCache, computeVerifyCacheKey } from '../cache/verify-cache.js';
12
12
  import { llmCallLogger } from './call-logger.js';
13
+ import { estimateTokens } from './token-estimator.js';
13
14
  // ============================================================================
14
15
  // #86 — Windowed verification configuration
15
16
  // ============================================================================
@@ -25,18 +26,35 @@ import { llmCallLogger } from './call-logger.js';
25
26
  // LLM_VERIFY_MAX_CHUNKS — cap on per-batch sub-calls (default: 4)
26
27
  // LLM_MAX_PAIRS_PER_CHUNK — max source×sink pairs per verifier call
27
28
  // (default: 20) — cognium-ai#144
28
- const envVerifyWindowLines = parseInt(process.env.LLM_VERIFY_WINDOW_LINES || '', 10);
29
- export const VERIFY_WINDOW_LINES = Number.isFinite(envVerifyWindowLines) && envVerifyWindowLines > 0
30
- ? envVerifyWindowLines
31
- : 80;
32
- const envVerifyMaxChunks = parseInt(process.env.LLM_VERIFY_MAX_CHUNKS || '', 10);
33
- export const VERIFY_MAX_CHUNKS = Number.isFinite(envVerifyMaxChunks) && envVerifyMaxChunks > 0
34
- ? envVerifyMaxChunks
35
- : 4;
36
- const envVerifyMaxPairsPerChunk = parseInt(process.env.LLM_MAX_PAIRS_PER_CHUNK || '', 10);
37
- export const VERIFY_MAX_PAIRS_PER_CHUNK = Number.isFinite(envVerifyMaxPairsPerChunk) && envVerifyMaxPairsPerChunk > 0
38
- ? envVerifyMaxPairsPerChunk
39
- : 20;
29
+ //
30
+ // L2 (cognium-ai#177) adds CP_-prefixed aliases so operators can tune every
31
+ // large-repo knob under one naming convention. The CP_ name wins when both
32
+ // are set; existing LLM_ names stay valid so no downstream script breaks.
33
+ // CP_VERIFICATION_CHUNK_SIZE alias for LLM_MAX_PAIRS_PER_CHUNK
34
+ function firstPositiveInt(...raws) {
35
+ for (const raw of raws) {
36
+ if (!raw)
37
+ continue;
38
+ const n = parseInt(raw, 10);
39
+ if (Number.isFinite(n) && n > 0)
40
+ return n;
41
+ }
42
+ return null;
43
+ }
44
+ export const VERIFY_WINDOW_LINES = firstPositiveInt(process.env.LLM_VERIFY_WINDOW_LINES) ?? 80;
45
+ export const VERIFY_MAX_CHUNKS = firstPositiveInt(process.env.LLM_VERIFY_MAX_CHUNKS) ?? 4;
46
+ export const VERIFY_MAX_PAIRS_PER_CHUNK = firstPositiveInt(process.env.CP_VERIFICATION_CHUNK_SIZE, process.env.LLM_MAX_PAIRS_PER_CHUNK) ?? 20;
47
+ /**
48
+ * Token budget per verifier LLM call (cognium-ai#165 L3). Complementary
49
+ * to the `MAX_PAIRS_PER_CHUNK` cap: whichever fires first triggers a
50
+ * partition. Default `12000` is safe for 16K-context models with
51
+ * headroom for schema + system prompt + response.
52
+ *
53
+ * Overridable via `CP_VERIFY_TOKEN_BUDGET` (positive integer). Set to a
54
+ * very large value (e.g. `1000000`) to effectively disable and preserve
55
+ * pre-L3 behavior.
56
+ */
57
+ export const VERIFY_TOKEN_BUDGET = firstPositiveInt(process.env.CP_VERIFY_TOKEN_BUDGET) ?? 12_000;
40
58
  /**
41
59
  * Detect minified / bundled single-line content. #102.
42
60
  *
@@ -325,12 +343,36 @@ export class VerificationEngine {
325
343
  // latency + risk of context-window pressure.
326
344
  const MAX_PAIRS_PER_CHUNK = VERIFY_MAX_PAIRS_PER_CHUNK;
327
345
  const totalPairs = input.sources.length * input.sinks.length;
328
- // If small enough, process in one call
329
- if (totalPairs <= MAX_PAIRS_PER_CHUNK) {
346
+ // cognium-ai#165 L3 token budget check runs alongside pair-count
347
+ // check. Estimator is deliberately conservative (chars/4 default);
348
+ // errs on over-count so we split earlier rather than blow the
349
+ // context window. Prompt scaffold constant (~400 tokens for the
350
+ // BATCH_VERIFICATION_PROMPT template + system message) is added
351
+ // to the code + sources + sinks estimate.
352
+ const PROMPT_SCAFFOLD_TOKENS = 400;
353
+ const estimatedTokens = estimateTokens(input.code) +
354
+ estimateTokens(input.sources.map((s) => `${s.line}${s.type}${s.variable ?? ''}`).join('')) +
355
+ estimateTokens(input.sinks.map((s) => `${s.line}${s.type}${s.cwe}${s.method ?? ''}`).join('')) +
356
+ PROMPT_SCAFFOLD_TOKENS;
357
+ // If small enough by both metrics, process in one call.
358
+ if (totalPairs <= MAX_PAIRS_PER_CHUNK && estimatedTokens <= VERIFY_TOKEN_BUDGET) {
330
359
  return this.verifyBatchChunk(input, startTime, modelUsed);
331
360
  }
361
+ // Compute the effective per-chunk pair budget: whichever of
362
+ // MAX_PAIRS_PER_CHUNK or the token-derived cap is smaller.
363
+ // Token-derived cap: pair-count-equivalent under the token budget.
364
+ let effectiveMaxPairs = MAX_PAIRS_PER_CHUNK;
365
+ if (estimatedTokens > VERIFY_TOKEN_BUDGET && totalPairs > 0) {
366
+ // Ratio of budget to estimate → fraction of pairs that fit under budget.
367
+ // Guard against 0-token estimates (empty code) → don't shrink pair count.
368
+ const budgetRatio = VERIFY_TOKEN_BUDGET / Math.max(1, estimatedTokens);
369
+ const tokenDerivedCap = Math.max(1, Math.floor(totalPairs * budgetRatio));
370
+ effectiveMaxPairs = Math.min(MAX_PAIRS_PER_CHUNK, tokenDerivedCap);
371
+ console.error(` ↻ verification: token-budget split ${estimatedTokens} → ${VERIFY_TOKEN_BUDGET} tokens ` +
372
+ `(pair cap ${MAX_PAIRS_PER_CHUNK} → ${effectiveMaxPairs}). cognium-ai#165`);
373
+ }
332
374
  // Otherwise, chunk the sources and process in parallel
333
- const chunkSize = Math.max(1, Math.floor(MAX_PAIRS_PER_CHUNK / Math.max(1, input.sinks.length)));
375
+ const chunkSize = Math.max(1, Math.floor(effectiveMaxPairs / Math.max(1, input.sinks.length)));
334
376
  const sourceChunks = [];
335
377
  for (let i = 0; i < input.sources.length; i += chunkSize) {
336
378
  sourceChunks.push(input.sources.slice(i, i + chunkSize));
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/llm/verification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/llm/verification.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "circle-ir-ai",
3
- "version": "2.29.0",
3
+ "version": "2.31.0",
4
4
  "description": "LLM-enhanced SAST analysis built on circle-ir",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",