The OPEN state was terminal — once triggered, it persisted across restarts with no automatic recovery. This adds two recovery mechanisms: 1. Cooldown timer (default): OPEN → HALF_OPEN after CB_COOLDOWN_MINUTES (default 30). The existing HALF_OPEN logic handles recovery or re-trip. 2. Auto-reset option: CB_AUTO_RESET=true bypasses cooldown, resets to CLOSED on startup for fully unattended operation. Changes: - Add parse_iso_to_epoch() to lib/date_utils.sh (cross-platform) - Add cooldown + auto-reset logic to init_circuit_breaker() - Add opened_at field to state file when entering/staying OPEN - Add --auto-reset-circuit CLI flag and .ralphrc config vars - Add 19 tests in test_circuit_breaker_recovery.bats - Update CLAUDE.md and README.md documentation |
||
|---|---|---|
| .. | ||
| test_circuit_breaker_recovery.bats | ||
| test_cli_modern.bats | ||
| test_cli_parsing.bats | ||
| test_enable_core.bats | ||
| test_exit_detection.bats | ||
| test_json_parsing.bats | ||
| test_ralph_enable.bats | ||
| test_rate_limiting.bats | ||
| test_session_continuity.bats | ||
| test_task_sources.bats | ||
| test_wizard_utils.bats | ||