gendesign/tradein-mvp/packages/scraper-kit/src/scraper_kit
bot-backend 41f21c4969
All checks were successful
CI Trade-In / changes (pull_request) Successful in 11s
CI / changes (pull_request) Successful in 13s
CI Trade-In / browser-tests (pull_request) Has been skipped
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 Trade-In / backend-tests (pull_request) Successful in 5m13s
docs(scraper-kit): обоснование #3319 — что именно теряло чекпоинт
Ревью опровергло формулировку «точку терял каждый финализатор»: все четыре
писателя в runs.py мержат jsonb (`counters || :counters`), записанный ключ
переживал mark_done/mark_banned/mark_failed. Правка закрывает выходы РАНЬШЕ
первого end-of-anchor heartbeat (cancel/дрейн на первом якоре, ранний done
#1950 на якоре №1) — комментарий и докстринг переписаны на это.

Замер «0 из 67 за 60 дней» назван тем, чем он является: запись появилась
26.08.2026 (#3074) при такте avito 7 суток, выборка почти вся из эры без
механизма. Плюс тест на прогон без ключей (эра до #3074) — метка дрейна не
меняет вердикт «нечего подхватывать».
2026-09-02 14:53:02 +05:00
..
orchestration docs(scraper-kit): обоснование #3319 — что именно теряло чекпоинт 2026-09-02 14:53:02 +05:00
pricing refactor(scraper-kit): unify price bisection engine across providers + dedup (#2134) 2026-07-02 16:41:04 +00:00
providers imv: HTTP 429 больше не приговаривает дом навечно 2026-09-01 21:21:53 +05:00
__init__.py feat(scraper-kit): copy core layer (base/save_listings/transport) with protocol injection, strangler (#2132) 2026-07-02 15:43:15 +00:00
avito_exceptions.py chore(tradein): четыре символа, на которые нет ни одной ссылки 2026-08-29 15:59:54 +03:00
base.py feat(tradein/matching): region_code у houses — вывод, а не выдумка (#3051 п.4) 2026-08-27 13:51:48 +05:00
browser_fetcher.py feat(tradein/avito): ротация exit-IP по счётчику попыток в доборе карточек (#3302) 2026-08-31 12:09:03 +00:00
ceiling_height.py fix(tradein): свести высоту потолков к одной колонке ceiling_height_m (#2779) 2026-08-07 09:18:48 +00:00
cian_exceptions.py fix(tradein/cian): 403 снимает узел с выдачи, а не гаснет в return None (#2700) (#2821) 2026-08-10 11:29:19 +00:00
cian_state_parser.py fix(tradein/cian): extract_all_states — discover new .concat() format, not just legacy .push() (#2438) 2026-07-04 21:03:32 +00:00
contracts.py chore(tradein): две ручки ротации, которых не осталось читателей, и врущий комментарий над ними 2026-08-29 17:07:04 +03:00
domclick_exceptions.py fix(tradein/scrapers): диагноз блока брался из текстовых маркеров чужой площадки, а не из HTTP-статуса (#3196) 2026-08-28 23:21:54 +03:00
geo.py feat(tradein/scraper): per-city sweep capability для 5 городов области (schedules disabled) 2026-07-12 20:06:46 +03:00
house_type_normalizer.py fix(tradein/houses): camelCase-типы домов приводятся к канону у источника (#2678) (#2719) 2026-08-06 09:55:54 +00:00
offer_price_history.py fix(tradein/scraper-kit): клампить diff_percent перед INSERT offer_price_history (#2404) 2026-07-04 10:44:26 +00:00
price_brackets.py feat(tradein/scraper): per-city sweep capability для 5 городов области (schedules disabled) 2026-07-12 20:06:46 +03:00
proxy_errors.py fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) (#2653) 2026-08-05 11:37:35 +00:00
py.typed chore(scraper-kit): scaffold internal package + uv workspace, build-safe (#2128) 2026-07-02 14:06:07 +00:00
repair_state_normalizer.py feat(scraper-kit): copy core layer (base/save_listings/transport) with protocol injection, strangler (#2132) 2026-07-02 15:43:15 +00:00
snapshot_writer.py fix(tradein/scrapers): метка наблюдения — время строки, а не старта транзакции (#2731) (#2742) 2026-08-06 16:19:56 +00:00
yandex_helpers.py fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) (#2773) 2026-08-07 08:44:48 +00:00