use thiserror::Error; /// Stable, redacted failures from the artifact boundary. /// /// This intentionally carries neither an operating-system source nor a path: /// those details belong only in the composing process's private logs. #[derive(Clone, Copy, Debug, Eq, Error, PartialEq)] pub enum ArtifactError { #[error("artifact reference is invalid")] InvalidReference, #[error("artifact source is empty")] EmptySource, #[error("artifact source exceeds the configured maximum")] SourceTooLarge, #[error("artifact was not found")] NotFound, #[error("artifact integrity verification failed")] Integrity, #[error("artifact storage root or entry is unsafe")] UnsafeRoot, #[error("artifact storage is unavailable")] Storage, }