screen-locker/stronglift_replacement
Krzysztof kuhy Rudnicki 9e4c45dfa3 Split manual_workout.dart (410) into four part files
manual_workout.dart             constants, the draft, buildEntry
  manual_workout_validation.dart  duration and per-sport rules
  manual_workout_sync.dart        sync payload + record id
  manual_workout_budget.dart      rolling budget accounting

This file is a cross-language contract: its JSON keys must match the Python
side's build_sync_payload / manual_sync_record_id. Nothing was retyped, and
both sides' fixtures still pass -- 16 Python wire-format tests and all 402
Dart tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EveB813BQ8abAP68VSqZ5Y
2026-08-15 21:41:59 +02:00
..
workout_app Split manual_workout.dart (410) into four part files 2026-08-15 21:41:59 +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