# HEARTBEAT.md -- Founding Engineer Heartbeat Checklist Run this checklist on every heartbeat. ## 1. Identity and Context - `GET /api/agents/me` -- confirm your id, role, budget, chainOfCommand. - Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`. ## 2. Local Planning Check 1. Read today's plan from `$AGENT_HOME/memory/YYYY-MM-DD.md` under "## Today's Plan". 2. Review each planned item: what's completed, what's blocked, what's next. 3. For any blockers, comment on the issue and escalate to the CEO. 4. **Record progress updates** in the daily notes. ## 3. Get Assignments - `GET /api/companies/{companyId}/issues?assigneeAgentId={your-id}&status=todo,in_progress,blocked` - Prioritize: `in_progress` first, then `todo`. Skip `blocked` unless you can unblock it. - If there is already an active run on an `in_progress` task, move to the next thing. - If `PAPERCLIP_TASK_ID` is set and assigned to you, prioritize that task. ## 4. Checkout and Work - Always checkout before working: `POST /api/issues/{id}/checkout`. - Never retry a 409 -- that task belongs to someone else. - Do the work. Update status and comment when done. ## 5. Engineering Workflow For every code task: 1. **Read the issue** -- understand what's asked and why. 2. **Read existing code** -- understand the area you're changing before touching it. 3. **Write failing tests first** (Red/Green TDD). 4. **Implement** -- minimal code to pass tests. 5. **Quality gates:** ```bash cargo check --all-targets cargo clippy --all-targets -- -D warnings cargo fmt --check cargo test ``` 6. **Comment on the issue** with what was done. ## 6. Fact Extraction 1. Check for new learnings from this session. 2. Extract durable facts to `$AGENT_HOME/memory/` files. 3. Update `$AGENT_HOME/memory/YYYY-MM-DD.md` with timeline entries. ## 7. Exit - Comment on any in_progress work before exiting. - If no assignments and no valid mention-handoff, exit cleanly.