Files
healthlog/docs/tasks/items/read-api-partial-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

42 lines
3.3 KiB
Markdown

# Отличать неполное ведро от полного
- **Секция:** Ядро
- **Зачем:** Текущий час неполон всегда, и без порога свёртка отдаёт его наравне с полными — клиент видит провал вместо неизвестности
- **Теги:** goal:read-api, sprint:2026-08-04, kind:feature
Ведро, в котором известна не вся сетка, отличимо от полного — а полярность
порога названа вслух, а не выводится читателем из умолчания.
Измерению рода агрегации порог не понадобился: у него две конкурирующие
гипотезы, и неполный час не сходится ни с одной сам собой. Свёртке в ответе он
нужен — текущий час неполон **всегда**, и без порога накопительная метрика
показывает за него провал вместо неизвестности.
**Готовые решения задают порог противоположно.** Graphite `xFilesFactor` — доля
обязательно известных точек (умолчание 0.5 при свёртке на записи и 0 при
отдаче ответа: один параметр с двумя умолчаниями), RRDtool `xff` — доля допустимо неизвестных. Обе
величины выглядят как «0.5», означая разное. Полярность придётся назвать вслух,
иначе через полгода два места кода поймут поле по-разному — и разойдутся молча.
Двигает строку «Завершения» цели: «Неполное ведро отличимо от полного, и полярность порога названа».
## Затрагивает
Форма ответа свёртки — признак неполного ведра рядом со значением. Конфиг и его
образцы — порог с названной полярностью. Раздел о свёртке в
`docs/architecture.md`. Схемы и формата на диске не трогает.
## Критерии приёмки
- полярность и умолчание порога названы в `docs/architecture.md` одной
формулировкой, и там же сказано, у какого из двух прототипов взято — оракул:
глазами по разделу
- ведро ниже порога помечено неизвестным, а не отдано значением — оракул: тест
на границе: ведро ровно на пороге и на единицу ниже
- текущий незакрытый час не выглядит провалом накопительной метрики — оракул:
запрос за сегодня на живом архиве
## Рамки
Схема не трогается, данные только читаются. Берётся после свёртки по сетке.