Your split. Your rounds.
v1.7.5 shipped six mechanics that gave the app more of a coach's brain — mesocycles, RPE, high-target ceilings. This release goes the other direction: giving you more control over how a session actually plays out. Pick which day of your Focus Split runs next. Add another round to a circuit when you're feeling it. Two small features that solve gnats-that-were-buzzing.
Your Focus Split, your rotation
Home's NextWorkoutCard finally understands Skill Focus Splits properly. Before: if you had a 5-day handstand split going, Home would still cycle you through the strength-split rotation, not your Focus Split's day list. Confusing. Now the card points at the right day of your Focus Split — Day 3 of 5 for handstand, or wherever the app thinks you are.
More importantly: the day you land on is now yours to set. Open your Focus Split (Programs → Skills → the family you picked), and every day-row has a small "•" pin toggle on the right. Tap it to set that day as your rotation's active day. Home instantly points at that day; every "Start next workout" from Home takes you there until you set a different one.
Why this exists. Focus Splits are curated 5-day blocks. That's flexible enough for most people, but not for the trainer who wants to run Day 2 twice in a row because they nailed the pull work, or the traveller who wants to hit the recovery day mid-week. Instead of adding a per-day scheduler (too heavy), the pinned-active-day flag lets you steer the rotation without changing the content. Simple, undoable, gets out of the way.
What you'll see. In the Focus Split detail view, one day-row will show as pinned (small dot next to the day number). Tap the pin on another day to move it. Tap the same pin to clear. Home shows the pinned day as "next" — no "Day X of Y" fiction based on your strength split's phase counter.
Bonus rounds inside circuits
The "+ Add set" affordance from v1.7.3 gave you a way to stretch a straight-set exercise mid-workout. Circuits didn't get that — if you were doing a 3-round push/pull/leg circuit and felt like squeezing out a fourth round, you had to skip the auto-Finish and hack it manually.
v1.7.6 adds "+ Add round" to circuit phases. Same idea, mirror behavior. When you've completed all prescribed rounds and any exercises are still on the "logged" state, a button appears at the bottom of the circuit view: Add round. Tap it, a fresh round of all circuit exercises appears, target defaults carry forward from your best round. Auto-progression skips the bonus rounds (target math only reads the prescribed rounds), so you don't accidentally teach the app to expect four rounds next time.
Why this exists. Conditioning circuits especially — some days you have gas in the tank after Round 3 and you'd rather grind one more than end the session early. Now you can. The prescription stays honest (you programmed 3 rounds; you did 3 + bonus), the workout summary flags the bonus, and next session's target is untouched.
Small footnote: warm-up phases don't get the button. That's on purpose — warm-ups are structural and don't benefit from bonus volume.
Wider graduation coverage
The 20-rep ceiling from v1.7.5 (rep targets stop at 20, then suggest the next variant) shipped with 293 movements linked to their next progression. v1.7.6 expands that to 448 movements — a further 155 links across squats, dips, planks, hangs, and rows that were missing coverage.
If you're doing a movement where you'd hit 20 clean reps and there's a natural harder variant, you'll now see the graduation suggestion in the workout summary regardless of which program you're running. Common examples this release closes: goblet squats → front squats, dip variants across parallel bars and rings, hollow-body / plank progressions, deadhang → active hang → L-hang chain.
Movements without an authored next variant still just freeze silently at the cap — same behavior as before, just fewer of them.
Conditioning volume, tuned down
Conditioning & Cardio (program 19) had three exercises programmed at 10 sets: dips (parallel bars), regular push-ups, diamond push-ups. That was a copy-paste from a HIIT template that didn't survive real-world testing — 10 sets of push-ups adds ~15 minutes to a session that was supposed to be short and sharp. Trimmed all three back to 5 sets, which lines up with the rest of the program.
If you were running Conditioning & Cardio before v1.7.6: your next session's prescription will match the new counts. No history rewrite — past runs stay as-is.
Under the hood
Fixed: Tapping "Next exercise" from inside a circuit's Extras (accessories) phase used to do nothing when there wasn't a next phase queued. Now it falls back to the first unattempted exercise so you can loop back and finish what you started.
Test infrastructure. Added a mocked-Prisma test harness for route-level integration tests (src/__tests__/helpers/mockPrisma.ts) plus 7 exemplar tests for the /complete endpoint. Non-user-facing but it means new endpoints going forward can be integration-tested without a test DB. Reduces the regression risk on subsequent releases.
What's next
The big arc still queued is Wedge D — migrating skill and strength programs onto the same rung-based content model as Foundations. That'd retire the level-picker entirely and give every exercise the same adaptive-progression treatment. Design work is on the table.
Also mulling a Handstand Coach angle — record a handstand from the side, get pose-overlay + form cues. Early days. If you'd want that, reply on Instagram and I'll tune the scope based on what people actually want it to answer.
Bug reports and feature ideas: support@zenmotion.app.
Train well.