Цена продажи в финмодели калибровалась по name-match админ-района Objective — но только 4 из 9 районов ЕКБ совпадают по имени, 5 проваливались в class_norm. Добавлен ценовой tier "objective_geo_radius": ST_DWithin-медиана цен новостроек Objective (objective_lots ⋈ complexes по lat/lon) в радиусе 3 км от центроида участка, между квартальной MV и district_reference. Порог n≥10 лотов и ≥2 ЖК (один ЖК не задаёт цену). Прод: 5 «гео»-районов теперь дают реальную медиану (129–158k ₽/м²) вместо NULL. - data/sql/168: функциональный GIST-индекс complexes((ST_MakePoint(lon,lat))::geography) — без него ST_DWithin делает Seq Scan (+~90мс на /analyze, у которого уже таймаут-давление #1850). Прод EXPLAIN: Seq Scan 114мс → Index Scan 28мс. - guard: при вырожденном центроиде (fallback на центр ЕКБ) гео-радиус пропускается (source=no_data_centroid_fallback) — не выдаём центр-города медиану за калиброванную цену участка. - price_source="objective_geo_radius" (plain str, без schema-change). - ptica-adapt: price_source → честные RU-подписи (не сырой токен). - +4 теста (4-tier priority chain). deep-review ✅. Refs #1881 |
||
|---|---|---|
| .. | ||
| pat | ||
| sql | ||
| playwright_state.json | ||