Shipped
-
Exercise schema upgrades (flexibility without breaking progression)
- Added
is_optionalfor exercises that can be skipped without impacting streaks - Added
alternative_exercise_definition_idsfor swappable exercises - Added
laddermetadata to support bodyweight ladder semantics - Updated execution tracking to store selected alternatives and anchor weights
- Added UI for managing exercise variations and updating anchors
- Added
-
Workout execution semantics
- Added set status:
skipped(distinct from fail/incomplete) - Added “End session early” confirmation when required sets are pending
- Updated workout log validation + streak logic to correctly interpret skipped sets
- Added set status:
-
Anchor-aware load resolution (big engine accuracy upgrade)
- Introduced
resolve-target-load.tsto compute target loads based on:- anchor semantics
- offsets
- transposition rules
- Added working-set and training-max modes inside exercise definitions
- Improved validation for working-set anchors (rep counts + transposition requirements)
- Introduced
-
Routine schema for templates + future catalog
- Added routines fields for template/instance and publishing workflows:
kind,edit_policy,template_id,template_revisionis_catalog_item+ publisher fields
- Added indexes for query performance on new schema fields
- Updated ERD + backend docs + additive ownership model documentation
- Added routines fields for template/instance and publishing workflows:
-
Schedule standardization + migrations
- Standardized weekday indexing to a Monday-start week (0=Mon … 6=Sun)
- Added migration logic to keep existing routines compatible
-
Preset expansion
- Added multiple new presets including:
- Starting Strength — Novice Linear Progression
- Couch to 5K — 9 Weeks
- Expanded exercise definitions (e.g., barbell biceps curl, skullcrusher, barbell lunge)
- Added multiple new presets including:
Why
- Users need flexibility (optional work, swaps) without breaking progression and streak logic
- Skipped semantics makes logs truthful and lets “partial” sessions remain coherent
- Anchor-aware load resolution improves correctness for real programming patterns (working sets, TM, offsets)
- Template/catalog schema lays the groundwork for sharing, publishing, and future ownership workflows
- Monday-based weekday indexing reduces calendar confusion globally and standardizes schedule math
Notes
- This release includes migrations and schema expansion; legacy routines/logs remain supported.
- The engine path is now better prepared for advanced templates and future catalog workflows.
Next
- Expand the swaps UX (smart defaults, same-modality validation, “set anchor weight on first use” flows)
- Improve streak rules transparency (show when skips do/don’t count)
- Continue tightening template/instance governance rules as publishing becomes real