gendesign/tradein-mvp/backend
bot-backend b547fca673 fix(estimator): expected_sold guard listings_clean → median_price>0 (Refs #773)
anchor-only оценки (same-building anchor без radius-comps) имели median_price>0
но expected_sold=NULL, т.к. guard проверял listings_clean (пуст) вместо
median_price>0. Чинит 7.5% (24/322) оценок без выкупной цены. median_price
в scope (init 1538/1544, mutated anchor 1806, IMV-blend 1904) до guard'а (1954).
Формула не менялась, только условие. IMV-blend gate (другой listings_clean,
1842) не тронут. 2 регресс-теста (anchor-only→>0, median=0→None). ruff clean,
pytest -k expected_sold 16 pass.
2026-05-30 19:35:18 +03:00
..
app fix(estimator): expected_sold guard listings_clean → median_price>0 (Refs #773) 2026-05-30 19:35:18 +03:00
data/sql feat(scrapers): wire N1.ru city sweep — pipeline + scheduler + admin endpoint (#575) (#745) 2026-05-30 15:43:38 +00:00
scripts feat(backtest): per-rooms asking→sold correction block (#648 S1) (#650) 2026-05-29 13:11:55 +00:00
tests fix(estimator): expected_sold guard listings_clean → median_price>0 (Refs #773) 2026-05-30 19:35:18 +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