Files
healthlog/docs/backlog/proverka-novyh-sekcij.md
T
av 34e5109b6d непокрытые секции доставки видны в статусе разбора
- половина потока (50 доставок из 104) не несёт metrics вовсе и до сих пор
  числилась parsed: ретеншен, поверив статусу, срезал бы тела stateOfMind,
  которых в экспорте Apple нет
- разбор перечисляет верхнеуровневые ключи data, непокрытые проглатываются
  декодированием: тело 40 МиБ из непокрытой секции удерживает 0 МиБ
- статус partial и колонка delivery.uncovered_sections; миграция переводит
  прежние parsed в pending — им верить нельзя
- витрина не изменилась: отпечаток совпал с прогоном до изменения
2026-08-01 21:25:59 +03:00

2.9 KiB

Проверка секций, которых поток ещё не приносил

Приоритет: средний

Разбор пишется по тем данным, что видел поток, а он приносил только metrics, workouts и stateOfMind. Не виденны живьём: symptoms, ecg, heartRateNotifications, cycleTracking, medications, а также вес — а вес агенту-медику нужен наверняка.

Пользователь настраивает оставшиеся метрики на телефоне, так что данные появятся сами. Задача — не пропустить момент: убедиться, что новые секции разбираются, а не молча падают в parse_status.

Часть вопроса закрыта разбором экспортов (находка 42): в Health эти данные есть и в экспорте они присутствуют — BodyMass (1127 записей), BloodPressureSystolic/Diastolic (по 18), BodyTemperature (11), Headache (36), SexualActivity (46), Dietary* (по 88). Значит вопрос не «есть ли данные», а «доедут ли они через HAE и в какой форме».

Остаётся непроверенным stateOfMind: в экспорте его нет ни одним типом. Если подтвердится, что Apple его не выгружает, то экспорт ему не источник истины — устаревание нижнего слоя к нему неприменимо, держим всегда.

Давление приезжает обёрткой Correlation из двух записей (находка 44) — в экспорте точно, а вот как его отдаёт HAE, неизвестно. Это первое, на что смотреть, когда данные появятся.

Готово, когда каждая новая секция либо разобрана, либо явно описана в docs/local-research.md как не пришедшая, и ни одна не числится в ошибках разбора.

Что уже сделано

Разбор перечисляет непокрытые секции и пишет их в delivery.uncovered_sections (change 2026-08-01-nerazobrannye-sekcii-dostavki). Момент, когда поток принесёт секцию, которой раньше не было, теперь фиксируется — остаётся научиться замечать его активно: один SELECT DISTINCT по колонке даёт список всего, что поток приносил, и сравнение с известным набором закрывает задачу.