Recovery
Each muscle gets a fatigue score between 0% (fully recovered) and 100% (recently trained hard). Calculated from completed sets in the last 14 days, with exponential decay using muscle-specific half-lives (12–60h).
The planner uses these scores to pick which muscle groups to train today — the freshest groups bubble to the top.