---
name: dead-cron-entries
description: "Many crontab entries on shadow point at scripts that don't exist locally; they fire and fail silently"
metadata:
node_type: memory
type: project
originSessionId: 71d40fa2-b151-4c81-9821-f0dfeb7a0f66
---
As of 2026-05-15, `crontab -l` on shadow includes entries whose target
scripts do not exist on this host. They run on schedule and fail without
surfacing anywhere obvious (no `~/logs/cron/` directory either).
Confirmed missing targets:
- `infra/tools/ops/scheduler-watchdog.sh` (every 10 min)
- `infra/tools/pipeline/pipeline-deadlock-monitor.sh` (every 30 min)
- `infra/tools/watchdog.py` (every 30 min)
- `infra/tools/pipeline/auto-pr-merger.sh` (every 5 min)
- `~/.claude/scripts/auto-sync.sh` (hourly)
- `tools/trends-archive.sh`, `tools/wiki-migrate-archive.sh`
Confirmed working: `disk-alert.sh`, `disk_cleanup_hourly.sh`,
`wiki-memory-expand`, `wt-prune`, and the vvv-bots `daily_bot_report.sh`.
**Why:** Crontab was likely copy-pasted from arcana during the shadow rebuild
without filtering for which scripts actually got restored. See [[host-shadow]]
and [[workspace-layout]].
**How to apply:** Before debugging a "missing log" or "this didn't run" on
shadow, check whether the cron target actually exists locally. Before adding
a new cron line, verify the script path resolves on shadow. Don't bulk-delete
the dead entries without user approval — they may be placeholders the user
intends to restore.
shadow/dead_cron_entries