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