{
  "pack_id": "evv_bb_p002_v1",
  "track": "arm_velo",
  "phase_type": "off_season_dev",
  "delivery_model": "fixed_blocks",
  "pack_version": 1,
  "version": 1,
  "sport": "bb",
  "readiness_rules": {
    "enabled": false,
    "levels": {
      "green": {
        "label": "Full session",
        "description": "Proceed with the full pre-season ramp session as prescribed.",
        "actions": []
      },
      "yellow": {
        "label": "Reduce workload",
        "description": "Reduce volume or load to maintain intent and movement quality.",
        "actions": [
          {
            "type": "reduce_sets",
            "value": 1,
            "applies_to_categories": [
              "strength"
            ]
          },
          {
            "type": "reduce_load_percent",
            "min": 10,
            "max": 20,
            "applies_to_categories": [
              "strength"
            ]
          },
          {
            "type": "extend_rest",
            "description": "Extend rest as needed to preserve throwing and lifting quality."
          }
        ]
      },
      "red": {
        "label": "Recovery session",
        "description": "Limit work to recovery throwing and low-stress technique only.",
        "actions": [
          {
            "type": "allow_only_categories",
            "categories": [
              "throwing",
              "recovery",
              "technique"
            ]
          }
        ]
      }
    },
    "deprecated": true,
    "note": "Deprecated: readiness is handled by runtime SessionAugmentation (RPE + volume scaling; Red=Deload)."
  },
  "workouts": [
    {
      "id": "osd_w1_d1",
      "title": "Week 1 - Day 1: Throwing + Lift (Lower)",
      "estimatedMinutes": 75,
      "tags": [
        "off_season_dev",
        "week1",
        "day1",
        "throwing",
        "strength",
        "technique"
      ],
      "meta": {
        "week": 1,
        "day": 1
      },
      "completion": {
        "required_categories": [
          "throwing",
          "strength"
        ],
        "optional_categories": [
          "technique"
        ]
      },
      "drills": [
        {
          "type": "section",
          "title": "Throwing (Arm Velo)",
          "augment": "core"
        },
        {
          "id": "intent_throws",
          "name": "Intent Throws",
          "category": "throwing",
          "prescription": "FILL ME (e.g., 10-14 throws @ 80-90%)",
          "effort": {
            "type": "percent_range",
            "min": 0,
            "max": 0
          },
          "videoUrl": null,
          "notes": [
            "FILL ME"
          ],
          "augment": "core"
        },
        {
          "id": "plyo_work",
          "name": "Plyo Work",
          "category": "throwing",
          "prescription": "FILL ME (e.g., Plyo B: 4 drills x 1x5)",
          "effort": {
            "type": "percent_range",
            "min": 0,
            "max": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "recovery_throws",
          "name": "Recovery Throws",
          "category": "recovery",
          "prescription": "FILL ME (e.g., 8-10 easy @ 50-60%)",
          "effort": null,
          "videoUrl": null,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Strength (Weight Training)",
          "augment": "core"
        },
        {
          "id": "squat_or_variant",
          "name": "Squat (or Variant)",
          "category": "strength",
          "prescription": "FILL ME (e.g., 3x5 @ RPE 7)",
          "sets": 0,
          "reps": 0,
          "effort": {
            "type": "rpe",
            "value": 0
          },
          "videoUrl": null,
          "notes": [
            "FILL ME (front squat / safety bar / goblet, etc.)"
          ],
          "augment": "core"
        },
        {
          "id": "hinge_or_variant",
          "name": "Hinge (or Variant)",
          "category": "strength",
          "prescription": "FILL ME (e.g., 3x6 @ RPE 7)",
          "sets": 0,
          "reps": 0,
          "effort": {
            "type": "rpe",
            "value": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "pull_or_variant",
          "name": "Pull (or Variant)",
          "category": "strength",
          "prescription": "FILL ME (e.g., 4x8)",
          "sets": 0,
          "reps": 0,
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "core",
          "name": "Core",
          "category": "strength",
          "prescription": "FILL ME (e.g., 2 rounds)",
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "type": "section",
          "title": "Technique (Optional)",
          "augment": "core"
        },
        {
          "id": "delivery_drill",
          "name": "Delivery Drill",
          "category": "technique",
          "prescription": "FILL ME (e.g., 2x6 reps)",
          "effort": null,
          "videoUrl": null,
          "notes": [
            "FILL ME (focus cue)"
          ],
          "augment": "core"
        }
      ]
    },
    {
      "id": "osd_w1_d2",
      "title": "Week 1 - Day 2: Throwing + Lift (Upper)",
      "estimatedMinutes": 75,
      "tags": [
        "off_season_dev",
        "week1",
        "day2",
        "throwing",
        "strength",
        "technique"
      ],
      "meta": {
        "week": 1,
        "day": 2
      },
      "completion": {
        "required_categories": [
          "throwing",
          "strength"
        ],
        "optional_categories": [
          "technique"
        ]
      },
      "drills": [
        {
          "type": "section",
          "title": "Throwing (Arm Velo)",
          "augment": "core"
        },
        {
          "id": "intent_throws",
          "name": "Intent Throws",
          "category": "throwing",
          "prescription": "FILL ME",
          "effort": {
            "type": "percent_range",
            "min": 0,
            "max": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "plyo_work",
          "name": "Plyo Work",
          "category": "throwing",
          "prescription": "FILL ME",
          "effort": {
            "type": "percent_range",
            "min": 0,
            "max": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "recovery_throws",
          "name": "Recovery Throws",
          "category": "recovery",
          "prescription": "FILL ME",
          "effort": null,
          "videoUrl": null,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Strength (Weight Training)",
          "augment": "core"
        },
        {
          "id": "press_or_variant",
          "name": "Press (or Variant)",
          "category": "strength",
          "prescription": "FILL ME (e.g., 3x6 @ RPE 7)",
          "sets": 0,
          "reps": 0,
          "effort": {
            "type": "rpe",
            "value": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "pull_or_variant",
          "name": "Pull (or Variant)",
          "category": "strength",
          "prescription": "FILL ME (e.g., 4x8)",
          "sets": 0,
          "reps": 0,
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "hinge_or_variant",
          "name": "Hinge / Posterior Chain",
          "category": "strength",
          "prescription": "FILL ME (optional light hinge or single-leg)",
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "core",
          "name": "Core",
          "category": "strength",
          "prescription": "FILL ME",
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "type": "section",
          "title": "Technique (Optional)",
          "augment": "core"
        },
        {
          "id": "hip_shoulder_separation_drill",
          "name": "Hip–Shoulder Separation Drill",
          "category": "technique",
          "prescription": "FILL ME",
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        }
      ]
    },
    {
      "id": "osd_w1_d3",
      "title": "Week 1 - Day 3: Throwing + Lift (Total Body)",
      "estimatedMinutes": 75,
      "tags": [
        "off_season_dev",
        "week1",
        "day3",
        "throwing",
        "strength",
        "technique"
      ],
      "meta": {
        "week": 1,
        "day": 3
      },
      "completion": {
        "required_categories": [
          "throwing",
          "strength"
        ],
        "optional_categories": [
          "technique"
        ]
      },
      "drills": [
        {
          "type": "section",
          "title": "Throwing (Arm Velo)",
          "augment": "core"
        },
        {
          "id": "intent_throws",
          "name": "Intent Throws",
          "category": "throwing",
          "prescription": "FILL ME",
          "effort": {
            "type": "percent_range",
            "min": 0,
            "max": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "plyo_work",
          "name": "Plyo Work",
          "category": "throwing",
          "prescription": "FILL ME",
          "effort": {
            "type": "percent_range",
            "min": 0,
            "max": 0
          },
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "recovery_throws",
          "name": "Recovery Throws",
          "category": "recovery",
          "prescription": "FILL ME",
          "effort": null,
          "videoUrl": null,
          "augment": "protected"
        },
        {
          "type": "section",
          "title": "Strength (Weight Training)",
          "augment": "core"
        },
        {
          "id": "hinge_or_variant",
          "name": "Hinge (or Variant)",
          "category": "strength",
          "prescription": "FILL ME",
          "sets": 0,
          "reps": 0,
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "press_or_variant",
          "name": "Press (or Variant)",
          "category": "strength",
          "prescription": "FILL ME",
          "sets": 0,
          "reps": 0,
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "pull_or_variant",
          "name": "Pull (or Variant)",
          "category": "strength",
          "prescription": "FILL ME",
          "sets": 0,
          "reps": 0,
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "id": "core",
          "name": "Core",
          "category": "strength",
          "prescription": "FILL ME",
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        },
        {
          "type": "section",
          "title": "Technique (Optional)",
          "augment": "core"
        },
        {
          "id": "bracing_block_drill",
          "name": "Bracing / Front-Side Block Drill",
          "category": "technique",
          "prescription": "FILL ME",
          "effort": null,
          "videoUrl": null,
          "augment": "core"
        }
      ]
    }
  ]
}