49 файлов, миграция сделана командой tasks.py check --fix — той самой, ради которой в скрипте оставлена читаемость старой формы. Побочно тот же прогон проставил тег decomposed целям, у которых есть задачи: это его штатная работа. check после миграции зелёный, индексы согласованы. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB
[idea] Разворачивание маршрутов тренировок в отдельную таблицу
- Секция: ядро
- Зачем: Маршрут лежит блобом внутри тренировки — понадобится, только если появится клиент, которому мало отдачи одним пакетом
- Теги: goal:read-api
Тренировка хранится нераскрытой: заголовок — колонками, всё остальное, включая
маршрут и внутренние ряды, — блобом payload. Решение осознанное: структура
тренировки разнородна и избыточна (сводки дублируют ряды, находка 15), и
раскладывать её в таблицы значило бы решить за Apple, что в ней главное.
Разворачивание маршрута в отдельную таблицу точек имело бы смысл для запросов вида «все пробежки, проходившие через эту область» или «набор высоты по сегментам» — то есть когда маршрут нужен не целиком, а выборочно.
Почему идея, а не задача: такого клиента нет. Трекер тренировок берёт тренировку целиком одним пакетом, и этого ему достаточно.
Связано: docs/architecture.md → «Тренировки и прочие секции».