use thiserror::Error;
#[derive(Debug, Error)]
pub enum ConfigError {
#[error("failed to parse config: {0}")]
Parse(String),
#[error("invalid value for '{key}': {message}")]
InvalidValue { key: String, message: String },
#[error("threshold override for '{category}' is missing the required 'expires' field")]
MissingExpiresOnOverride { category: String },
#[error("I/O error reading config: {0}")]
Io(#[from] std::io::Error),
#[error("failed to parse boundary spec: {0}")]
BoundaryParse(String),
}