Эстиматор молча расширял радиус 1км→2км при нехватке аналогов, но наружу
фактический радиус не отдавал — круг на карте рисовался по выбору
пользователя, текст говорил одно, картинка другое (Первоуральск
воспроизводился). search_radius_m в AggregatedEstimate: init=base,
флип на fallback ровно в тех же ветках, что ставят fallback_used (текст и
число структурно не могут разойтись); ДКП-коридор и anchor-пути не влияют
(поле = радиус отбора listings-аналогов). フронт: круг по search_radius_m
(пока дропдаун не тронут после ремаунта по estimate_id), фолбэк на выбор
пользователя при отсутствии поля; disclosure «Аналогов в радиусе 1 км не
хватило — поиск расширен до 2 км» в стиле оговорок v2. Не персистится
(конвенция analog_tier) — rehydrate отдаёт None без мигания.
Refs #2632