Этап 6 — Запись
2.9 Этап 6 — Запись выходных данных
Запись разделена между синхронным потоком и фоновым рабочим постобработки.
Синхронная запись. Когда чек проходит валидацию, синхронный поток вставляет строку receipts вместе с сырой записью визуального извлечения. Именно из этого состояния отдаётся проверенное превью: чек пользователя существует в базе данных в тот момент, когда превью появляется на экране.
Асинхронная запись. Затем фоновый рабочий постобработки завершает запись:
receipt_line_items— позиции записываются после канонического разрешения продуктов (2.7), поэтому каждая строка несёт свою каноническую ссылку.receipt_rewards— учётная запись вознаграждения, включая разбивку баллов, показываемую пользователю.receipt_quality— оценка качества, которую читает уровень доверия (03).
Ценовые наблюдения. Ценовые наблюдения производятся отдельным ежедневным потоком ценовых эпох, который читает проверенные чеки, агрегирует наблюдения по эпохам и фиксирует корень эпохи в блокчейне в асинхронном уровне (01 Фаза B). Они выводятся из строк чеков, а не записываются самим конвейером чеков.
Нисходящие потоки — оценка доверия, расчёт вознаграждений, ценовой реестр — читают строки чека и качества напрямую. Записи идемпотентны по идентификатору чека: безопасны для повторного воспроизведения, если рабочий повторяет попытку.