gendesign/tradein-mvp/backend
lekss361 a5bb79bc59 fix(tradein): run same-building anchor without radius analogs (#691)
На проде геокод часто отдаёт lat/lon=None → ST_DWithin не находит радиусные
аналоги → median_price=0, и same-building якорь скипался: его гейт требовал
listings_clean (непустой радиус) + median_price>0. При этом комплы того же
дома реально есть — _fetch_anchor_comps резолвит дом по payload.address без
геокода (Ткачёва 13 → «улица Ткачей, 13», 27 комплов; Сакко 99).

Гейт ослаблен до resolved-таргета: area_m2 + (payload.address|geo.full_address),
независимо от радиусных аналогов. Новый гейт — супермножество старого (при
непустом радиусе адрес всегда есть), так что ранее-якорившиеся кейсы не
меняются. Если комплов реально нет — _compute_same_building_anchor вернёт None
и мутации median/range не будет (идентично insufficient-пути).

Тесты: anchor срабатывает при пустом радиусе (median>0); контроль — без комплов
и без радиуса median остаётся 0 (не фабрикуем число).

Closes #691
2026-05-30 11:25:59 +03:00
..
app fix(tradein): run same-building anchor without radius analogs (#691) 2026-05-30 11:25:59 +03:00
data/sql feat(tradein): white-label branded page for client «Практика» (#657) (#672) 2026-05-29 16:09:23 +00:00
scripts feat(backtest): per-rooms asking→sold correction block (#648 S1) (#650) 2026-05-29 13:11:55 +00:00
tests fix(tradein): run same-building anchor without radius analogs (#691) 2026-05-30 11:25:59 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat(tradein): persistent infra для backfill scripts (PR F) (#592) 2026-05-27 06:59:54 +00:00
pyproject.toml feat(rbac): role-based access control via X-Authenticated-User middleware (#585) 2026-05-26 06:18:40 +00:00