Skip to content

fix(assure): preserve existing findings across file renames - #446

Merged
P4suta merged 1 commit into
mainfrom
fix/assure-renamed-findings
Oct 25, 2026
Merged

P4suta merged 1 commit into
mainfrom
fix/assure-renamed-findings

Conversation

@P4suta

@P4suta P4suta commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Why

assure treats existing findings as new findings when a pull request moves source files because finding identities include paths.

Changes

Use Git rename pairs to compare existing findings at their destination paths.
Keep each source survey at its actual paths so that ownership, catalog rules, and generated-file attributes still apply.
Preserve checks for new sites, extra occurrences, copies, touched findings, and lowered budgets.

Validation

The real Git regression reproduced the original failure before the implementation changed.
All 35 native assure integration tests pass on Windows, including five new real Git regression fixtures.
Staged and committed renames keep existing findings.
New sites, repeated sites, and copies still fail.
Destination ownership and inherited merge parents have regression coverage.
Both parser and identity unit tests pass.
Formatting and strict Clippy checks pass for all dotfiles targets and features.
Native tests on macOS and Linux haven't run for the repair.
The existing pure finding-count and verdict rules remain unchanged.
The full proof campaign hasn't run.

Closes #445.

@coderabbitai ignore

@P4suta
P4suta marked this pull request as ready for review October 25, 2026 14:27
@P4suta
P4suta merged commit ca539bf into main Oct 25, 2026
6 checks passed
@P4suta
P4suta deleted the fix/assure-renamed-findings branch October 25, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(assure): preserve existing findings across file renames

1 participant