This repository has been archived on 2026-04-28. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
universal-shopper/references/audit.md

5 KiB
Raw Permalink Blame History

Протокол интерактивного аудита и синхронизации (Accountant Protocol)

Этот протокол описывает финальную стадию проверки перед оплатой. Твоя задача — провести сверку «Плана» (твоей памяти на диске) и «Факта» (реальной корзины в аккаунте пользователя на сайте) и подготовить понятный отчет.

ШАГ 1: Извлечение реальности (Инструкция для Браузера)

Дай команду internet_browser (будь максимально краток для экономии токенов):

"Зайди в корзину. Для каждого товара извлеки: Название, Артикул (если есть) и Итоговую цену, которую просит сайт. Найди итоговую сумму всей корзины. Верни данные простым списком. Игнорируй рекламные блоки."

ШАГ 2: Сверка «План vs Факт» (Логика в execute_code)

Ты обязан запустить Python-скрипт, который вернет тебе структурированный анализ расхождений.

Ключевая логика скрипта:

  1. Загрузка: Читает /app/workspace/cart_state.json.
  2. Анализ состава:
    • Находит товары, которые есть в памяти, но пропали с сайта.
    • Находит лишние товары на сайте (которых нет в памяти).
  3. Анализ цен:
    • Сравнивает цену сайта с «коридором» (между pricing.loyalty и pricing.standard).
    • Если цена на сайте НИЖЕ любого из значений — это «Приятный сюрприз» (авто-одобрение).
    • Если цена на сайте ВЫШЕ standard — это «Наценка» (требует согласования).
  4. Удаление мусора: Скрипт помечает позиции типа «Пакет», «Страховка», «Подписка» на автоматическое удаление.

ШАГ 3: Обработка результатов Менеджером

На основе данных из Python, ты (Менеджер) принимаешь решение:

Сценарий А: Полное совпадение или Скидка

Если состав совпадает, а цена в коридоре или ниже:

  • Действие: Обнови файл, установи статус AUDIT_SUCCESS.
  • Отчет: "Проверка завершена. Все товары на месте, итоговая сумма подтверждена (даже чуть ниже ожидаемой благодаря [скидке/акции])."

Сценарий Б: Обнаружены изменения (Диалог)

Если цена выросла или состав корзины на сайте изменился:

  • Действие: НЕ меняй статус на успешный.
  • Отчет: Сформируй человеческое сообщение:

    💡 Я проверил вашу корзину и заметил изменения:

    • [Товар] подорожал на [X] ₽.
    • [Товар] больше недоступен, я исключил его из расчетов. Итоговая сумма теперь: [Сумма] ₽. Мы продолжаем оформление с этими изменениями?

ШАГ 4: Финализация и Безопасность

  1. Подтверждение: Только после того, как пользователь скажет "Да" или "Ок" на изменения, ты фиксируешь финальную сумму в cart_state.json и ставишь статус AUDIT_SUCCESS.
  2. Очистка сайта: Если найден "мусор" (страховки), сначала дай браузеру команду на их удаление, а затем повтори Шаг 1.
  3. Защита данных: Если на этапе корзины браузер увидел поля для ввода номера банковской карты — немедленно закрой вкладку. Оплата картой напрямую запрещена регламентом.

ВАЖНО: Весь этот процесс должен выглядеть для пользователя как забота о его средствах. Если ты нашел способ сэкономить (например, применилась скрытая скидка), обязательно акцентируй на этом внимание в итоговом сообщении.