Files
healthlog/docs/tasks/items/ndjson-stream.md
T
av 3d24248075 docs: документация приведена к канону av-dev-pm 4
- каждая запись каталога задач получила тип вместо тега kind: и префикса
  заголовка; секция роадмапа «Разработка» стала «Сопровождением», порядок
  секций канонический
- поправлены протухшие факты: нереализованные маршруты Read API, MCP и
  `healthlog import`, словарь слоёв в инварианте, семантика гейта по покрытию
  диффа, периметр перестал дублировать security.md
- замер слияния переведён с находки 49 на находку 54, заполнены Purpose спек
  storage и parsing
2026-08-05 19:09:35 +03:00

24 lines
1.9 KiB
Markdown

# 🔬 NDJSON-поток для больших выборок Read API
- **Тип:** research
- **Категория:** Ядро
- **Зачем:** Выборка нижнего слоя за месяц не влезает в один JSON-ответ — либо поток, либо пагинация
- **Теги:** goal:read-api
Read API отдаёт ответ одним JSON. Для выборок нижнего слоя за длинный период
это не работает: `heart_rate` в слое `raw` — порядка сотни тысяч координат в
сутки, и месяц такого ряда не влезет ни в память клиента, ни в разумный ответ.
Сейчас проблема закрыта с другой стороны — правилом размера ответа: сервер сам
берёт сетку погрубее, когда разбивка не задана, и отвечает ошибкой со списком
доступных сеток, когда задана явно. Это защищает агента с ограниченным
контекстом, но не помогает клиенту, которому действительно нужен весь ряд —
например, разовой выгрузке в другой инструмент.
Почему идея, а не задача: неизвестно, появится ли такой клиент. Если появится,
выбор между NDJSON-потоком и курсорной пагинацией зависит от того, читает он
последовательно или с возвратами.
Связано: `docs/architecture.md` → «Свёртка и размер ответа», задача
`read-api-response-limit` (правило размера ответа проектируется там).