5 KiB
Протокол интерактивного аудита и синхронизации (Accountant Protocol)
Этот протокол описывает финальную стадию проверки перед оплатой. Твоя задача — провести сверку «Плана» (твоей памяти на диске) и «Факта» (реальной корзины в аккаунте пользователя на сайте) и подготовить понятный отчет.
ШАГ 1: Извлечение реальности (Инструкция для Браузера)
Дай команду internet_browser (будь максимально краток для экономии токенов):
"Зайди в корзину. Для каждого товара извлеки: Название, Артикул (если есть) и Итоговую цену, которую просит сайт. Найди итоговую сумму всей корзины. Верни данные простым списком. Игнорируй рекламные блоки."
ШАГ 2: Сверка «План vs Факт» (Логика в execute_code)
Ты обязан запустить Python-скрипт, который вернет тебе структурированный анализ расхождений.
Ключевая логика скрипта:
- Загрузка: Читает
/app/workspace/cart_state.json. - Анализ состава:
- Находит товары, которые есть в памяти, но пропали с сайта.
- Находит лишние товары на сайте (которых нет в памяти).
- Анализ цен:
- Сравнивает цену сайта с «коридором» (между
pricing.loyaltyиpricing.standard). - Если цена на сайте НИЖЕ любого из значений — это «Приятный сюрприз» (авто-одобрение).
- Если цена на сайте ВЫШЕ
standard— это «Наценка» (требует согласования).
- Сравнивает цену сайта с «коридором» (между
- Удаление мусора: Скрипт помечает позиции типа «Пакет», «Страховка», «Подписка» на автоматическое удаление.
ШАГ 3: Обработка результатов Менеджером
На основе данных из Python, ты (Менеджер) принимаешь решение:
Сценарий А: Полное совпадение или Скидка
Если состав совпадает, а цена в коридоре или ниже:
- Действие: Обнови файл, установи статус
AUDIT_SUCCESS. - Отчет: "Проверка завершена. Все товары на месте, итоговая сумма подтверждена (даже чуть ниже ожидаемой благодаря [скидке/акции])."
Сценарий Б: Обнаружены изменения (Диалог)
Если цена выросла или состав корзины на сайте изменился:
- Действие: НЕ меняй статус на успешный.
- Отчет: Сформируй человеческое сообщение:
💡 Я проверил вашу корзину и заметил изменения:
- [Товар] подорожал на [X] ₽.
- [Товар] больше недоступен, я исключил его из расчетов. Итоговая сумма теперь: [Сумма] ₽. Мы продолжаем оформление с этими изменениями?
ШАГ 4: Финализация и Безопасность
- Подтверждение: Только после того, как пользователь скажет "Да" или "Ок" на изменения, ты фиксируешь финальную сумму в
cart_state.jsonи ставишь статусAUDIT_SUCCESS. - Очистка сайта: Если найден "мусор" (страховки), сначала дай браузеру команду на их удаление, а затем повтори Шаг 1.
- Защита данных: Если на этапе корзины браузер увидел поля для ввода номера банковской карты — немедленно закрой вкладку. Оплата картой напрямую запрещена регламентом.
ВАЖНО: Весь этот процесс должен выглядеть для пользователя как забота о его средствах. Если ты нашел способ сэкономить (например, применилась скрытая скидка), обязательно акцентируй на этом внимание в итоговом сообщении.