49 файлов, миграция сделана командой tasks.py check --fix — той самой, ради которой в скрипте оставлена читаемость старой формы. Побочно тот же прогон проставил тег decomposed целям, у которых есть задачи: это его штатная работа. check после миграции зелёный, индексы согласованы. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
28 lines
2.1 KiB
Markdown
28 lines
2.1 KiB
Markdown
# Выведенные из данных схемы содержимого
|
|
|
|
- **Секция:** ядро
|
|
- **Зачем:** Метрик больше сотни и формы точек разные — клиент вынужден угадывать структуру по выборке
|
|
- **Теги:** goal:self-description
|
|
|
|
Метрик у Apple больше сотни, формы точек разные, и рукописный каталог описывал
|
|
бы документацию HAE, а не то, что он реально прислал. Схема содержимого
|
|
**выводится из данных** тем же проходом разбора: незнакомая метрика описывает
|
|
себя сама, без релиза.
|
|
|
|
Схема отдаётся вместе со статистикой — для потребителя она важнее формального
|
|
типа: сколько точек, первая и последняя метка, единицы, доля присутствия поля.
|
|
|
|
Вывод ограничивается по глубине вложенности, иначе схема тренировки с маршрутом
|
|
разрастётся до размеров самих данных.
|
|
|
|
**Глубину вывода для тренировок выбираем по факту**, когда увидим, как приходят
|
|
маршруты: структура тренировки разнородна, и заранее назначенный предел либо
|
|
срежет полезное, либо не срежет ничего. Точка маршрута при этом описываться
|
|
должна — блоб трека не непрозрачен, это массив однотипных объектов.
|
|
|
|
Готово, когда клиент по `/api/v1/metrics/{name}/schema` видит поля, их типы и
|
|
присутствие, не выкачивая выборку.
|
|
|
|
Связано: `docs/architecture.md` → «Самоописание». Форму конверта API описывает
|
|
не эта задача, а OpenAPI.
|