feat(tradein): avito city-sweep — IMV-фаза (один прогон = SERP+detail+houses+IMV) #861

Merged
bot-reviewer merged 1 commit from feat/tradein-avito-full-sweep-imv into main 2026-05-31 07:09:43 +00:00

1 commit

Author SHA1 Message Date
7ce758419a feat(tradein): avito city-sweep — IMV enrichment phase (один прогон = SERP+detail+houses+IMV)
Встраивает IMV-оценку домов как финальную фазу run_avito_city_sweep.
Один запуск sweep'а теперь наполняет: listings (SERP) + detail-обогащение
+ houses (catalog/reviews/sellers) + IMV-оценку тронутых домов.

- scrape_pipeline: добавлен enrich_imv param, CitySweepCounters.imv_attempted/
  imv_enriched/imv_failed, PipelineResult.touched_house_ids (собирается при
  houses-enrichment из save_house_catalog_enrichment['house_id']).
  После всех anchor'ов — IMV-фаза: process_houses_imv_batch для touched_house_ids,
  cooperative cancel check, graceful per-house error handling (не валит sweep).
- house_imv_backfill: добавлена process_houses_imv_batch — тонкая обёртка для
  обработки конкретного set[house_id] (пропускает imv_status=ok, дома без coords).
- admin: CitySweepStartRequest.enrich_imv: bool = True + проброс в sweep.
- tests: 14 новых тестов (enrich_imv=True/False, counters, cancel-before-IMV,
  IMV crash graceful, process_houses_imv_batch empty, API param).
2026-05-31 10:06:37 +03:00