gendesign/tradein-mvp/backend
lekss361 1f875e2179 fix(tradein): harden same-building anchor address normalizer for prod formats (#677)
#677 SB anchor matched 0 comps on real prod addresses (live golden KPI 67% vs 95% sim).
Rewrites _normalize_building_key to be format-invariant: strips city/r-n/mkr/dot-tail,
drops street-type words from either side (Олимпийская наб. <-> набережная), tolerant
house parse (',', 'д.', '/N', 'кN', glued corpus letter), ё->е + street alias on full
multi-word core. Validated on live DB: Ткачёва 13->27, Б.Ельцина 6->44, Олимп 13->5,
Сакко 99->4, Февральской 21->3 (all were 0); 13!=130/131, 99!=100 over-match guarded.
ruff clean; 30 anchor tests (12 new); no #677 weighting/guardrail change; behind flag.

Refs #651 #652 #677
2026-05-30 01:19:21 +03:00
..
app fix(tradein): harden same-building anchor address normalizer for prod formats (#677) 2026-05-30 01:19:21 +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): harden same-building anchor address normalizer for prod formats (#677) 2026-05-30 01:19:21 +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