Commit Graph

  • 2f8c6095a7 m13-fenix-data-field (итерация 5, последний модуль v1): поле данных Connect IQ «Феникс» для профиля «Силовая» Fenix 6X — errata Ф-2.3/Ф-2.1 (утв. гейт 1.3): события Strength Set в CIQ API нет ни в одной версии → подход = Lap→Lap (onTimerLap), «время подхода» = с последнего Lap; ядро Monkey C (source/): ZoneCalc (зоны 50/70/85 % целочисленно в масштабе ×10, Танака 2080−7×age / ручной hrMaxBpm), SetTracker (среднее интервала с null-пропуском, округление к ближайшему без Float), RestTimer (старт по Lap, окончание — ровно один сигнал), Vibe (конец отдыха лёгкая / красная двойная, гистерезис 60 с, safeVibrate Ф-2.8), Format (mmss целочисленно), FieldSettings (properties restSec 30–600/hrMaxBpm 0–250/age 14–100 с клампами, getApp null-safe); экран — параметрический (без фиксированных координат: плашка зоны цвет+подпись, пульс FONT_NUMBER_THAI_HOT→MEDIUM адаптивно, строка ПОДХОД/ОТДЫХ mm:ss·ср N, прочерки), ru/en ресурсы, иконка 40×40; тесты: штатный harness monkeydo /t несовместим с девайс-паком docker в симуляторе (Unexpected Type Error у любого тестового prg, проверено минимальным проектом) → собственный раннер test-source/ (watch-app TestEntry + CoreChecks, в release не попадает — base.sourcePath задан явно): 54/54 в симуляторе fenix6xpro, раннер поймал 3 бага ядра (шкала порогов зон, слагаемое округления avgBpm, конкатенация mmss) — исправлены; тулчейн: SDK 4.2.2 (Wayback) + девайс-паки из docker 4.1.7 → %APPDATA% (таргет fenix6xpro), developer-ключ ОБЯЗАН быть RSA-4096 PKCS#8 DER (2048 молча отвергался прошивкой — Signature check failed, подтверждено сэмплем Garmin); мультитаргет-инвариант: fenix6 260×260 + fenix6s 240×240 собираются только заменой iq:product, правок кода 0; симулятор 4.2.2 не хостит поля данных → интерактивный смок (спека 03 §5) и sideload (Developer Mode → USB → GARMIN\APPS\DataField) — приёмка владельца, инструкция в readme; Monkey C-ловушки зафиксированы (строки == по ссылке, число+строка не склеивается, dc.setFont нет на API 3.x — justification 5-м аргументом); errata НД внесена после гейта 1.3: requirements Ф-2.1/Ф-2.3, tech-req 7п.1; plan.md m13 ✅ — все 13 модулей v1 завершены main virus-home 2026-10-19 17:56:34 +0500
  • d4867acefd m12-watch-channel (итерация 5): live-пульс с Fenix 6X — errata ОВ-3: companion-канал Connect IQ нереализуем на fenix 6X (CIQ ≤4.1.7, Communications в полях данных с API 5.0), транспорт = штатная трансляция «Broadcast Heart Rate» (BLE Heart Rate Service, односторонний, без GCM/ANT-железа) за интерфейсом WatchTransport — мультичасовая инфраструктура (указание владельца: любые часы со стандартной трансляцией, CIQ 5+/ANT+ — будущие реализации); таймер отдыха на часах автономный (Ф-2.4 errata, настройка поля, умолчание Rest.DefaultSec); ядро: HrBleClient (скан 0x180D→indications 0x2A37, оба поколения GATT-колбэков, батарея 0x180F опц., автопереподключение 1/5/30 с) + HrPacketParser + HrSampleStore + фасад WatchChannel (статусы/avgHr/freshHr/series, в БД не пишет) + WatchFormat + DeviceScanner; UI: статус-строка и блок пульса 44sp+зона+Canvas-линия последнего подхода на «Тренировке», finishWorkout(avgHr)→sync avg_hr, «Взять с часов» (≤30 с) на «Допуске», блок «Часы» (скан 15 с/выбор/забыть/инструкция) в «Настройках», 5 BLE-разрешений; unit 89/89 (m12 +26), APK 57,3 МБ; errata НД: requirements Ф-2.4/Ф-3.2/ОВ-реестр№3, tech-req 3п.3+7п.1, architecture 1.1/1.2/3/1.4; BLE на устройстве — приёмка владельца virus-home 2026-10-19 14:08:54 +0500
  • 28445f28b9 m11-voice-input (итерация 5): голосовой офлайн-учёт Ф-1 — Vosk-STT (грамматика-список слов + fallback на свободный разбор, n-best 3), парсер Ф-1.2 (NumberRu 0–999 словами/цифрами, «с половиной» → +0,5 кг только у веса, «эр пэ э»→«рпэ», Rejected out_of_grammar/out_of_range), executor через WorkoutCore 🛡 + журнал каждой команды (Ф-1.5), TTS-подтверждения + сигналы BEEP/NACK, Mic-кнопка (RECORD_AUDIO runtime, диалог загрузки модели ~44 МБ alphacephei → filesDir, не в APK/репо), «текущее упражнение» тапом в плане, блок «Распознавание речи» в настройках (URL/статус/загрузка/Проверить TTS); расширения: WorkoutCore.setLastSetRpe + DAO lastSet (m09), AppSettings.voiceModelUrl + https-валидатор (m10); unit 63/63 (m11 — 27), APK 57,3 МБ (vosk JNI ×4 ABI); errata vosk-android 0.3.47 (stop/shutdown, onResult/onFinalResult, TONE_PROP_NACK); распознавание на устройстве — приёмка владельца, КУ-1 вручную virus-home 2026-10-19 10:37:51 +0500
  • e4be7ceb31 m09-phone-core + m10-phone-ui (итерация 4): телефон Android — Room LocalDb, WorkoutCore (in_plan/допуск/перерывы manual), SyncQueue/ApiClient, Compose UI (8 экранов, тёмная M3); unit 36/36, APK 12 МБ, живые смоки sync; errata контрактов: client_guid-UUID (+guid daily_log/profile), GET active camelCase, program_version flat+version, sex m/f virus-home 2026-10-19 09:39:03 +0500
  • d61499025c Этап 7, итерация 3 завершена: m08-admin-web (консоль владельца) virus-home 2026-10-19 01:31:45 +0500
  • f41bf9a0d2 Этап 7, итерация 2 завершена: m06-fit-import + m07-fit-fetch virus-home 2026-10-18 23:58:53 +0500
  • f232d592a4 Этап 7: итерации 1–2 — m01–m05 серверной части + обе волны ревью 2026-10-18 (З-35…З-42) virus-home 2026-10-18 20:11:40 +0500
  • a1b4969f57 Ревью №3 утверждено: Ф-13.7 источник не программа (З-30), импорт пакета программы ОВ-11 + program-import-format.md + src.program.external_id (З-31, О-4-Б), backspace в 2-db readme (З-33), косметика (З-34) virus-home 2026-10-17 23:10:41 +0500
  • 0e8e3a6ad6 Ревью №2 утверждено: uuid-FK (Р2-Б доведён), контур break (planned_return, source auto|manual), якорь Fenix 6X (vision 1.5), ОВ-10, Safety.HrStrengthMax, fetch 15 мин, «с половиной» (О-2-Б), IsoStepKg (О-3-А), migrate-режим, src.migration virus-home 2026-10-17 23:03:28 +0500
  • e6743186da Архитектура v1.1 утверждена (шапка выверена: vision v1.4, требования v1.3) virus-home 2026-10-17 19:57:32 +0500
  • 767ec4bc59 Утверждены: requirements v1.3, architecture v1.1, tech-requirements v1.3, tables/functions (UUID PK, breaks), чек-лист ревью закрыт virus-home 2026-10-17 19:56:39 +0500
  • 36eb1741dd Волна 2 ревью по решениям владельца: Р1-А (пульс покоя/самочувствие в v1), Р2-Б (UUID PK клиентских сущностей), Р3-А (Safety на телефоне); З-7/З-8; UI/UX-стандарт в техтребованиях virus-home 2026-10-17 19:54:31 +0500
  • 1034c152f5 Интеграция документа перерывов (vision 1.4, Ф-14: auto-break + вопрос атлету, формула возврата, правила 12-17, breaks/session_kind) + волна 1 errata ревью (З-5,6,9-14) + З-2 архитектура virus-home 2026-10-17 19:40:40 +0500
  • 0554f176ba Шаг 6 завершён: functions.md слоёв src и ref утверждены virus-home 2026-10-17 19:15:37 +0500
  • 695b5d9bf2 Шаг 6: tables утверждены; черновики functions.md слоёв src (30 функций) и ref virus-home 2026-10-17 19:13:22 +0500
  • 74f57a5f6e Шаг 5 утверждён; шаг 6: решение о БД, readme БД, tables.md слоёв src и ref virus-home 2026-10-17 19:10:19 +0500
  • 2b3b0125fa Тех-требования и архитектура: Safety-пороги, daily_log, RPE/боль по сетам, РПЭ в грамматике virus-home 2026-10-17 19:05:29 +0500
  • 842876802c Интеграция документа метрик (vision 1.3, Ф-13, правила координации 1–6, Safety-пороги, daily_log, RPE) virus-home 2026-10-17 19:04:31 +0500
  • 9243df024e Именование: базовое имя WatchBody; компоненты Phone.WatchBody и Server.WatchBody virus-home 2026-10-17 18:56:48 +0500
  • 2b3ce40673 Шаг 4 утверждён; шаг 5: tech-requirements.md (закрытие ОВ, форматы обмена, конфигурация) + спецификация Kit.Helpers virus-home 2026-10-17 18:54:37 +0500
  • 112f55c43c Идентификатор системы приведён к имени репозитория: VEU.WathBody (продукт — «Феникс 6X») virus-home 2026-10-17 18:49:39 +0500
  • e84349e020 Шаг 3 утверждён; шаг 4: architecture.md + hld.puml (+svg/png рендер) virus-home 2026-10-17 18:46:11 +0500
  • 616df9a1a1 Админ-консоль: ход тренировки в карточке — таймлайн подходов/отдыха из .fit, пульсограмма virus-home 2026-10-17 18:25:12 +0500
  • 3be4f9dc3c Админ-консоль: раздел «Планы тренировок» — план/факт по запланированным тренировкам, сводка выполнения virus-home 2026-10-17 18:24:52 +0500
  • 0b2c68614c Изменение vision 1.2: веб — админ-консоль владельца (вход по логину/паролю); просмотр всех тренировок, динамика, корректировка программ, управление атлетами; требования — черновик 3 virus-home 2026-10-17 18:24:28 +0500
  • acfef60245 Изменение vision 1.1 (несколько атлетов на сервере, разные модели часов); требования — черновик 2 virus-home 2026-10-17 18:20:02 +0500
  • 7f88753be0 Шаг 2 утверждён (readme); шаг 3: черновик функциональных требований v1 virus-home 2026-10-17 18:06:05 +0500
  • 3df0486303 Шаг 1: vision v1.0 утверждён; шаг 2: рабочая область (структура, .gitignore, readme системы), план проекта virus-home 2026-10-17 18:00:38 +0500