|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 7s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 1m36s
Three independent feature flags, all default OFF pending live A/B backtest (no DB access in worker/main sessions this round — see PR body for exact before/after commands to run once available): - estimate_kitchen_area_signal_enabled / estimate_ceiling_height_signal_enabled: house_type/year_built have a user-input target to compare candidates against; kitchen_area_m2/ceiling_height_m have neither a target (TradeInEstimateInput doesn't collect them) nor ground-truth on rosreestr deals (backtest DealSample lacks these columns). Inventing an external "typical" constant would be unfounded, so the penalty is self-referential: deviation from the CANDIDATE POOL's own median in Tier H/W relevance_score. NULL-safe (no penalty, excluded from median) and sparse-safe (fully skipped when <5 non-null values in the pool). - estimate_is_apartments_filter_enabled: hard-filter in _COMMON_WHERE + Tier W, symmetric to the existing novostroyki-guard (#1186). NULL passes through untouched, only explicit true excluded. Review fixup: _stratify_candidates requires its input pre-sorted by relevance_score (its per-source guaranteed-quota selection depends on that order). _apply_kitchen_ceiling_signal mutates relevance_score in-place after the SQL fetch but before stratify — added an explicit re-sort in both call sites (Tier H, Tier W) so the diversity-quota selection sees the post-adjustment order once either flag ships live. Currently a no-op (flags off), but was a latent footgun for the first PR to flip one on. |
||
|---|---|---|
| .. | ||
| exporters | ||
| matching | ||
| scrapers | ||
| __init__.py | ||
| account_quota.py | ||
| brand.py | ||
| buildings_query.py | ||
| cache.py | ||
| cian_price_history.py | ||
| cian_session.py | ||
| dadata.py | ||
| estimator.py | ||
| gar_flats_loader.py | ||
| geocoder.py | ||
| house_dedup_merge.py | ||
| house_imv_backfill.py | ||
| house_metadata.py | ||
| image_sanitizer.py | ||
| location_coef.py | ||
| product_handlers.py | ||
| proxy_pool.py | ||
| rosreestr_poll.py | ||
| sber_index.py | ||
| scheduler.py | ||
| scrape_pipeline.py | ||
| scrape_runs.py | ||
| scraper_adapters.py | ||
| scraper_settings.py | ||
| search_query.py | ||
| yandex_address_backfill.py | ||
| yandex_price_history.py | ||
| zhkh_flats_loader.py | ||