хранилище описано как свёртка по журналу событий
- экспорт Apple это снапшот всей истории, доставки после его даты — события поверх; состояние пересобирается как import(экспорт) + replay(доставки) - отсюда ретеншен архива меняется с произвольных 14 дней на «до следующего проверенного экспорта» (~2 ГБ за квартал, измерено), а свёртка обязана быть детерминированной — воспроизведение строго по received_at - названы границы модели: stateOfMind в экспорт не попадает вовсе, а верхние слои за периоды с удалёнными доставками не воскресают и досчитываться не должны — каталог обязан говорить это честно
This commit is contained in:
@@ -34,8 +34,9 @@ description: Конвейер ревью изменений healthlog — дет
|
||||
Инварианты, нарушение которых — по умолчанию `critical` (подробно —
|
||||
`CLAUDE.md`, `docs/architecture.md`):
|
||||
|
||||
- **Точка хранится дословно.** Всё, что теряет поле внутри точки, необратимо:
|
||||
сырой архив живёт 14 дней, дальше истина — сами точки.
|
||||
- **Точка хранится дословно.** Хранилище — свёртка по журналу
|
||||
(`import(экспорт) + replay(доставки)`), поэтому разобранное пересобираемо, а
|
||||
вот не принятое — нет: доставка мимо архива теряется навсегда.
|
||||
- **Идентичность по координатам** (`метрика + слой + метка`). `source` в ключ
|
||||
не входит. Неверное правило слияния портит историю молча — заметить это
|
||||
можно только сверкой с родным экспортом Apple, то есть месяцами позже.
|
||||
|
||||
Reference in New Issue
Block a user