Skip to content

v3.13.5

Choose a tag to compare

@mrbro-bot mrbro-bot released this 23 Aug 18:34
· 260 commits to main since this release
0c9532b

What's new

Bug Fixes

ce-review: Finding deduplication was keyed on a fingerprint that included each finding's normalized title. Because two reviewers rarely phrase the same finding the same way, the fingerprint almost never matched, so near-duplicate findings from independent reviewers passed through as separate results instead of being merged.

Measuring stored review runs quantified the problem: across twenty runs there were 375 cross-reviewer pairs of findings on the same file — 55 of them within three lines of each other and 39 on the exact same line — and none of them ever merged. That means the confidence boost meant to fire when independent reviewers converge on the same issue had never actually fired.

Line proximity was never the real signal, and prose files weren't a special case either. Grouping is now mechanical and file-only, and the decision about whether two findings describe the same underlying defect is left to judgement — the one thing the model running this stage is actually good at. Declining to merge two findings is now recorded along with a reason: a wrong merge is obvious to a reader, but a missed merge just looks like two separate findings, so recording the decision either way leaves a trace.

A follow-up commit clarified how a partially-merged candidate group is recorded: when a group of three findings has two that merge and a third that doesn't, one entry is written per declined separation, naming the IDs on both sides of it — so a three-finding group with a partial merge produces a single entry listing all three. A group that merges completely produces no declined-separation entries at all.

Compare

v3.13.4...v3.13.5