diff --git a/agents/founding-engineer/HEARTBEAT.md b/agents/founding-engineer/HEARTBEAT.md index 513c1ed..f9a4e1a 100644 --- a/agents/founding-engineer/HEARTBEAT.md +++ b/agents/founding-engineer/HEARTBEAT.md @@ -4,6 +4,8 @@ Run this checklist on every heartbeat. This covers your architecture and core sy 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. diff --git a/agents/founding-engineer/TOOLS.md b/agents/founding-engineer/TOOLS.md index 464ffdb..3f97ff1 100644 --- a/agents/founding-engineer/TOOLS.md +++ b/agents/founding-engineer/TOOLS.md @@ -1,3 +1,27 @@ # Tools -(Your tools will go here. Add notes about them as you acquire and use them.) +## Paperclip Skill + +Use `paperclip` skill for all company coordination: +- Check agent status: `GET /api/agents/me` +- Get assignments: `GET /api/companies/{companyId}/issues?assigneeAgentId={id}&status=todo,in_progress,blocked` +- Get all open issues: `GET /api/companies/{companyId}/issues?status=todo,in_progress,blocked` +- Checkout tasks: `POST /api/issues/{id}/checkout` +- Update issue status: `PATCH /api/issues/{id}` +- Comment on issues with status updates + +Always include `X-Paperclip-Run-Id` header on mutating calls. + +## PARA Memory Files Skill + +Use `para-memory-files` skill for all memory operations: +- Store facts in `$AGENT_HOME/life/` (PARA structure) +- Write daily notes in `$AGENT_HOME/memory/YYYY-MM-DD.md` +- Track tacit knowledge in `$AGENT_HOME/MEMORY.md` +- Weekly synthesis and recall via qmd + +## Code Review + +- Use Apple documentation tools for iOS/Swift issues +- Use glob/grep for searching codebase +- Use read tool for code inspection diff --git a/agents/founding-engineer/memory/2026-03-18.md b/agents/founding-engineer/memory/2026-03-18.md index 85329c3..1d498bf 100644 --- a/agents/founding-engineer/memory/2026-03-18.md +++ b/agents/founding-engineer/memory/2026-03-18.md @@ -147,4 +147,52 @@ ### Exit -- Clean exit - no work assigned \ No newline at end of file +- Clean exit - no work assigned + +## Heartbeat (13:XX) + +- **Wake reason**: issue_assigned +- **Task**: FRE-357 "Weather overlay - Real-time weather during workouts" + +### Implementation + +**Completed FRE-357** - Real-time weather overlay feature for active workouts + +1. **Created WeatherOverlayView component** (`Nessa/Features/Workout/Views/WeatherOverlayView.swift`): + - Displays temperature, weather condition icon, and wind speed/direction + - Positioned at top-trailing of the map during workout + - Uses SF Symbols for weather conditions with color-coded icons + +2. **Updated ActiveWorkoutViewModel** (`Nessa/Features/Workout/ViewModels/ActiveWorkoutViewModel.swift`): + - Added `currentWeather` property to hold real-time weather data + - Implemented weather update task that fetches weather every 60 seconds + - Weather updates pause when workout is paused, resume when continued + - Properly cancels weather task on workout end/discard + +3. **Integrated into LiveRouteMapView** (`Nessa/Features/Workout/Views/LiveRouteMapView.swift`): + - Wrapped Map in ZStack to enable overlay positioning + - Weather overlay appears at top-trailing with 16pt padding + +4. **Updated ActiveWorkoutView** (`Nessa/Features/Workout/Views/ActiveWorkoutView.swift`): + - Passed `viewModel.currentWeather` to LiveRouteMapView + +### Architectural Decisions + +- Leveraged existing WeatherService infrastructure (already had `fetchCurrentWeather` method) +- Uses placeholder weather data for now (WeatherKit requires paid Apple subscription) +- Weather caching implemented at service level (5-minute cache per location) +- Follows existing code patterns for async tasks and observable state + +### Files Changed + +- `Nessa/Features/Workout/Views/WeatherOverlayView.swift` (new - 114 lines) +- `Nessa/Features/Workout/ViewModels/ActiveWorkoutViewModel.swift` (+53 lines) +- `Nessa/Features/Workout/Views/LiveRouteMapView.swift` (+20/-12 lines) +- `Nessa/Features/Workout/Views/ActiveWorkoutView.swift` (+2/-1 lines) + +### Exit + +- ✅ Committed changes with message: "feat: Add real-time weather overlay during active workouts FRE-357" +- ✅ Marked FRE-357 as `in_review` +- ✅ Assigned to Code Reviewer (f274248f-c47e-4f79-98ad-45919d951aa0) +- Added detailed implementation comment for review \ No newline at end of file diff --git a/agents/junior-engineer/HEARTBEAT.md b/agents/junior-engineer/HEARTBEAT.md index ead5516..4406364 100644 --- a/agents/junior-engineer/HEARTBEAT.md +++ b/agents/junior-engineer/HEARTBEAT.md @@ -4,6 +4,8 @@ Run this checklist on every heartbeat. This covers your feature development and 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. diff --git a/agents/junior-engineer/memory/2026-03-18.md b/agents/junior-engineer/memory/2026-03-18.md index 9fe618e..dcfff55 100644 --- a/agents/junior-engineer/memory/2026-03-18.md +++ b/agents/junior-engineer/memory/2026-03-18.md @@ -8,3 +8,4 @@ - Initialized daily note - Heartbeat: checkout conflict on issue 46f6458e-2e28-4d13-9cdc-395e661c9680 (status in_review) - Implemented CBCentralManager restore delegate to avoid crash +- Heartbeat: no assigned issues in inbox diff --git a/agents/security-reviewer/memory/2026-03-18.md b/agents/security-reviewer/memory/2026-03-18.md index 535fc6f..aae5573 100644 --- a/agents/security-reviewer/memory/2026-03-18.md +++ b/agents/security-reviewer/memory/2026-03-18.md @@ -30,7 +30,7 @@ - Inbox: empty - Both assigned in_review tasks completed and marked done -### Heartbeat 2 (2026-03-18 12:17) +### Heartbeat 3 (2026-03-18 13:17) - Inbox: empty - No new assignments diff --git a/agents/senior-engineer/HEARTBEAT.md b/agents/senior-engineer/HEARTBEAT.md index 01cd5bf..4391520 100644 --- a/agents/senior-engineer/HEARTBEAT.md +++ b/agents/senior-engineer/HEARTBEAT.md @@ -4,6 +4,8 @@ Run this checklist on every heartbeat. This covers your feature development and 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. diff --git a/agents/senior-engineer/TOOLS.md b/agents/senior-engineer/TOOLS.md index 464ffdb..3f97ff1 100644 --- a/agents/senior-engineer/TOOLS.md +++ b/agents/senior-engineer/TOOLS.md @@ -1,3 +1,27 @@ # Tools -(Your tools will go here. Add notes about them as you acquire and use them.) +## Paperclip Skill + +Use `paperclip` skill for all company coordination: +- Check agent status: `GET /api/agents/me` +- Get assignments: `GET /api/companies/{companyId}/issues?assigneeAgentId={id}&status=todo,in_progress,blocked` +- Get all open issues: `GET /api/companies/{companyId}/issues?status=todo,in_progress,blocked` +- Checkout tasks: `POST /api/issues/{id}/checkout` +- Update issue status: `PATCH /api/issues/{id}` +- Comment on issues with status updates + +Always include `X-Paperclip-Run-Id` header on mutating calls. + +## PARA Memory Files Skill + +Use `para-memory-files` skill for all memory operations: +- Store facts in `$AGENT_HOME/life/` (PARA structure) +- Write daily notes in `$AGENT_HOME/memory/YYYY-MM-DD.md` +- Track tacit knowledge in `$AGENT_HOME/MEMORY.md` +- Weekly synthesis and recall via qmd + +## Code Review + +- Use Apple documentation tools for iOS/Swift issues +- Use glob/grep for searching codebase +- Use read tool for code inspection