gendesign/tradein-mvp/backend
bot-backend 29222585d0 fix(tradein): coarse-geo downgrade works without DaData on prod (#693)
PR #707's geo-quality gate was conditional on dadata.qc_geo>=2, but on prod
DaData is off (token unset) so dadata is always None — the gate never fired,
even for region/city centroids (QA smoke FAIL: 'фывапролд 999' → confident
medium). Add a DaData-independent coarse signal: a real house address always
ends in a house number; a city/region centroid full_address does not. OR it
into the existing gate (anchor_tier-None + median>0 guards unchanged).

Cache-agnostic (reads geo.full_address regardless of provider/cache) and
zero false-downgrades on real addresses (every real house has a number).
Postcode (6d) / year (4d) excluded by digit-boundary regex.

Refs #693
2026-05-30 15:04:16 +03:00
..
app fix(tradein): coarse-geo downgrade works without DaData on prod (#693) 2026-05-30 15:04: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): coarse-geo downgrade works without DaData on prod (#693) 2026-05-30 15:04: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