|
All checks were successful
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 Trade-In / changes (pull_request) Successful in 8s
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 1m42s
PR #2273 применял _dedup_cross_source() только к радиусному списку listings внутри _price_from_inputs(). Anchor-тиры (Tier A same_building / Tier C micro_radius, _fetch_anchor_comps()) строятся отдельным raw SQL-запросом и никогда не проходили через дедуп, хотя именно anchor_comps_used фидит показываемые analogs[] и n_analogs, как только сработал анкорный тир. Живой QA 2026-07-03 воспроизвёл ровно этот класс бага: физлот ул. Сыромолотова 11 (33.6м², эт.3, 4.0млн) показан дважды через cian+domklik (оба с пустым cadastral_number) на реальном адресе с analog_tier=micro_radius. Фикс: anchor_comps = _dedup_cross_source(anchor_comps) перед _compute_same_building_anchor и перед anchor_comps_used — оба потребителя (n_analogs и показываемые analogs) читают один и тот же постдедуп список, синхронизация не требует отдельной логики. Refs #2265, #2262 |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| observability | ||
| schemas | ||
| services | ||
| tasks | ||
| __init__.py | ||
| main.py | ||
| scheduler_main.py | ||