ProjectService::update по завершении шлёт in-app объяснение правила (текст из
ProjectRuleMessages): смена источника по защищённому проекту → про хвост старого
источника; иначе slepok-правка → когда вступит в силу. NotificationService::notifyProjectRule
шлёт всем активным юзерам тенанта через колокольчик без pref-гейта (правила должны доходить
всегда). Уведомление о хвосте — только если проект реально под защитой (есть поставщик). 3/3.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>