e3ef9d70be
Поставщик crm.bp-gr.ru шлёт B1-проекты, чьё имя — свободный текст со встроенным URL/доменом (B1_заявка carmoney.ru/, B1_Платежи cabinet.caranga.ru/login, B1_krk-finance.ru/cabinet/auth). Старый anchored-regex требовал, чтобы вся строка после B1_ была чистым доменом; такой rest не матчил — классификация sms — B1+sms — DomainException (chk_supplier_projects_b1_not_for_sms) — 21 реальный лид застрял с error, 0 сделок. Fix: после двух anchored-проверок (call/site) — fallback-извлечение домена с латинским TLD из любой позиции строки — signal_type=site, identifier = извлечённый домен. Реальные sms-имена (B1_TINKOFF) без точки-домена остаются sms — существующий B1+SMS-тест не затронут. 3 параметризованных теста (carmoney/caranga/krk) + регрессия: RouteSupplierLeadJobTest 12/12, Supplier+Integration+Webhook 61/61. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>