Skip to content

APA Tooling Audit — 2026-03-21

Auditor: Jules (COA) Scope: Full APA dev environment readiness for Phases 0–4 (Forge specs → Melody builds → Quinn validates → Jeff tests) Device context: Jeff's Garmin Fenix 8 + iPhone + iPad


✅ READY — Already Installed & Verified

Tool Version Notes
Homebrew 5.1.0 ✅ Package manager ready
Node.js v25.8.0 (current) + v22.22.1 LTS (fnm) ✅ LTS available for Prisma compat
npm 11.11.0
pnpm 10.32.1 ✅ Monorepo package manager
fnm 1.38.1 ✅ Node version manager (use instead of nvm)
Python 3.14.3 ✅ ML service ready
Git 2.50.1
GitHub CLI (gh) 2.78.0 ✅ Authed as Vivere-Vitalis-LLC
Xcode 26.0.1 ✅ Full install with CLI tools
iOS Simulators iOS 18.3 + 18.6 ✅ iPhone 16 Pro, iPad Pro, iPad Air, iPad mini
Docker 29.2.1 ✅ Running (needed for Supabase local)
Cursor Agent CLI Installed ✅ Melody's primary build tool

✅ INSTALLED DURING THIS AUDIT

Tool Version Purpose
Supabase CLI 2.75.0 Local PostgreSQL + Auth + Studio
Watchman 2026.03.16.00 React Native file watcher
Turborepo 2.8.20 Monorepo build orchestration
Vercel CLI 50.34.3 Web app deployment
EAS CLI 18.4.0 Expo Application Services (mobile builds)
Stripe CLI 1.38.1 Payment integration testing
CocoaPods 1.16.2 iOS native dependency manager
Node 22 LTS 22.22.1 (via fnm) Prisma-compatible Node version
FastAPI 0.135.1 (venv tested) Python ML service framework
uvicorn 0.42.0 (venv tested) ASGI server for ML service
scikit-learn 1.8.0 (venv tested) ML model training (Phase 3)
XGBoost 3.2.0 (venv tested) ML model training (Phase 3)

❌ MISSING — Requires Jeff's Action

1. Android Studio + Java JDK

What: Android development environment (for React Native Android builds) Why missing: No Android Studio installed, no Java runtime detected, ANDROID_HOME not set Impact: Cannot build/test Android version of APA mobile app Action needed: Jeff to install via brew install --cask android-studio (~2.5GB download) + JDK via brew install openjdk Urgency: Phase 1 (TestFlight iOS-only is fine initially; Android needed by Phase 4)

2. Apple Developer Program ($99/yr)

What: Required for TestFlight distribution, HealthKit entitlements, App Store Action needed: Jeff enrolls at developer.apple.com/programs/enroll/ Note: D-U-N-S number may take 2+ weeks if enrolling as organization Urgency: Phase 0 blocker — apply NOW

3. Google Play Console ($25 one-time)

What: Required for Android app distribution Action needed: Jeff registers at play.google.com/console Urgency: Phase 4 (not blocking until Android builds ship)

4. Garmin Connect Developer Program (FREE)

What: API access for Fenix 8 health data (HR, HRV, sleep, Body Battery, stress, running dynamics) Action needed: Jeff applies at developer.garmin.com/gc-developer-program Note: Approval takes 2-4 weeks. This is on the critical path for Phase 1. Urgency: Phase 0 blocker — apply NOW

5. GitHub Repo: vivere-vitalis/apa (private)

What: Production monorepo for APA codebase Action needed: Jeff confirms org name and repo creation (or Jules creates it) Urgency: Phase 0 — needed before scaffold

6. Domain Decision

What: ascentfitwell.com vs ascentperformanceanalytics.com Action needed: Jeff decides; Jules registers + configures Cloudflare DNS Urgency: Phase 0

7. Beat-to-Beat HRV License Decision

What: Garmin commercial license for beat-to-beat interval data Action needed: Jeff decides — try standard HRV first for GAP Score v0.1, or apply for license now? Urgency: Phase 1 (standard HRV available free; beat-to-beat costs TBD)

⚠️ NOTES & RECOMMENDATIONS

Node Version Strategy

  • Current system Node is v25.8.0 (bleeding edge). Prisma warns about compatibility.
  • Recommendation: Use fnm use 22 for APA development. Node 22 LTS is installed and ready.
  • Add .node-version file to APA repo root: 22

Python Environment Strategy

  • System Python is 3.14.3 (PEP 668 — won't allow global pip installs).
  • Recommendation: APA's services/ml/ should use a dedicated venv. All ML deps install cleanly in venv.
  • Poetry or pip + venv both work. Spec recommends pyenv but fnm-style approach with venv is cleaner.

Supabase Local Requires Docker

  • Docker is running ✅. supabase start will spin up local PostgreSQL + Auth + Studio.
  • First run will pull Docker images (~2GB).

CocoaPods UTF-8 Warning

  • CocoaPods threw a UTF-8 encoding warning. Add to ~/.zshrc:
    export LANG=en_US.UTF-8
    

Expo/EAS Authentication

  • EAS CLI installed but not yet logged in. Melody will need eas login during Phase 0 scaffold.

Summary Scorecard

Category Status
Core dev tools (Node, npm, pnpm, Git, Python) ✅ Ready
iOS development (Xcode, Simulators, CocoaPods) ✅ Ready
Android development (Android Studio, Java) ❌ Not installed
Database (Supabase CLI, Docker, PostgreSQL) ✅ Ready
Monorepo tooling (Turborepo, pnpm) ✅ Ready
Deployment (Vercel, EAS, Stripe) ✅ Ready
ML/AI service (FastAPI, scikit-learn, XGBoost) ✅ Ready (venv)
React Native (Watchman, Expo, EAS) ✅ Ready
Developer accounts (Apple, Google, Garmin) ❌ Requires Jeff
GitHub repo + domain ❌ Requires Jeff decision

Bottom line: ~80% of the local dev environment is ready to go. The blockers are all Jeff-action items (developer accounts, domain decision, Android Studio install). Once those are in, Forge can spec and Melody can build from Day 1 of Phase 0.