fix(mera/v2): форма принимала этаж больше этажности дома #3226
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#3226
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/mera-floor-validation"
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?
Что было
Прод-оценка
6d0c268e(пр-кт Академика Сахарова 81, кв 181, 29.08) ушла в расчёт сfloor=17приtotal_floors=9. Дом 2023 года постройки — девятиэтажным он быть не может. Ни форма, ни бэкенд взаимно противоречивый ввод не отбили, мусор дошёл до этажных коэффициентов.Что сделано
ParamsPanel(v2) блокирует сабмит по тому же паттерну, что уже работает для адреса и площади —fieldErrors+aria-invalid+aria-describedby+ текст ошибки под инпутом:floor > total_floors(оба заполнены)floor === 0total_floors === 0floor > 100/total_floors > 100Оба поля остаются опциональными — пустые значения не блокируют. Правка любого из двух полей сбрасывает обе ошибки:
floor > total_floors— ошибка про пару, а не про одно поле.Проверка
npx tsc --noEmit— чистоParamsPanel.floors.test.tsx— 3/3 (17/9 блокирует и показывает текст; 9/17 проходит; пустые поля проходят сfloor/total_floors=null)Осознанно вне scope
asking→sold ratio0.865 × hedonic-фактор 1.224 = 1.058 > 1 → клампestimate_expected_sold_le_asking(estimator.py:3600) прибивает expected_sold к headline. Замер по 349 прод-сделкам Росреестра показал, что снятие hedonic или ограничение его сверху единицей делают точность ХУЖЕ — правку туда без отдельного разбора вносить нельзя.