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 |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| observability | ||
| schemas | ||
| services | ||
| tasks | ||
| __init__.py | ||
| main.py | ||