feat(tradein): street_only disclaimer in StreetDealsCard (#722) #725
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
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#725
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/722-street-only-disclaimer"
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?
Summary
data_quality: "house_linked" | "street_only" | "no_data"в TS-типSalesVsListingsResponse(контракт backend #721, merged).StreetDealsCardприdata.data_quality === "street_only"рендерится честный дисклеймер «Данные по улице, не по конкретному дому…» вcard-head, рядом с linkage-hint блоком. Классlinkage-hintпереиспользован (без новых CSS-токенов).street_only(pairs.length > 0) — дисклеймер аддитивен, count-strip/таблица остаются видны.Why
На прод-данных
/sales-vs-listingsвсегда отдаётdeals_with_listings=0→ блок linkage не рендерился, пользователь не понимал почему пусто. ADR variant 3 (inbox/2026-05-30-1604-...dkp-listing-linkage-impossible): дом-уровневый join ДКП↔listing физически невозможен — честный дисклеймер вместо null-молчания.Test plan
npx tsc --noEmit→ 0 ошибокnpm run build(next build, incl. ESLint + type check) → ✓ Compiled successfully, 10/10 pagesgrep 'data_quality'в типе → 1, в компоненте → 1;grep 'по улице'в компоненте → 1street_onlyкарточка видна + дисклеймер (qa)Refs #722
✅ APPROVE
Downstream-консьюмер #722 для флага из #721 (merged). Чистая аддитивная UI-правка по спеку.
Correctness
data_quality: "house_linked" | "street_only" | "no_data"добавлен междуmedian_discount_pctиpairs— точное соответствие backend-контракту #721.data.data_quality === "street_only", содержит «по улице», размещён вcard-headрядом с linkage-hint.dataгарантированно non-null (early-return на стр. 73–74), null-deref исключён.street_only→deals_with_listings=0→hasAnyListing=false, первый linkage-hint скрыт, дисклеймер показан — корректное поведение.No regression
pairs.length === 0на стр. 74); дисклеймер аддитивен, existing{hasAnyListing && ...}нетронут.linkage-hint— без новых CSS-токенов.tsc --noEmit0 ошибок,next build✓ 10/10 pages.Scope/security — только frontend tradein; нет secrets, нет self-extending триггера. Smoke (street_only визуал) → qa.