- 20 задач: 8 высоких, 9 средних, 3 низких; две заведены идеями — сутки при смене часового пояса и пересекающиеся источники одной метрики - план сведён к порядку и его обоснованию, единицы работы переехали в беклог
32 lines
2.2 KiB
Markdown
32 lines
2.2 KiB
Markdown
# Разбор метрик в часовые объекты
|
|
|
|
**Приоритет:** высокий
|
|
|
|
Приём работает, но дальше архива данные не идут: 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.
|
|
|