Skip to content

feat: Phase B B7 candidate rejection certificate (CRC-) -- rejections as first-class artifacts - #877

Merged
cschanhniem merged 1 commit into
mainfrom
feat/b7-candidate-rejection-certificate
Jul 10, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
feat/b7-candidate-rejection-certificate

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Summary

  • New schema: CandidateRejectionCertificate (CRC-) in src/openamp_foundry/evidence/candidate_rejection_certificate.py
  • 12 fields: crc_id, pipeline_version, candidate_id, sequence, rejection_date, rejection_gate, rejection_reason, evidence_summary, proof_ladder_level_at_rejection, dry_lab_only, scores (opt), notes (opt)
  • VALID_REJECTION_GATES: 10 values (wave0_5_safety_gate, novelty_gate, activity_threshold, diversity_filter, hemolysis_gate, toxicity_gate, synthesis_feasibility_gate, manual_review, claim_boundary_gate, calibration_gate)
  • VALID_REJECTION_REASONS: 12 values (safety_score_below_threshold, activity_score_below_threshold, insufficient_novelty, hemolysis_risk_too_high, toxicity_risk_too_high, synthesis_infeasible, duplicate_of_known, diversity_cluster_full, human_reviewer_rejected, claim_boundary_violation, calibration_refused, overclaiming_language_detected)
  • dry_lab_only=True enforced; proof_ladder_level_at_rejection capped at multi_signal_candidate_evidence
  • 2 warnings: short evidence_summary, empty notes
  • 63 tests covering valid records, ID/version rules, sequence/date, gate/reason, proof ladder/dry lab cap, notes/warnings, validate_dict edge cases
  • BASELINE 6520→6583
  • Closes Phase B B7 — pipeline rejections are now first-class auditable artifacts, not just missing entries

@cschanhniem
cschanhniem merged commit c343ece into main Jul 10, 2026
1 check failed
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