gendesign/tradein-mvp/backend
bot-backend 800bc631bf fix(cian): verify_session на curl_cffi impersonate — ban != cookies expired (Refs #768)
verify_session проверял куки через httpx → Cian банит по TLS-fingerprint →
ложный сигнал «cookies expired» оператору. Переведено на curl_cffi
AsyncSession(impersonate=chrome120) — тот же fingerprint что у боевого
cian-скрейпа. _classify_verify_response: 403/TLS→VERIFY_BAN_SENTINEL (truthy,
НЕ expired — алерт re-upload подавляется), 401/isAuthenticated=false→None
(expired, контракт сохранён), 200+auth→state. Return-тип не изменился
(dict|None). 11 тестов (6 unit classifier + 5 async). ruff clean, 26 pass.
2026-05-30 19:35:22 +03:00
..
app fix(cian): verify_session на curl_cffi impersonate — ban != cookies expired (Refs #768) 2026-05-30 19:35:22 +03:00
data/sql feat(scrapers): wire N1.ru city sweep — pipeline + scheduler + admin endpoint (#575) (#745) 2026-05-30 15:43:38 +00:00
scripts feat(backtest): per-rooms asking→sold correction block (#648 S1) (#650) 2026-05-29 13:11:55 +00:00
tests fix(cian): verify_session на curl_cffi impersonate — ban != cookies expired (Refs #768) 2026-05-30 19:35:22 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat(tradein): persistent infra для backfill scripts (PR F) (#592) 2026-05-27 06:59:54 +00:00
pyproject.toml feat(rbac): role-based access control via X-Authenticated-User middleware (#585) 2026-05-26 06:18:40 +00:00