- каждая запись каталога задач получила тип вместо тега kind: и префикса заголовка; секция роадмапа «Разработка» стала «Сопровождением», порядок секций канонический - поправлены протухшие факты: нереализованные маршруты Read API, MCP и `healthlog import`, словарь слоёв в инварианте, семантика гейта по покрытию диффа, периметр перестал дублировать security.md - замер слияния переведён с находки 49 на находку 54, заполнены Purpose спек storage и parsing
2.3 KiB
✨ Выводить схемы содержимого из данных
- Тип: feature
- Категория: Ядро
- Зачем: Метрик больше сотни и формы точек разные — клиент вынужден угадывать структуру по выборке
- Теги: goal:self-description
Метрик у Apple больше сотни, формы точек разные, и рукописный каталог описывал бы документацию HAE, а не то, что он реально прислал. Схема содержимого выводится из данных тем же проходом разбора: незнакомая метрика описывает себя сама, без релиза.
Схема отдаётся вместе со статистикой — для потребителя она важнее формального типа: сколько точек, первая и последняя метка, единицы, доля присутствия поля.
Вывод ограничивается по глубине вложенности, иначе схема тренировки с маршрутом разрастётся до размеров самих данных.
Глубину вывода для тренировок выбираем по факту, когда увидим, как приходят маршруты: структура тренировки разнородна, и заранее назначенный предел либо срежет полезное, либо не срежет ничего. Точка маршрута при этом описываться должна — блоб трека не непрозрачен, это массив однотипных объектов.
Готово, когда клиент по /api/v1/metrics/{name}/schema видит поля, их типы и
присутствие, не выкачивая выборку.
Связано: docs/architecture.md → «Самоописание». Форму конверта API описывает
не эта задача, а OpenAPI.
Двигает строку «Завершения» цели: «Формы содержимого метрик выведены из данных, а не описаны руками».