- конверт и точки разложены на форму провода, точки за период и условный запрос; свёртка — на сетку, порог неполного ведра и предел размера ответа; тренировки и записи разъехались на два независимых маршрута - openapi-swagger разложена на спеку, гейт против расхождения и Swagger UI — все три вне набора, вместе с mcp-server - набор спринта 2026-08-04 — весь HTTP-слой чтения, восемь задач
34 lines
2.7 KiB
Markdown
34 lines
2.7 KiB
Markdown
# Порог неполного ведра
|
|
|
|
- **Секция:** ядро
|
|
- **Зачем:** Текущий час неполон всегда, и без порога свёртка отдаёт его наравне с полными — клиент видит провал вместо неизвестности
|
|
- **Теги:** goal:read-api, sprint:2026-08-04
|
|
|
|
Ведро, в котором известна не вся сетка, отличимо от полного — а полярность
|
|
порога названа вслух, а не выводится читателем из умолчания.
|
|
|
|
Измерению рода агрегации порог не понадобился: у него две конкурирующие
|
|
гипотезы, и неполный час не сходится ни с одной сам собой. Свёртке в ответе он
|
|
нужен — текущий час неполон **всегда**, и без порога накопительная метрика
|
|
показывает за него провал вместо неизвестности.
|
|
|
|
**Готовые решения задают порог противоположно.** Graphite `xFilesFactor` — доля
|
|
обязательно известных точек (умолчание 0.5 при роллапе и 0 при рендере: один
|
|
параметр с двумя умолчаниями), RRDtool `xff` — доля допустимо неизвестных. Обе
|
|
величины выглядят как «0.5», означая разное. Полярность придётся назвать вслух,
|
|
иначе через полгода два места кода поймут поле по-разному — и разойдутся молча.
|
|
|
|
## Критерии приёмки
|
|
|
|
- полярность и умолчание порога названы в `docs/architecture.md` одной
|
|
формулировкой, и там же сказано, у какого из двух прототипов взято — оракул:
|
|
глазами по разделу
|
|
- ведро ниже порога помечено неизвестным, а не отдано значением — оракул: тест
|
|
на границе: ведро ровно на пороге и на единицу ниже
|
|
- текущий незакрытый час не выглядит провалом накопительной метрики — оракул:
|
|
запрос за сегодня на живом архиве
|
|
|
|
## Рамки
|
|
|
|
Схема не трогается, данные только читаются. Берётся после свёртки по сетке.
|