gendesign/tradein-mvp/backend
bot-backend f7101aef3f
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Successful in 1m38s
fix(tradein/scrapers): bump scraped_at on live re-confirm + backfill (#2206)
Upsert ре-подтверждал листинг живым (last_seen_at=NOW, обновлял цену/поля),
но scraped_at не трогал никогда. Эстиматор фильтрует свежесть по
scraped_at > NOW()-14d → видел лишь ~45.6% активного инвентаря (CIAN 5.9%).

- scraped_at=NOW() в ON CONFLICT DO UPDATE + dedup-drift reconcile UPDATE,
  в обоих зеркальных base.py (app + scraper-kit, kit — боевой путь)
- 161_backfill_scraped_at_active_recent.sql: ретро scraped_at=last_seen_at
  для active avito/cian/yandex (domklik исключён — испорченный bulk-touch
  last_seen_at ложно освежил бы нескрейпленные строки)
- regression-тесты: оба пути × оба модуля + свойства миграции 161

Refs #2206
2026-07-02 23:20:51 +03:00
..
app fix(tradein/scrapers): bump scraped_at on live re-confirm + backfill (#2206) 2026-07-02 23:20:51 +03:00
data/sql fix(tradein/scrapers): bump scraped_at on live re-confirm + backfill (#2206) 2026-07-02 23:20:51 +03:00
scripts feat(tradein/domclick): local-runner + ingest tooling → main (split from parked Layer-B) 2026-06-28 10:26:52 +03:00
tests fix(tradein/scrapers): bump scraped_at on live re-confirm + backfill (#2206) 2026-07-02 23:20:51 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile chore(scraper-kit): docker-context wiring + restore backend workspace dep (#2137) 2026-07-02 14:21:38 +00:00
pyproject.toml ci(tradein): pre-merge гейт — backend pytest + frontend type-check/lint (#2208) (#2220) 2026-07-02 19:56:22 +00:00