Delete a therapeutic candidate.
Cascade. variants.candidate_id is ON DELETE CASCADE, and
variant_chains / jobs / pipeline result tables cascade from
there — so deleting a candidate drops the full tree underneath it:
every variant, every chain row, every submitted pipeline job, and
every emitted result. The junction rows in
candidate_source_antibodies and candidate_antigens also
cascade; the linked source antibodies and antigens themselves stay
because they’re scoped to the project, not the candidate.
Callers that want to keep pipeline history should archive the candidate at the application layer (rename, tag, stop submitting against it) rather than deleting.
Cost: write — burns rate + quota. Does not debit credits.