| name | plan-adjuster |
| description | Recomputes upcoming workouts based on recent runs, feedback, and safety limits. |
| metadata | [object Object] |
When Codex should use it
- Nightly job or immediately after a run is logged.
- When the user reports fatigue/injury or requests easier/harder weeks.
Invocation guidance
- Load
Plan, Workout, TrainingHistory, and RecentRunTelemetry[].
- Apply deterministic ceilings from
v0/lib/planAdaptationEngine.ts and v0/lib/plan-complexity-engine.ts before calling the model.
- Return
Adjustment[], optional RecoveryRecommendation, and confidence.
Input schema (JSON)
{
"profile": UserProfile,
"currentPlan": Plan,
"trainingHistory": TrainingHistory,
"feedback": { "rpeTrend"?: number, "soreness"?: string, "sleepQuality"?: string }
}
Output schema (JSON)
{
"appliedAt": string,
"updates": Adjustment[],
"recovery"?: RecoveryRecommendation,
"confidence": "low" | "medium" | "high",
"safetyFlags"?: SafetyFlag[]
}
Integration points
- API:
v0/app/api/plan/adjust (to add), or chat-triggered adjustments.
- Logic:
v0/lib/planAdjustmentService.ts, v0/lib/planAdaptationEngine.ts.
- UI: Plan/Today screens (badge adjusted sessions) and notifications via
v0/lib/email.ts.
Safety & guardrails
- Never rewrite completed history; adjust only future sessions.
- If fatigue/injury signals present, lower intensity/volume and consider rest-day insertion.
- Emit
SafetyFlag on unsafe load proposals; clamp to deterministic caps.
Telemetry
- Emit
ai_skill_invoked and ai_adjustment_applied with adjustments_count, confidence, safety_flags.