update_plan
Arguments
{
"date": "2026-07-18",
"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",
"exercises": [
{
"name": "Leg Press",
"notes": "**Technique:** Controlled depth and full-foot pressure.\n\n**Progression:** Do not increase yet.",
"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
}
},
{
"name": "Dumbbell Incline 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.",
"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
}
},
{
"name": "Chest-Supported Row",
"notes": "Pause briefly at the back without shrugging.",
"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
}
},
{
"name": "Assisted Chin-Up",
"notes": "Use **80 lb assistance**. Increase to **85 lb assistance** if reps become jerky or range of motion shortens.",
"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
}
},
{
"name": "Seated Leg Curl",
"notes": "Reduced from 105 lb because the last session reached RPE 9.",
"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
}
},
{
"name": "Cable Face Pull",
"notes": "Use the next small stack increase only if shoulder position remains clean.",
"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
}
},
{
"name": "Pallof Press",
"notes": "Increase slightly from 19 lb only if you can resist rotation without leaning.",
"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
}
},
{
"name": "Side Plank",
"notes": "Use 60 seconds only while hips remain fully stacked.",
"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
}
}
],
"old_version": 1
}Response
{
"content": [
{
"text": "{\"plan\":{\"plannedDate\":\"2026-07-18\",\"version\":2,\"approvalStatus\":\"proposed\",\"kind\":\"strength\",\"title\":\"Full Body A — Consolidate Progress\",\"status\":\"planned\",\"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.\"}],\"setupRequired\":false,\"unresolvedExercises\":[]}}",
"type": "text"
}
],
"structuredContent": {
"plan": {
"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": "planned",
"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",
"setupRequired": false,
"approvalStatus": "proposed",
"unresolvedExercises": []
}
}
}