fix(ptica): подпись сетевого обременения называет все виды, а не первый (#2464) #3001
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#3001
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/2464-zouit-label"
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?
Дефект
cad_utility_labelбрался от первого overlap'а с распознаннымnetwork_kind, а покрытие агрегировалось по всему bucket'у. Участок под двумя видами охранных зон получал конкретную причину, дающую малую часть площади.Вот что печатает
origin/mainна паре «теплосеть 10 % + инженерные коммуникации 64 %»:Названа сеть, дающая 10 %. 64 % площади — от другой.
Это не редкость
Прод 20.08.2026, спатиальный self-join по
cad_zouit:Правка
Копятся все различённые виды, называются через запятую, множественное число когда их больше одного. Покрытие — их объединение, и подпись это отражает.
Заодно снята зависимость от порядка: подпись бралась от первого overlap'а, а порядок задаёт
ORDER BY reg_numb_border, id— к покрытию он отношения не имеет. Виды сортируются.Довод пункта эпика не подтвердился — вывод подтвердился
Пункт говорит о смешении сетевых зон с keyword-совпадениями без
network_kind. Проверил классификацию всех 3493 строкcad_zouitкодом из репозитория:classify_network_zoneуже покрывает все шаблоны, встречающиеся в данных. То есть вывод пункта («конкретная причина приписывается чужой площади») верен, а механизм — другой: смешиваются разные виды сетей между собой.Записываю это прямо, потому что чинил бы не то, если бы поверил формулировке.
Как проверено
origin/mainтри теста красные; головной падает с полной строкой, которую увидел бы пользователь.pytest backend/tests/test_gate_verdict.py backend/tests/services/site_finder/— 727 passed.Часть эпика #2464.
`cad_utility_label` брался от ПЕРВОГО overlap'а с распознанным `network_kind`, а покрытие агрегировалось по ВСЕМУ bucket'у. Участок под двумя видами охранных зон получал в отчёте конкретную причину, дающую малую часть площади: «Сетевое обременение (теплоснабжение) покрывает 74% участка» ← теплоснабжение даёт 10%, остальные 64% — инженерные коммуникации Это не редкость. Прод 20.08.2026: 316 пересечений охранных зон РАЗНЫХ видов, 155 зон вовлечено; самая частая пара — «тепловых сетей» × «инженерных коммуникаций» (296 из 316). Теперь копятся ВСЕ различённые виды и называются через запятую; множественное число, когда их больше одного. Покрытие — их объединение, и подпись это отражает. Заодно снята зависимость от порядка: подпись бралась от первого overlap'а, а он определяется `ORDER BY reg_numb_border, id`, который к покрытию отношения не имеет. Виды сортируются. Проверка попутно опровергла ДОВОД пункта эпика. Пункт говорит о смешении сетевых зон с keyword-совпадениями без network_kind. На проде таких ноль: из 3493 строк cad_zouit — 103 СЗЗ-предупреждения, 1936 с распознанной сетью, 1454 generic warning, и НИ ОДНОЙ «только по ключевому слову» (classify_network_zone уже покрывает все встречающиеся шаблоны). Вывод пункта — «конкретная причина приписывается чужой площади» — верен, но по другой причине: смешиваются РАЗНЫЕ ВИДЫ СЕТЕЙ, а не сети с keyword'ами. Двусторонне: против origin/main три теста красные, головной — с полной строкой, которую увидел бы пользователь. Контроли зелёные с обеих сторон: один вид сохраняет прежнюю формулировку в единственном числе, две зоны одного вида не дают дубль в подписи, area-gate не тронут (тонкая полоса остаётся warning). pytest test_gate_verdict + services/site_finder — 727 passed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>