fix/cascade-delete-repo
main
Previously, deleting a repository only cleaned up SAST findings, SBOM, scan runs, CVEs, tracker issues, graph data, and embeddings — but left orphaned DAST targets, scan runs, DAST findings, pentest sessions, attack chain nodes, and pentest messages in the database. Now the delete handler follows the full cascade chain: repo → dast_targets → dast_scan_runs → dast_findings repo → dast_targets → pentest_sessions → attack_chain_nodes repo → dast_targets → pentest_sessions → pentest_messages repo → pentest_sessions (direct repo_id link) → downstream Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>