review-council 1.8.0 → 1.8.2
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/dist/consensus/deduper.d.ts +1 -1
- package/dist/consensus/deduper.js +644 -7
- package/dist/consensus/deduper.js.map +1 -1
- package/dist/consensus/parser.d.ts +10 -0
- package/dist/consensus/parser.js +10 -6
- package/dist/consensus/parser.js.map +1 -1
- package/dist/dispatch/utils.js +9 -3
- package/dist/dispatch/utils.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/output/markdown.js +15 -5
- package/dist/output/markdown.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,4 +38,4 @@ export declare function hasOpposingSentiment(a: Finding, b: Finding, specificOnl
|
|
|
38
38
|
*/
|
|
39
39
|
export declare function conceptSimilarity(a: Finding, b: Finding): number;
|
|
40
40
|
export declare function linesOverlap(a: Finding, b: Finding, window: number): boolean;
|
|
41
|
-
export declare function deduplicateFindings(reviews: ModelReview[], jaccardThreshold?: number, lineWindow?: number): DeduplicatedGroup[];
|
|
41
|
+
export declare function deduplicateFindings(reviews: ModelReview[], jaccardThreshold?: number, lineWindow?: number, minConsensusScore?: number): DeduplicatedGroup[];
|
|
@@ -332,6 +332,637 @@ function splitIncoherent(members, jaccardThreshold, lineWindow) {
|
|
|
332
332
|
}
|
|
333
333
|
return result;
|
|
334
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* Cross-model wording diverges much more than the ordinary pairwise dedup
|
|
337
|
+
* threshold allows. A relaxed lexical edge is only safe when it is backed by
|
|
338
|
+
* independent agreement: at least three distinct model-role assignments must participate in
|
|
339
|
+
* the resulting location cluster. This turns agreement into evidence for a
|
|
340
|
+
* merge without weakening the normal threshold for one- and two-model noise.
|
|
341
|
+
*
|
|
342
|
+
* The 0.20 title floor is calibrated against the RCL-17 production corpus.
|
|
343
|
+
* A title edge also needs overlap in either the description or proposed fix;
|
|
344
|
+
* title proximity alone is not enough to bridge separate defects at the same
|
|
345
|
+
* lines. Weighted graph communities and a 2-core keep sparse lexical bridges
|
|
346
|
+
* from merging a whole hunk. A fringe variant can join only when two different
|
|
347
|
+
* reviewer assignments support one unambiguous corroborated community.
|
|
348
|
+
*/
|
|
349
|
+
const CORROBORATED_TITLE_THRESHOLD = 0.2; // title-token Jaccard
|
|
350
|
+
const CORROBORATED_DETAIL_THRESHOLD = 0.1; // description/fix token Jaccard
|
|
351
|
+
const CORROBORATED_MIN_REVIEWERS = 3; // distinct model::role assignments
|
|
352
|
+
const CORROBORATED_MIN_DENSITY = 0.2; // observed / possible relaxed edges
|
|
353
|
+
const CORROBORATED_ATTACHMENT_THRESHOLD = 0.12; // weighted title+description score
|
|
354
|
+
const CORROBORATED_ATTACHMENT_FIX_THRESHOLD = 0.15; // fix-token Jaccard for one-anchor variants
|
|
355
|
+
const CORROBORATED_ATTACHMENT_SUPPORT = 2; // distinct model::role assignments
|
|
356
|
+
const CORROBORATED_SINGLE_ANCHOR_SUPPORT = 3; // extra support for one-token bridges
|
|
357
|
+
const CORROBORATED_MAX_ATTACHMENT_ROUNDS = 2; // bound transitive fringe growth
|
|
358
|
+
const CORROBORATED_NEIGHBORHOOD_THRESHOLD = 0.11; // loose combined lexical partition
|
|
359
|
+
const CORROBORATED_NEIGHBORHOOD_DENSITY = 0.5; // observed / possible weak edges
|
|
360
|
+
const CORROBORATED_MAX_NEIGHBORHOOD_SPAN = 50; // broad findings/components cannot bridge
|
|
361
|
+
// A location-only rescue must contain at least two lexical confirmations
|
|
362
|
+
// already collapsed by the strict pass. Requiring that redundancy keeps an
|
|
363
|
+
// all-singleton neighborhood from manufacturing consensus from proximity.
|
|
364
|
+
const CORROBORATED_NEIGHBORHOOD_CONFIRMATIONS = 2;
|
|
365
|
+
const CORROBORATED_TIE_EPSILON = 1e-9;
|
|
366
|
+
const CORROBORATION_STOPWORDS = new Set([
|
|
367
|
+
...STOPWORDS,
|
|
368
|
+
'all', 'allow', 'allows', 'any', 'can', 'could', 'did', 'do', 'does',
|
|
369
|
+
'had', 'has', 'have', 'lacks', 'may', 'might', 'missing', 'new', 'no',
|
|
370
|
+
'nil', 'not', 'now', 'only', 'same', 'should', 'still', 'use', 'used', 'uses',
|
|
371
|
+
'using', 'will', 'without', 'would', 'code', 'function', 'issue', 'test', 'tests',
|
|
372
|
+
'config', 'configuration', 'file', 'files', 'generated',
|
|
373
|
+
]);
|
|
374
|
+
function corroborationTokens(text) {
|
|
375
|
+
return new Set(text
|
|
376
|
+
.toLowerCase()
|
|
377
|
+
// Preserve underscores inside identifiers. Splitting `trigger_label`
|
|
378
|
+
// into two ordinary words lets a shared function name create a false
|
|
379
|
+
// semantic edge between unrelated findings about that function.
|
|
380
|
+
.match(/[\p{L}\p{N}_]+/gu)
|
|
381
|
+
?.filter((token) => token.length > 1 && !CORROBORATION_STOPWORDS.has(token)) ?? []);
|
|
382
|
+
}
|
|
383
|
+
function corroborationFieldSimilar(a, b) {
|
|
384
|
+
const tokensA = corroborationTokens(a ?? '');
|
|
385
|
+
const tokensB = corroborationTokens(b ?? '');
|
|
386
|
+
// At least one shared semantic token must remain after generic language is
|
|
387
|
+
// removed. A shared code identifier alone is only evidence that findings
|
|
388
|
+
// discuss the same function, not the same defect within that function.
|
|
389
|
+
const shared = [...tokensA].filter((token) => tokensB.has(token));
|
|
390
|
+
return shared.some((token) => !token.includes('_')) || shared.length >= 2;
|
|
391
|
+
}
|
|
392
|
+
function nonEmptyFieldSimilarity(a, b) {
|
|
393
|
+
const tokensA = tokenize(a ?? '');
|
|
394
|
+
const tokensB = tokenize(b ?? '');
|
|
395
|
+
if (tokensA.size === 0 || tokensB.size === 0)
|
|
396
|
+
return 0;
|
|
397
|
+
return jaccardOfSets(tokensA, tokensB);
|
|
398
|
+
}
|
|
399
|
+
function compatibleClaimKinds(a, b) {
|
|
400
|
+
const conceptsA = extractConcepts(a);
|
|
401
|
+
const conceptsB = extractConcepts(b);
|
|
402
|
+
return !(conceptsA.size > 0 &&
|
|
403
|
+
conceptsB.size > 0 &&
|
|
404
|
+
![...conceptsA].some((concept) => conceptsB.has(concept)));
|
|
405
|
+
}
|
|
406
|
+
function relaxedLocationDuplicate(a, b, lineWindow) {
|
|
407
|
+
if (!areSameFile(a, b))
|
|
408
|
+
return false;
|
|
409
|
+
if (!linesOverlap(a, b, lineWindow))
|
|
410
|
+
return false;
|
|
411
|
+
if (hasOpposingSentiment(a, b, true))
|
|
412
|
+
return false;
|
|
413
|
+
// Known taxonomy concepts can sit beside one another and repeat the same
|
|
414
|
+
// nouns while requiring different fixes. Do not let the relaxed path use
|
|
415
|
+
// one as a bridge into the other; the ordinary similarity path remains
|
|
416
|
+
// available for genuinely near-identical wording.
|
|
417
|
+
if (!compatibleClaimKinds(a, b))
|
|
418
|
+
return false;
|
|
419
|
+
const descriptionSimilarity = nonEmptyFieldSimilarity(a.description, b.description);
|
|
420
|
+
const fixSimilarity = nonEmptyFieldSimilarity(a.suggestedFix, b.suggestedFix);
|
|
421
|
+
return (jaccardSimilarity(a.title, b.title) >= CORROBORATED_TITLE_THRESHOLD &&
|
|
422
|
+
corroborationFieldSimilar(a.title, b.title) &&
|
|
423
|
+
Math.max(descriptionSimilarity, fixSimilarity) >= CORROBORATED_DETAIL_THRESHOLD);
|
|
424
|
+
}
|
|
425
|
+
function relaxedLocationWeight(a, b, lineWindow) {
|
|
426
|
+
if (!relaxedLocationDuplicate(a, b, lineWindow))
|
|
427
|
+
return 0;
|
|
428
|
+
return (jaccardSimilarity(a.title, b.title) * 0.25 +
|
|
429
|
+
nonEmptyFieldSimilarity(a.description, b.description) * 0.2 +
|
|
430
|
+
nonEmptyFieldSimilarity(a.suggestedFix, b.suggestedFix) * 0.55);
|
|
431
|
+
}
|
|
432
|
+
function groupsRelaxedWeight(a, b, lineWindow) {
|
|
433
|
+
let weight = 0;
|
|
434
|
+
for (const left of a) {
|
|
435
|
+
for (const right of b) {
|
|
436
|
+
if (`${left.model}::${left.role}` === `${right.model}::${right.role}`)
|
|
437
|
+
continue;
|
|
438
|
+
weight = Math.max(weight, relaxedLocationWeight(left.finding, right.finding, lineWindow));
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return weight;
|
|
442
|
+
}
|
|
443
|
+
function groupsShareLocation(a, b, lineWindow) {
|
|
444
|
+
return a.every((left) => b.every((right) => areSameFile(left.finding, right.finding) &&
|
|
445
|
+
linesOverlap(left.finding, right.finding, lineWindow)));
|
|
446
|
+
}
|
|
447
|
+
function clustersClaimsAreCompatible(a, b) {
|
|
448
|
+
return a.every((left) => b.every((right) => left.every((leftMember) => right.every((rightMember) => compatibleClaimKinds(leftMember.finding, rightMember.finding)))));
|
|
449
|
+
}
|
|
450
|
+
function clustersAreCompatible(a, b, lineWindow) {
|
|
451
|
+
return a.every((left) => b.every((right) => groupsShareLocation(left, right, lineWindow))) && clustersClaimsAreCompatible(a, b);
|
|
452
|
+
}
|
|
453
|
+
function clustersShareFile(a, b) {
|
|
454
|
+
const filesA = new Set(a.flat().map((member) => member.finding.file));
|
|
455
|
+
const filesB = new Set(b.flat().map((member) => member.finding.file));
|
|
456
|
+
return filesA.size === filesB.size && [...filesA].every((file) => filesB.has(file));
|
|
457
|
+
}
|
|
458
|
+
function splitCompatibleChains(component, lineWindow) {
|
|
459
|
+
const clusters = [];
|
|
460
|
+
const ordered = [...component].sort((a, b) => {
|
|
461
|
+
const left = chooseRepresentative(a).finding;
|
|
462
|
+
const right = chooseRepresentative(b).finding;
|
|
463
|
+
return left.file.localeCompare(right.file) ||
|
|
464
|
+
left.startLine - right.startLine ||
|
|
465
|
+
left.endLine - right.endLine ||
|
|
466
|
+
left.title.localeCompare(right.title);
|
|
467
|
+
});
|
|
468
|
+
for (const group of ordered) {
|
|
469
|
+
const compatible = clusters.find((cluster) => clustersAreCompatible([group], cluster, lineWindow));
|
|
470
|
+
if (compatible)
|
|
471
|
+
compatible.push(group);
|
|
472
|
+
else
|
|
473
|
+
clusters.push([group]);
|
|
474
|
+
}
|
|
475
|
+
return clusters;
|
|
476
|
+
}
|
|
477
|
+
function distinctReviewers(groups) {
|
|
478
|
+
return new Set(groups.flatMap((group) => group.map((member) => `${member.model}::${member.role}`))).size;
|
|
479
|
+
}
|
|
480
|
+
function relaxedEdgeDensity(groups, indexes, adjacency) {
|
|
481
|
+
if (groups.length < 2)
|
|
482
|
+
return 0;
|
|
483
|
+
let edges = 0;
|
|
484
|
+
for (let i = 0; i < groups.length; i++) {
|
|
485
|
+
for (let j = i + 1; j < groups.length; j++) {
|
|
486
|
+
const leftIndex = indexes.get(groups[i]);
|
|
487
|
+
const rightIndex = indexes.get(groups[j]);
|
|
488
|
+
if (leftIndex === undefined || rightIndex === undefined) {
|
|
489
|
+
throw new Error('Corroborated group is missing from its adjacency index');
|
|
490
|
+
}
|
|
491
|
+
if (adjacency[leftIndex].has(rightIndex))
|
|
492
|
+
edges++;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
return edges / ((groups.length * (groups.length - 1)) / 2);
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Split a weak-similarity graph into weighted modularity communities before
|
|
499
|
+
* treating a connected component as one concept. This is the key over-merge
|
|
500
|
+
* boundary: several independently corroborated defects can occupy the same
|
|
501
|
+
* hunk, and a few shared diff tokens must not bridge those concepts together.
|
|
502
|
+
*/
|
|
503
|
+
function relaxedCommunities(weights) {
|
|
504
|
+
const count = weights.length;
|
|
505
|
+
const labels = Array.from({ length: count }, (_, index) => index);
|
|
506
|
+
const degrees = weights.map((row) => [...row.values()].reduce((sum, weight) => sum + weight, 0));
|
|
507
|
+
const totalWeight = degrees.reduce((sum, degree) => sum + degree, 0) / 2;
|
|
508
|
+
if (totalWeight === 0)
|
|
509
|
+
return labels;
|
|
510
|
+
const communityDegrees = [...degrees];
|
|
511
|
+
const communitySizes = Array.from({ length: count }, () => 1);
|
|
512
|
+
for (let pass = 0; pass < Math.max(1, count * count); pass++) {
|
|
513
|
+
let moved = false;
|
|
514
|
+
for (let index = 0; index < count; index++) {
|
|
515
|
+
if (degrees[index] === 0)
|
|
516
|
+
continue;
|
|
517
|
+
const current = labels[index];
|
|
518
|
+
const weightByCommunity = new Map();
|
|
519
|
+
for (const [neighbor, weight] of weights[index]) {
|
|
520
|
+
const label = labels[neighbor];
|
|
521
|
+
weightByCommunity.set(label, (weightByCommunity.get(label) ?? 0) + weight);
|
|
522
|
+
}
|
|
523
|
+
// Remove the node before evaluating insertion into each neighboring
|
|
524
|
+
// community. This is the standard first phase of weighted Louvain; the
|
|
525
|
+
// previous implementation compared against stale community totals.
|
|
526
|
+
communityDegrees[current] = Math.max(0, communityDegrees[current] - degrees[index]);
|
|
527
|
+
communitySizes[current]--;
|
|
528
|
+
const emptyCommunity = communitySizes.findIndex((size) => size === 0);
|
|
529
|
+
const candidates = new Set([
|
|
530
|
+
...weightByCommunity.keys(),
|
|
531
|
+
current,
|
|
532
|
+
...(emptyCommunity >= 0 ? [emptyCommunity] : []),
|
|
533
|
+
]);
|
|
534
|
+
let best = current;
|
|
535
|
+
let bestGain = (weightByCommunity.get(current) ?? 0) -
|
|
536
|
+
(communityDegrees[current] * degrees[index]) / (2 * totalWeight);
|
|
537
|
+
for (const candidate of candidates) {
|
|
538
|
+
const gain = (weightByCommunity.get(candidate) ?? 0) -
|
|
539
|
+
(communityDegrees[candidate] * degrees[index]) / (2 * totalWeight);
|
|
540
|
+
if (gain > bestGain + CORROBORATED_TIE_EPSILON ||
|
|
541
|
+
(best !== current &&
|
|
542
|
+
Math.abs(gain - bestGain) <= CORROBORATED_TIE_EPSILON &&
|
|
543
|
+
candidate < best)) {
|
|
544
|
+
best = candidate;
|
|
545
|
+
bestGain = gain;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
communityDegrees[best] += degrees[index];
|
|
549
|
+
communitySizes[best]++;
|
|
550
|
+
labels[index] = best;
|
|
551
|
+
if (best !== current)
|
|
552
|
+
moved = true;
|
|
553
|
+
}
|
|
554
|
+
if (!moved)
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
557
|
+
return labels;
|
|
558
|
+
}
|
|
559
|
+
function conceptAnchors(groups) {
|
|
560
|
+
const members = groups.flat();
|
|
561
|
+
const reviewers = new Map();
|
|
562
|
+
for (const member of members) {
|
|
563
|
+
for (const token of corroborationTokens(member.finding.title)) {
|
|
564
|
+
const tokenReviewers = reviewers.get(token) ?? new Set();
|
|
565
|
+
tokenReviewers.add(`${member.model}::${member.role}`);
|
|
566
|
+
reviewers.set(token, tokenReviewers);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
const reviewerCount = distinctReviewers(groups);
|
|
570
|
+
// A one-reviewer fringe must never manufacture its own semantic anchor;
|
|
571
|
+
// only an independently corroborated target contributes anchor evidence.
|
|
572
|
+
const support = Math.max(2, Math.ceil(reviewerCount * 0.4));
|
|
573
|
+
return new Set([...reviewers]
|
|
574
|
+
.filter(([, tokenReviewers]) => tokenReviewers.size >= support)
|
|
575
|
+
.map(([token]) => token));
|
|
576
|
+
}
|
|
577
|
+
function sharedAnchorCount(a, b) {
|
|
578
|
+
let count = 0;
|
|
579
|
+
for (const token of a)
|
|
580
|
+
if (b.has(token))
|
|
581
|
+
count++;
|
|
582
|
+
return count;
|
|
583
|
+
}
|
|
584
|
+
function agreementClusterKey(cluster) {
|
|
585
|
+
const finding = chooseRepresentative(cluster.groups.flat()).finding;
|
|
586
|
+
const members = cluster.groups.flat()
|
|
587
|
+
.map((member) => `${member.model}::${member.role}::${member.finding.id}`)
|
|
588
|
+
.sort()
|
|
589
|
+
.join('\0');
|
|
590
|
+
return `${finding.file}\0${String(finding.startLine).padStart(10, '0')}\0${String(finding.endLine).padStart(10, '0')}\0${finding.title}\0${finding.id}\0${members}`;
|
|
591
|
+
}
|
|
592
|
+
function compareAgreementClusters(a, b) {
|
|
593
|
+
const left = agreementClusterKey(a);
|
|
594
|
+
const right = agreementClusterKey(b);
|
|
595
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
596
|
+
}
|
|
597
|
+
function mergeAnchoredCommunities(clusters, lineWindow) {
|
|
598
|
+
const remaining = [...clusters].sort(compareAgreementClusters);
|
|
599
|
+
let merged = true;
|
|
600
|
+
while (merged) {
|
|
601
|
+
merged = false;
|
|
602
|
+
outer: for (let i = 0; i < remaining.length; i++) {
|
|
603
|
+
const target = remaining[i];
|
|
604
|
+
if (!target.corroborated)
|
|
605
|
+
continue;
|
|
606
|
+
for (let j = i + 1; j < remaining.length; j++) {
|
|
607
|
+
const candidate = remaining[j];
|
|
608
|
+
if (!candidate.corroborated ||
|
|
609
|
+
!clustersAreCompatible(target.groups, candidate.groups, lineWindow)) {
|
|
610
|
+
continue;
|
|
611
|
+
}
|
|
612
|
+
const targetAnchors = conceptAnchors(target.groups);
|
|
613
|
+
const candidateAnchors = conceptAnchors(candidate.groups);
|
|
614
|
+
if (targetAnchors.size === 0 || candidateAnchors.size === 0)
|
|
615
|
+
continue;
|
|
616
|
+
const shared = [...targetAnchors].filter((token) => candidateAnchors.has(token));
|
|
617
|
+
if (shared.length < 2 &&
|
|
618
|
+
!shared.some((token) => token.length >= 6 && !token.includes('_')))
|
|
619
|
+
continue;
|
|
620
|
+
const hasCrossEdge = target.groups.flat().some((left) => candidate.groups.flat().some((right) => `${left.model}::${left.role}` !== `${right.model}::${right.role}` &&
|
|
621
|
+
relaxedLocationWeight(left.finding, right.finding, lineWindow) > 0));
|
|
622
|
+
// Anchors alone only prove that both communities discuss the same
|
|
623
|
+
// code. Require an observed semantic edge as evidence that they make
|
|
624
|
+
// the same claim; this keeps two defects in one helper separate.
|
|
625
|
+
if (!hasCrossEdge)
|
|
626
|
+
continue;
|
|
627
|
+
target.groups.push(...candidate.groups);
|
|
628
|
+
candidate.groups = [];
|
|
629
|
+
remaining.splice(j, 1);
|
|
630
|
+
remaining.sort(compareAgreementClusters);
|
|
631
|
+
merged = true;
|
|
632
|
+
break outer;
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
return remaining;
|
|
637
|
+
}
|
|
638
|
+
function agreementClusters(groups, lineWindow) {
|
|
639
|
+
groups = [...groups].sort((a, b) => {
|
|
640
|
+
const left = agreementClusterKey({ groups: [a], corroborated: false });
|
|
641
|
+
const right = agreementClusterKey({ groups: [b], corroborated: false });
|
|
642
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
643
|
+
});
|
|
644
|
+
const weights = groups.map(() => new Map());
|
|
645
|
+
const adjacency = groups.map(() => new Set());
|
|
646
|
+
const indexes = new Map(groups.map((group, index) => [group, index]));
|
|
647
|
+
for (let i = 0; i < groups.length; i++) {
|
|
648
|
+
for (let j = i + 1; j < groups.length; j++) {
|
|
649
|
+
const weight = groupsRelaxedWeight(groups[i], groups[j], lineWindow);
|
|
650
|
+
if (weight === 0)
|
|
651
|
+
continue;
|
|
652
|
+
weights[i].set(j, weight);
|
|
653
|
+
weights[j].set(i, weight);
|
|
654
|
+
adjacency[i].add(j);
|
|
655
|
+
adjacency[j].add(i);
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
const communities = relaxedCommunities(weights);
|
|
659
|
+
for (let i = 0; i < groups.length; i++) {
|
|
660
|
+
for (const j of adjacency[i]) {
|
|
661
|
+
if (communities[i] !== communities[j])
|
|
662
|
+
adjacency[i].delete(j);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
// Keep only the graph's 2-core as corroboration evidence. A chain of weak
|
|
666
|
+
// similarities can otherwise pull unrelated findings into one component;
|
|
667
|
+
// every core group must have two independent semantic links. Peeled fringe
|
|
668
|
+
// components remain available for the stricter attachment pass below.
|
|
669
|
+
const inCore = groups.map(() => true);
|
|
670
|
+
const degree = adjacency.map((neighbors) => neighbors.size);
|
|
671
|
+
const queue = degree.flatMap((value, index) => (value < 2 ? [index] : []));
|
|
672
|
+
for (let cursor = 0; cursor < queue.length; cursor++) {
|
|
673
|
+
const index = queue[cursor];
|
|
674
|
+
if (!inCore[index])
|
|
675
|
+
continue;
|
|
676
|
+
inCore[index] = false;
|
|
677
|
+
for (const neighbor of adjacency[index]) {
|
|
678
|
+
if (!inCore[neighbor])
|
|
679
|
+
continue;
|
|
680
|
+
degree[neighbor]--;
|
|
681
|
+
if (degree[neighbor] < 2)
|
|
682
|
+
queue.push(neighbor);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
function connectedComponents(wantedCore) {
|
|
686
|
+
const seen = new Set();
|
|
687
|
+
const out = [];
|
|
688
|
+
for (let start = 0; start < groups.length; start++) {
|
|
689
|
+
if (inCore[start] !== wantedCore || seen.has(start))
|
|
690
|
+
continue;
|
|
691
|
+
const indexes = [];
|
|
692
|
+
const pending = [start];
|
|
693
|
+
seen.add(start);
|
|
694
|
+
while (pending.length > 0) {
|
|
695
|
+
const index = pending.pop();
|
|
696
|
+
indexes.push(index);
|
|
697
|
+
for (const neighbor of adjacency[index]) {
|
|
698
|
+
if (inCore[neighbor] !== wantedCore || seen.has(neighbor))
|
|
699
|
+
continue;
|
|
700
|
+
seen.add(neighbor);
|
|
701
|
+
pending.push(neighbor);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
out.push(indexes.map((index) => groups[index]));
|
|
705
|
+
}
|
|
706
|
+
return out;
|
|
707
|
+
}
|
|
708
|
+
const coreClusters = connectedComponents(true)
|
|
709
|
+
.flatMap((component) => splitCompatibleChains(component, lineWindow))
|
|
710
|
+
.map((component) => ({
|
|
711
|
+
groups: component,
|
|
712
|
+
corroborated: distinctReviewers(component) >= CORROBORATED_MIN_REVIEWERS &&
|
|
713
|
+
relaxedEdgeDensity(component, indexes, adjacency) >= CORROBORATED_MIN_DENSITY,
|
|
714
|
+
}));
|
|
715
|
+
const fringeClusters = connectedComponents(false).map((component) => ({ groups: component, corroborated: false }));
|
|
716
|
+
return mergeAnchoredCommunities([...coreClusters, ...fringeClusters], lineWindow);
|
|
717
|
+
}
|
|
718
|
+
function attachmentEvidence(singleton, cluster, lineWindow) {
|
|
719
|
+
const supporters = new Map();
|
|
720
|
+
const targetAnchors = conceptAnchors(cluster.groups);
|
|
721
|
+
const singletonAnchors = corroborationTokens(`${singleton.finding.title} ${singleton.finding.description ?? ''} ${singleton.finding.suggestedFix ?? ''}`);
|
|
722
|
+
const anchorCount = sharedAnchorCount(singletonAnchors, targetAnchors);
|
|
723
|
+
const singletonReviewer = `${singleton.model}::${singleton.role}`;
|
|
724
|
+
const fixSupport = new Set(cluster.groups.flat()
|
|
725
|
+
.filter((member) => `${member.model}::${member.role}` !== singletonReviewer &&
|
|
726
|
+
nonEmptyFieldSimilarity(singleton.finding.suggestedFix, member.finding.suggestedFix) >=
|
|
727
|
+
CORROBORATED_ATTACHMENT_FIX_THRESHOLD)
|
|
728
|
+
.map((member) => `${member.model}::${member.role}`)).size;
|
|
729
|
+
if (anchorCount < 2 && !(anchorCount === 1 && fixSupport >= 2)) {
|
|
730
|
+
return { support: 0, strength: 0 };
|
|
731
|
+
}
|
|
732
|
+
for (const group of cluster.groups) {
|
|
733
|
+
for (const member of group) {
|
|
734
|
+
if (!areSameFile(singleton.finding, member.finding))
|
|
735
|
+
continue;
|
|
736
|
+
if (!linesOverlap(singleton.finding, member.finding, lineWindow))
|
|
737
|
+
continue;
|
|
738
|
+
if (hasOpposingSentiment(singleton.finding, member.finding, true))
|
|
739
|
+
continue;
|
|
740
|
+
if (!compatibleClaimKinds(singleton.finding, member.finding))
|
|
741
|
+
continue;
|
|
742
|
+
if (!corroborationFieldSimilar(singleton.finding.title, member.finding.title))
|
|
743
|
+
continue;
|
|
744
|
+
const key = `${member.model}::${member.role}`;
|
|
745
|
+
if (key === singletonReviewer)
|
|
746
|
+
continue;
|
|
747
|
+
const similarity = combinedSimilarity(singleton.finding, member.finding);
|
|
748
|
+
if (similarity >= CORROBORATED_ATTACHMENT_THRESHOLD) {
|
|
749
|
+
supporters.set(key, Math.max(supporters.get(key) ?? 0, similarity));
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
if (anchorCount === 1 && supporters.size < CORROBORATED_SINGLE_ANCHOR_SUPPORT) {
|
|
754
|
+
return { support: 0, strength: 0 };
|
|
755
|
+
}
|
|
756
|
+
return {
|
|
757
|
+
support: supporters.size,
|
|
758
|
+
strength: [...supporters.values()].reduce((sum, value) => sum + value, 0),
|
|
759
|
+
};
|
|
760
|
+
}
|
|
761
|
+
function mergeCorroboratedLocationClusters(groups, lineWindow) {
|
|
762
|
+
const clusters = agreementClusters(groups, lineWindow);
|
|
763
|
+
// A lone wording variant can sit just below the calibrated title floor.
|
|
764
|
+
// Attach it only to one unambiguous corroborated cluster, with support from
|
|
765
|
+
// at least two distinct reviewer assignments. Multi-member components are
|
|
766
|
+
// absorbed only when every member supports the same target; this keeps a
|
|
767
|
+
// nearby second concept such as ao-7536's log-capture cluster separate.
|
|
768
|
+
for (let round = 0; round < Math.min(clusters.length, CORROBORATED_MAX_ATTACHMENT_ROUNDS); round++) {
|
|
769
|
+
const attachments = [];
|
|
770
|
+
for (const candidate of clusters) {
|
|
771
|
+
if (candidate.corroborated)
|
|
772
|
+
continue;
|
|
773
|
+
// A strict group already backed by several reviewers is independent
|
|
774
|
+
// evidence for a concept, even when it has no relaxed graph core of its
|
|
775
|
+
// own. Do not absorb that consensus into a neighboring community.
|
|
776
|
+
if (distinctReviewers(candidate.groups) >= CORROBORATED_MIN_REVIEWERS)
|
|
777
|
+
continue;
|
|
778
|
+
const candidateMembers = candidate.groups.flat();
|
|
779
|
+
if (candidateMembers.length === 0)
|
|
780
|
+
continue;
|
|
781
|
+
const ranked = clusters
|
|
782
|
+
.filter((target) => target !== candidate &&
|
|
783
|
+
target.corroborated &&
|
|
784
|
+
clustersShareFile(candidate.groups, target.groups) &&
|
|
785
|
+
clustersClaimsAreCompatible(candidate.groups, target.groups))
|
|
786
|
+
.map((target) => {
|
|
787
|
+
const evidence = candidateMembers.map((member) => attachmentEvidence(member, target, lineWindow));
|
|
788
|
+
const supports = evidence.map((item) => item.support);
|
|
789
|
+
return {
|
|
790
|
+
target,
|
|
791
|
+
support: Math.min(...supports),
|
|
792
|
+
strength: evidence.reduce((sum, item) => sum + item.strength, 0),
|
|
793
|
+
size: target.groups.flat().length,
|
|
794
|
+
key: chooseRepresentative(target.groups.flat()).finding.title,
|
|
795
|
+
};
|
|
796
|
+
})
|
|
797
|
+
.filter(({ support }) => support >= CORROBORATED_ATTACHMENT_SUPPORT)
|
|
798
|
+
.sort((a, b) => b.support - a.support ||
|
|
799
|
+
b.strength - a.strength ||
|
|
800
|
+
b.size - a.size ||
|
|
801
|
+
a.key.localeCompare(b.key));
|
|
802
|
+
if (ranked.length === 0)
|
|
803
|
+
continue;
|
|
804
|
+
if (ranked[1] &&
|
|
805
|
+
ranked[0].support === ranked[1].support &&
|
|
806
|
+
Math.abs(ranked[0].strength - ranked[1].strength) <= CORROBORATED_TIE_EPSILON &&
|
|
807
|
+
ranked[0].size === ranked[1].size) {
|
|
808
|
+
continue;
|
|
809
|
+
}
|
|
810
|
+
attachments.push({ candidate, target: ranked[0].target });
|
|
811
|
+
}
|
|
812
|
+
if (attachments.length === 0)
|
|
813
|
+
break;
|
|
814
|
+
// Apply a round only after every candidate was ranked against the same
|
|
815
|
+
// frozen state. Later rounds may use the newly attached evidence without
|
|
816
|
+
// making peers in the same round order-dependent.
|
|
817
|
+
for (const { candidate, target } of attachments) {
|
|
818
|
+
target.groups.push(...candidate.groups);
|
|
819
|
+
candidate.groups = [];
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
// Fringe evidence can provide the first real lexical edge between two
|
|
823
|
+
// independently corroborated communities. Revisit anchor merging once
|
|
824
|
+
// after attachment so that bridge is considered, while still requiring an
|
|
825
|
+
// observed cross-community edge rather than anchors alone.
|
|
826
|
+
const mergedClusters = mergeAnchoredCommunities(clusters.filter((cluster) => cluster.groups.length > 0), lineWindow);
|
|
827
|
+
return mergedClusters.flatMap((cluster) => {
|
|
828
|
+
if (cluster.groups.length === 0)
|
|
829
|
+
return [];
|
|
830
|
+
if (!cluster.corroborated)
|
|
831
|
+
return cluster.groups;
|
|
832
|
+
return [cluster.groups.flat()];
|
|
833
|
+
});
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* Rescue agreement that has no lexical center at all. This pass only considers
|
|
837
|
+
* weak one- or two-reviewer groups: a group already backed by three reviewers
|
|
838
|
+
* is evidence for an independent concept and is never absorbed by proximity.
|
|
839
|
+
* This deliberately narrow fallback activates only when the agreement gate is
|
|
840
|
+
* at least five reviewers. It merges a dense component only when it hits that
|
|
841
|
+
* gate exactly and contains two fewer groups than reviewers, proving that at
|
|
842
|
+
* least two lexical confirmations already collapsed in the strict pass. An
|
|
843
|
+
* all-singleton location neighborhood is therefore never enough by itself.
|
|
844
|
+
* This is the vocabulary-independent signal RCL-17 was missing, while the
|
|
845
|
+
* redundancy guard preserves nearby minority concepts such as ao-7467's
|
|
846
|
+
* typespec finding.
|
|
847
|
+
*/
|
|
848
|
+
function mergeAgreementNeighborhoods(groups, lineWindow, minimumReviewers) {
|
|
849
|
+
function groupsTouch(a, b) {
|
|
850
|
+
return a.some((left) => b.some((right) => areSameFile(left.finding, right.finding) &&
|
|
851
|
+
linesOverlap(left.finding, right.finding, lineWindow)));
|
|
852
|
+
}
|
|
853
|
+
function weakSimilarity(a, b) {
|
|
854
|
+
let similarity = 0;
|
|
855
|
+
for (const left of a) {
|
|
856
|
+
for (const right of b) {
|
|
857
|
+
// One reviewer can emit multiple wording variants. Its own variants
|
|
858
|
+
// must not manufacture the edge that turns proximity into agreement.
|
|
859
|
+
if (`${left.model}::${left.role}` === `${right.model}::${right.role}`) {
|
|
860
|
+
continue;
|
|
861
|
+
}
|
|
862
|
+
similarity = Math.max(similarity, combinedSimilarity(left.finding, right.finding));
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
return similarity;
|
|
866
|
+
}
|
|
867
|
+
function claimsCanShareNeighborhood(a, b) {
|
|
868
|
+
return a.every((left) => b.every((right) => compatibleClaimKinds(left.finding, right.finding) &&
|
|
869
|
+
!hasOpposingSentiment(left.finding, right.finding, true)));
|
|
870
|
+
}
|
|
871
|
+
// With a smaller gate, subtracting the two required lexical confirmations
|
|
872
|
+
// leaves fewer than three groups, which is not enough to establish a dense
|
|
873
|
+
// neighborhood. The ordinary corroborated pass still handles those runs.
|
|
874
|
+
if (minimumReviewers <
|
|
875
|
+
CORROBORATED_MIN_REVIEWERS + CORROBORATED_NEIGHBORHOOD_CONFIRMATIONS) {
|
|
876
|
+
return groups;
|
|
877
|
+
}
|
|
878
|
+
const strong = groups.filter((group) => distinctReviewers([group]) >= CORROBORATED_MIN_REVIEWERS);
|
|
879
|
+
const eligible = groups.map((group) => distinctReviewers([group]) < CORROBORATED_MIN_REVIEWERS &&
|
|
880
|
+
group.every((member) => member.finding.endLine - member.finding.startLine <=
|
|
881
|
+
CORROBORATED_MAX_NEIGHBORHOOD_SPAN) &&
|
|
882
|
+
!strong.some((established) => groupsTouch(group, established)));
|
|
883
|
+
const parent = groups.map((_, index) => index);
|
|
884
|
+
const adjacency = groups.map(() => new Set());
|
|
885
|
+
function find(index) {
|
|
886
|
+
if (parent[index] !== index)
|
|
887
|
+
parent[index] = find(parent[index]);
|
|
888
|
+
return parent[index];
|
|
889
|
+
}
|
|
890
|
+
for (let i = 0; i < groups.length; i++) {
|
|
891
|
+
if (!eligible[i])
|
|
892
|
+
continue;
|
|
893
|
+
for (let j = i + 1; j < groups.length; j++) {
|
|
894
|
+
if (!eligible[j])
|
|
895
|
+
continue;
|
|
896
|
+
if (!groupsTouch(groups[i], groups[j]))
|
|
897
|
+
continue;
|
|
898
|
+
if (!claimsCanShareNeighborhood(groups[i], groups[j]))
|
|
899
|
+
continue;
|
|
900
|
+
if (weakSimilarity(groups[i], groups[j]) < CORROBORATED_NEIGHBORHOOD_THRESHOLD) {
|
|
901
|
+
continue;
|
|
902
|
+
}
|
|
903
|
+
const rootI = find(i);
|
|
904
|
+
const rootJ = find(j);
|
|
905
|
+
if (rootI !== rootJ)
|
|
906
|
+
parent[rootJ] = rootI;
|
|
907
|
+
adjacency[i].add(j);
|
|
908
|
+
adjacency[j].add(i);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
const components = new Map();
|
|
912
|
+
for (let index = 0; index < groups.length; index++) {
|
|
913
|
+
if (!eligible[index])
|
|
914
|
+
continue;
|
|
915
|
+
const root = find(index);
|
|
916
|
+
const component = components.get(root) ?? [];
|
|
917
|
+
component.push(index);
|
|
918
|
+
components.set(root, component);
|
|
919
|
+
}
|
|
920
|
+
const mergedAt = new Map();
|
|
921
|
+
const consumed = new Set();
|
|
922
|
+
for (const indexes of components.values()) {
|
|
923
|
+
const component = indexes.map((index) => groups[index]);
|
|
924
|
+
if (component.length < CORROBORATED_MIN_REVIEWERS ||
|
|
925
|
+
component.length >
|
|
926
|
+
minimumReviewers - CORROBORATED_NEIGHBORHOOD_CONFIRMATIONS) {
|
|
927
|
+
continue;
|
|
928
|
+
}
|
|
929
|
+
const componentMembers = component.flat();
|
|
930
|
+
const componentSpan = Math.max(...componentMembers.map((member) => member.finding.endLine)) -
|
|
931
|
+
Math.min(...componentMembers.map((member) => member.finding.startLine));
|
|
932
|
+
if (componentSpan > CORROBORATED_MAX_NEIGHBORHOOD_SPAN)
|
|
933
|
+
continue;
|
|
934
|
+
// Union-find connectivity is transitive, but compatibility is not. A
|
|
935
|
+
// neutral bridge must not join findings that make opposing claims.
|
|
936
|
+
if (component.some((group, index) => component.slice(index + 1).some((other) => !claimsCanShareNeighborhood(group, other)))) {
|
|
937
|
+
continue;
|
|
938
|
+
}
|
|
939
|
+
// Exact support is intentional here. Larger, loosely connected location
|
|
940
|
+
// neighborhoods are more likely to contain multiple defects; stronger
|
|
941
|
+
// agreement must be established by the semantic corroboration pass.
|
|
942
|
+
if (distinctReviewers(component) !== minimumReviewers)
|
|
943
|
+
continue;
|
|
944
|
+
let edges = 0;
|
|
945
|
+
for (let i = 0; i < indexes.length; i++) {
|
|
946
|
+
for (let j = i + 1; j < indexes.length; j++) {
|
|
947
|
+
if (!adjacency[indexes[i]].has(indexes[j]))
|
|
948
|
+
continue;
|
|
949
|
+
edges++;
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
const possibleEdges = (indexes.length * (indexes.length - 1)) / 2;
|
|
953
|
+
if (edges / possibleEdges < CORROBORATED_NEIGHBORHOOD_DENSITY)
|
|
954
|
+
continue;
|
|
955
|
+
mergedAt.set(indexes[0], component.flat());
|
|
956
|
+
for (const index of indexes.slice(1))
|
|
957
|
+
consumed.add(index);
|
|
958
|
+
}
|
|
959
|
+
return groups.flatMap((group, index) => {
|
|
960
|
+
const merged = mergedAt.get(index);
|
|
961
|
+
if (merged)
|
|
962
|
+
return [merged];
|
|
963
|
+
return consumed.has(index) ? [] : [group];
|
|
964
|
+
});
|
|
965
|
+
}
|
|
335
966
|
/**
|
|
336
967
|
* Intra-review dedup is pairwise, so two dissimilar variants from one review
|
|
337
968
|
* can still land in the same final group via a bridge finding from another
|
|
@@ -361,7 +992,7 @@ function dedupeWithinReview(review, jaccardThreshold, lineWindow) {
|
|
|
361
992
|
}));
|
|
362
993
|
return groupTagged(tagged, jaccardThreshold, lineWindow).map((g) => chooseRepresentative(g));
|
|
363
994
|
}
|
|
364
|
-
export function deduplicateFindings(reviews, jaccardThreshold = DEFAULT_THRESHOLDS.jaccardThreshold, lineWindow = DEFAULT_THRESHOLDS.dedupeLineWindow) {
|
|
995
|
+
export function deduplicateFindings(reviews, jaccardThreshold = DEFAULT_THRESHOLDS.jaccardThreshold, lineWindow = DEFAULT_THRESHOLDS.dedupeLineWindow, minConsensusScore = DEFAULT_THRESHOLDS.minConsensusScore) {
|
|
365
996
|
// Flatten all findings with attribution, deduplicating within each review first
|
|
366
997
|
const all = [];
|
|
367
998
|
for (const review of reviews) {
|
|
@@ -371,16 +1002,22 @@ export function deduplicateFindings(reviews, jaccardThreshold = DEFAULT_THRESHOL
|
|
|
371
1002
|
}
|
|
372
1003
|
if (all.length === 0)
|
|
373
1004
|
return [];
|
|
374
|
-
const
|
|
1005
|
+
const strictGroups = [];
|
|
375
1006
|
for (const members of groupTagged(all, jaccardThreshold, lineWindow)) {
|
|
376
1007
|
for (const coherent of splitIncoherent(members, jaccardThreshold, lineWindow)) {
|
|
377
|
-
|
|
378
|
-
result.push({
|
|
379
|
-
representative: chooseRepresentative(collapsed).finding,
|
|
380
|
-
members: collapsed,
|
|
381
|
-
});
|
|
1008
|
+
strictGroups.push(collapseSameReviewer(coherent));
|
|
382
1009
|
}
|
|
383
1010
|
}
|
|
1011
|
+
const corroborated = mergeCorroboratedLocationClusters(strictGroups, lineWindow);
|
|
1012
|
+
const successfulReviews = reviews.filter((review) => review.status === 'success').length;
|
|
1013
|
+
const minimumReviewers = Math.max(CORROBORATED_MIN_REVIEWERS, Math.ceil(successfulReviews * minConsensusScore));
|
|
1014
|
+
const result = mergeAgreementNeighborhoods(corroborated, lineWindow, minimumReviewers).map((members) => {
|
|
1015
|
+
const collapsed = collapseSameReviewer(members);
|
|
1016
|
+
return {
|
|
1017
|
+
representative: chooseRepresentative(collapsed).finding,
|
|
1018
|
+
members: collapsed,
|
|
1019
|
+
};
|
|
1020
|
+
});
|
|
384
1021
|
// Sort by severity then file
|
|
385
1022
|
const severityOrder = { critical: 0, important: 1, minor: 2, nitpick: 3 };
|
|
386
1023
|
result.sort((a, b) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deduper.js","sourceRoot":"","sources":["../../src/consensus/deduper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deduper.js","sourceRoot":"","sources":["../../src/consensus/deduper.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,15 @@ export interface ParseResult {
|
|
|
8
8
|
* which must never be reported as a clean review.
|
|
9
9
|
*/
|
|
10
10
|
dropped: number;
|
|
11
|
+
/**
|
|
12
|
+
* The response was not a usable review at all: unparseable, or parsed but
|
|
13
|
+
* carrying no findings array. Distinct from `dropped`, which only counts
|
|
14
|
+
* individually-malformed findings — a truncated or prose-only answer never
|
|
15
|
+
* reaches the salvage loop, so a counter alone cannot detect it (RCL-15).
|
|
16
|
+
*
|
|
17
|
+
* `findings: [], unusable: false` is the ONLY shape that means "reviewed
|
|
18
|
+
* and found nothing".
|
|
19
|
+
*/
|
|
20
|
+
unusable: boolean;
|
|
11
21
|
}
|
|
12
22
|
export declare function parseReviewOutput(rawOutput: string, model: string, role: string): ParseResult;
|
package/dist/consensus/parser.js
CHANGED
|
@@ -83,12 +83,12 @@ export function parseReviewOutput(rawOutput, model, role) {
|
|
|
83
83
|
const warnings = [];
|
|
84
84
|
if (!rawOutput || rawOutput.trim().length === 0) {
|
|
85
85
|
warnings.push(`${model}/${role}: empty output`);
|
|
86
|
-
return { findings: [], warnings, dropped: 0 };
|
|
86
|
+
return { findings: [], warnings, dropped: 0, unusable: true };
|
|
87
87
|
}
|
|
88
88
|
const candidates = extractJsonCandidates(rawOutput);
|
|
89
89
|
if (candidates.length === 0) {
|
|
90
90
|
warnings.push(`${model}/${role}: could not extract JSON from output`);
|
|
91
|
-
return { findings: [], warnings, dropped: 0 };
|
|
91
|
+
return { findings: [], warnings, dropped: 0, unusable: true };
|
|
92
92
|
}
|
|
93
93
|
let parsed;
|
|
94
94
|
let parsedOk = false;
|
|
@@ -105,7 +105,7 @@ export function parseReviewOutput(rawOutput, model, role) {
|
|
|
105
105
|
}
|
|
106
106
|
if (!parsedOk) {
|
|
107
107
|
warnings.push(`${model}/${role}: JSON parse error: ${String(lastParseError)}`);
|
|
108
|
-
return { findings: [], warnings, dropped: 0 };
|
|
108
|
+
return { findings: [], warnings, dropped: 0, unusable: true };
|
|
109
109
|
}
|
|
110
110
|
// Some models emit the findings array without the wrapping object.
|
|
111
111
|
if (Array.isArray(parsed)) {
|
|
@@ -133,23 +133,27 @@ export function parseReviewOutput(rawOutput, model, role) {
|
|
|
133
133
|
}
|
|
134
134
|
if (salvaged.length > 0) {
|
|
135
135
|
warnings.push(`${model}/${role}: schema validation errors (salvaged ${salvaged.length}, dropped ${dropped})`);
|
|
136
|
-
return { findings: normalizeIds(salvaged, model, role), warnings, dropped };
|
|
136
|
+
return { findings: normalizeIds(salvaged, model, role), warnings, dropped, unusable: false };
|
|
137
137
|
}
|
|
138
138
|
// Every finding failed validation. The reviewer DID produce output, so
|
|
139
139
|
// this is a parse failure, not a clean review — `dropped` is what tells
|
|
140
140
|
// the caller apart from a genuine empty result.
|
|
141
141
|
if (dropped > 0) {
|
|
142
142
|
warnings.push(`${model}/${role}: all ${dropped} finding(s) failed schema validation`);
|
|
143
|
-
return { findings: [], warnings, dropped };
|
|
143
|
+
return { findings: [], warnings, dropped, unusable: true };
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
warnings.push(`${model}/${role}: schema validation failed: ${result.error.issues.map((e) => e.message).join(', ')}`);
|
|
147
|
-
|
|
147
|
+
// Schema validation failed and nothing was salvageable — including the
|
|
148
|
+
// case the salvage loop never ran because there was no findings array
|
|
149
|
+
// (a truncated or prose-only answer). Not a clean review.
|
|
150
|
+
return { findings: [], warnings, dropped: 0, unusable: true };
|
|
148
151
|
}
|
|
149
152
|
return {
|
|
150
153
|
findings: normalizeIds(result.data.findings, model, role),
|
|
151
154
|
warnings,
|
|
152
155
|
dropped: 0,
|
|
156
|
+
unusable: false,
|
|
153
157
|
};
|
|
154
158
|
}
|
|
155
159
|
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/consensus/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAEzD;;;;GAIG;AACH,SAAS,cAAc,CAA2C,MAAS;IACzE,OAAO,CAAC,CAAC,UAAU,CACjB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,cAAc,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACvE,QAAQ,EAAE,cAAc,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;CACjC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/consensus/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatch/utils.js
CHANGED
|
@@ -66,7 +66,7 @@ export function isBlankOutput(rawOutput) {
|
|
|
66
66
|
* not to read.
|
|
67
67
|
*/
|
|
68
68
|
export function reviewFromParse(opts) {
|
|
69
|
-
const { findings, warnings, dropped } = opts.parsed;
|
|
69
|
+
const { findings, warnings, dropped, unusable } = opts.parsed;
|
|
70
70
|
const base = {
|
|
71
71
|
model: opts.model,
|
|
72
72
|
role: opts.role,
|
|
@@ -76,11 +76,17 @@ export function reviewFromParse(opts) {
|
|
|
76
76
|
...(dropped > 0 ? { droppedFindings: dropped } : {}),
|
|
77
77
|
...(warnings.length > 0 ? { warnings } : {}),
|
|
78
78
|
};
|
|
79
|
-
|
|
79
|
+
// Gate on the parser's explicit verdict, not on the dropped counter: the
|
|
80
|
+
// counter only moves inside the salvage loop, which never runs when the
|
|
81
|
+
// response has no findings array at all — so a truncated or prose-only
|
|
82
|
+
// answer used to fall through to `success` (RCL-15).
|
|
83
|
+
if (unusable) {
|
|
80
84
|
return {
|
|
81
85
|
...base,
|
|
82
86
|
status: 'parse_failed',
|
|
83
|
-
error:
|
|
87
|
+
error: dropped > 0
|
|
88
|
+
? `All ${dropped} finding(s) failed schema validation; this reviewer's output was lost`
|
|
89
|
+
: "Response was not a usable review; this reviewer's output was lost",
|
|
84
90
|
};
|
|
85
91
|
}
|
|
86
92
|
return { ...base, status: 'success' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/dispatch/utils.ts"],"names":[],"mappings":"AAGA,MAAM,uBAAuB,GAAG;IAC9B,YAAY;IACZ,SAAS;IACT,SAAS;IACT,aAAa;IACb,gBAAgB;CACR,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,IAO5B;IACC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,IAM/B;IACC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/dispatch/utils.ts"],"names":[],"mappings":"AAGA,MAAM,uBAAuB,GAAG;IAC9B,YAAY;IACZ,SAAS;IACT,SAAS;IACT,aAAa;IACb,gBAAgB;CACR,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,IAO5B;IACC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,IAM/B;IACC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9D,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;QACvC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;IAEF,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,qDAAqD;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,cAAc;YACtB,KAAK,EACH,OAAO,GAAG,CAAC;gBACT,CAAC,CAAC,OAAO,OAAO,uEAAuE;gBACvF,CAAC,CAAC,mEAAmE;SAC1E,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAExD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,OAAO,MAAM,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAMD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAI,IAK3C;IACC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAY,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,GAAG,CAAC;gBACd,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;gBACnE,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACvD,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjC,SAAS;gBACX,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -336,7 +336,7 @@ async function executeCouncil(spinner, prepared, diff, opts, planContext) {
|
|
|
336
336
|
const reviews = mergeChunkReviews(chunkReviews);
|
|
337
337
|
spinner.text = 'Computing consensus...';
|
|
338
338
|
// Deduplicate and compute consensus
|
|
339
|
-
const groups = deduplicateFindings(reviews, config.thresholds?.jaccardThreshold ?? DEFAULT_THRESHOLDS.jaccardThreshold, config.thresholds?.dedupeLineWindow ?? DEFAULT_THRESHOLDS.dedupeLineWindow);
|
|
339
|
+
const groups = deduplicateFindings(reviews, config.thresholds?.jaccardThreshold ?? DEFAULT_THRESHOLDS.jaccardThreshold, config.thresholds?.dedupeLineWindow ?? DEFAULT_THRESHOLDS.dedupeLineWindow, config.thresholds?.minConsensusScore ?? DEFAULT_THRESHOLDS.minConsensusScore);
|
|
340
340
|
const consensusFindings = computeConsensus(groups, reviews, roleMap, {
|
|
341
341
|
lineWindow: config.thresholds?.dedupeLineWindow,
|
|
342
342
|
jaccardThreshold: config.thresholds?.jaccardThreshold,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/output/markdown.js
CHANGED
|
@@ -138,12 +138,22 @@ export function toMarkdown(result) {
|
|
|
138
138
|
// incomplete in a way no severity total can show.
|
|
139
139
|
const parseFailed = result.reviews.filter((r) => r.status === 'parse_failed');
|
|
140
140
|
const totalDropped = result.reviews.reduce((sum, r) => sum + (r.droppedFindings ?? 0), 0);
|
|
141
|
-
|
|
141
|
+
// Either signal alone means degraded coverage. A reviewer whose response
|
|
142
|
+
// carried no findings array at all is a total loss with a dropped count of
|
|
143
|
+
// zero, so gating on the count would hide exactly that case (RCL-15).
|
|
144
|
+
if (totalDropped > 0 || parseFailed.length > 0) {
|
|
142
145
|
const lostRoles = parseFailed.map((r) => `${r.model}/${r.role}`).join(', ');
|
|
143
|
-
sections.push(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
sections.push('> ⚠️ **Degraded coverage:** ' +
|
|
147
|
+
[
|
|
148
|
+
totalDropped > 0
|
|
149
|
+
? `${totalDropped} finding(s) could not be parsed and were discarded.`
|
|
150
|
+
: null,
|
|
151
|
+
parseFailed.length > 0
|
|
152
|
+
? `${parseFailed.length} reviewer(s) returned nothing usable and contributed no findings: ${lostRoles}.`
|
|
153
|
+
: null,
|
|
154
|
+
]
|
|
155
|
+
.filter(Boolean)
|
|
156
|
+
.join(' ') +
|
|
147
157
|
' Treat the results below as incomplete.', '');
|
|
148
158
|
}
|
|
149
159
|
// Reviewers table
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/output/markdown.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/output/markdown.ts"],"names":[],"mappings":"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"}
|