gendesign/tradein-mvp/backend
lekss361 60147fd971 feat(tradein-sql): bootstrap houses + link listings.house_id_fk (Phase A+B)
Backfill 18,428 listings against an empty houses table:
- INSERT Avito/CIAN-sourced houses (~562 unique via house_source+house_ext_id)
- INSERT derived houses for remaining listings (group by tradein_normalize_short_addr,
  synthetic ext_house_id = sha256 truncated to 32 hex chars) → ~6102 derived
- UPDATE listings.house_id_fk by both paths (direct: 2997, fuzzy: 15200)
- Best-effort relink orphan house_placement_history via raw_payload.address (0 rows)

Syntax-validated live: 6664 houses, 18197/18428 listings linked (98.8%).
Idempotent (ON CONFLICT DO NOTHING, WHERE house_id_fk IS NULL).
Logs result counters via RAISE NOTICE.

Phase C (Avito IMV history scrape per house) deferred to separate Celery job.
2026-05-24 17:00:18 +03:00
..
app fix(tradein-imv): adapt to Avito 3-step API contract (2026-05+) (#524) 2026-05-24 13:48:52 +00:00
data/sql feat(tradein-sql): bootstrap houses + link listings.house_id_fk (Phase A+B) 2026-05-24 17:00:18 +03:00
tests fix(tradein-estimator): extend cohort filter to Tier S + Tier H, fix late_soviet overlap (#522) 2026-05-24 13:14:59 +00:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
pyproject.toml fix(tradein-photos): sanitize uploaded images via Pillow re-encode (#511) 2026-05-24 11:32:04 +00:00