Skip to main content

entrenar/storage/registry/
error.rs

1//! Registry error types
2
3use thiserror::Error;
4
5use super::stage::ModelStage;
6
7/// Registry errors
8#[derive(Debug, Error)]
9pub enum RegistryError {
10    #[error("Model not found: {0}")]
11    ModelNotFound(String),
12
13    #[error("Version not found: {0} v{1}")]
14    VersionNotFound(String, u32),
15
16    #[error("Invalid stage transition from {0} to {1}")]
17    InvalidTransition(ModelStage, ModelStage),
18
19    #[error("Policy check failed: {0}")]
20    PolicyFailed(String),
21
22    #[error("Registry error: {0}")]
23    Internal(String),
24}
25
26/// Result type for registry operations
27pub type Result<T> = std::result::Result<T, RegistryError>;