//! Diversity enforcement for ranked candidate lists.
//!
//! After the profile executor scores and sorts candidates, the `DiversitySelector`
//! applies post-hoc constraints (max-per-creator, format-mix) using a greedy
//! multi-stage relaxation strategy. This ensures the result set maintains content
//! variety without sacrificing result count.

pub mod constraints;
pub mod selector;

pub use constraints::{ConstraintViolation, DiversityConstraints, DiversityResult};
pub use selector::DiversitySelector;
