fix(tradein): бэкфилл-чистка неверных oblast-меток city для yandex/cian (#2628) #2646

Merged
bot-backend merged 1 commit from fix/tradein-city-label-backfill into main 2026-08-05 07:13:29 +00:00

1 commit

Author SHA1 Message Date
d1ec6d02ec fix(tradein): бэкфилл-чистка неверных oblast-меток city для yandex/cian (#2628)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 2m44s
Write-time гео-guard (#2626) не самозалечивает накопленное: COALESCE в
upsert не даёт новому NULL перетереть старую неверную метку. Чистка строго
ограничена yandex/cian (провайдерские координаты правдивы) — Авито не
трогаем: его SERP-координаты — ЕКБ-центроид геокодера при верном тексте
адреса, наивный гео-критерий снёс бы ~640 корректных меток. Двойной
критерий (haversine 1:1 с guard'ом + «адрес не называет город метки»)
покрывает оба известных false-positive. Прод dry-run: 53 строки
(Пышма 45, Первоуральск 8). Idempotent, UPDATE-only.

Побочно: поправлены 6 комментариев, неверно объяснявших вектор утечки
(radius_m=25000 → реальный вектор rgid, city-scoped выдача Яндекса).

Refs #2628
2026-08-05 12:04:24 +05:00