Наблюдение цены (нормативное)
5.6 Наблюдение цены (нормативное)
Публичная запись цены живёт в price_epoch_observations. Одна строка — одно наблюдение без привязки к личности, зафиксированное как лист в Merkle-дереве суточной эпохи (см. 5.9). Поля хранятся уже нормализованными, ровно в том виде, в каком они входят в прообраз листа, так что хэш листа и опубликованная строка манифеста воспроизводимы байт в байт.
text
// строка price_epoch_observations (размеченный простой текст; публикуется как строка манифеста с разделителем |)
epoch_number: 214
leaf_index: 1082
leaf_hash: 0x9a01... // keccak256 прообраза наблюдения
canonical_product_id: 3f6a...-... // id каталога; название/бренд/упаковка идут вместе с ним
category_path: food.dairy.milk
country: TR
city: Istanbul
merchant: Migros // строка бренда — только бренд + город + страна
obs_date: 2026-05-17 // только дата, намеренно без времени суток
unit_price: 23.50 // каноническая десятичная строка, 2 знака
currency: TRY
unit_type: piece
pack_size: 1 LПроектные решения, которые несёт эта форма:
- Только дата, без времени суток. Публикация метки времени рядом с продавцом и датой позволила бы любому заново сгруппировать строки одной покупательской корзины, что восстанавливает профиль покупок даже без имени. Отбрасывание времени — инвариант приватности реестра, а не пробел в данных.
- Продавец как бренд + город + страна. Наблюдение называет строку бренда в гранулярности города; идентичность уровня магазина и адреса никогда не публикуется.
- Отсутствие связи с пользователем. Строка не несёт имени пользователя, кошелька, id чека или построчной оценки доверия. Контроль качества происходит выше по потоку: в сборку эпохи входят только строки верифицированных чеков, поэтому публикуемому набору не нужна оценка на наблюдение.
- Идентичность продукта самоописываемая. Прообраз листа включает название продукта, бренд и размер упаковки, так что третья сторона может использовать запись без сервиса поиска.
Эта запись обеспечивает:
- Ценовую память пользователя — «вы заплатили 23,50 TL за Pınar süt в Migros; недавняя медиана — 22,10 TL».
- Открытую историю цен — любой может восстановить набор данных из опубликованных манифестов и запрашивать ценовые ряды по бренду + городу + стране.
- Агрегированные индексы — анонимизированный агрегированный слой (5.8) вычисляется поверх тех же наблюдений.