review-council 2.1.1 → 2.1.4
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/README.md +3 -3
- package/dist/config/defaults.d.ts +5 -4
- package/dist/config/defaults.js +5 -4
- package/dist/config/defaults.js.map +1 -1
- package/dist/consensus/gating.d.ts +5 -5
- package/dist/consensus/gating.js +219 -29
- package/dist/consensus/gating.js.map +1 -1
- package/dist/dispatch/merge.d.ts +8 -7
- package/dist/dispatch/merge.js +28 -17
- package/dist/dispatch/merge.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/output/progress.d.ts +1 -0
- package/dist/output/progress.js +19 -0
- package/dist/output/progress.js.map +1 -1
- package/dist/prepare/chunker.d.ts +10 -1
- package/dist/prepare/chunker.js +285 -29
- package/dist/prepare/chunker.js.map +1 -1
- package/dist/prepare/unified-diff.d.ts +40 -0
- package/dist/prepare/unified-diff.js +135 -0
- package/dist/prepare/unified-diff.js.map +1 -0
- package/dist/prompts/hardening.d.ts +3 -0
- package/dist/prompts/hardening.js +15 -0
- package/dist/prompts/hardening.js.map +1 -1
- package/dist/resolver/plan.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -273,7 +273,7 @@ Place `.review-council.yml` in your project root (or any parent directory). All
|
|
|
273
273
|
models:
|
|
274
274
|
- anthropic/claude-fable-5
|
|
275
275
|
- openai/gpt-5.6-sol
|
|
276
|
-
- google/gemini-3.
|
|
276
|
+
- google/gemini-3.8-flash
|
|
277
277
|
|
|
278
278
|
# Async bonus reviewers — fired with each round, never awaited. Results that
|
|
279
279
|
# have arrived by the next round of the same target are merged into that
|
|
@@ -318,7 +318,7 @@ thresholds:
|
|
|
318
318
|
gating:
|
|
319
319
|
mode: verified-consensus # or all-findings (legacy: severity alone decides)
|
|
320
320
|
minModels: 2 # distinct models for consensus gating
|
|
321
|
-
verificationModel: google/gemini-3.
|
|
321
|
+
verificationModel: google/gemini-3.8-flash # direct-API only
|
|
322
322
|
verificationTimeout: 60000 # ms for the single batched refutation call
|
|
323
323
|
|
|
324
324
|
# Output defaults
|
|
@@ -329,7 +329,7 @@ output:
|
|
|
329
329
|
|
|
330
330
|
# Concurrency and reliability
|
|
331
331
|
concurrency: 6
|
|
332
|
-
timeout:
|
|
332
|
+
timeout: 540000 # ms per blocking model call (matches the current default)
|
|
333
333
|
asyncTimeout: 900000 # ms per async-lane call (slow reasoning models get headroom; nothing waits on them)
|
|
334
334
|
# quorumFraction: 0.75 # round closes once this share of calls has completed; stragglers
|
|
335
335
|
# are canceled and recorded (core `models` are never canceled).
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* Core (blocking) council — every round waits for these and only these.
|
|
3
3
|
* Direct-API models only: the RCL-21 audit (922 rounds, 15,268 calls) found
|
|
4
4
|
* the OpenRouter wing at p50 7–9.5 min per call with 19–39% dead calls,
|
|
5
|
-
* last-finisher in 97.6% of rounds; the direct trio
|
|
6
|
-
* ~0% dead calls. Replaying the corpus with
|
|
7
|
-
* round from 14.4 to 2.0 min while 91% of
|
|
5
|
+
* last-finisher in 97.6% of rounds; the audited direct trio answered in
|
|
6
|
+
* 45–70 s with ~0% dead calls. Replaying the corpus with that direct-provider
|
|
7
|
+
* topology drops the median round from 14.4 to 2.0 min while 91% of
|
|
8
|
+
* multi-model findings still surface.
|
|
8
9
|
*/
|
|
9
|
-
export declare const DEFAULT_MODELS: readonly ["anthropic/claude-fable-5", "openai/gpt-5.6-sol", "google/gemini-3.
|
|
10
|
+
export declare const DEFAULT_MODELS: readonly ["anthropic/claude-fable-5", "openai/gpt-5.6-sol", "google/gemini-3.8-flash"];
|
|
10
11
|
/**
|
|
11
12
|
* Async bonus reviewers — fired with the round but never awaited; whatever
|
|
12
13
|
* has arrived by the NEXT round's dedup is merged then, marked async in the
|
package/dist/config/defaults.js
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
* Core (blocking) council — every round waits for these and only these.
|
|
3
3
|
* Direct-API models only: the RCL-21 audit (922 rounds, 15,268 calls) found
|
|
4
4
|
* the OpenRouter wing at p50 7–9.5 min per call with 19–39% dead calls,
|
|
5
|
-
* last-finisher in 97.6% of rounds; the direct trio
|
|
6
|
-
* ~0% dead calls. Replaying the corpus with
|
|
7
|
-
* round from 14.4 to 2.0 min while 91% of
|
|
5
|
+
* last-finisher in 97.6% of rounds; the audited direct trio answered in
|
|
6
|
+
* 45–70 s with ~0% dead calls. Replaying the corpus with that direct-provider
|
|
7
|
+
* topology drops the median round from 14.4 to 2.0 min while 91% of
|
|
8
|
+
* multi-model findings still surface.
|
|
8
9
|
*/
|
|
9
10
|
export const DEFAULT_MODELS = [
|
|
10
11
|
'anthropic/claude-fable-5',
|
|
11
12
|
'openai/gpt-5.6-sol',
|
|
12
|
-
'google/gemini-3.
|
|
13
|
+
'google/gemini-3.8-flash',
|
|
13
14
|
];
|
|
14
15
|
/**
|
|
15
16
|
* Async bonus reviewers — fired with the round but never awaited; whatever
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,0BAA0B;IAC1B,oBAAoB;IACpB,yBAAyB;CACjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,+BAA+B,CAAU,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB,EAAE,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,CAAC;IACnB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,GAAG;CACb,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,UAAU;IACV,WAAW;IACX,OAAO;IACP,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;CACA,CAAC"}
|
|
@@ -86,7 +86,7 @@ export interface ResolvedGatingConfig {
|
|
|
86
86
|
export declare const DEFAULT_GATING_CONFIG: {
|
|
87
87
|
readonly mode: "verified-consensus";
|
|
88
88
|
readonly minModels: 2;
|
|
89
|
-
readonly verificationModel: "google/gemini-3.
|
|
89
|
+
readonly verificationModel: "google/gemini-3.8-flash";
|
|
90
90
|
readonly verificationTimeoutMs: 60000;
|
|
91
91
|
};
|
|
92
92
|
/**
|
|
@@ -100,10 +100,10 @@ export declare const DEFAULT_GATING_CONFIG: {
|
|
|
100
100
|
export declare function resolveGatingConfig(input: GatingConfigInput | undefined, rosterModels?: readonly string[]): ResolvedGatingConfig;
|
|
101
101
|
/**
|
|
102
102
|
* Reduce a unified diff to the hunks that overlap the findings' line ranges.
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
103
|
+
* Oversized hunks are excerpted around every requested range with accurate
|
|
104
|
+
* synthetic headers. Returns short non-hunk content unchanged for backward
|
|
105
|
+
* compatibility, and '' when trustworthy context cannot fit in the bound —
|
|
106
|
+
* the caller then keeps the finding gating without invoking the verifier.
|
|
107
107
|
*/
|
|
108
108
|
export declare function relevantPatchExcerpt(patch: string, ranges: Array<{
|
|
109
109
|
start: number;
|
package/dist/consensus/gating.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { defaultAdapterFactory } from '../dispatch/runner.js';
|
|
2
2
|
import { detectProvider } from '../roles/dispatcher.js';
|
|
3
3
|
import { neutralizeDelimiters, wrapDiff } from '../prompts/hardening.js';
|
|
4
|
+
import { formatSyntheticHunkHeader, parseUnifiedDiff, } from '../prepare/unified-diff.js';
|
|
4
5
|
const DIRECT_PROVIDERS = new Set(['anthropic', 'openai', 'google']);
|
|
5
6
|
export const DEFAULT_GATING_CONFIG = {
|
|
6
7
|
mode: 'verified-consensus',
|
|
7
8
|
minModels: 2,
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
verificationModel: 'google/gemini-3.
|
|
9
|
+
// Use the stable Flash council member for this latency-sensitive pass;
|
|
10
|
+
// verification remains capped at 60 s so it cannot dominate round time.
|
|
11
|
+
verificationModel: 'google/gemini-3.8-flash',
|
|
11
12
|
verificationTimeoutMs: 60_000,
|
|
12
13
|
};
|
|
13
14
|
/**
|
|
@@ -69,35 +70,225 @@ When unsure, answer "confirmed".`;
|
|
|
69
70
|
const MAX_PATCH_CHARS = 4_000;
|
|
70
71
|
/** Lines of slack when matching a finding's range against a hunk's span. */
|
|
71
72
|
const HUNK_MARGIN_LINES = 16;
|
|
73
|
+
function isChangedLine(line) {
|
|
74
|
+
return !line.marker && line.oldCount !== line.newCount;
|
|
75
|
+
}
|
|
76
|
+
function replacementBlock(body, index) {
|
|
77
|
+
let start = index;
|
|
78
|
+
while (start > 0) {
|
|
79
|
+
const previous = body[start - 1];
|
|
80
|
+
if (isChangedLine(previous)) {
|
|
81
|
+
start -= 1;
|
|
82
|
+
}
|
|
83
|
+
else if (previous.marker && start > 1 && isChangedLine(body[start - 2])) {
|
|
84
|
+
start -= 2;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
let end = index + 1;
|
|
91
|
+
while (end < body.length) {
|
|
92
|
+
const next = body[end];
|
|
93
|
+
if (isChangedLine(next)) {
|
|
94
|
+
end += 1;
|
|
95
|
+
}
|
|
96
|
+
else if (next.marker && end > start && isChangedLine(body[end - 1])) {
|
|
97
|
+
end += 1;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
start,
|
|
105
|
+
end,
|
|
106
|
+
hasDeletion: body
|
|
107
|
+
.slice(start, end)
|
|
108
|
+
.some((line) => line.oldCount === 1 && line.newCount === 0),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function windowForMatches(hunk, hunkIndex, matches) {
|
|
112
|
+
const first = matches[0];
|
|
113
|
+
const last = matches.at(-1);
|
|
114
|
+
if (first === undefined || last === undefined)
|
|
115
|
+
return undefined;
|
|
116
|
+
let start = first;
|
|
117
|
+
let end = last + 1;
|
|
118
|
+
let processedBlockEnd = 0;
|
|
119
|
+
for (const index of matches) {
|
|
120
|
+
// requiredWindow collects matches in body order. Once one changed line
|
|
121
|
+
// expands to its contiguous replacement block, later matches inside that
|
|
122
|
+
// block cannot widen the required evidence and must not rescan it.
|
|
123
|
+
if (index < processedBlockEnd)
|
|
124
|
+
continue;
|
|
125
|
+
const line = hunk.body[index];
|
|
126
|
+
if (!isChangedLine(line))
|
|
127
|
+
continue;
|
|
128
|
+
const block = replacementBlock(hunk.body, index);
|
|
129
|
+
processedBlockEnd = block.end;
|
|
130
|
+
if (block.hasDeletion) {
|
|
131
|
+
start = Math.min(start, block.start);
|
|
132
|
+
end = Math.max(end, block.end);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return { hunkIndex, start, end };
|
|
136
|
+
}
|
|
137
|
+
function hunkDistance(hunk, range) {
|
|
138
|
+
// A zero-count range is anchored after newStart and its deletion body uses
|
|
139
|
+
// newStart + 1 as the effective new-file coordinate. Treat both sides of
|
|
140
|
+
// that boundary as adjacent so either conventional line reference keeps
|
|
141
|
+
// the complete removal in view.
|
|
142
|
+
const hunkStart = hunk.newStart;
|
|
143
|
+
let hunkEnd = hunk.newCount === 0 ? hunk.newStart + 1 : hunk.newStart + hunk.newCount - 1;
|
|
144
|
+
// A deletion after the hunk's final new-file line is anchored at the next
|
|
145
|
+
// coordinate. Parsed body coordinates are monotonic; only a legal trailing
|
|
146
|
+
// no-newline marker can follow the last real line.
|
|
147
|
+
const last = hunk.body.at(-1);
|
|
148
|
+
const lastBodyLine = last?.marker ? hunk.body.at(-2) : last;
|
|
149
|
+
if (lastBodyLine)
|
|
150
|
+
hunkEnd = Math.max(hunkEnd, lastBodyLine.newLine);
|
|
151
|
+
if (range.end < hunkStart)
|
|
152
|
+
return hunkStart - range.end;
|
|
153
|
+
if (range.start > hunkEnd)
|
|
154
|
+
return range.start - hunkEnd;
|
|
155
|
+
return 0;
|
|
156
|
+
}
|
|
157
|
+
function requiredWindow(hunk, hunkIndex, range) {
|
|
158
|
+
const exact = [];
|
|
159
|
+
for (let index = 0; index < hunk.body.length; index += 1) {
|
|
160
|
+
const line = hunk.body[index];
|
|
161
|
+
if (!line.marker && line.newLine >= range.start && line.newLine <= range.end) {
|
|
162
|
+
exact.push(index);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Deletions and the following new-file line share a coordinate. Keep the
|
|
166
|
+
// whole span: omitting either side can let a verifier refute a finding from
|
|
167
|
+
// incomplete replacement evidence. If it cannot fit, the caller fails
|
|
168
|
+
// closed instead of sending a partial removal.
|
|
169
|
+
if (exact.length > 0) {
|
|
170
|
+
return windowForMatches(hunk, hunkIndex, exact);
|
|
171
|
+
}
|
|
172
|
+
const closest = [];
|
|
173
|
+
let closestDistance = Number.POSITIVE_INFINITY;
|
|
174
|
+
for (let index = 0; index < hunk.body.length; index += 1) {
|
|
175
|
+
const line = hunk.body[index];
|
|
176
|
+
if (line.marker)
|
|
177
|
+
continue;
|
|
178
|
+
const distance = line.newLine < range.start
|
|
179
|
+
? range.start - line.newLine
|
|
180
|
+
: line.newLine > range.end
|
|
181
|
+
? line.newLine - range.end
|
|
182
|
+
: 0;
|
|
183
|
+
if (distance < closestDistance) {
|
|
184
|
+
closestDistance = distance;
|
|
185
|
+
closest.length = 0;
|
|
186
|
+
closest.push(index);
|
|
187
|
+
}
|
|
188
|
+
else if (distance === closestDistance) {
|
|
189
|
+
closest.push(index);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return windowForMatches(hunk, hunkIndex, closest);
|
|
193
|
+
}
|
|
194
|
+
function mergeWindows(windows) {
|
|
195
|
+
const sorted = [...windows].sort((left, right) => left.hunkIndex - right.hunkIndex || left.start - right.start);
|
|
196
|
+
const merged = [];
|
|
197
|
+
for (const window of sorted) {
|
|
198
|
+
const previous = merged.at(-1);
|
|
199
|
+
if (previous && previous.hunkIndex === window.hunkIndex && window.start <= previous.end) {
|
|
200
|
+
previous.end = Math.max(previous.end, window.end);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
merged.push({ ...window });
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return merged;
|
|
207
|
+
}
|
|
208
|
+
function expandWindows(hunks, required, margin) {
|
|
209
|
+
const expanded = required.map((window) => {
|
|
210
|
+
const body = hunks[window.hunkIndex].body;
|
|
211
|
+
let start = Math.max(0, window.start - margin);
|
|
212
|
+
let end = Math.min(body.length, window.end + margin);
|
|
213
|
+
while (start > 0 && body[start].marker)
|
|
214
|
+
start -= 1;
|
|
215
|
+
while (end < body.length && body[end].marker)
|
|
216
|
+
end += 1;
|
|
217
|
+
return { hunkIndex: window.hunkIndex, start, end };
|
|
218
|
+
});
|
|
219
|
+
return mergeWindows(expanded);
|
|
220
|
+
}
|
|
221
|
+
function renderWindows(hunks, windows) {
|
|
222
|
+
return windows
|
|
223
|
+
.map((window) => {
|
|
224
|
+
const hunk = hunks[window.hunkIndex];
|
|
225
|
+
const body = hunk.body.slice(window.start, window.end);
|
|
226
|
+
const header = formatSyntheticHunkHeader(body);
|
|
227
|
+
if (!header)
|
|
228
|
+
return '';
|
|
229
|
+
return [header, ...body.map((line) => line.text)].join('\n');
|
|
230
|
+
})
|
|
231
|
+
.join('\n');
|
|
232
|
+
}
|
|
72
233
|
/**
|
|
73
234
|
* Reduce a unified diff to the hunks that overlap the findings' line ranges.
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
235
|
+
* Oversized hunks are excerpted around every requested range with accurate
|
|
236
|
+
* synthetic headers. Returns short non-hunk content unchanged for backward
|
|
237
|
+
* compatibility, and '' when trustworthy context cannot fit in the bound —
|
|
238
|
+
* the caller then keeps the finding gating without invoking the verifier.
|
|
78
239
|
*/
|
|
79
240
|
export function relevantPatchExcerpt(patch, ranges) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
241
|
+
if (ranges.length === 0)
|
|
242
|
+
return '';
|
|
243
|
+
if (!/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(patch)) {
|
|
244
|
+
return patch.length <= MAX_PATCH_CHARS ? patch : '';
|
|
245
|
+
}
|
|
246
|
+
if (ranges.some(({ start, end }) => !Number.isSafeInteger(start) || !Number.isSafeInteger(end) || start < 1 || end < start)) {
|
|
247
|
+
return '';
|
|
248
|
+
}
|
|
249
|
+
const parsed = parseUnifiedDiff(patch);
|
|
250
|
+
if (!parsed.ok)
|
|
251
|
+
return '';
|
|
252
|
+
const { hunks } = parsed.diff;
|
|
253
|
+
const required = [];
|
|
254
|
+
const selectedHunks = new Set();
|
|
255
|
+
for (const range of ranges) {
|
|
256
|
+
const distances = hunks.map((hunk) => hunkDistance(hunk, range));
|
|
257
|
+
const overlapping = distances
|
|
258
|
+
.map((distance, index) => ({ distance, index }))
|
|
259
|
+
.filter(({ distance }) => distance === 0);
|
|
260
|
+
const closestDistance = distances.reduce((closest, distance) => Math.min(closest, distance), Number.POSITIVE_INFINITY);
|
|
261
|
+
const matches = overlapping.length > 0
|
|
262
|
+
? overlapping
|
|
263
|
+
: distances
|
|
264
|
+
.map((distance, index) => ({ distance, index }))
|
|
265
|
+
.filter(({ distance }) => distance === closestDistance && distance <= HUNK_MARGIN_LINES);
|
|
266
|
+
if (matches.length === 0)
|
|
267
|
+
return '';
|
|
268
|
+
for (const { index } of matches) {
|
|
269
|
+
const window = requiredWindow(hunks[index], index, range);
|
|
270
|
+
if (!window)
|
|
271
|
+
return '';
|
|
272
|
+
required.push(window);
|
|
273
|
+
selectedHunks.add(index);
|
|
94
274
|
}
|
|
95
275
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
276
|
+
const selected = [...selectedHunks]
|
|
277
|
+
.sort((left, right) => left - right)
|
|
278
|
+
.map((index) => {
|
|
279
|
+
const hunk = hunks[index];
|
|
280
|
+
return [hunk.originalHeader, ...hunk.body.map((line) => line.text)].join('\n');
|
|
281
|
+
})
|
|
282
|
+
.join('\n');
|
|
283
|
+
if (selected.length <= MAX_PATCH_CHARS)
|
|
284
|
+
return selected;
|
|
285
|
+
const minimal = mergeWindows(required);
|
|
286
|
+
for (let margin = HUNK_MARGIN_LINES; margin >= 0; margin -= 1) {
|
|
287
|
+
const excerpt = renderWindows(hunks, expandWindows(hunks, minimal, margin));
|
|
288
|
+
if (excerpt.length <= MAX_PATCH_CHARS)
|
|
289
|
+
return excerpt;
|
|
290
|
+
}
|
|
291
|
+
return '';
|
|
101
292
|
}
|
|
102
293
|
function buildVerifierPrompt(candidates, patches) {
|
|
103
294
|
// Finding text originates from council models reading an untrusted diff —
|
|
@@ -108,8 +299,7 @@ function buildVerifierPrompt(candidates, patches) {
|
|
|
108
299
|
});
|
|
109
300
|
lines.push('## The change under review (relevant files, untrusted content)', '');
|
|
110
301
|
for (const [filename, patch] of patches) {
|
|
111
|
-
|
|
112
|
-
lines.push(`### ${neutralizeDelimiters(filename)}`, wrapDiff(bounded), '');
|
|
302
|
+
lines.push(`### ${neutralizeDelimiters(filename)}`, wrapDiff(patch), '');
|
|
113
303
|
}
|
|
114
304
|
return lines.join('\n');
|
|
115
305
|
}
|
|
@@ -239,7 +429,7 @@ export async function applyGating(findings, options) {
|
|
|
239
429
|
}
|
|
240
430
|
else {
|
|
241
431
|
markUnavailable(findingIndex, fullPatches.has(f.file)
|
|
242
|
-
? '
|
|
432
|
+
? 'no hunk context fits the safe verifier bound — not sent to the verifier'
|
|
243
433
|
: 'no diff context for this file — not sent to the verifier');
|
|
244
434
|
}
|
|
245
435
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gating.js","sourceRoot":"","sources":["../../src/consensus/gating.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gating.js","sourceRoot":"","sources":["../../src/consensus/gating.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatch/merge.d.ts
CHANGED
|
@@ -5,13 +5,14 @@ import type { ModelReview } from '../consensus/types.js';
|
|
|
5
5
|
* review per reviewer before consensus, or a single reviewer would be
|
|
6
6
|
* counted once per chunk — inflating `total`, diversity, and vote counts.
|
|
7
7
|
*
|
|
8
|
-
* A reviewer counts as successful
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* A blocking reviewer counts as successful only when every returned chunk
|
|
9
|
+
* succeeded. One failed or canceled part makes its coverage incomplete, so
|
|
10
|
+
* findings from its successful parts must not vote in consensus. Async-only
|
|
11
|
+
* results remain opportunistic: any arrived success may contribute, while an
|
|
12
|
+
* async result can neither rescue nor poison a same-key blocking reviewer.
|
|
11
13
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* review is the last place that can still say so.
|
|
14
|
+
* Accounting and diagnostics cover ALL returned parts, including failed and
|
|
15
|
+
* async ones: those calls still consumed time and produced diagnostics even
|
|
16
|
+
* when they do not affect the blocking reviewer's status or findings.
|
|
16
17
|
*/
|
|
17
18
|
export declare function mergeChunkReviews(reviews: ModelReview[]): ModelReview[];
|
package/dist/dispatch/merge.js
CHANGED
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
* review per reviewer before consensus, or a single reviewer would be
|
|
5
5
|
* counted once per chunk — inflating `total`, diversity, and vote counts.
|
|
6
6
|
*
|
|
7
|
-
* A reviewer counts as successful
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* A blocking reviewer counts as successful only when every returned chunk
|
|
8
|
+
* succeeded. One failed or canceled part makes its coverage incomplete, so
|
|
9
|
+
* findings from its successful parts must not vote in consensus. Async-only
|
|
10
|
+
* results remain opportunistic: any arrived success may contribute, while an
|
|
11
|
+
* async result can neither rescue nor poison a same-key blocking reviewer.
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* review is the last place that can still say so.
|
|
13
|
+
* Accounting and diagnostics cover ALL returned parts, including failed and
|
|
14
|
+
* async ones: those calls still consumed time and produced diagnostics even
|
|
15
|
+
* when they do not affect the blocking reviewer's status or findings.
|
|
15
16
|
*/
|
|
16
17
|
export function mergeChunkReviews(reviews) {
|
|
17
18
|
const byReviewer = new Map();
|
|
@@ -32,18 +33,22 @@ export function mergeChunkReviews(reviews) {
|
|
|
32
33
|
if (parts.length === 1)
|
|
33
34
|
return parts[0];
|
|
34
35
|
const first = parts[0];
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
36
|
+
const blockingParts = parts.filter((part) => part.async !== true);
|
|
37
|
+
const outcomeParts = blockingParts.length > 0 ? blockingParts : parts;
|
|
38
|
+
const successes = outcomeParts.filter((part) => part.status === 'success');
|
|
39
|
+
const requireComplete = blockingParts.length > 0;
|
|
40
|
+
const successful = requireComplete
|
|
41
|
+
? successes.length === outcomeParts.length
|
|
42
|
+
: successes.length > 0;
|
|
43
|
+
const durationMs = parts.reduce((sum, part) => sum + part.durationMs, 0);
|
|
44
|
+
const dropped = parts.reduce((sum, part) => sum + (part.droppedFindings ?? 0), 0);
|
|
45
|
+
const warnings = parts.flatMap((part) => part.warnings ?? []);
|
|
39
46
|
const degraded = {
|
|
40
47
|
...(dropped > 0 ? { droppedFindings: dropped } : {}),
|
|
41
48
|
...(warnings.length > 0 ? { warnings } : {}),
|
|
42
|
-
|
|
43
|
-
// whole merged review came from the async lane.
|
|
44
|
-
...(parts.some((p) => p.async) ? { async: true } : {}),
|
|
49
|
+
...(blockingParts.length === 0 ? { async: true } : {}),
|
|
45
50
|
};
|
|
46
|
-
if (
|
|
51
|
+
if (successful) {
|
|
47
52
|
return {
|
|
48
53
|
model: first.model,
|
|
49
54
|
role: first.role,
|
|
@@ -54,7 +59,13 @@ export function mergeChunkReviews(reviews) {
|
|
|
54
59
|
...degraded,
|
|
55
60
|
};
|
|
56
61
|
}
|
|
57
|
-
const failed =
|
|
62
|
+
const failed = outcomeParts.find((part) => part.status !== 'success' && part.error) ??
|
|
63
|
+
outcomeParts.find((part) => part.status !== 'success') ??
|
|
64
|
+
first;
|
|
65
|
+
const incompleteError = requireComplete && successes.length > 0
|
|
66
|
+
? `Incomplete chunk coverage: ${successes.length}/${outcomeParts.length} parts succeeded; ` +
|
|
67
|
+
`${failed.status}${failed.error ? `: ${failed.error}` : ''}`
|
|
68
|
+
: failed.error;
|
|
58
69
|
return {
|
|
59
70
|
model: first.model,
|
|
60
71
|
role: first.role,
|
|
@@ -62,7 +73,7 @@ export function mergeChunkReviews(reviews) {
|
|
|
62
73
|
findings: [],
|
|
63
74
|
durationMs,
|
|
64
75
|
status: failed.status,
|
|
65
|
-
error:
|
|
76
|
+
...(incompleteError ? { error: incompleteError } : {}),
|
|
66
77
|
...degraded,
|
|
67
78
|
};
|
|
68
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/dispatch/merge.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/dispatch/merge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ import { printReviewSummary } from './output/terminal.js';
|
|
|
29
29
|
import { postGitHubReview } from './output/github.js';
|
|
30
30
|
import { toJson, writeJsonOutput } from './output/json.js';
|
|
31
31
|
import { writeMarkdownOutput } from './output/markdown.js';
|
|
32
|
-
import { buildCouncilRunPlan, CouncilProgressReporter, formatCouncilRunPlan, } from './output/progress.js';
|
|
32
|
+
import { assertReviewWorkWithinLimit, buildCouncilRunPlan, CouncilProgressReporter, formatCouncilRunPlan, } from './output/progress.js';
|
|
33
33
|
import { resolveFinding, buildDiscussPrompts, runDiscussion, loadContextDocs, } from './discuss.js';
|
|
34
34
|
import { DEFAULT_CONVERGE_ATTEMPT_CAP, claimConvergeAttempt, ConvergeAttemptBudgetExceededError, convergeAttemptErrorExitCode, ConvergeAttemptStateError, resolveGitCommonDir, } from './converge/attempt-budget.js';
|
|
35
35
|
import { DEFAULT_CONVERGE_ROUND_CAP, HARD_CONVERGE_ROUND_CAP, processRoundReport, recordVerdicts, findingGatingReason, ConvergeRoundCapError, ConvergeRunStateError, } from './converge/run-state.js';
|
|
@@ -700,6 +700,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra) {
|
|
|
700
700
|
const planContext = extra?.focus !== undefined ? { focus: extra.focus } : undefined;
|
|
701
701
|
// Chunk the diff
|
|
702
702
|
const chunks = chunkDiff(diff.files);
|
|
703
|
+
assertReviewWorkWithinLimit(chunks.length, assignments.length);
|
|
703
704
|
spinner.text = `Building prompts (${chunks.length} chunk(s), ${assignments.length} reviewer(s))...`;
|
|
704
705
|
// Fan out every assignment across every chunk so the whole diff is
|
|
705
706
|
// reviewed, not just the first ~2000 lines. The spec is NOT passed as a
|