--- name: m09-phone-core description: Phone.WatchBody (Android, Kotlin) — Room LocalDb, WorkoutCore (тренировка/допуск/дневник/перерывы), SyncQueue (client_guid, ≤50, идемпотентно) --- # m09-phone-core Телефонное ядро `3-app\4-phone\Phone.WatchBody` (Gradle, Kotlin, minSdk 26): `LocalDb` (Room — зеркала серверных таблиц с UUID-PK телефона + `sync_pending`), `WorkoutCore` (единственный писатель: жизненный цикл тренировки с `session_kind`, подходы с in_plan (план ± 2,5 кг / ± 0 повторов), журнал команд, дневник-минимум, предстартовый допуск по `Safety.*` (Р3-А), перерывы source=manual), `SyncQueue` (WorkManager: пакеты ≤ 50, `POST /api/v1/sync` с `X-Api-Key`, ретрай 1→64 мин, WifiOnly), `ApiClient`. Настройки — DataStore. Unit-тесты — pure JVM (без эмулятора). - Требования: [module_reqs.md](module_reqs.md) - План работ: [readme.md](readme.md) - Спецификации: [api_specs/](api_specs/)