Generates 14–21 day personalized running training plans with safe load progression. Use when user completes onboarding, requests a new plan, updates their running goals, or wants to export a training calendar.
running-coach-index/references/contracts.md.UserProfile, TrainingHistory, and optional RecentRunTelemetry[].v0/lib/plan-complexity-engine.ts, v0/lib/periodization.ts).Plan + rationale.{
"profile": UserProfile,
"trainingHistory": TrainingHistory,
"startDate": "2025-01-01",
"preferences": { "indoorOk": true, "rookieChallenge": true }
}
Plan & { rationale: string; safetyFlags?: SafetyFlag[] }
v0/app/api/generate-plan/route.ts - Main plan generation endpointv0/lib/planGenerator.ts - Core plan generation logicv0/lib/plan-templates.ts - Fallback template plansv0/lib/periodization.ts - Training load periodizationv0/lib/plan-complexity-engine.ts - Safety caps and thresholdsv0/lib/db.ts)plans table with workouts in workouts tableplan-complexity-engine.ts:
SafetyFlag for load spikes or missing critical data.ai_skill_invoked and ai_plan_generated with:
plan_versionfallback_used (true if template was used instead of AI)safety_flags (any warnings or caps applied)workouts_countuser_id (hashed)latency_msSafetyFlag for missing_dataSafetyFlag for injury_signalUserProfile with various experience levelsTrainingHistory