screen-locker/stronglift_replacement/workout_app
Krzysztof kuhy Rudnicki 6f2ec1fa86 Manual-workout phone sync P4: Dart model + validation
Dart port of the Python manual-workout model so the phone can build the same
signed-on-ingest sync payload the PC form produces.

- lib/models/manual_workout.dart: ManualWorkoutDraft (mirrors the Python
  dataclass), validateManualWorkout (ports validate_manual_workout: required
  fields, HH:MM end-after-start, min duration, RPE range, per-sport rules,
  reflection length), buildEntry/buildSyncPayload (byte-for-byte equivalent of
  the Python build_entry + kind/date), manualSyncRecordId, buildManualRecord.
  The MANUAL_WORKOUT_* constants are inlined here (a const-only file has no
  coverable lines and trips the 100%-coverage file-presence guard), replacing
  models/manual_workout_constants.dart.
- test/models/manual_workout_test.dart: the cross-language wire fixture (an
  identical literal to test_manual_workout.py::TestSyncWireFormat — this catches
  key-name/format drift between the two serializers) plus full validation
  coverage. 29 tests; manual_workout.dart is 100% covered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PM3auNTifaVgcXWDizZrjH
2026-07-13 12:55:05 +02:00
..
android Add manual (unverified) workout logging with evidence form 2026-07-05 20:08:52 +02:00
assets/sounds fix: restore per-rep breaks with audio/vibration 2026-05-31 16:32:37 +02:00
lib Manual-workout phone sync P4: Dart model + validation 2026-07-13 12:55:05 +02:00
test Manual-workout phone sync P4: Dart model + validation 2026-07-13 12:55:05 +02:00
.gitignore feat: add Flutter workout app (StrongLifts replacement) 2026-05-31 16:23:46 +02:00
.metadata feat: add Flutter workout app (StrongLifts replacement) 2026-05-31 16:23:46 +02:00
analysis_options.yaml Add comprehensive test suite, backup service, and linting to workout app 2026-06-28 08:11:43 +02:00
CONTEXT.md feat: add Flutter workout app (StrongLifts replacement) 2026-05-31 16:23:46 +02:00
pubspec.lock Add phone-workout GitHub sync via shared crdt_sync (Workstream C) 2026-07-11 00:06:59 +02:00
pubspec.yaml Add phone-workout GitHub sync via shared crdt_sync (Workstream C) 2026-07-11 00:06:59 +02:00
README.md feat: add Flutter workout app (StrongLifts replacement) 2026-05-31 16:23:46 +02:00

workout_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.