# ✨ Отдавать записи со своим id за период

- **Тип:** feature
- **Категория:** Ядро
- **Зачем:** stateOfMind разобран и хранится, но наружу не отдаётся — а восстановить его нечем: в экспорте Apple его нет
- **Теги:** goal:read-api, sprint:2026-08-04

Записи со своим `id` — сегодня это `stateOfMind` — достаются за период через
`GET /records/{kind}`.

Разбор и хранение сделаны тем же изменением, что у тренировок; наружу не отдаётся
ничего. У этих данных есть особенность, которой нет больше ни у чего в проекте:
**`stateOfMind` нет в экспорте Apple**, он не восстанавливается пересборкой из
снапшота, и единственный его источник — доставки HAE. Отдача наружу — не
удобство, а единственный способ увидеть то, что иначе живёт только внутри базы.

Конверт наследуется от точек; собственной формы у записей нет.

Двигает строку «Завершения» цели: «Тренировки с маршрутом и записи со своим `id` отдаются за период».

## Затрагивает

Новый маршрут `GET /api/v1/records/{kind}` и код отказа на неизвестном `kind`.
Публичный тип провода в `internal/httpapi` — конверт записей. Чтение таблицы
записей; схемы и формата на диске не трогает.

## Критерии приёмки

- записи `stateOfMind` за период отдаются одним запросом — оракул: запрос к
  поднятому сервису на живом архиве
- неизвестный `kind` отвечает отказом со списком известных, а не пустым списком:
  пустота и опечатка обязаны различаться — оракул: тест
- конверт совпадает с конвертом точек и тренировок — оракул: тест, сравнивающий
  форму ответа трёх маршрутов

## Рамки

Схема не трогается, данные только читаются. Берётся после конверта.
