tasks: разобраны вопросы и набран спринт 2026-08-03
- открытых вопросов не осталось: три решения владельца доведены до берущегося вида, по entity-without-parsed-label принято хранить с NULL-меткой после Read API - unseen-sections-check сжата до остатка — активная проверка появления секции; разбор невиденных секций из неё вынут, вслепую он не пишется - спринт под целью parsing-and-storage: categorical-value-dictionary и unseen-sections-check, обеим написаны критерии приёмки с оракулами
This commit is contained in:
@@ -1,8 +1,20 @@
|
||||
# Сущность с id, но неразобранной меткой
|
||||
|
||||
- **Секция:** ядро
|
||||
- **Зачем:** Тренировка с меткой в неизвестном формате пропадает целиком — а её id и содержимое разобраны
|
||||
- **Теги:** goal:parsing-and-storage, question
|
||||
- **Зачем:** Тренировка с меткой в неизвестном формате пропадает целиком, а после включения ретеншена окно становится необратимым
|
||||
- **Теги:** goal:parsing-and-storage
|
||||
|
||||
**Решение принято владельцем 2026-08-03: вариант (1) — хранить с NULL-меткой.**
|
||||
`start_utc`/`ts_utc` становятся NULLABLE, содержимое (включая маршрут) хранится,
|
||||
метку восстановит пересборка, когда разбор научится читать формат. Вариант (3)
|
||||
отвергнут при постановке: подстановка метки доставки — выдуманное измерение в
|
||||
колонке, по которой идёт выборка.
|
||||
|
||||
**Берётся после [Read API по точкам и сущностям](read-api-points.md).** Правило
|
||||
чтения — что выборка «за период» делает со строками без метки — обязано
|
||||
проектироваться вместе с читателем, иначе такие строки молча исчезнут из любого
|
||||
ответа. Порядок тот же, что у [journal-order-on-ingest](journal-order-on-ingest.md)
|
||||
после `/stats`: решение принято, момент взятия назван.
|
||||
|
||||
Остаток задачи «Дозакрыть находки ревью по слиянию сущностей» (архивный change
|
||||
`dozakryt-nahodki-sushchnostej`). Та задача сделала мягким чтение заголовка:
|
||||
@@ -22,18 +34,11 @@
|
||||
пропусков всех трёх классов. Дрейф формата дат у HAE при этом
|
||||
задокументирован (`docs/research/apple-health.md`), то есть вход не выдуман.
|
||||
|
||||
## Вопросы
|
||||
Хранить ли сущность с разобранным `id` и неразобранной меткой. Цена:
|
||||
## Чем платим за отсрочку
|
||||
|
||||
1. **Хранить с NULL-меткой** — правка схемы (`start_utc`/`ts_utc` становятся
|
||||
NULLABLE) плюс правила чтения витрины: выборка «за период» обязана сказать,
|
||||
что делает с такими строками, иначе они молча исчезнут из любого ответа.
|
||||
Зато содержимое (маршрут!) сохраняется, а метку восстановит пересборка,
|
||||
когда разбор научится читать формат.
|
||||
2. **Не хранить** — как сейчас. Тело живёт в архиве до ретеншена, доставку
|
||||
вернёт `reindex`. После включения ретеншена окно становится необратимым.
|
||||
3. **Хранить, подставив метку доставки** — отвергается сразу: это выдуманное
|
||||
измерение в колонке, по которой идёт выборка.
|
||||
|
||||
Рекомендация — (1), но не раньше, чем появится Read API по сущностям: правило
|
||||
чтения без читателя проектируется вслепую.
|
||||
Вариант «не хранить» — то, чем живём сегодня: тело лежит в архиве, доставку
|
||||
вернёт `reindex`. Отсрочка безопасна ровно до включения
|
||||
[ретеншена](raw-archive-retention.md): после него окно становится необратимым.
|
||||
Значит эти две задачи связаны порядком — ретеншен не включается раньше, чем
|
||||
сущность без метки начнёт храниться, либо включается с явной записью о том,
|
||||
что этот класс теряется.
|
||||
|
||||
Reference in New Issue
Block a user