|
|
02ad9a1f58
|
feat(tradein): Phase 1 of #582 — address mismatch audit infrastructure
Stratified 200-house Yandex reverse-geocode audit comparing our DB's
(address, lat/lon) pair against what Yandex.Карты returns for those
coordinates. Лежит фундамент данных для Phases 2-5 (canonical = Yandex
per user decision).
What ships:
- Migration 066: address_mismatch_audit table + FDW foreign table
gendesign_ekb_districts_geom для stratified sampling.
- Sampling SQL: 8 EKB districts × 25 houses = 200.
- Driver scripts/audit_address_mismatch.py с двумя режимами:
API (если YANDEX_GEOCODER_API_KEY есть) и Playwright (CAPTCHA-aware,
персистентный контекст). Resumable по --batch.
- Report SQL: p50/p75/p95 distance, top-20 outliers, per-district breakdown.
- 19 unit-тестов: normalize, distance bind, API parser, resume idempotency,
captcha → status=blocked.
Devops note: после деплоя миграции — выдать tradein_fdw_reader SELECT на
gendesign.public.ekb_districts_geom перед первым запуском audit.
Refs #582 (Phase 1 of 5). Phase 3 backfill заблокирован до Yandex API
key (#402).
|
2026-05-25 12:50:30 +05:00 |
|