Repository navigation
Let re-runs resolve carried findings and stop duplicate PR reviews - #35
Merged
Merged
Conversation
…ht side Baseline findings cite old-head line numbers, but resolution checked their anchors against the incremental diff's new-side index, so a push that rewrote the flagged code never resolved its finding. Incremental reconciliation now checks old-side hunk coordinates. A same-head re-run has an empty since-baseline diff, which skipped the model entirely: a carried finding could never clear, and each re-run posted another visible PR review with the identical content. When the incremental diff is empty and the baseline carries findings, the run falls back to a full review over the whole PR diff; a clean model pass that does not reproduce a baseline issue resolves it, while provider errors, ungrounded output, and truncation stay fail-closed and keep carrying. Runs whose visible findings are all carried no longer post a duplicate PR review; check-runs still receive the complete envelope.
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.
Carried findings could never be cleared by re-running a check: baseline anchors cite old-head line numbers but resolution checked them against the incremental diff's new-side index, so even a push that rewrote the flagged code kept carrying the finding, and a same-head re-run skipped the model on an empty since-baseline diff while posting yet another visible PR review with identical content. Incremental reconciliation now checks old-side hunk coordinates; an empty incremental diff with carryable baseline findings falls back to a full review over the whole PR diff, where a clean model pass that does not reproduce a baseline issue resolves it while provider errors, ungrounded output, and truncation stay fail-closed; and runs whose visible findings are all carried update their check-runs without posting a duplicate PR review. Verified with fmt, clippy -D warnings, 88 library tests, and 38 wiremock e2e tests including new coverage for the fallback, resolution, and posting decisions.