Skip to content

refactor(sarif): preserve durable finding identities - #307

Merged
mpekatsoula merged 1 commit into
mainfrom
refactor/preserve-sarif-finding-ids
Aug 19, 2026
Merged

refactor(sarif): preserve durable finding identities#307
mpekatsoula merged 1 commit into
mainfrom
refactor/preserve-sarif-finding-ids

Conversation

@mpekatsoula

Copy link
Copy Markdown
Contributor

Previously, triage mapped SARIF results back to JSON findings using guesses:

  • fingerprint
  • file and line
  • rule
  • issue text

Two findings on same line could receive wrong triage status after SARIF reordering.

Fix:

  • Every finding gets durable id
  • SARIF carries it as metisFindingId
  • Triage annotations map back by exact ID
  • Duplicate/ambiguous IDs are ignored safely
  • Dedup ignores ID, so identical findings still collapse
  • Legacy JSON without IDs gets IDs automatically

- Assign durable IDs at the review boundary and preserve them across JSON, SARIF, and reachability.
- Replace heuristic triage matching with ID mapping while rejecting duplicates and keeping deduplication identity-independent.
@mpekatsoula
mpekatsoula force-pushed the refactor/preserve-sarif-finding-ids branch from f81ace2 to 82ed082 Compare August 19, 2026 15:39
@mpekatsoula
mpekatsoula merged commit 403e1e1 into main Aug 19, 2026
7 checks passed
@mpekatsoula
mpekatsoula deleted the refactor/preserve-sarif-finding-ids branch August 19, 2026 15:50
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.

2 participants