screen-locker/stronglift_replacement
Krzysztof kuhy Rudnicki 2bb84f6d1b Split progression_sync_service.dart (433) into four
progression_sync_service.dart          client, record IO, JSON mapping
  progression_sync_service_push.dart     push local progression
  progression_sync_service_pull.dart     pull remote progression
  progression_sync_service_session.dart  the shared active session

Extensions are safe here: no test fake subclasses ProgressionSyncService, so
static dispatch cannot swallow an override the way it did for
WorkoutSyncService. Static members need qualifying from inside an extension
(ProgressionSyncService._stateToJson, .pathForExercise).

402 Dart tests; dart analyze clean; coverage gate passes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EveB813BQ8abAP68VSqZ5Y
2026-08-15 21:44:43 +02:00
..
workout_app Split progression_sync_service.dart (433) into four 2026-08-15 21:44:43 +02:00
design.md Make the phone's manual-workout budget agree with the PC, twice over 2026-08-09 17:34:46 +02:00
dfesign_v2.md Make the phone's manual-workout budget agree with the PC, twice over 2026-08-09 17:34:46 +02:00