kitt_score 0.1.0

Decision engine at the core of Project KITT — in-memory stateful matching with pluggable scoring backends.
Documentation
//! Internal configuration object — accumulates what `EngineBuilder` collects.

use crate::clock::Clock;
use crate::decide::Decide;
use crate::scoring::VectorBackend;
use std::sync::Arc;

/// Resolved engine configuration. Populated by `EngineBuilder` before the
/// engine is constructed.
pub struct EngineConfig {
    /// Time source used for action expiry.
    pub clock: Arc<dyn Clock>,
    /// Decider applied to the candidate list produced by a trigger.
    pub decider: Arc<dyn Decide>,
    /// Default backend used when `ScorerSpec::Vector` is supplied without an
    /// explicit backend preference.
    pub default_vector_backend: VectorBackend,
    /// Number of shards in the location table.
    pub n_shards: usize,
    /// Resolved `(KindId, AttrId)` pair for the per-location embedding slot,
    /// if configured via `EngineBuilder::with_embedding_slot`.
    pub embedding_slot: Option<(crate::KindId, crate::AttrId)>,
}