gendesign/tradein-mvp/backend
lekss361 45a9db2f25 fix(tradein): flag coarse-geo estimates as low-confidence (#693)
Когда DaData/геокод резолвит адрес лишь до уровня города/населённого пункта
(qc_geo>=2 — центроид, не дом/улица), радиусный поиск брал аналоги по случайной
окрестности и выдавал уверенную medium-оценку, хотя адрес по сути не найден.

Добавлен консервативный downgrade: confidence→low + флаг «оценка ориентировочная»,
ТОЛЬКО при позитивном coarse-сигнале (dadata.qc_geo>=2) И несработавшем
same-building anchor (anchor_tier is None — путь #691 с реальными комплами дома
не трогаем) И median_price>0. Без dadata/qc_geo — не понижаем (не фабрикуем).

Тесты: coarse+no-anchor→low+флаг; coarse+anchor→не понижен (#691 защищён);
precise→без изменений; dadata=None→без ложного downgrade. 41 passed.

Closes #693
2026-05-30 11:54:16 +03:00
..
app fix(tradein): flag coarse-geo estimates as low-confidence (#693) 2026-05-30 11:54:16 +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): flag coarse-geo estimates as low-confidence (#693) 2026-05-30 11:54:16 +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