listProjects() матч по (platform, signal_type, unique_key) до create.
Защита от дубля при полу-успехе яруса 1 (create прошёл на портале, но
локальная запись не сохранилась → следующий запуск дублировал бы).
listProjects-сбой проглатывается — ярус-эскалация всё равно покроет.
Spec §4.4 шаг 2, §7. Task 5 of 12. Тесты 7/7 (19 assertions).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>