{
  "$schema": "https://wpl.dev/schemas/wpl/v1.schema.json",
  "version": "1.6.0",
  "plan": {
    "id": "plan_polarized_threshold",
    "name": "Polarized Endurance Week",
    "description": "Three-zone Seiler distribution: easy run (Z1), threshold (Z2), VO2max intervals (Z3). Plan-level athlete_thresholds let consumers convert zones to absolute HR/power.",
    "type": "workout",
    "visibility": "template",
    "metadata": {
      "tags": [
        "polarized",
        "endurance",
        "running"
      ],
      "difficulty": "advanced",
      "estimated_duration_days": 7,
      "language": "en"
    },
    "goals": [
      {
        "id": "goal_vo2",
        "type": "primary",
        "category": "endurance",
        "name": "Improve VO2max and threshold"
      }
    ],
    "athlete_thresholds": {
      "hr_max_bpm": 188,
      "lthr_bpm": 168,
      "resting_hr_bpm": 48,
      "ftp_watts": 285,
      "vo2max_ml_kg_min": 58,
      "critical_pace_seconds_per_km": 215,
      "body_weight_kg": 72
    },
    "phases": [
      {
        "id": "phase_1",
        "name": "Polarized week",
        "order": 1,
        "type": "build",
        "duration": {
          "value": 1,
          "unit": "weeks"
        },
        "weeks": [
          {
            "id": "wk_1",
            "name": "Week 1",
            "order": 1,
            "days": [
              {
                "id": "d_easy",
                "day_of_week": 1,
                "name": "Easy run",
                "type": "training",
                "blocks": [
                  {
                    "id": "main",
                    "type": "main",
                    "order": 1,
                    "activities": [
                      {
                        "id": "run_easy",
                        "type": "cardio",
                        "name": "Easy aerobic",
                        "modality": "running",
                        "prescription": {
                          "type": "continuous",
                          "duration": {
                            "value": 60,
                            "unit": "minutes"
                          },
                          "intensity": {
                            "type": "heart_rate_zone",
                            "zone_model": "hr_3_zone_seiler",
                            "target": {
                              "zone": 1
                            }
                          }
                        }
                      }
                    ]
                  }
                ]
              },
              {
                "id": "d_threshold",
                "day_of_week": 3,
                "name": "Threshold",
                "type": "training",
                "blocks": [
                  {
                    "id": "main",
                    "type": "main",
                    "order": 1,
                    "activities": [
                      {
                        "id": "run_thr",
                        "type": "cardio",
                        "name": "Threshold tempo",
                        "modality": "running",
                        "prescription": {
                          "type": "continuous",
                          "duration": {
                            "value": 30,
                            "unit": "minutes"
                          },
                          "intensity": {
                            "type": "heart_rate_zone",
                            "zone_model": "hr_3_zone_seiler",
                            "target": {
                              "zone": 2
                            }
                          }
                        }
                      }
                    ]
                  }
                ]
              },
              {
                "id": "d_vo2",
                "day_of_week": 5,
                "name": "VO2max intervals",
                "type": "training",
                "blocks": [
                  {
                    "id": "main",
                    "type": "main",
                    "order": 1,
                    "activities": [
                      {
                        "id": "run_int",
                        "type": "cardio",
                        "name": "5x4 min @ 95% LTHR",
                        "modality": "running",
                        "prescription": {
                          "type": "intervals",
                          "intensity": {
                            "type": "heart_rate_zone",
                            "zone_model": "hr_3_zone_seiler",
                            "target": {
                              "zone": 3
                            }
                          },
                          "intervals": {
                            "work": {
                              "duration": 240
                            },
                            "rest": {
                              "duration": 180
                            },
                            "repeat": 5
                          }
                        }
                      }
                    ]
                  }
                ]
              },
              {
                "id": "d_long",
                "day_of_week": 7,
                "name": "Long run",
                "type": "training",
                "blocks": [
                  {
                    "id": "main",
                    "type": "main",
                    "order": 1,
                    "activities": [
                      {
                        "id": "run_long",
                        "type": "cardio",
                        "name": "Long Z1",
                        "modality": "running",
                        "prescription": {
                          "type": "continuous",
                          "duration": {
                            "value": 90,
                            "unit": "minutes"
                          },
                          "intensity": {
                            "type": "pace",
                            "zone_model": "pace_critical_speed",
                            "target": {
                              "percent_of_critical": 75
                            }
                          }
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}
