22 города Московской области в покрытии #3536
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
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#3536
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/mo-cities-coverage"
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?
Зачем
Тестировщику по области нечего выбрать: реестр городов во фронте знал только Свердловскую область и Москву. Подмосковные населённые пункты лежали в
_COVERAGE_NEGATIVE_CENTROIDS_DEG— намеренно, решением от 11.09.2026 «центроид без порога = город не определён».Почему решение пересмотрено
Не «захотелось открыть регион», а замер — той же метрикой, которой Москве выбирали жёлтый тир: 120 проб на город, радиус 8 км от центра, когорта =
is_active+ точные комнаты + площадь ±15% +scraped_at > now() - 14d+ST_DWithin1000 м.Каждый город области плотнее Москвы, несколько — на уровне зелёного Екатеринбурга. Жёлтый порог для них консервативен.
Что внутри
city-registry.ts: тип региона66 | 77 | 50,REGION_LABELS[50], 22 города после Москвы.trade_in.py:COVERAGE_MO_CITIES→_COVERAGE_CITY_THRESHOLDSсCOVERAGE_YELLOW_MIN_N, 22 центроида в_CITY_CENTROIDS_DEG. 12 перенесены из негативного списка (32 → 20 записей, ключи двух словарей не пересекаются), 10 взяты изMOSCOW_OBLAST_CITY_ANCHORS— там они резолвлены Nominatim.MOSCOW_CITYбольше не берётся по индексу последнего элемента: список перестал заканчиваться Москвой, молчаливая поломка стоила бы дорого. Теперь поиск поidс явным throw.Про тесты сетки
12 промоутнутых координат раньше держали большой пласт тестов, буквально утверждавших «здесь город не определён». Они переписаны по факту, а не подогнаны: контроль бесконечного радиуса переехал с точки в 22.9 км от новой Коломны, Пушкино теперь резолвится в Королёв (попал в 25-км радиус),
_MOSCOW_OBLAST_CITIESсокращён с 16 до 4 реально оставшихся отрицательными.Test plan
pytest tests/test_public_mera_api.py tests/test_coverage_probe_endpoint.py→ 81 passed, 2 skipped (проверено в main-сессии, не со слов агента)npx tsc --noEmitпо всему фронту — чистоruff format+ruff check— чисто