Гео-фильтр ≤300м (мигр.150) широк для плотной застройки: к 5-этажному дому (Мраморская 34к4) примагничены чужие листинги 9/16/19-этажных башен (Благодатская 15, Мраморская 6) на 229-282м — все <300м, фильтр не отсекал. - мигр.152: +houses.zhkh_floors (parse zhkh_floors_raw "10-30"→max); гард во view во всех 5 FILTER: считать листинг только если abs(l.total_floors - COALESCE(zhkh_floors, total_floors)) <= 3 (или этажность неизвестна). Гео-фильтр 300м сохранён. - buildings_query.build_listings_query: тот же гард в детальной выдаче. Прод-замер: отсекает 2754 листинга (12%) height-mismatched. Покрытие этажности 75% total_floors / 73% ЖКХ. ruff clean, pytest 26 green. |
||
|---|---|---|
| .. | ||
| app | ||
| data/sql | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| pyproject.toml | ||