|
All checks were successful
CI / changes (pull_request) Successful in 9s
CI Trade-In / changes (pull_request) Successful in 10s
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 51s
Миграция 177 залила +47183 ДКП-сделки по всей Свердловской обл. (66, 368 городов, deals.city заполнен). Потребители deals матчат по имени улицы БЕЗ city-фильтра → одноимённые улицы дешёвых городов области контаминируют ЕКБ-числа. C1 — street-deals + ДКП-коридор (клиент видит СЕЙЧАС): - estimator._fetch_dkp_corridor + api/v1/trade_in.get_street_deals: добавлен city-скоуп `city IS NOT NULL AND :address ILIKE '%'||city||'%'` (канонический deals.city как подстрока целевого адреса — self-normalizing, адрес всегда содержит город). - Live-repro (Ленина, 2к, 12мес): median 52 908 → 118 052 ₽/м² (было занижение ~−55%). C2 — дневной пересчёт asking→sold ratio (imminent, «выкупная» −29%): - tasks/asking_to_sold_ratio: deal_side + deal_global скоупятся на ЕКБ (asking-сторона = listings покрыты скрейпом только по ЕКБ; в listings нет колонки city). Константа _ASKING_CITY_PATTERN. ask-стороны не трогаем. - Live-repro (rooms=2): sold_median all-city 82 593 (ratio 0.622) → EKB 116 858 (ratio 0.880). Предотвращает обвал «выкупной» на след. пересчёте. - Когда появятся oblast-листинги (B1/B2) → заменить на per-city ratio через `district`. Тесты: subset-тест 080↔refresh (mirror _drop_segment_guard прецедента для city-guard) + позитивный тест скоупа; 125 passed вкл. regression-гейт (байт-зелёный — коридор заморожен в фикстуре), expected_sold, idor, 781. Regression-гейт не затронут (dkp_raw — frozen kwarg). |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| asking_to_sold_ratio.py | ||
| avito_detail_backfill.py | ||
| backfill_listings_coords_geoportal.py | ||
| cadastral_geo_match.py | ||
| cian_history_backfill.py | ||
| deactivate_stale_avito.py | ||
| deals_freshness_monitor.py | ||
| domclick_detail_backfill.py | ||
| domrf_kapremont_load.py | ||
| ekb_geoportal_ingest.py | ||
| gar_flats_load.py | ||
| geocode_missing.py | ||
| listing_source_snapshot.py | ||
| newbuilding_enrich_backfill.py | ||
| osm_poi_ekb_refresh.py | ||
| refresh_search_matview.py | ||
| rosreestr_quarter_poll.py | ||
| sber_index_pull.py | ||
| yandex_address_backfill.py | ||
| yandex_detail_backfill.py | ||
| yandex_newbuilding_sweep.py | ||
| zhkh_flats_load.py | ||