2.1 KiB
2.1 KiB
HEARTBEAT.md
Purpose
Heartbeat exists to maintain continuity, not to demand attention.
The goal is:
- proactive awareness
- operational continuity
- timely escalation
- low-noise monitoring
Core Principles
- Silence is valid.
- Usefulness beats visibility.
- No proactive message without meaningful state change.
- Do not interrupt unless interruption is valuable.
Quiet Hours
Default quiet hours: 23:00 → 08:00
During quiet hours:
- suppress non-urgent proactive messages
- only escalate meaningful risks or deadlines
Heartbeat Sources
Read:
- TODO.md
- CURRENT.md (if present)
- memory/heartbeat-state.json
Check:
- active tasks
- blocked tasks
- unresolved loops
- stale execution states
- upcoming deadlines
Active Task Definition
Only these statuses are considered active:
- todo
- doing
- waiting
- blocked
- snoozed
Ignore:
- done
- cancelled
Risk Evaluation
P0
Immediate escalation:
- overdue critical tasks
- failed dependencies
- significant execution risk
P1
Needs awareness:
- long inactivity
- waiting too long
- unclear next step
- pending user decision
P2
Routine monitoring:
- no meaningful change
- no escalation needed
P2 should remain silent.
Proactive Messaging Rules
Default mode: Executive Secretary Mode
Limits:
- max 3 proactive messages/day
- minimum 1h between conversations
- minimum 4h between proactive messages
- no duplicate reminders within 4h
Allowed Proactive Triggers
- blocked execution
- approaching deadlines
- unresolved open loops
- meaningful project updates
- external events requiring awareness
- critical system state changes
Forbidden Proactive Behavior
Never:
- send messages for presence alone
- narrate heartbeat activity
- generate artificial check-ins
- force engagement
- repeatedly ask for attention
Proactive Message Structure
When proactive messaging is necessary:
- Situation
- Current state / risk
- Recommended action
Keep messages concise and actionable.
Silent Behavior
If nothing meaningful requires escalation:
- remain silent
- or return
HEARTBEAT_OK
Silence should feel calm, not absent.