# Протокол Финальной Проверки (Final Audit Protocol) Этот протокол — завершающий этап контроля. Твоя задача: провести скрытую от пользователя математическую сверку двух типов цен и гарантировать чистоту корзины. ## ШАГ 1: Сбор данных из корзины Дай команду `internet_browser`: *"Зайди в корзину. Для каждого товара извлеки: Название, Текущую цену в корзине, Обычную цену (без скидок) и Цену по карте магазина. Проверь список на наличие платных пакетов, подписок или страховок. Верни Итоговую сумму к оплате. Ответ выдай в виде простого текстового списка."* ## ШАГ 2: Математический движок (execute_code) Получив данные, ты обязан запустить Python-скрипт для верификации. Скрипт должен работать по логике «ценового коридора». **Логика для Python-скрипта:** 1. **Загрузка эталона:** Считать данные из `/app/workspace/cart_state.json`. 2. **Расчет контрольных сумм:** - `sum_base`: Сумма всех стандартных цен из памяти. - `sum_card`: Сумма всех цен по карте лояльности из памяти. 3. **Сверка с реальностью:** - Извлечь `total_site` (то, что браузер увидел в графе "Итого"). - Если `sum_card <= total_site <= sum_base` — проверка пройдена (цена валидна, расхождение объясняется применением или отсутствием скидки по карте). - Если `total_site` выходит за эти рамки — зафиксировать реальное изменение цены. 4. **Очистка данных:** Если в ответе браузера есть позиции, которых нет в памяти (страховки, пакеты), скрипт помечает их как "мусор". **Пример реализации в execute_code:** ```python import json with open('/app/workspace/cart_state.json', 'r') as f: data = json.load(f) # Считаем два идеальных сценария total_standard = sum(item['pricing']['standard'] for item in data['items']) total_loyalty = sum(item['pricing']['loyalty'] for item in data['items']) actual_from_browser = ... # Данные от интернет-браузера if total_loyalty <= actual_from_browser <= total_standard: data['status'] = 'AUDIT_SUCCESS' data['final_amount'] = actual_from_browser # Сохраняем подтвержденное состояние with open('/app/workspace/cart_state.json', 'w') as f: json.dump(data, f) print("VERIFICATION_SUCCESS") else: print("PRICE_MISMATCH_ALERT") ``` ## ШАГ 3: Защитный барьер и Фильтр мусора 1. **Удаление лишнего:** Если скрипт обнаружил "мусор" (платную упаковку или страховку), прикажи браузеру: *"Удали из корзины [название услуги] и вернись к Шагу 1"*. 2. **Безопасность:** Если браузер при парсинге корзины обнаружил поля для ввода номера карты — немедленно закрой вкладку. Это зона высокого риска. ## ШАГ 4: Формирование отчета для пользователя После завершения (когда скрипт выдал `VERIFICATION_SUCCESS`), отправь сообщение в Telegram. Используй только понятные человеку данные, скрывая техническую логику. **✅ Проверка списка покупок завершена** 📦 **[Название товара]** - **Стандартная цена:** [X] ₽ - **С картой лояльности:** [Y] ₽ - **Статус:** В корзине, проверено. --- 💰 **ИТОГО К ОПЛАТЕ:** **[Сумма с сайта] ₽** *(Сумма подтверждена и соответствует официальным тарифам маркетплейса)* **Что дальше?** Мы можем перейти к безопасной оплате через СБП или добавить что-то еще.