80275c6417
Закрывает два бага sync поставщика, обнаруженные при live-проверке создания проекта «мой номер» (call, 79135191264, лимит 15, дни Пн-Пт): 1. SyncSupplierProjectJob хардкодил workdays=[1..7] в 7 местах и в DTO для portal, и в supplier_projects.current_workdays. Заменено на реальную маску через приватный workdaysFromMask() (зеркало bitmaskToList ночного батча). 2. forceFill в update-path online mode не включал current_workdays — после первого create со старыми [1..7] последующий ресинк не подтягивал реальные дни в локальную БД (на portal летели корректные, в нашей таблице оставались stale). 3. ProjectService::update() ресинкал только при смене sms_*/signal_identifier/ regions. Добавлены daily_limit_target и delivery_days_mask — поставщик видит новый лимит и дни сразу, не дожидаясь ночного батча 18:00 МСК. Тесты: - SyncSupplierProjectJobTest: +2 specs (real-workdays create-path, update-path current_workdays refresh). - ProjectsUpdateTest: «without resync» переписан в name-only, +2 specs (daily_limit_target и delivery_days_mask change → resync). - Pest 146/146 (Supplier + Plan5/Projects scope), Pint passed, Larastan 0. Live-ресинк проекта id=5 «мой номер» в dev DB выполнен — current_workdays теперь [1,2,3,4,5], HTTP ушёл к crm.bp-gr.ru с теми же днями. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>