gendesign/tradein-mvp/backend
bot-backend 2dfbb86ac0 feat(tradein): yandex city-sweep — один прогон SERP+address-enrich
- YandexCitySweepCounters расширен: address_attempted/enriched/failed
  (pages_fetched удалён — fetch_around_multi_room агрегирует внутри)
- run_yandex_city_sweep: переключён на fetch_around_multi_room (rooms×price-range
  combos, #847/#860), добавлен параметр enrich_address=True
- Address-enrich фаза per anchor: для листингов без номера дома запрашивает
  detail <title>, извлекает полный адрес через yandex_address_backfill
  (_extract_address_from_title / _RE_HAS_HOUSE_NUMBER)
- admin.py: POST /scrape/yandex-city-sweep + GET .../runs + /{run_id}/cancel
  (модель YandexCitySweepStartRequest: pages_per_anchor/request_delay_sec/
  enrich_address/radius_m)
- scheduler.py: trigger_yandex_city_sweep_run передаёт enrich_address из params
- Тесты переписаны под новую сигнатуру: 16 тестов, все проходят
2026-05-31 10:38:23 +03:00
..
app feat(tradein): yandex city-sweep — один прогон SERP+address-enrich 2026-05-31 10:38:23 +03:00
data/sql feat(tradein): schedule yandex address backfill task (#855) (#866) 2026-05-31 07:31:10 +00:00
scripts feat(backtest): per-rooms asking→sold correction block (#648 S1) (#650) 2026-05-29 13:11:55 +00:00
tests feat(tradein): yandex city-sweep — один прогон SERP+address-enrich 2026-05-31 10:38:23 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat(tradein): persistent infra для backfill scripts (PR F) (#592) 2026-05-27 06:59:54 +00:00
pyproject.toml feat(rbac): role-based access control via X-Authenticated-User middleware (#585) 2026-05-26 06:18:40 +00:00