# Запись редакционного прохождения CRM-GUIDE-READER-r1 Дата:16.10.2026. Базовая запись:data/tests/2026-10-16-crm-scenario-offline/, версияr2. Упражнение придумано редакцией, не сгенерировано RetailCRM. Проверена новая публикационная упаковка:ZIP распакован в пустую папку, запущен неизменённый walkthrough.py --out result. Входы, ожидания, бланк и код совпали побайтно с принятой записьюr2. actual.csv/check-map.csv/summary.json совпали с сохранённымr2. Python:3.14.4. Одиночный локальный запуск:0.0972с; это не время всей инструкции, ручного разбора, скачивания или распаковки. На другой машине время будет отличаться. Результат:39/39 событий pass; обязательные четыре ветви14 событий; дополнительные девять25 событий;12 would_send, реальных отправок0. Возвращён код0. CRM и интерфейс AI-помощника не проверялись. Сохранённые входы и результаты лежат рядом. Снимки показывают локальное представление настоящих входов и полученного CSV, а не интерфейс CRM. Полная машинная запись: { "id": "CRM-GUIDE-READER-r1", "date": "2026-10-16", "source_record": "data/tests/2026-10-16-crm-scenario-offline/", "source_version": "r2", "python": "3.14.4", "platform": "darwin", "method": "Extract published ZIP into a new empty directory; run unchanged walkthrough.py --out result; compare outputs to saved r2", "elapsed_seconds": 0.0972, "timing_scope": "Only local Python command, excluding download, extraction and manual reading", "returncode": 0, "stdout": "{\"scope\": \"offline_editorial_model_only\", \"cases\": 13, \"events\": 39, \"passed\": 39, \"failed\": 0, \"would_send\": 12, \"real_messages_sent\": 0, \"crm_tested\": false, \"case_results\": {\"paid\": true, \"no-consent\": true, \"repeat\": true, \"expired\": true, \"control\": true, \"revoked\": true, \"boundary\": true, \"unknown\": true, \"early\": true, \"missing-first\": true, \"unknown-promo\": true, \"early-unconfirmed\": true, \"late-reminder\": true}}\n", "summary": { "scope": "offline_editorial_model_only", "cases": 13, "events": 39, "passed": 39, "failed": 0, "would_send": 12, "real_messages_sent": 0, "crm_tested": false, "case_results": { "paid": true, "no-consent": true, "repeat": true, "expired": true, "control": true, "revoked": true, "boundary": true, "unknown": true, "early": true, "missing-first": true, "unknown-promo": true, "early-unconfirmed": true, "late-reminder": true } }, "output_byte_exact": { "actual.csv": true, "check-map.csv": true, "summary.json": true }, "source_byte_exact": { "inputs.json": true, "expected.csv": true, "check-map-blank.csv": true, "walkthrough.py": true }, "real_messages_sent": 0, "crm_tested": false, "archive_sha256": "5dfdf3d7d64a227446519231864f307f7b9c222694a18e07ca2b651bb2d22ab0", "files": { "summary.json": "1e5a3fcb20c353ad80d0260ef7a94d98fd034a2b3806c2098ba3d682880ead37", "scenario.txt": "0df070f831a86c22e0813c865b4dadc98c3001b0a4dc80be5ed2c8057e217fc7", "actual.csv": "542c3b05aec41f8e9d5124e059ab59511c8492a6059d59a8c4c1ac825f8c353e", "check-map-blank.csv": "b21a8f90b6e2e4557a2283e8098e19ab451f0e65490bad4e88aed27f61934933", "walkthrough.py": "e25163a7b4ebea46cf195ee91d833f6f1d79d60e8d3da85bba3e7321fbc63c46", "inputs.json": "e8f3fc3142f5c4515e2c75baed46d2b832f2ff81cb19508d22d51c9fba800523", "check-map.csv": "df5777c09d2d10d8bdd5e7dfa8d64e062f5aab00bdad981741f4e5b640013284", "README.txt": "755684e3d2b68b175919ea9d2fea88b83c279ac291984b952ab43dcad7344514", "expected.csv": "2af39864412492f08a229e9399d94571414da77ba6c3ab7d9203ed15637e385d" } }