Technical Paper

Этап 6 — Запись

2.9 Этап 6 — Запись выходных данных

Запись разделена между синхронным потоком и фоновым рабочим постобработки.

Синхронная запись. Когда чек проходит валидацию, синхронный поток вставляет строку receipts вместе с сырой записью визуального извлечения. Именно из этого состояния отдаётся проверенное превью: чек пользователя существует в базе данных в тот момент, когда превью появляется на экране.

Асинхронная запись. Затем фоновый рабочий постобработки завершает запись:

  • receipt_line_items — позиции записываются после канонического разрешения продуктов (2.7), поэтому каждая строка несёт свою каноническую ссылку.
  • receipt_rewards — учётная запись вознаграждения, включая разбивку баллов, показываемую пользователю.
  • receipt_quality — оценка качества, которую читает уровень доверия (03).

Ценовые наблюдения. Ценовые наблюдения производятся отдельным ежедневным потоком ценовых эпох, который читает проверенные чеки, агрегирует наблюдения по эпохам и фиксирует корень эпохи в блокчейне в асинхронном уровне (01 Фаза B). Они выводятся из строк чеков, а не записываются самим конвейером чеков.

Нисходящие потоки — оценка доверия, расчёт вознаграждений, ценовой реестр — читают строки чека и качества напрямую. Записи идемпотентны по идентификатору чека: безопасны для повторного воспроизведения, если рабочий повторяет попытку.