Skip to main content

ralph_workflow/checkpoint/
recovery.rs

1//! Recovery strategy for checkpoint state.
2//!
3//! This module provides the recovery strategy enum for handling
4//! checkpoint validation failures.
5
6/// Recovery strategy to use when validation fails.
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
8pub enum RecoveryStrategy {
9    /// Fail fast - require user intervention
10    Fail,
11    /// Attempt automatic recovery where possible
12    Auto,
13    /// Warn but continue (not recommended)
14    Force,
15}
16
17#[cfg(test)]
18mod tests {
19    use super::*;
20
21    #[test]
22    fn test_recovery_strategy_variants() {
23        let fail = RecoveryStrategy::Fail;
24        let auto = RecoveryStrategy::Auto;
25        let force = RecoveryStrategy::Force;
26
27        assert_eq!(fail, RecoveryStrategy::Fail);
28        assert_eq!(auto, RecoveryStrategy::Auto);
29        assert_eq!(force, RecoveryStrategy::Force);
30    }
31}