fix(ptica): число ЗОУИТ перестаёт подписываться как число типов (#2464) #2961
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#2961
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/2464-zouit-count-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?
Пункт эпика #2464:
full_report_docx.py:288. Оказалось — в обоих экспортёрах сразу.Что не так
encumbrance.zouit_countприходит изparcels.pyкакlen(zouit_rows)— число записейcad_zouit, пересёкших участок. Типы лежат отдельно, вzouit_types, и показаны строкой ниже.Оба экспортёра подписывали это число как «Кол-во типов ЗОУИТ».
Насколько часто это врёт
По реальным отчётам (
analysis_runs):Почти в половине отчётов с ЗОУИТ читателю показывали число, которое в среднем на треть больше того, что обещает подпись.
Почему правлю подпись, а не значение
Пункт эпика предлагал обратное — заменить значение на
len(zouit_types). Это сделало бы фолбэк несогласованным с основным путём: у источника счётчик считает записи, и таким же он уходит в чат-контекст (chat/retrieval.py). Значение верное — врёт подпись.Тест
Инвариант сформулирован по смыслу, а не сверкой с выбранной мной строкой:
Такая формулировка переживёт разумное переименование и не даст «починить» тест подгонкой подписи. Проверяются оба формата.
Против
origin/main(5 записей, 2 типа):Контроли не для симметрии: первый ловит «починку», которая выкинула бы счётчик вместо переименования, второй — потерю перечисления типов.
Прогоны