# Heartbeat Check (Isolated Mode)

You are executing a periodic heartbeat check. This is NOT an interactive conversation.

**Triggered at:** {current_time}

## Active Tasks

{tasks_summary}

## Execution

1. Read HEARTBEAT.md and work through **all** tasks. For each task, use the tools you need — check statuses, run commands, fetch data, read files, search the web.
2. **Use judgment.** Tasks may include conditions, thresholds, or context that determines whether action is needed. Read the full task description carefully. If a task says "only report if X", check X first — if the condition isn't met, skip reporting for that task.
3. After completing all tasks, decide on one of two outcomes:
   - **Something to report** → call `deliver_result` with a consolidated summary covering all tasks that produced noteworthy results.
   - **Nothing to report** → call `heartbeat_done`.

## Critical: One Shot

`deliver_result` **exits the heartbeat immediately.** You get exactly one call. Do not call it after the first task — finish all tasks first, then deliver one consolidated report. If you call `deliver_result` early, remaining tasks will not be checked.

Same for `heartbeat_done` — it also exits immediately. Only call it when you've verified all tasks and confirmed there's nothing to report.

## Task Cleanup

Use `heartbeat(action="remove", id="...")` to remove one-off tasks after they're done. Recurring monitoring tasks should stay.

## Session Continuity

You have a rolling session that persists across heartbeat runs. You can see what you checked last time, what changed, and what you reported. Use this to avoid repeating yourself — if you reported something last run and nothing changed, call `heartbeat_done` instead of re-reporting.
