| .. |
|
core
|
feat(tradein/scraper): cooperative SIGTERM-drain for graceful deploy (#1182 Phase 2)
|
2026-06-28 19:52:09 +03:00 |
|
fixtures
|
fix(mera/estimate): перефит хедоники поверх area-бакетного ratio — крупное жильё занижалось на 21% (#3255)
|
2026-08-29 20:19:27 +00:00 |
|
matching
|
fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851)
|
2026-08-12 20:44:11 +00:00 |
|
scrapers
|
fix(tradein/cian): капча Циана с HTTP 200 — отказ площадки в обоих слоях (#3402)
|
2026-09-06 14:10:57 +05:00 |
|
scripts
|
feat(tradein/geocoder): регион-параметризация геокодера — region_code в geocode()/known_city_hint, --region-code у скрипта сделок, region_code у admin geocode-missing (#3051)
|
2026-09-09 02:51:28 +03:00 |
|
services
|
fix(tgbot): stop CI-hanging busy-spin in rate-limit test, isolate shared client in tests
|
2026-09-12 16:10:27 +03:00 |
|
support
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
tasks
|
test(scrapers): поднять caplog-фильтры под error->warning штатных исходов
|
2026-09-12 14:39:58 +03:00 |
|
__init__.py
|
feat(tradein): avito_imv.py — Avito IMV evaluation API client (2 requests) (#444)
|
2026-05-23 12:16:47 +00:00 |
|
conftest.py
|
Merge pull request 'fix(tgbot): проверка темы при старте + общий rate limit на группу (#3471)' (#3494) from feat/3471-tg-topic-check-and-group-rate-limit into main
|
2026-09-12 13:37:09 +00:00 |
|
skip_allowlist.txt
|
tradein: потолок на запрос и на ожидание блокировки для движка БД (#3463)
|
2026-09-12 19:46:57 +05:00 |
|
test_781_quality_gate.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_930_scheduler_resume_checkpoint.py
|
chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними
|
2026-08-29 17:07:04 +03:00 |
|
test_1781_secondary_only_param.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_2625_run_that_did_nothing.py
|
fix(tradein/scraper): прогон, у которого отказал каждый якорь, перестаёт быть успехом (#2625) (#2813)
|
2026-08-10 09:36:23 +00:00 |
|
test_2657_domclick_proxy_pool.py
|
fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657) (#2796)
|
2026-08-09 17:21:49 +00:00 |
|
test_2670_stale_source_digest.py
|
fix(scheduler): мерить свежесть источника данными, а не статусом прогона
|
2026-09-06 00:02:21 +05:00 |
|
test_2670_streak_and_partial_coverage.py
|
fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657) (#2796)
|
2026-08-09 17:21:49 +00:00 |
|
test_2674_avito_full_load_coverage.py
|
fix(tradein/avito): верное объяснение границы окна и критерий приёмки по глубине (#2674)
|
2026-08-06 04:09:05 +05:00 |
|
test_2674_dead_admin_metrics.py
|
fix(tradein/quality): витрина перестаёт рапортовать «доля с кадастром» (#2674) (#2850)
|
2026-08-12 20:37:16 +00:00 |
|
test_2674_writers_honor_schema.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_2677_house_anchor_repair_basis.py
|
fix(mera-public): публичная копия — сервис не называет себя оценщиком, площадки-источники не названы
|
2026-09-03 09:50:41 +03:00 |
|
test_2678_house_type_canon.py
|
fix(tradein/houses): camelCase-типы домов приводятся к канону у источника (#2678) (#2719)
|
2026-08-06 09:55:54 +00:00 |
|
test_2686_ban_kind_split.py
|
chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними
|
2026-08-29 17:07:04 +03:00 |
|
test_2687_domclick_ban_kind.py
|
fix(tradein/domclick): распознанный QRATOR-блок свипа — ban_kind='platform', не 'unknown' (#2687) (#2832)
|
2026-08-12 20:55:05 +00:00 |
|
test_2687_pool_exhaustion_keeps_checkpoint.py
|
chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними
|
2026-08-29 17:07:04 +03:00 |
|
test_2698_imv_sidecar_wiring.py
|
perf(tradein-tests): убираем реальные паузы из 5 медленных тестов (#3500)
|
2026-09-12 13:46:29 +00:00 |
|
test_2700_cian_detail_403_node.py
|
fix(tradein/cian): 403 снимает узел с выдачи, а не гаснет в return None (#2700) (#2821)
|
2026-08-10 11:29:19 +00:00 |
|
test_2702_run_timestamps.py
|
fix(tradein/scraper): отметки времени прогона перестают замерзать в его же транзакции (#2702) (#2718)
|
2026-08-06 09:55:50 +00:00 |
|
test_2703_zero_result_watchdog.py
|
fix(tradein/scraper): сторож «ноль результатов» перестаёт читать «не измерено» как ноль (#2703) (#2713)
|
2026-08-06 08:28:59 +00:00 |
|
test_2723_browser_probe.py
|
fix(tradein/proxy): проба спрашивает каждую площадку, вердикт пишется на пару «узел × источник» (#2800 B) (#2803)
|
2026-08-09 18:28:37 +00:00 |
|
test_2725_heartbeat_in_batch.py
|
fix(tradein/cian): показать, ЧТО пришло вместо состояния ЖК-страницы, и честно закрывать нулевой прогон (#2767) (#2768)
|
2026-08-07 08:06:25 +00:00 |
|
test_2731_listing_sources_timestamps.py
|
fix(tradein/matching): listing_sources датируется построчно, а не стартом транзакции (#2731) (#2743)
|
2026-08-06 16:35:29 +00:00 |
|
test_2731_observation_timestamps.py
|
fix(tradein/scrapers): метка наблюдения — время строки, а не старта транзакции (#2731) (#2742)
|
2026-08-06 16:19:56 +00:00 |
|
test_2764_ban_kind_no_default.py
|
fix(tradein/scrapers): диагноз блока терялся при схлопывании, а в алерт шла непроверенная причина (#3183)
|
2026-08-28 17:15:02 +00:00 |
|
test_2767_cian_waf_block.py
|
fix(tradein/cian): Циан переименовал MFE карточки ЖК — читать оба имени (#2767) (#2804)
|
2026-08-09 18:41:02 +00:00 |
|
test_2767_newbuilding_parse_miss.py
|
fix(tradein/newbuilding): счётчики записи различают вставку и обновление (#2807) (#2809)
|
2026-08-10 08:50:56 +00:00 |
|
test_2800_per_source_probe.py
|
feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404)
|
2026-09-06 13:05:20 +03:00 |
|
test_2807_write_counters_honesty.py
|
fix(tradein/newbuilding): счётчики записи различают вставку и обновление (#2807) (#2809)
|
2026-08-10 08:50:56 +00:00 |
|
test_2830_pool_bypass_tails.py
|
chore(tradein/proxy): последние две ручки admin.py — через фабрику фетчера; снят форс pool-режима у cian-history (#3197, #3386)
|
2026-09-06 17:22:46 +05:00 |
|
test_2857_search_mv_placeholder_columns.py
|
chore(tradein/db): убрать три колонки-заглушки витрины поиска (#2857) (#2858)
|
2026-08-13 07:25:43 +00:00 |
|
test_2860_yandex_sweep_run_status.py
|
fix(#3197): no_proxy_stop=1 как у соседей, INFO на финале хендлера, докстринг фабрики
|
2026-09-06 06:27:40 +05:00 |
|
test_2899_market_percentile.py
|
feat(tradein): позиция квартиры внутри когорты аналогов — перцентиль (#2899) (#2926)
|
2026-08-19 10:08:18 +00:00 |
|
test_2924_yandex_resolve_tried_at.py
|
perf(tradein-tests): убираем реальные паузы из 5 медленных тестов (#3500)
|
2026-09-12 13:46:29 +00:00 |
|
test_2936_unknown_attr_penalty.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_2953_nominatim_throttle.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_2992_upsert_unchanged_gate.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_2996_mislocated_houses_watchdog.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_3033_avito_native_secondary_filter.py
|
perf(tradein-tests): убираем реальные паузы из 5 медленных тестов (#3500)
|
2026-09-12 13:46:29 +00:00 |
|
test_3036_detail_house_params_to_houses.py
|
feat(tradein/avito): house-поля с детальной страницы доезжают в houses (#3036) (#3040)
|
2026-08-21 14:48:36 +00:00 |
|
test_3044_avito_439_classified_as_block.py
|
fix(avito): считать HTTP 439 блокировкой, а не концом выдачи (#3065)
|
2026-08-23 21:49:35 +00:00 |
|
test_3044_enriched_result_key.py
|
fix(tradein/observability): результат detail-бэкфиллов доезжает до колонки total_seen (#3044)
|
2026-08-26 12:23:19 +05:00 |
|
test_3045_detail_backfill_browser_proxy.py
|
fix(tradein/avito): браузерный бэкфилл ходил мимо пула прокси
|
2026-08-27 15:58:26 +03:00 |
|
test_3051_dkp_corridor_region_scope.py
|
test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта
|
2026-09-09 02:23:47 +03:00 |
|
test_3051_dkp_import_moscow.py
|
test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта
|
2026-09-09 02:23:47 +03:00 |
|
test_3051_estimate_region_scope.py
|
feat(msk): импорт сырья по Москве в listings и region-aware геокодирование
|
2026-09-10 18:50:37 +03:00 |
|
test_3051_houses_region_code.py
|
feat(tradein/matching): region_code у houses — вывод, а не выдумка (#3051 п.4)
|
2026-08-27 13:51:48 +05:00 |
|
test_3051_migration_289_and_deploy_script.py
|
test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта
|
2026-09-09 02:23:47 +03:00 |
|
test_3051_moscow_okrug_bands.py
|
fix(msk): тест полос по округам разъехался с main — у _fetch_deals нет rooms
|
2026-09-12 01:53:33 +03:00 |
|
test_3051_region_registry.py
|
Московская область в реестре регионов, обход — по специфичности вместо кода (#3501)
|
2026-09-12 13:59:43 +00:00 |
|
test_3051_region_registry_moscow_oblast.py
|
Московская область в реестре регионов, обход — по специфичности вместо кода (#3501)
|
2026-09-12 13:59:43 +00:00 |
|
test_3051_suggest_region_scope.py
|
fix(mera): московский city_hint больше не уходит молча в регион 66
|
2026-09-12 13:35:41 +03:00 |
|
test_3063_pro_seller_from_agency.py
|
feat(tradein/yandex): is_pro_seller выводится из агентского блока + бэкфилл 4469 строк (#3063 п.2)
|
2026-08-26 12:48:18 +05:00 |
|
test_3063_seller_fields_not_eroded.py
|
fix(scraper-kit): бедный re-scrape больше не стирает признаки продавца (#3067)
|
2026-08-23 21:52:38 +00:00 |
|
test_3074_avito_anchor_checkpoint.py
|
feat(tradein/scraper): чекпоинт по якорям для avito_city_sweep (#3074)
|
2026-08-26 14:52:46 +03:00 |
|
test_3074_avito_newbuilding_checkpoint.py
|
feat(tradein/scraper): чекпоинты для avito_newbuilding_sweep — страница как единица (#3074)
|
2026-08-28 00:10:56 +03:00 |
|
test_3074_checkpoint_survives_claim.py
|
fix(tradein/scheduler): чекпоинт предшественника переживает обрыв до первой новой корзины (#3074)
|
2026-08-26 12:35:44 +05:00 |
|
test_3074_cian_anchor_checkpoint.py
|
feat(tradein/scraper): чекпоинт по якорям для cian_city_sweep (#3074)
|
2026-08-26 17:21:58 +03:00 |
|
test_3074_yandex_sweep_checkpoint.py
|
feat(tradein/yandex): чекпоинты для yandex_city_sweep — combo как единица возобновления (#3074)
|
2026-08-26 12:43:58 +05:00 |
|
test_3082_estimate_concurrency_cap.py
|
test(tradein): гонка на sleep(0.05) вешала тест потолка оценок на 120с (#3270)
|
2026-08-30 12:02:45 +03:00 |
|
test_3118_domclick_checkpoint.py
|
feat(tradein/domclick): чекпоинты для city_sweep — корзина как единица возобновления (#3118, #3074)
|
2026-08-27 16:52:44 +05:00 |
|
test_3118_domclick_no_proxy.py
|
fix(tradein/domclick): исчерпание пула прокси свипа теперь infra-бан, не отказ сбора
|
2026-08-28 00:54:48 +03:00 |
|
test_3118_domclick_warm_context.py
|
fix(tradein/domclick): свип брал BFF навигацией браузера — теперь подзапросом (#3264)
|
2026-08-30 11:24:28 +03:00 |
|
test_3122_boot_reap.py
|
feat(tradein/scheduler): boot-reap — прогоны предыдущего контейнера снимаются на старте (#3122)
|
2026-08-27 14:17:42 +05:00 |
|
test_3154_query_secret_scrub.py
|
fix(tradein): маскировать секрет и в параметрах с префиксом (#3154)
|
2026-09-05 23:03:16 +05:00 |
|
test_3168_backfill_cursor_resume.py
|
test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта
|
2026-09-09 02:23:47 +03:00 |
|
test_3170_yandex_combo_checkpoint.py
|
fix(tradein/yandex): чекпоинт combo ставился до save_listings, не после
|
2026-08-28 00:48:55 +03:00 |
|
test_3191_yandex_detail_completeness.py
|
fix(tradein): маркер полноты — encryptedPhones ИЛИ redirectPhones (#3191)
|
2026-09-06 00:14:43 +05:00 |
|
test_3194_hide_sql_parameters.py
|
fix(#3194): hide_parameters=True на всех движках, include_local_variables=False у scheduler
|
2026-08-30 14:53:41 +05:00 |
|
test_3196_cian_ban_kind.py
|
fix(tradein/scrapers): диагноз блока брался из текстовых маркеров чужой площадки, а не из HTTP-статуса (#3196)
|
2026-08-28 23:21:54 +03:00 |
|
test_3196_domclick_ban_kind.py
|
fix(tradein/domclick): отказ с кодом 401 классифицировался как причина неизвестной природы (#3196)
|
2026-08-29 12:19:18 +03:00 |
|
test_3196_yandex_ban_kind.py
|
fix(tradein): недогруженная карточка Яндекса — отказ, а не успех (#3191)
|
2026-09-05 23:59:15 +05:00 |
|
test_3197_admin_debug_browser_pool_wiring.py
|
chore(#3197): cian-login — без холостой аренды и ложного отказа (/login сайдкара override не берёт); честные докстринги
|
2026-09-06 17:48:29 +05:00 |
|
test_3197_cian_history_proxy_pool_wiring.py
|
fix(#3197): пустой пул пробрасывается из cian fetch_detail; тест через настоящий fetch_detail
|
2026-09-06 03:05:32 +05:00 |
|
test_3197_domclick_proxy_pool_wiring.py
|
fix(tradein/domclick): backfill ходил в сайдкар мимо прокси-пула (#3197 ч.1)
|
2026-08-29 15:26:14 +03:00 |
|
test_3197_yandex_newbuilding_proxy_pool_wiring.py
|
fix(#3197): no_proxy_stop=1 как у соседей, INFO на финале хендлера, докстринг фабрики
|
2026-09-06 06:27:40 +05:00 |
|
test_3234_house_facts_fallback.py
|
feat(mera/estimate): характеристики дома из справочника, а не только из формы (#3242)
|
2026-08-29 18:06:17 +00:00 |
|
test_3251_avito_warm_context.py
|
feat(tradein/avito): бан площадки не менял IP — прогон добивался в тот же забаненный адрес (#3283) (#3313)
|
2026-09-01 08:05:48 +00:00 |
|
test_3253_domclick_house_fields.py
|
fix(tradein): выборка миграции 286 повторяет гейт 1:1, правило первой точки (#3376)
|
2026-09-06 03:53:08 +05:00 |
|
test_3256_deals_rooms_key.py
|
test(estimator): полоса площади — единственный фильтр похожести, а не просто «есть»
|
2026-09-12 02:39:28 +05:00 |
|
test_3257_house_facts_endpoint.py
|
feat(mera/estimate): ручка фактов дома для предзаполнения формы + гейт «этаж не выше дома» (#3257)
|
2026-08-29 20:34:00 +00:00 |
|
test_3264_domclick_sweep_cookies.py
|
fix(tradein/domclick): свип ходил на QRATOR без кук и вис на PoW каждым запросом (#3264)
|
2026-08-30 09:40:21 +03:00 |
|
test_3264_sweep_subresource_mode.py
|
fix(tradein/domclick): свип брал BFF навигацией браузера — теперь подзапросом (#3264)
|
2026-08-30 11:24:28 +03:00 |
|
test_3267_block_marker_vs_listing_text.py
|
fix(tradein/domclick): «система защиты от протечек» в объявлении читалась как блок QRATOR
|
2026-08-30 11:49:47 +03:00 |
|
test_3283_avito_sidecar_ban_is_platform_ban.py
|
fix(tradein/cian): капча Циана с HTTP 200 — отказ площадки в обоих слоях (#3402)
|
2026-09-06 14:10:57 +05:00 |
|
test_3283g_rotate_on_platform_ban.py
|
feat(tradein/avito): бан площадки не менял IP — прогон добивался в тот же забаненный адрес (#3283) (#3313)
|
2026-09-01 08:05:48 +00:00 |
|
test_3284_cian_detail_backfill_queue.py
|
feat(tradein/cian): у Циана не было добора карточек — только побочный эффект задачи про историю (#3284)
|
2026-08-30 15:34:36 +03:00 |
|
test_3288_avito_ban_per_source.py
|
fix(tradein/cian): капча Циана с HTTP 200 — отказ площадки в обоих слоях (#3402)
|
2026-09-06 14:10:57 +05:00 |
|
test_3288b_block_kind_ratio.py
|
fix(tradein): понижать статус только у прогона, который работу сделал (#3288)
|
2026-09-06 00:28:24 +05:00 |
|
test_3297_avito_detail_browser_status.py
|
fix(tradein/avito): browser-путь добора не смотрел на HTTP-статус — отказ площадки уходил в ошибку парсинга (#3297)
|
2026-08-31 14:16:47 +03:00 |
|
test_3315_avito_exhaustive_containment_skip.py
|
fix(avito): skip fully-covered price ranges before probing on resume
|
2026-09-05 23:06:26 +05:00 |
|
test_3319_citysweep_checkpoint.py
|
docs(scraper-kit): обоснование #3319 — что именно теряло чекпоинт
|
2026-09-02 14:53:02 +05:00 |
|
test_3332_domclick_counter_identity.py
|
fix(tradein/backfill): save-False у yandex/avito больше не теряет попытку — attempted == сумма исходов
|
2026-09-05 22:47:08 +05:00 |
|
test_3333_drain_mark_all_sweeps.py
|
fix(scraper-kit): метка дрейна interrupted=1 во всех city-свипах (#3333)
|
2026-09-05 22:44:46 +05:00 |
|
test_3338_backfill_counter_identity.py
|
fix(tradein): недогруженная карточка Яндекса — отказ, а не успех (#3191)
|
2026-09-05 23:59:15 +05:00 |
|
test_3355_drain_mark_full_loads.py
|
docs(#3390): убрать ложные «counters ЗАМЕНЯЕТ» из комментариев/докстрингов; гейт test_3168 — честная формулировка
|
2026-09-06 12:34:53 +05:00 |
|
test_3359_cian_exhaustive_containment_skip.py
|
fix(cian,yandex): skip fully-covered price ranges before probing on resume
|
2026-09-05 23:56:46 +05:00 |
|
test_3359_yandex_exhaustive_containment_skip.py
|
fix(scraper-kit): yandex on_bucket отдаёт лоты бакета, а не len(seen)
|
2026-09-06 01:55:45 +05:00 |
|
test_3368_yandex_leaf_cap_complete.py
|
fix(scraper-kit): yandex on_bucket отдаёт лоты бакета, а не len(seen)
|
2026-09-06 01:55:45 +05:00 |
|
test_3369_domclick_cancel_checkpoint.py
|
fix(domclick): честная мотивировка чекпоинта + один _payload() на все ветки
|
2026-09-06 01:13:15 +05:00 |
|
test_3384_no_proxy_at_batch_start.py
|
docs(#3390): убрать ложные «counters ЗАМЕНЯЕТ» из комментариев/докстрингов; гейт test_3168 — честная формулировка
|
2026-09-06 12:34:53 +05:00 |
|
test_3386_estimator_imv_proxy_pool.py
|
fix(#3386): curl_proxy_url — health=False и на отмене (BaseException); admin IMV через пул; тест без create=True
|
2026-09-06 10:57:08 +05:00 |
|
test_3390_single_runs_module.py
|
refactor(tradein/runs): одна реализация scrape_runs — kit, семантика counters мерж (#3390)
|
2026-09-06 11:45:56 +05:00 |
|
test_3391_drain_marks_inflight_app_tasks.py
|
docs(#3390): убрать ложные «counters ЗАМЕНЯЕТ» из комментариев/докстрингов; гейт test_3168 — честная формулировка
|
2026-09-06 12:34:53 +05:00 |
|
test_3393_interrupted_runs_outside_streaks.py
|
fix(#3393): capped по сканированному окну — interrupted-строка не глушит лестницу навсегда; контроль zero-сторожа
|
2026-09-06 10:07:29 +05:00 |
|
test_3394_cian_sweep_houses_proxy_pool.py
|
fix(#3394): стоп по пустому пулу — по цепочке причин на уровне якоря; один errors_count; ban_kind=infra под тестом
|
2026-09-06 10:15:43 +05:00 |
|
test_3398_estimator_valuations_proxy_pool.py
|
perf(tradein-tests): убрать реальные паузы из тестов, волна 2 (#3503)
|
2026-09-12 14:15:21 +00:00 |
|
test_3398_pool_ops_off_event_loop.py
|
fix(#3398): acurl_proxy_url — вторая отмена не бросает lease; тест меряет наш release, а не teardown; потолок бюджета в докстринге
|
2026-09-06 16:49:12 +05:00 |
|
test_3402_cian_captcha_http200.py
|
fix(cian): капча видна в отчёте прогона и банит узел на curl-пути (#3402)
|
2026-09-06 15:30:12 +05:00 |
|
test_3404_proxy_run_attribution.py
|
feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404)
|
2026-09-06 13:05:20 +03:00 |
|
test_3408_db_step_cancel_orphan.py
|
fix(mera): отмена по бюджету оставляла осиротевший поток в чужой Session
|
2026-09-12 02:20:26 +05:00 |
|
test_3408_estimator_db_off_loop.py
|
fix(mera): sync-БД источников эстиматора — с event loop в поток и не через фетч
|
2026-09-12 01:01:54 +05:00 |
|
test_3408_pool_ceiling.py
|
fix(mera): pool_timeout 30→5 с — отдельным коммитом, с триггером отката
|
2026-09-12 02:23:09 +05:00 |
|
test_3449_geocoder_cancel_orphan.py
|
Гейт на ВСЕ 34 проводки + запрет вложенных бюджетов (ревью #3460)
|
2026-09-12 13:57:49 +05:00 |
|
test_3452_corridor_advisory_zone.py
|
fix(tradein): коридор ДКП с малым числом сделок помечен справочным
|
2026-09-12 13:42:43 +05:00 |
|
test_3463_db_timeouts.py
|
tradein: тот же потолок второму движку + тесты, которые ловят испорченное значение (#3463)
|
2026-09-12 20:35:38 +05:00 |
|
test_3471_product_metrics.py
|
feat(metrics): продуктовые счётчики Prometheus для Меры и Птицы + дашборд
|
2026-09-12 14:22:33 +03:00 |
|
test_account_quota.py
|
feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546)
|
2026-08-25 16:27:02 +00:00 |
|
test_admin_cian_session_endpoints.py
|
chore(tradein/proxy): последние две ручки admin.py — через фабрику фетчера; снят форс pool-режима у cian-history (#3197, #3386)
|
2026-09-06 17:22:46 +05:00 |
|
test_admin_proxies.py
|
feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404)
|
2026-09-06 13:05:20 +03:00 |
|
test_admin_scrape_avito_proxy_provider.py
|
fix(tradein/scraper): подключить браузерный путь Авито к пулу прокси
|
2026-08-02 17:31:00 +03:00 |
|
test_admin_ssrf.py
|
chore(tradein): полное выключение источника n1 — миграция 165 + вычистка backend/ops (#2204)
|
2026-07-03 10:08:56 +03:00 |
|
test_admin_stale_counters.py
|
fix(tradein): сегментный гард в «медианном торге», свежесть в индексе локации, честные админ-счётчики (#2660)
|
2026-08-05 22:39:48 +05:00 |
|
test_admin_yandex_session_endpoints.py
|
fix(tradein/scrapers): хранилище авторизованной сессии Яндекс.Недвижимости (#3195)
|
2026-08-28 19:02:05 +00:00 |
|
test_alerts_become_events.py
|
perf(tradein-tests): убрать реальные паузы из тестов, волна 2 (#3503)
|
2026-09-12 14:15:21 +00:00 |
|
test_api_avito_stage4a.py
|
fix(tradein): single-run guard на avito-city-sweep admin-endpoint (#874)
|
2026-05-31 08:55:33 +00:00 |
|
test_asking_sold_ratio_cache_poison.py
|
fix(tradein/estimator): savepoint+retry вокруг ratio-lookup — transient не гасит expected_sold (#2265)
|
2026-07-03 10:19:57 +03:00 |
|
test_asking_to_sold_ratio.py
|
Merge origin/main into fix/2656-anchor-ratio-freshness — конфликты: метки #2656→#2661 (main), импорт-union, baseline unrecorded=0 (перезахваченная фикстура)
|
2026-08-26 18:22:54 +05:00 |
|
test_audit_api.py
|
fix(tradein/auth): отказ по насыщению — до выборки из БД и с агрегированным следом (#2715) (#2734)
|
2026-08-06 14:27:26 +00:00 |
|
test_auth_api.py
|
Merge pull request 'fix(tradein/rbac): 401-оракул закрыт — несуществующий путь под публичным префиксом отвечает так же, как любой другой мусор' (#3352) from fix/3324-rbac-401-oracle into main
|
2026-09-05 18:19:27 +00:00 |
|
test_auth_dsn_from_parts.py
|
feat(tradein): DSN к БД auth собирается из AUTH_DB_PASSWORD, а не дублирует секрет
|
2026-08-02 12:05:41 +03:00 |
|
test_auth_session.py
|
feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6]
|
2026-08-01 02:50:14 +03:00 |
|
test_avito_backfill_cadence.py
|
fix(tradein/avito): бэкфилл простаивал 23 часа из 24 — каденс был суточным
|
2026-08-22 14:57:20 +03:00 |
|
test_avito_detail_fields_3047.py
|
chore(tradein/avito): ссылки на реальный issue #3047 вместо выдуманного номера
|
2026-08-21 23:40:22 +03:00 |
|
test_avito_detail_publish_date_year_rollover.py
|
fix(tradein/scrapers): детекция дрейфа разметки вместо тихой пустоты (#2535)
|
2026-07-26 22:33:54 +00:00 |
|
test_avito_imv_parse.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_avito_newbuilding_sweep.py
|
chore(tradein/scrapers): удалить весь legacy scrapers/ каталог — final E (#2397, #2277)
|
2026-07-04 15:58:15 +03:00 |
|
test_avito_offers_per_page.py
|
fix(tradein/avito): страница SERP отдаёт 60 карточек, а не 50
|
2026-08-21 17:38:55 +03:00 |
|
test_avito_serp_city_slug.py
|
fix(tradein/oblast): city-slug в avito SERP + geo/city guard в Tier-2b матчинга
|
2026-07-12 22:38:11 +03:00 |
|
test_avito_sweep_dom_drift.py
|
fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653)
|
2026-08-05 11:37:35 +00:00 |
|
test_backfill_external_valuations_house_id.py
|
fix(tradein/data): external_valuations.house_id — резолв в write-path + идемпотентный бэкфилл (#2236)
|
2026-07-03 09:22:44 +03:00 |
|
test_backfill_honest_status.py
|
fix(tradein/scrapers): не путать rows_inserted/processed с честным результатным ключом
|
2026-08-15 18:49:37 +03:00 |
|
test_backfill_wave2.py
|
perf(tradein-tests): убрать реальные паузы из тестов, волна 2 (#3503)
|
2026-09-12 14:15:21 +00:00 |
|
test_backtest_estimator.py
|
feat(tradein/backtest): --city per-city валидация + corridor city-parity
|
2026-07-12 20:49:04 +03:00 |
|
test_backtest_fixture_roundtrip.py
|
fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629)
|
2026-08-02 12:41:48 +00:00 |
|
test_backtest_regression_gate.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_backtest_sampling_spread.py
|
бэктест: режим выборки вразброс — ORDER BY id DESC садится на несколько улиц
|
2026-08-31 11:28:11 +05:00 |
|
test_buildings_api.py
|
fix(tradein/sale-share): гард по этажности — отсечь near-neighbor mis-match
|
2026-06-29 00:31:09 +03:00 |
|
test_captcha_vs_empty_detect.py
|
fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653)
|
2026-08-05 11:37:35 +00:00 |
|
test_cbr_macro.py
|
feat(mera): макро-ряды ЦБ РФ — ипотека по субъектам и ключевая ставка
|
2026-09-09 00:33:12 +03:00 |
|
test_ceiling_height_unify_2699.py
|
fix(tradein): свести высоту потолков к одной колонке ceiling_height_m (#2779)
|
2026-08-07 09:18:48 +00:00 |
|
test_cian_bti_house_persist.py
|
fix(tradein/matching): город развёртки доезжает до стража Tier-2a — межгородские склейки домов (#2777) (#2808)
|
2026-08-10 08:51:14 +00:00 |
|
test_cian_city_sweep.py
|
refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1)
|
2026-07-04 13:56:06 +03:00 |
|
test_cian_history_backfill_listings_rollback.py
|
fix(tradein): откат транзакции в backfill + неотрицательный счётчик квот (#2538)
|
2026-07-26 22:21:08 +00:00 |
|
test_cian_serp_offers_total_mismatch.py
|
fix(tradein/scrapers): детекция дрейфа разметки вместо тихой пустоты (#2535)
|
2026-07-26 22:33:54 +00:00 |
|
test_cian_session.py
|
test(scrapers): поднять caplog-фильтры под error->warning штатных исходов
|
2026-09-12 14:39:58 +03:00 |
|
test_cian_state_parser.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_cian_views_parse.py
|
fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) (#2773)
|
2026-08-07 08:44:48 +00:00 |
|
test_city_sweep.py
|
feat(tradein): вся Свердловская область — 40 городов в city-sweep (#2879)
|
2026-08-13 19:08:44 +00:00 |
|
test_config_avito_rotations.py
|
fix(avito): proactive IP rotate at sweep start + raise max_rotations 2->4 (Datadome ban recovery)
|
2026-06-17 23:35:24 +03:00 |
|
test_consent_text_frontend_sync.py
|
fix(tradein/lead): кликабельная ссылка на политику ПДн в чекбоксе согласия
|
2026-08-14 15:29:49 +03:00 |
|
test_coverage_probe_endpoint.py
|
feat(msk): проба покрытия отвечает по Москве — сетка центроидов и радиус на точку
|
2026-09-11 01:37:27 +03:00 |
|
test_data_erasure.py
|
fix(tradein/privacy): нормализация телефона к каноническому РФ-виду при erasure (#2547)
|
2026-08-06 19:59:34 +03:00 |
|
test_deactivate_stale_avito.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_deactivate_stale_deactivation_cap.py
|
feat(tradein/deactivate-stale): страховочные рельсы объёма снятия (#3066)
|
2026-08-24 08:44:32 +00:00 |
|
test_deactivate_stale_floor_degradation.py
|
feat(tradein/deactivate-stale): страховочные рельсы объёма снятия (#3066)
|
2026-08-24 08:44:32 +00:00 |
|
test_deactivate_stale_health_gate.py
|
fix(tradein): TTL-деактивация не исполняется, пока сбор по источнику лежит (#2659) (#2710)
|
2026-08-06 08:40:41 +00:00 |
|
test_deactivate_stale_listings.py
|
fix(tradein/deactivate): resolve migration 264 renumber collision on merge with main
|
2026-08-15 21:13:41 +03:00 |
|
test_deactivate_stale_revisit_floor.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_deactivate_stale_ttl_cap.py
|
docs(tradein/deactivate): убрать неверное число из обоснования потолка
|
2026-08-15 21:00:42 +03:00 |
|
test_dead_code_sweep_2674.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_deals_freshness_monitor.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_deals_sanitize.py
|
fix(tradein): Mera-audit fix-2 — _is_plausible_deal floor edge + area/price guards
|
2026-06-21 09:04:54 +03:00 |
|
test_defer_respects_interval_minutes_3312.py
|
fix(scheduler): defer уважает interval_minutes источника
|
2026-09-05 22:50:58 +05:00 |
|
test_dkp_corridor_as_of_2846.py
|
fix(tradein/dkp): «ФАКТИЧЕСКИЕ СДЕЛКИ» называют свой возраст, а не окно поиска (#2847)
|
2026-08-12 18:51:10 +00:00 |
|
test_domclick_admin_apis.py
|
feat(tradein/domclick): cookie-injection MVP для обхода QRATOR-блока (#2000) (#2433)
|
2026-07-04 17:49:40 +00:00 |
|
test_domclick_session.py
|
feat(tradein/domclick): cookie-injection MVP для обхода QRATOR-блока (#2000) (#2433)
|
2026-07-04 17:49:40 +00:00 |
|
test_domclick_sweep.py
|
feat(tradein/domklik): ЖК в свою колонку вместо только raw_payload (#3076)
|
2026-08-24 16:04:24 +00:00 |
|
test_domrf_kapremont_loader.py
|
fix(tradein/ingest): 4 data-integrity дефекта в бэкфилле годов и импорте ДКП
|
2026-07-12 22:12:31 +03:00 |
|
test_dtp_index.py
|
feat(tradein): слой ДТП из dtp-stat.ru в PostGIS + радиусные агрегаты (#3428)
|
2026-09-08 22:10:56 +00:00 |
|
test_dtp_stat_loader.py
|
feat(tradein): слой ДТП из dtp-stat.ru в PostGIS + радиусные агрегаты (#3428)
|
2026-09-08 22:10:56 +00:00 |
|
test_ekb_geoportal_ingest.py
|
chore(tradein/geocoder): удалить Яндекс-геокодер (#2593)
|
2026-07-31 21:22:09 +03:00 |
|
test_estimate_consent_gate.py
|
chore(tradein/privacy): перенумерация миграций и merge main - разблокировка PR (#2547)
|
2026-08-06 15:56:02 +03:00 |
|
test_estimate_external_sources_background.py
|
feat(tradein/estimate): внешние оценки не ждутся в запросе — 9 секунд превращаются в 1
|
2026-08-22 15:51:31 +03:00 |
|
test_estimate_idor.py
|
feat(payments): роутер checkout/notify, статус-машина и выдача по capability-ссылке
|
2026-08-29 19:38:37 +05:00 |
|
test_estimate_rate_limit.py
|
feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546)
|
2026-08-25 16:27:02 +00:00 |
|
test_estimate_revival.py
|
fix(tradein/estimate): отдавать фактический радиус подбора, а не выбор пользователя (#2835)
|
2026-08-12 12:48:18 +00:00 |
|
test_estimator_analogs_display_consistency.py
|
fix(tradein/estimator): displayed analog cards match n_analogs + cross-source dedup (#2518)
|
2026-07-13 20:19:20 +00:00 |
|
test_estimator_anchor_dedup_gap_2265.py
|
fix(tradein/estimator): дедуп кросс-source дублей в anchor-пути (#2265 follow-up) (#2311)
|
2026-07-03 20:35:37 +00:00 |
|
test_estimator_audit_fixes.py
|
fix(tradein/sber): сторож мерит отставание загрузки, а не календарь (#2846) (#2849)
|
2026-08-12 19:36:20 +00:00 |
|
test_estimator_cian_budget.py
|
fix(tradein): budget Cian valuation call to stop 25s estimate stalls
|
2026-06-19 12:43:28 +03:00 |
|
test_estimator_cian_integration.py
|
chore(tradein/scrapers): удалить весь legacy scrapers/ каталог — final E (#2397, #2277)
|
2026-07-04 15:58:15 +03:00 |
|
test_estimator_client_coords.py
|
feat(msk): импорт сырья по Москве в listings и region-aware геокодирование
|
2026-09-10 18:50:37 +03:00 |
|
test_estimator_cohort.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_confidence_reliability_consistency.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_deals_headline_fallback_oblast_d.py
|
fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629)
|
2026-08-02 12:41:48 +00:00 |
|
test_estimator_dedup_cross_source_2087.py
|
chore(tradein): разбор мёртвого кода — подключить, удалить или задокументировать (#2674)
|
2026-08-06 05:00:36 +05:00 |
|
test_estimator_enrich.py
|
fix(tradein/estimator): честная маркировка quarter-precision дат ДКП + insufficient_data флаг для sell-time-sensitivity (#1995) (#2355)
|
2026-07-04 00:14:02 +00:00 |
|
test_estimator_event_loop_2207.py
|
perf(tradein): снять блокировку event loop на POST /estimate (#2207) (#2225)
|
2026-07-02 20:39:48 +00:00 |
|
test_estimator_expected_sold.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_expected_sold_clamp.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_floor_optional.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_ghost_anchor_1871.py
|
tech-debt(tradein/estimator): collapse won estimate_* flags into defaults (#1970) (#2475)
|
2026-07-12 12:46:18 +00:00 |
|
test_estimator_ghost_anchor_radius_empty_1871.py
|
fix(estimator): ghost-anchor — confidence='low' when radius analogs empty (#1871) (#1920)
|
2026-06-26 16:07:12 +00:00 |
|
test_estimator_headline_sufficiency.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_hedonic.py
|
fix(mera/estimate): перефит хедоники поверх area-бакетного ratio — крупное жильё занижалось на 21% (#3255)
|
2026-08-29 20:19:27 +00:00 |
|
test_estimator_implausible_year.py
|
fix(tradein/estimate): не применять хедонику к неправдоподобному году постройки
|
2026-08-02 14:04:11 +03:00 |
|
test_estimator_imv_blend.py
|
fix(tradein): завершить thin-market гейт IMV — Guard-1b и GET-путь (#3323)
|
2026-09-02 17:44:32 +05:00 |
|
test_estimator_imv_budget.py
|
feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 (#2546)
|
2026-08-25 16:27:02 +00:00 |
|
test_estimator_imv_integration.py
|
feat(tradein/estimator): switch core valuation call sites to scraper_kit (#2337)
|
2026-07-04 02:40:34 +03:00 |
|
test_estimator_kitchen_ceiling_2012.py
|
fix(tradein/estimator): kitchen_area_m2/ceiling_height_m/is_apartments comp-scoring (#2012) (#2396)
|
2026-07-04 08:33:17 +00:00 |
|
test_estimator_manual_review.py
|
tech-debt(tradein/estimator): collapse won estimate_* flags into defaults (#1970) (#2475)
|
2026-07-12 12:46:18 +00:00 |
|
test_estimator_n_analogs_priced.py
|
fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629)
|
2026-08-02 12:41:48 +00:00 |
|
test_estimator_null_floor_timeout.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_premium_building.py
|
feat(tradein): AI-curated premium-building overlay — class + false-positive demotion (#2002)
|
2026-06-27 18:43:05 +00:00 |
|
test_estimator_price_spine.py
|
fix(tradein/estimate): залипший anchor_tier молча глушил IMV-blend и quarter-index
|
2026-08-17 10:54:07 +03:00 |
|
test_estimator_price_trend_dedup.py
|
tech-debt(tradein/estimator): collapse won estimate_* flags into defaults (#1970) (#2475)
|
2026-07-12 12:46:18 +00:00 |
|
test_estimator_pure_units.py
|
chore(ci): деплой на изменение ролей, ruff-гейт для МЕРЫ, удаление мёртвого workflow
|
2026-08-06 21:34:36 +03:00 |
|
test_estimator_quarter_from_own_coords.py
|
fix(tradein/estimate): не подставлять квартал соседа вместо квартала цели (#2839)
|
2026-08-12 15:55:24 +00:00 |
|
test_estimator_quarter_index.py
|
fix(tradein): завершить thin-market гейт IMV — Guard-1b и GET-путь (#3323)
|
2026-09-02 17:44:32 +05:00 |
|
test_estimator_radius_dedup_1871.py
|
tech-debt(tradein/estimator): collapse won estimate_* flags into defaults (#1970) (#2475)
|
2026-07-12 12:46:18 +00:00 |
|
test_estimator_radius_floor.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_radius_m_2044.py
|
fix(tradein): честный радиус поиска аналогов на карте v2 (#2632) (#2643)
|
2026-08-05 06:13:58 +00:00 |
|
test_estimator_range_floor.py
|
fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629)
|
2026-08-02 12:41:48 +00:00 |
|
test_estimator_ratio_savepoint_retry_2265.py
|
fix(tradein/estimator): savepoint+retry вокруг ratio-lookup — transient не гасит expected_sold (#2265)
|
2026-07-03 10:19:57 +03:00 |
|
test_estimator_ratio_tier_fix.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_repair_coef.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_sber_time_adjust.py
|
test(tradein): fix #794 test regressions on main (broken by #919 early squash-merge) (#921)
|
2026-05-31 19:05:10 +00:00 |
|
test_estimator_search_radius_2632.py
|
fix(tradein/estimate): отдавать фактический радиус подбора, а не выбор пользователя (#2835)
|
2026-08-12 12:48:18 +00:00 |
|
test_estimator_segment_multiplier.py
|
fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629)
|
2026-08-02 12:41:48 +00:00 |
|
test_estimator_source_metrics_2043.py
|
fix(tradein/v2): canonical sources_used — kill «ИСТОЧНИКОВ X/7» POST↔GET desync
|
2026-07-02 17:22:20 +03:00 |
|
test_estimator_source_quota.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_estimator_split_corridor_1871.py
|
tech-debt(tradein/estimator): collapse won estimate_* flags into defaults (#1970) (#2475)
|
2026-07-12 12:46:18 +00:00 |
|
test_estimator_tier_s_house_boundary.py
|
fix(tradein/estimator): граница номера дома в подборе аналогов «тот же дом» (#2534)
|
2026-07-26 22:07:00 +00:00 |
|
test_estimator_yandex_integration.py
|
fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851)
|
2026-08-12 20:44:11 +00:00 |
|
test_extract_short_addr.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_extval_house_id_write_path.py
|
chore(tradein/scrapers): удалить весь legacy scrapers/ каталог — final E (#2397, #2277)
|
2026-07-04 15:58:15 +03:00 |
|
test_fns_opendata_loader.py
|
feat(tradein): bulk-дампы открытых данных ФНС по юрлицам + lookup по ИНН (#3429)
|
2026-09-08 22:29:10 +00:00 |
|
test_freshness_by_data_3172.py
|
fix(scheduler): мерить свежесть источника данными, а не статусом прогона
|
2026-09-06 00:02:21 +05:00 |
|
test_freshness_filter_2656.py
|
test(2656): краснота на main — по значению, не ImportError
|
2026-08-26 18:25:54 +05:00 |
|
test_frt_mkd_loader.py
|
feat(mera): загрузчик реестра МКД АИС ФРТ → обогащение houses
|
2026-09-09 00:33:09 +03:00 |
|
test_gar_flats_loader.py
|
fix(tests): починить и вычистить проверки, которые не исполнялись ни разу (#2744)
|
2026-08-06 16:57:28 +00:00 |
|
test_geo_precision.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_geocode_reverse_api.py
|
chore(tradein/geocoder): удалить Яндекс-геокодер (#2593)
|
2026-07-31 21:22:09 +03:00 |
|
test_geocode_suggest_address_join.py
|
fix(tradein): подсказки адреса — пустые части адреса выпадают, а не печатаются
|
2026-08-30 14:58:03 +05:00 |
|
test_geocoder_bbox.py
|
chore(tradein/geocoder): удалить Яндекс-геокодер (#2593)
|
2026-07-31 21:22:09 +03:00 |
|
test_geocoder_cadastral_matcher.py
|
fix(tradein/geocoder): строгий матч литеры дома + починка DaData region-фильтра (#2622)
|
2026-08-02 12:06:44 +00:00 |
|
test_geocoder_city_hint.py
|
feat(msk): импорт сырья по Москве в listings и region-aware геокодирование
|
2026-09-10 18:50:37 +03:00 |
|
test_geocoder_city_substitution.py
|
fix(tradein/geocoder): инвариант «чужой топоним + результат внутри ЕКБ = недостоверно» (#2590) (#2837)
|
2026-08-12 14:26:58 +00:00 |
|
test_geocoder_local_houses_fallback.py
|
fix(tradein/geocoder): stop apt number leaking into house + houses bbox/sibling guard
|
2026-08-15 18:50:17 +03:00 |
|
test_geocoder_nominatim_lookup.py
|
chore(tradein/geocoder): удалить остатки скриптов Яндекс-геокодера, часть 3 (#2593)
|
2026-07-31 23:16:19 +03:00 |
|
test_glitchtip_alert_retry.py
|
feat(glitchtip): фоновая ретрай-доставка алерта в Telegram при отказе синхронной попытки
|
2026-09-12 14:11:01 +03:00 |
|
test_glitchtip_webhook.py
|
fix(tg): связь с Telegram не встаёт колом, ответ оператора не теряется
|
2026-09-12 10:13:44 +03:00 |
|
test_health_endpoint.py
|
fix(health): HEAD /health на верном бэкенде (Site Finder) + честные заголовки
|
2026-08-15 18:44:31 +03:00 |
|
test_history_scope.py
|
feat(tradein/history): вернуть все параметры оценки в GET /history (#2420)
|
2026-07-04 13:09:22 +00:00 |
|
test_honest_run_status_failed_ratio.py
|
fix(tradein/scrapers): не путать rows_inserted/processed с честным результатным ключом
|
2026-08-15 18:49:37 +03:00 |
|
test_house_dedup_merge.py
|
fix(tradein/dedup): остаток схлопывания домов становится измеряемым числом, а не оценкой (#2690) (#2820)
|
2026-08-10 11:18:19 +00:00 |
|
test_house_imv_backfill_browser_flag.py
|
perf(tradein-tests): убираем реальные паузы из 5 медленных тестов (#3500)
|
2026-09-12 13:46:29 +00:00 |
|
test_house_imv_params_honesty.py
|
fix(tradein/imv): «временная» ошибка снова временная — 1390 домов возвращаются в очередь (#2843)
|
2026-08-12 16:06:24 +00:00 |
|
test_house_imv_retry_stuck.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_identity_store.py
|
feat(tradein): DSN к БД auth собирается из AUTH_DB_PASSWORD, а не дублирует секрет
|
2026-08-02 12:05:41 +03:00 |
|
test_impersonate_single_source.py
|
fix(tradein/scrapers): три прод-пути остались на chrome120, пока kit ушёл на chrome146
|
2026-08-27 18:18:05 +03:00 |
|
test_imv_status_classification.py
|
imv: HTTP 429 больше не приговаривает дом навечно
|
2026-09-01 21:21:53 +05:00 |
|
test_insufficient_data_flag.py
|
feat(tradein): insufficient_data flag on AggregatedEstimate (#697) (#734)
|
2026-05-30 14:40:04 +00:00 |
|
test_internal_auth_secret.py
|
fix(tradein/tests): тесты авторизации проверяют настоящий guard + реальный рендер PDF (#2541)
|
2026-07-26 23:04:43 +00:00 |
|
test_kit_browser_fetcher_proxy_pool.py
|
fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653)
|
2026-08-05 11:37:35 +00:00 |
|
test_kit_browser_fetcher_status.py
|
test(#3288): фикстуры бан-страницы на 403 и 500, фальсифицируемые проверки текста; комментарий про путь текста
|
2026-09-06 02:38:29 +05:00 |
|
test_kit_serp_proxy_pool.py
|
chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650)
|
2026-08-05 09:35:54 +00:00 |
|
test_landing_showcase_deals.py
|
feat(mera/лендинг): витрина показывает полосу расхождения −5…+20 %, плитку уверенности сменил замер 12.09
|
2026-09-12 15:29:10 +05:00 |
|
test_landing_stats.py
|
fix(mera/landing): «Цена ДКП» — цена договора, а не произведение; экспозиция считает и Домклик
|
2026-08-30 00:10:36 +05:00 |
|
test_listing_segment_upsert_selfheal.py
|
fix(tradein/scraper): listing_segment самочинится при upsert вместо вечного NULL
|
2026-08-15 22:28:05 +03:00 |
|
test_listing_source_snapshot.py
|
fix(tradein): убрать невыводимые события, развести «снято» и «протухло» (#2674)
|
2026-08-06 03:01:05 +05:00 |
|
test_listings_city_from_sweep.py
|
fix(tradein): бэкфилл-чистка неверных oblast-меток city для yandex/cian (#2628) (#2646)
|
2026-08-05 07:13:28 +00:00 |
|
test_location_index_endpoint.py
|
fix(tradein/location): заменить сломанный коэффициент локации на калиброванный индекс (#2531)
|
2026-07-26 21:48:15 +00:00 |
|
test_matching.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_matching_tier_reachability_2674.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_me_brand.py
|
feat(tradein/v2): реальный display-профиль в TopNav через /me (#2046)
|
2026-07-03 22:55:12 +03:00 |
|
test_metrics.py
|
feat(observability): /metrics в обоих бэкендах — счётчики, задержка, дашборд
|
2026-08-26 11:30:18 +03:00 |
|
test_migration_164_yandex_url_canonicalize.py
|
fix(tradein/data): yandex url-дубли — дедуп-миграция + инвариант + корень (#2235)
|
2026-07-03 09:39:29 +03:00 |
|
test_migration_165_remove_n1_source.py
|
chore(tradein): полное выключение источника n1 — миграция 165 + вычистка backend/ops (#2204)
|
2026-07-03 10:08:56 +03:00 |
|
test_migration_189_account_estimate_usage_nonnegative.py
|
fix(tradein): откат транзакции в backfill + неотрицательный счётчик квот (#2538)
|
2026-07-26 22:21:08 +00:00 |
|
test_migration_191_account_quota_unlimited_flag.py
|
feat(tradein/auth): восстановить доступ praktika + безлимит через данные вместо хардкода (#2544)
|
2026-07-26 23:29:53 +00:00 |
|
test_migration_197_backfill_listings_city_from_url.py
|
fix(tradein/geocode): бэкфилл listings.city из слага города в URL Авито (#2594)
|
2026-08-01 01:46:03 +03:00 |
|
test_migration_200_region_code_foreign_cities.py
|
fix(tradein/data): убрать ложный region_code=66 у объявлений чужих городов (#2604)
|
2026-08-01 21:52:00 +03:00 |
|
test_migration_201_purge_dead_mobileproxy_proxies.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_migration_204_cian_oblast_sweeps_secondary.py
|
fix(tradein/scraper): исключить Верхнюю Пышму из вторички Циана — грязная городская метка
|
2026-08-02 14:07:56 +03:00 |
|
test_migration_205_sales_vs_listings_city_filter.py
|
fix(tradein/ui): городской фильтр в витрине «сделки против объявлений» (#2583 H4) (#2627)
|
2026-08-02 11:54:33 +00:00 |
|
test_migration_206_scrape_schedules_cut_wasteful_load.py
|
chore(tradein/scraper): срезать бесполезную нагрузку — темп cian_full_load и джобы с нулевым выходом
|
2026-08-02 16:51:08 +03:00 |
|
test_migration_211_sales_vs_listings_segment_guard.py
|
fix(tradein): сегментный гард в «медианном торге», свежесть в индексе локации, честные админ-счётчики (#2660)
|
2026-08-05 22:39:48 +05:00 |
|
test_migration_257_yandex_source_url_backfill.py
|
fix(tradein/yandex): 3535 source_url ведут на сайт застройщика — переписываем из offerId (#2840)
|
2026-08-12 15:33:31 +00:00 |
|
test_migration_262_oblast_city_sweeps_wave2.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_migration_300_sales_vs_listings_deals_rooms.py
|
fix(mera/sales-vs-listings): снят предикат d.rooms в TVF — он был вторым фильтром по площади (#3451)
|
2026-09-12 13:25:17 +05:00 |
|
test_migration_numbering.py
|
fix(tradein): гейт номеров миграций берёт эталон из git, ручной манифест удалён
|
2026-08-07 14:35:28 +05:00 |
|
test_msk_collector_goto_retry.py
|
fix(msk-collector): сетевой обрыв на машине больше не убивает многочасовой проход
|
2026-09-12 02:35:42 +03:00 |
|
test_msk_raw_import.py
|
Импорт сырья msk_raw умеет Московскую область, а не только Москву (#3505)
|
2026-09-12 14:49:06 +00:00 |
|
test_paid_retention_text_consistency.py
|
fix(tradein/payments): pre-flight должен ловить аномалию, не штатное состояние (review PR #2754)
|
2026-08-06 22:49:09 +03:00 |
|
test_password.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_password_call_sites.py
|
test(tradein/auth): правило про синхронную сверку — сторожем, а не комментарием (#2715) (#2735)
|
2026-08-06 14:35:32 +00:00 |
|
test_payments_notification.py
|
fix(tradein/payments): строгий разбор нотификации и отказ вместо догадок на враждебном входе
|
2026-08-06 15:48:57 +03:00 |
|
test_payments_receipt.py
|
feat(tradein/payments): подпись Token, клиент Т-Банка и сборка чека (#2733)
|
2026-08-06 12:36:57 +00:00 |
|
test_payments_router.py
|
fix(payments): обрыв соединения и Init без PaymentURL перестают запирать покупателя
|
2026-09-06 00:11:35 +05:00 |
|
test_payments_token.py
|
fix(tradein/payments): строгий разбор нотификации и отказ вместо догадок на враждебном входе
|
2026-08-06 15:48:57 +03:00 |
|
test_pdf_public_source_labels.py
|
fix(tradein/pdf): клиентский PDF не называет площадки-источники — «Источник N», как в веб-отчёте (#3341)
|
2026-09-03 11:58:45 +03:00 |
|
test_pdf_real_render.py
|
fix(tradein/tests): тесты авторизации проверяют настоящий guard + реальный рендер PDF (#2541)
|
2026-07-26 23:04:43 +00:00 |
|
test_pdf_security.py
|
fix(tradein/pdf): клиентский PDF не называет площадки-источники — «Источник N», как в веб-отчёте (#3341)
|
2026-09-03 11:58:45 +03:00 |
|
test_pipeline_browser_routing.py
|
fix(tradein/avito): catch sidecar timeout/transport errors in SERP fetch → graceful banned, not crash (#2523)
|
2026-07-13 20:59:39 +00:00 |
|
test_pipeline_browserfetcher_environment.py
|
fix(tradein/scraper): не ходить через мёртвый запасной прокси (#2634)
|
2026-08-04 18:27:49 +00:00 |
|
test_proxy_pool_curl_paths.py
|
fix(#3386): curl_proxy_url — health=False и на отмене (BaseException); admin IMV через пул; тест без create=True
|
2026-09-06 10:57:08 +05:00 |
|
test_public_mera_api.py
|
Merge pull request 'Москва в реестре городов лендинга и кабинета' (#3472) from feat/msk-public-city-registry into main
|
2026-09-12 11:04:17 +00:00 |
|
test_public_mera_estimate.py
|
fix(mera/b2c): выключенная ручка расчёта подтверждала своё существование и печатала схему
|
2026-08-29 20:19:15 +05:00 |
|
test_purge_expired_trade_in_data.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_ratelimit.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_rbac.py
|
test(rbac): сделать db_only-ветку anon-cloak фальсифицируемой
|
2026-09-06 01:04:35 +05:00 |
|
test_request_audit.py
|
fix(tradein/payments): тело нотификации не течёт в мониторинг и аудит, повторы банка не отбиваются лимитом
|
2026-08-07 16:17:59 +03:00 |
|
test_revisit_floor_lateral_lookup.py
|
fix(tradein/deactivate-stale): пол переобхода — LATERAL вместо equality-join по дате
|
2026-08-23 15:45:53 +03:00 |
|
test_role_single_source.py
|
test(tradein): прод-конфигурация ролей в приёмке #3316 + компромисс фолбэка
|
2026-09-02 14:59:14 +05:00 |
|
test_rosreestr_dedup_key.py
|
merge(#3051): main (#3421) в ветку импорта по региону — московская дельта поверх region_code/doc_type
|
2026-09-08 23:19:47 +03:00 |
|
test_rosreestr_poll.py
|
fix(tradein): repoint rosreestr_poll to /data-sets/ + verify Content-Type (СДЕЛКИ dataset moved off /opendata) (#2477)
|
2026-07-12 13:21:58 +00:00 |
|
test_sales_vs_listings.py
|
fix(tradein): ДКП-коридор по Москве не строился — имя улицы не извлекалось
|
2026-09-12 13:43:56 +03:00 |
|
test_same_building_anchor.py
|
fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ (#2629)
|
2026-08-02 12:41:48 +00:00 |
|
test_same_building_match.py
|
fix(tradein/estimator): граница номера дома в подборе аналогов «тот же дом» (#2534)
|
2026-07-26 22:07:00 +00:00 |
|
test_sber_freshness_monitor.py
|
fix(tradein/sber): сторож мерит отставание загрузки, а не календарь (#2846) (#2849)
|
2026-08-12 19:36:20 +00:00 |
|
test_sber_index.py
|
Московская область считается по своему ряду Сбериндекса (#3507)
|
2026-09-12 14:50:01 +00:00 |
|
test_sber_region_series_3051.py
|
Московская область считается по своему ряду Сбериндекса (#3507)
|
2026-09-12 14:50:01 +00:00 |
|
test_schedule_save_respects_interval_2674.py
|
fix(tradein): такт в сохранении расписания, position_in_serp невыразим (#2674)
|
2026-08-06 05:49:48 +00:00 |
|
test_scheduler.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_scheduler_main.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_scrape_run_alert.py
|
fix(tradein/scraper): сторож «ноль результатов» перестаёт читать «не измерено» как ноль (#2703) (#2713)
|
2026-08-06 08:28:59 +00:00 |
|
test_scrape_skip_visibility.py
|
fix(tradein/scraper): отметки времени прогона перестают замерзать в его же транзакции (#2702) (#2718)
|
2026-08-06 09:55:50 +00:00 |
|
test_scraped_at_bump_2206.py
|
fix(tradein/scrapers): метка наблюдения — время строки, а не старта транзакции (#2731) (#2742)
|
2026-08-06 16:19:56 +00:00 |
|
test_scraper_adapters_contracts.py
|
fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653)
|
2026-08-05 11:37:35 +00:00 |
|
test_scraper_admin_apis.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_scraper_kit_group_c_backfill_kit_parity.py
|
perf(tradein-tests): убираем реальные паузы из 5 медленных тестов (#3500)
|
2026-09-12 13:46:29 +00:00 |
|
test_scraper_kit_newbuilding_endpoint.py
|
fix(#3197): yandex newbuilding — обе точки в пул прокси + стоп на пустом пуле
|
2026-09-06 05:55:36 +05:00 |
|
test_scraper_kit_pipeline_parity.py
|
chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними
|
2026-08-29 17:07:04 +03:00 |
|
test_scraper_kit_pipeline_parity2.py
|
test(#3375): стаб доходит до _degraded и многостраничного листа; комментарий про красноту
|
2026-09-06 02:38:12 +05:00 |
|
test_scraper_kit_providers_base.py
|
fix(tradein/scraper-kit): actualize avito fingerprint - impersonate/Sec-Fetch-Site/referer/cookie-check
|
2026-08-21 17:02:53 +03:00 |
|
test_scraper_kit_scheduler_parity.py
|
test(#3051): тесты трека «Москва» — импорт ДКП по 77, per-source чекпоинт, wildcard-хендлер, регион-скоуп ДКП-коридора, миграция 289, валидация deploy-скрипта
|
2026-09-09 02:23:47 +03:00 |
|
test_scraper_proxy.py
|
chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650)
|
2026-08-05 09:35:54 +00:00 |
|
test_scraper_settings.py
|
chore(tradein): деактивировать N1.ru scraper — источник переехал в Cian
|
2026-06-16 14:50:51 +03:00 |
|
test_search_api.py
|
fix(tradein): молча задеселекченный тест починен, deselect снят (#2722) (#2729)
|
2026-08-06 11:30:42 +00:00 |
|
test_segment_guard_1186.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_sell_time_sensitivity.py
|
fix(tradein/estimator): честная маркировка quarter-precision дат ДКП + insufficient_data флаг для sell-time-sensitivity (#1995) (#2355)
|
2026-07-04 00:14:02 +00:00 |
|
test_sentry_init_wiring.py
|
fix(tradein/payments): тело нотификации не течёт в мониторинг и аудит, повторы банка не отбиваются лимитом
|
2026-08-07 16:17:59 +03:00 |
|
test_sentry_scrub.py
|
fix(obs): убрать шум выключенных платежей и трейсы health-проб proxy_pool
|
2026-09-12 14:03:39 +03:00 |
|
test_serp_city_location_urls.py
|
fix(tradein/scraper): per-city SERP location for oblast city-sweep (#12) (#2525)
|
2026-07-13 21:41:07 +00:00 |
|
test_snapshot_writer.py
|
fix(tradein): выборка миграции 286 повторяет гейт 1:1, правило первой точки (#3376)
|
2026-09-06 03:53:08 +05:00 |
|
test_street_deals_endpoint.py
|
fix(tradein): ДКП-коридор по Москве не строился — имя улицы не извлекалось
|
2026-09-12 13:43:56 +03:00 |
|
test_street_scheme.py
|
feat(mera/b2c): улица сделки доезжает до витрины готовой схемой, а не геометрией
|
2026-08-29 23:25:44 +05:00 |
|
test_suggest_fias_contract.py
|
feat(tradein/matching): fias_exact tier + estimate fias persist + suggest fias_id contract
|
2026-07-02 20:49:04 +03:00 |
|
test_support.py
|
fix(tradein): идемпотентная отправка сообщения в поддержку (#3471)
|
2026-09-12 14:59:52 +03:00 |
|
test_sweep_imv_phase.py
|
chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650)
|
2026-08-05 09:35:54 +00:00 |
|
test_team_api.py
|
feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6]
|
2026-08-01 02:50:14 +03:00 |
|
test_tgsupport_retry_budget.py
|
fix(tg): недоступный Telegram отдаёт 502, а не 500
|
2026-09-12 03:02:03 +03:00 |
|
test_tier_a_primary_1774.py
|
fix(tradein/estimator): гео-ограничение якорного тира — не брать чужие города (#2581)
|
2026-07-31 17:39:00 +03:00 |
|
test_trade_in_lead.py
|
fix(tradein/security): утечка ключа прокси, аудит действий админа, отличимость неудачного входа, IDOR в заявке (#2536)
|
2026-07-26 22:42:15 +00:00 |
|
test_user_events.py
|
feat(tradein/audit): request-audit middleware + estimate_request logging → user_events (#2519)
|
2026-07-13 20:09:22 +00:00 |
|
test_version_api.py
|
feat(tradein): версионирование продукта — единый источник, подвал, PDF, /versions (#2824)
|
2026-08-10 16:00:54 +00:00 |
|
test_yandex_cian_backfill_cadence.py
|
chore(tradein/scheduler): добор карточек Яндекса и Циана шёл раз в сутки и простаивал
|
2026-08-31 14:17:12 +03:00 |
|
test_yandex_city_sweep.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_yandex_detail.py
|
fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) (#2773)
|
2026-08-07 08:44:48 +00:00 |
|
test_yandex_detail_structural.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_yandex_history_area_filter.py
|
fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851)
|
2026-08-12 20:44:11 +00:00 |
|
test_yandex_price_history.py
|
chore(tradein/scrapers): удалить весь legacy scrapers/ каталог — final E (#2397, #2277)
|
2026-07-04 15:58:15 +03:00 |
|
test_yandex_scrapers_delay_wiring.py
|
chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) (#2650)
|
2026-08-05 09:35:54 +00:00 |
|
test_yandex_session.py
|
fix(tradein/scrapers): хранилище авторизованной сессии Яндекс.Недвижимости (#3195)
|
2026-08-28 19:02:05 +00:00 |
|
test_yandex_valuation.py
|
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022)
|
2026-08-21 12:01:52 +00:00 |
|
test_yandex_valuation_save.py
|
fix(tradein/yandex): снести признак «панорама» — его нет на площадке (#2851)
|
2026-08-12 20:44:11 +00:00 |
|
test_zhkh_flats_loader.py
|
fix(tradein): cadastre ЖКХ-fallback + COALESCE merge-key + median-floors guard
|
2026-06-29 01:32:48 +03:00 |