закрыта задача read-api-points-period
This commit is contained in:
@@ -7,7 +7,6 @@
|
|||||||
Урожай спринта поднимается `tasks.py list --tag sprint:2026-08-04` — это первая порция переоценки на сессии.
|
Урожай спринта поднимается `tasks.py list --tag sprint:2026-08-04` — это первая порция переоценки на сессии.
|
||||||
|
|
||||||
## Набор
|
## Набор
|
||||||
- [Точки за период](items/read-api-points-period.md) — Точки лежат в витрине и наружу не отдаются: «вес за год» достаётся только sqlite3 на хосте
|
|
||||||
- [Условный запрос по точкам](items/read-api-points-conditional.md) — Агент опрашивает по расписанию, а каждый повтор стоит полного чтения: на каталоге это 693 мс и +153 МиБ
|
- [Условный запрос по точкам](items/read-api-points-conditional.md) — Агент опрашивает по расписанию, а каждый повтор стоит полного чтения: на каталоге это 693 мс и +153 МиБ
|
||||||
- [Свёртка по сетке](items/read-api-points-bucket.md) — «Шаги за неделю по дням» — базовый запрос трекера и игры, и сегодня его нечем задать
|
- [Свёртка по сетке](items/read-api-points-bucket.md) — «Шаги за неделю по дням» — базовый запрос трекера и игры, и сегодня его нечем задать
|
||||||
- [Порог неполного ведра](items/read-api-partial-bucket.md) — Текущий час неполон всегда, и без порога свёртка отдаёт его наравне с полными — клиент видит провал вместо неизвестности
|
- [Порог неполного ведра](items/read-api-partial-bucket.md) — Текущий час неполон всегда, и без порога свёртка отдаёт его наравне с полными — клиент видит провал вместо неизвестности
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
# Точки за период
|
|
||||||
|
|
||||||
- **Секция:** ядро
|
|
||||||
- **Зачем:** Точки лежат в витрине и наружу не отдаются: «вес за год» достаётся только sqlite3 на хосте
|
|
||||||
- **Теги:** goal:read-api, sprint:2026-08-04
|
|
||||||
|
|
||||||
Потребитель получает значения метрики за период одним запросом `?from&to`, и из
|
|
||||||
конверта видно, что именно ему отдали: слой, род свёртки и границу окна, в
|
|
||||||
котором род измерен.
|
|
||||||
|
|
||||||
Форм запроса ровно две, и это один маршрут с необязательным параметром: здесь
|
|
||||||
только первая — все значения за период (вес, лекарства, симптомы). Разбивка —
|
|
||||||
соседняя задача.
|
|
||||||
|
|
||||||
**Клиент обязан видеть границы окна измерения.** Род метрики измерен по 48 самым
|
|
||||||
свежим **общим** часам, а не по последним 48 часам календаря: выключенная
|
|
||||||
минутная автоматизация HAE останавливает пополнение множества общих часов, и
|
|
||||||
окно замирает, продолжая объявлять род. Единственный след — `last_hour`; конверт
|
|
||||||
обязан его нести.
|
|
||||||
|
|
||||||
Форма конверта наследует решение задачи
|
|
||||||
[о форме провода](read-api-wire-format.md), а не принимает его заново.
|
|
||||||
|
|
||||||
## Критерии приёмки
|
|
||||||
|
|
||||||
- «вес за год» отвечается одним запросом без доступа к файлу базы — оракул:
|
|
||||||
запрос к поднятому сервису на живом архиве
|
|
||||||
- в ответе всегда видны `layer`, `aggregation` и `last_hour` — оракул: тест на
|
|
||||||
форме ответа
|
|
||||||
- метрика, у которой род не измерен, отдаётся без свёртки и говорит об этом, а
|
|
||||||
не молчит и не досчитывает — оракул: тест на метрике с неизвестным родом
|
|
||||||
|
|
||||||
## Рамки
|
|
||||||
|
|
||||||
Схема не трогается, данные только читаются, сервис перезапускается. Берётся
|
|
||||||
после формы провода. Против `./data` — только `task up` / `task run`.
|
|
||||||
Reference in New Issue
Block a user