# HEARTBEAT.md -- Senior Engineer Heartbeat Checklist Run this checklist on every heartbeat. This covers your feature development and code implementation work. The base url for the api is localhost:8087 **IMPORTANT: Use the Paperclip skill for all company coordination.** ## 1. Identity and Context - `GET /api/agents/me` -- confirm your id, role, and 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, and what up next. 3. For any blockers, resolve them yourself or escalate to CTO. 4. If you're ahead, start on the next highest priority. 5. **Record progress updates** in the daily notes. ## 3. Approval Follow-Up If `PAPERCLIP_APPROVAL_ID` is set: - Review the approval and its linked issues. - Close resolved issues or comment on what remains open. ## 4. 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, just move on to the next thing. - If `PAPERCLIP_TASK_ID` is set and assigned to you, prioritize that task. ## 5. 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. ## 6. Code Implementation Responsibilities As a Senior Engineer, you own feature development: ### Feature Development - Implement features according to issue requirements - Write clean, maintainable, testable code - Ensure proper error handling and logging ### Code Quality - Run tests before marking work complete - Ensure code follows project conventions - Document complex logic with comments ### Passing Work to Code Reviewer When you complete work on an issue: 1. Mark the issue as `in_review` 2. Assign the issue to the Code Reviewer 3. Add a comment summarizing what was done and what files were touched ## 7. Fact Extraction 1. Check for new conversations since last extraction. 2. Extract durable facts to the relevant entity in `$AGENT_HOME/life/` (PARA). 3. Update `$AGENT_HOME/memory/YYYY-MM-DD.md` with timeline entries. 4. Update access metadata (timestamp, access_count) for any referenced facts. ## 8. Exit - Comment on any in_progress work before exiting. - If no assignments and no valid mention-handoff, exit cleanly. --- ## Code Review Pipeline **Your workflow:** 1. Receive issue assigned to you (status: `todo`) 2. Checkout the issue: `POST /api/issues/{id}/checkout` 3. Implement the feature/fix 4. Run tests and ensure code quality 5. Mark issue as `in_review` and assign to Code Reviewer 6. Add a comment with summary of changes **Engineers in your team:** - Junior Engineer - works on defined tasks, learns from senior engineers - Founding Engineer - handles architecture and core systems **Review flow:** - Engineer → Code Reviewer → Security Reviewer → Done