feat(tradein): Phase 1 of #582 — address mismatch audit (200-house Yandex baseline) #583
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#583
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/tradein-address-audit-phase1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Связь с issue
Closes Phase 1 of #582. Phases 2-5 в отдельных PR.
Что ships
Phase 1 audit infrastructure для quantification расхождения между нашими
(address, lat/lon)парами и тем, что Yandex.Карты говорит для тех же координат.Файлы
data/sql/066_address_mismatch_audit.sqladdress_mismatch_audit+ FDW foreign tablegendesign_ekb_districts_geomscripts/audit_address_sample.sqlscripts/_yandex_reverse.pyscripts/audit_address_mismatch.pyscripts/address_audit_report.sqltests/test_audit_address_mismatch.pytests/fixtures/yandex_geocode_sample.jsonpyproject.tomlplaywright>=1.45в[dependency-groups].devVerification
pytest tests/test_audit_address_mismatch.py: 19 passed in 1.00sruff check scripts/ tests/: cleanruff format --check: clean⚠ Devops runbook (перед запуском audit на проде)
Миграция 066 создаёт FDW foreign table
gendesign_ekb_districts_geom. Sampling-запрос требует, чтобы рольtradein_fdw_readerимелаSELECTнаgendesign.public.ekb_districts_geom. Если grant отсутствует, sampling вернёт 0 строк и script тихо запишет в логloaded sample: 0 houses.Проверить:
Зависимости / блокеры
Запуск audit
Review trail
tech-analystплан Phase 1 (sampling, Yandex extraction, anti-bot).backend-engineerреализация: 8 файлов, 19 тестов.code-reviewerverdict: LGTM, 5 minor non-blocking — все применены в main session (per-row commit comments, O(N²)→O(N) count, skip trailing sleep, redundant index removed, bare except → logger.debug).