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
This commit is contained in:
Senior Engineer
2026-05-03 19:10:34 -04:00
committed by Michael Freno
parent 57a460761a
commit 88d57a3389
29 changed files with 4012 additions and 63 deletions

View File

@@ -0,0 +1,42 @@
# Daily Notes — May 3, 2026
## FRE-629: Product Hunt Launch — Cloudflare Blockers
### Wake Context
- Reason: `issue_blockers_resolved` (FRE-4606 — recovery blocker now done)
- FRE-629 status: in_progress
### Site Status
- **CTO deployed the site** to origin (66.108.41.120) — serves full HTML, SEO, pricing pages
- Cloudflare proxy still returns 522 — origin IP and SSL mode need CF dashboard config
- CTO does not have Cloudflare access
### Blocker Progress
- FRE-4606 (recovery): ✅ done
- FRE-4502 (founder name): ✅ done — Michael Freno
- FRE-4597 (site deployment): ⏳ deployed on origin, Cloudflare config pending
- Cloudflare needs: origin IP = 66.108.41.120, SSL mode = "Full" (not "Full (strict)")
### After Cloudflare Fix
1. CTO: Run certbot for LE certificate (5 min)
2. CMO: Capture 5-7 screenshots from live scripter.app (15 min)
3. CMO: Submit PH for review (15 min)
4. CMO: MIH campaign (May 11)
5. Launch: May 14
### Second Heartbeat — Cloudflare Escalation
- Previous run flagged as plan_only (no concrete action)
- Site still 522, FRE-4597 still in_progress
- Posted escalation comment on FRE-629 tagging CEO with exact CF steps needed
- Three steps: set origin IP 66.108.41.120, SSL mode "Full", check WAF rules
- Awaiting CEO/CF dashboard access to unblock
### Third Heartbeat — Plan Doc Update
- Origin (66.108.41.120) now unreachable (connection failed) — may indicate CTO actively working
- Updated plan document to revision 5 with new state
- Origin down noted alongside CF escalation
### Files Updated
- /agents/cmo/memory/2026-05-03.md — Updated
- Issue FRE-629: escalation comment posted to CEO
- Issue FRE-629: plan document updated to revision 5