2e0f5a4d29
Баг: при autopodbor_max_competitors=0 джоба делала array_slice($unique,0,0)=[] → сохраняла 0 конкурентов, НО всё равно списывала 50₽ (chargeForRun после обрезки, проверка empty стои́т ДО неё). Теперь $max>0?slice:все — 0 значит «сохранить всех». Плюс авто-повтор findCompetitors при пустом сборе (search_retry_on_empty, деф. 2): моргание 2ГИС/Яндекс/EXA не показывает клиенту «ничего не нашлось». Реально пустая ниша → empty без списания. 2 теста; ветка автоподбора 176/176. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>