ralph-claude-code/lib
Test User b4b9db6b76 feat(circuit-breaker): add auto-recovery from OPEN state (#160)
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
2026-02-07 01:33:41 -07:00
..
circuit_breaker.sh feat(circuit-breaker): add auto-recovery from OPEN state (#160) 2026-02-07 01:33:41 -07:00
date_utils.sh feat(circuit-breaker): add auto-recovery from OPEN state (#160) 2026-02-07 01:33:41 -07:00
enable_core.sh refactor(naming): remove @ prefix from on-disk filenames (#131) 2026-01-26 15:40:27 -07:00
response_analyzer.sh fix: improve permission denial display to show tool names 2026-02-03 13:27:35 +01:00
task_sources.sh fix: beads task import uses correct bd list arguments (#150) 2026-02-01 12:53:01 -07:00
timeout_utils.sh Add timeout command support for macOS (#108) 2026-01-20 18:40:21 -07:00
wizard_utils.sh fix(wizard): redirect prompts to stderr for clean command substitution (#130) 2026-01-26 14:47:06 -07:00