gendesign/tradein-mvp/backend
bot-backend 384c4e7ac3
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
fix(tradein/matching): не сваливать листинги в чужой дом (P1-P3)
Три гарда в match_or_create_house (+ P2 в match_house_readonly):
- P1: не матчить/алиасить голую улицу (normalized_address без номера дома)
- P2: отклонять Tier-3 гео-кандидата, если номера домов различаются
- P3: не цементировать слабый гео-матч (0.7) как alias-ключ здания

Хелперы has_house_number/house_number_token (по хвостовому токену —
«улица 8 марта» это улица, не дом). Корень mis-bucketing: house 131237
стянул 8 разных Мамина-номеров + голую улицу. Юнит + поведенческие тесты,
603 matching/normalize/house зелёных. Аффектит только НОВЫЕ матчи;
чистка cemented-данных — отдельной миграцией (P4).
2026-06-29 00:06:13 +03:00
..
app fix(tradein/matching): не сваливать листинги в чужой дом (P1-P3) 2026-06-29 00:06:13 +03:00
data/sql fix(tradein/sale-share): гео-фильтр числителя ≤300м — отсечь mis-bucketed листинги 2026-06-28 23:24:05 +03:00
scripts feat(tradein/domclick): local-runner + ingest tooling → main (split from parked Layer-B) 2026-06-28 10:26:52 +03:00
tests fix(tradein/matching): не сваливать листинги в чужой дом (P1-P3) 2026-06-29 00:06:13 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile fix(tradein): гарантировать lxml в backend-образе — bust кэша uv sync + assert import (#2061) 2026-06-28 15:16:04 +00:00
pyproject.toml feat(tradein): ГАР-loader знаменателя — apartments-per-house → gar_house_flats + match к houses (#2059) 2026-06-28 14:54:43 +00:00