Forge
Training

Routines & progression

A routine is a template: exercises in order, target set counts, rep ranges, rest times, and superset links. Start a workout from one and the progression engine fills in what it thinks you should lift today. The rules are below — all of them.

Reading time

Templates carry structure, history carries weights

Routines deliberately do not store weights. When you start a workout, each exercise pulls last session's sets as ghosts, and — when the routine sets a rep range — a computed suggestion. Weights are state, and the engine updates them every session; a weight frozen in a template would be wrong within three weeks.

Double progression, exactly

When a routine exercise has a rep range (say 6–10), starting a workout runs this check:

  1. Take every working set from your previous session of that exercise.
  2. If all of them hit the top of the rep range, suggest last top weight + increment (2.5 by default, configurable per exercise).
  3. Otherwise, no suggestion — finish filling out the range first.

Deload detection, exactly

With Deload hints enabled in Settings, a second check runs when you have not progressed:

  1. Look at your last three sessions of the exercise.
  2. If all three share the same top weight and none of them completed the rep target on every set, the lift is stalled.
  3. The suggestion becomes ~90% of the stalled weight, rounded to your increment.

The same detector feeds the Stalled lifts card on the stats page, so you hear about a stall on your sofa, not mid-set.