gendesign/tradein-mvp/backend/app/schemas
lekss361 c60d394ff0 feat(tradein): этаж/этажность optional + best test presets по deal count
UX: floor и total_floors теперь optional — все 6 мест в estimator.py уже
имеют None-guards (Tier H/IMV/Cian валидируют наличие до вызова).
При None — Tier H/IMV/Cian skip, оценка через Tier W (wide) с понижением
confidence до medium/low. Critical guard: tradein.deals также не имеют
жёстких NOT NULL на этих полях — schema-only change достаточен.

Test presets: заменены на top-6 ЕКБ улиц по deal_count за 12 мес
(rosreestr_deals ДКП квартиры):
  - Академика Ландау (686 сделок/год, Академический новостройки)
  - Малышева 84 (центр классика — оставлен)
  - Краснолесья (487 сделок/год, Академический эконом)
  - Космонавтов 50 (415 сделок/год, Уралмаш бюджет)
  - 8 Марта 80 (305 сделок/год, центр Ленинский)
  - Московская (426 сделок/год, центр премиум)

Разброс: 4 района, размеры 35-75м², 1-3 комнаты, цены 120-185 К ₽/м².
Все адреса дают medium+ confidence из-за объёма ДКП-сделок на улице.
2026-05-25 00:20:08 +03:00
..
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
search.py feat(tradein): Phase 3.2 — /api/v1/search endpoint + Redis cache (#479) 2026-05-23 14:44:22 +00:00
search_response.py feat(tradein): Phase 3.2 — /api/v1/search endpoint + Redis cache (#479) 2026-05-23 14:44:22 +00:00
trade_in.py feat(tradein): этаж/этажность optional + best test presets по deal count 2026-05-25 00:20:08 +03:00