← ClaudeAtlas

cron-aware-watchdoglisted

Use when building or debugging a monitor, watchdog, or health check for scheduled jobs, or when investigating an alert that says a job is stale. Prevents blanket staleness rules that fire on weekends and prevents auto-repair loops.
DomenicMoran/verified-done · ★ 2 · AI & Automation · score 73
Install: claude install-skill DomenicMoran/verified-done
# A watchdog needs to know the schedule The tempting health check is "no execution in N hours means broken". It is wrong for every job that does not run continuously. A Monday-to-Friday job is legitimately silent for 60 hours every weekend. A monthly job is silent for weeks. A blanket rule flags both, and if the watchdog also repairs what it flags, it will restart healthy systems on a schedule of its own. ## Ask when the job was actually due Compute the previous fire time from the job's own schedule expression and the zone the scheduler runs in. Compare the last execution against that, not against a fixed window. ``` faellig = vorheriger_ausloesezeitpunkt(cron, zone, jetzt) if letzte_ausfuehrung < faellig - toleranz: -> wirklich verpasst else: -> gesund, nur still ``` Two details that produce false alarms on their own: - **Zones.** Schedulers commonly run in a local zone while their API reports execution times in UTC. Compare like with like, and get the current time from a tool rather than assuming. - **Tolerance.** A job that fires at :00 and takes four minutes has not missed its slot at :03. Give the comparison a margin. ## Auto-repair needs three guard rails A watchdog that repairs what it flags will eventually repair something healthy. Before wiring any automatic action: 1. **Cooldown.** No second intervention on the same target inside a window. 2. **Cap.** A hard maximum of interventions per day. On reaching it, s