gendesign/tradein-mvp/backend/app
lekss361 e070f06c26 refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row
Live HTML recon discovered stable BEM-style classes. Each history item is a
.OffersArchiveSearchOffers__row with 6 positional cells: area+rooms, floor,
start_price+ppm2, last_price+ppm2, publish_date+exposure, status/removed_date.

Drops chunked-text fallback as primary strategy (kept as last-resort with
warning log). Eliminates 3 PRs of regex whack-a-mole (#538/#541/#542):
- area = year+area concat → impossible with cell isolation
- area = sub-fragment '2,2' → impossible
- date inversion → cell [4] is always publish, cell [5] is always removed
- 1-комн/2-комн/3-комн all parsed identically

Re-sweep Базовый 52 should now hit ~90%+ plausible area_filled vs 8.7%
from PR #542.
2026-05-24 19:20:20 +03:00
..
api feat(tradein/cian): valuation backfill + runner script для prod (#539) 2026-05-24 15:16:45 +00:00
core feat(tradein): postgres_fdw live read of gendesign.cad_buildings (replaces snapshot) (#493) 2026-05-24 08:57:30 +00:00
schemas fix(tradein-api): PlacementHistoryEntry schema + None checks (PR #528 follow-up) (#532) 2026-05-24 14:33:53 +00:00
services refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row 2026-05-24 19:20:20 +03:00
tasks feat(tradein/cian): valuation backfill + runner script для prod (#539) 2026-05-24 15:16:45 +00:00
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
main.py feat(tradein): postgres_fdw live read of gendesign.cad_buildings (replaces snapshot) (#493) 2026-05-24 08:57:30 +00:00