//! Database entry point for exact ranking. use super::TidalDb; use crate::query::rank::{ExactRankRequest, ExactRankResponse, execute}; impl TidalDb { /// Execute the frozen `contest_qualified_hot` v1 formula over a complete, /// caller-supplied candidate set. /// /// This method reads no database state: no configured ranking profiles, /// candidates, items, signal ledger, or users. The explicit profile name and /// version in the request pin formula semantics against operator config /// changes. /// The required `as_of_nanos` is evaluated once by the caller and remains /// part of the request identity. /// /// # Errors /// /// Returns [`crate::TidalError::InvalidInput`] for an unsupported profile /// identity, invalid timestamp/candidate/signal, duplicate entity ID, /// arithmetic overflow, or a candidate set larger than 10,000. #[tracing::instrument( skip_all, fields( profile = %request.profile, profile_version = request.profile_version, candidates = request.candidates.len() ) )] pub fn rank_exact(&self, request: &ExactRankRequest) -> crate::Result { execute(request) } }