- internal/fold — свёртка по идентификатору доставки, тело из архива: тот же
код, каким пойдёт пересборка витрины
- приём зовёт свёртку на context.WithoutCancel с собственным дедлайном;
исход разбора на код ответа не влияет
- слой доставки хранится в delivery.derived_layer и наследуется от
ПРЕДШЕСТВУЮЩЕЙ доставки автоматизации: без границы по времени свёртка
переставала быть функцией от префикса журнала (1737 объектов против 1742)
- task verify:archive — сходимость на живом архиве, 99 доставок из 99
Перепись по 22 метрикам с интервалами опровергла признак из первой редакции:
start всегда равен date, интервалы несёт не только сон, обе формы точки не
смешиваются внутри метрики одной доставки, а разные интервалы под одной меткой
всегда несут разное содержимое. Значит ключ единый — метрика + слой + начало +
конец, у измерения вырожденный, без ветвления по классу.
- находка 47: ключ (date,start,end) даёт 174 координаты сна против 170 по
метке и ноль столкновений внутри доставки против 33; value в ключе лишний
- UUID в выгрузку Apple не попадает, другой идентичности у эпизода нет
- поэпизодный sleep_analysis вернулся в scope razbor-metrik-v-obekty
- экспорт Apple это снапшот всей истории, доставки после его даты — события
поверх; состояние пересобирается как import(экспорт) + replay(доставки)
- отсюда ретеншен архива меняется с произвольных 14 дней на «до следующего
проверенного экспорта» (~2 ГБ за квартал, измерено), а свёртка обязана быть
детерминированной — воспроизведение строго по received_at
- названы границы модели: stateOfMind в экспорт не попадает вовсе, а верхние
слои за периоды с удалёнными доставками не воскресают и досчитываться не
должны — каталог обязан говорить это честно
- агрегация появилась в ответе на запрос: род метрики измеряется сверкой
слоёв, нижний слой HAE не суммируется никогда
- переведённые строки хранятся дословно с приписанным кодом HealthKit;
снято правило «настройки данных у всех проходов одинаковы» — слой в ключе
- добавлены устаревание нижнего слоя по проверенному экспорту и MCP поверх
read API; план вырос до 11 шагов
- README, CLAUDE.md, docs: назначение и границы, архитектура, конвенции, план
- docs/local-research.md — 36 находок по формату Health Auto Export, снятых на
живых данных; документация приложения местами расходится с тем, что оно шлёт
- Taskfile, .golangci.yml, самодокументируемый config.example.toml