feat(tradein/cian): promote kitchen/mortgage/apartments + normalize house_type (#2008) #2017
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2017
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/tradein-2008-cian-promote-house-type"
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
CLASS A — реальный фикс оценки: cian хранил
house_typeсырымmaterialType(camelCase:monolithBrick/gasSilicateBlock/stalin/...), который ≠ канон → estimator soft-penalty ложно штрафовал ~1208 cian-аналогов (monolithBrick1143 + прочие). Теперьnormalize_house_typeна ингесте (тот же модуль, что #2007) + backfill-миграция 141 существующих строк (monolithBrick→monolith_brick,gasSilicateBlock/aerocreteBlock/foamConcreteBlock→block,stalin→brick; консервативно — канон и неизвестные не трогаем).CLASS B — promote для дашборда/матчинга (НЕ valuation, см. #2012):
kitchenArea→kitchen_area_m2,bargainTerms.mortgageAllowed→mortgage_available(колонки уже есть).is_apartments,is_rosreestr_checked(миграция 141,ADD COLUMN IF NOT EXISTS) ←offer.isApartments/offer.isRosreestrChecked.ScrapedLot+ проведены черезsave_listings(INSERT + оба upsert-пути, COALESCE — re-scrape без поля не затирает).Сырьё сохранено в
raw_payload['raw_material_type']/['kitchen_area_m2']для аудита.Test plan
:x::typeCAST traptest_cian_serp_scraper+test_base_save_listings→ 90 passed (расширенный прогон 202)SELECT house_type, count(*) FROM listings WHERE source='cian' GROUP BY 1— нет camelCase; kitchen/mortgage/apartments растут по новым cian-скрейпамRefs #2008