docs: ссылки на план по названиям шагов вместо номеров
- шесть ссылок уже указывали не туда: самоописание значилось шагом 5 (оно 6), import — шагом 6 (он 8), TLS — шагом 8 (это деплой, 11) - README, local-research.md и беклог переведены на названия; нумерация остаётся внутренним делом plan.md
This commit is contained in:
@@ -310,7 +310,7 @@ session-id уникален на каждую доставку
|
||||
|
||||
**Следствие:** заголовок годится как метаданные доставки, но **не как
|
||||
описание данных**. Гранулярность определяется по самим меткам времени, а не по
|
||||
`aggregation`. Для самоописания (шаг 5) шаг метрики нужно выводить из данных —
|
||||
`aggregation`. Для самоописания шаг метрики нужно выводить из данных —
|
||||
как и всё остальное.
|
||||
|
||||
## 14. Две автоматизации с одним набором метрик дают дубликат
|
||||
@@ -406,7 +406,7 @@ heartRateRecovery массив 13 точек [date, Min, Avg, Max, u
|
||||
появились данные, добавились `mindful_minutes` и `walking_heart_rate_average`.
|
||||
|
||||
Каталог метрик растёт по факту поступления данных. Это подтверждает выбор
|
||||
обобщённой модели хранения и выводимых схем (шаг 5): фиксированный список
|
||||
обобщённой модели хранения и выводимых схем: фиксированный список
|
||||
метрик в коде устарел бы в тот же день.
|
||||
|
||||
## 18. Пустой пакет не отправляется
|
||||
@@ -567,7 +567,7 @@ basal_energy_burned 3600 точек в час = 86 400 в сутки
|
||||
напишет обычный пробел и получит пустой ответ без всякой ошибки. То же
|
||||
касается составных значений: `"Apple Watch Ultra 3|iPhone (Anton)"`.
|
||||
|
||||
**Следствие:** в самоописании (шаг 5) значения-примеры нужно отдавать так,
|
||||
**Следствие:** в самоописании значения-примеры нужно отдавать так,
|
||||
чтобы невидимые символы были заметны, а в read API фильтр по источнику — либо
|
||||
не делать, либо нормализовать пробелы на входе и хранить оба варианта.
|
||||
Значение при этом храним дословно, как и всё остальное.
|
||||
@@ -815,7 +815,7 @@ active_energy 22:06:32 0.0074754192155406605 против 0.007475419215
|
||||
дубликатов при идентичности по содержимому. Ключ по координатам
|
||||
(`метрика + date + source`) с перезаписью значений эту проблему снимает и
|
||||
заодно сохраняет эпизоды сна (они различаются `start`/`end`) — стоит
|
||||
вернуться к развилке находки 11 при реализации шага 3.
|
||||
вернуться к развилке находки 11 при реализации разбора.
|
||||
|
||||
## 31. Вся мета-информация о выгрузке — в заголовках, и она полуправдива
|
||||
|
||||
@@ -891,7 +891,7 @@ User-Agent Auto%20Export/20260729.1 CFNetwork/3860.700.1 Darw
|
||||
`Auto%20Export/20260729.1` — датированный номер сборки, плюс версия системы
|
||||
(`Darwin/25.6.0`). Это закрывает вопрос, который висел с самого начала: формат
|
||||
данных может измениться только с обновлением Health Auto Export, и теперь
|
||||
**обновление видно в каждой доставке**. Значит выведенные схемы (шаг 5) можно
|
||||
**обновление видно в каждой доставке**. Значит выведенные схемы можно
|
||||
сверять по версии: изменилась версия — стоит перепроверить формы точек.
|
||||
|
||||
Версию стоит сохранять отдельной колонкой рядом с доставкой, а не только внутри
|
||||
@@ -1049,7 +1049,7 @@ BasalEnergyBurned: 564 записи, интервал: медиана 10с, м
|
||||
`export_cda.xml` на 1,1 ГБ), архив целиком 104 МБ. Имя файла **локализовано** —
|
||||
`экспорт.xml`, а не `export.xml`: захардкодить нельзя.
|
||||
|
||||
Значит `healthlog import` из шага 6 — это не «те же JSON, только из файла», а
|
||||
Значит `healthlog import` — это не «те же JSON, только из файла», а
|
||||
отдельный парсер XML со своей моделью записи. Зато он даёт слой, которого HAE
|
||||
не отдаёт ни в каком режиме.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user