//! Error hierarchy at the application/adapter boundary.
//!
//! Three independent leaves (`RepoError`, `ProviderError`, `UpstreamError`)
//! model the three distinct failure modes (persistence, ML provider, LLM
//! upstream) so adapters can return the precise shape and the umbrella
//! `UseCaseError` can wrap any of them with `#[from]`.
pub use ProviderError;
pub use RepoError;
pub use UpstreamError;
pub use UseCaseError;