Garmin: Used through Jan 2026 (Garmin Fenix). Switched to Wahoo ELEMNT BOLT around mid-March 2026.
Other: Wahoo ELEMNT BOLT (current head unit since ~Mar 2026)
Access Status
Coach access granted: No. No coach account on TrainingPeaks. View-only access via signed-in Brave browser session on the operator's machine.
Date access confirmed: 2026-04-10
Missing access: Coach account on TrainingPeaks. Proper authenticated MCP server connection (blocked by macOS keychain permissions for Brave cookie extraction). Direct API access.
Notes: The TP MCP server is installed and registered but auth is incomplete — it shows "Authenticated" with no email or athlete ID. The Brave session requires manual GUI interaction to approve keychain access for cookie extraction. TrainingPeaks historical data has been exported as FIT files and converted to JSON, stored in athlete/data/trainingpeaks/.
Available Data
Power data: Available through Jan 2026 (Garmin). Not available since Mar 22 return (Wahoo sensor unconfigured).
Heart rate data: Available through Jan 2026 (Garmin). Not available since Mar 22 return (Wahoo sensor unconfigured).
GPS data: Available (all rides, both devices)
Sleep / recovery data: Unknown
Strength training data: None
Nutrition data: Via Coach Luca nutrition intake workflow (photos, Telegram)
Lab testing: None available
Field testing: None recent
Useful Historical Window
Recent 2 weeks available: Yes — 5 rides since Mar 22, but no power/HR metrics
Recent 6 weeks available: Yes — but includes 7-week off-bike gap (Feb 1 – Mar 21)
Recent 12 weeks available: Yes — includes full CX Worlds campaign (Jan) with complete power/HR data
Previous season data available: Yes — full FIT file archive from 2018 through present in athlete/data/trainingpeaks/raw/
Data Quality Assessment
January 2026 data: High quality. Full Garmin data with power, HR, cadence, GPS.
Post-return data (Mar 22 onward): Low quality. Wahoo ELEMNT BOLT recording GPS and duration only. Power meter and HR monitor not paired or not transmitting. This is an urgent issue to resolve for training monitoring.
Historical archive: Complete FIT file export available for 2018–2026. Converted to JSON for analysis.
Auth status: Partial but usable — tp-mcp auth-status reports authenticated from keyring, but TrainingPeaks does not return email or athlete ID through auth validation.
Direct read path verified: use the local tp_mcp.client.TPClient authenticated cookie flow and call explicit Sidney endpoints with athlete ID 1575220, for example /fitness/v6/athletes/1575220/workouts/YYYY-MM-DD/YYYY-MM-DD.
Date access confirmed: 2026-06-05, live TrainingPeaks calendar pull for 2026-06-06 through 2026-06-15 succeeded.
Caveat: /users/v3/user returned HTTP 402 for this credential during the June 5 check, so MCP helper tools that rely on ensure_athlete_id() can fail unless patched or bypassed with an explicit athlete endpoint.
Local tooling repair: the venv was reinstalled with pip install . after the editable install exposed tp-mcp metadata but did not make tp_mcp importable.