Тradein-PR мержились на пусто-зелёных чеках: ci.yml фильтрует только
backend/**+frontend/** главного стека, а pytest tradein жил лишь в
post-merge deploy-tradein.yml. Новый ci-tradein.yml гейтит pull_request
до мержа; deploy test-job синхронизирован.
- уборка устаревшего deselect: test_cian_valuation::test_cache_hit_returns_cached
проходит в полном прогоне (2947 passed); остаётся только test_search_cache_hit
- pytest-timeout=120 per-test (страховка от зависших тестов в CI)
- uv sync --frozen в обоих test-job (workspace-лок tracked, зеркало Dockerfile)
- eslint flat config для tradein-frontend (гейт lint был невозможен: next lint
без конфига уходит в интерактивный prompt и падает в CI)
- 2 apostrophe lint-фикса в scrapers/page.tsx
Refs #2208