quietset 0.1.0

Filter datasets by label stability across evaluators, budgets, seeds, and models
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum Error {
    #[error("missing required field: {0}")]
    MissingField(&'static str),
    #[error("invalid score value at line {line}")]
    InvalidScore { line: usize },
    #[error("score_scale must be positive and finite, got {0}")]
    InvalidScoreScale(f64),
    #[error("unsupported format: {0}")]
    UnsupportedFormat(String),
    #[error("could not parse JSONL at line {line}: {source}")]
    ParseError {
        line: usize,
        source: serde_json::Error,
    },
    #[error("could not parse CSV: {0}")]
    CsvError(#[from] csv::Error),
    #[error("no observations found")]
    NoObservations,
    #[error("I/O error: {0}")]
    Io(#[from] std::io::Error),
}

pub type Result<T> = std::result::Result<T, Error>;