|
All checks were successful
CI / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 58s
CI Trade-In / changes (pull_request) Successful in 8s
CI / openapi-codegen-check (pull_request) Has been skipped
Полировка Mera v2 после live-аудита — тот же класс "фейк-данные под видом реальных", что уже чинили раньше. Честная деградация: убрать фейк / завести реальные данные / явно разметить, никогда не выдумывать. 1. Реконсиляция счётчика аналогов. Бэкенд (schemas/trade_in.py:163-165,180-181, estimator.py:3286-3310, #2087 M1) чётко документирует: n_analogs — полный счёт, использованный в расчёте; analogs/source_counts — персистентный top-10 сэмпл (намеренно капнутый, чтобы POST/GET не расходились). Это НЕ "найдено vs использовано", а "полный итог vs капнутая выборка для показа". 02/03/05 уже использовали n_analogs в headline-цифрах — оставлено. Добавлена дисклозура там, где рядом всплывала капнутая выборка и создавала мнимое противоречие: 02 (тайлы источников vs "ПОСТРОЕНО ПО N АНАЛОГАМ"), 05 (шапка карты и подвал таблицы объявлений) — по образцу уже существующего паттерна "Показано N из M" (deals-таблица). 2. Убран фейковый donut "КАЧЕСТВО ДАННЫХ" (ObjectSummary) — хардкод strokeDasharray/offset, композитного score нет нигде в мапперах. 3. Убрана фейковая линейка расстояний (HeroBar) — хардкод тиков 0/25/50/75/100м поверх стокового фото. 4. Скрыты компас и street-view слот (HeroBar) — оба поля всегда "" (TODO BE-3), по образцу уже используемого в файле паттерна locationCoef "нет данных". 5. mapReport берёт реальный created_at (#2043/BE-1), фоллбек на expires−24h только для pre-BE-1 записей без created_at. 6. Бейдж "ДАННЫЕ АКТУАЛЬНЫ/ДЕЙСТВИТЕЛЕН 24 Ч" (ParamsPanel) загейчен на hasEstimate — раньше показывался как свежий ДО первой оценки. 7. Дисклеймер у декоративной SVG-карты (ParamsPanel): "Схематично · не географическая карта · радиус не в масштабе". 8. Outlier-guard на ₽/м² (mappers.ts guardPriceOutliers, порог 2.5–3× медианы пула, взята середина — 2.75×): исключение из CV/разброса с дисклозурой count + бейдж "возможный выброс" на строке в таблице объявлений (05). 9. SourcesMap: попап сделки "(квартал, Росреестр)" → "(месяц, Росреестр)" — fmtMonthYear реально рендерит месяц. 10. mapCache "ВСЕГО ОЦЕНОК" → саб-лейбл "последние 50" (useEstimateHistory капает на 50, trade-in-api.ts:247) — было похоже на лайфтайм-тотал. tsc --noEmit + next lint зелёные; next build (задет shared types.ts) зелёный. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| tsconfig.json | ||