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