Read heartbeat-state.json. Run whichever check is most overdue.
- Workspace: every 6h (anytime)
- Memory: every 2h (anytime)
- Tasks: every 30 min (anytime)
- Load timestamps from heartbeat-state.json (create if missing)
- Calculate which check is most overdue
- Run that check
- Update timestamp
- Report if actionable, otherwise HEARTBEAT_OK
Verify workspace integrity.
Check:
- SOUL.md, USER.md, AGENTS.md exist
- memory/ directory exists
Report ONLY if: files missing or corrupted
Review and maintain memory files.
Check:
- Does memory/YYYY-MM-DD.md exist for today?
- Any recent daily files worth distilling into long-term memory?
Report ONLY if: important context at risk of being lost
Review work status.
Check:
- Any in-progress tasks stalled >24h?
- Blocked tasks needing attention?
Report ONLY if: tasks need intervention