Files
healthlog/docs/tasks/items/ndjson-stream.md
T
avandClaude Opus 5 a53d0f0f2f задачи: мета переехала в блок, поле «Хук» стало «Зачем»
49 файлов, миграция сделана командой tasks.py check --fix — той самой, ради
которой в скрипте оставлена читаемость старой формы. Побочно тот же прогон
проставил тег decomposed целям, у которых есть задачи: это его штатная работа.

check после миграции зелёный, индексы согласованы.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 17:31:29 +03:00

1.8 KiB

[idea] NDJSON-поток для больших выборок Read API

  • Секция: ядро
  • Зачем: Выборка нижнего слоя за месяц не влезает в один JSON-ответ — либо поток, либо пагинация
  • Теги: goal:read-api

Read API отдаёт ответ одним JSON. Для выборок нижнего слоя за длинный период это не работает: heart_rate в слое raw — порядка сотни тысяч координат в сутки, и месяц такого ряда не влезет ни в память клиента, ни в разумный ответ.

Сейчас проблема закрыта с другой стороны — правилом размера ответа: сервер сам берёт сетку погрубее, когда разбивка не задана, и отвечает ошибкой со списком доступных сеток, когда задана явно. Это защищает агента с ограниченным контекстом, но не помогает клиенту, которому действительно нужен весь ряд — например, разовой выгрузке в другой инструмент.

Почему идея, а не задача: неизвестно, появится ли такой клиент. Если появится, выбор между NDJSON-потоком и курсорной пагинацией зависит от того, читает он последовательно или с возвратами.

Связано: docs/architecture.md → «Свёртка и размер ответа», задача read-api-points.