{
  "pack_id": "evv_fa_strength_offseason_v1",
  "track": "strength",
  "phase_type": "off_season_development",
  "pack_version": 1,
  "version": 1,
  "sport": "bb",
  "program": {
    "name": "Foundational Athlete – Offseason",
    "duration_weeks": 8,
    "sessions_per_week": 4,
    "age_band": "13-18",
    "source": "Program - Foundational Athlete.pdf"
  },
  "readiness_rules": {
    "enabled": false,
    "levels": {
      "green": {
        "label": "Full session",
        "description": "Run the full session as written.",
        "actions": []
      },
      "yellow": {
        "label": "Reduce workload",
        "description": "Keep quality high. Drop 1 set OR reduce load 10–20% OR extend rest.",
        "actions": [
          {
            "type": "reduce_sets",
            "value": 1,
            "applies_to_categories": [
              "strength",
              "lunge"
            ]
          },
          {
            "type": "reduce_load_percent",
            "min": 10,
            "max": 20,
            "applies_to_categories": [
              "strength",
              "lunge"
            ]
          },
          {
            "type": "extend_rest",
            "description": "Extend rest to preserve bar speed and clean reps."
          }
        ]
      },
      "red": {
        "label": "Recovery session",
        "description": "Do only: Pre-Activation + light med ball + bracing core + mobility.",
        "actions": [
          {
            "type": "allow_only_categories",
            "categories": [
              "mobility",
              "pattern",
              "stability",
              "bracing_core",
              "rotational_core",
              "power"
            ]
          }
        ]
      }
    },
    "deprecated": true,
    "note": "Deprecated: readiness scaling is now handled at runtime via SessionAugmentation (RPE + volume)."
  },
  "defaults": {
    "strength": {
      "rpe_band_default": [
        6.5,
        7.5
      ]
    }
  },
  "workouts": [
    {
      "id": "fa_os_wk1_2_s1",
      "title": "Weeks 1–2 — Session 1: Lower Body",
      "estimatedMinutes": 55,
      "tags": [
        "foundational",
        "offseason",
        "weeks1-2",
        "session1",
        "lower"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          1,
          2
        ],
        "session": 1
      },
      "drills": [
        {
          "type": "section",
          "title": "Pre-Activation (Required)",
          "category": "warmup",
          "augment": "protected"
        },
        {
          "id": "mob_9090_hip_switch",
          "name": "90/90 Hip Switch",
          "category": "mobility",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "pat_reverse_lunge_bw",
          "name": "Reverse Lunge (Bodyweight)",
          "category": "pattern",
          "sets": 2,
          "reps": 5,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "stab_dead_bug",
          "name": "Dead Bug",
          "category": "stability",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_snap_down_jump",
          "name": "Snap Down → Jump",
          "category": "plyo",
          "sets": 3,
          "reps": 3,
          "rest_seconds": 75,
          "augment": "core"
        },
        {
          "id": "str_goblet_squat",
          "name": "Goblet Squat",
          "category": "strength",
          "sets": 3,
          "reps": 15,
          "rpe_target": 6.5,
          "rpe_band": [
            6,
            7
          ],
          "rest_seconds": 90,
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "SQUAT",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_db_reverse_lunge",
          "name": "DB Reverse Lunge",
          "category": "lunge",
          "sets": 3,
          "reps": 8,
          "per_side": true,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "stab_sl_rdl_reach",
          "name": "Single-Leg RDL Reach",
          "category": "stability",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_front_plank",
          "name": "Front Plank",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 30,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_pallof_press",
          "name": "Pallof Press",
          "category": "rotational_core",
          "sets": 3,
          "reps": 10,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk1_2_s2",
      "title": "Weeks 1–2 — Session 2: Upper Body",
      "estimatedMinutes": 50,
      "tags": [
        "foundational",
        "offseason",
        "weeks1-2",
        "session2",
        "upper"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          1,
          2
        ],
        "session": 2
      },
      "drills": [
        {
          "type": "section",
          "title": "Pre-Activation (Required)",
          "category": "warmup",
          "augment": "protected"
        },
        {
          "id": "pat_walk_lunge_reach",
          "name": "Walking Lunge + Reach",
          "category": "pattern",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "stab_band_pull_apart",
          "name": "Band Pull-Apart",
          "category": "stability",
          "sets": 2,
          "reps": 15,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "rot_half_kneeling_pallof",
          "name": "Half-Kneeling Pallof Press",
          "category": "rotational_core",
          "sets": 2,
          "reps": 8,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "pwr_medball_chest_pass",
          "name": "Med Ball Chest Pass",
          "category": "power",
          "sets": 4,
          "reps": 3,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "str_incline_db_bench",
          "name": "Incline DB Bench",
          "category": "strength",
          "sets": 3,
          "reps": 12,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "lng_forward_lunge_bw",
          "name": "Forward Lunge (Bodyweight)",
          "category": "lunge",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 75,
          "augment": "core"
        },
        {
          "id": "stab_scap_pushup",
          "name": "Scap Push-Up",
          "category": "stability",
          "sets": 3,
          "reps": 10,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "core_dead_bug",
          "name": "Dead Bug",
          "category": "bracing_core",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_cable_chop",
          "name": "Cable Chop",
          "category": "rotational_core",
          "sets": 3,
          "reps": 10,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk1_2_s3",
      "title": "Weeks 1–2 — Session 3: Full Body",
      "estimatedMinutes": 60,
      "tags": [
        "foundational",
        "offseason",
        "weeks1-2",
        "session3",
        "fullbody"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          1,
          2
        ],
        "session": 3
      },
      "drills": [
        {
          "type": "section",
          "title": "Pre-Activation (Required)",
          "category": "warmup",
          "augment": "protected"
        },
        {
          "id": "pat_drop_lunge_bw",
          "name": "Drop Lunge (Bodyweight)",
          "category": "pattern",
          "sets": 2,
          "reps": 5,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "pat_glute_bridge",
          "name": "Glute Bridge",
          "category": "pattern",
          "sets": 2,
          "reps": 10,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "pat_a_march",
          "name": "A-March",
          "category": "pattern",
          "sets": 2,
          "distance_m": 10,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_broad_jump_stick",
          "name": "Broad Jump (Stick)",
          "category": "plyo",
          "sets": 3,
          "reps": 3,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "str_trap_bar_deadlift",
          "name": "Trap Bar Deadlift",
          "category": "strength",
          "sets": 3,
          "reps": 10,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 180,
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "DEADLIFT",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_db_walking_lunge",
          "name": "DB Walking Lunge",
          "category": "lunge",
          "sets": 3,
          "reps": 10,
          "unit": "steps",
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "stab_split_squat_iso",
          "name": "Split Squat ISO",
          "category": "stability",
          "sets": 2,
          "duration_seconds": 20,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_hollow_hold",
          "name": "Hollow Hold",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 25,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_landmine_rotation",
          "name": "Landmine Rotation",
          "category": "rotational_core",
          "sets": 3,
          "reps": 10,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk1_2_s4",
      "title": "Weeks 1–2 — Session 4: Sprint + Plyo",
      "estimatedMinutes": 45,
      "tags": [
        "foundational",
        "offseason",
        "weeks1-2",
        "session4",
        "speed"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          1,
          2
        ],
        "session": 4
      },
      "drills": [
        {
          "type": "section",
          "title": "Pre-Sprint Activation",
          "category": "warmup",
          "augment": "protected"
        },
        {
          "id": "pat_walk_lunge",
          "name": "Walking Lunge",
          "category": "pattern",
          "sets": 2,
          "reps": 10,
          "unit": "steps",
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "pat_lateral_lunge",
          "name": "Lateral Lunge",
          "category": "pattern",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "pat_a_skip",
          "name": "A-Skip",
          "category": "pattern",
          "sets": 2,
          "distance_m": 15,
          "rest_seconds": 30,
          "augment": "protected"
        },
        {
          "id": "pat_skips_distance",
          "name": "Skips for Distance",
          "category": "pattern",
          "sets": 2,
          "distance_m": 20,
          "rest_seconds": 45,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_pogos",
          "name": "Pogos",
          "category": "plyo",
          "sets": 3,
          "reps": 20,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "plyo_broad_jump",
          "name": "Broad Jump",
          "category": "plyo",
          "sets": 3,
          "reps": 3,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "spr_falling_start_10m",
          "name": "Falling Start Sprint",
          "category": "sprint",
          "sets": 4,
          "distance_m": 10,
          "rest_seconds": 105,
          "augment": "core"
        },
        {
          "id": "spr_three_point_15m",
          "name": "3-Point Start Sprint",
          "category": "sprint",
          "sets": 4,
          "distance_m": 15,
          "rest_seconds": 105,
          "augment": "core"
        },
        {
          "id": "rot_medball_side_toss",
          "name": "Med Ball Side Toss",
          "category": "rotational_core",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_front_plank_30",
          "name": "Front Plank",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 30,
          "rest_seconds": 45,
          "augment": "core"
        }
      ]
    },
    {
      "type": "refWorkout",
      "workoutId": "fa_os_wk1_2_s1",
      "id": "fa_os_wk3_4_s1",
      "title": "Weeks 3–4 — Session 1: Lower Body (Strength Development)",
      "meta": {
        "block": "offseason",
        "week_range": [
          3,
          4
        ],
        "session": 1
      },
      "overrides": [
        {
          "id": "pat_reverse_lunge_bw",
          "reps": 6,
          "augment": "protected"
        },
        {
          "id": "plyo_snap_down_jump",
          "replace_with": {
            "id": "plyo_broad_jump_stick_w34",
            "name": "Broad Jump (Stick)",
            "category": "plyo",
            "sets": 3,
            "reps": 3,
            "rest_seconds": 90,
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "str_goblet_squat",
          "replace_with": {
            "id": "str_front_squat",
            "name": "Front Squat",
            "category": "strength",
            "sets": 4,
            "reps": 10,
            "rpe_target": 7,
            "rpe_band": [
              6.5,
              7.5
            ],
            "rest_seconds": 90,
            "reads": {
              "enabled": true,
              "required": false,
              "type": "E1RM",
              "unit": "kg",
              "mode": "calculated",
              "bind_goal_type": "SQUAT",
              "allow_skip_measurement": true
            },
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "core_front_plank",
          "duration_seconds": 40,
          "augment": "core"
        },
        {
          "id": "rot_pallof_press",
          "reps": 12,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "type": "refWorkout",
      "workoutId": "fa_os_wk1_2_s2",
      "id": "fa_os_wk3_4_s2",
      "title": "Weeks 3–4 — Session 2: Upper Body (Strength Development)",
      "meta": {
        "block": "offseason",
        "week_range": [
          3,
          4
        ],
        "session": 2
      },
      "overrides": [
        {
          "id": "pwr_medball_chest_pass",
          "reps": 4,
          "augment": "core"
        },
        {
          "id": "str_incline_db_bench",
          "sets": 4,
          "reps": 10,
          "augment": "core"
        },
        {
          "id": "lng_forward_lunge_bw",
          "replace_with": {
            "id": "lng_lateral_goblet_lunge",
            "name": "Lateral Goblet Lunge",
            "category": "lunge",
            "sets": 3,
            "reps": 6,
            "per_side": true,
            "rpe_target": 6.5,
            "rpe_band": [
              6,
              7
            ],
            "rest_seconds": 75,
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "stab_scap_pushup",
          "reps": 12,
          "augment": "core"
        },
        {
          "id": "core_dead_bug",
          "reps": 8,
          "augment": "core"
        },
        {
          "id": "rot_cable_chop",
          "reps": 12,
          "augment": "core"
        }
      ]
    },
    {
      "type": "refWorkout",
      "workoutId": "fa_os_wk1_2_s3",
      "id": "fa_os_wk3_4_s3",
      "title": "Weeks 3–4 — Session 3: Full Body (Strength Development)",
      "meta": {
        "block": "offseason",
        "week_range": [
          3,
          4
        ],
        "session": 3
      },
      "overrides": [
        {
          "id": "pat_drop_lunge_bw",
          "reps": 6,
          "augment": "protected"
        },
        {
          "id": "pat_glute_bridge",
          "reps": 12,
          "augment": "protected"
        },
        {
          "id": "pat_a_march",
          "distance_m": 12,
          "augment": "protected"
        },
        {
          "id": "plyo_broad_jump_stick",
          "replace_with": {
            "id": "plyo_continuous_broad_jump",
            "name": "Continuous Broad Jump",
            "category": "plyo",
            "sets": 3,
            "reps": 4,
            "rest_seconds": 90,
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "str_trap_bar_deadlift",
          "sets": 4,
          "reps": 6,
          "rpe_target": 8,
          "rpe_band": [
            7.5,
            8.5
          ],
          "augment": "core"
        },
        {
          "id": "lng_db_walking_lunge",
          "reps": 12,
          "augment": "core"
        },
        {
          "id": "stab_split_squat_iso",
          "duration_seconds": 25,
          "augment": "core"
        },
        {
          "id": "core_hollow_hold",
          "duration_seconds": 30,
          "augment": "core"
        },
        {
          "id": "rot_landmine_rotation",
          "reps": 12,
          "augment": "core"
        }
      ]
    },
    {
      "type": "refWorkout",
      "workoutId": "fa_os_wk1_2_s4",
      "id": "fa_os_wk3_4_s4",
      "title": "Weeks 3–4 — Session 4: Sprint + Plyo",
      "meta": {
        "block": "offseason",
        "week_range": [
          3,
          4
        ],
        "session": 4
      },
      "overrides": [
        {
          "id": "pat_walk_lunge",
          "reps": 12,
          "augment": "protected"
        },
        {
          "id": "pat_a_skip",
          "distance_m": 20,
          "augment": "protected"
        },
        {
          "id": "pat_skips_distance",
          "distance_m": 25,
          "augment": "protected"
        },
        {
          "id": "plyo_pogos",
          "reps": 25,
          "augment": "core"
        },
        {
          "id": "plyo_broad_jump",
          "replace_with": {
            "id": "plyo_lateral_bounds",
            "name": "Lateral Bounds",
            "category": "plyo",
            "sets": 3,
            "reps": 3,
            "per_side": true,
            "rest_seconds": 90,
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "spr_falling_start_10m",
          "replace_with": {
            "id": "spr_build_up_20m",
            "name": "Build-Up Sprint",
            "category": "sprint",
            "sets": 4,
            "distance_m": 20,
            "rest_seconds": 105,
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "spr_three_point_15m",
          "replace_with": {
            "id": "spr_push_float_20m",
            "name": "Push → Float",
            "category": "sprint",
            "sets": 3,
            "distance_m": 20,
            "rest_seconds": 120,
            "augment": "core"
          },
          "augment": "core"
        },
        {
          "id": "core_front_plank_30",
          "duration_seconds": 40,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk5_6_s1",
      "title": "Weeks 5–6 — Session 1: Lower Body (Strength → Power)",
      "estimatedMinutes": 60,
      "tags": [
        "foundational",
        "offseason",
        "weeks5-6",
        "session1"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          5,
          6
        ],
        "session": 1
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_box_jump",
          "name": "Box Jump",
          "category": "plyo",
          "sets": 4,
          "reps": 3,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "str_pause_squat_311",
          "name": "Pause Squat (311)",
          "category": "strength",
          "sets": 4,
          "reps": 6,
          "rpe_target": 8,
          "rpe_band": [
            7.5,
            8.5
          ],
          "rest_seconds": 120,
          "tempo": "311",
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "SQUAT",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_barbell_reverse_lunge",
          "name": "Barbell Reverse Lunge",
          "category": "lunge",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rpe_target": 8,
          "rpe_band": [
            7.5,
            8.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "stab_sl_rdl_reach_w56",
          "name": "Single-Leg RDL Reach",
          "category": "stability",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_front_plank_w56",
          "name": "Front Plank",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 40,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_pallof_press_w56",
          "name": "Pallof Press",
          "category": "rotational_core",
          "sets": 3,
          "reps": 12,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk5_6_s2",
      "title": "Weeks 5–6 — Session 2: Upper Body (Strength → Power)",
      "estimatedMinutes": 55,
      "tags": [
        "foundational",
        "offseason",
        "weeks5-6",
        "session2"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          5,
          6
        ],
        "session": 2
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "pwr_medball_chest_pass_w56",
          "name": "Med Ball Chest Pass",
          "category": "power",
          "sets": 4,
          "reps": 4,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "str_bench_press",
          "name": "Bench Press",
          "category": "strength",
          "sets": 4,
          "reps": 6,
          "rpe_target": 8,
          "rpe_band": [
            7.5,
            8.5
          ],
          "rest_seconds": 120,
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "BENCH",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_db_walking_lunge_w56",
          "name": "DB Walking Lunge",
          "category": "lunge",
          "sets": 3,
          "reps": 12,
          "unit": "steps",
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "stab_scap_pushup_w56",
          "name": "Scap Push-Up",
          "category": "stability",
          "sets": 3,
          "reps": 12,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "core_dead_bug_w56",
          "name": "Dead Bug",
          "category": "bracing_core",
          "sets": 3,
          "reps": 8,
          "per_side": true,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_cable_chop_w56",
          "name": "Cable Chop",
          "category": "rotational_core",
          "sets": 3,
          "reps": 12,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk5_6_s3",
      "title": "Weeks 5–6 — Session 3: Full Body (Strength → Power)",
      "estimatedMinutes": 60,
      "tags": [
        "foundational",
        "offseason",
        "weeks5-6",
        "session3"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          5,
          6
        ],
        "session": 3
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_broad_jump_w56",
          "name": "Broad Jump",
          "category": "plyo",
          "sets": 3,
          "reps": 3,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "str_trap_bar_deadlift_w56",
          "name": "Trap Bar Deadlift",
          "category": "strength",
          "sets": 5,
          "reps": 3,
          "rpe_target": 8,
          "rpe_band": [
            7.5,
            8.5
          ],
          "rest_seconds": 180,
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "DEADLIFT",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_drop_lunge_db",
          "name": "Drop Lunge (DB)",
          "category": "lunge",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "stab_split_squat_iso_w56",
          "name": "Split Squat ISO",
          "category": "stability",
          "sets": 2,
          "duration_seconds": 30,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_hollow_rock",
          "name": "Hollow Rock",
          "category": "bracing_core",
          "sets": 3,
          "reps": 12,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_landmine_rotation_w56",
          "name": "Landmine Rotation",
          "category": "rotational_core",
          "sets": 3,
          "reps": 12,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk5_6_s4",
      "title": "Weeks 5–6 — Session 4: Sprint + Plyo (Strength → Power)",
      "estimatedMinutes": 45,
      "tags": [
        "foundational",
        "offseason",
        "weeks5-6",
        "session4"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          5,
          6
        ],
        "session": 4
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_depth_drop_jump",
          "name": "Depth Drop → Jump",
          "category": "plyo",
          "sets": 3,
          "reps": 3,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "plyo_skater_jumps",
          "name": "Skater Jumps",
          "category": "plyo",
          "sets": 3,
          "reps": 4,
          "per_side": true,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "spr_flying_10s",
          "name": "Flying 10s",
          "category": "sprint",
          "sets": 4,
          "duration_seconds": 10,
          "rest_seconds": 150,
          "augment": "core"
        },
        {
          "id": "spr_sled_to_sprint",
          "name": "Sled → Sprint",
          "category": "sprint",
          "sets": 3,
          "rest_seconds": 150,
          "notes": "Distance/load not specified in PDF.",
          "augment": "core"
        },
        {
          "id": "rot_medball_side_toss_w56",
          "name": "Med Ball Side Toss",
          "category": "rotational_core",
          "sets": 3,
          "reps": 8,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_front_plank_w56_s4",
          "name": "Front Plank",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 45,
          "rest_seconds": 45,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk7_8_s1",
      "title": "Weeks 7–8 — Session 1: Lower Body (Power + Speed Emphasis)",
      "estimatedMinutes": 55,
      "tags": [
        "foundational",
        "offseason",
        "weeks7-8",
        "session1"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          7,
          8
        ],
        "session": 1
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_box_jump_w78",
          "name": "Box Jump",
          "category": "plyo",
          "sets": 5,
          "reps": 2,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "str_trap_bar_deadlift_w78",
          "name": "Trap Bar Deadlift",
          "category": "strength",
          "sets": 5,
          "reps": 3,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 180,
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "DEADLIFT",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_split_squat_w78",
          "name": "Split Squat",
          "category": "lunge",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "stab_sl_rdl_reach_w78",
          "name": "Single-Leg RDL Reach",
          "category": "stability",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_side_plank_w78",
          "name": "Side Plank",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 35,
          "per_side": true,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_pallof_press_w78",
          "name": "Pallof Press",
          "category": "rotational_core",
          "sets": 3,
          "reps": 10,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk7_8_s2",
      "title": "Weeks 7–8 — Session 2: Upper Body (Power + Speed Emphasis)",
      "estimatedMinutes": 50,
      "tags": [
        "foundational",
        "offseason",
        "weeks7-8",
        "session2"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          7,
          8
        ],
        "session": 2
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "pwr_medball_chest_pass_w78",
          "name": "Med Ball Chest Pass",
          "category": "power",
          "sets": 3,
          "reps": 4,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "str_bench_press_w78",
          "name": "Bench Press",
          "category": "strength",
          "sets": 3,
          "reps": 5,
          "rpe_target": 7,
          "rpe_band": [
            6.5,
            7.5
          ],
          "rest_seconds": 120,
          "reads": {
            "enabled": true,
            "required": false,
            "type": "E1RM",
            "unit": "kg",
            "mode": "calculated",
            "bind_goal_type": "BENCH",
            "allow_skip_measurement": true
          },
          "augment": "core"
        },
        {
          "id": "lng_lateral_lunge_bw_w78",
          "name": "Lateral Lunge (Bodyweight)",
          "category": "lunge",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 75,
          "augment": "core"
        },
        {
          "id": "stab_scap_pushup_w78",
          "name": "Scap Push-Up",
          "category": "stability",
          "sets": 2,
          "reps": 12,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "core_dead_bug_w78",
          "name": "Dead Bug",
          "category": "bracing_core",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_cable_chop_w78",
          "name": "Cable Chop",
          "category": "rotational_core",
          "sets": 3,
          "reps": 10,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk7_8_s3",
      "title": "Weeks 7–8 — Session 3: Full Body (Deload)",
      "estimatedMinutes": 45,
      "tags": [
        "foundational",
        "offseason",
        "weeks7-8",
        "session3",
        "deload"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          7,
          8
        ],
        "session": 3
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_broad_jump_deload",
          "name": "Broad Jump",
          "category": "plyo",
          "sets": 2,
          "reps": 3,
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "str_goblet_squat_deload",
          "name": "Goblet Squat",
          "category": "strength",
          "sets": 3,
          "reps": 10,
          "rpe_target": 6,
          "rpe_band": [
            5.5,
            6.5
          ],
          "rest_seconds": 90,
          "augment": "core"
        },
        {
          "id": "lng_reverse_lunge_bw_deload",
          "name": "Reverse Lunge (Bodyweight)",
          "category": "lunge",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 75,
          "augment": "core"
        },
        {
          "id": "stab_split_squat_iso_deload",
          "name": "Split Squat ISO",
          "category": "stability",
          "sets": 2,
          "duration_seconds": 20,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_hollow_hold_deload",
          "name": "Hollow Hold",
          "category": "bracing_core",
          "sets": 2,
          "duration_seconds": 25,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "rot_medball_side_toss_deload",
          "name": "Med Ball Side Toss",
          "category": "rotational_core",
          "sets": 2,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_os_wk7_8_s4",
      "title": "Weeks 7–8 — Session 4: Sprint + Plyo (Power + Speed Emphasis)",
      "estimatedMinutes": 40,
      "tags": [
        "foundational",
        "offseason",
        "weeks7-8",
        "session4"
      ],
      "meta": {
        "block": "offseason",
        "week_range": [
          7,
          8
        ],
        "session": 4
      },
      "drills": [
        {
          "type": "section",
          "title": "Main Session",
          "augment": "core",
          "category": "main"
        },
        {
          "id": "plyo_reactive_pogos",
          "name": "Reactive Pogos",
          "category": "plyo",
          "sets": 3,
          "reps": 20,
          "rest_seconds": 45,
          "augment": "core"
        },
        {
          "id": "spr_flying_10s_w78",
          "name": "Flying 10s",
          "category": "sprint",
          "sets": 4,
          "duration_seconds": 10,
          "rest_seconds": 150,
          "augment": "core"
        },
        {
          "id": "spr_accel_15m",
          "name": "Acceleration Sprint",
          "category": "sprint",
          "sets": 3,
          "distance_m": 15,
          "rest_seconds": 120,
          "augment": "core"
        },
        {
          "id": "rot_medball_side_toss_w78_s4",
          "name": "Med Ball Side Toss",
          "category": "rotational_core",
          "sets": 3,
          "reps": 6,
          "per_side": true,
          "rest_seconds": 60,
          "augment": "core"
        },
        {
          "id": "core_front_plank_w78_s4",
          "name": "Front Plank",
          "category": "bracing_core",
          "sets": 3,
          "duration_seconds": 40,
          "rest_seconds": 45,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_preseason_placeholder",
      "title": "Preseason (Revised) — Placeholder",
      "estimatedMinutes": 0,
      "tags": [
        "foundational",
        "preseason",
        "placeholder"
      ],
      "meta": {
        "block": "preseason",
        "notes_incomplete": true
      },
      "drills": [
        {
          "id": "preseason_incomplete_note",
          "name": "Preseason program is incomplete in the PDF",
          "category": "info",
          "prescription": "PDF includes detailed tables only for Weeks 5–6 and Weeks 7–8. Weeks 1–4 are not specified.",
          "effort": null,
          "augment": "core"
        }
      ]
    },
    {
      "id": "fa_inseason_placeholder",
      "title": "In-Season B — Placeholder",
      "estimatedMinutes": 0,
      "tags": [
        "foundational",
        "inseason",
        "placeholder"
      ],
      "meta": {
        "block": "inseason",
        "notes_incomplete": true
      },
      "drills": [
        {
          "id": "inseason_incomplete_note",
          "name": "In-season program has incomplete exercise tables",
          "category": "info",
          "prescription": "Some weeks reference 'sets & reps stay the same' or provide partial tables without full details for every exercise.",
          "effort": null,
          "augment": "core"
        }
      ]
    }
  ]
}