Commit graph

3 commits

Author SHA1 Message Date
lekss361
f04e391bf6 feat(yandex-valuation): link history rows to houses via match_or_create_house
- _save_yandex_history_items now resolves house_id ONCE per page using
  match_or_create_house (3-tier: cadastral, fingerprint, geo-proximity, new)
- Persists house_id, source_confidence, removed_date, total_floors, notes
- Graceful fallback to house_id=NULL when match fails
- 160 orphan rows on prod will get linked on next run

Builds on PR #526 (parser fixes: removed_date, total_floors, NBSP).
2026-05-24 17:17:49 +03:00
7d8c22ff39 fix(tradein-estimator): atomic IMV link, batched yandex history, drop redundant CAST (#509)
All checks were successful
Deploy Trade-In / deploy (push) Successful in 32s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 39s
2026-05-24 11:18:12 +00:00
b26e0ff7c3 feat(tradein): estimator — Yandex Valuation as on-demand 6th source (#473)
All checks were successful
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 39s
Deploy Trade-In / deploy (push) Successful in 21s
Stage 8 of YandexRealtyScraper v1. Adds Yandex Valuation (anonymous, no cookies) as 6th on-demand source in estimate_quality. Mirrors Avito IMV pattern: 24h cache via external_valuations(source='yandex_valuation', cache_key) [UNIQUE 026:34], idempotent history persistence via house_placement_history(source, ext_item_id) [UNIQUE 017:50] with synthesized SHA256(address|date|area|floor|prices)[:32] ext_item_id. Graceful degradation on geocode/fetch/cache/save errors. house_id=NULL — matching deferred to Stage 8.x. 11 new tests + 4 IMV regression = 15 green.
2026-05-23 14:14:49 +00:00