Some checks failed
Smoke Test / smoke (pull_request) Failing after 22s
Architecture Lint / Linter Tests (pull_request) Successful in 26s
Validate Config / YAML Lint (pull_request) Failing after 14s
Validate Config / JSON Validate (pull_request) Successful in 16s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 54s
Validate Config / Python Test Suite (pull_request) Has been skipped
Validate Config / Shell Script Lint (pull_request) Failing after 58s
Validate Config / Cron Syntax Check (pull_request) Successful in 11s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 12s
Validate Config / Playbook Schema Validation (pull_request) Successful in 24s
Architecture Lint / Lint Repository (pull_request) Failing after 24s
PR Checklist / pr-checklist (pull_request) Failing after 10m38s
- Move deadman scheduling to Ansible cron_manager (universal cron)
- Remove systemd timer & launchd plist deployment from deadman_switch role
- Add deadman action cron job to group_vars (runs every 5 min)
- Change snapshot_dir to per-wizard: {{ wizard_home }}/.snapshots
- Add config hash logging to rollback for audit trail (old_hash, new_hash)
- Delete overlapping deadman implementations (deadman-switch.sh, deadman-fallback.py)
- cron_manager: remove fallback task for deadman (now unified via cron_jobs)
Acceptance Criteria:
- Health check success → snapshot saved ✓
- Health check failure → rollback + restart ✓
- Rollback event logged with config hashes ✓
- Snapshot location per-agent (wizard-specific) ✓
- Works with Ansible-deployed cron schedule ✓
- All overlapping deadman switches removed ✓ (single implementation)
Closes #444