gendesign/tradein-mvp/backend/app/services
bot-backend 14818f0303
All checks were successful
CI Trade-In / changes (pull_request) Successful in 15s
CI / changes (pull_request) Successful in 15s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m56s
CI Trade-In / backend-tests (pull_request) Successful in 5m25s
CI / backend-tests (pull_request) Successful in 18m18s
chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864)
Почему: файлы в main были отформатированы старым ruff (хук 0.7.4), а после
#3021 хук, CI и `uv run ruff format` — на 0.15.20. Без нормализации каждый
коммит, касающийся одного из этих 161 файлов, тащил бы посторонние хунки
на нетронутых строках (длинные assert-сообщения и т.п.).

Что: `ruff format` 0.15.20 по backend/ и tradein-mvp/backend/; ничего,
кроме форматирования (958+/1034−). `ruff check` 0.15.20 зелёный на обоих
проектах, повторный `format --check` — 1001 файл без изменений
(идемпотентно), compileall чистый.

Refs #2864
2026-08-21 16:39:28 +05:00
..
exporters chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) 2026-08-21 16:39:28 +05:00
matching chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) 2026-08-21 16:39:28 +05:00
payments fix(tradein/payments): строгий разбор нотификации и отказ вместо догадок на враждебном входе 2026-08-06 15:48:57 +03:00
tgbot fix(tradein/tgbot): ограничение частоты на отправителя в мосте поддержки (#2543) 2026-07-26 23:16:57 +00:00
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
account_quota.py feat(tradein/auth): восстановить доступ praktika + безлимит через данные вместо хардкода (#2544) 2026-07-26 23:29:53 +00:00
auth_session.py feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6] 2026-08-01 02:50:14 +03:00
brand.py fix(tradein/pdf): МЕРА branding + 4-page report, no empty pages (#2513) 2026-07-13 18:04:07 +00:00
buildings_query.py fix(tradein/sale-share): гард по этажности — отсечь near-neighbor mis-match 2026-06-29 00:31:09 +03:00
cache.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) 2026-08-21 16:39:28 +05:00
cian_price_history.py fix(tradein/scrapers): убрать оставшиеся обходы пула прокси (#2830) (#2833) 2026-08-12 10:53:36 +00:00
cian_session.py fix(tradein/scrapers): egress по источнику из пула с учётом банов, а не статичный env (#2831) 2026-08-11 06:29:48 +00:00
dadata.py fix(tradein/geocoder): local houses fallback + downgrade DaData CLEAN-disabled noise 2026-08-15 18:08:09 +03:00
data_erasure.py fix(tradein/privacy): нормализация телефона к каноническому РФ-виду при erasure (#2547) 2026-08-06 19:59:34 +03:00
domclick_session.py fix(tradein): сигналы о сбоях наконец становятся событиями, а протухание кук предупреждает заранее (#2674) 2026-08-06 02:29:11 +05:00
domrf_kapremont_loader.py fix(tradein/ingest): 4 data-integrity дефекта в бэкфилле годов и импорте ДКП 2026-07-12 22:12:31 +03:00
estimator.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) 2026-08-21 16:39:28 +05:00
gar_flats_loader.py feat(tradein): канонический матч ГАР↔houses (0%→41% yield) + tradein_canon_addr + --match-only (#2063) 2026-06-28 15:50:07 +00:00
geocoder.py fix(tradein/geocoder): темп Nominatim сдерживается перед запросом, а не после успеха (#2953) (#2954) 2026-08-20 07:55:41 +00:00
house_dedup_merge.py fix(tradein/dedup): остаток схлопывания домов становится измеряемым числом, а не оценкой (#2690) (#2820) 2026-08-10 11:18:19 +00:00
house_imv_backfill.py fix(tradein/imv): «временная» ошибка снова временная — 1390 домов возвращаются в очередь (#2843) 2026-08-12 16:06:24 +00:00
house_metadata.py chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) 2026-08-21 16:39:28 +05:00
identity_store.py feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6] 2026-08-01 02:50:14 +03:00
image_sanitizer.py fix(tradein/photos): защита от pixel-flood DoS в image_sanitizer 2026-07-12 22:12:12 +03:00
location_index.py fix(tradein): тест ловит копию константы, а не equality; честный комментарий про вклад свежести (#2660) 2026-08-05 23:13:22 +05:00
product_handlers.py fix(tradein): фильтр выдачи Яндекса мёртв — slug ЖК ищем по странице объекта (#2860) (#2923) 2026-08-19 08:37:40 +00:00
proxy_egress.py fix(tradein/proxy): учитывать историю банов при выборе egress-узла (#2877) 2026-08-13 17:47:01 +00:00
proxy_pool.py fix(tradein/proxy): упавшая проба присваивала себе бан боевого сбора (#2800) (#2805) 2026-08-09 20:13:10 +00:00
proxy_rotation.py fix(tradein/proxy): backup-узел должен быть пригоден + рычаг снятия бана (#2600 п.2) 2026-08-05 17:45:07 +05:00
rosreestr_poll.py fix(tradein): чинит такт загрузки СберИндекса — иначе новый ERROR стал бы ложной тревогой (#2674) 2026-08-06 02:53:26 +05:00
sber_index.py fix(tradein/sber): сторож мерит отставание загрузки, а не календарь (#2846) (#2849) 2026-08-12 19:36:20 +00:00
scheduler.py fix(tradein/scraper): сигнал живости из середины батча — живые прогоны перестают числиться зависшими (#2725) (#2727) 2026-08-06 11:30:52 +00:00
scrape_runs.py fix(tradein/scrapers): не путать rows_inserted/processed с честным результатным ключом 2026-08-15 18:49:37 +03:00
scraper_adapters.py fix(tradein/matching): город развёртки доезжает до стража Tier-2a — межгородские склейки домов (#2777) (#2808) 2026-08-10 08:51:14 +00:00
scraper_settings.py chore(tradein): деактивировать N1.ru scraper — источник переехал в Cian 2026-06-16 14:50:51 +03:00
search_query.py fix(tradein/matching): честность тиров сопоставления домов (#2674) 2026-08-06 04:37:12 +05:00
user_events.py feat(tradein/audit): request-audit middleware + estimate_request logging → user_events (#2519) 2026-07-13 20:09:22 +00:00
yandex_address_backfill.py fix(tradein/scrapers): egress по источнику из пула с учётом банов, а не статичный env (#2831) 2026-08-11 06:29:48 +00:00
yandex_price_history.py chore(tradein/scrapers): удалить весь legacy scrapers/ каталог — final E (#2397, #2277) 2026-07-04 15:58:15 +03:00
zhkh_flats_loader.py fix(tradein): cadastre ЖКХ-fallback + COALESCE merge-key + median-floors guard 2026-06-29 01:32:48 +03:00