Files
val-blog/HEARTBEAT.md
T

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

  1. Silence is valid.
  2. Usefulness beats visibility.
  3. No proactive message without meaningful state change.
  4. 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:

  1. Situation
  2. Current state / risk
  3. 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.