feat(mera/b2c): раздел статей и хаб документов (макет 29.08) + числа статьи заменены на замер #3223
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#3223
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/b2c-articles-docs"
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?
Последняя часть макета Макса «B2C модуль для МЕРА». После лэндинга (#3215) и экрана отчёта (#3221) закрываются оставшиеся два холста: «МЕРА статьи» / «МЕРА статья» и «МЕРА документы».
Что появилось
/articles/articles/kak-ocenit-kvartiru/docsПроводка доведена до конца: «Статьи» в шапке и подвале и «Проверьте себя» (
#game) перестали быть неактивными заглушками — цели теперь существуют.EstimateHeaderпереименован вInnerHeader: он стоит уже на трёх страницах, а не только на проверке.Главное: числа статьи — не из макета, а из замера
Макет писал в голосе продукта: «По нашим данным, средний разрыв между первой ценой в объявлении и ценой сделки — 4,1%, а у квартир, провисевших больше трёх месяцев, он доходит до 9%». Прогнал это через прод (poincare, 29.08.2026, только SELECT) — величины такого рода у нас нет в принципе:
cadastral_numberпуст у всех 108 623 сделок и всех 111 693 объявлений;asking_to_sold_ratios— это отношение медиан двух разных популяций (сделки Росреестра за 12 мес. против активных объявлений за 14 дней), а не парная величина. Разброс по кольцам от центра 0.73 → 1.34, то есть «коэффициент» — функция того, где сидят обе выборки, а не характеристика торга. Назвать1 − ratioразрывом «объявление ↔ сделка» нельзя.Поэтому §1 и §4 переписаны на то, что измеряется парно: цена публикации → цена на дату среза внутри одного объявления.
Замер: 6202 объявления квартир Домклик в Екатеринбурге, срез 18.07.2026 (
offer_price_history, единственный источник с настоящими таймстемпами площадки; avito/yandex непригодны — триггер не пишет стартовую цену, аyandex_price_historyсеет синтетическую паруnow − 1 день).Шесть скептиков в отдельных контекстах воспроизвели SQL и попытались опровергнуть. Числа устояли бит-в-бит; формулировку опровергли — и она исправлена: в выборке нет ни одного объявления моложе 21 дня (прогон обогащения 18.07 их не захватил), а это ровно та когорта, которая цену почти не режет. Поэтому в тексте прямо сказано: (1) это движение цены в объявлении, а не скидка на сделке; (2) самых свежих объявлений в замере нет, и по всему живому рынку доля ниже. Цифра по долгостою от этой дыры не зависит.
Остальные утверждения макета
cad_buildings.cost_value); замер по ней даёт −67%, но это другой объект — почти плоские 40 355 ₽/м² по всем домам выдают массовую формулу от площади. Проверить нечем — значит, числа нетAREA_TOLERANCEвestimator.py:92. По факту показанных аналогов в ±10% укладывается только две третиdisplay_pool[:10], отсортированной по близости), а не поиска. Тавтологияmera.exampleLEGAL_ENTITYПериметр и гейты
Три списка сходятся:
@meraPages/@meraShortSlash/@meraLongPagesвapps.caddy↔PUBLIC_ROUTES↔PUBLIC_SHORT_PATHSв гварде. Полный прогон тестов сразу поймал забытый гвард —RouteGuard.publicPathsпокраснел на/articlesдо того, как я успел это заметить сам.Два гейта, оба фальсифицированы, а не просто «зелёные»:
@meraShortSlashдо сих пор не проверялся ничем, хотя это третье место того же класса дефекта (адрес со слэшем мимо матчера уходит в 404). Проверка добавлена; снятие/docsиз альтернации красит её.articles/articles-content.tsвнесён вV3_SOURCES. Проверено с ОДНИМ этим файлом в списке: снятиеnoindexкрасит гейт, то есть строка не декоративная.Проверено
tsc·eslint·vitest 69/69·check:mera-public-isolation· скриншоты трёх страниц на 1180 / 375 / 320 px, горизонтального переполнения нет.Что осталось за решениями владельца
PUBLIC_ESTIMATE_ENABLED = false,paymentsиpayment_entitlementsна проде пусты). Записано в докстрингеdocs/page.tsx: открывать страницу наружу можно только вместе с контуром либо сняв таблицу.#9fb0b4/#2c3a3fна тёмных плашках — сырой hex, но так написан весь файл (17+ мест), выносить в токены надо отдельным проходом.