605c457c49
Code-review Important: один сбой Project не должен абортить routing для остальных tenant'ов (sharing-model). + try/catch + Log::warning + RuntimeException только если ВСЕ projects упали. + 2 новых теста: mixed routing (1 dup из 3 + 2 clean) и partial failure (soft-delete tenant в середине loop'а). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>