Skip to content

feat: custom mode user-controlled weight/reps (PRD #51 US2)#53

Open
tomkis wants to merge 4 commits intomainfrom
feat/custom-progression-mode
Open

feat: custom mode user-controlled weight/reps (PRD #51 US2)#53
tomkis wants to merge 4 commits intomainfrom
feat/custom-progression-mode

Conversation

@tomkis
Copy link
Copy Markdown
Owner

@tomkis tomkis commented Mar 25, 2026

Summary

  • Add changeReps domain method + event + API mutation for custom mode reps input
  • Custom mode adjust overlay: two NumericalInput fields (weight + reps) instead of slider
  • Skip exercise assessment prompt in custom mode (null assessment stored)
  • Skip lifestyle feedback modal in custom mode
  • Exercise replacement mid-workout starts blank (null weight/reps) in custom mode
  • Thread progressionMode from mesocycle to workout UI via enriched getWorkout return type

Closes PRD #51 User Story 2: "As a user who prefers manual control, I want to enter my own weight/reps each workout so that the app doesn't override my programming decisions."

Test plan

  • pnpm typecheck — 0 errors
  • pnpm lint — 0 errors (6 pre-existing warnings)
  • pnpm knip — clean
  • pnpm test — 332/332 passing
  • Manual: custom mode → open adjust overlay → weight + reps inputs shown (no slider)
  • Manual: custom mode → finish exercise → no assessment modal
  • Manual: custom mode → finish last exercise → no lifestyle feedback modal
  • Manual: custom mode → replace exercise → new exercise has blank sets

Findings

  • exerciseAssesment on FinishedWorkingExercise is now nullable — downstream getProgressionType guards for null but custom mode never reaches extendMicrocycle (throws)
  • progressionMode is NOT on workoutSchema (causes issues in internal workout construction); instead enriched at the getWorkout API boundary
  • ExerciseRepsChanged event only updates pending sets (done/failed sets keep their reps)

🤖 Generated with Claude Code

…back, blank replacement

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tomkis and others added 3 commits March 25, 2026 16:18
…nputs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant