Files
healthlog/docs/backlog/razbor-metrik-v-obekty.md
T
av 59ec613184 заведён беклог проекта
- 20 задач: 8 высоких, 9 средних, 3 низких; две заведены идеями — сутки при
  смене часового пояса и пересекающиеся источники одной метрики
- план сведён к порядку и его обоснованию, единицы работы переехали в беклог
2026-08-01 14:11:42 +03:00

2.2 KiB

Разбор метрик в часовые объекты

Приоритет: высокий

Приём работает, но дальше архива данные не идут: 89 доставок лежат телами .json.gz, а в SQLite только строки delivery. Всё остальное — каталог, Read API, MCP — стоит на этой задаче.

Правила выведены на живом потоке и проверены, изобретать заново не нужно (docs/local-research.md, находки 33, 35, 36, 38, 39, 41):

  • ключ точки — координаты метрика + слой + метка; source в ключ не входит;
  • слой выводится из выравнивания меток: плотная метрика (≥10 точек) классифицируется сама, редкая наследует преобладающий слой доставки;
  • при столкновении выигрывает более полная точка, а не последняя пришедшая (0.66% координат различаются набором полей, а не значением);
  • три формата времени: локальное со смещением, RFC 3339 Z, Unix-эпоха внутри heartbeatSeries;
  • sleep_analysis разводится на два имени — поэпизодное и суточную сводку.

Шаги:

  • миграция bucket (метрика + слой + час, payload gzip-BLOB, sealed);
  • разбор метрик, вывод слоя, канонизация с округлением до ~12 значащих цифр;
  • слияние точек в объект read-modify-write, хеш объекта как детектор изменений;
  • docs/database.md — ER-схема (её требует шаг гейта er-schema).

Готово, когда по существующим 89 доставкам собирается хранилище, а суммы по часовому слою сходятся с проверкой из tmp/research/.

Связано: docs/architecture.md → «Хранилище», план шаг 3.