domrf_kn_objects/sales_agg хранят ~3 snapshot'а на obj_id (weekly UPSERT, retention=none). JOIN без latest-фильтра считал каждый ЖК N раз: sold_median тянулся старыми perc → sat_factor занижен, гейт n>=5 проходил уже при 2 ЖК (n=6), sat_n завышен ~×N в scope. Сданные ЖК просачивались через старые снапшоты со статусом 'Строящиеся'. Patch: AND a.snapshot_date = (SELECT MAX(snapshot_date) FROM ...) для обеих таблиц (зеркало #1210/#1212). COUNT(*) → COUNT(DISTINCT a.obj_id) defensive. 29 recommend_mix + 8 saturation тестов зелёные. Closes #1221 |
||
|---|---|---|
| .. | ||
| analysis_runs | ||
| cadastre | ||
| chat | ||
| etl | ||
| exporters | ||
| forecasting | ||
| generative | ||
| llm | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| forecast_request_cache.py | ||
| insights.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||
| own_projects.py | ||
| weather_cache.py | ||