| .. |
|
core
|
feat(tradein/scraper): cooperative SIGTERM-drain for graceful deploy (#1182 Phase 2)
|
2026-06-28 19:52:09 +03:00 |
|
fixtures
|
fix(tradein/estimator): rebase ground-floor hedonic term onto current main (#2002, #2382) (#2391)
|
2026-07-04 07:33:37 +00:00 |
|
matching
|
fix(matching): conflict_resolution picks freshest (last_seen_at) value, deterministic (#1539)
|
2026-06-17 22:43:59 +03:00 |
|
scrapers
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
scripts
|
fix(backfill): drop nonexistent kadastr_num column from listings SELECT
|
2026-06-17 23:47:30 +03:00 |
|
services
|
feat(tradein): location-coef MVP через FDW-мост к OSM POI Птицы (#2045)
|
2026-07-03 23:44:55 +03:00 |
|
support
|
fix(tradein/tests): harden parity harness — bool-type mismatch detection + divergence-catch proof (#2304)
|
2026-07-03 23:45:58 +03:00 |
|
tasks
|
refactor(tradein/tasks): avito_detail_backfill build_warmed_session на kit + config= (#2397 Part D1, #2330)
|
2026-07-04 15:15:45 +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 |
|
test_781_quality_gate.py
|
feat(tradein/estimator): hedonic year+area correction on expected_sold (#2002)
|
2026-06-27 16:06:08 +00:00 |
|
test_849_matching_savepoint.py
|
fix(test): test_849 expects 3 begin_nested/lot after #1921 upsert-reconcile SAVEPOINT — unblock red main gate (#1925)
|
2026-06-26 17:23:24 +00:00 |
|
test_account_quota.py
|
fix(tradein): atomic conditional quota increment — close TOCTOU (#747) (#749)
|
2026-05-30 15:52:34 +00:00 |
|
test_admin_proxies.py
|
feat(proxy-pool): scrape_proxies table + admin bulk-load/list endpoints (#2161)
|
2026-07-02 16:31:21 +00:00 |
|
test_admin_ssrf.py
|
chore(tradein): полное выключение источника n1 — миграция 165 + вычистка backend/ops (#2204)
|
2026-07-03 10:08:56 +03: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
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_audit_address_mismatch.py
|
feat(tradein): Phase 1 of #582 — address mismatch audit infrastructure
|
2026-05-25 12:50:30 +05:00 |
|
test_avito_address_clean.py
|
fix(avito): de-glue house number from district marker in _clean_address (#1773)
|
2026-06-19 13:33:43 +05:00 |
|
test_avito_blockpage.py
|
fix(scrapers): avito per-card parse_failures counter + logging (Refs #823) (#830)
|
2026-05-30 20:01:50 +00:00 |
|
test_avito_browser_mode.py
|
fix(avito): post-merge polish — unify fetch_mode guard + empty-render guard (#1811) (#1909)
|
2026-06-26 07:44:22 +00:00 |
|
test_avito_citywide.py
|
feat(tradein): avito citywide + byrooms sweep mode (T6) (#848)
|
2026-05-31 06:13:19 +00:00 |
|
test_avito_detail_parse.py
|
fix(tradein): drop non-EKB avito detail coords on ingest (audit #1871 P2)
|
2026-06-23 14:33:10 +05:00 |
|
test_avito_ekb_geo_filter.py
|
feat(tradein/avito): per-card ЕКБ гео-фильтр (отсечь padding по России) + сплит комнат 4/5+
|
2026-06-20 16:59:12 +03: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
|
refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1)
|
2026-07-04 13:56:06 +03:00 |
|
test_avito_relative_date.py
|
fix(tradein): Avito listing_date extraction (3 формата) (#601)
|
2026-05-27 12:55:27 +00:00 |
|
test_avito_serp_date.py
|
feat(avito): capture newbuilding ЖК id/url from SERP card; persist newbuilding_id/url
|
2026-06-17 23:15:35 +03: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_house_coords.py
|
feat(tradein): Phase 2-3 of #582 — Yandex backfill + canonical audit (#591)
|
2026-05-27 06:30:54 +00:00 |
|
test_backfill_wave2.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_backtest_estimator.py
|
chore(tradein/backtest): --resolve-house-id flag to measure Tier-S + IMV anchor (#2002)
|
2026-06-27 19:44:38 +00:00 |
|
test_backtest_fixture_roundtrip.py
|
fix(tradein/estimator): remove dead tier-aware-ratio path — truncation artifact + footgun (#2002)
|
2026-06-27 17:34:54 +00:00 |
|
test_backtest_regression_gate.py
|
feat(tradein/estimator): включить кросс-source физдедуп аналогов по умолчанию (#2087 H4, #2173)
|
2026-07-02 20:56:39 +03:00 |
|
test_base_save_listings.py
|
fix(tradein/pii): удалить телефоны продавцов (NULL) + PII клиента (DROP) (#2217, #1969)
|
2026-07-03 23:00:42 +03:00 |
|
test_buildings_api.py
|
fix(tradein/sale-share): гард по этажности — отсечь near-neighbor mis-match
|
2026-06-29 00:31:09 +03: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_newbuilding.py
|
feat(browser): per-source proxy pool behind FEATURE_BROWSER_POOL_ENABLED (Phase 1)
|
2026-06-18 09:01:50 +03:00 |
|
test_cian_session.py
|
fix(cian): verify_session на curl_cffi impersonate — ban != cookies expired (Refs #768) (#785)
|
2026-05-30 16:40:54 +00:00 |
|
test_cian_state_parser.py
|
fix(tradein): cian _cianConfig concat-формат + auth из header-frontend (#639) (#819)
|
2026-05-30 19:08:01 +00:00 |
|
test_cian_valuation.py
|
fix(tradein): Mera-audit fix-1 — Cian valuation price sanity bounds
|
2026-06-21 09:02:32 +03:00 |
|
test_city_sweep.py
|
refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1)
|
2026-07-04 13:56:06 +03: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_deactivate_stale_avito.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_deactivate_stale_listings.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03: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_domclick_sweep.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_ekb_geoportal_ingest.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_estimate_idor.py
|
fix(tradein/security): photo-upload — чанковое чтение с капом 10MB + Caddy request_body 12MB (#2233)
|
2026-07-03 09:06:51 +03: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
|
test(estimator): unit tests для audit fixes #audit-1..5 + empty-series guard
|
2026-06-20 15:06:59 +03: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
|
feat(tradein/estimator): switch core valuation call sites to scraper_kit (#2337)
|
2026-07-04 02:40:34 +03:00 |
|
test_estimator_client_coords.py
|
feat(tradein): estimate accepts client-provided coords, skips geocode (Variant A)
|
2026-06-19 14:15:02 +03:00 |
|
test_estimator_cohort.py
|
fix(tradein-estimator): extend cohort filter to Tier S + Tier H, fix late_soviet overlap (#522)
|
2026-05-24 13:14:59 +00:00 |
|
test_estimator_dedup_cross_source_2087.py
|
fix(tradein/estimator): парсер адресов — имя-перед-типом, glued-суффикс, микрорайоны (#2269) (#2290)
|
2026-07-03 13:03:25 +00: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
|
fix(tradein/estimator): честный asking_to_sold_ratio — бейдж «−N% к рынку» больше не врёт
|
2026-07-02 18:26:19 +03:00 |
|
test_estimator_expected_sold_clamp.py
|
feat(tradein/estimator): hedonic year+area correction on expected_sold (#2002)
|
2026-06-27 16:06:08 +00:00 |
|
test_estimator_floor_optional.py
|
feat(tradein): этаж/этажность optional + best test presets по deal count (#558)
|
2026-05-24 21:44:44 +00:00 |
|
test_estimator_ghost_anchor_1871.py
|
fix(estimator): запрет confidence=high при n_analogs=0 (#1871 ghost-anchor)
|
2026-06-26 18:50:19 +03: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_hedonic.py
|
fix(tradein/estimator): rebase ground-floor hedonic term onto current main (#2002, #2382) (#2391)
|
2026-07-04 07:33:37 +00:00 |
|
test_estimator_imv_blend.py
|
feat(tradein/estimator): hedonic year+area correction on expected_sold (#2002)
|
2026-06-27 16:06:08 +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
|
feat(tradein/estimator): elite-segment manual_review trigger by asking ppm² (#2002)
|
2026-06-27 20:15:38 +00:00 |
|
test_estimator_n_analogs_priced.py
|
feat(tradein/estimator): включить кросс-source физдедуп аналогов по умолчанию (#2087 H4, #2173)
|
2026-07-02 20:56:39 +03:00 |
|
test_estimator_null_floor_timeout.py
|
fix(tradein): time-budget estimate enrichment + observable errors to stop opaque 502 (#654) (#673)
|
2026-05-29 17:22:02 +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/estimator): lock honest asking_to_sold_ratio invariant + disambiguate torg bases (#2087 M2/M3) (#2387)
|
2026-07-04 06:48:51 +00:00 |
|
test_estimator_price_trend_dedup.py
|
fix(tradein): Mera-audit fix-3 — cross-source dedup в _fetch_price_trend
|
2026-06-21 09:05:57 +03:00 |
|
test_estimator_pure_units.py
|
fix(tradein/estimator): clamp premium headline к коридору сделок + робастный anchor (#1795)
|
2026-06-19 20:34:48 +03:00 |
|
test_estimator_quarter_index.py
|
fix(estimator): sanity-clamp quarter-index factor (#859) (#863)
|
2026-05-31 07:20:59 +00:00 |
|
test_estimator_radius_dedup_1871.py
|
fix(estimator): dedup radius-аналогов — не раздувать n_analogs (#1871)
|
2026-06-26 18:52:11 +03:00 |
|
test_estimator_radius_floor.py
|
fix(estimator): radius-path нижний floor от DKP-коридора (анти-undershoot)
|
2026-06-21 00:25:05 +03:00 |
|
test_estimator_radius_m_2044.py
|
feat(tradein/api): #2044 BE-2 — optional radius_m on house-analytics + sell-time-sensitivity
|
2026-07-02 16:51:11 +03:00 |
|
test_estimator_range_floor.py
|
fix(tradein/estimator): min-width floor ±12% на ценовой диапазон (#2209) (#2230)
|
2026-07-02 21:21:28 +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
|
fix(tradein/estimator): remove dead tier-aware-ratio path — truncation artifact + footgun (#2002)
|
2026-06-27 17:34:54 +00:00 |
|
test_estimator_repair_coef.py
|
feat(tradein): estimator additive expected_sold price (#648 S3) (#661)
|
2026-05-29 13:37:33 +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_segment_multiplier.py
|
feat(tradein/estimator): сегментная поправка headline+выкуп по ценовому бэнду за флагом (#2255) (#2293)
|
2026-07-03 18:43:38 +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
|
feat(tradein): estimator additive expected_sold price (#648 S3) (#661)
|
2026-05-29 13:37:33 +00:00 |
|
test_estimator_split_corridor_1871.py
|
fix(estimator): enable split-home disclosure at validated threshold 1.2 (audit #1871)
|
2026-06-24 01:54:58 +05:00 |
|
test_estimator_yandex_integration.py
|
feat(tradein/estimator): switch core valuation call sites to scraper_kit (#2337)
|
2026-07-04 02:40:34 +03:00 |
|
test_extract_short_addr.py
|
feat(tradein-estimator): tiered house-match S→H→W (#507)
|
2026-05-24 12:41:12 +00:00 |
|
test_extval_house_id_write_path.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_gar_flats_loader.py
|
feat(tradein): канонический матч ГАР↔houses (0%→41% yield) + tradein_canon_addr + --match-only (#2063)
|
2026-06-28 15:50:07 +00:00 |
|
test_geo_precision.py
|
feat(estimator): exclude city-centroid listings from radius analogs (Refs #769 Part E)
|
2026-05-30 21:22:21 +03:00 |
|
test_geocode_reverse_api.py
|
feat(tradein): MapPicker snap marker — Phase 5 of #582 (#594)
|
2026-05-27 09:30:17 +00:00 |
|
test_geocoder_bbox.py
|
fix(tradein): drop non-EKB avito detail coords on ingest (audit #1871 P2)
|
2026-06-23 14:33:10 +05:00 |
|
test_geocoder_cadastral_matcher.py
|
feat(tradein): EKB geoportal building ingest + geocoder tier (complete city buildings)
|
2026-06-19 17:51:07 +03:00 |
|
test_history_scope.py
|
chore(tradein): close pre-commit ruff gap + add CI pytest gate (#666) (#675)
|
2026-05-29 19:18:48 +00:00 |
|
test_house_dedup_merge.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_house_imv_backfill_browser_flag.py
|
feat(tradein-imv): route IMV backfill через BrowserFetcher.fetch_json за dormant-флагом (#915 Stage 3) (#1916)
|
2026-06-26 09:54:28 +00:00 |
|
test_house_type_normalizer.py
|
fix(tradein/avito): консолидировать house_type normalizer + актуализировать docstring (#2009) (#2340)
|
2026-07-03 22:47:05 +00: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/security): defense-in-depth trusted-header auth + rate-limiter fix (#2213) (#2229)
|
2026-07-02 21:15:58 +00:00 |
|
test_kit_browser_fetcher_proxy_pool.py
|
feat(proxy-pool): P4 — browser dynamic pool-proxy (acquire→/fetch→relaunch) + orchestration wiring, ship-dark (#2164)
|
2026-07-02 19:20:29 +00:00 |
|
test_kit_serp_proxy_pool.py
|
refactor(tradein/scraper-kit): yandex providers on shared _base.py (#2363)
|
2026-07-04 09:38:43 +03:00 |
|
test_listing_source_snapshot.py
|
refactor(tradein/scheduler): удалить legacy scheduler_loop + scraper-scheduling, kit единственный путь (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_location_coef_endpoint.py
|
feat(tradein): location-coef MVP через FDW-мост к OSM POI Птицы (#2045)
|
2026-07-03 23:44:55 +03:00 |
|
test_matching.py
|
fix(tradein/matching): P1 extended — never create a house from a numberless address (no cadastral)
|
2026-07-02 21:33:52 +03:00 |
|
test_me_brand.py
|
feat(tradein/v2): реальный display-профиль в TopNav через /me (#2046)
|
2026-07-03 22:55:12 +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_migrations_manifest.py
|
fix(tradein/deploy): миграции ДО подъёма app-контейнеров + manifest-инвариант (#2216) (#2228)
|
2026-07-02 21:03:37 +00:00 |
|
test_pdf_security.py
|
fix(pdf): brand-spoof + median=0 empty-state + SSRF + дисклеймер + sources (Refs #772) (#789)
|
2026-05-30 16:55:56 +00:00 |
|
test_pipeline_browser_routing.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_proxy_pool_curl_paths.py
|
feat(proxy-pool): P3 — kit curl-paths acquire/release from pool behind USE_PROXY_POOL_CURL, ship-dark (#2163)
|
2026-07-02 18:56:36 +00:00 |
|
test_ratelimit.py
|
fix(tradein/security): defense-in-depth trusted-header auth + rate-limiter fix (#2213) (#2229)
|
2026-07-02 21:15:58 +00:00 |
|
test_rbac.py
|
feat(rbac): pilot scope → только /trade-in/** (#587)
|
2026-05-26 07:40:44 +00:00 |
|
test_repair_state_normalizer.py
|
fix(scrapers): cian_detail — ceiling/repair актуальные пути state (#1791)
|
2026-06-19 19:57:18 +03:00 |
|
test_rosreestr_dedup_key.py
|
fix(tradein): plain natural-key dedup_hash for rosreestr deals (#576) (#638)
|
2026-05-29 06:56:35 +00:00 |
|
test_rosreestr_poll.py
|
feat(tradein): scheduled monthly Rosreestr new-quarter poll → ingest alert (#888) (#894)
|
2026-05-31 13:13:55 +00:00 |
|
test_sales_vs_listings.py
|
fix(tradein/estimator): честная маркировка quarter-precision дат ДКП + insufficient_data флаг для sell-time-sensitivity (#1995) (#2355)
|
2026-07-04 00:14:02 +00:00 |
|
test_same_building_anchor.py
|
feat(tradein/estimator): включить кросс-source физдедуп аналогов по умолчанию (#2087 H4, #2173)
|
2026-07-02 20:56:39 +03:00 |
|
test_same_building_match.py
|
feat(tradein/matching): fias_exact tier + estimate fias persist + suggest fias_id contract
|
2026-07-02 20:49:04 +03:00 |
|
test_save_listings_upsert_reconcile.py
|
fix(scrapers): save_listings — UPDATE by (source,source_id) при dedup_hash-дрейфе (avito_full_load краш)
|
2026-06-26 19:10:12 +03:00 |
|
test_sber_index.py
|
fix(tradein): correct SberIndex hedonic/asking dataset-paths + 404 warning (#902)
|
2026-06-17 22:50:52 +03: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
|
feat(observability): sentry alert on N consecutive scraper failures (Refs #827) (#833)
|
2026-05-30 20:10:29 +00:00 |
|
test_scraped_at_bump_2206.py
|
fix(tradein/scrapers): bump scraped_at при ре-подтверждении живым + бэкфилл (#2206) (#2224)
|
2026-07-02 20:30:01 +00:00 |
|
test_scraper_adapters_contracts.py
|
feat(proxy-pool): P4 — browser dynamic pool-proxy (acquire→/fetch→relaunch) + orchestration wiring, ship-dark (#2164)
|
2026-07-02 19:20:29 +00:00 |
|
test_scraper_admin_apis.py
|
fix(tradein/security): admin.py — generic detail + error-id вместо сырого текста исключений (#2234)
|
2026-07-03 09:16:34 +03:00 |
|
test_scraper_kit_avito_golden_parity.py
|
feat(scraper-kit): copy avito providers with protocol injection, strangler (#2133 avito)
|
2026-07-02 15:58:00 +00:00 |
|
test_scraper_kit_base_golden_parity.py
|
feat(scraper-kit): copy core layer (base/save_listings/transport) with protocol injection, strangler (#2132)
|
2026-07-02 15:43:15 +00:00 |
|
test_scraper_kit_bisection_parity.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_scraper_kit_cian_golden_parity.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_scraper_kit_group_c_backfill_kit_parity.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_scraper_kit_newbuilding_endpoint.py
|
fix(tradein/scraper-kit): проброс endpoint= в yandex/cian newbuilding BrowserFetcher (#2322)
|
2026-07-04 03:12:08 +03:00 |
|
test_scraper_kit_pipeline_parity.py
|
refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1)
|
2026-07-04 13:56:06 +03:00 |
|
test_scraper_kit_pipeline_parity2.py
|
refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1)
|
2026-07-04 13:56:06 +03:00 |
|
test_scraper_kit_pricehistory_session_parity.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_scraper_kit_providers_base.py
|
feat(tradein/scraper-kit): shared base/utils для providers/* (#2358, Foundation)
|
2026-07-04 03:50:55 +03:00 |
|
test_scraper_kit_scheduler_parity.py
|
test(tradein/scheduler): нетавтологичный kit registry-completeness guard (#2397 Part C)
|
2026-07-04 13:00:30 +03:00 |
|
test_scraper_kit_yandex_golden_parity.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_scraper_proxy.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_scraper_settings.py
|
chore(tradein): деактивировать N1.ru scraper — источник переехал в Cian
|
2026-06-16 14:50:51 +03:00 |
|
test_search_api.py
|
feat(tradein): segment=vtorichka|novostroyki|all query-param on listings (#1188)
|
2026-06-17 21:43:01 +03:00 |
|
test_segment_guard_1186.py
|
fix(tradein/estimator): remove dead tier-aware-ratio path — truncation artifact + footgun (#2002)
|
2026-06-27 17:34:54 +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_scrub.py
|
feat(tradein): enrich GlitchTip SDK init — integrations + PII scrub (#396) (#643)
|
2026-05-29 09:23:17 +00:00 |
|
test_snapshot_writer.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_street_deals_endpoint.py
|
fix(tradein): word-boundary street match + cian unescape robustness (Refs #769 A1+D) (#798)
|
2026-05-30 17:18:33 +00: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_sweep_imv_phase.py
|
refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1)
|
2026-07-04 13:56:06 +03:00 |
|
test_tier_a_primary_1774.py
|
fix(estimator): #1774 Tier A admits same-building novostroyki resales when secondary-dominant
|
2026-06-19 14:00:13 +05:00 |
|
test_trade_in_lead.py
|
feat(tradein/lead): POST /api/v1/trade-in/lead — persist contact leads (#2376) (#2390)
|
2026-07-04 07:12:22 +00:00 |
|
test_yandex_city_sweep.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_yandex_detail.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_yandex_detail_structural.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_yandex_helpers.py
|
fix(tradein): Yandex listing_date — keyword + absolute-no-year (#602)
|
2026-05-27 13:11:22 +00:00 |
|
test_yandex_history_area_filter.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_yandex_newbuilding.py
|
fix(tradein): yandex newbuilding rating drift — "4.3из 5" без пробела (#974)
|
2026-06-15 21:29:43 +03:00 |
|
test_yandex_price_history.py
|
feat(tradein): populate offer_price_history for yandex from gate price.previous/trend
|
2026-06-18 14:23:23 +03:00 |
|
test_yandex_scrapers_delay_wiring.py
|
refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2)
|
2026-07-04 14:37:19 +03:00 |
|
test_yandex_valuation.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_yandex_valuation_save.py
|
chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный)
|
2026-07-04 10:41:46 +03:00 |
|
test_zhkh_flats_loader.py
|
fix(tradein): cadastre ЖКХ-fallback + COALESCE merge-key + median-floors guard
|
2026-06-29 01:32:48 +03:00 |