three things got done: Rebuilt the Progress tab and made its numbers trustworthy. Tap any of these to read the whole thing.
The Progress screen got a fresh, premium look, but the numbers behind it weren't honest yet. The strength estimate counted every set, warmups, lighter back-off sets, all-out final sets, so it could look like you'd hit a personal record when you really hadn't, and the big number on screen didn't match the one the AI coach uses. The volume section just counted sets without saying whether you were behind on anything, and there was no sign of how confident the app was in a lift.
Built by several focused helpers in stages, one for the data, two for the screen, and two independent reviewers whose job was to attack it. The reviewers caught two real problems (a freshly-tracked lift could show "0.0 kg", and the little up/down number didn't line up with the headline); both were fixed and pinned with tests. Everything hides gracefully when there's no data. App builds clean and the 6 new tests pass.
A batch of leftover bugs from the sign-in security work could lose or mis-save data right after the app starts, before it has finished quietly signing in:
Each fix was built test-first (a failing test that proved the bug, then made green), reviewed by a separate independent check, and the full nearby test groups were re-run green before merging. Each one was its own small, single-purpose change on its own branch and pull request.
Yesterday we decided to throw away the half-built new look and keep the old four-tab app. Today that change actually went live on the main copy of the code, and I cleaned up all the leftover paperwork that the decision created.
The new code built cleanly and the launch tests passed before the merge; the merge into main was a clean fast-forward. The closed tickets were verified against the actual code and the merged removal first.