pub mod confidence;
pub mod frequency;
pub mod rrf;
pub mod temporal;

use crate::fact::MemoFact;

pub struct ScoringEngine;

impl ScoringEngine {
    pub fn score(fact: &MemoFact) -> f64 {
        let temporal = temporal::temporal_score(fact);
        let freq = frequency::frequency_score(fact);
        let conf = fact.confidence as f64;
        0.4 * temporal + 0.3 * freq + 0.3 * conf
    }
}
