Skip to content

fix(persistence): align scan-level explanation with primary finding#43

Merged
saraeloop merged 1 commit intomainfrom
fix/persisted-scan-semantics
Apr 8, 2026
Merged

fix(persistence): align scan-level explanation with primary finding#43
saraeloop merged 1 commit intomainfrom
fix/persisted-scan-semantics

Conversation

@saraeloop
Copy link
Copy Markdown
Member

Summary

Aligns persisted scan-record explanation fields with the primary finding when it is transitive.

Changes

Updated

  • src/application/scan-package.ts
  • src/domain/contracts.ts
  • src/domain/scan-review-records.ts

Tests

  • test/scan-package.test.ts
  • test/jsonl-scan-review-store.test.ts

Behavior

  • Adds primary_finding_key to persisted scan records
  • Clears top-level signals when the primary finding is transitive
  • Preserves existing behavior for root-level findings and scans without findings
  • Backfills primary_finding_key for legacy records during normalization

Verification

  • pnpm test
  • pnpm run build

- add `primary_finding_key` to persisted scan records
- when primary finding is transitive, clear top-level signals and record primary finding key
- preserve existing behavior for root-level findings and no-finding cases
- backfill `primary_finding_key` for legacy records during normalization when applicable

- add regression tests for:
  - transitive primary finding persistence behavior
  - root-level finding behavior unchanged
  - JSONL round-trip and legacy normalization handling

verification:
- pnpm test
- pnpm run build
@saraeloop saraeloop self-assigned this Apr 8, 2026
@saraeloop saraeloop merged commit 16fdd84 into main Apr 8, 2026
1 check passed
@saraeloop saraeloop deleted the fix/persisted-scan-semantics branch April 8, 2026 01:35
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.

1 participant