list_plans
Arguments
{
"limit": 50,
"end_date": "2026-07-26",
"start_date": "2026-07-13"
}Response
{
"content": [
{
"text": "{\"start_date\":\"2026-07-13\",\"end_date\":\"2026-07-26\",\"plans\":[{\"plannedDate\":\"2026-07-13\",\"version\":1,\"kind\":\"strength\",\"title\":\"Full Body B — Technique + Hypertrophy\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"- Warm-up: 8–10 min easy bike, then bodyweight squats and unloaded hip hinges.\\n- Goblet squat: 3×10 @ 40 lb, RPE 7; rest 2 min. Keep torso controlled and full-foot pressure.\\n- Dumbbell Romanian deadlift: 3×10 @ 12.5 lb/hand, RPE 5–6; rest 90 sec. Limit depth to the point before the pull behind the knees; prioritize a clean hip hinge.\\n- Chest press machine: 3×8–10 @ 65 lb, RPE 8; rest 2 min.\\n- Step-up: 3×8/side @ 7.5 lb/hand on a stable box; use 5 lb/hand if balance or push-off control declines.\\n- Lat pulldown: 3×10 @ 100 lb, RPE 7–8; rest 2 min.\\n- Lateral raise machine: 3×15 @ 35 lb, RPE 6–7; keep shoulders down.\\n- Farmer carry: 3×60 sec @ 45 lb/hand; rest 90–120 sec. Maintain tall posture and controlled steps.\\n- Front plank: 2×90 sec, stopping earlier if the low back sags.\",\"exercises\":[]},{\"plannedDate\":\"2026-07-14\",\"version\":1,\"kind\":\"recovery\",\"title\":\"Easy Aerobic Recovery + Mobility\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"- 45–60 min easy bike, elliptical, or brisk incline walk at RPE 2–3; keep intensity in low-to-mid Zone 2.\\n- Avoid chasing pace, watts, or elevation.\\n- Mobility afterward: 2 rounds of 8 thoracic rotations/side, 30–45 sec hip-flexor stretch/side, 10 gentle hamstring flosses/side, 10 scapular wall-slide attempts, and 30 sec doorway chest stretch/side.\\n- Optional easy core: dead bug 2×8/side.\\n- Treat this as recovery, not an additional training stimulus.\",\"exercises\":[]},{\"plannedDate\":\"2026-07-15\",\"version\":1,\"kind\":\"strength\",\"title\":\"Full Body C — Upper-Back + Single-Leg Focus\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"- Warm-up: 8–10 min easy cardio plus 2 light ramp-up sets for leg press and row.\\n- Seated leg press: 3×10 @ 220 lb, RPE 7; rest 2–3 min. Slightly lighter than Full Body A to manage weekly leg fatigue.\\n- Dumbbell incline press: 3×10 @ 25 lb/hand, RPE 8; rest 2 min.\\n- Chest-supported row: 4×12 @ 80 lb, RPE 7; use a comfortable neutral or semi-neutral grip.\\n- Assisted chin-up: 3×8–10 with 80–85 lb assistance, clean full-range reps.\\n- Seated leg extension: 2×12 @ 145 lb, RPE 8; rest 90 sec.\\n- Rear-deltoid machine: 3×12–15 at RPE 6–7; choose a load that allows a brief squeeze without shrugging.\\n- Triceps pressdown: 3×12–15 @ 32.5–35 lb, RPE 7.\\n- Cable external rotation: 2×12/side @ 7.5 lb, slow and controlled.\\n- Side plank: 2×45–60 sec/side.\",\"exercises\":[]},{\"plannedDate\":\"2026-07-16\",\"version\":1,\"kind\":\"cardio\",\"title\":\"Controlled Threshold Intervals\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"- 12–15 min progressive warm-up, including 3×30 sec fast cadence with easy spinning between.\\n- Main set: 3×8 min at upper Zone 3 to low Zone 4, RPE 7; recover with 4 min very easy spinning after each interval.\\n- Keep output even across all three efforts. This should feel controlled, not like a maximal test.\\n- Cool down 10–15 min easy.\\n- Total time: approximately 60–70 min.\\n- If legs remain unusually heavy from July 15, replace the intervals with 60 min steady Zone 2.\",\"exercises\":[]},{\"plannedDate\":\"2026-07-17\",\"version\":4,\"kind\":\"recovery\",\"title\":\"Indoor Recovery + Mobility\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"### Goal\\nFinish feeling **fresher than you started** after Wednesday’s 96-minute strength session and Thursday’s threshold intervals.\\n\\n### Easy cardio — 35–50 min\\n- Indoor bike, elliptical, or treadmill walk.\\n- **Intensity:** RPE 2–3; mostly Zone 1 to low Zone 2.\\n- Full-sentence conversation should remain easy.\\n- Do **not** let this become another 135+ bpm steady workout if that no longer feels distinctly easy.\\n\\n### Mobility — 12–15 min\\n- Hip-flexor stretch\\n- Gentle hamstring flossing\\n- Thoracic rotations\\n- Doorway chest stretch\\n- Calf stretch\\n- Pain-free scapular wall slides\\n\\n### Optional core\\n- Dead bug: **2 × 8/side**\\n\\n### Stop rule\\nEnd the session early if it stops feeling restorative.\",\"exercises\":[]},{\"plannedDate\":\"2026-07-18\",\"version\":2,\"kind\":\"strength\",\"title\":\"Full Body A — Consolidate Progress\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"### Session goal\\nConsolidate recent progress with **clean, repeatable reps** rather than adding load. Keep **1–2 reps in reserve** and cap the session at roughly **80–90 minutes**.\\n\\n### Warm-up\\n- 8–10 minutes of easy cardio.\\n- Perform 1–2 lighter ramp-up sets before leg press, incline press, row, and chin-ups.\\n\\n### Progression rule\\nMost compound work in the previous Full Body A session was already around **RPE 8**. Hold loads steady today. Increase next time only when all prescribed reps are completed with consistent technique and the final set is clearly no harder than RPE 8.\",\"exercises\":[{\"authoredName\":\"Leg Press\",\"canonicalName\":\"Leg Press\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":10,\"max\":10},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":230,\"max\":230}},\"rpe\":{\"min\":7,\"max\":8},\"rest_seconds\":{\"min\":120,\"max\":180}}},\"notes\":\"**Technique:** Controlled depth and full-foot pressure.\\n\\n**Progression:** Do not increase yet.\"},{\"authoredName\":\"Dumbbell Incline Press\",\"canonicalName\":\"Dumbbell Incline Press\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":8,\"max\":10},\"weight\":{\"kind\":\"per_hand\",\"target_lb_per_hand\":{\"min\":25,\"max\":25}},\"rpe\":{\"min\":7,\"max\":8},\"rest_seconds\":{\"min\":120,\"max\":150}}},\"notes\":\"**Target:** Aim for 3 × 10 with clean reps.\\n\\n**Progression:** Increase only next session if this is clearly easier than RPE 8.\"},{\"authoredName\":\"Chest-Supported Row\",\"canonicalName\":\"Chest-Supported Row\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":12,\"max\":12},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":85,\"max\":85}},\"rpe\":{\"min\":7,\"max\":8},\"rest_seconds\":{\"min\":90,\"max\":120}}},\"notes\":\"Pause briefly at the back without shrugging.\"},{\"authoredName\":\"Assisted Chin-Up\",\"canonicalName\":\"Assisted Chin-Up\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":8,\"max\":10},\"weight\":{\"kind\":\"assistance\",\"target_assistance_lb\":{\"min\":80,\"max\":80}},\"rpe\":{\"min\":7,\"max\":8},\"rest_seconds\":{\"min\":120,\"max\":150}}},\"notes\":\"Use **80 lb assistance**. Increase to **85 lb assistance** if reps become jerky or range of motion shortens.\"},{\"authoredName\":\"Seated Leg Curl\",\"canonicalName\":\"Seated Leg Curl\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":10,\"max\":10},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":100,\"max\":100}},\"rpe\":{\"min\":7,\"max\":8},\"rest_seconds\":{\"min\":90,\"max\":120}}},\"notes\":\"Reduced from 105 lb because the last session reached RPE 9.\"},{\"authoredName\":\"Cable Face Pull\",\"canonicalName\":\"Cable Face Pull\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":15,\"max\":15},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":24,\"max\":27}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":60,\"max\":90}}},\"notes\":\"Use the next small stack increase only if shoulder position remains clean.\"},{\"authoredName\":\"Pallof Press\",\"canonicalName\":\"Pallof Press\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":true,\"target\":{\"reps\":{\"min\":10,\"max\":12},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":19,\"max\":24}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":45,\"max\":75}}},\"notes\":\"Increase slightly from 19 lb only if you can resist rotation without leaning.\"},{\"authoredName\":\"Side Plank\",\"canonicalName\":\"Side Plank\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"duration_seconds\":{\"min\":45,\"max\":60},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":7,\"max\":8},\"rest_seconds\":{\"min\":45,\"max\":75}}},\"notes\":\"Use 60 seconds only while hips remain fully stacked.\"}]},{\"plannedDate\":\"2026-07-19\",\"version\":7,\"kind\":\"strength\",\"title\":\"Upper-Body Accessories + Cycling Posture\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"Keep this session deliberately moderate because yesterday was a 90-minute full-body workout and tomorrow is the long endurance ride.\\n\\n- Warm up with 8–10 minutes of easy cycling plus shoulder circles.\\n- Keep all working sets at **RPE 6–7**; stop with roughly 3 reps in reserve.\\n- Avoid leg training, loaded carries, and any sets to failure today.\\n- Use controlled reps: about 2 seconds lowering, smooth lift, no momentum.\\n- Optional finish: 10 minutes very easy cycling and light chest/thoracic mobility.\\n- If shoulders or elbows feel unusually fatigued from yesterday, reduce each exercise to 2 sets.\",\"exercises\":[{\"authoredName\":\"Lateral Raise Machine\",\"canonicalName\":\"Lateral Raise Machine\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":12,\"max\":15},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":35,\"max\":40}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":60,\"max\":90}}},\"notes\":\"Use 35 lb if 40 lb would reproduce the prior RPE 8 effort.\"},{\"authoredName\":\"Rear-deltoid machine\",\"canonicalName\":\"Rear-deltoid machine\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":12,\"max\":15},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":65,\"max\":70}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":60,\"max\":90}}},\"notes\":\"Lead with the elbows and avoid shrugging.\"},{\"authoredName\":\"Triceps Pressdown\",\"canonicalName\":\"Triceps Pressdown\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":12,\"max\":15},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":30,\"max\":34}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":60,\"max\":90}}},\"notes\":\"Keep elbows close to the torso.\"},{\"authoredName\":\"Dumbbell Curls\",\"canonicalName\":\"Dumbbell Curls\",\"prescription\":{\"sets\":{\"min\":3,\"max\":3},\"each_side\":false,\"target\":{\"reps\":{\"min\":10,\"max\":12},\"weight\":{\"kind\":\"per_hand\",\"target_lb_per_hand\":{\"min\":15,\"max\":15}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":60,\"max\":90}}},\"notes\":\"Use strict form; do not swing.\"},{\"authoredName\":\"Cable External Rotation\",\"canonicalName\":\"Cable External Rotation\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"reps\":{\"min\":12,\"max\":15},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":7.5,\"max\":7.5}},\"rpe\":{\"min\":5,\"max\":6},\"rest_seconds\":{\"min\":45,\"max\":60}}},\"notes\":\"Small, controlled range with the elbow fixed by the side.\"},{\"authoredName\":\"Pallof Press\",\"canonicalName\":\"Pallof Press\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"reps\":{\"min\":10,\"max\":12},\"weight\":{\"kind\":\"total\",\"target_lb\":{\"min\":19,\"max\":24}},\"rpe\":{\"min\":6,\"max\":7},\"rest_seconds\":{\"min\":45,\"max\":60}}},\"notes\":\"Use 24 lb only if the torso stays completely still.\"},{\"authoredName\":\"scapular wall-slide\",\"canonicalName\":\"scapular wall-slide\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":false,\"target\":{\"reps\":{\"min\":8,\"max\":10},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":3,\"max\":5},\"rest_seconds\":{\"min\":30,\"max\":45}}},\"notes\":\"Work only through the range where ribs stay down; hands do not need to remain fully against the wall.\"}]},{\"plannedDate\":\"2026-07-20\",\"version\":1,\"kind\":\"cardio\",\"title\":\"Long Endurance Ride — AQI Conditional\",\"status\":\"completed\",\"statusNote\":\"\",\"notes\":\"### Preferred option — outdoors\\nUse this option only if outdoor air quality is acceptable.\\n\\n- **Duration:** 2–3 hours\\n- **Intensity:** Steady Zone 2 / RPE 3–4\\n- Brief Zone 3 rises are fine; avoid sustained tempo blocks.\\n- Reset posture every **20–30 minutes**.\\n- Fuel with roughly **30–60 g carbohydrate per hour**, plus fluids.\\n\\n### Poor-AQI alternative — indoors\\n- Ride **90–120 minutes** at easy Zone 2.\\n- If saddle comfort is limiting, split it into **2 × 45–60 minutes** with a 5-minute off-bike break.\\n\\n### Fatigue adjustment\\nBecause this follows two consecutive gym days, shorten to **60–90 minutes easy** if your legs feel meaningfully heavy during the warm-up.\\n\\n### Cool-down\\n- 5–10 minutes very easy\\n- Light mobility for hips, chest, and thoracic spine\",\"exercises\":[]}]}",
"type": "text"
}
],
"structuredContent": {
"plans": [
{
"kind": "strength",
"notes": "- Warm-up: 8–10 min easy bike, then bodyweight squats and unloaded hip hinges.\n- Goblet squat: 3×10 @ 40 lb, RPE 7; rest 2 min. Keep torso controlled and full-foot pressure.\n- Dumbbell Romanian deadlift: 3×10 @ 12.5 lb/hand, RPE 5–6; rest 90 sec. Limit depth to the point before the pull behind the knees; prioritize a clean hip hinge.\n- Chest press machine: 3×8–10 @ 65 lb, RPE 8; rest 2 min.\n- Step-up: 3×8/side @ 7.5 lb/hand on a stable box; use 5 lb/hand if balance or push-off control declines.\n- Lat pulldown: 3×10 @ 100 lb, RPE 7–8; rest 2 min.\n- Lateral raise machine: 3×15 @ 35 lb, RPE 6–7; keep shoulders down.\n- Farmer carry: 3×60 sec @ 45 lb/hand; rest 90–120 sec. Maintain tall posture and controlled steps.\n- Front plank: 2×90 sec, stopping earlier if the low back sags.",
"title": "Full Body B — Technique + Hypertrophy",
"status": "completed",
"version": 1,
"exercises": [],
"statusNote": "",
"plannedDate": "2026-07-13"
},
{
"kind": "recovery",
"notes": "- 45–60 min easy bike, elliptical, or brisk incline walk at RPE 2–3; keep intensity in low-to-mid Zone 2.\n- Avoid chasing pace, watts, or elevation.\n- Mobility afterward: 2 rounds of 8 thoracic rotations/side, 30–45 sec hip-flexor stretch/side, 10 gentle hamstring flosses/side, 10 scapular wall-slide attempts, and 30 sec doorway chest stretch/side.\n- Optional easy core: dead bug 2×8/side.\n- Treat this as recovery, not an additional training stimulus.",
"title": "Easy Aerobic Recovery + Mobility",
"status": "completed",
"version": 1,
"exercises": [],
"statusNote": "",
"plannedDate": "2026-07-14"
},
{
"kind": "strength",
"notes": "- Warm-up: 8–10 min easy cardio plus 2 light ramp-up sets for leg press and row.\n- Seated leg press: 3×10 @ 220 lb, RPE 7; rest 2–3 min. Slightly lighter than Full Body A to manage weekly leg fatigue.\n- Dumbbell incline press: 3×10 @ 25 lb/hand, RPE 8; rest 2 min.\n- Chest-supported row: 4×12 @ 80 lb, RPE 7; use a comfortable neutral or semi-neutral grip.\n- Assisted chin-up: 3×8–10 with 80–85 lb assistance, clean full-range reps.\n- Seated leg extension: 2×12 @ 145 lb, RPE 8; rest 90 sec.\n- Rear-deltoid machine: 3×12–15 at RPE 6–7; choose a load that allows a brief squeeze without shrugging.\n- Triceps pressdown: 3×12–15 @ 32.5–35 lb, RPE 7.\n- Cable external rotation: 2×12/side @ 7.5 lb, slow and controlled.\n- Side plank: 2×45–60 sec/side.",
"title": "Full Body C — Upper-Back + Single-Leg Focus",
"status": "completed",
"version": 1,
"exercises": [],
"statusNote": "",
"plannedDate": "2026-07-15"
},
{
"kind": "cardio",
"notes": "- 12–15 min progressive warm-up, including 3×30 sec fast cadence with easy spinning between.\n- Main set: 3×8 min at upper Zone 3 to low Zone 4, RPE 7; recover with 4 min very easy spinning after each interval.\n- Keep output even across all three efforts. This should feel controlled, not like a maximal test.\n- Cool down 10–15 min easy.\n- Total time: approximately 60–70 min.\n- If legs remain unusually heavy from July 15, replace the intervals with 60 min steady Zone 2.",
"title": "Controlled Threshold Intervals",
"status": "completed",
"version": 1,
"exercises": [],
"statusNote": "",
"plannedDate": "2026-07-16"
},
{
"kind": "recovery",
"notes": "### Goal\nFinish feeling **fresher than you started** after Wednesday’s 96-minute strength session and Thursday’s threshold intervals.\n\n### Easy cardio — 35–50 min\n- Indoor bike, elliptical, or treadmill walk.\n- **Intensity:** RPE 2–3; mostly Zone 1 to low Zone 2.\n- Full-sentence conversation should remain easy.\n- Do **not** let this become another 135+ bpm steady workout if that no longer feels distinctly easy.\n\n### Mobility — 12–15 min\n- Hip-flexor stretch\n- Gentle hamstring flossing\n- Thoracic rotations\n- Doorway chest stretch\n- Calf stretch\n- Pain-free scapular wall slides\n\n### Optional core\n- Dead bug: **2 × 8/side**\n\n### Stop rule\nEnd the session early if it stops feeling restorative.",
"title": "Indoor Recovery + Mobility",
"status": "completed",
"version": 4,
"exercises": [],
"statusNote": "",
"plannedDate": "2026-07-17"
},
{
"kind": "strength",
"notes": "### Session goal\nConsolidate recent progress with **clean, repeatable reps** rather than adding load. Keep **1–2 reps in reserve** and cap the session at roughly **80–90 minutes**.\n\n### Warm-up\n- 8–10 minutes of easy cardio.\n- Perform 1–2 lighter ramp-up sets before leg press, incline press, row, and chin-ups.\n\n### Progression rule\nMost compound work in the previous Full Body A session was already around **RPE 8**. Hold loads steady today. Increase next time only when all prescribed reps are completed with consistent technique and the final set is clearly no harder than RPE 8.",
"title": "Full Body A — Consolidate Progress",
"status": "completed",
"version": 2,
"exercises": [
{
"notes": "**Technique:** Controlled depth and full-foot pressure.\n\n**Progression:** Do not increase yet.",
"authoredName": "Leg Press",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 8,
"min": 7
},
"reps": {
"max": 10,
"min": 10
},
"weight": {
"kind": "total",
"target_lb": {
"max": 230,
"min": 230
}
},
"rest_seconds": {
"max": 180,
"min": 120
}
},
"each_side": false
},
"canonicalName": "Leg Press"
},
{
"notes": "**Target:** Aim for 3 × 10 with clean reps.\n\n**Progression:** Increase only next session if this is clearly easier than RPE 8.",
"authoredName": "Dumbbell Incline Press",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 8,
"min": 7
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "per_hand",
"target_lb_per_hand": {
"max": 25,
"min": 25
}
},
"rest_seconds": {
"max": 150,
"min": 120
}
},
"each_side": false
},
"canonicalName": "Dumbbell Incline Press"
},
{
"notes": "Pause briefly at the back without shrugging.",
"authoredName": "Chest-Supported Row",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 8,
"min": 7
},
"reps": {
"max": 12,
"min": 12
},
"weight": {
"kind": "total",
"target_lb": {
"max": 85,
"min": 85
}
},
"rest_seconds": {
"max": 120,
"min": 90
}
},
"each_side": false
},
"canonicalName": "Chest-Supported Row"
},
{
"notes": "Use **80 lb assistance**. Increase to **85 lb assistance** if reps become jerky or range of motion shortens.",
"authoredName": "Assisted Chin-Up",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 8,
"min": 7
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "assistance",
"target_assistance_lb": {
"max": 80,
"min": 80
}
},
"rest_seconds": {
"max": 150,
"min": 120
}
},
"each_side": false
},
"canonicalName": "Assisted Chin-Up"
},
{
"notes": "Reduced from 105 lb because the last session reached RPE 9.",
"authoredName": "Seated Leg Curl",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 8,
"min": 7
},
"reps": {
"max": 10,
"min": 10
},
"weight": {
"kind": "total",
"target_lb": {
"max": 100,
"min": 100
}
},
"rest_seconds": {
"max": 120,
"min": 90
}
},
"each_side": false
},
"canonicalName": "Seated Leg Curl"
},
{
"notes": "Use the next small stack increase only if shoulder position remains clean.",
"authoredName": "Cable Face Pull",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 15,
"min": 15
},
"weight": {
"kind": "total",
"target_lb": {
"max": 27,
"min": 24
}
},
"rest_seconds": {
"max": 90,
"min": 60
}
},
"each_side": false
},
"canonicalName": "Cable Face Pull"
},
{
"notes": "Increase slightly from 19 lb only if you can resist rotation without leaning.",
"authoredName": "Pallof Press",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 12,
"min": 10
},
"weight": {
"kind": "total",
"target_lb": {
"max": 24,
"min": 19
}
},
"rest_seconds": {
"max": 75,
"min": 45
}
},
"each_side": true
},
"canonicalName": "Pallof Press"
},
{
"notes": "Use 60 seconds only while hips remain fully stacked.",
"authoredName": "Side Plank",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 8,
"min": 7
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 75,
"min": 45
},
"duration_seconds": {
"max": 60,
"min": 45
}
},
"each_side": true
},
"canonicalName": "Side Plank"
}
],
"statusNote": "",
"plannedDate": "2026-07-18"
},
{
"kind": "strength",
"notes": "Keep this session deliberately moderate because yesterday was a 90-minute full-body workout and tomorrow is the long endurance ride.\n\n- Warm up with 8–10 minutes of easy cycling plus shoulder circles.\n- Keep all working sets at **RPE 6–7**; stop with roughly 3 reps in reserve.\n- Avoid leg training, loaded carries, and any sets to failure today.\n- Use controlled reps: about 2 seconds lowering, smooth lift, no momentum.\n- Optional finish: 10 minutes very easy cycling and light chest/thoracic mobility.\n- If shoulders or elbows feel unusually fatigued from yesterday, reduce each exercise to 2 sets.",
"title": "Upper-Body Accessories + Cycling Posture",
"status": "completed",
"version": 7,
"exercises": [
{
"notes": "Use 35 lb if 40 lb would reproduce the prior RPE 8 effort.",
"authoredName": "Lateral Raise Machine",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 15,
"min": 12
},
"weight": {
"kind": "total",
"target_lb": {
"max": 40,
"min": 35
}
},
"rest_seconds": {
"max": 90,
"min": 60
}
},
"each_side": false
},
"canonicalName": "Lateral Raise Machine"
},
{
"notes": "Lead with the elbows and avoid shrugging.",
"authoredName": "Rear-deltoid machine",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 15,
"min": 12
},
"weight": {
"kind": "total",
"target_lb": {
"max": 70,
"min": 65
}
},
"rest_seconds": {
"max": 90,
"min": 60
}
},
"each_side": false
},
"canonicalName": "Rear-deltoid machine"
},
{
"notes": "Keep elbows close to the torso.",
"authoredName": "Triceps Pressdown",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 15,
"min": 12
},
"weight": {
"kind": "total",
"target_lb": {
"max": 34,
"min": 30
}
},
"rest_seconds": {
"max": 90,
"min": 60
}
},
"each_side": false
},
"canonicalName": "Triceps Pressdown"
},
{
"notes": "Use strict form; do not swing.",
"authoredName": "Dumbbell Curls",
"prescription": {
"sets": {
"max": 3,
"min": 3
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 12,
"min": 10
},
"weight": {
"kind": "per_hand",
"target_lb_per_hand": {
"max": 15,
"min": 15
}
},
"rest_seconds": {
"max": 90,
"min": 60
}
},
"each_side": false
},
"canonicalName": "Dumbbell Curls"
},
{
"notes": "Small, controlled range with the elbow fixed by the side.",
"authoredName": "Cable External Rotation",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 6,
"min": 5
},
"reps": {
"max": 15,
"min": 12
},
"weight": {
"kind": "total",
"target_lb": {
"max": 7.5,
"min": 7.5
}
},
"rest_seconds": {
"max": 60,
"min": 45
}
},
"each_side": true
},
"canonicalName": "Cable External Rotation"
},
{
"notes": "Use 24 lb only if the torso stays completely still.",
"authoredName": "Pallof Press",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 7,
"min": 6
},
"reps": {
"max": 12,
"min": 10
},
"weight": {
"kind": "total",
"target_lb": {
"max": 24,
"min": 19
}
},
"rest_seconds": {
"max": 60,
"min": 45
}
},
"each_side": true
},
"canonicalName": "Pallof Press"
},
{
"notes": "Work only through the range where ribs stay down; hands do not need to remain fully against the wall.",
"authoredName": "scapular wall-slide",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 5,
"min": 3
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 45,
"min": 30
}
},
"each_side": false
},
"canonicalName": "scapular wall-slide"
}
],
"statusNote": "",
"plannedDate": "2026-07-19"
},
{
"kind": "cardio",
"notes": "### Preferred option — outdoors\nUse this option only if outdoor air quality is acceptable.\n\n- **Duration:** 2–3 hours\n- **Intensity:** Steady Zone 2 / RPE 3–4\n- Brief Zone 3 rises are fine; avoid sustained tempo blocks.\n- Reset posture every **20–30 minutes**.\n- Fuel with roughly **30–60 g carbohydrate per hour**, plus fluids.\n\n### Poor-AQI alternative — indoors\n- Ride **90–120 minutes** at easy Zone 2.\n- If saddle comfort is limiting, split it into **2 × 45–60 minutes** with a 5-minute off-bike break.\n\n### Fatigue adjustment\nBecause this follows two consecutive gym days, shorten to **60–90 minutes easy** if your legs feel meaningfully heavy during the warm-up.\n\n### Cool-down\n- 5–10 minutes very easy\n- Light mobility for hips, chest, and thoracic spine",
"title": "Long Endurance Ride — AQI Conditional",
"status": "completed",
"version": 1,
"exercises": [],
"statusNote": "",
"plannedDate": "2026-07-20"
}
],
"end_date": "2026-07-26",
"start_date": "2026-07-13"
}
}