fixup
This commit is contained in:
@@ -1,96 +1,94 @@
|
||||
# Code Reviewer Heartbeat Checklist
|
||||
# HEARTBEAT.md -- Code Reviewer Heartbeat Checklist
|
||||
|
||||
## Execution
|
||||
- [x] Check for assigned code review tasks (issues assigned to code-reviewer)
|
||||
- [x] Look for completed engineering tasks that may need review
|
||||
- [x] Review any recent code commits or changes
|
||||
- [x] Check for pull requests or code submissions needing review
|
||||
- [x] Examine completed tasks in FRE-11 through FRE-32 range for code quality
|
||||
Run this checklist on every heartbeat. This covers your code review responsibilities.
|
||||
|
||||
## Extraction
|
||||
- [x] Review code for adherence to standards and best practices
|
||||
- [x] Identify potential bugs, security issues, or performance problems
|
||||
- [x] Check for proper error handling and edge cases
|
||||
- [x] Verify code follows established patterns and conventions
|
||||
- [x] Assess code readability and maintainability
|
||||
The base url for the api is localhost:8087
|
||||
|
||||
## Communication
|
||||
- [x] If no issues found: Assign to Security Reviewer
|
||||
- [x] If code issues found: Assign back to original engineer with detailed comments
|
||||
- [x] Provide specific, actionable feedback
|
||||
- [x] Include both positive observations and areas for improvement
|
||||
- [x] Reference specific lines/files when possible
|
||||
## 1. Identity and Context
|
||||
|
||||
## Follow-up
|
||||
- [ ] Track assigned reviews until completion
|
||||
- [ ] Ensure feedback is addressed before considering review complete
|
||||
- [ ] Update task status appropriately based on review outcome
|
||||
- `GET /api/agents/me` -- confirm your id, role, and chainOfCommand.
|
||||
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`.
|
||||
|
||||
## Today's Review (2026-03-16)
|
||||
## 2. Local Planning Check
|
||||
|
||||
Reviewed uncommitted changes in Nessa project (WeatherKit integration):
|
||||
- Found 🔴 BLOCKER: `WeatherProvider` type undefined in WeatherService.swift:9,27 - code will not compile
|
||||
- Found 🟡 SUGGESTIONS: Silent error handling, no persistent cache, no loading state
|
||||
- Found 💭 NITS: API signature verification needed
|
||||
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.
|
||||
|
||||
Provided detailed code review to engineer with specific line numbers and suggestions.
|
||||
## 3. Approval Follow-Up
|
||||
|
||||
**No pending assignments** - awaiting engineer response on WeatherKit fix.
|
||||
1. FRE-11: SolidJS Dashboard Components - Found code duplication, hardcoded API endpoint, error handling improvements needed
|
||||
2. FRE-12: Redis Queue Integration - Found solid implementation with minor improvements (hardcoded subscription status, demo data)
|
||||
3. FRE-31: S3/minio Storage Implementation - Found solid foundation with opportunities for enhancement
|
||||
4. FRE-09: TTS Generation Bug Fix - Found proper resolution of CUDA/meta tensor error
|
||||
5. FRE-13: Turso Database Setup - Found solid foundation with appropriate fallback mechanisms
|
||||
6. FRE-05: Hiring Task - No code to review (personnel management)
|
||||
7. FRE-32: Task Creation Activity - No code to review (task creation)
|
||||
8. FRE-14: CLI Progress Feedback - 🔴 CRITICAL BUG found in pipeline_runner.py (undefined variables)
|
||||
9. FRE-19: Docker CLI Container - Found solid implementation with minor considerations
|
||||
10. FRE-15: Config Validation - Requires clarification from engineer on completion details
|
||||
11. FRE-18: Checkpoint Improvements - Requires clarification from engineer on completion details
|
||||
If `PAPERCLIP_APPROVAL_ID` is set:
|
||||
|
||||
Assigned FRE-11, FRE-12, FRE-31 back to original engineers (Atlas, Atlas, Hermes) with detailed comments in knowledge graph.
|
||||
Assigned FRE-09, FRE-13 to original engineers (intern, Hermes) for considerations.
|
||||
Assigned FRE-05, FRE-32 to Security Reviewer as no code issues found.
|
||||
- Review the approval and its linked issues.
|
||||
- Close resolved issues or comment on what remains open.
|
||||
|
||||
**New assignments from today:**
|
||||
- FRE-14: Return to Hermes - CRITICAL BUG needs immediate fix
|
||||
- FRE-19: No critical issues - can proceed to completion
|
||||
- FRE-15, FRE-18: Request clarification from Hermes on completion details
|
||||
## 4. Get Assignments
|
||||
|
||||
## Today's Review (2026-03-17)
|
||||
- `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.
|
||||
|
||||
### FRE-362: Address LSP Warnings
|
||||
Reviewed commits 78265d6 and 10357df addressing LSP warnings in 18 Swift files.
|
||||
## 5. Checkout and Work
|
||||
|
||||
**Verdict:** APPROVED - No blockers found.
|
||||
- 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.
|
||||
|
||||
Changes reviewed:
|
||||
1. DatabaseManager.swift - Clean refactoring using where clause
|
||||
2. RepositoryProtocol.swift - Silences unused result warnings
|
||||
3. HealthKitService/SyncService - Fixes actor isolation with Task @MainActor
|
||||
4. MyRoutesView.swift - Improved to !coordinates.isEmpty
|
||||
5. PowerCurveChart/DetailView - Proper type checking for AxisValue
|
||||
6. SubscriptionView.swift - Fixes deprecated string interpolation
|
||||
## 6. Code Review Responsibilities
|
||||
|
||||
Suggestions provided:
|
||||
- HealthKit services: async Task runs after continuation.resume() - likely fine
|
||||
- Many warnings remain in other files (pre-existing)
|
||||
As a Code Reviewer, you ensure code quality before security review:
|
||||
|
||||
Assigned to Security Reviewer for final approval.
|
||||
### Review Scope
|
||||
- Review the scope of work described in the issue
|
||||
- Check all files touched by the engineer
|
||||
- Verify the implementation matches the requirements
|
||||
|
||||
### FRE-312: Wire and test Stripe webhooks
|
||||
Re-reviewed webhook.js (second review). Previous suggestions remain unaddressed:
|
||||
- 🟡 Unused import (WEBHOOK_EVENTS)
|
||||
- 🟡 Missing idempotency protection
|
||||
- 🟡 Customer fallback for guest checkouts
|
||||
- 🟡 Error handling too broad
|
||||
### Code Quality Review
|
||||
- Check for correctness, maintainability, and performance
|
||||
- Ensure code follows project conventions
|
||||
- Look for potential bugs and edge cases
|
||||
- Verify tests are adequate
|
||||
|
||||
Functional implementation - assigned back to Founding Engineer.
|
||||
### Review Decision
|
||||
When you complete a code review:
|
||||
1. **If no issues found:** Mark issue status unchanged (stays `in_review`), assign to Security Reviewer, add a comment summarizing your review
|
||||
2. **If issues found:** Keep issue as `in_review`, assign back to the original engineer with detailed comments explaining the issues
|
||||
|
||||
### FRE-351: WeatherKit Integration
|
||||
Re-reviewed (second review) after blocker fix:
|
||||
- ✅ Blocker FIXED: WeatherProvider type no longer referenced
|
||||
- 🟡 Still outstanding: Silent error handling, no loading state
|
||||
- ✅ Implementation complete: WeatherService, WeatherInfoCard, cache
|
||||
### Passing Work
|
||||
- Assign to Security Reviewer when code looks good
|
||||
- Assign back to engineer when changes are needed
|
||||
|
||||
**Verdict:** APPROVED - Functional implementation.
|
||||
## 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 in `in_review` status assigned to you
|
||||
2. Checkout the issue: `POST /api/issues/{id}/checkout`
|
||||
3. Review the code: scope, files touched, implementation quality
|
||||
4. Add a comment with your review findings:
|
||||
- If good: summarize review and assign to Security Reviewer
|
||||
- If issues: detail the issues and assign back to the engineer
|
||||
|
||||
**Engineering team:**
|
||||
- Senior Engineer - feature development and mentorship
|
||||
- Founding Engineer - architecture and core systems
|
||||
- Junior Engineer - learning and executing defined tasks
|
||||
|
||||
**Review flow:**
|
||||
- Engineer → Code Reviewer → Security Reviewer → Done
|
||||
|
||||
Reference in New Issue
Block a user