Repository navigation
Conversation
Three tables for the dependency scanner. dependency_scans records one read of a repository's lockfiles at a commit; dependency_scan_matches keeps the vulnerable packages each scan found, so an older commit still running in production can be shown; dependency_findings follows each (repository, lockfile, package, advisory) with the code audit's lifecycle: a fixed finding that comes back reopens, a dismissed one stays dismissed. Only a scan of the default branch head reconciles findings, and a lockfile the scan could not read keeps its findings open. They are separate from the code audit tables, which hold an agent's record and verdict per target and fingerprint.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 38 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
This comment has been minimized.
This comment has been minimized.
When two findings of one package share an alias, the alias carry-over could rename a match onto the other finding and leave its own one unmatched. An exact id now wins; alias overlap only applies when no finding tracks the match's id. Also pins the store's three bulk readers.
This comment has been minimized.
This comment has been minimized.
The org-scoped table registry test caught the three new tables: deleting an org now removes its dependency scans, matches and findings.
This comment has been minimized.
This comment has been minimized.
When OSV merges two advisories on a package and a scan reports one with the other in its aliases, the other's open finding was reconciled as unmatched and marked fixed while the vulnerable version was still installed.
Maple review🟢 Confidence 10/10 · safe to merge. New tables and a self-contained store; the alias case F3 raised is fixed at Adds the dependency-scan persistence layer: three org-scoped tables with their migration, plus
Before merge
Fixed since the last review
|
Part 3 of 5 of the dependency scanner (stack below).
Three tables and
DependencyScanStore:dependency_scans: one read of a repository's lockfiles at a commit (lockfile statuses, counts, error)dependency_scan_matches: the vulnerable packages each scan found, kept per scan so an older commit still running in production can be showndependency_findings: one per (repository, lockfile, package, advisory) with the code audit's lifecycle: a fixed finding that comes back reopens, a dismissed one stays dismissedOnly a scan of the tracked branch head reconciles findings. A lockfile the scan could not read (or skipped) keeps its findings; scans of one repository settle one at a time under an advisory lock, and an older scan never undoes a newer one; an incomplete scan stores its matches but reconciles nothing; a finding keeps its id and triage when OSV later links its advisory to another record. Separate from the code audit tables, which hold an agent's record and verdict per target and fingerprint.
Verification
db:generate;parity.test.tspasses.Stack
🤖 Generated with Claude Code