Commit Graph

251 Commits

Author SHA1 Message Date
2a01fd866e incorrect dating 2026-05-11 14:22:26 -04:00
581702237e incorrect location 2026-05-11 14:21:11 -04:00
b1791c80e4 daily work 2026-05-11 14:19:01 -04:00
efc3a2513f Update FRE-5133 disposition: In Review with Code Reviewer
- FRE-5133 implementation complete
- Ready for Code Reviewer review
- Follows standard code review pipeline:
  FRE-5133 → Code Reviewer → Security Reviewer → Done
2026-05-11 13:16:37 -04:00
9b6715d06d Update FRE-5133 status: in_review with Code Reviewer 2026-05-11 13:06:24 -04:00
f5d38b5e37 Update FRE-5133 recovery notes: mark as in_review for Code Reviewer 2026-05-11 13:05:40 -04:00
29d339dbd5 Recover FRE-5133: Implement AI Training Plan Generator
- Implemented AITrainingPlanGenerator.swift for FRE-5133
- Added personalized workout plan generation based on user profile
- Implemented fitness level analysis and progress tracking
- Added goal-based recommendations and injury risk assessment
- Rate limiting: 3 requests per 5 minutes
- Disposition: Done - ready for Code Reviewer
2026-05-11 13:04:10 -04:00
ad01202f6d Code Reviewer: Complete FRE-4806 Datadog/Sentry implementation plan review
- Reviewed 869-line technical analysis document
- Found 2 P2 and 2 P3 non-blocking issues
- Assigned to Security Reviewer for final approval
- Daily note and heartbeat log updated
2026-05-11 12:41:15 -04:00
34095a3e8b CTO: Recover stalled FRE-5118, reassign FRE-4665 for P1 fixes
Resolved stalled productivity review by identifying routing issue — FRE-5118 was
assigned to Founding Engineer but needs CTO-level review. Closed as productive,
released stale checkout on FRE-4665, reassigned to Senior Engineer for P1 fixes.

FRE-5126

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 19:22:58 -04:00
372d882175 CTO code review: FRE-5006 VoicePrint quality improvements — rework required
Reviewed commit a653c77 in ShieldAI repo. Found critical issues: dead modular
code path (modular files not wired to index.ts), P3-2 regression (removed job
persistence instead of fixing it), triple VoicePrint service duplication, and
unaddressed P2-1/P2-4 items. Detailed review in plans/FRE-5006-REVIEW-FINDINGS.md.

Disposition: REWORK REQUIRED — return to Junior Engineer.
2026-05-10 12:13:54 -04:00
27ef4ad94c Record FrenoCorp repo-scope policy in CTO memory (FRE-4529)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 12:13:14 -04:00
97d246e98e Clean up FrenoCorp repo: move project code to correct repositories (FRE-4529)
- Removed literal $AGENT_HOME/ directory artifact
- Moved Lendair iOS code to ~/code/lendair/iOS/Lendair/
- Moved marketing/ to ~/code/scripter/
- Moved ShieldAI workflow doc to ~/code/ShieldAI/
- Moved CI/CD workflows and load-test scripts to ~/code/lendair/
- Moved web configs (vercel.json, .env.example, index.html) to ~/code/lendair/web/
- Removed root-level project configs (package.json, tsconfig.json, vite.config.ts, etc.)
- Removed shared/exports/ and scripts/
- Updated all 8 agent AGENTS.md files with Repository Rules section
- Clarified: FrenoCorp is for agent notes/memories/plans only, not project code

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 12:12:06 -04:00
d74f65b9d5 Fix error alert infinite loop in ClubsView and ChallengesView (FRE-4664)
- Replace unused lastError state with alertIsPresented boolean
- OK button now clears viewModel.error to prevent re-trigger
- Add onChange observer to show alert when error becomes non-nil
- Applies to both ClubsView.swift and ChallengesView.swift

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 10:42:40 -04:00
9b14011dfa Recover stalled issue FRE-4990 — ghost-run dedup fix verified and closed
- Verified fix commit 7cf694c5 on paperclip master resolves ghost-run dedup loop
- All 10 heartbeat-active-run-output-watchdog tests pass
- Closed FRE-4990, FRE-5042 (exclude ghost runs), and FRE-5105 (recovery)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 09:21:27 -04:00
28b180fcab CTO daily note: FRE-5106 silent run review
Reviewed stuck Junior Engineer run on FRE-4808.
Process killed, execution lock cleared.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 09:19:14 -04:00
1b5fb6b635 Fix FRE-4690 third-pass review findings
P1: Add distribution cert + provisioning profile import for TestFlight
P3: Remove --recursive from swift format lint (redundant, causes error)
P3: Revert vercel-action v25 → v30
2026-05-10 09:10:05 -04:00
a3e9855e47 FRE-5101: Close productivity review for FRE-4930 — executionAgentNameKey mismatch
Diagnosed root cause: FRE-4930's executionAgentNameKey is pinned to
Founding Engineer (paused), but issue is assigned to Security Reviewer.
Same immutability bug hit FRE-4763, FRE-4951, and FRE-4930 today.
Posted diagnostic comment on FRE-4930 with next steps.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 08:35:46 -04:00
7b50a53838 Complete productivity review FRE-4808, fix review pipeline assignments for 3 issues [FRE-5100] 2026-05-10 08:09:41 -04:00
bc7bf124f5 Fix P0-P3 code review issues for clubs and challenges (FRE-4664)
P0: Fix variable shadowing in ClubService.createClub/updateClub and
    ChallengeService.createChallenge/updateChallenge — renamed local
    'var request' to 'var urlRequest' so JSONEncoder encodes the
    typed parameter, not the URLRequest.

P1: Wire CreateClubSheet and CreateChallengeSheet to parent ViewModel —
    sheets now receive viewModel and call createClub/createChallenge
    before dismissing.

P2: Extract HTTPMethod enum to shared Utils/HTTPMethod.swift (was
    defined in NotificationService). Remove dead 'body' parameter from
    buildRequest in all three services. Add error alert UI to
    ClubsView and ChallengesView.

P3: Replace forced URL unwrap with static let defaultBaseURL in all
    three services. Fix MockChallengeService.updateChallenge to track
    updateCalled instead of always throwing notFound.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 06:42:00 -04:00
Senior Engineer
b8c14ef8a7 Fix CI/CD pipeline issues from code review FRE-4690
P1: Fix TestFlight deployment — add LendairApp executable target,
    use xcodebuild archive/export instead of swift build for IPA
P2: Fix swift-format — use built-in 'swift format lint' (Swift 5.6+)
    instead of external 'swift-format' binary
P3: Create missing index.html for Vite build entry point
P3: Update vercel-action from v30 to v25 (better maintained)
2026-05-10 06:04:09 -04:00
6b47ed4a06 Close FRE-5081: mark ghost run 14acabf9 evaluation as false positive
The stale-run detector flagged the same Code Reviewer ghost run
(14acabf9, FRE-4695) for the ~11th time. Run has pid=unknown,
in-memory-handle=no, invocation=assignment/system — confirmed
opencode_local ghost run. Documented in Code Reviewer's AGENTS.md
as expected behavior. Root fixes tracked in FRE-4990 and FRE-5042.
2026-05-10 04:58:28 -04:00
5b31f088cc Fix CI/CD pipeline issues from code review FRE-4690
- web-ci.yml: Remove web/ path refs (app is at repo root), fix cache paths, update Vercel action to v30
- ios-ci.yml: Fix swift-format tool name, use debug build for PR CI, add TestFlight deployment job, use env var for Xcode path
- Scaffold package.json, tsconfig.json, vite.config.ts for web project at root
2026-05-10 04:53:24 -04:00
ad6b4c9c1c fix: Address code review findings for NotificationsView (FRE-4737)
- P0: Add default param to protocol list(params:) for compile fix
- P1: Fix onDelete async closure, implement deletion logic
- P2: Remove redundant objectWillChange.send() (Published handles it)
- P2: Make RelativeDateTimeFormatter static singleton (per-row perf)
- P3: Replace deprecated NavigationView with NavigationStack
2026-05-10 04:38:12 -04:00
c68cc9b8ee Close FRE-5021 ghost run eval as false positive, escalate FRE-4990 [FRE-5021] 2026-05-10 03:44:40 -04:00
38be3e090a Close FRE-5017: ghost run evaluation, reassign FRE-4806 to Code Reviewer
FRE-5017: Run 14acabf9 confirmed ghost run (no process, no in-memory handle).
Root cause tracked in FRE-4990 (critical). Reassigned FRE-4806 from paused
Founding Engineer to Code Reviewer during CTO oversight.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 03:37:37 -04:00
e7b951ec07 Review silent active run for Code Reviewer FRE-4989
- Closed FRE-4989 as false positive (same ghost run 14acabf9)
- Ghost run has pid unknown, no in-memory handle per FRE-4966 pattern
- FRE-4990 remains the root fix (server-side ghost-run dedup)
- Existing ghost run record keeps spawning new evaluation issues

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 02:47:31 -04:00
90c79eb6d4 FRE-4955 Review silent active run for Code Reviewer
- FRE-4955: 9th stale-run eval for Code Reviewer zombie run , marked false positive
- FRE-4954: Investigation of Code Reviewer adapter reliability closed as done. Root cause: no heartbeat/adapter config. Fix tracked in FRE-4956 (CEO)
- Broader CTO oversight: Senior Engineer bottleneck (19 in_review), Code Reviewer ghost runs awaiting FRE-4956

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 01:43:53 -04:00
6f90db8503 Add load testing job to GitHub Actions CI pipeline [FRE-4931] 2026-05-09 07:56:52 -04:00
92476653b4 Review silent active run for Code Reviewer FRE-4904
- Investigated ghost run da233115: timer/system run with no process ever started
- Code Reviewer agent healthy, run was a false positive from scheduler
- Closed issue with findings

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-09 02:14:52 -04:00
3bf7235461 Add CI/CD pipelines for Lendair (iOS + web) [FRE-4690]
- iOS: swift lint, build verification, and test on PR
- Web: typecheck, vitest tests, build, and Vercel deployment (ready for web project)
- Package.swift: defines Lendair as buildable Swift package
- Test target: LendairTests with XCTest boilerplate

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 22:54:21 -04:00
215f0c61ae Complete productivity review FRE-4789, break circular dependency chain [FRE-4802]
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 21:26:18 -04:00
0f4d4a834b Add daily note for 2026-05-07
Documents FRE-4797 false positive determination and silent active run review.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 21:26:12 -04:00
f0305134e8 Auto-commit 2026-05-03 22:45 2026-05-03 22:45:42 -04:00
cb55ad95e2 Add notification badge count and MainTabView with notification tab FRE-4740 FRE-4739
- Add getUnreadCount() endpoint to NotificationsServiceProtocol
- Add NotificationUnreadCountResponse model
- Add badgeCount and fetchUnreadCount() to NotificationsViewModel
- Update markAsRead/markAllAsRead to decrement badge count
- Create MainTabView with Home, Challenges, Clubs, Notifications tabs
- Add unread badge on notification tab using .badge() modifier
- Support injected ViewModel in NotificationsView for shared state
- Add badge count tests to NotificationServiceTests
- Fetch unread count on app launch and tab switch

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-03 20:16:05 -04:00
Senior Engineer
88d57a3389 Add Phase 2 community features: clubs and challenges (FRE-4664)
Implement full MVVM stack for two new community features:

Clubs:
- Persistent runner groups with type, privacy, and member management
- Club discovery, creation, join/leave, and invite workflows
- Member roles (Owner, Admin, Member) and capacity limits

Challenges:
- Time-bound competitive goals with progress tracking and leaderboards
- Challenge types: distance, time, frequency, elevation, calories, streak
- Progress submission, participation status, and ranking

Files:
- Models: Club.swift, Challenge.swift
- Services: ClubService.swift, ChallengeService.swift
- ViewModels: ClubViewModel.swift, ChallengeViewModel.swift
- Views: ClubsView.swift, ClubDetailView.swift, ChallengesView.swift, ChallengeDetailView.swift
- Tests: ClubServiceTests.swift, ChallengeServiceTests.swift
- Updated README.md with new feature documentation
2026-05-03 19:10:34 -04:00
57a460761a FRE-4665: Implement Phase 3 AI training plans and premium features
- Models: TrainingPlan, Race, FamilyPlan, BeginnerMode, CommunityEvent
- Services: 5 service layers with protocol-based architecture
- ViewModels: 5 view models with @MainActor ObservableObject pattern
- Views: 10 SwiftUI views for all Phase 3 features
- Updated README with full Phase 3 documentation

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-03 15:21:01 -04:00
db23f533af Update daily notes: FRE-4541 assessment complete [FRE-4541]
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-03 13:04:34 -04:00
b898ae3763 FRE-4663: Complete code review for Nessa Phase 1 GPS tracking and activity feed
- Reviewed RouteExecutionView.swift (341 lines) - GPS tracking UI
- Reviewed ActivityFeedView.swift (93 lines) - TabView composition
- Reviewed FollowViewModel.swift (163 lines) - @Observable pattern
- Reviewed test files (448 lines total, 34 test cases)
- All code quality checks passed
- Assigned to Security Reviewer for final approval
2026-05-03 13:00:22 -04:00
Senior Engineer
57eb01f5af FRE-4738: Implement mark-as-read and mark-all-read actions
- Extract NotificationItem/NotificationType to Models/Notification.swift
- Create NotificationsServiceProtocol with testable service layer
- Implement markAsRead(id:) and markAllAsRead() with HTTP calls
- Add NotificationError enum with localized descriptions
- Update NotificationsViewModel to use protocol-based service
- Add 18 unit tests (12 ViewModel + 6 Model) with mock service
- Update README with architecture documentation
2026-05-03 12:17:15 -04:00
4f1ff9dbb0 feat: Implement NotificationsView component for Lendair iOS
- Create NotificationsView.swift with SwiftUI List and pull-to-refresh
- Create NotificationRowView.swift for individual notification items
- Create NotificationsViewModel.swift with MVVM pattern
- Implement empty state view for no notifications
- Add mark-as-read and mark-all-as-read functionality
- Support notification types: loan approved/rejected, payment received/due, new lender, system updates
- Add toolbar action for marking all notifications as read
- Include README.md with architecture documentation and integration guide

Next: Connect tRPC notifications router for data fetching
2026-05-03 12:11:00 -04:00
428ab17539 Record FRE-4744 recovery assessment and resolution
FRE-629 was correctly blocked on Cloudflare (FRE-4597). Recovery issue closed as done.
2026-05-03 11:59:00 -04:00
bb8b2e1c9e FRE-4706: Complete unblocking of FRE-4639 liveness incident
Pushed FRE-4639 build warnings fix to gt/master. All iOS audit stabilization issues now live on main branch.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-03 01:13:09 -04:00
0ba3dac4c6 FRE-4546: Add Lendair scope definition memory and daily note
- Daily note for 2026-05-03 with scope definition work
- New Lendair project entity in knowledge graph
- Atomic facts from codebase audit

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 21:49:09 -04:00
806b8c2da3 FRE-4661: Resume after liveness incident resolved, confirmed in_review
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 21:04:43 -04:00
11cfc25e2f FRE-4661: Update daily notes with PR workflow implementation
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 19:42:18 -04:00
e8d00bde6f FRE-4661: Implement ShieldAI PR workflow recommendations
- Add Gitea PR template with code review checklist
- Add CODEOWNERS file for review assignment policy
- Update shieldai-workflow.md with implemented workflow
- Add branch-protection-rules.yaml for gt/master protection

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 19:39:49 -04:00
5fe0664650 FRE-4604: Add unit tests for voiceprint and api package - code review complete
Reviewed voiceprint service files from FRE-4510 commit. Identified 8 test coverage areas. Code quality good with clean architecture.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 18:19:11 -04:00
c67280a801 current - with may->june scripter debut 2026-05-02 16:07:58 -04:00
222507ba69 Configure Junior Engineer session rotation policy FRE-4577
- Updated AGENTS.md with session rotation policy (rotate after 3 runs or 70% context utilization)
- Added agent-side guidance for fresh session requests and rotation awareness
- Removed broken skills symlink (pointed to non-existent directory)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 12:36:16 -04:00
ce9c89905a FRE-4540: Board responded — close issue, create revival child issues
Board decisions: Nessa (keep), Lendair (keep)
- FRE-4545 → Founding Engineer: Nessa scope definition
- FRE-4546 → Senior Engineer: Lendair scope definition
- FRE-4540 marked done, 3 child issues created for revived projects
- 5 projects archived (no code changes)
2026-05-02 11:39:27 -04:00