The client logs the workout. At some point somebody — the coach, or the client training alone — has to decide one thing: raise the load, lower it, or leave it as it is. It looks like it is enough to compare prescribed with performed and answer. But there is a trap in the middle, and it decides how PulsoGym reads training history.
The asymmetry that organises everything
Describing and recommending have very different costs of being wrong.
Describing a single session is always true. "In this session failure came before the prescribed reps" is a fact. The reason does not matter — the fact happened, and it is worth showing.
Recommending a change based on a single session is an expensive mistake. The person slept badly. Arrived late and cut the rest. Was at the end of a hard week. Any of those explains a bad session without anything being wrong with the prescription — and a suggestion to lower the load would turn an atypical day into a permanent regression of the training.
Describing is per session. Recommending requires a trend.
How this shows up on screen
The two parts look close together, but they use different time windows:
| Block | Window | Role |
|---|---|---|
| Day reading, "How the load is going" | 1 session | reports what happened |
| Suggested adjustment | up to 4 sessions | proposes changing the prescription |
The day reading never hides anything — it shows the session as it was. The adjustment suggestion only appears when there is repeated evidence.
The criterion: read four sessions, require two in a row
The app looks at the last four sessions of each training day and counts, from the most recent backwards, how many in a row got the same verdict — light, calibrated, or heavy. Only when that run reaches two does a suggestion appear. And it shows its own criterion: "In 2 sessions in a row, failure came before the prescribed reps" is not decoration — it is the size of the evidence, laid out so whoever decides can agree or disagree with it.
Why read four and require only two
The slack exists so the trigger does not depend on training frequency. Someone who does a specific day once a week would take a month to accumulate four sessions; requiring all four would lock the suggestion forever. Reading more than you require also leaves room to raise the criterion later without changing how the data is read.
Any different verdict breaks the run — including not having trained
If one session came out heavy, the next was skipped, and the one after came out heavy again, the run counts 1 — not 2 — and nothing is suggested. It is deliberately conservative: a hole in the history is a hole. There is no way to know what would have happened in the session that never existed, and filling that gap with optimism is how a wrong recommendation is born.
The suggestion only looks at the current state
If the most recent session already came out calibrated, there is no suggestion — even if the three before it were heavy. The pattern that created the problem has passed, probably because somebody already adjusted something. Suggesting based on a pattern that has ended would be talking about the past, not guiding the next workout.
A filter that comes first: tolerance
Before sessions are even counted, each individual session passes through a tolerance margin: one rep more or less out of thirty is not a signal of anything — it is normal execution variance. Without that margin almost every session would be classified as light or heavy by noise, and requiring a run would not be enough on its own: two noisy sessions in a row would produce a trend that looks like solid evidence without being one.
Tolerance cleans the noise within a session. Requiring a run cleans chance between sessions. One does not replace the other.
Instrument, do not prescribe
An app that suggests after every session is, in practice, prescribing — just slowly, one nudge at a time. An app that requires repetition, shows the criterion and, when more than one path fits, offers the options — lowering the load and dropping a set solve different problems, load too high versus volume that cannot be sustained — is instrumenting whoever decides. The difference is not in the tone of the text on screen; it is in how many sessions the trigger requires before it speaks.
An honest limitation
The prescribed target of each exercise is read once, and the same value is applied to every session in the window — that is, the history is compared against today's prescription, not against the one in force at each past session. If the load went up last week, older sessions can look "heavy" against the new target without ever having been heavy against the target that applied at the time.
In practice the effect is usually small, because applying a suggestion changes the next verdict and the run breaks on its own. But it is a real imprecision, and it is worth saying so plainly rather than letting the screen look more exact than it is.