#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("ai config error: {0}")]
Config(String),
#[error("ai provider error: {0}")]
Provider(String),
#[error("low confidence classification (confidence: {confidence:.2})")]
LowConfidence {
best_guess: serde_json::Value,
confidence: f64,
},
#[error("deserialization error: {0}")]
Deserialization(String),
#[error("classification request timed out after retries")]
Timeout,
#[error("confirmation store error: {0}")]
StoreError(String),
}