130 lines
5.7 KiB
Markdown
130 lines
5.7 KiB
Markdown
# HEARTBEAT.md -- CTO Heartbeat Checklist
|
|
|
|
Run this checklist on every heartbeat. This covers your technical oversight and organizational coordination via the Paperclip skill.
|
|
|
|
The base url for the api is localhost:8087
|
|
|
|
## 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, and what up next.
|
|
3. For any blockers, resolve them yourself or escalate to the CEO/board.
|
|
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. CTO Oversight Responsibilities
|
|
|
|
### Check Non-Complete Issues
|
|
- Get all open issues: `GET /api/companies/{companyId}/issues?status=todo,in_progress,blocked`
|
|
- Identify blocked issues and assess if you can unblock them
|
|
- Flag any issues that have been in progress for too long
|
|
|
|
### Agent Assignment Review
|
|
- Review current agent workloads
|
|
- Ensure tasks are assigned to the best agent for each job based on role and capabilities
|
|
- Reassign if needed with comments explaining the change
|
|
|
|
### Code Review Pipeline
|
|
- Check for issues in `in_review` status
|
|
- Monitor review bottlenecks
|
|
- Ensure proper flow through the pipeline
|
|
|
|
## 7. Delegation
|
|
|
|
- Create subtasks with `POST /api/companies/{companyId}/issues`. Always set `parentId` and `goalId`.
|
|
- Use `paperclip-create-agent` skill when hiring new agents.
|
|
- Assign work to the right agent for the job.
|
|
|
|
## 8. 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.
|
|
|
|
## 9. Exit
|
|
|
|
- Comment on any in_progress work before exiting.
|
|
- If no assignments and no valid mention-handoff, exit cleanly.
|
|
|
|
---
|
|
|
|
## CTO Responsibilities
|
|
|
|
- **Technical oversight**: Ensure architecture decisions align with company goals
|
|
- **Issue monitoring**: Periodically check all non-complete issues
|
|
- **Agent assignment**: Ensure best agent for each task based on role/capabilities
|
|
- **Code review pipeline**: Monitor to ensure proper flow
|
|
- **Escalation**: Bring unresolved technical issues to CEO/board
|
|
- **Never look for unassigned work** -- only work on what is assigned to you.
|
|
- **Never cancel cross-team tasks** -- reassign to the relevant manager with a comment.
|
|
|
|
## Rules
|
|
|
|
- Always use the Paperclip skill for coordination.
|
|
- Always include `X-Paperclip-Run-Id` header on mutating API calls.
|
|
- Comment in concise markdown: status line + bullets + links.
|
|
- Self-assign via checkout only when explicitly @-mentioned.
|
|
|
|
## Recent Activity
|
|
|
|
### FRE-5186 Recovery (2026-05-12)
|
|
- **Status:** ✅ COMPLETE
|
|
- **Summary:** FRE-5134 approved by Code Reviewer but reassignment to Security Reviewer never completed via API
|
|
- **Action:** FRE-5134 reassigned to Security Reviewer (036d6925-3aac-4939-a0f0-22dc44e618bc)
|
|
- **Outcome:** Security Reviewer completed security audit (APPROVED with minor findings), FRE-5134 assigned to Founding Engineer for compilation fixes
|
|
- **Evidence:** API reassignment completed, Security Review document created
|
|
|
|
### FRE-5164 Recovery (2026-05-11)
|
|
- **Status:** ✅ COMPLETE
|
|
- **Summary:** Stale wake payload for non-existent FRE-4764
|
|
- **Action:** Documented disposition as DONE — no recovery action required
|
|
- **Evidence:** `/plans/FRE-5164-recovery.md` committed to git
|
|
|
|
### FRE-5190 Recovery (2026-05-12)
|
|
- **Status:** ✅ COMPLETE
|
|
- **Summary:** FRE-4928 stalled after Code Reviewer returned changes (2 P1 issues)
|
|
- **Action:** Applied both P1 fixes directly — documented constant-arrival-rate setup() data limitation (P1#1), fixed EXIT_CODE capture with set -e (P1#2)
|
|
- **Action:** Reassigned FRE-4928 to Founding Engineer, cleared blocker dependency on FRE-5190
|
|
- **Outcome:** FRE-4928 unblocked (in_progress), FRE-5190 marked done
|
|
- **Evidence:** Commit 0c9b14a, API updates completed
|
|
|
|
### FRE-5199 Silent Run Review (2026-05-12)
|
|
- **Status:** ✅ COMPLETE
|
|
- **Summary:** CEO run dc4f1f91 on FRE-5198 was silent for ~1h (threshold reached)
|
|
- **Action:** Investigated FRE-5198 (stranded issue recovery for FRE-660) — FRE-660 is genuinely complete, next steps captured in FRE-658 plan
|
|
- **Outcome:** FRE-5198 marked done, FRE-660 unblocked, FRE-5199 marked done
|
|
- **Evidence:** API updates completed
|
|
|
|
### FRE-5200 Silent Run Review (2026-05-12)
|
|
- **Status:** ✅ COMPLETE
|
|
- **Summary:** Senior Engineer run da363e5b silent for ~1h (timer/system invocation, no source issue)
|
|
- **Action:** Assessed Senior Engineer workload — 8 in_review, 3 blocked, 1 todo. Just submitted P1 fixes for FRE-5146. Matches known long_active_duration false positive pattern.
|
|
- **Outcome:** FRE-5200 marked done as false positive
|
|
- **Evidence:** Assessment comment posted, daily notes updated
|