Files
healthlog/docs/tasks/items/read-api-points-bucket.md
T
av d33f37249c docs: документация переведена на канон av-dev-pm 3
- роадмап отвечает «что умеет и чего не умеет»: PLAN.md → ROADMAP.md, четыре
  канонические секции, достигнутые звенья строками в «Готово», цели
  переформулированы возможностями приложения
- задачи: род работы и «Затрагивает» набору спринта, 34 заголовка в форму
  действия, «Завершение» целей перечнями со ссылкой из каждой задачи
- вычитка проходами task-form и doc-wording, починены протухшие факты в README,
  паспорте и review.md
2026-08-04 20:48:30 +03:00

43 lines
3.0 KiB
Markdown

# Сворачивать точки по заданной сетке
- **Секция:** Ядро
- **Зачем:** «Шаги за неделю по дням» — базовый запрос трекера и игры, и сегодня его нечем задать
- **Теги:** goal:read-api, sprint:2026-08-04, kind:feature
«Шаги за неделю по дням» отвечаются одним запросом `?from&to&bucket`, и род
свёртки берётся измеренным, а не угаданным.
Род агрегации измерен каталогом (change `2026-08-02-katalog-i-rod-agregacii`):
сверка минутного слоя с часовым разложила метрики живого корпуса на
накопительные и мгновенные, не сойдясь ни на одной. Свёртка в ответе опирается
на это измерение и **только** на него: род неизвестен — свёртки нет.
Инвариант, который здесь легче всего нарушить: **нижний слой HAE не
суммируется** ни при какой сетке. Это интерполяция, а не сэмплы, и суммирование
завышает втрое.
Порог неполного ведра и предел размера ответа — соседние задачи; здесь они
берутся в том виде, в каком есть на момент вливания, и не проектируются.
Двигает строку «Завершения» цели: «Точки сворачиваются по заданной сетке измеренным родом агрегации».
## Затрагивает
Маршрут `GET /api/v1/metrics/{name}` — параметр запроса `bucket`, поля
`bucket` и `aggregation` в конверте ответа, код отказа на метрике с неизвестным
родом. Схемы и формата на диске не трогает.
## Критерии приёмки
- «шаги за неделю по дням» отвечаются одним запросом, и в ответе названы
фактические `bucket` и `aggregation` — оракул: запрос к поднятому сервису на
живом архиве
- нижний слой HAE не суммируется ни при какой сетке — оракул: тест на
накопительной метрике, у которой есть и нижний, и часовой слой
- метрика с неизвестным родом не сворачивается вовсе и отвечает отказом с
названной причиной, а не значением — оракул: тест
## Рамки
Схема не трогается, данные только читаются. Берётся после точек за период.