Check a finding's citation against the code it names - #127
Merged
Conversation
A grounded finding proves its cited line exists and that its quoted evidence is that line's text. It does not prove the finding is about that line. A review of an Ansible playbook reported that a password task had dropped no_log, cited a line sixteen rows below where that task sits, and then compared the pull request description against the misreading and accused its author of describing the change falsely. Both claims blocked the merge; both were wrong. Four post-model passes address the shapes behind that: Anchor corroboration suppresses a finding when the constructs its prose names sit elsewhere on the same path, or when they are too far apart for the relationship it asserts to exist at one place in the file. A finding that names nothing the diff can locate is left alone, so silence never becomes a verdict. A content-policy claim can no longer outrank the finding it argues from. It inherits that finding's confidence as a ceiling, and falls with it when the only reading it rests on was suppressed as mis-anchored. Findings that make one claim about several locations collapse into one finding that names them all, instead of one comment per file. An uncertainty finding whose body only asks the author to confirm something loses its blocking severity. It runs after uncertainty resolution, so a finding that went and checked keeps what it earned, and after policy thresholds, so the question stays visible rather than dropping below a warn floor. Publication gains cross-run dedup: a second review of an unchanged head re-detects what the first found, and those findings arrive fresh rather than carried, so the carry filter cannot see them. Their markers already on the pull request can. A run that cannot read the existing comments posts everything it found. Live benchmark against the recorded baseline: detection 96.5 to 98.2 percent, gate verdict correctness 76.8 to 78.6 percent, false findings unchanged at 4, mean cost per case down. The hermetic suite passes 70 of 70 cases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grounding proves a finding's cited line exists and that its quoted evidence is that line's text; it does not prove the finding is about that line. A production review reported that a password task had dropped its no_log, cited a line sixteen rows below where that task sits, and then compared the pull request description against that misreading and accused the author of describing the change falsely. Both claims blocked the merge and both were wrong, from one misplaced citation. Four post-model passes address that class: anchor corroboration suppresses a finding whose named constructs sit elsewhere on the path or too far apart for the relationship it asserts to hold at one place, while leaving alone any finding that names nothing the diff can locate; a content-policy claim inherits as a ceiling the confidence of the finding it argues from and falls with it when that reading was suppressed; findings making one claim about several locations collapse into one finding that names them all; and an uncertainty finding whose body only asks the author to confirm something loses its blocking severity, running after uncertainty resolution so a finding that did the work keeps what it earned. Publication also gains cross-run dedup keyed on the finding marker already present on the pull request, since a second review of an unchanged head re-detects findings fresh rather than carried and the carry filter cannot see them; a run that cannot read the existing comments posts everything it found. Measured against the recorded live baseline, detection moved from 96.5 to 98.2 percent and gate verdict correctness from 76.8 to 78.6 percent with false findings unchanged at 4 and mean cost per case down, and the hermetic suite passes 70 of 70.