kitt_score 0.1.0

Decision engine at the core of Project KITT — in-memory stateful matching with pluggable scoring backends.
Documentation
//! Public error types.

use crate::{AttrId, KindId};

/// Returned when an ingest call rejects the event. Distinguished from
/// `Ingested::NoWinner` (which is a legitimate trigger outcome).
#[derive(Debug, thiserror::Error)]
pub enum IngestErr {
    /// Unknown location identifier.
    #[error("unknown location: {0:?}")]
    UnknownLocation(crate::LocId),
    /// Unknown event kind.
    #[error("unknown event kind: {0}")]
    UnknownKind(String),
    /// Unknown attribute.
    #[error("unknown attribute: {0}")]
    UnknownAttr(String),
    /// Disallowed event kind for this location.
    #[error("disallowed event kind for this location: {0:?}")]
    KindNotAllowed(KindId),
    /// Scorer compilation failed.
    #[error("scorer compilation failed: {0}")]
    ScorerBuild(#[from] crate::scoring::BuildErr),
    /// Attribute type mismatch.
    #[error("attribute type mismatch on attribute {0:?}")]
    TypeMismatch(AttrId),
}