2026-06-13 - 2026-09-13

Overview

1389 active pull requests
998 active issues
Excluding merges, 4 authors have pushed 644 commits to main and 1747 commits to all branches. On main, 1296 files have changed and there have been 240456 additions and 28542 deletions.

1389 pull requests merged by 3 users

Merged #3509 fix(mera): витрина сделок лэндинга — в расписание, дата прогона на страницу, монитор свежести (#3469) 2026-09-12 17:12:30 +00:00

Merged #3512 Импорт msk_raw умеет областной ДомКлик, а не падает на нём 2026-09-12 17:00:31 +00:00

Merged #3508 МЕРА: у запросов к БД появился потолок по времени и по ожиданию блокировки (#3463) 2026-09-12 16:38:35 +00:00

Merged #3510 Коллектор ДомКлика умеет Московскую область, а не только Москву 2026-09-12 16:34:33 +00:00

Merged #3506 fix(deploy): Caddy пересоздаётся только когда правка иначе не доедет (#3443) 2026-09-12 16:16:04 +00:00

Merged #3507 Московская область считается по своему ряду Сбериндекса, а не по общероссийскому 2026-09-12 14:50:03 +00:00

Merged #3505 Импорт сырья msk_raw умеет Московскую область, а не только Москву 2026-09-12 14:49:08 +00:00

Merged #3504 Расписание импорта сделок Росреестра по Московской области 2026-09-12 14:18:58 +00:00

Merged #3503 fix(tests): убрать реальные паузы из tradein-тестов (wave2) 2026-09-12 14:15:22 +00:00

Merged #3502 perf(tests): заглушить форсайт-enqueue в analyze-тестах Site Finder 2026-09-12 14:09:24 +00:00

Merged #3501 Московская область в реестре регионов, обход — по специфичности вместо кода 2026-09-12 13:59:44 +00:00

Merged #3500 perf(tradein-tests): убираем реальные паузы из 5 медленных тестов 2026-09-12 13:46:30 +00:00

Merged #3494 fix(tgbot): проверка темы при старте + общий rate limit на группу (#3471) 2026-09-12 13:37:10 +00:00

Merged #3499 Прогон тестов перестаёт спать по-настоящему 2026-09-12 13:36:10 +00:00

Merged #3498 Ряд Московской области в Сбериндексе — грузим заранее, до включения региона 50 2026-09-12 12:56:38 +00:00

Merged #3495 fix(tradein): идемпотентная отправка сообщения в поддержку (#3471) 2026-09-12 12:33:09 +00:00

Merged #3497 ДомКлик как четвёртый источник переливки московского сырья в listings 2026-09-12 12:26:10 +00:00

Merged #3496 ДомКлик — четвёртая площадка ручного сбора Москвы 2026-09-12 12:05:19 +00:00

Merged #3488 Ожидаемые исходы скрапинга перестают быть ошибками 2026-09-12 11:48:45 +00:00

Merged #3492 fix(metrics): гасим crash-loop tg-relay через профиль relay 2026-09-12 11:48:41 +00:00

Merged #3491 Продуктовые счётчики и дашборд воронки 2026-09-12 11:45:51 +00:00

Merged #3465 Быстрый путь «правка только прокси» наконец включается: считаем изменённые файлы сами (#3448) 2026-09-12 11:43:39 +00:00

Merged #3487 Продуктовый Telegram-трафик уходит через ретранслятор на Beget 2026-09-12 11:38:26 +00:00

Merged #3490 Отказ в alert-ack перестаёт съедать следующий алерт 2026-09-12 11:34:31 +00:00

Merged #3489 Очередь задач и Redis становятся видимыми 2026-09-12 11:27:24 +00:00

Merged #3479 Ответ оператора не исчезает при сбое БД, и реплай на собственный ответ снова маршрутизируется 2026-09-12 11:26:30 +00:00

Merged #3485 Алерт GlitchTip переживает недоступность Telegram: отправка уходит в фон, 502 остаётся 2026-09-12 11:22:46 +00:00

Merged #3483 Меньше шума: выключенные платежи не засоряют ленту ошибок, провал прокси-пробы пишется строкой вместо трейса 2026-09-12 11:18:35 +00:00

Merged #3476 Деплой метрик перечитывает конфиг Prometheus, а не только кладёт его на диск 2026-09-12 11:18:29 +00:00

Merged #3484 Маршрут и секрет для резервного приёмника алертов GlitchTip 2026-09-12 11:12:30 +00:00

Merged #3482 Резервный канал для алертов GlitchTip: приём на alert-ack, другой хост и другой провайдер 2026-09-12 11:08:27 +00:00

Merged #3481 Alertmanager объявлен единственным путём доставки: встроенный алертинг Grafana выключен явно 2026-09-12 11:08:11 +00:00

Merged #3478 Access-логи Caddy доезжают в Loki: статусы и латентность прокси наконец видны 2026-09-12 11:05:47 +00:00

Merged #3477 Тревоги уровня приложения, cAdvisor и пропавшие фоновые контейнеры; critical переживает подавление 2026-09-12 11:05:39 +00:00

Merged #3474 Панель классов ответов больше не стекируется — красная линия и есть число 5xx 2026-09-12 11:05:35 +00:00

Merged #3472 Москва в реестре городов лендинга и кабинета 2026-09-12 11:04:18 +00:00

Merged #3473 ДКП-коридор по Москве не строился: имя улицы не извлекалось из московского формата адреса 2026-09-12 10:53:47 +00:00

Merged #3468 feat(mera/лендинг): витрина показывает полосу расхождения −5…+20 %; плитку «уверенность низкая» сменил замер 12.09 2026-09-12 10:51:50 +00:00

Merged #3470 Московский city_hint больше не уходит молча в регион 66 2026-09-12 10:44:40 +00:00

Merged #3464 Тревоги печатали не ту величину, которую называли: «2.684e+11% от mem_limit» и «доля HOT 75.21%» при пороге 20% 2026-09-12 10:12:53 +00:00

Merged #3460 Оценка не теряется, когда геокодер не уложился в бюджет (#3449) 2026-09-12 10:11:20 +00:00

Merged #3462 Коридор сделок с малой выборкой честно помечен справочным 2026-09-12 10:11:14 +00:00

Merged #3461 Витрина «сделки против объявлений» перестаёт пустовать: снят предикат по синтетической комнатности сделок 2026-09-12 09:03:06 +00:00

Merged #3459 Поддержка: доставленное сообщение не теряется при сбое БД, отказы Telegram расходуют бюджет 2026-09-12 08:00:19 +00:00

Merged #3458 Связь с Telegram не встаёт колом, ответ оператора не теряется 2026-09-12 07:20:21 +00:00

Merged #3457 Недоступный Telegram отдаёт 502 — теперь на всём дереве транспортных отказов 2026-09-12 06:26:31 +00:00

Merged #3456 Недоступный Telegram отдаёт 502, а не 500 2026-09-12 00:08:47 +00:00

Merged #3455 Сборщик: обрыв сети на машине не должен убивать многочасовой проход 2026-09-11 23:42:09 +00:00

Merged #3454 Импортёр знает Яндекс: город из второго компонента адреса, ноль внешних вызовов 2026-09-11 23:26:16 +00:00

Merged #3453 Красный main после #3440: тест полос по округам передаёт убранный параметр rooms 2026-09-11 23:01:33 +00:00

Merged #3440 Москва: пред-геокод Авито, Яндекс третьей площадкой, продукт отвечает по региону 77 2026-09-11 22:30:12 +00:00

Merged #3445 fix(mera/estimate): убран предикат d.rooms в коридоре ДКП — он был вторым фильтром по площади (#3256) 2026-09-11 21:59:19 +00:00

Merged #3444 fix(mera/estimate): коннект БД не живёт через внешний HTTP; потолок пула ≥ суммы потолков одновременности (#3083, #3408) 2026-09-11 21:33:15 +00:00

Merged #3447 ci(#3274): гейт против возврата фронта в общую команду и снятия ретрая (часть 2b/3) 2026-09-11 20:56:41 +00:00

Merged #3446 fix(caddy): ретрай подключения к фронту МЕРЫ — остаток окна подмены (#3274, часть 2a/3) 2026-09-11 20:37:58 +00:00

Merged #3442 fix(deploy): подменять фронт МЕРЫ отдельной командой — окно простоя 30–90 с уходит (#3274, часть 1/2) 2026-09-11 20:21:53 +00:00

Merged #3441 fix(smoke): «ответа нет» ≠ «неверный код» — ретраи и честная формулировка в смоуке периметра МЕРА 2026-09-11 20:16:28 +00:00

Merged #3438 МЕРА B2C: микроразметка schema.org и картинки превью ссылок 2026-09-10 16:38:51 +00:00

Merged #3437 Версия согласия ПДн отстала от новой редакции политики — деплой МЕРЫ стоял, прод обновился наполовину 2026-09-10 14:49:23 +00:00

Merged #3436 МЕРА B2C: Яндекс.Метрика и GA4 + открытие сайта для поисковой индексации 2026-09-10 14:14:26 +00:00

Merged #3317 ЕЭСК: бинд-параметр в SQL-комментарии молча ронял все 71 UPDATE две недели 2026-09-09 22:05:39 +00:00

Merged #3318 [SECURITY] Caddy: голый IP по HTTP спрашивал пароль пилота открытым текстом 2026-09-09 21:49:10 +00:00

Merged #3435 fix(msk-collector): ретрай заливки батча на обрыве ssh 2026-09-09 07:25:17 +00:00

Merged #3434 fix(msk-collector): страница выдачи — 50 карточек, не 60 2026-09-09 07:00:15 +00:00

Merged #3433 fix(msk-collector): пересоздавать свою вкладку каждые 75 загрузок 2026-09-09 06:45:25 +00:00

Merged #3432 feat(tradein/geocoder): регион-параметризация геокодера — region_code в geocode()/known_city_hint, --region-code у скрипта сделок, region_code у geocode-missing (#3051) 2026-09-08 23:58:58 +00:00

Merged #3431 feat(tradein/estimator): deal_city_price_bands по ключу (region_code, city) — миграция 298, refresh per-region (#3051 sub-PR B) 2026-09-08 23:32:47 +00:00

Merged #3430 test(tradein): тесты трека «Москва» — импорт ДКП по 77, чекпоинт per-source, wildcard-хендлер, регион-скоуп коридора, миграция 289, deploy-скрипт (#3051) 2026-09-08 23:30:22 +00:00

Merged #3429 feat: bulk-дампы открытых данных ФНС по юрлицам + lookup по ИНН 2026-09-08 22:29:11 +00:00

Merged #3428 feat(mera): слой ДТП (dtp-stat/ГИБДД) в PostGIS + радиусные агрегаты 2026-09-08 22:10:57 +00:00

Merged #3427 feat(mera): макро-ряды ЦБ РФ — ипотека по субъектам и ключевая ставка 2026-09-08 21:49:00 +00:00

Merged #3426 feat(mera): загрузчик реестра МКД АИС ФРТ → обогащение houses 2026-09-08 21:41:25 +00:00

Merged #3425 fix(msk-collector): ограниченный ретрай goto на таймауте навигации 2026-09-08 20:53:35 +00:00

Merged #3424 fix(msk-collector): узкий ретрай page.content() на гонке перенавигации 2026-09-08 20:48:19 +00:00

Merged #3422 feat(tradein/rosreestr): импорт ДКП по Москве (77) — canonical_city, raw_payload, wildcard-расписание rosreestr_dkp_import_*, per-source чекпоинт (#3051) 2026-09-08 20:28:21 +00:00

Merged #3423 feat(tradein/estimator): регион-скоуп ДКП-коридора — фильтр по deals.region_code (#3051 PR-A) 2026-09-08 20:23:22 +00:00

Merged #3421 feat(#3051): deals.doc_type + регион и тип документа как параметры импорта Росреестра 2026-09-08 20:04:29 +00:00

Merged #3420 feat(#2989): локальный ручной сборщик SERP Авито по Москве и МО 2026-09-08 20:04:26 +00:00

Merged #3409 chore(tradein): последние обходы пула прокси — admin cian-login/domclick-debug через фабрику; снят костыль _PoolCurlConfig (#3197, #3386) 2026-09-07 11:04:08 +00:00

Merged #3407 fix(tradein/proxy): операции пула прокси уходят с event loop публичного /estimate — acurl_proxy_url через to_thread (#3398 п.1) 2026-09-06 11:55:10 +00:00

Merged #3406 fix(cian): капча видна в отчёте прогона (ban_kinds.platform по типу) и банит узел на curl-пути (#3402 follow-up) 2026-09-06 10:40:12 +00:00

Merged #3405 feat(tradein/proxy): прогон знает свой узел, а снятый бан перестаёт стирать историю (#3404) 2026-09-06 10:18:15 +00:00

Merged #3403 fix(cian): капча/страница ошибки Циана (HTTP 200) — отказ площадки в сайдкаре и kit, ротация аренды внутри батча (#3402) 2026-09-06 10:01:30 +00:00

Merged #3400 refactor(tradein): одна реализация scrape_runs — kit orchestration/runs.py, app-модуль = алиас; counters везде мержатся (#3390) 2026-09-06 08:11:53 +00:00

Merged #3399 fix(tradein/estimator): yandex/cian valuation в /estimate через пул прокси; честный лог при пустом пуле (#3398) 2026-09-06 07:06:48 +00:00

Merged #3397 fix(tradein/estimator): IMV-путь /estimate через пул прокси; пустой пул — честная деградация без IMV (#3386 п.в) 2026-09-06 06:04:08 +00:00

Merged #3396 fix(scraper-kit/cian): фаза houses cian_city_sweep через пул прокси + стоп на пустом пуле (#3394) 2026-09-06 05:53:38 +00:00

Merged #3395 fix(tradein): прогоны, оборванные деплоем (interrupted=1), невидимы лестницам стриков и honest-status-гейтам (#3393) 2026-09-06 05:53:25 +00:00

Merged #3392 fix(scraper-kit/scheduler): SIGTERM-drain помечает in-flight прогоны interrupted=1 при hard-cancel; честный лог drain'а (#3391) 2026-09-06 04:14:07 +00:00

Merged #3389 fix(tradein/yandex): newbuilding resolve/fetch_jk через пул прокси + стоп на пустом пуле (#3197, точки 2-3) 2026-09-06 02:24:45 +00:00

Merged #3388 fix(tradein): пустой пул на старте батча пишет no_proxy_stop у cian/domclick/avito detail-бэкфиллов (#3384) 2026-09-06 02:24:38 +00:00

Merged #3383 fix(tradein): гейт против сдвига разряда (×10) в offer_price_history у всех писателей + миграция 286 (#3376) 2026-09-06 00:19:34 +00:00

Merged #3387 fix(tradein/compose): USE_PROXY_POOL_CURL/BROWSER и сервису backend — не только scraper (#3386) 2026-09-05 22:30:41 +00:00

Merged #3382 fix(tradein/cian): cian_history_backfill идёт через пул прокси + стоп на пустом пуле (#3197, точка 1 из 3) 2026-09-05 22:13:09 +00:00

Merged #3378 fix(scraper-kit/yandex): full-load on_bucket отдаёт список лотов бакета, а не int (#3375) 2026-09-05 21:46:35 +00:00

Merged #3379 fix(browser-sidecar): бан-страница площадки отдаётся 403, а не 500 (#3288 п.C) 2026-09-05 21:46:29 +00:00

Merged #3381 fix(deploy-metrics): пересоздавать alloy после выката конфига + гейт по иноду (#3380) 2026-09-05 21:17:53 +00:00

Merged #3377 fix(ops/alloy): второй слой маскировки query-секретов на сборщике логов (apps + infra) — defence-in-depth к #3353 2026-09-05 20:53:43 +00:00

Merged #3371 fix(tradein/rbac): аноним на admin-префиксе получает единый 404 — существование admin-ручек снаружи не перебирается 2026-09-05 20:32:06 +00:00

Merged #3373 fix(scraper-kit): yandex _leaf под CAP не пишется в done-леджер как complete — capped_buckets отдельным счётчиком 2026-09-05 20:22:50 +00:00

Merged #3372 fix(scraper-kit): domclick city sweep — done_buckets во всех семи выходах, а не только в дрейне и одном бане 2026-09-05 20:19:45 +00:00

Merged #3370 fix(tradein/domklik): diff_percent — проценты из соседних price_rub вместо рублей источника, гейт отвергает |x|>100, миграция 285 пересчитывает историю 2026-09-05 20:14:18 +00:00

Merged #3374 chore(smoke): периметр-смоук бьёт в реальный роут истории — /api/v1/trade-in/history, а не в несуществующий /api/v1/history 2026-09-05 20:08:03 +00:00

Merged #3367 fix(tradein/avito): брейкер добора считает долю только по отказам площадки — сайдкар/пустой пул не рвут прогон и не красят его banned 2026-09-05 19:38:48 +00:00

Merged #3363 fix(scraper-kit): дрейн-метка interrupted=1 у domclick sweep и трёх full-load — резюм после SIGTERM для всех функций с чекпоинтом 2026-09-05 19:28:25 +00:00

Merged #3364 fix(tradein/yandex): недорендеренная карточка — отказ, не успех: структурный маркер encryptedPhones + порог размера, карточка остаётся в очереди 2026-09-05 19:21:06 +00:00

Merged #3362 fix(scraper-kit): containment до пробы у cian и yandex — резюм full-load не пере-пробивает готовые полосы 2026-09-05 19:19:32 +00:00

Merged #3361 fix(tradein/payments): отказ банка на Init не блокирует покупателя на 30 минут — мёртвая попытка уходит из предиката живого платежа 2026-09-05 19:19:01 +00:00

Merged #3365 fix(scraper-kit): свежесть источника — по последнему прогону, принёсшему данные, а не по статусу done 2026-09-05 19:10:14 +00:00

Merged #3357 fix(scraper-kit): бан площадки не гасит здоровье узла для всех источников — report_ban по паре узел×источник вместо mark_health(ok=False) 2026-09-05 18:36:30 +00:00

Merged #3356 fix(tradein/domclick): дом-поля карточки → houses, backfill total_units/material_* из raw_payload (миграция 284) 2026-09-05 18:26:19 +00:00

Merged #3351 fix(scraper-kit): пропуск по куке двигает next_run_at на interval_minutes, а не на случайный час завтра 2026-09-05 18:22:42 +00:00

Merged #3352 fix(tradein/rbac): 401-оракул закрыт — несуществующий путь под публичным префиксом отвечает так же, как любой другой мусор 2026-09-05 18:19:29 +00:00

Merged #3358 fix(scraper-kit): резюм exhaustive не пере-пробивает готовые полосы — containment по done-леджеру до пробы, 17 911 запросов → 0 2026-09-05 18:17:02 +00:00

Merged #3350 test(tradein/auth): флаки-замер «< 500 мс» заменён проверкой механизма — bcrypt обязан исполняться вне потока event loop 2026-09-05 18:14:40 +00:00

Merged #3347 fix(tradein/backfill): save-False у yandex/avito больше не теряет попытку — attempted == сумма исходов у всех трёх бэкфиллов 2026-09-05 18:14:08 +00:00

Merged #3353 fix(tradein): секрет вебхука GlitchTip не попадает в access-log — скруббер query-секретов + приём из заголовка 2026-09-05 18:13:00 +00:00

Merged #3349 fix(tradein/front): число оценочной модели площадки подписано «рынок из N объявлений — в расчёт не входит» при тонком рынке 2026-09-05 18:12:42 +00:00

Merged #3348 fix(caddy): окно деплоя — 503 «Сервис обновляется» с Retry-After вместо голого 502 на публичных путях МЕРЫ 2026-09-05 18:12:37 +00:00

Merged #3346 fix(scraper-kit): метка дрейна interrupted=1 во всех city-свипах — yandex/cian/newbuilding больше не объявляют недоделанный обход готовым 2026-09-05 18:03:05 +00:00

Merged #3336 fix(tradein/estimator): thin-market гейт IMV перестаёт быть витринным — рынок из 1 объявления больше не двигает headline и range_high 2026-09-05 17:49:30 +00:00

Merged #3331 fix(tradein/auth): единый источник ролей — БД first, YAML только legacy-fallback (закрывает эскалацию до admin и 403 своим) 2026-09-05 17:37:38 +00:00

Merged #3335 fix(tradein/domclick): обрыв «пул пуст» и save-False больше не теряют попытку — attempted == сумма исходов 2026-09-05 17:36:55 +00:00

Merged #3330 fix(scraper-kit): чекпоинт avito_city_sweep доживает до финализатора — 0/67 прогонов писали done_buckets 2026-09-05 17:36:51 +00:00

Merged #3345 fix(mera-public): подписи метрик снижения цены и бенчмарк отчёта не называют площадку 2026-09-04 08:36:47 +00:00

Merged #3344 fix(tradein/pdf): клиентский PDF не называет площадки-источники — «Источник N», как в веб-отчёте (#3341) 2026-09-03 09:04:52 +00:00

Merged #3342 fix(mera-public): публичная копия — сервис не называет себя оценщиком, площадки-источники не названы 2026-09-03 06:57:12 +00:00

Merged #3340 fix(caddy): периметр МЕРЫ — секрет убран из анонимного пути, чанки закрытого контура не раздаются с meraocenka 2026-09-02 12:48:52 +00:00

Merged #3337 fix(mera-public): честный текст покрытия и разные квартиры в раундах игры 2026-09-02 12:46:06 +00:00

Merged #3334 fix(deploy): гейт деплоя ПТИЦЫ — мёртвый worker/beat/frontend больше не уезжает зелёным 2026-09-02 12:17:33 +00:00

Merged #3329 fix(site_finder): Россети — стабильный ключ вместо сессионного fid, дедуп power_supply_centers ×10 → ~481 2026-09-02 10:10:30 +00:00

Merged #3328 fix(tradein-v2): пустая выборка сделок больше не рисуется нулями — «0,00 млн · −100%» зелёным исчезает 2026-09-02 10:00:49 +00:00

Merged #3327 fix(mera-public): этаж и состояние переживают переход на /estimate 2026-09-02 09:48:52 +00:00

Merged #3326 v2: бейдж «Мои отчёты» показывает «использовано / доступно» — остаток квоты был не виден нигде 2026-09-02 07:28:24 +00:00

Merged #3325 auth: тестовый аккаунт buyer1 (pilot) для потенциального покупателя 2026-09-02 07:25:29 +00:00

Merged #3314 imv: HTTP 429 больше не приговаривает дом навечно 2026-09-01 16:27:55 +00:00

Merged #3313 feat(tradein/avito): бан площадки не менял IP — прогон добивался в тот же забаненный адрес (#3283) 2026-09-01 08:05:49 +00:00

Merged #3308 feat(tradein/browser): имитация чтения страницы человеком, целиком opt-in (#3283) 2026-09-01 07:34:50 +00:00

Merged #3309 fix(tradein/support): один повтор терял каждое одиннадцатое сообщение в поддержку 2026-09-01 07:00:21 +00:00

Merged #3306 fix(tradein/browser): снятый PoW-челлендж отдавался с протухшим статусом, и карточка выбрасывалась (#3283) 2026-08-31 14:54:00 +00:00

Merged #3305 fix(tradein/proxy): успешный fetch затирал exit_ip и latency_ms в NULL (#3283) 2026-08-31 14:53:34 +00:00

Merged #3304 fix(tradein/avito): бан-страница площадки уезжала в транспортные сбои и не банила узел (#3283) 2026-08-31 14:53:18 +00:00

Merged #3302 feat(tradein/avito): ротация exit-IP по счётчику попыток в доборе карточек 2026-08-31 12:09:04 +00:00

Merged #3303 fix(tradein/proxy_pool): истёкший прокси больше не выдаётся в аренду 2026-08-31 11:54:55 +00:00

Merged #3301 chore(tradein/scheduler): добор карточек Яндекса и Циана шёл раз в сутки и простаивал 2026-08-31 11:36:25 +00:00

Merged #3300 fix(tradein/avito): browser-путь добора не смотрел на HTTP-статус — отказ площадки уходил в ошибку парсинга (#3297) 2026-08-31 11:36:20 +00:00

Merged #3298 feat(tradein/proxy_rotation): ротация IP через mobileproxy.space (aproxy.site) 2026-08-31 11:01:42 +00:00

Merged #3292 лендинг: типографский ритм и мобильные отступы — подача без новых обещаний 2026-08-31 09:33:00 +00:00

Merged #3293 первый экран: оговорки вынесены из блока преимуществ 2026-08-31 09:30:52 +00:00

Merged #3296 липкая панель прячется, пока герой в кадре 2026-08-31 09:28:16 +00:00

Merged #3290 лендинг: пятая плитка падала на вторую строку, столбец «Расхождение» читался пустым 2026-08-31 09:26:35 +00:00

Merged #3295 числа лендинга: покрытие 88 % было выше всего диапазона представительных пересборок 2026-08-31 09:26:29 +00:00

Merged #3291 витрина: строка без улицы больше не открывает страницу и игру 2026-08-31 09:14:50 +00:00

Merged #3289 бэктест: выборка вразброс — ORDER BY id DESC садится на несколько улиц 2026-08-31 09:14:42 +00:00

Merged #3294 «Для бизнеса» вела на форму входа — заведена страница /business 2026-08-31 09:14:35 +00:00

Merged #3282 P1: лендинг отдавался без витрины — имя сервиса двоится между продуктами 2026-08-31 09:10:10 +00:00

Merged #3287 fix(tradein/domclick): бан сайдкара наследуется от httpx-ошибки и уезжал в транспортные сбои (#3283) 2026-08-30 20:25:24 +00:00

Merged #3286 fix(tradein/domclick): таймаут сайдкара и пустой пул считались отказами площадки (#3283) 2026-08-30 13:42:11 +00:00

Merged #3285 feat(tradein/cian): у Циана не было добора карточек — только побочный эффект задачи про историю (#3284) 2026-08-30 12:41:37 +00:00

Merged #3281 контраст: 32 → 2 → 0, проверено на живой странице; сторож теперь ловит выбор токена, а не только его значение 2026-08-30 10:54:59 +00:00

Merged #3275 #3194: ключ шифрования кук и сами куки больше не уезжают в GlitchTip 2026-08-30 10:42:01 +00:00

Merged #3279 лендинг: этаж перестал теряться на переходе к проверке 2026-08-30 10:33:35 +00:00

Merged #3278 тикер: разброс показанных строк под лентой — она больше не опровергает заголовок 2026-08-30 10:22:52 +00:00

Merged #3277 лендинг: 32 нарушения контраста WCAG AA — затемнены токены, поставлен сторож 2026-08-30 10:15:15 +00:00

Merged #3276 подсказки адреса: пустые части адреса выпадают, а не печатаются 2026-08-30 10:13:02 +00:00

Merged #3273 лендинг: имя боевого сервера убрано из пользовательской копии + гейт 2026-08-30 10:12:56 +00:00

Merged #3269 витрина: разброс показанных строк рядом с медианой всей сверки 2026-08-30 09:19:33 +00:00

Merged #3268 fix(tradein/domclick): «система защиты от протечек» в объявлении читалась как блок QRATOR 2026-08-30 09:14:18 +00:00

Merged #3271 test(tradein): гонка на sleep(0.05) вешала тест потолка оценок на 120с (#3270) 2026-08-30 09:08:40 +00:00

Merged #3267 fix(tradein/avito): браузерный путь ходил на каждую карточку холодным (#3251) 2026-08-30 08:55:34 +00:00

Merged #3266 fix(tradein/domclick): свип брал BFF навигацией браузера — теперь подзапросом (#3264) 2026-08-30 08:32:52 +00:00

Merged #3265 fix(tradein/domclick): свип ходил на QRATOR без кук и вис на PoW каждым запросом (#3264) 2026-08-30 07:02:01 +00:00

Merged #3262 fix(tradein/browser): куки клались на поддомен и вечно держали QRATOR-загрузчик (#3261) 2026-08-29 22:53:21 +00:00

Merged #3260 fix(tradein/browser): переход с Яндекса на площадку должен быть настоящим, а не заявленным 2026-08-29 20:44:26 +00:00

Merged #3259 feat(mera/estimate): предзаполнять этажность, год и тип дома из справочника (UI) 2026-08-29 20:39:27 +00:00

Merged #3257 feat(mera/estimate): ручка фактов дома для предзаполнения формы + гейт «этаж не выше дома» 2026-08-29 20:34:01 +00:00

Merged #3258 feat(tradein/browser): на выдачу площадки заходить через настоящий поиск Яндекса, а не голым goto 2026-08-29 20:28:50 +00:00

Merged #3255 fix(mera/estimate): перефит хедоники поверх area-бакетного ratio — крупное жильё занижалось на 21% 2026-08-29 20:19:27 +00:00

Merged #3254 fix(mera/backtest): свежая фикстура не реплеилась, а разрез по сегментам врал по построению 2026-08-29 20:11:12 +00:00

Merged #3250 feat(tradein/browser): ходить по Домклику как человек — с Referer и с перезагрузкой зависшего рукопожатия 2026-08-29 19:59:13 +00:00

Merged #3249 docs(mera/estimate): сегментные множители откалиброваны на артефакте измерения — предупреждение в конфиге 2026-08-29 19:55:42 +00:00

Merged #3247 fix(mera/b2c): восемь находок финального аудита прода — включая три моих собственных 2026-08-29 19:23:45 +00:00

Merged #3245 feat(mera/b2c): настоящая карта улицы в карточке игры + мобильный лэндинг перестал съедать 45% экрана 2026-08-29 18:45:23 +00:00

Merged #3244 perf(tradein/browser): якорная вкладка выдачи вместо переоткрытия origin на каждую карточку 2026-08-29 18:29:42 +00:00

Merged #3243 feat(mera/b2c): витрина лэндинга переезжает с выдуманных чисел на замеренные 2026-08-29 18:25:20 +00:00

Merged #3242 feat(mera/estimate): характеристики дома из справочника, а не только из формы 2026-08-29 18:06:18 +00:00

Merged #3241 fix(tradein/domclick): подтверждённый отказ площадки уехал в ветку «сбой транспорта» и перестал банить узел 2026-08-29 16:18:51 +00:00

Merged #3240 docs(tradein/domclick): два комментария описывали пул, которого нет с миграции 253 2026-08-29 16:13:54 +00:00

Merged #3238 fix(smoke): периметр требовал 401 от вебхука, который PR-D3 открыл намеренно 2026-08-29 15:51:08 +00:00

Merged #3235 chore(site-finder): удалить мёртвый код — 14 неиспользуемых символов 2026-08-29 15:39:11 +00:00

Merged #3237 fix(tradein/domclick): мы считали блоком собственное недоделанное рукопожатие 2026-08-29 15:38:06 +00:00

Merged #3236 feat(mera/b2c): новый дизайн становится корнем meraocenka.ru, функционал старого перенесён 2026-08-29 15:32:37 +00:00

Merged #3233 fix(mera/b2c): выключенная ручка расчёта подтверждала своё существование и печатала схему 2026-08-29 15:31:27 +00:00

Merged #3226 fix(mera/v2): форма принимала этаж больше этажности дома 2026-08-29 15:19:25 +00:00

Merged #3231 feat(mera/b2c): платёжный роутер, статус-машина и доставка купленного (за флагом) 2026-08-29 15:08:34 +00:00

Merged #3232 chore(tradein): две ручки ротации без читателей и врущий комментарий над ними 2026-08-29 14:57:41 +00:00

Merged #3224 chore(tradein): четыре символа, на которые нет ни одной ссылки 2026-08-29 14:57:29 +00:00

Merged #3230 feat(mera/b2c): анонимный расчёт и повторное чтение результата по токену (за флагом) 2026-08-29 14:37:21 +00:00

Merged #3229 feat(mera/b2c): лента сделок и раунды игры — из реальных сделок с реальным прогнозом 2026-08-29 14:27:26 +00:00

Merged #3228 feat(mera/b2c): метрики лэндинга считаются по проду, а не лежат литералами 2026-08-29 14:18:32 +00:00

Merged #3227 fix(gendesign): FDW-роль не могла читать районы ЕКБ — витрина сделок МЕРЫ теряла район 2026-08-29 14:15:47 +00:00

Merged #3223 feat(mera/b2c): раздел статей и хаб документов (макет 29.08) + числа статьи заменены на замер 2026-08-29 12:56:44 +00:00

Merged #3222 fix(tradein/domclick): detail-бэкфилл ходил в сайдкар мимо прокси-пула (#3197 ч.1) 2026-08-29 12:46:43 +00:00

Merged #3221 feat(mera/b2c): результат проверки в облике отчёта (макет 29.08 «МЕРА отчёт») 2026-08-29 11:38:26 +00:00

Merged #3214 chore(ci): node 20 отслужил — рантайм фронтов и оба CI-джоба на node 24 LTS 2026-08-29 11:29:13 +00:00

Merged #3218 chore(deps/site-finder): vitest 2 → 3 — заодно уходит вся dev-цепочка vite/esbuild 2026-08-29 11:20:59 +00:00

Merged #3213 chore(deps): три места, где сборка не воспроизводится — лок-призрак, глоб и неприпинованный сайдкар 2026-08-29 11:20:58 +00:00

Merged #3217 fix(tradein/domclick): перезапуск браузера на карточку уничтожал пропуск QRATOR (#3212) 2026-08-29 11:16:40 +00:00

Merged #3216 chore(deps/mera): vitest 2 → 3 — заодно уходит вся dev-цепочка vite/esbuild 2026-08-29 11:11:20 +00:00

Merged #3215 feat(mera/b2c): лэндинг v3 доведён до макета 29.08 — лента, игра, два пути, возражения, статьи 2026-08-29 11:10:20 +00:00

Merged #3211 fix(deps/mera): 6 уязвимых пакетов во фронт-локе — пересборка без правки package.json 2026-08-29 11:04:30 +00:00

Merged #3210 fix(deps/site-finder): 19 уязвимых пакетов во фронт-локе — пересборка без правки package.json 2026-08-29 10:55:26 +00:00

Merged #3207 fix(deps/site-finder): 53 advisory в backend/uv.lock — точечный апгрейд восьми пакетов 2026-08-29 10:54:57 +00:00

Merged #3209 feat(glitchtip): включить встроенный MCP-сервер образа 6.1.6 2026-08-29 10:50:24 +00:00

Merged #3206 fix(tradein/domclick): одна карточка на процесс браузера — перезапускать camoufox после каждой страницы (#3205) 2026-08-29 10:16:56 +00:00

Merged #3204 fix(tradein/domclick): 401 — тот же отказ площадки, что 403, а классифицировался как unknown (#3196) 2026-08-29 09:27:36 +00:00

Merged #3203 chore(rules): убрать осиротевшие после PR #3198 ветки bot-pipeline 2026-08-29 09:08:34 +00:00

Merged #3201 fix(tradein/scrapers): ABORT-лог называл серию блоков, хотя рвал прогон по доле 2026-08-28 20:27:37 +00:00

Merged #3202 fix(tradein/scrapers): диагноз блока из HTTP-статуса, а не из маркеров чужой площадки (#3196) 2026-08-28 20:25:41 +00:00

Merged #3200 docs(tradein/scrapers): в репозитории лежало опровергнутое обоснование хранилища сессий Яндекса 2026-08-28 19:58:52 +00:00

Merged #3199 fix(tradein/browser): дефолт block_images для avito вернулся к True — гипотеза не подтвердилась 2026-08-28 19:47:16 +00:00

Merged #3198 chore(claude): retire autonomous bot-pipeline 2026-08-28 19:41:41 +00:00

Merged #3193 fix(tradein/domclick): каждый запрос получал чистый браузерный контекст, куки реплеились протухшими (#3190) 2026-08-28 19:02:32 +00:00

Merged #3195 feat(tradein/scrapers): хранилище авторизованной сессии Яндекс.Недвижимости 2026-08-28 19:02:06 +00:00

Merged #3188 fix(tradein/scrapers): обрыв по серии блоков рвал каждый прогон, включая здоровые 2026-08-28 18:22:26 +00:00

Merged #3186 fix(tradein/browser): сайдкар безусловно резал картинки, а camoufox предупреждал, что за это ловят WAF 2026-08-28 17:51:36 +00:00

Merged #3183 fix(tradein/scrapers): диагноз блока терялся при схлопывании, а в алерт шла непроверенная причина 2026-08-28 17:15:03 +00:00

Merged #3176 fix(tradein/ingest): rosreestr_dkp_import курсор переживает рестарт (#3168) 2026-08-28 07:43:17 +00:00

Merged #3174 fix(tradein/domclick): исчерпание пула прокси помечалось как отказ сбора (#3118) 2026-08-27 22:03:57 +00:00

Merged #3173 fix(tradein/yandex): чекпоинт combo ставился до save_listings, не после (#3170) 2026-08-27 21:59:39 +00:00

Merged #3169 feat(tradein/scraper): чекпоинты для avito_newbuilding_sweep — страница как единица (#3074) 2026-08-27 21:31:53 +00:00

Merged #3167 fix(ops/metrics): тема «метрики» задаётся дефолтом, а не ручным заведением секрета 2026-08-27 19:47:29 +00:00

Merged #3165 feat(ops/metrics): инфра-алерты уезжают в тему «метрики», клиенты остаются в «алертах» 2026-08-27 19:09:35 +00:00

Merged #3166 fix(tradein/tgbot): в логе сетевого сбоя не было причины — только пустота после двоеточия 2026-08-27 19:05:47 +00:00

Merged #3162 fix(ops/metrics): Alertmanager отвечал 404 на /api/v2/alerts — Prometheus писал мимо 2026-08-27 18:17:49 +00:00

Merged #3160 fix(ops/metrics): Prometheus не видел ни одного Alertmanager — цель file_sd осталась пустой 2026-08-27 18:12:11 +00:00

Merged #3153 fix(frontend): нейтральный fallback ещё в 4 enum-lookup-местах (#2452) 2026-08-27 16:39:09 +00:00

Merged #3152 fix(tradein/geocode): бюджет прогона проверяется внутри батча (#3151) 2026-08-27 16:16:32 +00:00

Merged #3150 ci(tradein): гейт невалидных индексов в CI (#2990) 2026-08-27 15:54:44 +00:00

Merged #3149 fix(tradein/scrapers): три прод-пути остались на chrome120, пока kit ушёл на chrome146 2026-08-27 15:29:52 +00:00

Merged #3146 feat(ops): off-box копия рантайм-конфига — зашифрованной, иначе никак 2026-08-27 14:00:46 +00:00

Merged #3145 fix(tradein/avito): браузерный бэкфилл ходил мимо пула прокси 2026-08-27 13:22:05 +00:00

Merged #3144 fix(ops/metrics): postgres-exporter печатал пароль БД в лог при каждой ошибке 2026-08-27 13:15:01 +00:00

Merged #3143 fix(tradein/avito): повтор после блока терял прокси и уходил с адреса машины 2026-08-27 12:40:12 +00:00

Merged #3142 fix(ops/metrics): правки конфига Alertmanager молча не доезжали до контейнера 2026-08-27 12:29:55 +00:00

Merged #3141 chore(ops): restore-дрель для базы tradein — она не покрывалась вовсе 2026-08-27 12:00:57 +00:00

Merged #3140 feat(tradein/domclick): чекпоинты для city_sweep — корзина как единица возобновления (#3118) 2026-08-27 12:00:31 +00:00

Merged #3136 feat(observability): кнопка «Принял в работу» под клиентским инцидентом (#3078) 2026-08-27 11:58:42 +00:00

Merged #3139 fix(mera/v2): плашка версии лежала на главной кнопке и съедала клик 2026-08-27 11:38:41 +00:00

Merged #3138 fix(mera/b2c): подсказка дублировала адрес, а числа в результате спорили 2026-08-27 11:33:37 +00:00

Merged #3137 fix(mera/perimeter): www-формы доменов МЕРА обрывали TLS вместо редиректа 2026-08-27 11:18:29 +00:00

Merged #3135 fix(observability): cadvisor перестаёт сканировать overlay-слои — упирался в лимит памяти 2026-08-27 10:53:32 +00:00

Merged #3134 fix(observability): healthcheck Alertmanager стучится по правильному пути — контейнер был вечно unhealthy 2026-08-27 10:53:27 +00:00

Merged #3133 fix(tradein): срок жизни оценки 24ч → 720ч — отчёты исчезали раньше, чем ими успевали воспользоваться 2026-08-27 10:51:16 +00:00

Merged #3132 fix(tradein/auth): лимит попыток входа 5 → 20 на адрес — офис за одним NAT запирал сам себя 2026-08-27 10:51:11 +00:00

Merged #3131 fix(mera/ui): карта перестала перекрывать интерфейс, страница помещается в окно 2026-08-27 10:51:04 +00:00

Merged #3129 fix(ops): оповещения уходят в тему «алерты», а не в переговорку (#2203) 2026-08-27 10:50:57 +00:00

Merged #3128 feat(observability): клиентский инцидент зовёт дежурного поимённо + чинит сломанное продолжение команды (#3078) 2026-08-27 10:50:51 +00:00

Merged #3130 feat(tradein/db): дроп дублирующего listings_geom_idx (#2997) 2026-08-27 10:47:31 +00:00

Merged #3127 fix(observability): конфиг Alertmanager читается контейнером — гейт падал на своих же правах (#3078) 2026-08-27 10:01:38 +00:00

Merged #3125 feat(ops): сторож расхождения «прод ↔ main» — недоехавший деплой перестаёт быть молчаливым (#3029) 2026-08-27 09:55:04 +00:00

Merged #3126 feat(observability): токен алертов приходит из секретов Actions, а не только с машины (#3078) 2026-08-27 09:53:57 +00:00

Merged #3124 fix(tradein/scheduler): boot-reap виден и при нуле (#3122) 2026-08-27 09:39:06 +00:00

Merged #3123 feat(tradein/scheduler): boot-reap — прогоны предыдущего контейнера снимаются на старте (#3122) 2026-08-27 09:23:44 +00:00

Merged #3121 feat(tradein/matching): region_code у houses — вывод, а не выдумка (#3051 п.4) 2026-08-27 09:01:09 +00:00

Merged #3120 chore(ops): адрес Poincare — 188.124.37.140 вместо заменённого 188.246.224.93 (#3110) 2026-08-27 08:45:24 +00:00

Merged #3116 feat(tradein/geo): реестр регионов — единственный источник гео-границ (#3051, шард 1a) 2026-08-26 15:24:00 +00:00

Merged #3117 feat(tradein/scraper): чекпоинт по якорям для cian_city_sweep (#3074) 2026-08-26 14:28:16 +00:00

Merged #3115 fix(observability): пароли БД не уезжают в Loki — скруббер учётных данных в Alloy (#3114) 2026-08-26 13:44:18 +00:00

Merged #2661 fix(tradein/estimate): фильтр свежести в якоре дома и знаменателе коэффициента выкупа (#2656) 2026-08-26 13:31:53 +00:00

Merged #3113 fix(observability): у Grafana остаётся один вход — внешний basic_auth снят с витрины (#3078) 2026-08-26 12:25:42 +00:00

Merged #3112 feat(tradein/scraper): чекпоинт по якорям для avito_city_sweep (#3074) 2026-08-26 12:03:08 +00:00

Merged #3111 feat(observability): алерты адресуются в топик форумной группы + проверка конфига до подъёма (#3078) 2026-08-26 11:15:55 +00:00

Merged #3109 fix(observability): cAdvisor 0.55.1 — 0.52 не видит контейнеры на Docker 29 2026-08-26 10:41:26 +00:00

Merged #3108 fix(observability): контейнерные метрики терялись целиком + два хвоста стека 2026-08-26 10:18:11 +00:00

Merged #3107 chore(hooks): точечный allowlist на три ключа метрик вместо снятия гарда 2026-08-26 10:18:00 +00:00

Merged #3106 fix(observability): агент не падает из-за переменной чужой роли + DSN экспортеров собираются (#3078) 2026-08-26 09:50:42 +00:00

Merged #3105 fix(observability): стек не поднимался — привилегированную роль спрашиваем у контейнера, а не угадываем (#3078) 2026-08-26 09:27:30 +00:00

Merged #3104 ci(caddy): гард — import обязан быть покрыт volume-маунтом 2026-08-26 09:27:10 +00:00

Merged #3103 fix(caddy): смонтировать сниппеты метрик — без них Caddy валит ВЕСЬ прод 2026-08-26 09:04:07 +00:00

Merged #3102 feat(observability): /metrics в обоих бэкендах — счётчики, задержка, дашборд приложений 2026-08-26 08:54:56 +00:00

Merged #3099 feat(observability): стек метрик и логов — Prometheus, Loki, Grafana на Beget, агенты на обоих хостах 2026-08-26 08:25:24 +00:00

Merged #3101 fix(mera/ui): карточка прогресса перестала выдумывать стадии (#3081, вариант A) 2026-08-26 08:01:57 +00:00

Merged #3100 feat(tradein/yandex): is_pro_seller из агентского блока + бэкфилл (#3063 п.2) 2026-08-26 07:55:38 +00:00

Merged #3098 feat(tradein): чекпоинты #3074 — наследование при claim + yandex_city_sweep 2026-08-26 07:49:29 +00:00

Merged #3097 feat(tradein/estimate): потолок одновременных оценок — 4 слота, быстрый 429 (#3082) 2026-08-26 07:36:38 +00:00

Merged #3096 fix(tradein/observability): результат detail-бэкфиллов доезжает до total_seen (#3044) 2026-08-26 07:30:23 +00:00

Merged #3095 fix(ops): алерт не теряется от одного сетевого отказа — ретрай в обеих notify() (#3059) 2026-08-26 07:30:06 +00:00

Merged #3093 fix(tradein/deploy): подключить selectel-оверрайд — иначе после переезда бот умрёт молча 2026-08-25 16:39:41 +00:00

Merged #2546 feat(mera/b2c): анти-абуз для анонимного трафика — этап 2 из 8 2026-08-25 16:27:03 +00:00

Merged #3092 fix(ops): страж повторной заливки перестал молча пропускаться 2026-08-25 06:44:42 +00:00

Merged #3091 chore(ops): backup-couchdb.sh исполняемый, как остальные бэкапы 2026-08-25 05:48:42 +00:00

Merged #3090 feat(ops): у волта Obsidian появился автоматический бэкап 2026-08-25 05:44:17 +00:00

Merged #3089 fix(ops): восстановление не падает в хвосте из-за незаведённых ролей 2026-08-25 05:18:54 +00:00

Merged #3088 fix(caddy): разделение сайтов по хостам доходит до контейнера 2026-08-24 21:44:14 +00:00

Merged #3087 fix(ci): стек CouchDB после переезда остаётся на своём хосте 2026-08-24 17:58:57 +00:00

Merged #3086 fix(ops): бэкап без выгрузки в S3 падает, а не рапортует успех 2026-08-24 17:50:19 +00:00

Merged #3084 chore(ci): деплой не убивает worker посреди скрап-прогона (заплатка до #3074) 2026-08-24 17:25:23 +00:00

Merged #3079 feat(ci): деплой проверяет, к тому ли хосту подключился 2026-08-24 16:36:51 +00:00

Merged #3080 feat(ops): лёгкий Postgres на Beget под forgejo и glitchtip (вариант А) 2026-08-24 16:31:13 +00:00

Merged #3076 feat(tradein/domklik): ЖК в свою колонку вместо только raw_payload 2026-08-24 16:04:25 +00:00

Merged #3077 docs(delegation): бюджет пишется в промпт сабагента, а не держится в голове 2026-08-24 16:02:01 +00:00

Merged #3066 feat(tradein/deactivate-stale): страховочные рельсы объёма снятия (PR-B) 2026-08-24 08:44:33 +00:00

Merged #3073 feat(ops): бэкапить конфигурацию Forgejo, а не только его содержимое 2026-08-24 03:49:58 +00:00

Merged #3072 chore(ops): развести crontab по хостам под переезд 2026-08-24 02:04:40 +00:00

Merged #3071 chore(ci): синхронизировать /opt/gendesign на остающемся хосте 2026-08-24 00:51:51 +00:00

Merged #3070 feat(ops): запасной канал алертов на случай недоступного Telegram 2026-08-23 23:55:41 +00:00

Merged #3069 fix(tests): объявить два живых теста #3063 в skip_allowlist — main красный, деплой встал 2026-08-23 22:14:50 +00:00

Merged #3062 refactor(caddy): разделить site-блоки по хостам под переезд 2026-08-23 21:52:48 +00:00

Merged #3067 fix(scraper-kit): бедный re-scrape больше не стирает признаки продавца 2026-08-23 21:52:38 +00:00

Merged #3068 feat(tradein/domklik): пробросить isRosreestrApproved в колонку 2026-08-23 21:49:44 +00:00

Merged #3065 fix(avito): считать HTTP 439 блокировкой, а не концом выдачи 2026-08-23 21:49:36 +00:00

Merged #3060 fix(ops): закрепить рабочий адрес api.telegram.org на новом хосте 2026-08-23 20:41:22 +00:00

Merged #3058 chore(compose): параметризовать ресурсы postgres под переезд на новый хост 2026-08-23 16:16:39 +00:00

Merged #3056 fix(tradein/deactivate-stale): пол переобхода — LATERAL вместо equality-join по дате 2026-08-23 14:37:24 +00:00

Merged #3055 feat(tradein/estimate): внешние оценки не ждутся в запросе — 9 секунд превращаются в 1 2026-08-22 12:58:04 +00:00

Merged #3054 fix(tradein/avito): бэкфилл простаивал 23 часа из 24 — каденс был суточным 2026-08-22 12:03:40 +00:00

Merged #3050 chore(ops): скрипты аудита и первичной настройки выделенного сервера Selectel 2026-08-22 11:53:34 +00:00

Merged #3049 fix(tradein/avito): detail_backfill ходил curl'ом, который не решает PoW-челлендж 2026-08-21 22:51:35 +00:00

Merged #3048 fix(tradein/avito): парсер карточки читал только первый блок параметров — параметры дома терялись молча 2026-08-21 20:54:36 +00:00

Merged #3038 fix(tradein/scraper-kit): актуализация отпечатка Авито — impersonate, Sec-Fetch-Site, referer, проверка антибот-кук 2026-08-21 20:45:26 +00:00

Merged #3025 ops(backup): missed-run detection + Forgejo code/DB backup to S3 2026-08-21 17:12:04 +00:00

Merged #3026 fix(ops): дрилл восстановления ждал БД по сокету и умирал на старте настоящего сервера 2026-08-21 17:12:00 +00:00

Merged #3046 fix(tradein/browser): дожидаться QRATOR PoW-челленджа Авито вместо тихой заглушки 2026-08-21 17:01:25 +00:00

Merged #3042 feat(tradein/avito): путь вторички для якорного и citywide-обхода (#3033, follow-up) 2026-08-21 15:33:23 +00:00

Merged #3040 feat(tradein/avito): house-поля с детальной страницы доезжают в houses (#3036) 2026-08-21 14:48:36 +00:00

Merged #3041 fix(tradein/avito): страница SERP отдаёт 60 карточек, а не 50 — лишние 17% запросов 2026-08-21 14:46:33 +00:00

Merged #3039 feat(tradein/avito): полный обход качает вторичку родным фильтром пути (#3033) 2026-08-21 14:22:48 +00:00

Merged #3011 fix(db/ci): чистый старт БД не падает на 077 и не может уехать на пустой схеме 2026-08-21 12:55:49 +00:00

Merged #3024 feat(tradein/v2): позиция квартиры на рынке — плашка на карточке рекомендованной цены (#2899) 2026-08-21 12:34:08 +00:00

Merged #3023 fix(ci): деплой падает громко, если :latest отстаёт от головы по компоненту (#2950) 2026-08-21 12:19:08 +00:00

Merged #3022 chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) 2026-08-21 12:01:53 +00:00

Merged #3021 chore(tooling): pre-commit, pyproject и uv.lock — один ruff 0.15.20 (#2864) 2026-08-21 11:37:24 +00:00

Merged #3019 fix(ops): бэкапы — +x на deploy-скриптах при деплое tradein, тихий s3 cp (#3005) 2026-08-21 10:35:11 +00:00

Merged #3018 fix(best-layouts): avg_area_m2 = NULL вместо 0 при пустом окне сделок (#2867) 2026-08-21 10:27:03 +00:00

Merged #3020 feat(db): GiST по (geom::geography) на houses — матчинг идёт по индексу (#2997) 2026-08-21 10:24:36 +00:00

Merged #3017 fix(tradein): неудача резолва yandex_jk_slug помечает дом — очередь не упирается в одни и те же пять (#2924) 2026-08-21 09:51:28 +00:00

Merged #3016 fix(tradein): апсерт не переписывает неизменившуюся строку — гейт IS DISTINCT FROM + МСК-день (#2992) 2026-08-21 09:08:06 +00:00

Merged #3014 fix(data): партиции rosreestr_deals на Q2–Q4 2026 + загрузчик доходит до файла (#2998) 2026-08-21 08:56:25 +00:00

Merged #3015 feat(tradein/estimator): штраф за неизвестный год/тип дома — флагом, default OFF (#2936) 2026-08-21 08:36:26 +00:00

Merged #3010 feat(tradein): ручка «дома, уехавшие от собственных объявлений» (#2996) 2026-08-21 05:54:34 +00:00

Merged #3013 fix(ops): проверка трейлера дампа падала на grep — ведущие -- принимались за опции (#2203) 2026-08-20 20:57:32 +00:00

Merged #3012 chore(db): Postgres tradein уходит со стоковых настроек — конфиг в compose 2026-08-20 20:53:55 +00:00

Merged #3008 feat(tradein): secondary_only — параметр расписания, выброшенное считается (#1781) 2026-08-20 20:30:01 +00:00

Merged #3009 fix(ops): выгрузка бэкапа в S3 не проходила TLS — у aws-cli свой CA-бандл (#2203) 2026-08-20 20:14:16 +00:00

Merged #3006 fix(ptica): «геологический риск» больше не выводится из шума (#2934) 2026-08-20 20:09:20 +00:00

Merged #3007 fix(tradein/search): снять STORED-generated с listings.tsv, не пересчитывать на каждом UPDATE 2026-08-20 19:59:15 +00:00

Merged #3004 fix(ops): бэкап не теряет роли, не глотает ошибки и умеет уезжать с машины (#2203) 2026-08-20 19:44:22 +00:00

Merged #3003 fix(ptica): три места, где код делал не то, что говорил (#2464) 2026-08-20 19:18:01 +00:00

Merged #3002 docs(ptica): две докстроки обещали то, чего в коде нет (#2464) 2026-08-20 19:08:33 +00:00

Merged #3001 fix(ptica): подпись сетевого обременения называет все виды, а не первый (#2464) 2026-08-20 18:53:33 +00:00

Merged #3000 fix(ptica): невозможные параметры регламента не превращаются в деньги (#2464) 2026-08-20 18:39:10 +00:00

Merged #2999 fix(ptica): download_binary переживает транзиентный ответ, как и get_json (#2464) 2026-08-20 18:24:44 +00:00

Merged #2987 fix(ptica): ключ gisogd_permits — id документа на портале, а не (группа, номер) (#2986) 2026-08-20 18:03:49 +00:00

Merged #2988 docs(ptica): докстрока не обещает защиты, которой нет, и не шлёт на мёртвый хост (#2464) 2026-08-20 17:58:21 +00:00

Merged #2984 fix(ptica): backfill act_date у 11 строк, куда уехала дата Генплана-2004 (#2464) 2026-08-20 17:37:43 +00:00

Merged #2983 fix(ptica): лоты без площади — своя корзина, а не «<25 м²» (#2464) 2026-08-20 17:02:26 +00:00

Merged #2981 fix(ptica): act_date — дата акта об изъятии, а не первой попавшейся ссылки (#2464) 2026-08-20 16:43:28 +00:00

Merged #2980 fix(ptica): тип постановления — по первому упоминанию, а не по порядку проверок (#2464) 2026-08-20 16:28:28 +00:00

Merged #2979 fix(ptica): «не продана» перестаёт означать «продана» (#2464) 2026-08-20 16:27:21 +00:00

Merged #2978 fix(ptica): осиротевшие прогоны Объектива закрываются, а не висят вечно (#2464) 2026-08-20 12:58:54 +00:00

Merged #2977 fix(workers): убрать max_retries, который ничего не делает (#2464) 2026-08-20 12:40:07 +00:00

Merged #2976 fix(ptica): у пользователя не может быть двух дефолтных профилей весов (#2464) 2026-08-20 12:23:29 +00:00

Merged #2975 fix(ptica): на worker_ready зомби помечается ЛЮБОЙ 'running', а не только со снапшотом (#2464) 2026-08-20 12:22:38 +00:00

Merged #2974 fix(ptica): «объекта нет в БД» считается пропуском, а не сбоем (#2464) 2026-08-20 11:59:40 +00:00

Merged #2973 fix(ptica): загрузчик теплоснабжения фиксирует по организациям, а не одной транзакцией (#2464) 2026-08-20 11:51:58 +00:00

Merged #2972 fix(ptica): упавший прогон Объектива помечается failed, а не висит running вечно (#2464) 2026-08-20 11:04:08 +00:00

Merged #2971 fix(ptica): серия WAF-блоков прерывает батч каталога, а не гонит его до конца (#2464) 2026-08-20 10:54:12 +00:00

Merged #2970 fix(ptica): ключ синглтон-лока kn-свипа зависит от множества, а не от порядка (#2464) 2026-08-20 10:34:31 +00:00

Merged #2969 fix(ptica): WAF-блок прерывает backfill_parcel_geom, а не гонит его дальше по кварталам (#2464) 2026-08-20 10:34:27 +00:00

Merged #2968 docs(ptica): шесть мест, где документация расходилась с кодом (#2464) 2026-08-20 10:25:23 +00:00

Merged #2966 fix(ptica): land_reservation перестаёт копить дубли — 91% таблицы были копиями (#2464) 2026-08-20 10:16:35 +00:00

Merged #2965 fix(ptica): scope=manual_list перестаёт создавать задание из пустоты (#2464) 2026-08-20 09:53:52 +00:00

Merged #2964 fix(ptica): два запроса connection-capacity перестают травить общую сессию (#2464) 2026-08-20 09:53:35 +00:00

Merged #2963 fix(ptica): выручка и сделки в KPI лидов названы по своему охвату (#2464) 2026-08-20 09:44:15 +00:00

Merged #2961 fix(ptica): число ЗОУИТ перестаёт подписываться как число типов (#2464) 2026-08-20 09:17:07 +00:00

Merged #2960 fix(ptica): успехи батча каталога фиксируются по ходу, а не одним commit'ом в конце (#2464) 2026-08-20 08:54:27 +00:00

Merged #2959 fix(ptica): HTML-экспортёр перестаёт выбрасывать легаси-зонирование, которое сам же проверил (#2464) 2026-08-20 08:44:12 +00:00

Merged #2958 fix(ci): ожидание докер-лока оставляет след в логе (#2950) 2026-08-20 08:44:11 +00:00

Merged #2957 fix(ptica): свежесть data-table источника считается по успешным строкам (#2956) 2026-08-20 08:36:06 +00:00

Merged #2955 fix(ci): докер-секции прод-деплоев исключают друг друга через host-lock (#2950) 2026-08-20 08:13:56 +00:00

Merged #2954 fix(tradein/geocoder): темп Nominatim сдерживается перед запросом, а не после успеха (#2953) 2026-08-20 07:55:42 +00:00

Merged #2952 fix(ci): прод-деплои в одну группу concurrency — прун одного убивал pull другого (#2950) 2026-08-20 07:47:49 +00:00

Merged #2951 fix(ptica): шесть lookup'ов /analyze глотали ошибку БД без SAVEPOINT (#2464) 2026-08-20 07:38:24 +00:00

Merged #2949 fix(ptica): два блока analyze_parcel глотали ошибку БД без SAVEPOINT (#2464) 2026-08-20 07:19:50 +00:00

Merged #2948 test(tradein): гейт «снять noindex можно только вместе с плейсхолдерами» (#2904) 2026-08-20 07:00:10 +00:00

Merged #2947 fix(ptica): «0 мм осадков» перестаёт означать «данных нет» (#2464) 2026-08-20 07:00:04 +00:00

Merged #2946 fix(ptica): resume_geo_job больше не возобновляет что попало (#2464) 2026-08-20 06:59:56 +00:00

Merged #2945 fix(ptica): сноска концепт-PDF печатает фактический срок распродажи, а не «30 мес» (#2464) 2026-08-19 17:39:38 +00:00

Merged #2944 fix(ptica): нечисловое значение от OSRM/ORS больше не даёт 500 вместо деградации (#2464) 2026-08-19 17:20:29 +00:00

Merged #2943 docs(ptica): три комментария, утверждавших не то, что делает код (#2464 кластер H) 2026-08-19 17:09:25 +00:00

Merged #2942 fix(ptica): дрейф формы ответа DaData не роняет весь гео-проход (#2464) 2026-08-19 16:59:50 +00:00

Merged #2941 fix(ptica): проба глубины очереди перестаёт висеть без таймаута (#2464) 2026-08-19 16:54:04 +00:00

Merged #2940 fix(ptica): пустой слой риск-зон перестаёт означать «рисков нет» (#2934) 2026-08-19 16:34:27 +00:00

Merged #2938 test(ptica): снятие SAVEPOINT теперь роняет тест во всех местах кластера A (#2464) 2026-08-19 16:07:00 +00:00

Merged #2939 fix(ptica): «Риск: Низкий» больше не выглядит вердиктом (#2934) 2026-08-19 15:53:21 +00:00

Merged #2937 fix(ptica): job_settings не отравляет чужую сессию при сбое БД (#2464 кластер A) 2026-08-19 15:42:40 +00:00

Merged #2935 fix(ptica): строка о подтоплении в PDF и DOCX перестаёт читаться как заключение (#2934) 2026-08-19 15:11:11 +00:00

Merged #2933 fix(ptica): достоверность видит зону ПЗЗ из НСПД, а не только из пустой таблицы (#2464) 2026-08-19 13:29:26 +00:00

Merged #2932 fix(tradein): обход Домклика начинается со сдвигом — комнатности 2+ перестают быть слепой зоной (#2854) 2026-08-19 12:48:41 +00:00

Merged #2931 fix(ptica): шумовой скорер перестаёт считать водоёмы источниками шума (#2464-G) 2026-08-19 12:42:00 +00:00

Merged #2930 test(ptica): покрыть переиспользование сессии после close() в отдаче фотографий (#2464-C) 2026-08-19 11:52:14 +00:00

Merged #2929 fix(ptica): гео-проход не тратит геокод на занятых кандидатов и не «подтверждает» их (#2464) 2026-08-19 11:52:07 +00:00

Merged #2928 fix(ptica): соединение БД отпускается до похода за фотографией наружу (#2464-C) 2026-08-19 11:18:01 +00:00

Merged #2927 fix(ptica): защита таймаутом теперь реально ограничивает время (#2464-C) 2026-08-19 10:27:59 +00:00

Merged #2926 feat(tradein): позиция квартиры внутри когорты аналогов — перцентиль (#2899) 2026-08-19 10:08:19 +00:00

Merged #2925 ci: правка конфига прокси больше не тянет полный деплой Site Finder (#2916) 2026-08-19 08:39:02 +00:00

Merged #2923 fix(tradein): фильтр выдачи Яндекса мёртв — slug ЖК ищем по странице объекта (#2860) 2026-08-19 08:37:41 +00:00

Merged #2922 ci: смоук периметра МЕРЫ запускается сразу после деплоя (#2917) 2026-08-19 08:13:50 +00:00

Merged #2921 fix(infra/caddy): site-блоки с секретами переживают деплой — import caddy/local/*.caddy 2026-08-18 06:45:10 +00:00

Merged #2920 fix(tradein/estimate): залипший anchor_tier больше не глушит четыре механизма разом 2026-08-17 08:00:34 +00:00

Merged #2836 fix(tradein/estimate): нет индекса у аналогов — нет квартальной поправки (#2583 C3) 2026-08-17 07:47:28 +00:00

Merged #2919 fix(mera/b2c): житель Серова получал «вы вне области», а подсказки игнорировали выбранный город 2026-08-16 10:09:14 +00:00

Merged #2918 fix(mera/b2c): /estimate снова закрывался гвардом — короткий адрес завели в Caddy, но не в RouteGuard 2026-08-16 07:40:55 +00:00

Merged #2913 feat(mera/b2c): публичный периметр МЕРЫ — свой API, отдельный экран оценки, короткие адреса 2026-08-16 07:25:24 +00:00

Merged #2786 fix(tradein): гейт номеров миграций берёт эталон из git, ручной манифест удалён 2026-08-15 20:04:17 +00:00

Merged #2915 feat(tradein/ops): алерты GlitchTip доезжают в Telegram 2026-08-15 19:56:41 +00:00

Merged #2794 fix(tradein/payments): тело нотификации не течёт в мониторинг и аудит, повторы банка не отбиваются лимитом 2026-08-15 19:48:20 +00:00

Merged #2914 chore(ops): почта GlitchTip настраивается из окружения и на worker'е тоже 2026-08-15 19:47:38 +00:00

Merged #2912 chore(ops): зависшие job-контейнеры, лимит журнала, мёртвый блок status в Caddy 2026-08-15 19:45:48 +00:00

Merged #2751 chore(ci): деплой на изменение ролей, ruff-гейт для МЕРЫ, удаление мёртвого workflow 2026-08-15 19:39:06 +00:00

Merged #2911 fix(tradein/scraper): строка с пустым сегментом самочинится при пересборе 2026-08-15 19:37:17 +00:00

Merged #2819 fix(db): /dev/shm боевого postgres — 64 МБ умолчания Docker → 1 ГБ 2026-08-15 19:34:35 +00:00

Merged #2882 fix(ptica): загрузка ЦП больше не пишется в категориальную колонку (#2464-B) 2026-08-15 19:27:51 +00:00

Merged #2910 fix(mera/b2c): публичный лэндинг больше не показывает «Не удалось проверить доступ» 2026-08-15 19:17:10 +00:00

Merged #2909 feat(tradein): бесплатная проба покрытия POST /coverage (#2894) 2026-08-15 18:28:09 +00:00

Merged #2908 fix(tradein/deactivate): протухшие объявления с пустым сегментом больше не якорят оценку 2026-08-15 18:22:13 +00:00

Merged #2907 fix(tradein/deactivate): потолок эффективного TTL — защита от разгона пола и опечатки в расписании 2026-08-15 18:06:55 +00:00

Merged #2906 fix(observability): убрать 83% мусора из трекера ошибок 2026-08-15 17:24:03 +00:00

Merged #2905 feat(mera/b2c): лэндинг v3 по макету — превью на /mera-public/v3 2026-08-15 16:58:28 +00:00

Merged #2893 fix(health): HEAD на /health в обоих бэкендах — аптайм проверял то, что всегда отвечает 405 2026-08-15 16:40:16 +00:00

Merged #2892 fix(tradein/scrapers): прогон больше не рапортует «done» поверх провала и нуля 2026-08-15 16:20:31 +00:00

Merged #2891 fix(tradein/geocoder): фолбэк на локальные houses — часть адресов ЕКБ давала гарантированный ноль аналогов 2026-08-15 16:20:25 +00:00

Merged #2890 chore(ci): не проглатывать падение сборки + починить самолечение buildcache 2026-08-15 16:20:20 +00:00

Merged #2889 chore(ops): выставить +x на docker-prune.sh и restore.sh 2026-08-15 14:19:08 +00:00

Merged #2888 chore(deploy): триггерить деплой на правку ops/docker-prune.sh 2026-08-15 14:15:22 +00:00

Merged #2887 chore(ops): чинить корень утечки docker-томов + еженедельная уборка 2026-08-15 14:12:01 +00:00

Merged #2880 fix(tradein/cian): вернуть сбор вторички — sweep выбрасывал всё найденное 2026-08-15 13:44:23 +00:00

Merged #2886 fix(mera): кликабельная ссылка на политику ПДн в чекбоксе согласия + синхронизация версии (блоки 2, 5.4) 2026-08-14 12:48:34 +00:00

Merged #2885 feat(mera/pdf): дисклеймер 135-ФЗ в подвале каждой страницы отчёта (блок 4.2) 2026-08-14 12:47:38 +00:00

Merged #2884 feat(mera): «Ориентировочный расчёт. Не является официальной оценкой.» под диапазоном цены (блок 4.1) 2026-08-14 12:40:29 +00:00

Merged #2883 feat(mera): формулировки шапки и заголовка вкладки по юр-требованиям (блок 3) 2026-08-14 12:40:18 +00:00

Merged #2881 fix(ptica): бан НСПД по WAF больше не глотается сборщиком кварталов (#2464-A) 2026-08-14 06:00:11 +00:00

Merged #2878 docs(ptica): фактор уверенности называл не ту величину (#2464-H) 2026-08-13 21:21:39 +00:00

Merged #2876 test(ci): сторож пропусков кричит ::error:: под Actions (#2871) 2026-08-13 21:05:55 +00:00

Merged #2879 feat(tradein): вся Свердловская область — 40 городов в city-sweep 2026-08-13 19:08:45 +00:00

Merged #2877 fix(tradein/proxy): учитывать историю банов при выборе egress-узла 2026-08-13 17:47:03 +00:00

Merged #2865 fix(ptica): фильтр класса в velocity ссылался на алиас, которого нет в CTE (#2464-G) 2026-08-13 17:46:29 +00:00

Merged #2875 ci: печатать код возврата pytest явно (#2871) 2026-08-13 17:32:09 +00:00

Merged #2873 fix(ptica): отказ слоя НСПД больше не выглядит как «здесь ничего нет» (#2464-G/H) 2026-08-13 17:30:32 +00:00

Merged #2874 feat(mera): оферта, политика возврата и утверждённая политика ПДн + реквизиты 2026-08-13 17:13:16 +00:00

Merged #2872 ci: сделать видимыми два безмолвных шага после pytest (#2871) 2026-08-13 16:53:45 +00:00

Merged #2870 ci: убирать buildx-билдер в конце сборочных job'ов (#2869) 2026-08-13 12:48:29 +00:00

Merged #2868 fix(ptica): нет сделок за окно — цена не 0 ₽/м², а «нет данных» (#2464-B) 2026-08-13 12:26:52 +00:00

Merged #2866 docs(ptica): комментарии beat-расписания считали сдвиг МСК дважды (#2464-H) 2026-08-13 12:26:45 +00:00

Merged #2863 fix(ptica): границы правдоподобия у средней цены конкурента (#2464-D) 2026-08-13 11:57:04 +00:00

Merged #2861 fix(tradein/ui): этаж сделки скрывался у всех 96 974 — требовалось второе поле (#2674) 2026-08-13 08:46:46 +00:00

Merged #2859 docs(tradein): снять устаревшее обоснование обрыва прогона Домклика (#2854) 2026-08-13 07:34:00 +00:00

Merged #2858 chore(tradein/db): снести три колонки-заглушки из витрины поиска (#2857) 2026-08-13 07:25:44 +00:00

Merged #2856 fix(tradein/proxy): проба Домклика спрашивает защищённый путь, а не robots.txt (#2855) 2026-08-13 06:02:38 +00:00

Merged #2832 fix(tradein/domclick): распознанный QRATOR-блок свипа — ban_kind='platform', не 'unknown' (#2687) 2026-08-12 20:55:05 +00:00

Merged #2851 fix(tradein/yandex): снести признак «панорама» — его нет на площадке 2026-08-12 20:44:12 +00:00

Merged #2850 fix(tradein/quality): витрина перестаёт рапортовать «доля с кадастром» (#2674) 2026-08-12 20:37:17 +00:00

Merged #2852 docs(tradein/estimator): докстринг домового IMV-якоря говорит правду о таблице (#2674) 2026-08-12 20:29:29 +00:00

Merged #2816 fix(tradein/estimate): домовой IMV-якорь приводится к базису ремонта квартиры (#2677) 2026-08-12 20:17:11 +00:00

Merged #2849 fix(tradein/sber): сторож мерит отставание загрузки, а не календарь (#2846) 2026-08-12 19:36:21 +00:00

Merged #2847 fix(tradein/dkp): «ФАКТИЧЕСКИЕ СДЕЛКИ» называют свой возраст, а не окно поиска 2026-08-12 18:51:11 +00:00

Merged #2845 feat(tradein/scheduler): планировщик подхватывает чекпоинт оборванного прогона (#930) 2026-08-12 18:51:03 +00:00

Merged #2844 fix(tradein/ci): объявить пропуски живых тестов повтора IMV — деплой-лэйн без БД 2026-08-12 16:38:02 +00:00

Merged #2843 fix(tradein/imv): «временная» ошибка снова временная — 1390 домов возвращаются в очередь 2026-08-12 16:06:25 +00:00

Merged #2839 fix(tradein/estimate): убрать квартал соседа из квартального индекса (координатный резолв — за флагом OFF) 2026-08-12 15:55:25 +00:00

Merged #2840 fix(tradein/yandex): 3535 source_url ведут на сайт застройщика — переписываем из offerId (#2838) 2026-08-12 15:33:32 +00:00

Merged #2838 fix(tradein/yandex): «непригодных» 3535 не было — адресуем их по offerId 2026-08-12 15:04:54 +00:00

Merged #2837 fix(tradein/geocoder): инвариант «чужой топоним + результат внутри ЕКБ = недостоверно» (#2590) 2026-08-12 14:26:58 +00:00

Merged #2835 fix(tradein/estimate): отдавать фактический радиус подбора, а не выбор пользователя 2026-08-12 12:48:19 +00:00

Merged #2834 fix(tradein/scraper): пустой пул прокси перестаёт стирать чекпоинт полного обхода 2026-08-12 12:18:03 +00:00

Merged #2833 fix(tradein/scrapers): убрать оставшиеся обходы пула прокси (#2830) 2026-08-12 10:53:37 +00:00

Merged #2831 fix(tradein/scrapers): egress по источнику из пула с учётом банов, а не статичный env 2026-08-11 06:29:49 +00:00

Merged #2829 fix(tradein/admin): развести исходы проверки кук — бан не равен «плохим кукам» 2026-08-11 06:08:17 +00:00

Merged #2828 fix(tradein/estimate): не перетирать дату обращения при оживлении оценки 2026-08-11 05:52:06 +00:00

Merged #2826 fix(tradein/estimate): оживлять мёртвые сохранённые оценки при открытии 2026-08-11 04:15:41 +00:00

Merged #2825 fix(tradein/estimate): уверенность не может противоречить надёжности выборки 2026-08-10 16:21:31 +00:00

Merged #2824 feat(tradein): версионирование продукта — единый источник, подвал, PDF, /versions 2026-08-10 16:00:54 +00:00

Merged #2823 fix(tradein/estimate): не блокировать оценку — расширять подбор и честно предупреждать 2026-08-10 15:42:23 +00:00

Merged #2822 docs(tradein/scraper): 42 прогона, а не 52 — в замере считались пары «прогон × фаза» (#2700) 2026-08-10 11:49:28 +00:00

Merged #2821 fix(tradein/cian): 403 снимает узел с выдачи, а не гаснет в return None (#2700) 2026-08-10 11:29:19 +00:00

Merged #2820 fix(tradein/dedup): остаток схлопывания домов становится измеряемым числом, а не оценкой (#2690) 2026-08-10 11:18:20 +00:00

Merged #2817 fix(site-finder): метка источника весов выводится из результата резолва, а не из входа (#2811) 2026-08-10 10:34:40 +00:00

Merged #2818 fix(tradein/db): разовая чистка 1123 адресов Авито с приклеенным рейтингом (#2814) 2026-08-10 10:22:34 +00:00

Merged #2815 fix(tradein/avito): рейтинг дома перестаёт уезжать в адрес объявления (#2814) 2026-08-10 09:47:16 +00:00

Merged #2813 fix(tradein/scraper): прогон, у которого отказал каждый якорь, перестаёт быть успехом (#2625) 2026-08-10 09:36:24 +00:00

Merged #2808 fix(tradein/matching): город развёртки доезжает до стража Tier-2a — межгородские склейки домов (#2777) 2026-08-10 08:51:15 +00:00

Merged #2809 fix(tradein/newbuilding): счётчики записи различают вставку и обновление (#2807) 2026-08-10 08:50:57 +00:00

Merged #2810 fix(site-finder): §4.1 «Применить» действительно применяет веса POI (#2790) 2026-08-10 08:40:00 +00:00

Merged #2806 fix(tradein/scraper): сводка «что сейчас не собирает» — лестница вех не видит стрик 0 (#2670) 2026-08-10 08:29:27 +00:00

Merged #2805 fix(tradein/proxy): упавшая проба присваивала себе бан боевого сбора (#2800) 2026-08-09 20:13:11 +00:00

Merged #2804 fix(tradein/cian): Циан переименовал MFE карточки ЖК — читать оба имени (#2767) 2026-08-09 18:41:03 +00:00

Merged #2803 fix(tradein/proxy): проба спрашивает каждую площадку, вердикт пишется на пару «узел × источник» (#2800 B) 2026-08-09 18:28:38 +00:00

Merged #2802 fix(tradein/proxy): узел, зарезервированный за Домкликом, до Домклика не доходит (#2800 A) 2026-08-09 18:15:56 +00:00

Merged #2801 fix(tradein/cian): банить узел только когда состояния НЕТ, а не по слову «captcha» (#2767) 2026-08-09 18:04:02 +00:00

Merged #2799 chore(tradein/db): снести DEPRECATED-колонку listings.ceiling_height 2026-08-09 17:51:16 +00:00

Merged #2798 fix(tradein/cian): обогащение ЖК падало не на разметке, а на сожжённом узле (#2767) 2026-08-09 17:38:40 +00:00

Merged #2797 fix(tradein/deactivate): TTL не снимает объявления по порогу ниже собственного цикла обхода 2026-08-09 17:26:19 +00:00

Merged #2796 fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657) 2026-08-09 17:21:50 +00:00

Merged #2795 chore(tradein/db): вернуть снос дубля индекса expires_at — теперь с lock_timeout 2026-08-09 17:10:18 +00:00

Merged #2754 feat(tradein/payments): оплаченный отчёт хранится год — retain_until и предохранители в задаче удаления 2026-08-07 13:08:46 +00:00

Merged #2791 fix(migrations): закрепить lock_timeout для блокирующего DDL и ловить невалидные индексы 2026-08-07 11:21:29 +00:00

Merged #2792 revert(tradein/db): снять 250 с деплоя — очередь за локом блокирует пайплайн 2026-08-07 11:01:32 +00:00

Merged #2789 test(ci): развести «нагрузку не создать» и «защита сломана» в двух флапающих гейтах (#2783) 2026-08-07 10:35:15 +00:00

Merged #2788 fix(site-finder): вернуть доступ к профилям весов — владелец из сессии (#2782) 2026-08-07 10:22:56 +00:00

Merged #2787 fix(ptica): скраб ПДн перестаёт утекать то, что защищает + проводка проверяется поведением (#2753) 2026-08-07 10:11:37 +00:00

Merged #2785 chore(tradein/frontend): удалить остаточный слой фикстур (#2755) 2026-08-07 10:00:49 +00:00

Merged #2781 test(scrapers/krt): вернуть в прогон проверку многоблочной страницы (#2778) 2026-08-07 09:48:54 +00:00

Merged #2776 refactor(security): убрать мёртвую проверку админского токена (#2775) 2026-08-07 09:30:25 +00:00

Merged #2784 fix(tradein/db): снять побайтовый дубль индекса на trade_in_estimates(expires_at) (#2752) 2026-08-07 09:30:15 +00:00

Merged #2779 fix(tradein): свести высоту потолков к одной колонке ceiling_height_m 2026-08-07 09:18:49 +00:00

Merged #2780 fix(tradein/houses): вернуть координаты объявлений в дом, когда объявления согласны (#2771) 2026-08-07 09:08:07 +00:00

Merged #2772 build(tradein/frontend): состав зависимостей перестаёт зависеть от даты сборки (#2770) 2026-08-07 09:07:59 +00:00

Merged #2774 fix(tradein): поштучный процент гаснет вместе со сводным, когда причина — сама пара (#2672) 2026-08-07 08:56:44 +00:00

Merged #2773 fix(tradein/yandex): просмотры режутся по разделителю тысяч + Циан молчит о непонятой фразе (#2669) 2026-08-07 08:44:49 +00:00

Merged #2768 fix(tradein/cian): показать, ЧТО пришло вместо состояния ЖК-страницы, и честно закрывать нулевой прогон (#2767) 2026-08-07 08:06:26 +00:00

Merged #2769 test(tradein/frontend): первые проверки поведения — пустое поле, погашенное число, отказ 429 2026-08-07 07:55:38 +00:00

Merged #2765 fix(tradein/scraper): диагноз бана перестаёт назначаться по умолчанию (#2764) 2026-08-06 23:18:00 +00:00

Merged #2763 fix(devops): дать trade-in связность с redis, потом уже задать REDIS_URL (#2709) 2026-08-06 22:37:25 +00:00

Merged #2762 fix(devops): потолок логов основного стека — journald, как у trade-in (#2761) 2026-08-06 22:29:27 +00:00

Merged #2760 fix(tradein/devops): починить окно времени в инструкции чтения журнала (#2741) 2026-08-06 21:53:03 +00:00

Merged #2759 ci: гейт против публикации занятых на VPS портов в workflow (#2757) 2026-08-06 21:40:05 +00:00

Merged #2758 fix(tradein/devops): логи в journald — переживают пересоздание контейнера (#2741) 2026-08-06 21:24:58 +00:00

Merged #2756 ci(tradein): снять последний deselect — он пережил починку своего теста 2026-08-06 20:53:55 +00:00

Merged #2747 chore(frontend): фикстуры макета не по умолчанию + удаление осиротевших компонентов 2026-08-06 18:59:51 +00:00

Merged #2749 fix(ptica): скраб ПДн перед отправкой в мониторинг + честная подпись НДС в отчётах (#2457) 2026-08-06 18:47:35 +00:00

Merged #2746 chore(tradein/db): уборка временных таблиц, дублей индексов и звёздочки в v_data_quality 2026-08-06 18:27:40 +00:00

Merged #2750 fix(tests): объявить 4 live-DB проверки приватности в skip_allowlist 2026-08-06 18:20:05 +00:00

Merged #2680 fix(tradein/deploy): скрапер пересобирается вместе с бэкендом + сверка образов после деплоя (#2679) 2026-08-06 17:53:32 +00:00

Merged #2745 ci: пропуск теста обязан назвать себя — иначе прогон красный 2026-08-06 17:52:57 +00:00

Merged #2547 feat(mera/b2c): правовая рамка — согласие до сохранения, удаление по сроку и по запросу — этап 4 из 8 2026-08-06 17:04:27 +00:00

Merged #2744 fix(tests): починить и вычистить проверки, которые не исполнялись ни разу 2026-08-06 16:57:29 +00:00

Merged #2743 fix(tradein/matching): listing_sources датируется построчно, а не стартом транзакции (#2731) 2026-08-06 16:35:30 +00:00

Merged #2732 feat(tradein/payments): схема БД, конфиг и kill-switch платёжного контура 2026-08-06 16:33:28 +00:00

Merged #2742 fix(tradein/scrapers): метка наблюдения — время строки, а не старта транзакции (#2731) 2026-08-06 16:19:57 +00:00

Merged #2737 fix(tradein/payments): строгий разбор нотификации и отказ вместо догадок на враждебном входе 2026-08-06 16:10:30 +00:00

Merged #2740 feat(tradein/houses): журнал слияний домов — слияние стало обратимым 2026-08-06 15:41:21 +00:00

Merged #2739 fix(tradein/avito): серия отказов обрывается и называет причину, а не выедает бюджет (#2674) 2026-08-06 15:29:49 +00:00

Merged #2738 fix(tradein/yandex): в очередь обогащения не берём то, что парсер отвергает до сети (#2674) 2026-08-06 15:22:22 +00:00

Merged #2735 test(tradein/auth): правило про синхронную сверку — сторожем, а не комментарием (#2715) 2026-08-06 14:35:33 +00:00

Merged #2734 fix(tradein/auth): отказ по насыщению — до выборки из БД и с агрегированным следом (#2715) 2026-08-06 14:27:27 +00:00

Merged #2736 fix(tradein/proxy): проба узла ходит браузерным трактом, вердикт живёт отдельно от HTTP-пробы (#2723) 2026-08-06 12:50:24 +00:00

Merged #2733 feat(tradein/payments): подпись Token, клиент Т-Банка и сборка чека 2026-08-06 12:36:58 +00:00

Merged #2728 chore(tradein/db): DROP listings_snapshots.position_in_serp — шаг 2 из 2 (#2697) 2026-08-06 11:41:40 +00:00

Merged #2727 fix(tradein/scraper): сигнал живости из середины батча — живые прогоны перестают числиться зависшими (#2725) 2026-08-06 11:30:53 +00:00

Merged #2729 fix(tradein): молча задеселекченный тест починен, deselect снят (#2722) 2026-08-06 11:30:43 +00:00

Merged #2726 ci(tradein): тесты браузерного сайдкара наконец бегут в пайплайне (#2722) 2026-08-06 11:19:51 +00:00

Merged #2724 fix(tradein/browser): четыре теста сайдкара догоняют код — тест отстал, не код сломан (#2722) 2026-08-06 11:13:17 +00:00

Merged #2717 fix(tradein/auth): доля слотов сверки пароля на адрес — потолок перестаёт бить по своим (#2714) 2026-08-06 10:42:39 +00:00

Merged #2721 fix(tradein/browser): повтор evaluate на той же странице — гонка случается ПОСЛЕ load (#2676) 2026-08-06 10:18:15 +00:00

Merged #2720 fix(tradein/scraper): длинная серия неудач перестаёт замолкать, оборванный прогон — называться успехом (#2670) 2026-08-06 10:06:58 +00:00

Merged #2719 fix(tradein/houses): camelCase-типы домов приводятся к канону у источника (#2678) 2026-08-06 09:55:55 +00:00

Merged #2718 fix(tradein/scraper): отметки времени прогона перестают замерзать в его же транзакции (#2702) 2026-08-06 09:55:51 +00:00

Merged #2716 fix(tradein/browser): гонка «execution context destroyed» — восстановимая, ретрай без relaunch (#2676) 2026-08-06 09:44:23 +00:00

Merged #2712 fix(tradein/auth): bcrypt вне событийного цикла + настоящий потолок темпа логинов (#2665) 2026-08-06 09:02:11 +00:00

Merged #2710 fix(tradein): TTL-деактивация не исполняется, пока сбор по источнику лежит (#2659) 2026-08-06 08:40:42 +00:00

Merged #2713 fix(tradein/scraper): сторож «ноль результатов» перестаёт читать «не измерено» как ноль (#2703) 2026-08-06 08:29:00 +00:00

Merged #2711 fix(tradein/scraper): статус «забанен» перестаёт выдавать наш сбой за чужой (#2686) 2026-08-06 08:18:27 +00:00

Merged #2707 fix(tradein/scraper): дневной снимок узнаёт свой прогон (#2701) 2026-08-06 07:00:18 +00:00

Merged #2708 fix(tradein/imv): домовая оценка ходит в сайдкар через пул, а не через чужой env-прокси (#2698) 2026-08-06 06:52:16 +00:00

Merged #2706 fix(tradein): «медианный торг» гаснет на псевдорепликах и на неправдоподобном минусе (#2672) 2026-08-06 06:48:49 +00:00

Merged #2705 fix(tradein/cian): просмотры перестают теряться на int() по фразе (#2669) 2026-08-06 06:46:19 +00:00

Merged #2696 fix(tradein/domclick): sale_type перестаёт быть третьим словарём (#2674) 2026-08-06 06:11:46 +00:00

Merged #2695 fix(tradein/scraper): detail-backfill с нулём обогащений перестаёт называться успехом (#2674) 2026-08-06 05:59:38 +00:00

Merged #2694 fix(tradein): такт в сохранении расписания, position_in_serp невыразим (#2674) 2026-08-06 05:49:48 +00:00

Merged #2693 fix(tradein): вернуть фотографии подсказок Avito IMV задним числом (#2674) 2026-08-06 05:40:03 +00:00

Merged #2692 chore(tradein): догнать _manifest_applied.txt до факта прода (31 имя) 2026-08-06 00:54:41 +00:00

Merged #2689 chore(tradein): разбор мёртвого кода — подключить, удалить или задокументировать (#2674) 2026-08-06 00:37:06 +00:00

Merged #2688 fix(tradein/matching): честность тиров сопоставления домов (#2674) 2026-08-06 00:18:07 +00:00

Merged #2685 fix(tradein/avito): окно ретроспективы под недельный такт + диагноз полного обхода (#2674) 2026-08-05 23:13:40 +00:00

Merged #2684 fix(tradein/admin): убрать показатели, которые не могут быть ненулевыми, и брать список источников из данных (#2674) 2026-08-05 23:01:31 +00:00

Merged #2682 fix(tradein): писатели наконец пишут то, что обещает схема — фото подсказок, статус «снято», события объявлений (#2674) 2026-08-05 22:12:30 +00:00

Merged #2681 fix(tradein): сигналы о сбоях наконец становятся событиями, а протухание кук предупреждает заранее (#2674) 2026-08-05 21:56:54 +00:00

Merged #2675 fix(tradein/imv): домовая оценка перестаёт врать про ремонт и тип дома (#2674) 2026-08-05 20:02:31 +00:00

Merged #2671 fix(tradein): гейт правдоподобия на «медианный торг» — не показывать артефакт пейринга как рыночный факт (#2666) 2026-08-05 19:20:09 +00:00

Merged #2668 fix(tradein/cian): читать bti из offerData — BTI-персист в houses писал ноль строк (#2435) 2026-08-05 18:54:36 +00:00

Merged #2667 fix(tradein/scraper): блок QRATOR у Домклика больше не помечает прогон успешным (#2657) 2026-08-05 18:49:21 +00:00

Merged #2663 feat(tradein/auth): глобальный потолок попыток входа на имя пользователя (#2571) 2026-08-05 18:31:28 +00:00

Merged #2662 fix(tradein/scraper): пропуск расписания пишет строку прогона со статусом skipped (#2658) 2026-08-05 18:24:05 +00:00

Merged #2664 fix(tradein): сегментный гард в «медианном торге», свежесть в индексе локации, честные админ-счётчики (#2660) 2026-08-05 18:16:58 +00:00

Merged #2655 fix(tradein/geocode): прошить city_hint в deals-скрипт + развести счётчики гейта (#2603) 2026-08-05 15:29:20 +00:00

Merged #2654 feat(tradein/proxy): здоровье прокси по паре «узел × источник» (#2600 п.2) 2026-08-05 15:15:01 +00:00

Merged #2653 fix(tradein/proxy): доводить сигнал бана площадки до пула (#2600 п.1) 2026-08-05 11:37:36 +00:00

Merged #2652 fix(tradein/proxy): отличать ручное выключение узла от авто-выключения (#2610) 2026-08-05 10:18:03 +00:00

Merged #2651 fix(tradein/ui): чистить TanStack Query cache при смене identity (#2567) 2026-08-05 10:06:32 +00:00

Merged #2650 chore(tradein): удалить мёртвые mobileproxy env-переменные и rotate-ip (#2616 шаги 2-3) 2026-08-05 09:35:55 +00:00

Merged #2649 fix(tradein/auth): убрать устаревшее «Caddy basic_auth required» из 401 (#2573) 2026-08-05 08:45:57 +00:00

Merged #2648 fix(tradein): area-бакеты в asking→sold — и расчёт, и применение (#2620) 2026-08-05 08:11:05 +00:00

Merged #2647 chore(tradein): вернуть domclick_detail_backfill после починки детекта (#2636) 2026-08-05 07:25:25 +00:00

Merged #2646 fix(tradein): бэкфилл-чистка неверных oblast-меток city для yandex/cian (#2628) 2026-08-05 07:13:29 +00:00

Merged #2645 fix(tradein/domclick): единый список QRATOR-маркеров serp+detail (#2636) 2026-08-05 07:06:42 +00:00

Merged #2644 chore(mera-public): isolation guard + favicon + Caddy handle (#2631) 2026-08-05 06:20:41 +00:00

Merged #2643 fix(tradein): честный радиус поиска аналогов на карте v2 (#2632) 2026-08-05 06:13:59 +00:00

Merged #2642 fix(tradein/scraper): капча Cian и заглушки Yandex — banned, не done (#2625) 2026-08-04 19:03:34 +00:00

Merged #2640 fix(tradein/proxy): один прокси на сессию браузера вместо смены на каждом запросе 2026-08-04 18:45:38 +00:00

Merged #2641 fix(sql): re-grant mv_quarter_price_index to tradein_fdw_reader (C3, #2583) 2026-08-04 18:42:23 +00:00

Merged #2634 fix(tradein/scraper): не ходить через мёртвый запасной прокси 2026-08-04 18:27:50 +00:00

Merged #2639 feat(tradein/v2): срок экспозиции подстрокой в карточке «Ожидаемая цена сделки» 2026-08-02 16:06:04 +00:00

Merged #2637 fix(tradein/scraper): подключить браузерный путь Авито к пулу прокси 2026-08-02 14:37:40 +00:00

Merged #2635 feat(sitefinder): «Птица» принимает сессию общего реестра [PR-2c/6] 2026-08-02 14:18:24 +00:00

Merged #2633 chore(tradein/scraper): cut wasteful scraping load - cian_full_load tempo + zero-yield jobs 2026-08-02 14:12:38 +00:00

Merged #2630 fix(tradein/ui): показывать цену по сделкам Росреестра вместо «недостаточно данных» 2026-08-02 13:21:53 +00:00

Merged #2545 feat(mera/b2c): публичный периметр на отдельном домене meraocenka.ru — этап 1 из 8 2026-08-02 12:51:47 +00:00

Merged #2629 fix(tradein/estimate): не строить цену по одному-двум аналогам, не отдавать 0 ₽ 2026-08-02 12:41:48 +00:00

Merged #2621 fix(tradein/maps): убрать украинский флаг Leaflet и починить атрибуцию OSM 2026-08-02 12:12:44 +00:00

Merged #2622 fix(tradein/geocoder): строгий матч литеры дома + починка DaData region-фильтра 2026-08-02 12:06:45 +00:00

Merged #2627 fix(tradein/ui): городской фильтр в витрине «сделки против объявлений» (#2583 H4) 2026-08-02 11:54:34 +00:00

Merged #2626 fix(tradein/scraper): не помечать городом развёртки объявления соседних городов 2026-08-02 11:46:03 +00:00

Merged #2624 fix(tradein/estimate): не применять хедонику к неправдоподобному году постройки 2026-08-02 11:22:23 +00:00

Merged #2623 fix(tradein/scraper): собирать вторичку Циана по области, а не только новостройки 2026-08-02 11:13:33 +00:00

Merged #2618 fix(tradein/snapshot): починить зависающий запрос снапшотов и бюджет времени (#2607) 2026-08-02 09:19:21 +00:00

Merged #2617 fix(tradein/pricing): скоупить сторону объявлений по городу, как сторону сделок (#2583 H2) 2026-08-02 09:10:36 +00:00

Merged #2619 feat(tradein): DSN к БД auth собирается из AUTH_DB_PASSWORD, а не дублирует секрет 2026-08-02 09:09:55 +00:00

Merged #2614 chore(tradein/proxy): выпилить мёртвые узлы mobileproxy и их ключи из пула (#2613) 2026-08-01 20:05:07 +00:00

Merged #2615 feat(mera): публичный лэндинг «МЕРА» — контент и вёрстка 2026-08-01 20:03:56 +00:00

Merged #2611 feat(tradein/proxy): ротация exit-IP ASocks по бану со счётчиком и громким отказом (#2600) 2026-08-01 19:23:51 +00:00

Merged #2612 fix(tradein/data): убрать ложный region_code=66 у объявлений чужих городов (#2604) 2026-08-01 19:08:08 +00:00

Merged #2609 fix(tradein/proxy): самовосстановление пула и запасной прокси чужой affinity (#2600) 2026-08-01 18:54:02 +00:00

Merged #2608 feat(tradein): переключаемый реестр людей — подготовка переезда «Меры» в БД auth [PR-2b/6] 2026-07-31 23:54:46 +00:00

Merged #2606 fix(tradein/geocode): бэкфилл listings.city из слага города в URL Авито (#2594) 2026-07-31 23:00:00 +00:00

Merged #2605 fix(tradein/geocode): геокодировать только активные объявления (#2604) 2026-07-31 22:26:03 +00:00

Merged #2602 feat(auth): роли и трёхзначное состояние доступа в БД auth [PR-2a/6] 2026-07-31 21:46:26 +00:00

Merged #2601 fix(tradein/geocode): передавать город объявления как city_hint в геокодирование (#2594) 2026-07-31 21:40:37 +00:00

Merged #2599 chore(tradein/geocoder): удалить остатки скриптов Яндекс-геокодера, часть 3 (#2593) 2026-07-31 20:53:43 +00:00

Merged #2598 fix(tradein/scraper): проставлять город объявления из контекста развёртки (#2594) 2026-07-31 20:14:39 +00:00

Merged #2597 feat(auth): отдельная БД auth — фундамент единого входа «Меры» и «Птицы» [PR-1/6] 2026-07-31 19:06:42 +00:00

Merged #2596 chore(tradein/geocoder): удалить Яндекс-геокодер (#2593) 2026-07-31 19:04:04 +00:00

Merged #2595 chore(tradein): удалить остатки источника N1 (#2593) 2026-07-31 18:47:02 +00:00

Merged #2591 fix(tradein/ui): не обрезать длинные названия городов в селекторе (#2576) 2026-07-31 18:46:55 +00:00

Merged #2592 chore(ci+rbac): auth/** в paths-фильтры + «Поиск домов» только у админа 2026-07-31 17:43:31 +00:00

Merged #2589 fix(tradein/geocoder): fail-closed выбор ЕКБ-реестров вместо списка городов (#2582) 2026-07-31 16:30:39 +00:00

Merged #2584 feat(tradein/ui): передавать город в геокодирование + честный признак неопределённости (#2576) 2026-07-31 15:46:02 +00:00

Merged #2588 fix(tradein/tasks): городской гейт в ночном бэкфилле координат (#2583) 2026-07-31 15:43:55 +00:00

Merged #2587 fix(tradein/rbac): скрыть «Доля в продаже» и «Кэш» от клиентских аккаунтов 2026-07-31 15:39:57 +00:00

Merged #2580 fix(tradein/geocoder): не подставлять Екатеринбург молча — явный city_hint (#2576) 2026-07-31 15:23:35 +00:00

Merged #2578 fix(tradein/avito): обогащать деталями листинги всей области, не только ЕКБ (#2576) 2026-07-31 15:16:50 +00:00

Merged #2586 fix(tradein/estimator): гео-ограничение якорного тира — не брать чужие города (#2581) 2026-07-31 15:08:24 +00:00

Merged #2579 feat(tradein/db): авто-refresh ценовых бэндов по городам + порог для малых городов (#2576) 2026-07-31 14:01:35 +00:00

Merged #2577 feat(tradein/support): чат поддержки без входа — экран логина и «доступа нет» 2026-07-31 13:22:21 +00:00

Merged #2575 fix(tradein/team): admin управляет менеджерами — сброс пароля и блокировка (#2556) 2026-07-31 13:08:14 +00:00

Merged #2569 feat(tradein/caddy): снять basic_auth с /trade-in — своя авторизация (#2558) 2026-07-30 21:52:01 +00:00

Merged #2570 fix(tradein/ui): вход в «Команду» из v2-навигации + понятный 401 (#2556) 2026-07-30 21:16:24 +00:00

Merged #2565 feat(tradein/ui): team-дашборд менеджера — сотрудники, квоты, история (#2556) 2026-07-30 19:27:32 +00:00

Merged #2564 feat(tradein/db): seed существующих юзеров + ASCII-CHECK на username (#2557) 2026-07-30 19:17:35 +00:00

Merged #2566 fix(tradein/team): устойчивая сортировка списка + семантика unlimited в батч-квотах (#2554) 2026-07-30 19:17:11 +00:00

Merged #2563 feat(tradein/team): team-management API — employees CRUD, quotas, stats (#2554) 2026-07-30 18:38:26 +00:00

Merged #2562 feat(tradein/ui): login-форма + session-aware RouteGuard (#2555) 2026-07-30 18:10:47 +00:00

Merged #2561 feat(tradein/auth): auth-core — login/logout, sessions, dual-mode rbac (#2552) 2026-07-30 17:19:45 +00:00

Merged #2560 feat(tradein/auth): password hashing + session config foundation (#2550) 2026-07-30 07:04:56 +00:00

Merged #2559 feat(tradein/db): tradein_users + tradein_sessions schema (#2551) 2026-07-30 06:59:23 +00:00

Merged #2553 test(tradein/rbac): user2 → expired в test_get_role_known_users (после #2548) 2026-07-30 06:23:35 +00:00

Merged #2548 fix(tradein/auth): закрыть доступ user2 (Брусника) — role pilot → expired 2026-07-30 06:09:57 +00:00

Merged #2544 feat(tradein/auth): восстановить доступ praktika + безлимит через данные вместо хардкода 2026-07-26 23:29:54 +00:00

Merged #2543 fix(tradein/tgbot): ограничение частоты на отправителя в мосте поддержки 2026-07-26 23:16:58 +00:00

Merged #2541 fix(tradein/tests): тесты авторизации проверяют настоящий guard + реальный рендер PDF 2026-07-26 23:04:44 +00:00

Merged #2540 fix(tradein/devops): проверка всего стека после деплоя + запас на остановку 2026-07-26 22:57:42 +00:00

Merged #2539 fix(tradein/sql): цена в подписи дедупликации «доли квартир дома в продаже» 2026-07-26 22:50:39 +00:00

Merged #2536 fix(tradein/security): утечка ключа прокси, аудит действий админа, отличимость неудачного входа, IDOR в заявке 2026-07-26 22:42:16 +00:00

Merged #2535 fix(tradein/scrapers): детекция дрейфа разметки вместо тихой пустоты 2026-07-26 22:33:55 +00:00

Merged #2538 fix(tradein): откат транзакции в backfill + неотрицательный счётчик квот 2026-07-26 22:21:09 +00:00

Merged #2534 fix(tradein/estimator): граница номера дома в подборе аналогов «тот же дом» 2026-07-26 22:07:01 +00:00

Merged #2542 fix(tradein/v2): доступность — ориентир главного содержимого и заголовок первого уровня 2026-07-26 22:03:44 +00:00

Merged #2537 fix(tradein/v2): заглушка карты в шапке заезжала под адресную карточку 2026-07-26 22:00:24 +00:00

Merged #2531 fix(tradein/location): заменить сломанный коэффициент локации на калиброванный индекс 2026-07-26 21:48:16 +00:00

Merged #2533 feat(tradein/ui): окно чата поддержки на сайте вместо ухода в Telegram 2026-07-26 20:52:31 +00:00

Merged #2532 feat(tradein/support): веб-чат поддержки — серверная часть поверх Telegram-моста 2026-07-26 20:43:48 +00:00

Merged #2530 fix(tradein/v2): вернуть адресную карточку поверх карты и координаты при restore-by-id 2026-07-26 20:26:09 +00:00

Merged #2529 fix(tradein/ui): мини-карта адреса вместо статичного фото чужого дома в шапке 2026-07-26 20:15:54 +00:00

Merged #2528 fix(tradein/v2): настоящая карта Leaflet+OSM вместо декоративного псевдо-SVG 2026-07-26 20:02:29 +00:00

Merged #2527 feat(tradein/ui): вход в поддержку с сайта — плавающая кнопка + живая «Помощь» 2026-07-16 19:11:58 +00:00

Merged #2526 feat(tradein/tgbot): Telegram support-мост @MERAsupport_bot 2026-07-16 18:26:58 +00:00

Merged #2525 fix(tradein/scraper): per-city SERP location for oblast city-sweep (#12) 2026-07-13 21:41:08 +00:00

Merged #2524 feat(tradein/ui): admin links to audit + analytics in UserMenu 2026-07-13 21:16:30 +00:00

Merged #2523 fix(tradein/avito): route sidecar timeout/transport errors as transient, not crash 2026-07-13 20:59:39 +00:00

Merged #2522 fix(tradein/audit): exclude /api/v1/admin/* from api_request events 2026-07-13 20:55:17 +00:00

Merged #2521 feat(tradein/admin): audit + activity dashboards (Feature 2/3 UI) 2026-07-13 20:45:35 +00:00

Merged #2520 feat(tradein/admin): audit + analytics read API over user_events 2026-07-13 20:26:59 +00:00

Merged #2518 fix(tradein/estimator): analogs cards match n_analogs, no cross-source dups 2026-07-13 20:19:21 +00:00

Merged #2516 fix(tradein/auth): honest 401/error screens in RouteGuard instead of misleading text 2026-07-13 20:19:13 +00:00

Merged #2517 fix(tradein/quota): per-user quota override + no burn on empty result 2026-07-13 20:18:43 +00:00

Merged #2519 feat(tradein/audit): request-audit middleware + estimate_request logging → user_events 2026-07-13 20:09:22 +00:00

Merged #2515 feat(tradein/db): user_events table — unified login/IP audit + behavior event log 2026-07-13 19:47:27 +00:00

Merged #2514 feat(tradein/ui): Telegram feedback button in Topbar (env-gated) 2026-07-13 19:44:01 +00:00

Merged #2513 fix(tradein/pdf): МЕРА branding + 4-page report (no empty pages) 2026-07-13 18:04:08 +00:00

Merged #2512 fix(tradein/auth): restore brusnika (user2) pilot access 2026-07-13 15:33:37 +00:00

Merged #2511 feat(tradein/lead): persist 152-ФЗ proof-of-consent (LOW audit R2 #9) 2026-07-12 22:13:38 +00:00

Merged #2510 fix(tradein/scheduler): re-enable deactivate_stale_domklik now that domclick sweeps run (LOW audit R2 #10) 2026-07-12 22:12:13 +00:00

Merged #2509 fix(tradein/location-coef): re-center coefficient band so a strong central location ~= 1.0 (LOW audit R2 #7a) 2026-07-12 22:12:11 +00:00

Merged #2508 fix(tradein/v2): location coefficient informational + price-history clarity (LOW audit R2 #7c/#8) 2026-07-12 22:11:09 +00:00

Merged #2507 fix(tradein/scrapers): clamp implausible listing/publish dates (LOW audit R2 #6) 2026-07-12 22:11:07 +00:00

Merged #2506 fix(tradein/pdf): scale offer-page rent by room count (LOW audit R2 #5) 2026-07-12 22:11:05 +00:00

Merged #2505 fix(tradein/estimator): honest repair-note + ratio_basis label; doc EKB-calibrated constants (LOW audit R2 #1-4) 2026-07-12 22:11:04 +00:00

Merged #2504 fix(tradein/geocoder): gate EKB-local tiers for non-EKB oblast addresses (#11) 2026-07-12 21:08:50 +00:00

Merged #2502 fix(tradein/matching): Tier-2a city-guard для non-ЕКБ coord-less (п.2, defense-in-depth) 2026-07-12 21:04:29 +00:00

Merged #2503 feat(tradein): sber-index freshness monitor (п.1 observability) 2026-07-12 20:31:20 +00:00

Merged #2501 refactor(tradein): консолидировать corridor/street-deals city-scope на _resolve_target_city (п.3) 2026-07-12 20:31:06 +00:00

Merged #2500 fix(tradein): oblast avito-sweep city-slug + Tier-2b geo-guard (R2, latent) 2026-07-12 19:42:31 +00:00

Merged #2499 fix(tradein/v2): honesty + a11y — histogram outlier-guard, scatter-релейбл, mobile-notice, keyboard-nav (R2) 2026-07-12 19:42:16 +00:00

Merged #2498 fix(tradein/rbac): энфорсить roles.yaml scope на всех non-admin путях (R2 H3 security) 2026-07-12 19:28:39 +00:00

Merged #2497 fix(tradein/lead): phone digit-guard, убрать dead landing-литерал, 152-ФЗ audit (R2) 2026-07-12 19:28:27 +00:00

Merged #2496 fix(tradein): ingest/scheduler integrity — year sanity, propagate geo-guard, dkp_import counters + DO UPDATE (R2) 2026-07-12 19:20:11 +00:00

Merged #2495 fix(tradein): image_sanitizer — reject decompression-bomb до декода (R2 security) 2026-07-12 19:19:40 +00:00

Merged #2494 fix(tradein/pdf): честность отчёта — убрать фейк-сроки, хардкод EKБ, противоречивый дисконт (R2) 2026-07-12 19:19:09 +00:00

Merged #2493 fix(tradein/estimator): СберИндекс только вторичка + confidence dispersion-ceiling (R2 H1+H2) 2026-07-12 19:06:44 +00:00

Merged #2492 fix(tradein/estimator): non-EKB headline из deals + geo-bound Tier-S analog leak 2026-07-12 18:49:09 +00:00

Merged #2491 feat(tradein/backtest): --city per-city валидация точности + corridor city-parity 2026-07-12 17:51:13 +00:00

Merged #2490 fix(tradein/estimator): резолвить target-город коридора из payload.address (C2 hotfix) 2026-07-12 17:50:20 +00:00

Merged #2488 fix(tradein/estimator): city-scope ДКП-коридора + oblast city-tokens/bbox 2026-07-12 17:21:56 +00:00

Merged #2489 fix(tradein): city-scope ДКП-запросы — убрать oblast-контаминацию (C1+C2) 2026-07-12 17:20:32 +00:00

Merged #2487 feat(tradein/scraper): per-city sweep capability для 5 городов области (schedules disabled) 2026-07-12 17:10:23 +00:00

Merged #2486 fix(tradein/dadata): suggest-fallback для house_fias_id когда CLEAN выключен 2026-07-12 16:59:30 +00:00

Merged #2485 fix(tradein/estimator): per-city ценовой band ДКП-сделок для всей Свердловской обл. (66) 2026-07-12 16:09:05 +00:00

Merged #2484 fix(tradein/geocoder): раз-хардкод геокодера/DaData на всю Свердловскую обл. (region 66) 2026-07-12 15:35:28 +00:00

Merged #2483 fix(tradein/v2): аналитика — выровнять два графика в равную высоту 2026-07-12 15:16:35 +00:00

Merged #2482 fix(tradein/ingest): раз-хардкод rosreestr DKP импорта на всю Свердловскую обл. (region 66) 2026-07-12 15:14:23 +00:00

Merged #2481 fix(tradein/v2): честность+консистентность — реконсиляция счётчика аналогов, убрать фейк-donut/линейку, outlier-guard, created_at, дисклеймеры 2026-07-12 15:09:11 +00:00

Merged #2480 fix(tradein/v2): аналитика — 2 графика в ряд, чтобы Цена×срок влезала на экран 2026-07-12 14:56:08 +00:00

Merged #2479 fix(tradein/v2): polish АНАЛИТИКА — растянуть scatter, клэмп оси к 0, честные легенды/бакеты, убрать фейк-тренд 2026-07-12 14:37:06 +00:00

Merged #2478 feat(tradein/v2): карта вторички — сделки Росреестра + объявления по источникам (SourcesView) 2026-07-12 13:26:56 +00:00

Merged #2477 fix(tradein): repoint rosreestr_poll to /data-sets/ + verify Content-Type (СДЕЛКИ dataset moved off /opendata) 2026-07-12 13:21:59 +00:00

Merged #2476 feat(tradein): fill houses.year_built/material_walls from ДОМ.РФ КР1.1/1.2 + zhkh_year, propagate to listings (#2013) 2026-07-12 13:12:08 +00:00

Merged #2475 tech-debt(tradein/estimator): collapse won estimate_* flags into defaults (#1970) 2026-07-12 12:46:18 +00:00

Merged #2473 test(rbac): user2 expected role expired after brusnika trial cutoff 2026-07-09 16:33:20 +00:00

Merged #2472 fix(tradein/auth): expire brusnika (user2) trial access 2026-07-09 16:07:55 +00:00

Merged #2471 fix(honesty): true competitors/neighbors totals + permits truncation disclosure (#2464 cluster B) 2026-07-08 08:31:03 +00:00

Merged #2470 fix(analytics): de-inflate domrf_kn snapshot counts (8.49×) + backfill UPSERT columns (#2464) 2026-07-08 07:30:14 +00:00

Merged #2469 fix(site_finder): SAVEPOINT supply/market + convert 2 bare rollbacks (#2464 Wave 2) 2026-07-08 06:46:10 +00:00

Merged #2468 fix(site_finder): SAVEPOINT-isolate gate-lookup db.execute swallows (#2464 Wave 2) 2026-07-08 06:46:05 +00:00

Merged #2467 fix(site_finder): SAVEPOINT-isolate quarter-dump lookup db.execute (#2464 Wave 2) 2026-07-08 06:30:33 +00:00

Merged #2466 fix(forecasting): SAVEPOINT-isolate §22 db.execute failures + close RELEASE-trap (#2464) 2026-07-08 05:41:36 +00:00

Merged #2465 fix(site_finder): SAVEPOINT-isolate DB errors across cluster A (#2464) 2026-07-07 12:50:12 +00:00

Merged #2463 fix(concept): §7 massing-сцена осознаёт весь MultiPolygon (соседи уезжали до 1.6км) (#2180) 2026-07-07 08:10:28 +00:00

Merged #2461 fix(scrapers): rate-limit/backoff/circuit-breaker для ОКН EGRKN-скрапера (#2445-D3) 2026-07-05 20:09:19 +00:00

Merged #2460 fix(workers): izyatie per-doc isolation + newbuilding-crossload breadcrumb (#2445-D5/D6) 2026-07-05 20:09:13 +00:00

Merged #2459 fix(scrapers): WAF-guard эндпоинтов + throttled catalog BrowserSession (#2445-D1/D2) 2026-07-05 20:09:07 +00:00

Merged #2458 fix(backend): reservation_ingest пейсинг + короткоживущая DB-сессия (#2445-D4) 2026-07-05 20:09:01 +00:00

Merged #2456 fix(export): недостающая §13.7 «Уверенность» в PDF-экспортёре отчёта (#2445-C2) 2026-07-05 19:40:39 +00:00

Merged #2455 fix(generative): устаревший VAT/office caveat в concept PDF (#2445-C1) 2026-07-05 19:40:31 +00:00

Merged #2454 fix(site-finder): remount analysis-дерева при смене cad (#2445-B4) 2026-07-05 19:20:37 +00:00

Merged #2451 fix(frontend): нейтральный fallback для gate/velocity enum-lookup (#2445-B2/B3) 2026-07-05 19:20:29 +00:00

Merged #2453 fix(generative): отклонять спроецированные координаты до pyproj CRSError → 422 (#2445-B1) 2026-07-05 19:20:21 +00:00

Merged #2450 fix(site-finder): true-counts вместо молча-усечённых len(list) в connection-points/utility (#2445-A1/A2) 2026-07-05 18:54:50 +00:00

Merged #2448 fix(site-finder): раскрыть proxy-fraction в EKB-median velocity-бенчмарке (#2445-A4) 2026-07-05 18:54:43 +00:00

Merged #2447 fix(site-finder): competitors avg-price по per-object снапшоту, не глобальному (#2445-A5) 2026-07-05 18:54:37 +00:00

Merged #2446 fix(site-finder): L2 hidden-supply не обнуляет неизвестный flat_count (#2445-A3) 2026-07-05 18:54:15 +00:00

Merged #2444 feat(scrapers): wire per-flat DOM.РФ catalog scraper + propagate catalog_url_hash (#2442) 2026-07-05 17:00:59 +00:00

Merged #2441 feat(scrapers): extract + download DOM.РФ flat plan images (#2440) 2026-07-05 16:23:30 +00:00

Merged #2439 fix(devops): переносим deploy-obsidian.yml в .forgejo/workflows/ (#2416) 2026-07-05 15:34:56 +00:00

Merged #2438 fix(tradein/cian): extract_all_states — discover new .concat() format, not just legacy .push() 2026-07-04 21:03:33 +00:00

Merged #2437 fix(tradein/cian): персист bti_data/valuation house_info в houses + дедуп УК (#2435) 2026-07-04 20:21:33 +00:00

Merged #2436 feat(tradein/domclick): production Layer B detail-backfill orchestrator (#2000) 2026-07-04 19:49:07 +00:00

Merged #2434 feat(tradein/pdf): редизайн отчёта в реальном языке МЕРА (v2 HUD) 2026-07-04 18:41:21 +00:00

Merged #2433 feat(tradein/domclick): cookie-injection MVP для обхода QRATOR-блока (#2000) 2026-07-04 17:49:40 +00:00

Merged #2432 fix(tradein/estimator): восстановить и канонизировать корпус дома в дедупе (регрессия #2429) 2026-07-04 17:08:40 +00:00

Merged #2430 fix(tradein/domclick): органический заход через SERP перед card-fetch (anti-QRATOR) 2026-07-04 16:39:47 +00:00

Merged #2429 fix(tradein/estimator): дом «2» вместо «15» при глухом названии станции метро в avito-адресе 2026-07-04 15:50:50 +00:00

Merged #2428 fix(tradein/v2): гонка при клике по строке «Предыдущие оценки» — отчёт не загружался 2026-07-04 14:47:02 +00:00

Merged #2427 fix(tradein/pdf): честный embedded-шрифт (PT Sans/PT Serif) + matplotlib-график вместо div 2026-07-04 14:39:38 +00:00

Merged #2426 chore(tradein/proxy-pool): добавить domclick в provider_affinity CHECK (residential ASocks для #2000) 2026-07-04 14:25:41 +00:00

Merged #2424 feat(tradein/v2): кликабельные строки + параметры в оверлее «Предыдущие оценки» 2026-07-04 13:49:19 +00:00

Merged #2421 feat(exporters): зеркалим permits_nearby (ГИСОГД 500м) в DOCX §6 2026-07-04 13:28:01 +00:00

Merged #2419 chore(tradein/scrapers): удалить весь legacy scrapers/ каталог — final E (#2397, #2277) 2026-07-04 13:11:14 +00:00

Merged #2420 feat(tradein/history): вернуть все параметры оценки в GET /history 2026-07-04 13:09:23 +00:00

Merged #2418 fix(devops): cleanup-merged-worktrees.sh — 3 бага, найденные вживую на 69 забытых worktree 2026-07-04 13:00:14 +00:00

Merged #2417 fix(tradein/estimator): устранить остаточные кросс-сорс дубли (#2291) 2026-07-04 12:58:16 +00:00

Merged #2412 refactor(tradein/tasks): yandex_newbuilding_sweep на kit + config= (#2397 Part D5) 2026-07-04 12:29:57 +00:00

Merged #2414 refactor(tradein/admin): debug newbuilding endpoints на kit + config=, fix stray await (#2397 Part D4) 2026-07-04 12:29:52 +00:00

Merged #2415 refactor(tradein/tasks): newbuilding_enrich_backfill на kit cian.newbuilding + config= (#2397 Part D3) 2026-07-04 12:29:42 +00:00

Merged #2411 refactor(tradein/tasks): cian_history_backfill valuation+newbuilding на kit + config= (#2397 Part D2) 2026-07-04 12:29:33 +00:00

Merged #2410 refactor(tradein/tasks): avito_detail_backfill build_warmed_session на kit + config= (#2397 Part D1, #2330) 2026-07-04 12:29:18 +00:00

Merged #2413 fix(devops): couchdb healthcheck ложный 401 — auth /_up кредами 2026-07-04 12:21:00 +00:00

Merged #2407 refactor(tradein/scrapers): удалить 6 осиротевших legacy scraper-модулей + тест-хирургия (#2397 Part E2) 2026-07-04 11:49:44 +00:00

Merged #2405 refactor(tradein/scrapers): удалить legacy scrape_pipeline.py + тест-хирургия (#2397 Part E1) 2026-07-04 11:09:40 +00:00

Merged #2404 fix(tradein/scraper-kit): клампить diff_percent перед INSERT offer_price_history 2026-07-04 10:44:26 +00:00

Merged #2403 feat(site-finder): PermitsNearbyBlock — разрешения на строительство в §6 (#2367 PR-2, frontend-half) 2026-07-04 10:24:49 +00:00

Merged #2402 refactor(tradein/scheduler): удалить legacy scheduler_loop, kit единственный путь (#2397 Part C) 2026-07-04 10:04:16 +00:00

Merged #2401 feat(gisogd66): permits_nearby — точный радиус-запрос РНС/РВЭ (#2367 PR-2, backend-half) 2026-07-04 09:59:50 +00:00

Merged #2400 refactor(tradein/admin): debug sweep endpoints на kit orchestration (#2397 slice A) 2026-07-04 09:16:58 +00:00

Merged #2399 refactor(tradein/avito): avito_detail_backfill off scrape_pipeline helpers (#2397 slice B) 2026-07-04 09:01:41 +00:00

Merged #2398 fix(tradein/v2): смонтировать форму лида (#2377) в живое v2-дерево (#2395) 2026-07-04 08:46:11 +00:00

Merged #2396 fix(tradein/estimator): kitchen_area_m2/ceiling_height_m/is_apartments comp-scoring (#2012) 2026-07-04 08:33:17 +00:00

Merged #2393 feat(tradein/v2): replace mailto lead CTA with real form (#2377) 2026-07-04 08:03:01 +00:00

Merged #2392 fix(tradein/v2): audit #2081 residual — 404 short-circuit, disabled-tab tooltips, stale hex token, ДКП decode 2026-07-04 07:47:57 +00:00

Merged #2394 chore(tradein/scraper-kit): удалить 5 orphaned legacy-модулей (#2277 финальный шаг, частичный) 2026-07-04 07:44:53 +00:00

Merged #2391 fix(tradein/estimator): rebase ground-floor hedonic term onto current main (#2002, #2382) 2026-07-04 07:33:37 +00:00

Merged #2390 feat(tradein/lead): POST /api/v1/trade-in/lead — persist contact leads (#2376) 2026-07-04 07:12:23 +00:00

Merged #2389 fix(tradein/v2): mobile layout — remove overflow floor + honest stacked mobile block (#2275) 2026-07-04 07:02:56 +00:00

Merged #2383 fix(gisogd66): CAST(:geojson AS text) — AmbiguousParameter ронял каждый upsert 2026-07-04 06:55:18 +00:00

Merged #2388 fix(tradein/deploy): atomic recreate + graceful scraper drain + startup-reap (#1951) 2026-07-04 06:49:07 +00:00

Merged #2387 fix(tradein/estimator): lock honest asking_to_sold_ratio invariant + disambiguate torg bases (#2087 M2/M3) 2026-07-04 06:48:52 +00:00

Merged #2384 refactor(tradein/scraper-kit): yandex providers on shared _base.py (#2363) 2026-07-04 06:43:18 +00:00

Merged #2375 refactor(tradein/scraper-kit): avito providers on shared _base.py (#2361) 2026-07-04 06:35:00 +00:00

Merged #2374 refactor(tradein/scraper-kit): cian providers on shared _base.py (#2362) 2026-07-04 06:32:31 +00:00

Merged #2372 refactor(tradein/scraper-kit): domclick providers on shared _base.py (#2364) 2026-07-04 06:24:07 +00:00

Merged #2371 fix(gisogd66): битый 500-сегмент портала — no-retry карточек, circuit breaker, периодический commit 2026-07-04 04:33:45 +00:00

Merged #2370 feat(scrapers): реестр РНС/РВЭ ГИСОГД-СО из открытого API — миграция + лоадер (#2367 PR-1) 2026-07-04 03:26:08 +00:00

Merged #2368 feat(forecast-ui): confidence band на ForecastChart — качественный интервал уверенности (#1926) 2026-07-04 02:21:45 +00:00

Merged #2366 feat(chat): tool get_parcel_info — курируемый градрегламент/ЗОУИТ/ЕГРН в контекст чата 2026-07-04 01:24:43 +00:00

Merged #2365 fix(landing): Trade-In nav как внешний &lt;a&gt; на /trade-in/v2 (ChunkLoadError) 2026-07-04 01:10:59 +00:00

Merged #2360 feat(tradein/scraper-kit): shared base/utils для providers/* (#2358, Foundation) 2026-07-04 00:56:14 +00:00

Merged #2359 fix(tradein/houses): персистить house_class из avito «Класс жилья» и yandex parse (#2003) 2026-07-04 00:49:49 +00:00

Merged #2357 fix(report-pdf): best-effort inline §22-форсайт на холодном участке — отчёт самодостаточен 2026-07-04 00:30:13 +00:00

Merged #2356 fix(tradein/scraper-kit): проброс endpoint= в yandex/cian newbuilding BrowserFetcher (#2322) 2026-07-04 00:17:10 +00:00

Merged #2355 fix(tradein/estimator): честная маркировка quarter-precision дат ДКП + insufficient_data флаг для sell-time-sensitivity (#1995) 2026-07-04 00:14:02 +00:00

Merged #2354 fix(tradein/scraper-kit): проброс config= в avito build_warmed_session (#2330) 2026-07-04 00:04:47 +00:00

Merged #2353 fix(report-ui): ретрай docx-preflight против 502-гонки сразу после ready 2026-07-04 00:03:13 +00:00

Merged #2348 feat(tradein/estimator): switch core valuation call sites to scraper_kit (#2337) 2026-07-03 23:49:11 +00:00

Merged #2347 fix(report): дата сборки в POST-ответе на fast-path из кэша (последний хвост R2 #2259) 2026-07-03 23:44:20 +00:00

Merged #2346 fix(tradein/scrapers): подключить geoportal coords backfill в scheduler (#1967) 2026-07-03 23:25:48 +00:00

Merged #2343 fix(reports): HEAD-поддержка на /report/download — qa поймал 405, DOCX не скачивался из UI 2026-07-03 23:13:24 +00:00

Merged #2345 test(tradein/scraper-kit): prove yandex_valuation kit path safe for #2337 (#2336) 2026-07-03 23:04:14 +00:00

Merged #2344 test(tradein/scraper-kit): golden-parity + config-footgun proof for avito_imv (#2334) 2026-07-03 23:04:12 +00:00

Merged #2342 test(tradein/scraper-kit): prove cian_valuation kit path safe for #2337 (#2335) 2026-07-03 22:59:46 +00:00

Merged #2341 fix(tradein/v2): подключить реальные данные location-coef в LocationDrawer + HeroBar (#2317) 2026-07-03 22:47:41 +00:00

Merged #2340 fix(tradein/avito): консолидировать house_type normalizer + актуализировать docstring (#2009) 2026-07-03 22:47:06 +00:00

Merged #2339 fix(tradein/scrapers): cian_city_sweep честный статус при defensive abort (#1949) 2026-07-03 22:45:48 +00:00

Merged #2338 feat(ptica/reports): DOCX-скачивание полного отчёта в UI (#2259 R2) 2026-07-03 22:40:12 +00:00

Merged #2333 feat(tradein/scraper-kit): migrate backfill/enrichment tasks to kit (#2310) 2026-07-03 22:28:11 +00:00

Merged #2331 perf(sql): покрывающий индекс под offer-trend §4.3 — 6.8с → 1.1с (миграция 186) 2026-07-03 22:26:30 +00:00

Merged #2329 fix(market-metrics): offer-trend таймаут — warning вместо exception (ложные GlitchTip-события) 2026-07-03 22:26:19 +00:00

Merged #2332 fix(tradein/v2): гейтить PDF-кнопку на hasEstimate (#2081 M4) 2026-07-03 22:16:01 +00:00

Merged #2328 fix(tradein/scrapers): wire proxy_pool into Avito legacy pipeline, rotate on ban (#2202) 2026-07-03 21:48:16 +00:00

Merged #2325 fix(freshness): пороги nspd_geo под on-demand каденцию (убирает еженедельный ложный stale) 2026-07-03 21:46:31 +00:00

Merged #2327 fix(tradein/pdf): sold-price consistency + актуальные допущения + свой дизайн отчёта 2026-07-03 21:43:40 +00:00

Merged #2326 feat(tradein/scraper-kit): migrate admin debug endpoints + domclick ingest to kit (#2305) 2026-07-03 21:41:12 +00:00

Merged #2319 fix(generative): честные типы в dxf-экспортёре — strict mypy проходит (#2316) 2026-07-03 21:40:49 +00:00

Merged #2324 feat(tradein/scraper-kit): migrate cian/yandex price-history & session to kit (#2306) 2026-07-03 21:33:10 +00:00

Merged #2321 fix(tradein/v2): пометка «В ОФФЕР» + сузить реестровую карточку (#1991) 2026-07-03 21:28:51 +00:00

Merged #2318 feat(tradein/scraper-kit): port domclick_detail + ekb_geoportal_client to kit (#2307) 2026-07-03 21:18:40 +00:00

Merged #2315 fix(generative): MultiPolygon-участки — крупнейший контур в _parse_polygon (#2295) 2026-07-03 21:13:01 +00:00

Merged #2314 feat(tradein): location-coef MVP через FDW-мост к OSM POI Птицы (#2045 PR-B) 2026-07-03 20:55:32 +00:00

Merged #2313 test(tradein): reusable legacy/scraper_kit parity harness (#2304) 2026-07-03 20:52:26 +00:00

Merged #2312 fix(tradein/v2): визуальный аудит — иерархия/честность/микрокопи (#2266) 2026-07-03 20:35:39 +00:00

Merged #2311 fix(tradein/estimator): дедуп кросс-source дублей в anchor-пути (#2265 follow-up) 2026-07-03 20:35:38 +00:00

Merged #2303 fix(tradein/pii): удалить телефоны продавцов (NULL) + PII клиента (DROP) (#2217, #1969) 2026-07-03 20:21:47 +00:00

Merged #2301 feat(exporters): DOCX-вариант полного отчёта ПТИЦА (#2259 R2) 2026-07-03 20:21:19 +00:00

Merged #2300 feat(tradein/v2): реальный display-профиль в TopNav через /me (#2046) 2026-07-03 20:17:14 +00:00

Merged #2299 feat(site-finder): view v_tradein_osm_poi_ekb для FDW-моста trade-in location-coef (#2045 PR-A) 2026-07-03 20:14:23 +00:00

Merged #2302 chore(claude): явный CI-gate перед merge (false-green trap) + анти-rubber-stamp формат verdict'а 2026-07-03 20:09:55 +00:00

Merged #2298 fix(tradein/v2): реальный cv + единый source-registry в overlay-мапперах (#2040, #2041) 2026-07-03 20:00:57 +00:00

Merged #2297 fix(full-report): generic-маркеры областных админ-единиц в ЕКБ-фильтре тепла 2026-07-03 19:59:59 +00:00

Merged #2296 fix(full-report): §7 на MultiPolygon + чистка печатного шума §3/§4 (вычитка живого отчёта) 2026-07-03 19:33:11 +00:00

Merged #2293 feat(tradein/estimator): сегментная поправка headline+выкуп по ценовому бэнду за флагом (#2255) 2026-07-03 18:43:39 +00:00

Merged #2292 chore(claude): token-diet — worker-агенты на sonnet (opus только deep-code-reviewer) 2026-07-03 15:49:38 +00:00

Merged #2290 fix(tradein/estimator): парсер адресов — имя-перед-типом, glued-суффикс, микрорайоны (#2269) 2026-07-03 13:03:26 +00:00

Merged #2289 fix(site-finder): «Скачать отчёт» без пустых скобок на fast-path из кэша 2026-07-03 11:32:05 +00:00

Merged #2288 feat(site-finder): кнопка «Полный отчёт (PDF)» (#2259 PR-E, финал эпика) 2026-07-03 11:18:33 +00:00

Merged #2287 feat(reports): Celery-джоба полного PDF-отчёта + кэш + 3 endpoint'а (#2259 PR-D) 2026-07-03 11:13:07 +00:00

Merged #2286 feat(exporters): серверный статик-рендер карт для PDF-отчёта (#2259 PR-C Maps) 2026-07-03 10:29:24 +00:00

Merged #2285 feat(exporters): PURE HTML §4–§7 полного PDF-отчёта (#2259 PR-B Sections) 2026-07-03 10:10:44 +00:00

Merged #2284 feat(exporters): PURE HTML-агрегатор §1–§3 + альтернативы (#2259 PR-A Foundation) 2026-07-03 09:52:33 +00:00

Merged #2283 fix(site-finder): SET LOCAL литералом — bind-параметр ломал nearby_network_zones 2026-07-03 08:44:39 +00:00

Merged #2282 feat(site-finder): блок «Сети рядом с участком» в §3 (Фаза C2-UI) 2026-07-03 08:24:00 +00:00

Merged #2281 feat(site-finder): позитив-разрез сетевых ЗОУИТ «сеть рядом с участком» (Фаза C2/C3) 2026-07-03 08:18:25 +00:00

Merged #2280 feat(site-finder): теплотрассы из OSM в слой инженерной инфраструктуры (Фаза C1) 2026-07-03 08:05:46 +00:00

Merged #2278 feat: ревью-инструмент авто-маппингов Объектив↔ДОМ.РФ (/admin/mapping-review) 2026-07-03 07:59:14 +00:00

Merged #2273 fix(tradein/estimator): кросс-source дедуп street+house union-find + savepoint вокруг ratio-lookup (#2265) 2026-07-03 07:51:48 +00:00

Merged #2279 fix(tradein/v2/a11y): немодальный SectionOverlay + контраст токенов + headings — a11y round 3 (#2264) 2026-07-03 07:47:09 +00:00

Merged #2274 chore(design-sync): durable-инпуты DS-панели tradein — 6 floor-card превью, шрифты Manrope/Plex, source-kit fork-фикс (#2267) 2026-07-03 07:38:42 +00:00

Merged #2276 chore(tradein): полное выключение источника n1 — миграция 165 + вычистка backend/ops/frontend (#2204) 2026-07-03 07:33:29 +00:00

Merged #2272 fix(tradein/scraper-kit): scale cian anchor watchdog for proxy-pool browser fetches (#2160) 2026-07-03 07:09:51 +00:00

Merged #2270 feat(eias-heat): +6 тепло-организаций ЕКБ — ненулевые резервы ×10 (#2119) 2026-07-03 07:02:05 +00:00

Merged #2271 fix(tradein/data): yandex url-«дубли» — каноникализация URL (скрейпер + миграция 164) + manifest 162 (#2235, #2216) 2026-07-03 06:53:27 +00:00

Merged #2263 fix(tradein/data): external_valuations.house_id — резолв в write-path + идемпотентный бэкфилл (#2236) 2026-07-03 06:40:23 +00:00

Merged #2260 feat(exporters): §4.2 supply-only блок в ТЗ-PDF (#2177) 2026-07-03 06:38:24 +00:00

Merged #2268 fix(tradein/scraper-kit): wire browser proxy-pool into yandex/cian SERP + persist activation flags (#2160) 2026-07-03 06:36:59 +00:00

Merged #2257 fix(site-finder): три честности-фикса — B1 ГРС «выход №N» + околонуль + Росреестр-квартал 2026-07-03 06:27:29 +00:00

Merged #2261 fix(tradein/security): admin.py — generic detail + error-id вместо сырого текста исключений (#2234) 2026-07-03 06:27:23 +00:00

Merged #2258 fix(tradein/security): photo-upload — чанковое чтение с капом 10MB + Caddy request_body 12MB (#2233) 2026-07-03 06:15:58 +00:00

Merged #2256 feat(site-finder): «Пересчитать §7 с этой программой» из блока альтернатив (#2181 хвост) 2026-07-03 06:12:02 +00:00

Merged #2232 feat(tradein/ui): честное раскрытие покрытия диапазона в hero (#2209) 2026-07-03 06:06:31 +00:00

Merged #2253 fix(tradein): оставить domklik активным — отключить его TTL-деактивацию (#2204) 2026-07-03 06:00:22 +00:00

Merged #2252 feat(site-finder): OSM-геокод городских ТП/РП ЕКБ (#2119 B2, финальный хвост) 2026-07-03 05:22:03 +00:00

Merged #2251 feat(site-finder): Celery + §3 точки выхода газосети (#2119 B2, PR-4/4 — финал формы-6) 2026-07-03 04:26:42 +00:00

Merged #2250 fix(dadata): фолбэк на suggest/address при отключённой фиче CLEAN 2026-07-03 03:42:40 +00:00

Merged #2249 feat(ekgas): геокод точек выхода через DaData (#2119 B2, PR-3/4) 2026-07-03 03:19:19 +00:00

Merged #2248 fix(ekgas): label-детект сетки формы 6 — живой файл сдвинут (#2119 B2) 2026-07-03 02:51:04 +00:00

Merged #2247 feat(site-finder): лоадер точек выхода ГРС «Екатеринбурггаз» — форма 6 (#2119 B2, PR-2/4) 2026-07-03 02:25:13 +00:00

Merged #2246 feat(db): схема gas_grs_outlet_points — форма 6 Екатеринбурггаза (#2119 B2, PR-1/4) 2026-07-03 02:15:51 +00:00

Merged #2245 fix(etl): гео-проход — префикс «г Екатеринбург» адресам без города (#2177 остаток) 2026-07-03 01:41:20 +00:00

Merged #2244 feat(etl): гео-проход auto_core_geo_v6 для tier_b/ambiguous mapping (#2177 остаток) 2026-07-03 01:19:59 +00:00

Merged #2243 perf(db): physflat-covering индекс v2 с price_per_m2_rub в INCLUDE (#2177 follow-up) 2026-07-03 00:49:08 +00:00

Merged #2242 fix(report): авторетрай §7 с densify — «не вместила ни одной секции» больше не 422 при загрузке 2026-07-03 00:31:26 +00:00

Merged #2241 fix(best-layouts): lots-проекты в пуле core-матчинга — supply-only реально наполняется (#2177) 2026-07-03 00:14:20 +00:00

Merged #2240 feat(site-finder): supply-only fallback в §4.2 — предложение без темпа продаж (#2177 шаг 3) 2026-07-02 23:18:43 +00:00

Merged #2239 feat(best-layouts): атрибуция velocity по ядру комплекса (#2177 шаг 2b) 2026-07-02 22:41:26 +00:00

Merged #2238 fix(vodokanal): column-aligned парсинг DOCX — реальные резервы вместо № п/п (#2119/#2126) 2026-07-02 22:03:16 +00:00

Merged #2237 feat(etl): auto_core_dev_v5 — core-name+dev backfill mapping'а (#2177 шаг 2) 2026-07-02 21:59:17 +00:00

Merged #2231 fix(tradein/ops): health-check валит деплой + mem-лимиты + log-rotation (#2214) 2026-07-02 21:29:31 +00:00

Merged #2230 fix(tradein/estimator): min-width floor ±12% на ценовой диапазон (#2209) 2026-07-02 21:21:29 +00:00

Merged #2229 fix(tradein/security): defense-in-depth trusted-header auth + rate-limiter fix (#2213) 2026-07-02 21:15:59 +00:00

Merged #2228 fix(tradein/deploy): миграции ДО подъёма app-контейнеров + manifest-инвариант (#2216) 2026-07-02 21:03:38 +00:00

Merged #2227 fix(tradein/ui): единый source-registry + честные знаменатели/лейблы источников (#2211) 2026-07-02 20:57:27 +00:00

Merged #2222 feat(site-finder): оптимизатор программ — «Как участок сходится» при отрицательном вердикте (#2181) 2026-07-02 20:57:13 +00:00

Merged #2226 feat(tradein/monitor): алерт на staleness данных deals по max(deal_date) (#2212) 2026-07-02 20:50:37 +00:00

Merged #2225 perf(tradein): снять блокировку event loop на POST /estimate (#2207) 2026-07-02 20:39:49 +00:00

Merged #2224 fix(tradein/scrapers): bump scraped_at при ре-подтверждении живым + бэкфилл (#2206) 2026-07-02 20:30:02 +00:00

Merged #2223 fix(tradein): не запекать preview-флаг в прод-образ + noindex/баннер (#2205) 2026-07-02 20:21:59 +00:00

Merged #2221 fix(tradein): deactivate_stale для domklik/n1 + честная freshness по scraped_at (#2204) 2026-07-02 20:10:35 +00:00

Merged #2220 ci(tradein): pre-merge гейт — backend pytest + frontend type-check/lint (#2208) 2026-07-02 19:56:23 +00:00

Merged #2198 fix(best-layouts): покрытие §4.2 в комплексах, не в сырых obj_id (#2177, шаг 1/3) 2026-07-02 19:34:12 +00:00

Merged #2210 feat(concept): 3D-макет окружения — соседние здания из кадастра в §7 (#2180) 2026-07-02 19:33:45 +00:00

Merged #2219 feat(proxy-pool): P4 — browser dynamic pool-proxy (acquire→/fetch→relaunch) + orchestration wiring, ship-dark (#2164) 2026-07-02 19:20:30 +00:00

Merged #2199 fix(tradein/deploy): scraper+backend paths-filter — matching/dedup/scraper-kit trigger rebuilds (#2188) 2026-07-02 19:04:21 +00:00

Merged #2197 feat(proxy-pool): P3 — kit curl-paths acquire/release from pool behind USE_PROXY_POOL_CURL, ship-dark (#2163) 2026-07-02 18:56:37 +00:00

Merged #2195 fix(tradein/dedup): drop geo-guard in fias-pass — same-fias identity outranks proximity (#2187) 2026-07-02 18:51:55 +00:00

Merged #2194 fix(tradein/matching): P1 extended — never create a house from a numberless address (no cadastral) 2026-07-02 18:46:21 +00:00

Merged #2196 feat(rewire): scheduler_main → kit-scheduler behind USE_KIT_SCHEDULER flag, ship-dark (#2192) 2026-07-02 18:41:13 +00:00

Merged #2193 fix(tradein/v2): keep top nav active over overlays, stronger «К оценке» button, backdrop-close 2026-07-02 18:39:28 +00:00

Merged #2191 fix(eias-heat): не терять резерв при одинаковых именах систем (#2119 B2) 2026-07-02 18:34:43 +00:00

Merged #2190 feat(site-finder): §4.3 тренд из цен предложения Объектива при устаревших сделках (#2178) 2026-07-02 18:33:17 +00:00

Merged #2186 feat(tradein/frontend): pass suggest fias_id as target_fias_id in estimate request 2026-07-02 18:08:28 +00:00

Merged #2173 feat(tradein/estimator): кросс-source физдедуп аналогов за флагом (#2087 H4) 2026-07-02 18:04:39 +00:00

Merged #2185 fix(tradein/dedup): fias-key clustering + cross-fias merge guard + identity carry-over (#1772 follow-up) 2026-07-02 18:00:59 +00:00

Merged #2184 feat(tradein/matching): fias_exact tier + estimate fias persist + suggest fias_id contract 2026-07-02 17:56:13 +00:00

Merged #2176 fix(eias-heat): column-aligned парсинг листа ТП по реальной сетке (#2119 B2) 2026-07-02 17:55:16 +00:00

Merged #2183 feat(report): §7 открыт по умолчанию + выделение участка на подложке + шире карта (#2179) 2026-07-02 17:52:22 +00:00

Merged #2182 feat(scraper-kit): copy scheduler with registry-dispatch (25+ trigger_* → dict), strangler (#2136) 2026-07-02 17:44:03 +00:00

Merged #2175 fix(tradein/estimator): не отравлять asking→sold ratio-кэш транзиентной ошибкой 2026-07-02 17:37:12 +00:00

Merged #2174 feat(scraper-kit): copy remaining sweep orchestrators (yandex/cian/domclick/full-load), strangler (#2135 F2) 2026-07-02 17:29:06 +00:00

Merged #2172 fix(eias-heat): ссылка TemplatePrinter из onclick + период «N кв. YYYY» (#2119 B2) 2026-07-02 17:24:27 +00:00

Merged #2171 feat(scraper-kit): copy sweep pipeline orchestration (avito) with protocol injection, strangler (#2135) 2026-07-02 17:08:41 +00:00

Merged #2170 fix(scraper-kit): sync RealScraperConfig adapter with ScraperConfig protocol (cookie_encryption_key) 2026-07-02 16:46:07 +00:00

Merged #2165 feat(site-finder): ЕЭСК-резервы городских ПС/ТП + тепло из ФГИС ФАС (#2119 B2) 2026-07-02 16:44:58 +00:00

Merged #2169 feat(proxy-pool): pool service (acquire/release/health) + healthcheck scheduler task (#2162) 2026-07-02 16:41:41 +00:00

Merged #2168 refactor(scraper-kit): unify price bisection engine across providers + dedup (#2134) 2026-07-02 16:41:05 +00:00

Merged #2166 fix(tradein/frontend): redirect legacy /trade-in root to canonical /v2 2026-07-02 16:33:09 +00:00

Merged #2167 feat(proxy-pool): scrape_proxies table + admin bulk-load/list endpoints (#2161) 2026-07-02 16:31:22 +00:00

Merged #2159 fix(tradein/v2): честная подача интервала оценки — одна цифра-герой + честный разброс 2026-07-02 16:20:07 +00:00

Merged #2158 feat(scraper-kit): copy yandex providers with protocol injection, strangler (#2133 yandex) 2026-07-02 16:13:33 +00:00

Merged #2157 feat(scraper-kit): copy cian providers with protocol injection, strangler (#2133 cian) 2026-07-02 16:11:32 +00:00

Merged #2156 feat(scraper-kit): copy domclick provider with protocol injection, strangler (#2133 domclick) 2026-07-02 16:08:10 +00:00

Merged #2155 feat(scraper-kit): copy avito providers with protocol injection, strangler (#2133 avito) 2026-07-02 15:58:01 +00:00

Merged #2154 docs(claude): delegation.md — routing-таблица, effort-правила, экономика пачек 2026-07-02 15:55:00 +00:00

Merged #2153 feat(scraper-kit): copy core layer (base/save_listings/transport) with protocol injection, strangler (#2132) 2026-07-02 15:43:16 +00:00

Merged #2152 fix(tradein/estimator): честный asking_to_sold_ratio — бейдж «−N% к рынку» больше не врёт 2026-07-02 15:37:01 +00:00

Merged #2146 chore(claude): актуализация .claude-конфигов — политика 2026-06-27, delegation-лимиты, stale refs 2026-07-02 15:31:49 +00:00

Merged #2151 feat(scraper-kit): protocol boundaries (matcher/config/session/jobs) + backend adapters (#2131) 2026-07-02 15:25:39 +00:00

Merged #2150 chore(claude): security hardening — dangerous-commands hook, settings в git, restricted DB, throttle 2026-07-02 15:23:12 +00:00

Merged #2149 feat(market): revoke gendesign_reader direct SELECT on raw tables (#2138 step 3/3) 2026-07-02 15:11:56 +00:00

Merged #2148 feat(etl): read tradein data via market.v_* contract views (#2138 step 2/3) 2026-07-02 15:00:39 +00:00

Merged #2147 feat(market): grant gendesign_reader SELECT on contract views (#2138 step 1/3) 2026-07-02 14:47:50 +00:00

Merged #2145 fix(site-finder): ГРС-парсер переписан под реальную структуру таблицы ГТЕ 2026-07-02 14:45:43 +00:00

Merged #2144 fix(tradein/v2): канонический sources_used — стабильный счётчик «ИСТОЧНИКОВ X/7» (#2087 M1) 2026-07-02 14:31:16 +00:00

Merged #2143 chore(scraper-kit): docker-context wiring + restore backend workspace dep (#2137) 2026-07-02 14:21:39 +00:00

Merged #2139 chore(scraper-kit): scaffold internal package + uv workspace (#2128) 2026-07-02 14:06:08 +00:00

Merged #2142 fix(scrapers/avito): unify _unix_to_date timezone across serp/houses/imv (#2129) 2026-07-02 14:03:12 +00:00

Merged #2141 feat(market): contract views market.v_* over producer tables (#2130) 2026-07-02 14:03:00 +00:00

Merged #2140 feat(tradein): #2043 BE-1 (cv/source_counts/created_at + history/cache-KPI) + #2044 BE-2 (radius_m query-params) 2026-07-02 13:59:09 +00:00

Merged #2125 fix(site-finder): ГРС-лоадер — HARICA-интермедиат в CA-бандл (неполная цепочка Газпрома) 2026-07-02 13:49:15 +00:00

Merged #2124 fix(site-finder): ГРС-лоадер — Russian Trusted CA для домена Газпрома 2026-07-02 13:25:31 +00:00

Merged #2123 feat(site-finder): газ — свободная мощность ГРС + пометка ЕЭСК в §3 (#2119 Фаза B1) 2026-07-02 12:54:06 +00:00

Merged #2122 fix(site-finder): секции отчёта изначально раскрыты («Свернуть» для компакта) 2026-07-02 10:43:33 +00:00

Merged #2121 fix(site-finder): Россети-раскрытие — URL-энкоженные href, ссылки на xlsx не находились 2026-07-02 09:36:15 +00:00

Merged #2120 feat(site-finder): резервы мощности для ТП — электро+вода на карте §3 (#2119 Фаза A) 2026-07-02 08:36:52 +00:00

Merged #2118 fix(site-finder): §4.3 график «По кварталам» — бары вылезали за край карточки 2026-06-30 17:15:56 +00:00

Merged #2117 fix(site-finder): §4.3 — укомпановать 3 колонки в единообразные карточки 2026-06-30 16:51:53 +00:00

Merged #2115 fix(site-finder): §4.3 подпись — убрать сырое имя поля planned_commissioning 2026-06-30 15:54:59 +00:00

Merged #2116 feat(site-finder): прогрессивное раскрытие секций отчёта §1–§6 («Раскрыть всё») 2026-06-30 15:31:34 +00:00

Merged #2114 fix(site-finder): попап конкурента — NUMERIC-поля приходят строкой (цена/площадь не рендерились) 2026-06-30 14:01:01 +00:00

Merged #2113 feat(site-finder): max-info попапы — конкурент / §3-таблица / польз.точка / соседи (#2111) 2026-06-30 13:45:44 +00:00

Merged #2112 feat(site-finder): §3 «Сети и точки подключения» — попапы показывают характеристики (#2111) 2026-06-30 13:16:08 +00:00

Merged #2110 feat(site-finder): §1 POI-точки карты показывают максимум информации 2026-06-30 12:42:14 +00:00

Merged #2109 feat(concept): 3D-масса корпусов на карте с тенями (§7) (#1953) 2026-06-30 11:58:47 +00:00

Merged #2107 feat(networks): человеко-язык типов §3 + реальные имена НСПД-точек (#1953) 2026-06-30 11:34:30 +00:00

Merged #2108 fix(report): §4.3 выравнивание колонок (уплыло) + двойная точка в вердикте (#1953) 2026-06-30 11:29:34 +00:00

Merged #2106 fix(report): sticky-сайдбар навигации — overflow-x: clip вместо hidden (#958) 2026-06-30 11:05:55 +00:00

Merged #2105 fix(report): instant nav jump + scroll-position scrollspy (#958) 2026-06-30 10:45:34 +00:00

Merged #2104 feat(report): nav scrollspy + offset-jump, чат в плавающее окно справа (#958) 2026-06-30 10:29:03 +00:00

Merged #2103 fix(concept): step="any" — stepMismatch блокировал submit «Рассчитать концепцию» (#1953) 2026-06-30 10:09:56 +00:00

Merged #2102 feat(section7): editable section footprint + корпус plural/program hint (#1953) 2026-06-30 09:48:12 +00:00

Merged #2101 feat(section7): unify «Концепция» into one engine driven by building_program (#1953) 2026-06-30 08:35:56 +00:00

Merged #2100 fix(site-finder): §4.2 «Качество данных» — inline-стили (Tailwind flex/gap не применяется) (#1953) 2026-06-30 07:33:12 +00:00

Merged #2099 fix(site-finder): §4.2 «Качество данных» — воздух вокруг разделителя (#1953) 2026-06-30 07:13:17 +00:00

Merged #2098 feat(site-finder): §7 «Концепция» — методики + синхронизация подписей (#1953, batch D) 2026-06-29 12:24:22 +00:00

Merged #2097 fix(site-finder): unify §3 «Сети» table↔map source + enrich popups (#1953, batch C) 2026-06-29 11:56:12 +00:00

Merged #2096 fix(forecast): §6 honesty layer — pegged deficit, non-residential caveat, segment/pipeline note (#1953) 2026-06-29 11:26:36 +00:00

Merged #2095 fix(site-finder): report microcopy batch A — gate titles, breadcrumb area, §4.2/4.3 (#1953) 2026-06-29 08:29:35 +00:00

Merged #2094 fix(site-finder): invest-score advisory flag + velocity data-honesty + h1 a11y (#1926) 2026-06-29 06:42:51 +00:00

Merged #2093 fix(tradein/v2): убрать средний скаттер «ЦЕНА × СРОК ПРОДАЖИ» из результата 2026-06-28 23:21:12 +00:00

Merged #2092 feat(tradein/sale-share): тумблер «Сейчас / За 45 дней» + фильтр «мин. объявлений» 2026-06-28 23:13:14 +00:00

Merged #2091 fix(tradein/v2): источники N1+Restate вон, Домклик в текст; disabled-палитра до AA (#2081 follow-up) 2026-06-28 23:03:49 +00:00

Merged #2089 fix(tradein/avito-detail): живой прогрев сессии + батч-на-сессию — снимает 403 на curl-backfill (#1551) 2026-06-28 22:34:39 +00:00

Merged #2090 fix(tradein): cadastre ЖКХ-fallback + COALESCE merge-key + median-floors guard 2026-06-28 22:34:16 +00:00

Merged #2088 feat(tradein/sale-share): standalone «Поиск домов» — de-Mera + gendsgn.ru/sale-share 2026-06-28 22:23:53 +00:00

Merged #2086 fix(tradein/v2): UI/UX аудит round 2 — AA-контраст, честность чисел, a11y (#2081) 2026-06-28 22:03:39 +00:00

Merged #2085 fix(tradein/dedup): canon cluster-key + geo/digit guard в house-merge (P4c) 2026-06-28 21:53:16 +00:00

Merged #2084 fix(tradein/sale-share): гард по этажности — отсечь near-neighbor mis-match 2026-06-28 21:32:24 +00:00

Merged #2083 fix(tradein/sale-share): дедуп карточки листингов + чистка голых алиасов (#4 + P4a) 2026-06-28 21:23:56 +00:00

Merged #2082 fix(tradein/matching): не сваливать листинги в чужой дом (P1-P3 хардненинг матчера) 2026-06-28 21:07:39 +00:00

Merged #2080 fix(tradein/sale-share): гео-фильтр числителя ≤300м — отсечь mis-bucketed листинги 2026-06-28 20:25:49 +00:00

Merged #2079 fix(tradein/v2): a11y contrast — source badges ≥AA в оверлеях (#2062) 2026-06-28 19:21:37 +00:00

Merged #2078 fix(tradein/v2): a11y P3b — клавиатурная форма 01 (#2062) 2026-06-28 18:58:35 +00:00

Merged #2077 feat(tradein/zhkh): ЖКХ-приоритет знаменателя «квартир в доме» + loader 2026-06-28 18:56:35 +00:00

Merged #2076 fix(tradein/v2): a11y P3a — нативные контролы + модальный диалог + aria-live (#2062) 2026-06-28 18:30:10 +00:00

Merged #2075 fix(tradein): дедуп объявлений по квартире + over_100 NULL-фикс (500 на списке) (148) 2026-06-28 18:04:32 +00:00

Merged #2074 feat(tradein/scheduler): cooperative drain coverage for sweeps/full-loads (phase 3a) 2026-06-28 18:04:02 +00:00

Merged #2073 fix(tradein): канон срезает гео-префиксы (Россия/Екатеринбург/мкр/пр-т) + REINDEX — покрытие 38%→~70% (147) 2026-06-28 17:54:28 +00:00

Merged #2072 fix(tradein/v2): UI/UX-аудит P2 — контент/честность/иерархия (#2062) 2026-06-28 17:52:28 +00:00

Merged #2071 feat(tradein): второй % «за 45 дней» + zhkh-знаменатель slot (146) 2026-06-28 17:51:39 +00:00

Merged #2067 perf(objective_lots): inline DISTINCT ON for 3 view-fullscan consumers + cache landing stats (#1953) 2026-06-28 17:25:42 +00:00

Merged #2070 feat(tradein/scheduler): cooperative SIGTERM-drain — in-flight scrape unit commits before exit (phase 2) 2026-06-28 17:20:12 +00:00

Merged #2069 fix(tradein/v2): a11y follow-up — «скоро» pill contrast + drawer aria-hidden (#2062) 2026-06-28 17:12:13 +00:00

Merged #2068 feat(sitefinder): rosreestr cadastral-value loader + 0.7x denoise of quarter price index 2026-06-28 17:02:13 +00:00

Merged #2065 chore(tradein/deploy): scraper deploy-decouple phase 0+1 — no recreate on infra-only deploys + 120s graceful stop 2026-06-28 16:35:39 +00:00

Merged #2066 fix(tradein/v2): UI/UX-аудит P1 quick-wins (#2062) 2026-06-28 16:34:42 +00:00

Merged #2064 fix(tradein): guard ГАР-undercount знаменателя в v_building_sale_share (145) 2026-06-28 16:05:34 +00:00

Merged #2063 feat(tradein): канонический матч ГАР↔houses (0%→41% yield) + tradein_canon_addr + --match-only 2026-06-28 15:50:08 +00:00

Merged #2061 fix(tradein): гарантировать lxml в backend-образе — bust кэша uv sync + assert import 2026-06-28 15:16:04 +00:00

Merged #2060 fix(tradein/v2): wire РАДИУС (backend radius_m) + map +/− zoom + building image + deglue word+word 2026-06-28 15:04:09 +00:00

Merged #2059 feat(tradein): ГАР-loader знаменателя — apartments-per-house → gar_house_flats + match к houses 2026-06-28 14:54:44 +00:00

Merged #2058 feat(tradein): страница «доля квартир дома в продаже» — % слайдер, адреса, карта 2026-06-28 14:53:39 +00:00

Merged #2056 perf(objective_lots): drop 3 dead indexes (status/rooms_area/bank) — write-amp (#1953) 2026-06-28 14:39:06 +00:00

Merged #2057 fix(tradein/v2): audit findings — de-fabricate location drawer, real map markers, validation, hero image, real user 2026-06-28 14:27:06 +00:00

Merged #2055 feat(tradein): API домов «доли квартир в продаже» — /buildings/sale-share (+ listings, summary) 2026-06-28 14:14:19 +00:00

Merged #2054 perf(objective_lots): inline-pushdown competitors._SOLD_COUNT_SQL + covering physflat index (#1953) 2026-06-28 14:07:50 +00:00

Merged #2053 feat(tradein): схема «доли квартир дома в продаже» — gar_house_flats + houses.gar_* + v_building_sale_share (143) 2026-06-28 13:48:42 +00:00

Merged #2052 feat(tradein/v2): CacheView history + PDF + quota + address autocomplete (FE-5) 2026-06-28 13:15:18 +00:00

Merged #2050 fix(scrapers): разблокировать domrf_kn flats — изоляция flats от poison-extras + throttle (#1945) 2026-06-28 13:03:44 +00:00

Merged #2051 feat(tradein/v2): wire overlays History/Analytics/Sources to real API (FE-2/3/4) 2026-06-28 12:46:50 +00:00

Merged #2049 fix(tradein/v2): address parse (Cyrillic \b bug) + scatter from listing_date 2026-06-28 12:05:00 +00:00

Merged #2048 feat(tradein/v2) [FE-1]: wire main dashboard to real API (mappers + page shell) 2026-06-28 11:50:53 +00:00

Merged #2047 fix(tradein/avito): reap dead 404 listings in detail backfill (don't trip block breaker) 2026-06-28 11:16:58 +00:00

Merged #2037 refactor(tradein/v2): перенос HUD v2 в tradein-mvp (прод-app) → /trade-in/v2 2026-06-28 10:17:11 +00:00

Merged #2035 feat(tradein/v2): HUD-редизайн страницы оценки (Макс) → /trade-in/v2 2026-06-28 09:58:55 +00:00

Merged #2034 fix(tradein/avito): detect HTTP-200 soft-block → rotate (vs silent failed) + coords-priority backfill ordering 2026-06-28 08:06:13 +00:00

Merged #2033 feat(tradein/domclick): local-runner + ingest tooling (mergeable split from #2005) 2026-06-28 07:29:41 +00:00

Merged #2032 fix(objective): physflat-dedup objective_lots — view + inline (request-path) + n_sold window-fix (#1964) 2026-06-28 00:21:46 +00:00

Merged #2031 fix: audit follow-up мелочи — индекс domrf_kn_flats + max_height_m coercion + hide empty reg-date (#1953) 2026-06-27 22:37:14 +00:00

Merged #2030 feat(concept): picker «выбери дом» + каталог-эндпоинт — Stage 3b, финал #1965 2026-06-27 22:08:58 +00:00

Merged #2029 feat(concept): каталог типовых домов + program-placement (#1965 Stage 3a) 2026-06-27 21:40:11 +00:00

Merged #2028 fix(tradein/avito): hard-timeout on detail-backfill fetch — prevent zombie-hang (#1950) 2026-06-27 20:29:28 +00:00

Merged #2027 feat(tradein/estimator): elite-segment manual_review trigger by asking ppm² (#2002) 2026-06-27 20:15:39 +00:00

Merged #2026 feat(concept): живой 3D-massing → пересчёт финмодели в «7. Концепция» (#1965 Stage 2b) 2026-06-27 20:10:42 +00:00

Merged #2024 feat(generative): POST /concepts/recompute — live финрасчёт по massing-program (#1965 Stage 2a) 2026-06-27 19:53:54 +00:00

Merged #2025 chore(tradein/backtest): --resolve-house-id flag to measure Tier-S + IMV anchor (#2002) 2026-06-27 19:44:39 +00:00

Merged #2023 feat(site-finder): «7. Концепция» в light-отчёте — Stage 1 #1965 2026-06-27 19:22:13 +00:00

Merged #2022 feat(tradein/ui): manual-review banner + premium-building badge on estimate (#2002) 2026-06-27 19:09:47 +00:00

Merged #2020 fix(best-layouts): per-object latest snapshot для supply → срок продажи/% продано (#1956) 2026-06-27 18:43:19 +00:00

Merged #2021 feat(tradein): AI-curated premium-building overlay — class + false-positive demotion (#2002) 2026-06-27 18:43:06 +00:00

Merged #2018 fix(forecast): segment + dedup demand/supply → индекс дефицита больше не −1.00 везде (#1959) 2026-06-27 18:18:09 +00:00

Merged #2019 feat(tradein/estimator): manual_review recommendation flag (#2002) 2026-06-27 18:17:24 +00:00

Merged #2017 feat(tradein/cian): promote kitchen/mortgage/apartments + normalize house_type (#2008) 2026-06-27 18:01:51 +00:00

Merged #2016 feat(tradein/yandex): normalize house_type + promote kitchen/ceiling to columns (#2007) 2026-06-27 17:45:12 +00:00

Merged #2015 fix(tradein/estimator): remove dead tier-aware-ratio path — truncation artifact + footgun (#2002) 2026-06-27 17:34:54 +00:00

Merged #2014 fix(tradein/avito): persist house_type + house_catalog_url in save_detail_enrichment (#2009) 2026-06-27 17:30:35 +00:00

Merged #2006 feat(tradein): premium_houses MV + premium_building flag (#2002) 2026-06-27 16:40:39 +00:00

Merged #2004 feat(tradein/estimator): hedonic year+area correction on expected_sold (#2002) 2026-06-27 16:06:08 +00:00

Merged #2001 feat(tradein/estimator): calibrated 80% prediction interval for expected_sold range (#1966) 2026-06-27 14:01:25 +00:00

Merged #1999 feat(tradein/domclick): обогащение Layer A поиска — description, repair-инференс, minhash, seller 2026-06-27 13:37:13 +00:00

Merged #1998 fix(site-finder): сети и точки подключения на карте Раздела 3 (#1961) 2026-06-27 13:00:15 +00:00

Merged #1988 fix(report): человеческий язык в Разделе 6 — дефицит/затоварка, 6.2/6.3/6.5 (#1963) 2026-06-27 12:59:28 +00:00

Merged #1997 feat(tradein/backtest): hermetic estimator regression gate — frozen fixture + baseline (#1966 PR 3/3) 2026-06-27 12:55:36 +00:00

Merged #1987 fix(report): вывести ПЗЗ-градрегламент НСПД в Раздел 1 + coerceFloat КСИТ (#1962) 2026-06-27 12:22:52 +00:00

Merged #1986 fix(tradein/auth): always-available logout button on NoAccessScreen 2026-06-27 12:18:35 +00:00

Merged #1985 fix(site-finder): фронт light-отчёта — encumbrance/obj_class/ЗОУИТ display + forecast axis & flat-state (#1954 #1955 #1957 #1958) 2026-06-27 12:00:14 +00:00

Merged #1984 chore(design-sync): sync inputs for claude.ai/design trade-in DS 2026-06-27 11:42:15 +00:00

Merged #1978 fix(report): newbuild-consistent медиана + obj_class/Comfort dedup + recommend_mix regression (#1955 #1960) 2026-06-27 11:41:37 +00:00

Merged #1981 fix(ci): pin prettier 3.9.0 (codegen-check + pre-commit) + regenerate stale api-types.ts 2026-06-27 11:25:38 +00:00

Merged #1983 feat(tradein/backtest): full-spine prediction + range-coverage/calibration/segment metrics (#1966 PR 2/3) 2026-06-27 11:21:58 +00:00

Merged #1980 fix(tradein/ux): honest source list — drop dead domklik/restate, remove fake per-source median (#1968) 2026-06-27 11:04:00 +00:00

Merged #1979 fix(tradein/domclick): рекан скрейпера на BFF JSON API + честный статус (#1846, #1968) 2026-06-27 10:59:48 +00:00

Merged #1977 feat(tradein/auth): expire praktika trial access + trial-ended screen (contact Artem) 2026-06-27 10:35:07 +00:00

Merged #1976 refactor(tradein/estimator): extract deterministic pricing into pure _price_from_inputs (#1966 foundation) 2026-06-27 10:13:34 +00:00

Merged #1975 chore(claude-config): secret-read + psycopg2 hooks, tradein.md rule, tradein-mvp globs 2026-06-27 10:03:20 +00:00

Merged #1974 chore(claude-config): self-merge policy (Mera/Ptica) + config-audit fixes 2026-06-27 09:48:30 +00:00

Merged #1973 fix(report): EGRN площадь/обновлено + forecast-confidence dedup + ЗОУИТ типизация (#1954 #1958 #1957) 2026-06-27 09:34:45 +00:00

Merged #1952 fix(scrapers): cian full_load anti-zombie + avito changeip-resilience & честный статус (#1949 #1950) 2026-06-27 08:38:11 +00:00

Merged #1948 fix(freshness): output-floor on cycle-SUM over fresh_days window (#1945, #1947) 2026-06-27 07:50:04 +00:00

Merged #1947 feat(freshness): zero-output check + kn_flats source — catch "ran but produced nothing" (#1945) 2026-06-27 07:02:51 +00:00

Merged #1946 perf(estimate): trigram expr index for same-building anchor Tier A (~94x) 2026-06-27 06:18:02 +00:00

Merged #1944 fix(site_finder): correct best-layouts supply fan-out (~8.5x) + objects-first perf 2026-06-27 05:58:38 +00:00

Merged #1943 fix(perf): move migration 171 to repo-root data/sql/ so deploy applies it 2026-06-27 05:19:40 +00:00

Merged #1942 perf(analyze): partial index on objective_corpus_room_month (~3.8x on hot velocity baseline) 2026-06-27 05:02:42 +00:00

Merged #1941 fix(backend): emit app.* INFO logs to stdout on the API process (#1926) 2026-06-27 02:59:09 +00:00

Merged #1939 fix(estimator): deterministic comp tie-breaker + n_analogs counts priced analogs 2026-06-27 00:58:15 +00:00

Merged #1938 fix(tradein-browser): in-page fetch retry + settle tuning for /fetch-json (#1917) 2026-06-27 00:31:20 +00:00

Merged #1937 test(tradein): cover avito/cian + mark_failed total_seen persistence (#1926) 2026-06-27 00:17:24 +00:00

Merged #1936 fix(tradein): backfill house_id_fk via source-identity path (#1781) 2026-06-27 00:05:15 +00:00

Merged #1935 feat(analyze): per-category OSRM routing — foot vs driving (#39 A3) 2026-06-26 23:43:29 +00:00

Merged #1934 feat(site-finder): OSM инж.сети на карту analyze (#1746) 2026-06-26 22:44:00 +00:00

Merged #1933 feat(tradein): recurring house-dedup merge (schedule dormant) (#1772) 2026-06-26 21:39:31 +00:00

Merged #1932 feat(site-finder): OSRM road-distance in /analyze behind flag (#39 A2) 2026-06-26 21:25:51 +00:00

Merged #1931 fix(site-finder): Overpass retry-backoff + mirror fallback for utility loader (#1746) 2026-06-26 21:13:07 +00:00

Merged #1930 feat(site-finder): OSM engineering-networks loader + endpoint (#1746) 2026-06-26 20:01:01 +00:00

Merged #1929 feat(devops): self-hosted OSRM routing engine for site-finder (#39) 2026-06-26 19:18:22 +00:00

Merged #1927 fix(site-finder): align competitor flats_sold to objective_lots.contract_date (#1926) 2026-06-26 18:33:52 +00:00

Merged #1928 fix(tradein): persist scrape_runs.total_seen/new_count from sweep counters (#1926) 2026-06-26 18:09:18 +00:00

Merged #1925 fix(test): test_849 expects 3 begin_nested/lot after #1921 upsert-reconcile SAVEPOINT — unblock red main gate 2026-06-26 17:23:24 +00:00

Merged #1924 perf(tradein): GIST index on (geom::geography) for estimator radius filter (#1189) 2026-06-26 17:12:50 +00:00

Merged #1922 fix(trade-in/ui): расшифровка ДКП/IMV/CV + графики на --viz токены + убрать emoji (#1871) 2026-06-26 16:19:23 +00:00

Merged #1921 fix(scrapers): avito_full_load краш (source_id-reconcile) + cian/yandex ban-ротация 2026-06-26 16:19:07 +00:00

Merged #1919 fix(estimator): флаг + тесты для ghost-anchor guard и radius-dedup (#1871) 2026-06-26 16:18:59 +00:00

Merged #1920 fix(estimator): ghost-anchor — confidence='low' when radius analogs empty (#1871) 2026-06-26 16:07:12 +00:00

Merged #1916 feat(tradein-imv): route IMV backfill через BrowserFetcher.fetch_json за dormant-флагом (#915 Stage 3) 2026-06-26 09:54:29 +00:00

Merged #1915 feat(tradein-browser): additive POST /fetch-json + BrowserFetcher.fetch_json (#915 Stage 2) 2026-06-26 09:30:36 +00:00

Merged #1914 fix(migration-133): dedup via cascade-delete, not child re-point (prod hotfix) 2026-06-26 08:16:28 +00:00

Merged #1912 fix(cian): recover new-build house via cadastral anchor + listings (source,source_id) dedup (#1773) 2026-06-26 07:45:23 +00:00

Merged #1910 feat(scheduler): wire house_imv_backfill as scheduled source (#854) 2026-06-26 07:45:09 +00:00

Merged #1913 fix(scrapers): named BrowserSession concurrency const, fix Semaphore(3) doc drift (#1347) 2026-06-26 07:44:30 +00:00

Merged #1911 feat(etl): housing-class normalization fallback via yandex_realty trigram match (#38) 2026-06-26 07:44:26 +00:00

Merged #1909 fix(avito): post-merge polish — unify fetch_mode guard + empty-render guard (#1811) 2026-06-26 07:44:22 +00:00

Merged #1908 fix(freshness): repoint nspd source to live nspd_quarter_dumps (data-table mode) 2026-06-26 06:51:01 +00:00

Merged #1907 fix(freshness): calibrate kn staleness thresholds to weekly cadence 2026-06-26 06:33:29 +00:00

Merged #1906 feat(financial/dcf): dormant separate-index inflation capability (default OFF) 2026-06-25 12:12:02 +00:00

Merged #1905 feat(financial): ground-floor нежилое (office/commercial) tranche 2026-06-25 11:40:02 +00:00

Merged #1904 feat(workers): data-freshness monitor (Celery beat → GlitchTip) 2026-06-25 11:29:35 +00:00

Merged #1902 fix(site-finder): isolate zone-regulation cache write off the request session (#1850 item 4) 2026-06-25 11:16:27 +00:00

Merged #1903 chore(mocks): regenerate parcel-analyze financial_estimate (consistent with current backend) 2026-06-25 11:02:36 +00:00

Merged #1901 fix(site-finder): optimize zone-regulation resolve in /analyze (#1850) 2026-06-25 09:12:42 +00:00

Merged #1900 feat(financial): levered (equity) IRR — capstone финмодели #1881 2026-06-25 09:06:46 +00:00

Merged #1899 feat(site-finder): geo-radius market-price calibration in /analyze (#1881 follow-up) 2026-06-25 07:59:56 +00:00

Merged #1898 fix(generative/financial): VAT only on parking, residential ДДУ exempt (ст. 149 НК) 2026-06-25 07:22:59 +00:00

Merged #1897 chore(agents): bump all worker + analyst agents to opus 4.8 2026-06-25 06:54:15 +00:00

Merged #1896 fix(avito): graceful sidecar HTTP 500/503 in browser SERP fetch (#1790) 2026-06-25 06:47:42 +00:00

Merged #1895 feat(financial): LTC 70%/equity 30% норматив МКД РФ в модели финансирования 2026-06-24 16:49:01 +00:00

Merged #1894 feat(cockpit): поверхностить financial_estimate в Development Scan / Investment Clearance (#1881 rank-5) 2026-06-24 16:20:20 +00:00

Merged #1893 fix(financial): парковка price/cost по классу — econom наземная, business=Excel (#1881) 2026-06-24 12:21:24 +00:00

Merged #1892 fix(gate): area-gate ЗОУИТ utility-easement blocker (sub-17) — снять over-block can_build (#1881) 2026-06-24 10:09:09 +00:00

Merged #1891 fix(site-finder): разгейтить geoportal зон-резолвер от gappy NSPD-дампа — починить видимость финмодели (#1881) 2026-06-23 23:55:53 +00:00

Merged #1890 feat(financial): DCF-график продаж по реальному темпу поглощения (rank 1, #1881) 2026-06-23 22:08:09 +00:00

Merged #1889 feat(site-finder): backfill ЕКБ зон-регламента — разблокировать видимость финмодели (#1881) 2026-06-23 21:27:58 +00:00

Merged #1888 chore(mocks): add financial_estimate to parcel-analyze mock for local preview (#1881) 2026-06-23 21:01:31 +00:00

Merged #1887 fix(estimator): enable split-home disclosure at validated threshold 1.2 (audit #1871) 2026-06-23 20:55:45 +00:00

Merged #1886 feat(finmodel): financing overlay (кредит 15%) поверх unlevered DCF (epic #1881 PR-5) 2026-06-23 20:23:48 +00:00

Merged #1885 feat(site-finder): bridge финмодели (DCF) в кокпит Investment Clearance (epic #1881 PR-4) 2026-06-23 17:55:03 +00:00

Merged #1884 feat(finmodel): monthly DCF — real NPV/IRR/PBP, replace IRR-proxy (epic #1881 PR-3) 2026-06-23 17:02:55 +00:00

Merged #1883 feat(generative): calibrate finmodel sale price from Objective market (epic #1881 PR-2) 2026-06-23 16:21:16 +00:00

Merged #1882 feat(generative): full static developer financial cascade (epic #1881 PR-1) 2026-06-23 11:57:06 +00:00

Merged #1880 fix(estimator): radius (source,source_id) dedup + split-house corridor disclosure (audit #1871 P2) 2026-06-23 09:49:12 +00:00

Merged #1879 fix(tradein): drop non-EKB avito detail coords on ingest (audit #1871 P2) 2026-06-23 09:34:14 +00:00

Merged #1878 fix(site-finder): P3 a11y/UI batch from audit #1871 2026-06-23 07:55:25 +00:00

Merged #1877 fix(site-finder): honest POI-score label + drop duplicate MOI column (audit #1871 P2) 2026-06-23 07:39:48 +00:00

Merged #1876 fix(site-finder): velocity fallback 4500→750, coverage/proxy disclosure, market_trend staleness honesty (audit #1871 P2) 2026-06-23 07:15:22 +00:00

Merged #1875 fix(ptica): honest isReal flags — placeholder stubs no longer marked real (audit #1871 P1.3) 2026-06-23 06:28:00 +00:00

Merged #1874 fix(tradein/estimator): ghost-anchor invariant guard — n_analogs=0 forces low (audit #1871 P1.2) 2026-06-23 06:06:47 +00:00

Merged #1873 fix(forecasting): honest scenarios collapse when β rate-sensitivity gate fails (audit #1871 P1) 2026-06-22 14:17:33 +00:00

Merged #1872 revert: remove Site Finder v2 cockpit (PR #1866/#1868/#1870) 2026-06-22 10:35:40 +00:00

Merged #1870 fix(site-finder/v2): remove resource legend overlay (dup of ИНЖЕНЕРИЯ card + POI overlap) 2026-06-22 06:51:27 +00:00

Merged #1869 fix(site-finder/v2): move resource legend to bottom-left (no overlap with POI legend) 2026-06-22 06:39:36 +00:00

Merged #1868 feat(site-finder/v2): resource legend + light theme polish 2026-06-22 06:28:59 +00:00

Merged #1867 revert(site-finder): откат тёмной /site-finder обратно на светлую 2026-06-22 06:11:34 +00:00

Merged #1866 feat(site-finder): Site Finder v2 cockpit route (ПТИЦА v2) 2026-06-21 17:32:38 +00:00

Merged #1865 revert(ptica): старый Section1-6 дизайн как дефолтный роут 2026-06-21 13:42:59 +00:00

Merged #1864 feat(ptica): Сценарии 6.6 + Отчёты «Параметры» (tab prototype-parity) 2026-06-21 06:34:18 +00:00

Merged #1863 fix(estimator): low-findings аудита «Мера» — cian sanity, deal floor-edge, price_trend dedup, DEAL_MAX verify 2026-06-21 06:16:35 +00:00

Merged #1859 fix(estimator): robustness — ratio-tier по финалу, radius-floor, yandex area, expected_sold ≤ asking 2026-06-21 05:45:58 +00:00

Merged #1862 feat(ptica): ВРИ row in Градостроительство (real ЕГРН) 2026-06-20 23:09:42 +00:00

Merged #1861 feat(ptica): map glyph pins + compass, equal-height grids, full-height rail; dark Site Finder 2026-06-20 22:41:19 +00:00

Merged #1860 feat(ptica): live 3D massing in Инсоляция card + honest Recommended Product verdict 2026-06-20 22:11:21 +00:00

Merged #1858 fix(ptica): button font-size — :where() so component classes win over reset 2026-06-20 21:35:52 +00:00

Merged #1857 fix(ptica): populate scan cards with real /analyze data + product tabs + map zoom 2026-06-20 21:18:46 +00:00

Merged #1856 feat(ptica): slow turntable rotation on insolation preview cube 2026-06-20 20:47:36 +00:00

Merged #1855 fix(ptica): load Inter, surface map legend, drop flag, honest product chart, home link 2026-06-20 20:42:30 +00:00

Merged #1854 fix(ptica): visual parity 1:1 with prototype (ОКС stretch + restored elements) 2026-06-20 20:10:44 +00:00

Merged #1853 fix(ptica): left-rail — 7 icon+label items + working nav (match reference) 2026-06-20 19:45:33 +00:00

Merged #1852 feat(ptica): complete cockpit — lower-grid + bottom-grid (Potential/Product/Clearance/Verdict) 2026-06-20 19:33:48 +00:00

Merged #1851 feat(ptica): rich dark map (POI/connections/competitors/satellite) + ПТИЦА as default analysis route 2026-06-20 19:06:09 +00:00

Merged #1849 feat(ptica): wire real КСИТ/height/zone/density into cockpit (frontend of #1843) 2026-06-20 19:05:40 +00:00

Merged #1848 fix(scrapers): avito ban-triggered IP rotation (#1790) разблокирует houses-enrichment (#1789) + rating_score 2026-06-20 18:28:30 +00:00

Merged #1847 feat(analyze): real ПЗЗ КСИТ/height into nspd_zoning (ПТИЦА оживление, #1843 Route 2) 2026-06-20 18:27:39 +00:00

Merged #1842 fix(ptica): drawer modal a11y (focus-trap + restore) + polish 2026-06-20 18:02:38 +00:00

Merged #1844 fix(site_finder): read real NSPD territorial-zone keys (nspd_zoning.zone_code was always null) 2026-06-20 18:02:20 +00:00

Merged #1845 fix(tradein/yandex): инкрементальный per-combo save + bounded gate-timeout (анти-зомби city_sweep) 2026-06-20 18:01:56 +00:00

Merged #1841 feat(tradein): бэкфилл координат листингов из ekb_geoportal_buildings (street+house match) 2026-06-20 14:14:13 +00:00

Merged #1840 feat(tradein/avito): per-card ЕКБ гео-фильтр (отсечь padding по России) 2026-06-20 14:14:03 +00:00

Merged #1839 fix(ci): deploy-tradein paths-filter base = last deployed SHA (накопленный diff, fail-safe build-all) 2026-06-20 14:13:54 +00:00

Merged #1838 feat(tradein/scrapers): detail_backfill через curl_cffi+backconnect вместо браузера/auv (развязка прокси) 2026-06-20 12:59:56 +00:00

Merged #1835 feat(ptica): 3D building-massing module (Three.js) [PR#5] 2026-06-20 12:33:51 +00:00

Merged #1834 feat(ptica): detail drawer system + 17 drawers [PR#4] 2026-06-20 12:33:38 +00:00

Merged #1833 feat(ptica): Отчёты + Сравнение cockpit tabs [PR#3] 2026-06-20 12:33:19 +00:00

Merged #1832 feat(ptica): Сценарии tab (§22 forecast) + real hero invest-score [PR#2] 2026-06-20 12:33:08 +00:00

Merged #1831 feat(site-finder): ПТИЦА dark cockpit — increment 1 (shell + hero + Development Scan) 2026-06-20 12:32:56 +00:00

Merged #1830 feat(scrapers/ui): backfill+full-load триггеры, source-фильтр, pacing-слайдер, coverage-таблица 2026-06-20 12:32:05 +00:00

Merged #1829 feat(scrapers): live pacing-регулятор + data-quality coverage API 2026-06-20 12:31:48 +00:00

Merged #1837 feat(trade-in/ui): transparency «Мера» — analog_tier, address_precision, expected_sold бар, ratio_basis 2026-06-20 12:31:20 +00:00

Merged #1836 fix(estimator): топ-5 фиксов аудита «Мера» (anchor gate, analog_tier, freshness, MAD-order, data-age) 2026-06-20 12:27:14 +00:00

Merged #1828 feat(tradein/scrapers): full_load пропускает листинги обновлённые сегодня при повторном прогоне 2026-06-20 09:16:34 +00:00

Merged #1826 feat(tradein-browser): per-provider page-interval override (#1812 follow-up) 2026-06-20 08:47:07 +00:00

Merged #1827 fix(tradein/db): widen offer_price_history.diff_percent (5,2)→(8,2) + clamp в триггере (краш full_load) 2026-06-20 08:46:59 +00:00

Merged #1824 fix(scrapers/ui): дедуп queryKey cian test-auth + a11y (Phase-1 polish) 2026-06-20 07:21:30 +00:00

Merged #1825 fix(scrapers/backend): socks5 health-probe + status Literal + #1820 ext_id=0 dedup 2026-06-20 07:21:21 +00:00

Merged #1823 feat(tradein/ui): две равноправные hero-цены (выставить/получить) + компактный ряд бенчмарков 2026-06-20 07:18:13 +00:00

Merged #1822 fix(scrapers): avito pipeline — новостройки house graceful + AvitoBlockedError per-item не крашит прогон (#1820) 2026-06-20 06:57:56 +00:00

Merged #1821 fix(tradein/ui): убрать debug cache-key, гейт тонких графиков, разграничить динамику цен 2026-06-20 06:55:04 +00:00

Merged #1819 feat(tradein-frontend): единая scrapers-страница — табы, proxy-health+rotate, runs-история (scrapers UI Phase 1) 2026-06-20 06:40:56 +00:00

Merged #1818 feat(admin): unified scrape/runs + scraper/health + rotate-ip API (scrapers UI Phase 1) 2026-06-20 06:40:36 +00:00

Merged #1817 fix(tradein/estimator): расширить corridor-clamp slack 0.25→0.40 для премиума без own-листингов 2026-06-20 06:19:13 +00:00

Merged #1815 fix(scrapers): avito_detail_backfill — снапшот ЕКБ+active, detail browser-only без curl-fallback на бан (#1814) 2026-06-20 05:34:18 +00:00

Merged #1813 feat(browser): per-provider page pacing + resource-block tuning — снизить proxy fan-out (#1812) 2026-06-19 18:30:13 +00:00

Merged #1809 feat(scrapers): avito SERP дефолт на BrowserFetcher (camoufox), curl_cffi fallback (#1805) 2026-06-19 17:53:12 +00:00

Merged #1810 feat(scrapers): cian SERP на BrowserFetcher (camoufox), снят code-side rotate (#1806) 2026-06-19 17:52:00 +00:00

Merged #1808 fix(tradein-frontend): Мера estimate — hydration #418 + photos 422 (#1803 #1804) 2026-06-19 17:49:45 +00:00

Merged #1807 fix(tradein/estimator): clamp premium headline к коридору сделок + робастный anchor (#1795) 2026-06-19 17:37:58 +00:00

Merged #1802 test(browser): удалить устаревшие pool-routing тесты (CI red после #1793) 2026-06-19 17:13:51 +00:00

Merged #1800 fix(scrapers): cian_detail — ceiling из offer.building.ceilingHeight, repair из decoration (#1791) 2026-06-19 17:07:15 +00:00

Merged #1799 fix(scrapers): yandex_detail — area/ceiling/kitchen из INITIAL_STATE, покрытие area 63%→~95% (#1792) 2026-06-19 17:07:03 +00:00

Merged #1798 fix(tradein-browser): camoufox hardening — block_images/webrtc + форс МСК tz (#1796) 2026-06-19 16:50:24 +00:00

Merged #1797 fix(scrapers): avito_houses — отзывы/история/тип ЖК долетают (виджет-payload вложен глубже) (#1789) 2026-06-19 16:27:03 +00:00

Merged #1794 feat(browser): per-provider concurrency — параллель между поставщиками, ≤1 коннект на поставщика (#1793) 2026-06-19 16:02:14 +00:00

Merged #1788 fix(tradein): verify=False для WFS геопортала ЕКБ (российский CA-серт) 2026-06-19 16:02:04 +00:00

Merged #1787 fix(tradein): чинит main-red — патч _geoportal_house_match в cadastral-тесте (хвост #1786) 2026-06-19 15:07:32 +00:00

Merged #1784 fix(db): #1781 backfill listings.house_id_fk from house_sources (cian novostroyki) 2026-06-19 14:56:10 +00:00

Merged #1786 feat(tradein): ингест зданий из геопортала ЕКБ + tier в геокодере (полный кадастр города) 2026-06-19 14:55:43 +00:00

Merged #1783 feat(tradein): фронт передаёт координаты выбранной подсказки в /estimate (Variant A, frontend) 2026-06-19 11:17:31 +00:00

Merged #1782 feat(tradein): /estimate принимает координаты от автокомплита, минует geocode (Variant A, backend) 2026-06-19 11:16:52 +00:00

Merged #1780 fix(tradein): чинит кадастр-матчер геокодера — резолв адресов из своей базы (~60% упавших) 2026-06-19 11:11:14 +00:00

Merged #1779 fix(tradein): удалить white-label бренд «Практика» целиком (БД + маппинг + ассеты) 2026-06-19 10:09:39 +00:00

Merged #1777 fix(tradein): budget Cian valuation call to stop 25s estimate stalls («не считает») 2026-06-19 09:48:42 +00:00

Merged #1778 fix(tradein): убрать хардкод «Практика» из offer-баннера 2026-06-19 09:48:36 +00:00

Merged #1776 fix(estimator): #1774 Tier A admits same-building novostroyki resales (secondary-dominant gate) 2026-06-19 09:28:16 +00:00

Merged #1775 fix(avito): de-glue house number from district in _clean_address (#1773 part) 2026-06-19 09:26:27 +00:00

Merged #1771 fix(avito): reconnect-retry on detail 429 under backconnect proxy 2026-06-19 04:42:12 +00:00

Merged #1770 feat(avito): incremental daily + exhaustive weekly schedule split (+ scheduler interval_days) 2026-06-18 20:25:39 +00:00

Merged #1769 fix(avito): tolerate 429 per-bucket instead of banning whole sweep 2026-06-18 20:25:26 +00:00

Merged #1768 fix(avito): reconnect-retry on detail 403/firewall under backconnect proxy 2026-06-18 19:14:39 +00:00

Merged #1766 feat(avito): incremental SERP pagination with date early-stop (param-gated, default off) 2026-06-18 19:03:38 +00:00

Merged #1767 feat(listings): card_hash column + snapshot-dedup on unchanged cards 2026-06-18 19:03:28 +00:00

Merged #1765 fix(avito): gate 403 reconnect-retry on proxy presence only (was dead code in prod) 2026-06-18 18:32:54 +00:00

Merged #1764 fix(avito): reconnect-retry on SERP 403/firewall under backconnect proxy 2026-06-18 18:13:21 +00:00

Merged #1763 fix(tradein): avito _extract_total_count returns 0 on no-results page — stop empty-bracket split/rotate waste 2026-06-18 17:05:35 +00:00

Merged #1762 feat(tradein): avito curl_cffi 429 short-retry — enables backconnect curl SERP (×50 faster than browser) 2026-06-18 16:26:29 +00:00

Merged #1761 perf(browser): block image/media/font resources in camoufox fetch (~10x smaller pages, faster via proxy) 2026-06-18 15:18:29 +00:00

Merged #1760 perf(tradein): shared EKB seed price-brackets across avito/cian/yandex (city-dict ready for multi-city) 2026-06-18 14:57:42 +00:00

Merged #1759 perf(tradein): avito seed price-brackets with open top bucket (≤2k blocks, no price ceiling) 2026-06-18 14:33:08 +00:00

Merged #1758 fix(tradein): praktika brand only under praktika account — drop kopylov mapping (brand leak) 2026-06-18 13:36:20 +00:00

Merged #1757 fix(tradein): avito full-load probe resilience — browser 500/timeout splits/skips instead of crashing run 2026-06-18 13:11:46 +00:00

Merged #1756 feat(site-finder): snapshot.pdf exclude_dev param — hide competitor by developer name 2026-06-18 13:11:30 +00:00

Merged #1754 feat(tradein): populate offer_price_history for yandex from gate price.previous/trend 2026-06-18 11:37:05 +00:00

Merged #1755 fix(tradein): avito sweep page-level retry — transient page error no longer aborts run 2026-06-18 11:36:54 +00:00

Merged #1753 feat(tradein): avito exhaustive full-load (room×price bisection) — mirror cian 2026-06-18 11:05:27 +00:00

Merged #1752 feat(tradein): schedule cian_full_load (exhaustive secondary) + anchor sweep NB-only 2026-06-18 10:38:32 +00:00

Merged #1750 feat(cadastral): geo-nearest building matcher via local cad mirror 2026-06-18 08:44:25 +00:00

Merged #1751 feat(site-finder): карта точек подключения (НСПД) в секции «Сети» (#1746 part) 2026-06-18 08:44:16 +00:00

Merged #1749 feat(site-finder): продуктовые решения по фидбеку analyze (#1741-1745) 2026-06-18 08:43:44 +00:00

Merged #1748 fix(site-finder): 5 дефектов из фидбека analyze (#1736-1740) 2026-06-18 07:06:47 +00:00

Merged #1747 feat(avito): dedicated newbuilding (novostroyka) citywide sweep 2026-06-18 07:00:23 +00:00

Merged #1735 feat(browser): per-source proxy pool behind FEATURE_BROWSER_POOL_ENABLED (Phase 1) 2026-06-18 06:06:58 +00:00

Merged #1734 fix(yandex): read predicted price from entity.predictions.predictedPrice (#1725) 2026-06-18 05:12:26 +00:00

Merged #1733 feat(browser): concurrent page pool (BROWSER_CONCURRENCY, default 4) + raise mem_limit to 5g 2026-06-17 21:07:32 +00:00

Merged #1732 fix(backfill): drop nonexistent kadastr_num column from listings SELECT 2026-06-17 20:53:27 +00:00

Merged #1731 fix(avito): proactive IP rotate at sweep start + raise max_rotations 2→4 (Datadome ban recovery) 2026-06-17 20:39:14 +00:00

Merged #1730 feat(domclick): wire DomClick citywide sweep into pipeline+scheduler (seeded disabled) 2026-06-17 20:29:44 +00:00

Merged #1729 feat(avito): capture newbuilding ЖК id/url from SERP card 2026-06-17 20:29:40 +00:00

Merged #1728 docs(readme): refresh to Jun 2026 — Trade-In/Мера + Site Finder v2 + structure + remove debug.log 2026-06-17 20:18:06 +00:00

Merged #1727 fix(scrapers): write resolved house_id to listings.house_id_fk in realtime link hook 2026-06-17 20:16:28 +00:00

Merged #1725 feat(yandex): map rich entity fields (predictedPrice, seller, listing_date, trend, metro) 2026-06-17 20:03:26 +00:00

Merged #1726 fix(sql): ALTER TABLE IF EXISTS in migration 162 (deploy red — district_economics absent) 2026-06-17 20:02:35 +00:00

Merged #1724 fix(tradein): correct SberIndex hedonic/asking dataset filter dims + 404 warning (#902) 2026-06-17 19:58:49 +00:00

Merged #1712 feat(site-finder): РИАСУРТ Свердл 14-layer harvest client+schema+task for ЕКБ agglomeration (#108) 2026-06-17 19:52:59 +00:00

Merged #1722 fix(matching): conflict_resolution picks freshest (last_seen_at) value, deterministic (#1539) 2026-06-17 19:49:52 +00:00

Merged #1719 feat(objective): diff-gated objective_lots_history writer trigger (#307 OBJ-6) 2026-06-17 19:44:27 +00:00

Merged #1711 feat(sql): sales-tracker velocity + absorption MVs for Site Finder (#61) 2026-06-17 19:43:15 +00:00

Merged #1720 fix(site-finder): gate velocity on confidence of objective_complex_mapping (#307 OBJ-2) 2026-06-17 19:43:04 +00:00

Merged #1718 fix(cian): persist detail rich fields (description) + stamp detail_enriched_at 2026-06-17 19:42:59 +00:00

Merged #1721 test(etl): fix stale assert in objective_backfill dry_run test (#1709 systemic CI red) 2026-06-17 19:40:01 +00:00

Merged #1710 feat(tradein): segment=vtorichka|novostroyki|all on listings search (#1188) 2026-06-17 19:34:51 +00:00

Merged #1715 feat(yandex): ingest novostroyki via gate-API newFlat=YES 2026-06-17 19:34:33 +00:00

Merged #1716 fix(avito): classify novostroyki by item-development-name marker; map переуступка sale_type 2026-06-17 19:34:28 +00:00

Merged #1714 fix(frontend): regen api-types.ts — POI-score fields (#1709 systemic CI red) 2026-06-17 19:31:50 +00:00

Merged #1717 ci: cache uv + skip dev deps to speed up gate jobs (#1709) 2026-06-17 19:31:35 +00:00

Merged #1713 ci: drop push-on-feature-branch trigger to kill duplicate CI runs (#1709) 2026-06-17 19:16:07 +00:00

Merged #1706 fix(sql): EMISS PK includes period_type so yearly+Q1 coexist (#1606 follow-up) 2026-06-17 18:46:01 +00:00

Merged #1707 fix(leads): replace ::interval cast with make_interval (psycopg v3 trap) (#1383 follow-up) 2026-06-17 18:42:12 +00:00

Merged #1708 docs(estimator): DKP corridor described as P10/P90 not min/max in schema+TS (#1520 follow-up) 2026-06-17 18:42:10 +00:00

Merged #1701 fix(admin-scrape): ge=1 on /failures limit + enforce LLM finish_reason 2026-06-17 18:35:36 +00:00

Merged #1703 fix(llm): word-boundary INN match, tighten edge cases (#1640 follow-up) 2026-06-17 18:34:53 +00:00

Merged #1702 fix(exporters): annotate scenario deficit horizon in excel too (#1590 follow-up) 2026-06-17 18:34:49 +00:00

Merged #1700 fix(weather): wind_d returns None when no valid samples, not fabricated 0.0° 2026-06-17 18:34:47 +00:00

Merged #1704 fix(scrapers): narrow domrf Level-1 status badge-class regex (#1609 follow-up) 2026-06-17 18:34:33 +00:00

Merged #1705 test(site-finder): cover is_residential_zone raw_props/subcategory branch (#1353 follow-up) 2026-06-17 18:34:31 +00:00

Merged #1699 feat(yandex): route gate-API fetch through camoufox (sustainable, no proxy burn) 2026-06-17 18:28:51 +00:00

Merged #1698 fix(site-finder): remove dead sat_factor (computed+written, never applied) (#1509) 2026-06-17 18:28:46 +00:00

Merged #1697 fix(site-finder): NO_ENGINEERING_NEARBY is a warning, not a verdict blocker (#1617) 2026-06-17 18:11:45 +00:00

Merged #1696 fix(forecasting): thread room_bucket velocity into format ranking (#1593) 2026-06-17 18:08:26 +00:00

Merged #1694 fix(leads): window revenue_total/deals_total to leads_window (#1383) 2026-06-17 18:05:53 +00:00

Merged #1691 fix(site-finder): apply 12mo cutoff to n_lots/sold_pct/price in enrich economics (#1513) 2026-06-17 18:05:46 +00:00

Merged #1695 fix(estimator): DKP corridor uses P10/P90 not min/max (#1520) 2026-06-17 18:05:41 +00:00

Merged #1693 fix(sql): restore partial WHERE is_active predicate on listings indexes (#1398) 2026-06-17 18:05:31 +00:00

Merged #1692 fix(site-finder): smart_suggestions filter parcels above documented score threshold (#1503) 2026-06-17 18:05:25 +00:00

Merged #1690 fix(site-finder): volume-weighted median_price_m2 (#1511) + consistent-period MTS (#1512) 2026-06-17 18:05:15 +00:00

Merged #1684 fix(forecasting): deal_count confidence note carries «за N мес» window (#1637) 2026-06-17 17:57:41 +00:00

Merged #1686 fix(scrapers): scope+stem domrf status classification (#1609) 2026-06-17 17:55:42 +00:00

Merged #1689 fix(scrapers): cian _walk_price_range stop silently truncating tail (#1393) 2026-06-17 17:55:38 +00:00

Merged #1688 fix(sql): v_supply_layers_latest keep dev_group_name in DISTINCT ON key (#1650) 2026-06-17 17:55:32 +00:00

Merged #1687 fix(scrapers): disambiguate EMISS yearly vs Q1 in dedup key (#1606) 2026-06-17 17:55:27 +00:00

Merged #1685 fix(forecasting): correct _geo_weight unknown floor so far projects rank low (#1633) 2026-06-17 17:55:18 +00:00

Merged #1683 fix(forecasting): count non-zero observations in normalize guard (#1638) 2026-06-17 17:55:13 +00:00

Merged #1682 fix(llm): INN redaction requires context anchor, stop eating large numbers (#1640) 2026-06-17 17:55:08 +00:00

Merged #1681 fix(site-finder): robust is_residential_zone detection for NSPD zone codes (#1353) 2026-06-17 17:55:03 +00:00

Merged #1680 fix(parcels): _score_label honor «хорошо»=25→«отлично» boundary (#1357) 2026-06-17 17:54:58 +00:00

Merged #1674 fix(site-finder): normalize POI weighted score to 0..100 on backend (#1486) 2026-06-17 17:54:53 +00:00

Merged #1678 fix(sql): dedup deals-to-district assignment in ekb districts median refresh (#1352) 2026-06-17 17:45:33 +00:00

Merged #1673 fix(cadastre): cad_territorial_zones MULTIPOLYGON typmod + ST_Multi coercion (#1344) 2026-06-17 17:45:27 +00:00

Merged #1679 fix(forecasting): cap trend_ratio by v_rec magnitude when v_prior==0 (#1508) 2026-06-17 17:45:14 +00:00

Merged #1677 fix(site-finder): non-overlapping L2/L3 ready_dt windows, stop double-count of 13-24mo supply (#1355) 2026-06-17 17:45:09 +00:00

Merged #1676 fix(tradein): trade-in PDF cover uses estimate.expires_at, not hardcoded +30d (#1530) 2026-06-17 17:45:04 +00:00

Merged #1675 fix(analytics): align portfolio series to area buckets in quartirography (#1406) 2026-06-17 17:44:59 +00:00

Merged #1672 fix(analytics): drop false market verdict from per-object Sold % KpiCard (#1407) 2026-06-17 17:44:49 +00:00

Merged #1662 fix(week-review): дожим — 4 фикса (#1569, #1590, #1642, #801) 2026-06-17 17:23:11 +00:00

Merged #1660 fix(week-review): backend-аудит v2 — 82 фиксов 2026-06-17 17:13:39 +00:00

Merged #1670 fix(site-finder): nearest_top3 metro from osm_poi_ekb (#1667) 2026-06-17 17:13:18 +00:00

Merged #1671 docs(site-finder): analyze confidence by-design distinct from §15 (#1668) 2026-06-17 17:13:08 +00:00

Merged #1669 fix(workers): schedule mv_layout_velocity refresh (#1666) 2026-06-17 17:12:55 +00:00

Merged #1663 feat(scripts): Potrace floor-plan vectorization spike (#299) 2026-06-17 17:12:49 +00:00

Merged #1665 feat(yandex): switch SERP scraping to JSON gate-API (bypasses bandwidth tarpit) 2026-06-17 08:20:47 +00:00

Merged #1664 fix(yandex): rotate proxy IP + retry on tarpit-timeout/captcha in combos sweep 2026-06-17 07:13:48 +00:00

Merged #1661 fix(avito): scale per-anchor timeout for detail-enrich + durable SERP counters 2026-06-17 06:07:50 +00:00

Merged #1659 fix(tradein): yandex combos watchdog timeout (P0) + deploy scraper filter gap 2026-06-16 20:22:28 +00:00

Merged #1658 feat(tradein): yandex city sweep — EKB-center rooms×price combos (replaces 5-anchor shallow) 2026-06-16 19:57:38 +00:00

Merged #1657 feat(cian): collect price history via BrowserFetcher (fixes silent no-op backfill) 2026-06-16 19:47:16 +00:00

Merged #1568 feat(scrapers): enable cian_city_sweep (proxy alive, sweep is cookieless) 2026-06-16 17:08:48 +00:00

Merged #1559 feat(tradein/db): derived price-history trigger (avito/yandex) + last_seen_at deactivate index 2026-06-16 16:48:59 +00:00

Merged #1558 feat(scrapers): segment-aware generic deactivate_stale for yandex/cian 2026-06-16 16:09:20 +00:00

Merged #1557 fix(scrapers): deactivate pre-#753 ghost duplicate listings (dedup correctness) 2026-06-16 12:59:47 +00:00

Merged #1556 chore(scrapers): убрать устаревший n1-скраппер (n1.ru → cian), сохранить историч. данные 2026-06-16 11:58:03 +00:00

Merged #1555 fix(scrapers): cian detail — извлечение kitchen_area_m2 (part of #1553) 2026-06-16 11:42:36 +00:00

Merged #1554 feat(scrapers): yandex detail-enrichment — save + ночной backfill через прокси (part of #1553) 2026-06-16 11:18:19 +00:00

Merged #1552 feat(scrapers): ночной avito detail-enrichment backfill для legacy listings (Closes #1551) 2026-06-16 10:32:58 +00:00

Merged #1549 fix(scrapers): geocode-missing listings nightly scheduler — listings geom coverage backfill (all sources) 2026-06-16 08:32:23 +00:00

Merged #1550 fix(scrapers): avito detail parser — захват Жилая площадь / Высота потолков / Отделка 2026-06-16 08:32:15 +00:00

Merged #1548 fix(tradein): починить 3 теста-регрессии из #1543 — разблокировать deploy gate 2026-06-16 06:08:12 +00:00

Merged #1547 fix(tradein): hotfix миграции 108 — deploy red (typo + collision-safe репойнт) 2026-06-16 05:48:39 +00:00

Merged #1543 fix(week-review): аудит код-ревью — 181 фиксов (label week ревью 1) 2026-06-16 05:46:12 +00:00

Merged #1546 fix(tradein): avito houses dedup через match_or_create_house + merge-миграция дублей (108) 2026-06-16 05:38:24 +00:00

Merged #1545 fix(tradein): yandex newbuilding rating drift — «4.3из 5» без пробела (#974) 2026-06-15 18:31:12 +00:00

Merged #1544 fix(tradein): cian newbuilding MFE/reliability drift — initialState extraction (#972) 2026-06-15 18:13:45 +00:00

Merged #1296 feat(tradein): scheduler-источник cian_city_sweep (newbuilding Phase 4), seed dormant (#973) 2026-06-15 17:48:34 +00:00

Merged #1542 fix(tradein): обновить test_scraper_proxy под BrowserFetcher-транспорт fetch_newbuilding 2026-06-15 17:48:12 +00:00

Merged #1540 fix(tradein): cian fetch_newbuilding через BrowserFetcher (camoufox) — initialState под анти-ботом (#972) 2026-06-15 15:44:42 +00:00

Merged #1541 feat(tradein): yandex_newbuilding sweep-entrypoint + market-схема enrichment, seed dormant (#974) 2026-06-15 15:44:28 +00:00

Merged #1335 perf(site-finder): pushdown obj_pricing CTE to nearby competitors (#70/#307) 2026-06-14 16:58:44 +00:00

Merged #1333 feat(sql): corroborated trgm backfill objective_complex_mapping +17 (#307 OBJ-2 r2) 2026-06-14 16:45:56 +00:00

Merged #1334 perf(sql): geography GIST + covering index для analyze-пути Site Finder (157) 2026-06-14 16:45:23 +00:00

Merged #1332 feat(site-finder): additive objective_lots price fallback for competitors (#307 OBJ-3) 2026-06-14 16:10:02 +00:00

Merged #1331 feat(sql): conservative trgm backfill objective_complex_mapping +23 (#307 OBJ-2) 2026-06-14 15:51:39 +00:00

Merged #1330 fix(tradein-browser): non-fatal launch + background proxy retry (crash-loop 3141x) 2026-06-14 15:18:59 +00:00

Merged #1329 feat(site-finder): POI saturation per capita по районам ЕКБ (#42) 2026-06-14 15:05:23 +00:00

Merged #1328 feat(site-finder): сетевые обременения из ЗОУИТ (#1070, Refs #103) 2026-06-14 14:49:32 +00:00

Merged #1327 feat(site-finder): domrf→cad geom-match + parking_ratio конкурентов (#96) 2026-06-14 14:49:29 +00:00

Merged #1326 feat(site-finder): ЕГРН помещения/машино-места + parking_ratio MVP (#96) 2026-06-14 13:57:25 +00:00

Merged #1325 perf(db): objective_lots district-price index (#70) + PII/perf audit (#79) 2026-06-13 19:22:30 +00:00

Merged #1324 docs(infra): secrets rotation policy (#78) 2026-06-13 18:50:56 +00:00

Merged #1321 ci(infra): coverage-gate (#68) + codegen-assert (#69) + uptime (#75) 2026-06-13 18:38:29 +00:00

Merged #1322 feat(admin): freshness endpoint (#73) + README Forgejo (#83) + migrations doc (#72) 2026-06-13 18:25:33 +00:00

Merged #1323 feat(frontend): mobile responsiveness (#66) + data-sources (#80) 2026-06-13 18:25:27 +00:00

Merged #1320 feat(site-finder): ЗОУИТ visual layer на Leaflet карте (#255) 2026-06-13 17:41:09 +00:00

Merged #1319 feat(site_finder): routing POI decay (#41) + OSM utilities (#44) + ЗОУИТ geom (#255bk) 2026-06-13 17:41:02 +00:00

Merged #1318 feat(site-finder): multi-cad сравнение (#50) + analytics поиск (#65) 2026-06-13 17:14:16 +00:00

Merged #1317 feat(analytics): velocity-anomaly alerts (#17) + ARN ДДУ indicator (#99) 2026-06-13 17:14:10 +00:00

Merged #1316 feat(concept): Concept UI Stage 1d (#57) 2026-06-13 16:42:20 +00:00

Merged #1315 feat(generative): движок концепций застройки Stage 1a/1b/1c (#54 #55 #56) 2026-06-13 16:42:14 +00:00

Merged #1314 feat(site-finder): НСПД verify deep-links + landing GenDesign vs НСПД (#97 #100) 2026-06-13 15:53:03 +00:00

Merged #1313 fix(cadastre): NSPD 500-retry + disable dead pzz-beat + geom backfill (#252 #259 #200) 2026-06-13 15:52:57 +00:00

Merged #1312 fix(analytics): mortgage rate sort + recommend last_updated + drop dead route (#236 #237 #251) 2026-06-13 15:22:23 +00:00

Merged #1311 fix(ops): repair broken main-DB backup + harden auth (#71 #427 #429 #428) 2026-06-13 15:22:17 +00:00

Merged #1310 chore(objective): fuzzy backfill objective_complex_mapping +115 (#307 OBJ-2) 2026-06-13 13:58:31 +00:00

Merged #1309 fix(analytics): ObjectSaleChart выровнять серии по union месяцев (#1246) 2026-06-13 13:22:57 +00:00

Merged #1308 perf(site-finder): honour AbortSignal в poll-цикле useParcelAnalyzeQuery (#1248) 2026-06-13 13:19:51 +00:00

Merged #1307 fix(backend): Excel formula-injection (#1244) + chat read off event loop (#1245) 2026-06-13 13:19:44 +00:00

Merged #1306 feat(forecast): расширить горизонт прогноза до 24 мес (ТЗ §12.1, Q1) 2026-06-13 12:38:17 +00:00

Merged #1305 chore(tradein-db): drop duplicate listings_geom_active_idx (#730) 2026-06-13 11:53:13 +00:00

Merged #1304 fix(tradein-frontend): остановить retry-storm на 401 (#800) 2026-06-13 11:53:09 +00:00

Merged #1303 feat(tradein-scheduler): nightly newbuilding-enrichment schedule (#973) 2026-06-13 11:30:46 +00:00

Merged #1302 feat(site-finder): детерминированная атрибуция застройщика в analyze (#1088) 2026-06-13 11:21:58 +00:00

Merged #1301 fix(p3-batch): восстановление 13 Fable 5 P3-fixes из lost branches 2026-06-13 10:06:06 +00:00

Merged #1299 fix(sf): ekb_ppt_tep post-фильтры + врезка в analyze (#1136) 2026-06-13 09:32:52 +00:00

Merged #1294 fix(admin-jobs): UPSERT в PUT /admin/jobs/settings (#1223) 2026-06-13 08:36:24 +00:00

Merged #1288 fix(workers): cadastre permanent-fail counter + beat cleanup (#1236) 2026-06-13 08:36:14 +00:00

Merged #1290 fix(scoring): correct price_feasibility reason — market rate (#1225) 2026-06-13 08:20:31 +00:00

Merged #1289 fix(admin): persist JSON extra_config при свёрнутой textarea (#1239) 2026-06-13 08:20:26 +00:00

Merged #1287 fix(workers): re-raise SoftTimeLimitExceeded в nspd_geo (#1235) 2026-06-13 08:20:19 +00:00

Merged #1274 fix(custom-pois): invalidate canonical parcel-analyze + parcel-poi-score keys (#1241) 2026-06-13 08:15:06 +00:00

Merged #1277 fix(forecasting): _price_overlap zero-width discontinuity (#1224) 2026-06-13 08:10:47 +00:00

Merged #1275 fix(analytics): ObjectSaleChart tooltip полный ₽/м², не /1000 (#1238) 2026-06-13 08:10:39 +00:00

Merged #1273 fix(beat): rewrite 4 cron entries in MSK to match conf.timezone (#1233) 2026-06-13 08:06:22 +00:00

Merged #1272 fix(scrapers): commit outer tx в domrf_catalog scrape_catalog_batch (#1227) 2026-06-13 08:06:16 +00:00

Merged #1271 fix(site-analysis): per-call AbortController вместо shared cancelledRef (#1242) 2026-06-13 07:54:11 +00:00

Merged #1270 fix(site-finder): склеить разорванный regex в _PLANNING_NO_MATCH_SQL (#1230) 2026-06-13 07:51:34 +00:00

Merged #1267 fix(workers): count lots_pf failure correctly, no silent done (#1220) 2026-06-13 07:34:58 +00:00

Merged #1266 fix(forecasting): resolve admin district to micros в _query_artificial_demand (#1205) 2026-06-13 07:34:55 +00:00

Merged #1265 fix(analytics): rolling 6mo/6mo окна в _district_velocity_trend (#1203) 2026-06-13 06:24:21 +00:00

Merged #1264 fix(competitors): _AVG_PRICE_SQL — фильтр latest snapshot (#1210) 2026-06-13 06:17:27 +00:00

Merged #1263 fix(db): dedupe domrf_kn_documents + UNIQUE NULLS NOT DISTINCT (#1206) 2026-06-13 06:17:13 +00:00

863 issues closed from 6 users

Closed #3469 Витрина сделок на лендинге МЕРЫ не пересчитывается: задачи нет в расписании, последний прогон 30.08 (13 суток назад), всего 3 прогона за всё вр… 2026-09-12 17:12:32 +00:00

Closed #3463 tradein-backend: у запросов к БД нет потолка ни по времени, ни по ожиданию блокировки — одна заблокированная таблица вешает /estimate для всех 2026-09-12 16:38:35 +00:00

Closed #3443 Полный деплой ПТИЦЫ роняет сам Caddy на 67 секунд — все домены отдают code=000, заглушка окна деплоя здесь бессильна по построению 2026-09-12 16:16:04 +00:00

Closed #3448 Быстрый путь caddy_only не исполняется: мерж с единственным caddy-файлом пересоздал весь стек ПТИЦЫ, а пропущенная джоба показана как success 2026-09-12 11:43:39 +00:00

Closed #3158 Grafana: ноль правил алертинга и ноль контакт-поинтов — решить, нужен ли он вообще 2026-09-12 11:08:12 +00:00

Closed #3449 geocoder: отмена по бюджету оставляет поток работать с сессией запроса — следующий шаг ловит «another operation is in progress», персист оценки отдаёт 500 2026-09-12 10:11:20 +00:00

Closed #3452 MERA/оценка: порог показа коридора (3) и порог доверия к нему (10) рассогласованы — клиенты в зоне 3..9 видят коридор, но ценовая страховка молча … 2026-09-12 10:11:15 +00:00

Closed #3451 tradein: TVF street_sales_vs_listings фильтрует сделки по d.rooms — та же синтетика, что снята в #3256; /sales-vs-listings отдаёт пустое пересечение 2026-09-12 09:03:06 +00:00

Closed #3418 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:15:50 +00:00

Closed #3417 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:15:49 +00:00

Closed #3416 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:15:48 +00:00

Closed #3414 tradein/browser: cian-инстанс camoufox отказывает в 63% запусков (99/156 за 30ч) — релонч браузера перед КАЖДЫМ fetch из-за чередования аренд; generic на том же узле 0% 2026-09-07 11:14:35 +00:00

Closed #3413 tradein/browser: cian-инстанс camoufox отказывает в 63% запусков (99/156 за 30ч) — релонч браузера перед КАЖДЫМ fetch из-за чередования аренд; generic на том же узле 0% 2026-09-07 11:14:34 +00:00

Closed #3197 Скрапперы A2: четыре точки ходят мимо пула прокси, и тёплый контекст сайдкара ключуется по провайдеру, а не по узлу 2026-09-07 11:04:08 +00:00

Closed #3402 tradein/cian: капча Циана приходит с HTTP 200 и не распознаётся как отказ площадки — cian_detail_backfill сжигает батч (0/210, 0/400) на одном узле, парсер пишет «def… 2026-09-06 10:01:31 +00:00

Closed #3390 tradein: две живые копии mark_failed/mark_done с разной семантикой counters — app/services/scrape_runs.py ЗАМЕНЯЕТ, scraper_kit/orchestration/runs.py МЕРЖИТ (||) 2026-09-06 08:11:54 +00:00

Closed #3394 tradein/cian: фаза houses у cian_city_sweep падает 0/30 с 02.09 — fetch_newbuilding зовётся без proxy_provider → env-фолбэк на мёртвый узел 9 → сайдкар 503 2026-09-06 05:53:38 +00:00

Closed #3393 tradein: прогоны, оборванные деплоем (interrupted=1), попадают в лестницы стриков — failed-ratio судит частичные counters, а done обнуляет стрик банов источника 2026-09-06 05:53:25 +00:00

Closed #3391 tradein: SIGTERM-drain при деплое не помечает app-task бэкфиллы (cian_detail/cian_history/avito/domclick detail) — hard-cancel через 100 с, строки остаются running → boot-reap делает их zombie 2026-09-06 04:14:07 +00:00

Closed #3384 tradein: «пул пуст на старте батча» у cian/domclick detail-бэкфиллов уходит мимо no_proxy_stop — scheduler пишет failed со стухшими counters 2026-09-06 02:24:39 +00:00

Closed #3376 domklik price history: 42 скачка ровно ×10 (потерянный разряд в цене источника) — миграция 285 их честно пересчитала в +900 %, гейт лоадера такие занулит; п… 2026-09-06 00:19:34 +00:00

Closed #3386 tradein-backend без USE_PROXY_POOL_* — браузерные скрейпы из backend (yandex full-load, админ-ручки) идут на SCRAPER_PROXY_URL = выключенный узел 9 (407) → camoufox InvalidIP, 83 провала … 2026-09-05 22:30:41 +00:00

Closed #3375 [P1] yandex full-load: _leaf/_degraded передают on_bucket(key, len(seen), …) — int уезжает в save_listings как lots → TypeError, ручной full-load Яндекса ничего не сохраняет 2026-09-05 21:46:36 +00:00

Closed #3380 deploy-metrics: up -d не перечитывает одно-файловый bind-mount конфига Alloy (Beget читал конфиг 26.08 после успешного деплоя #3377) 2026-09-05 21:17:53 +00:00

Closed #3354 Alloy: второй слой скруббинга query-секретов (secret|token|api_key) в alloy-apps.alloy — defence-in-depth к #3154 2026-09-05 20:53:43 +00:00

Closed #3360 [SECURITY] Caddy: /trade-in/api/v1/admin/* доступен снаружи анонимно до guard'а — нет среза админского префикса на периметре 2026-09-05 20:32:06 +00:00

Closed #3368 yandex full-load: _leaf, обрезанный max_pages_per_bucket/CAP, пишется в done-леджер как complete — с containment (#3362) хвост крупного бакета не переобходится 2026-09-05 20:22:51 +00:00

Closed #3369 domclick city sweep: cancel-ветка пишет counters без done_buckets — резюм cancelled-прогона пересобирает всё заново 2026-09-05 20:19:45 +00:00

Closed #3225 tradein: offer_price_history.diff_percent у domklik — колонка смешанных единиц (рубли и проценты вперемешку) 2026-09-05 20:14:19 +00:00

Closed #3355 scraper-kit: ещё 4 дрейна с живым чекпоинтом без метки interrupted — domclick sweep и три full-load (cian/yandex/avito) нерезюмируемы после SIGTERM 2026-09-05 19:28:26 +00:00

Closed #3359 scraper-kit: containment-skip до пробы (#3315) подключён только у avito — cian/yandex full-load при резюме тоже пере-пробивают готовые полосы 2026-09-05 19:19:32 +00:00

Closed #3172 Свежесть источника меряется по статусу done — источник с блоками числится мёртвым, пока приносит данные 2026-09-05 19:10:14 +00:00

Closed #3324 Деплой ПТИЦЫ проверяет только backend /health — мёртвый frontend или crash-loop worker/beat уезжают зелёным деплоем 2026-09-05 18:39:24 +00:00

Closed #3312 tradein/scheduler: пропуск по протухшим кукам Циана отбрасывает следующий запуск на сутки вместо шести часов — _defer_next_run_at не знает про interval_minutes 2026-09-05 18:22:42 +00:00

Closed #3315 avito exhaustive: резюм пере-пробивает готовые полосы — на худом пуле весь бан-бюджет сгорает до первой новой корзины 2026-09-05 18:17:03 +00:00

Closed #3343 Флаки: test_auth_api.py — замер «худший сторонний запрос < 500 мс» падает на нагруженном раннере и роняет деплой tradein 2026-09-05 18:14:40 +00:00

Closed #3338 yandex/avito detail_backfill: save-False не начисляет исход — та же потеря попытки, что #3332 у domclick 2026-09-05 18:14:08 +00:00

Closed #3339 v2: флаг thin_market карточки avito_imv нигде не отрисован — «display-only» обещание без display 2026-09-05 18:12:43 +00:00

Closed #3333 scraper-kit: дрейн-метка interrupted только у avito_city_sweep — у yandex/cian/newbuilding дрейн по-прежнему неотличим от полного done 2026-09-05 18:03:05 +00:00

Closed #3316 [SECURITY][P1] tradein/team: имя из roles.yaml при создании сотрудника даёт эскалацию до admin — IDOR по всем оценкам и безлимит квоты 2026-09-05 17:37:39 +00:00

Closed #3332 domclick_detail_backfill: обрыв «пул пуст» бросает попытку неучтённой — attempted ≠ enriched+failed+blocked 2026-09-05 17:36:55 +00:00

Closed #3319 avito_city_sweep: чекпоинт мёртв по построению — 0 из 67 прогонов за 60 дней записали done_buckets, плюс две дыры честности 2026-09-05 17:36:51 +00:00

Closed #3341 PDF-отчёт клиента печатает реальные названия площадок — привести к норме publicLabel («Источник N») 2026-09-03 09:36:50 +00:00

Closed #3322 Россети WFS: сессионный feature.id как external_id — power_supply_centers раздут ×10, ON CONFLICT не сработал ни разу 2026-09-02 10:10:30 +00:00

Closed #3320 v2: четыре места, где числа честно посчитаны и нечестно показаны — «0,00 млн · −100%» зелёным, смешанные выборки в футере, deals-only полоса, бейдж о… 2026-09-02 10:00:49 +00:00

Closed #3321 лендинг: обязательные этаж и состояние уничтожаются непрочитанными — takeDraft() удаляет черновик целиком на монтировании /estimate 2026-09-02 09:48:53 +00:00

Closed #3190 Домклик detail: сайдкар даёт чистый контекст на каждый запрос, мы реплеим протухший qrator_jsid2 — отсюда «одна карточка и стена» 2026-09-01 06:57:46 +00:00

Closed #3192 Яндекс: авторизованная сессия открывает контакты продавца (author.phoneNumbers) — хранилище сессии и извлечение телефонов 2026-09-01 06:57:31 +00:00

Closed #3297 tradein/avito: browser-путь detail не смотрит на HTTP-статус — отказ 439 приезжает как ошибка парсинга, узел не ротируется 2026-09-01 06:57:17 +00:00

Closed #3194 Ключ шифрования кук и сами куки уезжают в GlitchTip через текст исключения SQLAlchemy (все три сервиса сессий) 2026-09-01 06:56:57 +00:00

Closed #3078 Телеметрия: метрики и Grafana — сегодня тихий отказ не виден ничем 2026-09-01 06:56:40 +00:00

Closed #3118 Домклик не собирается с 5 августа: 17 банов подряд, QRATOR рубит на первой из шести корзин 2026-09-01 06:56:26 +00:00

Closed #2869 CI/деплой встали: диск VPS 94%, копятся buildx-билдеры (20 штук, до 2 месяцев) 2026-09-01 06:56:12 +00:00

Closed #2275 [tradein][v2] Мобильной раскладки нет: 390px → overflowX 473px, десктопная сетка без брейкпоинта (из аудита #2266) 2026-09-01 06:55:59 +00:00

Closed #2081 trade-in/v2: UI/UX аудит — round 2 (системный контраст · честность чисел: дедуп/фильтр/адрес · a11y drawer+автокомплит) 2026-09-01 06:55:46 +00:00

Closed #2277 [tradein] cleanup-волна после стабилизации scraper-kit: удалить legacy-дубли скрапперов + косметика pool 2026-09-01 06:55:31 +00:00

Closed #2320 [tradein][analytics] Point-in-time backtest на listing_source_snapshots — заблокировано данными, не кодом 2026-09-01 06:55:16 +00:00

Closed #3283 tradein/domclick: пустой пул прокси и таймаут навигации считаются блоками площадки и вместе рвут добор карточек 2026-08-30 20:44:20 +00:00

Closed #3272 tradein/domclick: «система защиты от протечек» в описании квартиры читалась свипом как блок QRATOR 2026-08-30 09:14:40 +00:00

Closed #3270 CI Trade-In: test_fifth_concurrent_estimate_gets_fast_429 виснет на 120с — гонка на sleep(0.05) 2026-08-30 09:14:37 +00:00

Closed #3063 Яндекс: is_homeowner / is_pro_seller стираются при каждом «бедном» re-scrape (живая потеря данных) 2026-08-30 08:13:56 +00:00

Closed #3074 Скрапперы: чекпоинты — длинный прогон продолжается с места обрыва, а не начинается заново 2026-08-30 08:13:55 +00:00

Closed #1781 [tradein] cian-первичка не освежается: 9205 заморожены с 31.05, 93% без house_id_fk, фантомы не гаснут (Савкова 29) 2026-08-30 08:13:54 +00:00

Closed #2012 [tradein][estimator] Подключить house_type/kitchen/ceiling как фичи comp-scoring (+ обязательный backtest) 2026-08-30 08:13:53 +00:00

Closed #2657 [HIGH] tradein/scraper: охват Домклика упал в 8-10 раз — прод-свип даёт ~1% предложения, а видимый пул держался внешним ручным ингестом 2026-08-30 08:13:53 +00:00

Closed #2678 tradein/houses: хвосты после #2675 — camelCase-типы домов не нормализованы у источника, расхождение двух путей по монолиту, 369 замороженных строк 2026-08-30 08:13:52 +00:00

Closed #2723 [HIGH] tradein/proxy: проверка здоровья прокси ходит обычным HTTP, а работа — браузером — 480 зелёных проб за 10 суток, когда сбор падал по 4-5 раз в день 2026-08-30 08:13:51 +00:00

Closed #2857 Витрина поиска отдаёт четыре поля-заглушки: NULL прописан в самом определении, читателей у трёх — ноль 2026-08-30 08:13:50 +00:00

Closed #2934 [HIGH] ПТИЦА: отчёт утверждает отсутствие природного риска, ни разу его не проверив — 12 мест 2026-08-30 08:13:49 +00:00

Closed #2936 [HIGH] МЕРА/эстиматор: отбор сопоставимых предпочитает источник с худшими данными — отсутствие поля считается идеальным совпадением 2026-08-30 08:13:48 +00:00

Closed #3264 tradein/domclick: свип ходит на QRATOR без кук сессии — все запросы виснут на PoW, 0 лотов 2026-08-30 08:09:07 +00:00

Closed #3212 fix(tradein/domclick): перезапуск браузера на карточку уничтожает пропуск QRATOR — лечим симптом, который сами и создаём 2026-08-30 08:09:06 +00:00

Closed #3261 tradein/domclick: проверить, не травят ли контекст инжектируемые куки сессии — последняя невыясненная разница между добором и ручными пробами 2026-08-30 08:09:06 +00:00

Closed #3170 yandex_city_sweep: combo с упавшим сохранением уходит в чекпоинт — молчаливая дыра в покрытии 2026-08-30 08:09:05 +00:00

Closed #3047 Парсер карточки Авито недобирает поля: параметры дома теряются молча, метро тянется из описания, собственник не парсится 2026-08-30 08:09:04 +00:00

Closed #3168 import_rosreestr_dkp: курсор last_id живёт только в памяти — рестарт начинает импорт с нуля 2026-08-30 08:09:04 +00:00

Closed #2950 Деплой Trade-In своим prune -af убивает compose pull деплоя ПТИЦЫ (разные группы concurrency, один докер-демон) 2026-08-30 08:09:03 +00:00

Closed #3248 Пересчитать хедонические коэффициенты поверх area-бакетного ratio — площадь штрафуется дважды, 4+ комнат занижены на 21% 2026-08-29 20:19:28 +00:00

Closed #3239 tradein/domclick: после #3237 настоящий отказ площадки перестал банить узел — уехал в ветку «сбой транспорта» 2026-08-29 16:18:51 +00:00

Closed #3189 Домклик: критерий обрыва по доле блоков — нужна своя калибровка (один прокси без ротации, цена ошибки другая) 2026-08-29 12:20:18 +00:00

Closed #3205 tradein/domclick: площадка отдаёт одну карточку на экземпляр браузера — перезапускать camoufox после каждой страницы 2026-08-29 10:16:56 +00:00

Closed #3196 Скрапперы A1: detail-пути ДомКлика, Циана и Яндекса не проставляют ban_kind — 23 бана Авито числятся unknown, у Яндекса ветка бана мертва 2026-08-28 20:25:41 +00:00

Closed #3184 Обрыв по серии блоков срабатывает на КАЖДОМ прогоне (40 из 40 за 14 дней) — критерий не несёт информации 2026-08-28 18:22:26 +00:00

Closed #3185 Сайдкар безусловно блокирует картинки — camoufox предупреждает, что это детектируется WAF (44 раза за 3 часа) 2026-08-28 17:51:37 +00:00

Closed #3178 Авито/Домклик: ban_kind теряет явное большинство при схлопывании + причина в алерте захардкожена 2026-08-28 17:15:03 +00:00

Closed #2986 gisogd_permits: ключ (doc_group, doc_num) схлопывает 2243 разных документа — на проде нет 23.9% реестра 2026-08-28 07:43:52 +00:00

Closed #2956 [needs-human] НСПД не отдаёт данные с 27.07 — 24 суток без единого успешного дампа, WAF 403 на IP VPS 2026-08-27 22:02:51 +00:00

Closed #2848 Осиротевший прогон 6 часов числится «идёт»: деплой убил процесс, а status='running' остался — гейт деплоя врёт 2026-08-27 21:55:12 +00:00

Closed #3027 Переезд: понизить TTL на 13 доменах за 24–48 часов до окна 2026-08-27 20:11:33 +00:00

Closed #2997 Индексы: ~855 МБ мёртвых и дублирующих на listings, у houses вообще нет индекса под geography 2026-08-27 19:57:15 +00:00

Closed #3163 Тема «метрики» в Telegram пуста: инфра-алерты и клиентские инциденты делят одну тему 158 2026-08-27 19:09:37 +00:00

Closed #3156 tgbot: getUpdates падает 23 раза в сутки, а в логе пустая строка вместо причины 2026-08-27 19:05:48 +00:00

Closed #3161 Alertmanager отвечает 404 на /api/v2/alerts: внешний префикс распространён на весь API 2026-08-27 18:17:49 +00:00

Closed #3155 Prometheus не видел ни одного Alertmanager: цель file_sd осталась пустой при включённом профиле alerts 2026-08-27 18:12:11 +00:00

Closed #2673 [КРИТИЧНО] МЕРА слепа: за всю историю не отправлено ни одного уведомления — в GlitchTip нет ни правил, ни получателей 2026-08-27 18:10:01 +00:00

Closed #3114 Пароли БД утекают в логи: postgres_exporter печатает DSN при каждой неудачной сборке WAL-метрик (~210 строк в сутки) 2026-08-27 16:56:01 +00:00

Closed #2452 fix(frontend): нейтральный fallback ещё в 4 enum-lookup-местах (follow-up #2445-B2/B3) 2026-08-27 16:39:10 +00:00

Closed #3151 geocode-бэкфилл: budget_sec проверяется только между батчами — прогон ушёл на 175 % бюджета 2026-08-27 16:16:33 +00:00

Closed #2860 yandex_newbuilding_sweep: восемь прогонов подряд «обработано 5, успешно 0» со статусом done, очередь растёт 351 → 389 2026-08-27 16:03:14 +00:00

Closed #2953 tradein: 429 от Nominatim — сдерживатель темпа стоит на успешной ветке, при череде неудач его нет 2026-08-27 16:01:55 +00:00

Closed #2990 Чистый старт БД падает на миграции 077: FDW-backfill выполняется до создания USER MAPPING 2026-08-27 15:55:02 +00:00

Closed #3148 Легаси-периметр impersonate: три прод-пути бэкенда остались на chrome120, а тест это закрепляет 2026-08-27 15:37:53 +00:00

Closed #2904 compliance: заменить маркетинговые метрики лэндинга на вычисляемые до снятия noindex 2026-08-27 15:37:11 +00:00

Closed #3034 Авито: притворяемся Chrome 120 в 2026 году, и заголовки внутренне противоречивы 2026-08-27 15:19:22 +00:00

Closed #2656 [HIGH] tradein/estimate: якорь дома и знаменатель коэффициента выкупа читают is_active без фильтра свежести — протухшие объявления напрямую двигают цену 2026-08-27 15:11:13 +00:00

Closed #2203 [P0] Off-box бэкап tradein-postgres + restore-тест + hardening backup-скрипта 2026-08-27 14:28:44 +00:00

Closed #3082 MERA: на /trade-in/estimate нет ограничителя одновременности — рейт-лимит меряет частоту, а не параллелизм 2026-08-27 11:01:46 +00:00

Closed #3122 Планировщик: зомби после ребута хоста блокируют источники до 6 часов — нужен boot-reap по границе старта контейнера 2026-08-27 09:48:29 +00:00

Closed #3110 Переезд: 188.246.224.93 заблокирован у российских операторов — продукты недоступны клиентам с 25.08 2026-08-27 08:19:16 +00:00

Closed #3119 Poincare не отвечает с 00:41 МСК — продукты лежат девять часов, и об этом никто не узнал 2026-08-27 08:19:15 +00:00

Closed #3032 Переезд: замерить фактическую задержку Beget ↔ Selectel СПб — оценка 10–15 мс не проверялась 2026-08-26 16:10:27 +00:00

Closed #3081 MERA: карточка прогресса оценки показывает выдуманные стадии и ссылается на серверную механику, которой в этом пути нет 2026-08-26 08:10:14 +00:00

Closed #3044 Авито detail: HTTP 439 не обработан вовсе, а 429 с бан-страницей QRATOR ретраится на сожжённом IP 2026-08-26 07:30:24 +00:00

Closed #3036 Данные о доме с площадок не доезжают: консьерж заполнен у 5 домов из 10 131, а парсим мы его на каждой карточке 2026-08-26 06:51:35 +00:00

Closed #3057 Переезд: раннбук окна cutover — порядок, тайминги, критерии отката 2026-08-26 06:23:11 +00:00

Closed #3061 [БЛОКЕР] Переезд ломает сам Forgejo: его БД живёт внутри уезжающего gendesign-postgres-1 2026-08-26 06:23:11 +00:00

Closed #3085 Блокер 30.08: на Poincare нет бэкапов вообще — пустой crontab, и отказ будет тихим 2026-08-26 06:23:10 +00:00

Closed #3094 Переезд: на Poincare не задан TRADEIN_DATABASE_URL — newbuilding-crossload молча грузит 0 лотов вместо ~11 000/сут 2026-08-26 06:23:09 +00:00

Closed #3028 Переезд: скрапперы остаются на Beget — построчный upsert через сеть станет часами ожидания 2026-08-23 15:55:25 +00:00

Closed #3005 Cron бэкапа tradein вызывает скрипт сырым путём — потеря бита +x сломает бэкап молча 2026-08-22 10:42:53 +00:00

Closed #3033 Авито: у площадки есть родной фильтр вторички — качаем впятеро больше, чем нужно 2026-08-22 10:42:51 +00:00

Closed #2864 chore(tooling): pre-commit пинит ruff v0.7.4, в venv 0.15.12 — хук переформатирует чужие строки 2026-08-21 14:07:29 +00:00

Closed #2899 estimator: положение объекта на рынке (перцентиль внутри когорты) 2026-08-21 14:07:04 +00:00

Closed #2991 Postgres на стоковом конфиге: shared_buffers 128 МБ на базу 21 ГБ, wal_compression off при доле FPI 55-86% 2026-08-21 12:22:42 +00:00

Closed #2992 Апсерт переписывает 41 колонку безусловно — корень 15 ГБ раздутости и 7 ГБ WAL в сутки 2026-08-21 12:18:54 +00:00

Closed #2867 ПТИЦА: avg_area_m2 в топ-планировках показывает 0 м² вместо «нет данных» (нужна правка контракта) 2026-08-21 10:27:03 +00:00

Closed #2924 tradein: очередь yandex_newbuilding упирается в одни и те же пять домов — неудача ничего не помечает 2026-08-21 10:00:36 +00:00

Closed #2846 «ФАКТИЧЕСКИЕ СДЕЛКИ» на экране — сделки семимесячной давности, и возраст никуда не доезжает 2026-08-21 09:33:21 +00:00

Closed #2998 Росреестр не грузится 39 суток: rosreestr_dkp_import каждый день рапортует done с total_seen=0 2026-08-21 08:59:55 +00:00

Closed #2916 ops: правка Caddyfile ради МЕРЫ пересобирает и передеплоивает Site Finder, применяя все pending SQL 2026-08-19 08:39:02 +00:00

Closed #2917 ops: смоук периметра МЕРЫ не запускается после деплоя — регресс живёт до суток 2026-08-19 08:13:50 +00:00

Closed #9 Stage 2c: Интеграция Site Finder ↔ Generative + подача в реестр ПО 2026-08-16 10:37:14 +00:00

Closed #2677 [HIGH] tradein/estimate: домовой якорь подбирается без учёта ремонта, а подмешивается только вверх — после починки параметров это станет системати… 2026-08-16 10:37:13 +00:00

Closed #2382 fix(tradein/estimator): merge orphaned floor term for hedonic composite (#2002 roadmap item 1) 2026-08-16 10:37:13 +00:00

Closed #2632 tradein: бэкенд не отдаёт фактический радиус поиска — карта рисует круг по выбору пользователя, а не по тому, что реально искали 2026-08-16 10:37:12 +00:00

Closed #2625 [HIGH] tradein/scraper: капча Циана и пустые выдачи Яндекса засчитываются как успешный прогон — 41 из 68 прогонов за 2 недели забрали ноль лотов без ед… 2026-08-16 10:37:11 +00:00

Closed #2590 tradein/geocoder: инвариант «назван чужой топоним + результат внутри ЕКБ = недостоверно» вместо перечисления городов 2026-08-16 10:37:11 +00:00

Closed #2871 CI: backend-tests краснеет ПОСЛЕ зелёного pytest, и по логу нельзя понять, в каком шаге 2026-08-16 10:36:42 +00:00

Closed #2841 Битый слой buildcache роняет сборку бэкенда — правка не доезжает до прода, а сигнала об этом нет 2026-08-16 10:36:41 +00:00

Closed #2812 [HIGH] ptica/db: параллельные запросы Объектива падают на /dev/shm = 64 МБ (умолчание Docker) — 6 отказов за сутки 2026-08-16 10:36:40 +00:00

Closed #2830 tradein: два места по-прежнему ходят мимо пула прокси (cian_price_history + /admin/scraper/health) 2026-08-16 10:36:40 +00:00

Closed #2800 [HIGH] tradein/proxy: браузерная проба спрашивает только Авито — узел «здоров» и мёртв для Домклика одновременно 2026-08-16 10:36:39 +00:00

Closed #2683 chore(tradein): _manifest_applied.txt отстал на 27 имён — гейт от коллизий номеров миграций не работает между ветками 2026-08-16 10:36:38 +00:00

Closed #2700 [HIGH] tradein/cian: detail-страницы отдают 403 на 50 из 50 попыток 15 дней подряд — прогон пишет errors=0 и done, все домовые поля Циана нулевые 2026-08-16 10:36:38 +00:00

Closed #2567 tradein/ui: чистить TanStack Query cache при смене identity (login/logout) 2026-08-16 10:36:37 +00:00

Closed #2376 backend: POST /api/v1/trade-in/lead + persist (parent #1971) 2026-08-16 10:36:36 +00:00

Closed #2457 fix(export): «НДС (паркинг)» → «НДС (паркинг + коммерция)» в full_report экспортёрах (follow-up #2445-C1) 2026-08-16 10:36:36 +00:00

Closed #2369 [tradein][obs] scrape_runs.total_seen=0 у yandex (и проверить avito/cian) — counters пишутся только в jsonb 2026-08-16 10:36:35 +00:00

Closed #2350 [tradein] scraper_kit Group F2: fix avito build_warmed_session() missing config= (#2330) 2026-08-16 10:36:34 +00:00

Closed #2349 [tradein] scraper_kit Group F1: fix yandex/cian newbuilding BrowserFetcher missing endpoint= (#2322) 2026-08-16 10:36:33 +00:00

Closed #400 feat(tradein): #3 — источник ДомКлик 2026-08-16 10:36:32 +00:00

Closed #2087 trade-in/v2: data-contract — рассинхрон счётчика источников / ratio-vs-медианы / базы торга + кросс-source дедуп (из аудита #2081) 2026-08-16 10:36:32 +00:00

Closed #2894 B2C: бесплатная проба покрытия — POST /trade-in/coverage 2026-08-15 18:28:09 +00:00

Closed #2790 site-finder §4.1: «Применить» у весов POI ни к чему не приводит + системные пресеты не видны 2026-08-12 12:42:47 +00:00

Closed #2755 tradein/frontend: остаточный слой фикстур — 600 строк выдуманных чисел без потребителей + комментарии, описывающие исчезнувший контракт 2026-08-12 12:42:46 +00:00

Closed #2752 tradein/db: миграция 229 завела дубль индекса по expires_at — точная копия индекса из 001 2026-08-12 12:42:44 +00:00

Closed #2699 tradein/estimate: высота потолков в двух колонках — эстиматор читает одну, карта приоритетов называет каноном другую, 855 значений Циана не видит … 2026-08-12 12:42:42 +00:00

Closed #2691 tradein: успешный прогон загрузки не двигает отметку времени — здоровый источник будет выглядеть протухшим 2026-08-12 12:42:41 +00:00

Closed #2670 tradein/scraper: длинная серия неудач замолкает навсегда, а прогон, оборванный после частичного сбора, отчитывается успешным 2026-08-12 12:42:38 +00:00

Closed #2669 tradein/cian: views_total пуст у всех 21 682 объявлений — парсер делает int() по строке «146 просмотров, 8 за сегодня» 2026-08-12 12:42:36 +00:00

Closed #2811 [HIGH] site-finder: weights_profile.source = "profile" ставится по факту параметра, а не по факту найденного профиля 2026-08-10 10:43:09 +00:00

Closed #2814 [HIGH] tradein/avito: рейтинг дома подклеен в адрес объявления — у всех 1 123 таких строк нет координат (100%), 12.7% аналогов невидимы радиусу 2026-08-10 10:22:34 +00:00

Closed #2585 [P0] tradein: ключ Яндекс-геокодера недействителен — 403 Invalid api key, работает только резервный Nominatim 2026-08-10 09:27:50 +00:00

Closed #2574 [P0] tradein: скраперы отрабатывают вхолостую — данные не обновляются 5–18 дней, avito 0 активных 2026-08-10 09:26:29 +00:00

Closed #2807 tradein/newbuilding: счётчик price_dynamics_rows меряет прирост таблицы, а читается как «сколько записали» 2026-08-10 08:50:57 +00:00

Closed #2767 tradein/cian: обогащение новостроек не дало ни одной записи 8 суток подряд — 200 попыток, все прогоны done, причина в разборе а не в сети 2026-08-10 08:02:40 +00:00

Closed #2793 Вернуть снос дубля индекса trade_in_estimates(expires_at) — теперь с lock_timeout 2026-08-09 19:00:28 +00:00

Closed #2698 [HIGH] tradein/imv: домовая оценка Авито мертва 34 дня — 0 сохранённых из 35 попыток в каждом прогоне, все прогоны done 2026-08-09 17:02:05 +00:00

Closed #2782 frontend/site-finder: CRUD профилей весов недостижим — UI просит Admin Token, которого негде взять 2026-08-07 10:37:54 +00:00

Closed #2783 backend/weather_cache: тест требует single-flight, которого код НЕ обещает — гейт красит PR-ы по таймингу 2026-08-07 10:36:51 +00:00

Closed #2753 ptica/observability: страховка скраба ПДн может утечь то, что защищает + проводка проверяется грепом по исходнику 2026-08-07 10:11:38 +00:00

Closed #2775 backend/core: verify_admin_token / AdminTokenAuth — проверка без единого вызывающего 2026-08-07 09:30:25 +00:00

Closed #2672 tradein: «медианный торг» считается по псевдорепликам — 34% показываемых чисел стоят на ОДНОМ объявлении, и гейт по числу пар этого не видит 2026-08-07 09:17:31 +00:00

Closed #2702 tradein: отметки времени прогона не охватывают его работу — 153 прогона из 487 «длятся» дольше собственного окна, пятичасовой записан как 32 мс 2026-08-07 09:13:22 +00:00

Closed #2703 tradein: сторож «ноль результатов» структурно слеп к backfill-задачам — читает поле, которого в их счётчиках нет, поэтому 78 пустых прогонов из 158 … 2026-08-07 09:13:22 +00:00

Closed #2686 [HIGH] tradein: статус «забанен» на инфраошибке — из-за него сбор Авито замедлили вдвое по ложному основанию 2026-08-07 09:13:21 +00:00

Closed #2679 [HIGH] tradein/deploy: список путей для пересборки скрапера — неполный allowlist, и PR #2675 уже уехал в контейнер, который его не исполняет 2026-08-07 09:13:20 +00:00

Closed #2764 tradein/scraper: ban_kind проставляется по умолчанию у 9 вызывающих из 12 — метка выглядит доказательством, не будучи им 2026-08-07 09:10:29 +00:00

Closed #2766 tradein/frontend: у фронтенда trade-in ноль проверок поведения — при том что сегодня через него прошли три видимых пользователю изменения 2026-08-07 09:10:29 +00:00

Closed #2741 tradein/devops: логи умирают вместе с контейнером при каждом деплое — ночной прогон невозможно разобрать утром 2026-08-07 09:10:28 +00:00

Closed #2731 tradein: «время наблюдения» у снимка — это время начала транзакции сбора; 219 строк семиминутного прогона несут одну метку 2026-08-07 09:10:27 +00:00

Closed #2709 tradein: redis недостижим из контейнера ПО СЕТИ, а не из-за переменной — «просто задать REDIS_URL» сделает поиск вчетверо медленнее и молча 2026-08-07 09:10:26 +00:00

Closed #2715 tradein/auth: хвост после #2712 — насыщение без следа в аудите и с логом, выселяющим прочие логи; гейт после выборки из БД; правило только в коммент… 2026-08-07 09:10:26 +00:00

Closed #2771 [HIGH] tradein/houses: 20% домов без координат — геокодер чинит объявление, но в дом координаты не возвращаются 2026-08-07 09:08:07 +00:00

Closed #2770 tradein/frontend: pnpm-lock.yaml никем не читается и врёт про состав зависимостей 2026-08-07 09:07:59 +00:00

Closed #1951 [tradein][devops] Деплой неатомарен — recreate scraper посреди run убивает in-flight sweep (cian_full_load → zombie) 2026-08-06 17:03:29 +00:00

Closed #2714 [HIGH] tradein/auth: потолок сверок бьёт и по своим — один IP на 5 запросах в секунду закрывает вход всем, бессрочно 2026-08-06 17:03:29 +00:00

Closed #2665 [HIGH] tradein/auth: bcrypt блокирует единственный event loop — поток логинов кладёт весь API, и он же сейчас единственный настоящий ограничитель темпа 2026-08-06 17:03:25 +00:00

Closed #2676 tradein/browser: сайдкар не считает восстановимой ошибку «execution context was destroyed» — страница уходит в навигацию между goto и evaluate, ретрая нет 2026-08-06 17:03:24 +00:00

Closed #2722 tradein/ci: тесты браузерного сайдкара не запускаются в пайплайне — 4 из них лежат красными на main, и об этом никто не знает 2026-08-06 17:03:23 +00:00

Closed #2701 tradein: 38% дневных снимков объявлений не знают своего прогона — три вызова save_listings из девяти теряют run_id 2026-08-06 17:03:22 +00:00

Closed #2725 fix(tradein/scraper): сигнал живости cian_history_backfill шлётся один раз — живые прогоны reap'ятся как zombie 2026-08-06 12:12:58 +00:00

Closed #2697 chore(tradein): DROP listings_snapshots.position_in_serp (шаг 2 из 2, #2674) 2026-08-06 11:41:40 +00:00

Closed #2435 [tradein] Houses Catalog: Cian bti_data/valuation house_info распарсены, но выбрасываются (никогда не пишутся в houses) 2026-08-05 18:54:42 +00:00

Closed #2571 tradein/auth: усилить защиту логина от перебора после снятия basic_auth 2026-08-05 18:37:40 +00:00

Closed #2658 tradein/scraper: пропуск задачи не оставляет следа — статус «пропущено» построен и ни разу не использован, а алерт стоит в недостижимой ветке 2026-08-05 18:32:08 +00:00

Closed #2660 tradein: витрины и «медианный торг» читают listings без сегмента и свежести — пользователь видит 14.5 тыс. мертвецов как живые, а в торг попадает пе… 2026-08-05 18:24:38 +00:00

Closed #2603 tradein/geocode: хвосты после #2601 — непрошитый sibling-caller в geocode_deals_nominatim.py + наблюдаемость гейта 2026-08-05 15:29:52 +00:00

Closed #2600 tradein: прокси-пул — здоровье глобальное, бан на одном источнике выбрасывает прокси отовсюду (и обычно не засчитывается) 2026-08-05 15:23:13 +00:00

Closed #2613 [HIGH] tradein: 6 из 7 запасных прокси в окружении мертвы — подписка mobileproxy не отвечает с начала июля 2026-08-05 12:31:30 +00:00

Closed #2610 tradein/proxy: пул не отличает «оператор выключил руками» от авто-отключения — проверка здоровья молча возвращает узел в строй 2026-08-05 12:19:21 +00:00

Closed #2616 tradein/proxy: запретить сбор без прокси (сейчас пустой прокси = прямое подключение с IP сервера), затем убрать мёртвые переменные mobileproxy 2026-08-05 09:56:58 +00:00

Closed #2573 tradein/auth: устаревший текст ошибки 401 — «Caddy basic_auth required» после cutover 2026-08-05 08:51:34 +00:00

Closed #2620 tradein/pricing: у 4+ комнат коэффициент выкупа больше единицы — новостроечный гард стоит только на одной стороне, а deals.rooms обрезан на 4 2026-08-05 08:20:01 +00:00

Closed #2593 tradein: выпилить Яндекс-геокодер и остатки источника N1 2026-08-05 07:36:45 +00:00

Closed #2628 tradein: бэкфилл городских меток — ТОЛЬКО yandex/cian, наивный гео-критерий снесёт ~640 корректных меток Авито 2026-08-05 07:26:03 +00:00

Closed #2636 tradein: вернуть domclick_detail_backfill после починки — выключена при 0 обогащений на 491 попытку 2026-08-05 07:26:02 +00:00

Closed #2631 fix(mera/b2c): публичный лэндинг всё же дёргает /api/v1/me — инвариант «на публичной странице запроса к /me не происходит» нарушен 2026-08-05 06:32:50 +00:00

Closed #2607 [HIGH] tradein: listing_source_snapshot падает в zombie каждую ночь 6 суток подряд, осиротевшие запросы висят по 46 часов и держат горизонт vacuum 2026-08-02 09:28:26 +00:00

Closed #2604 [HIGH] tradein: ночное геокодирование даёт 0 сохранённых 8 прогонов подряд — очередь на 98% забита неактивными объявлениями чужих регионов 2026-08-01 19:15:39 +00:00

Closed #2594 [CRITICAL] tradein: скрапер не пишет город в адрес объявления — данные области уходят в Екатеринбург 2026-08-01 18:30:46 +00:00

Closed #2582 [CRITICAL] tradein: гейт EKB-геокодера держится на списке из 37 городов — всё остальное считается Екатеринбургом 2026-07-31 16:30:39 +00:00

Closed #2581 [CRITICAL] tradein: Tier A «тот же дом» матчит листинги по всей области без гео-предиката → цена в 4-5 раз выше реальной 2026-07-31 15:08:24 +00:00

Closed #2556 tradein/auth 6: Frontend — team-дашборд менеджера (сотрудники, квоты, статистика) 2026-07-30 19:27:32 +00:00

Closed #2557 tradein/auth 7: Seed-миграция существующих юзеров в tradein_users 2026-07-30 19:17:35 +00:00

Closed #2554 tradein/auth 4: Team-API — CRUD сотрудников, квоты, статистика (org-scoped) 2026-07-30 18:38:27 +00:00

Closed #2555 tradein/auth 5: Frontend — login-форма + session-aware RouteGuard 2026-07-30 18:10:47 +00:00

Closed #2552 tradein/auth 3: Auth-core — login/logout, session middleware, dual-mode rbac_guard 2026-07-30 17:19:45 +00:00

Closed #2550 tradein/auth 1: Foundation — bcrypt, password.py, session-настройки config 2026-07-30 07:04:57 +00:00

Closed #2551 tradein/auth 2: Schema — tradein_users + tradein_sessions (SQL 192_*) 2026-07-30 06:59:24 +00:00

Closed #2445 EPIC: аудит кода ПТИЦЫ (мульти-агентный code review 2026-07-05) — 18 подтверждённых находок 2026-07-05 20:16:04 +00:00

Closed #2416 [needs-human][devops] deploy-obsidian.yml: живо ли GitHub-зеркало, или workflow мёртв с 16.05? 2026-07-05 15:41:33 +00:00

Closed #2000 DomClick Layer B (deep detail-backfill) заблокирован QRATOR — нужен dedicated residential RU proxy 2026-07-04 20:13:25 +00:00

Closed #2309 [tradein] scraper_kit migration — Group F: широкий рефактор структуры providers/* 2026-07-04 19:26:38 +00:00

Closed #2352 [tradein] scraper_kit Group F4: shared base classes + consistent naming/layout providers/* 2026-07-04 19:26:32 +00:00

Closed #2431 [tradein] dedup regression: PR #2429 сломал сравнение корпуса дома между avito/cian («NкM») и domklik («N/M») 2026-07-04 17:12:21 +00:00

Closed #2423 [tradein] dedup: avito house-no regex хватает цифры из приклеенного названия метро вместо реального номера дома 2026-07-04 17:12:11 +00:00

Closed #1846 DomClick scraper мёртв: VPS-IP заблокирован QRATOR + редизайн сайта (нужен прокси + rewrite на новый API) 2026-07-04 14:20:59 +00:00

Closed #2323 [tradein] admin.py: scrape_cian_newbuilding awaits sync save_newbuilding_enrichment — TypeError at runtime 2026-07-04 14:01:26 +00:00

Closed #2397 [tradein] scraper_kit: decommission legacy orchestration (scrape_pipeline.py / scheduler.py) — enable full legacy deletion 2026-07-04 13:22:46 +00:00

Closed #1746 (site-finder) [feature/data] все инженерные сети на карту + единый источник (191-ФЗ engineering_networks не используется) 2026-07-04 12:09:08 +00:00

Closed #2367 [site-finder] ИСОГД Свердл: реестр РНС как ранний сигнал future-supply (§6) — наследник Потока 2 из #103 2026-07-04 10:35:18 +00:00

Closed #2213 [P1] Defense-in-depth для trusted-header auth + rate-limiter fix 2026-07-04 10:00:42 +00:00

Closed #2218 [needs-human] Продуктовая ясность: мот vs бесплатных оценок + конверсионный слой + README 2026-07-04 09:45:53 +00:00

Closed #2377 frontend: заменить mailto-CTA на форму лида в HeroTransparency (parent #1971) 2026-07-04 08:57:28 +00:00

Closed #2395 [tradein][v2] Форма лида (#2377) невидима на проде — смонтирована в мёртвом legacy-дереве, не в v2 2026-07-04 08:57:27 +00:00

Closed #2363 [tradein] scraper_kit Group F4c: миграция yandex/* на shared base (_base.py) 2026-07-04 06:43:18 +00:00

Closed #2361 [tradein] scraper_kit Group F4a: миграция avito/* на shared base (_base.py) 2026-07-04 06:35:00 +00:00

Closed #2362 [tradein] scraper_kit Group F4b: миграция cian/* на shared base (_base.py) 2026-07-04 06:32:31 +00:00

Closed #2364 [tradein] scraper_kit Group F4d: миграция domclick/* на shared base (_base.py) 2026-07-04 06:24:07 +00:00

Closed #2217 [needs-human] 152-ФЗ позиция (17342 телефона) + права на переопубликование скрейпленных данных 2026-07-04 06:12:23 +00:00

Closed #1926 [AUDIT #1871 остаток] invest_score advisory flag + units_sold align + yandex total_seen obs + frontend polish 2026-07-04 02:30:01 +00:00

Closed #103 Engineering networks: Hybrid plan (ФГИС ТП XSD + ИСОГД + Водоканал ЕКБ) — альтернативные источники 2026-07-04 02:06:57 +00:00

Closed #2358 [tradein] scraper_kit Group F4-Foundation: shared base/utils для providers/* 2026-07-04 00:56:14 +00:00

Closed #2003 [tradein][tech-debt] houses.house_class never populated — dead merge engine + Avito «Класс жилья» not extracted 2026-07-04 00:49:49 +00:00

Closed #2322 [tradein] scraper_kit bug: yandex/cian newbuilding providers — BrowserFetcher без endpoint= ломает любого caller'а 2026-07-04 00:17:10 +00:00

Closed #1995 [UX-аудит #06b] Данные сделок-заглушки: все даты 01.01.26 + немонотонный sell-time (backend/data) 2026-07-04 00:14:03 +00:00

Closed #2330 [tradein] scraper_kit: avito build_warmed_session() не выставляет config= — тихо теряет sticky-proxy на prod-default пути 2026-07-04 00:04:47 +00:00

Closed #2351 [tradein] scraper_kit Group F3: системный аудит config-footgun паттерна во всех providers/* 2026-07-04 00:04:23 +00:00

Closed #2337 [tradein] scraper_kit Group E4: финальное переключение estimator.py на kit (#2308 завершение) 2026-07-03 23:49:11 +00:00

Closed #2308 [tradein] scraper_kit migration — Group E: core valuation (estimator.py) — МАКСИМАЛЬНЫЙ РИСК 2026-07-03 23:49:11 +00:00

Closed #1967 [tradein][data] avito 54% NULL lat → невидим PostGIS-радиусу: geo-backfill + dedup на ингесте (рычаг точности массы оценок) 2026-07-03 23:25:48 +00:00

Closed #2336 [tradein] scraper_kit Group E3: yandex_valuation → kit (estimator.py dependency, часть #2308) 2026-07-03 23:04:14 +00:00

Closed #2334 [tradein] scraper_kit Group E1: avito_imv → kit (estimator.py dependency, часть #2308) 2026-07-03 23:04:12 +00:00

Closed #2011 [tradein] Аудит покрытия полей скрапперов avito/cian/yandex — сводка + прод-замер (2026-06-27) 2026-07-03 23:01:13 +00:00

Closed #1950 [tradein][scrapers] avito: changeip-recovery одношотный (30s timeout роняет run) + статус 'banned' завышен когда SERP отработал 2026-07-03 22:59:51 +00:00

Closed #2335 [tradein] scraper_kit Group E2: cian_valuation → kit (estimator.py dependency, часть #2308) 2026-07-03 22:59:46 +00:00

Closed #2317 trade-in/v2: подключить LocationDrawer к GET /location-coef (frontend wiring, follow-up #2045) 2026-07-03 22:47:42 +00:00

Closed #2009 [tradein][avito] detail: дописать house_type + house_catalog_url (+5 house-level полей) в save_detail_enrichment 2026-07-03 22:47:06 +00:00

Closed #2010 [tradein][avito] IMV: персист comparables + searchSimilarUrl (сейчас полностью выбрасываются) 2026-07-03 22:46:54 +00:00

Closed #2008 [tradein][cian] SERP: промоут полей из raw_payload в колонки — kitchen_area_m2, mortgage_available (+ новые is_apartments, is_rosreestr_checked) 2026-07-03 22:46:43 +00:00

Closed #2007 [tradein][yandex] SERP _entity_to_lot: писать ceiling_height + kitchen_area_m2 в колонки + нормализовать house_type 2026-07-03 22:46:39 +00:00

Closed #1949 [tradein][scrapers] cian: full_load зомбится ~43% + city_sweep self-inflicted watchdog-бан → 86% инвентаря stale 2026-07-03 22:45:48 +00:00

Closed #2310 [tradein] scraper_kit migration — Group C: backfill/enrichment tasks 2026-07-03 22:28:11 +00:00

Closed #2202 [P0] Подключить scrape_proxies pool к боевым скрейперам — убрать single-IP SPOF 2026-07-03 21:54:36 +00:00

Closed #2062 trade-in/v2: UI/UX-полировка по аудиту (доступность, доверие к числам, иерархия, копирайт) 2026-07-03 21:52:41 +00:00

Closed #1996 [UX-аудит #07] Иерархия «ответ → доказательство → тех-детали» на странице результата 2026-07-03 21:52:41 +00:00

Closed #1993 [UX-аудит #05] Убрать сырые внутренние подписи с витрины (start_price, benchmark, yandex_valuation, asking…) 2026-07-03 21:52:40 +00:00

Closed #1994 [UX-аудит #06a] Прятать пустые блоки + единый формат сумм (frontend) 2026-07-03 21:52:40 +00:00

Closed #1990 [UX-аудит #02] Дедуп чисел на странице результата — одни и те же суммы повторяются 3–4 раза 2026-07-03 21:52:39 +00:00

Closed #1989 [UX-аудит #01] Закрепить итог (выкупная стоимость + «Скачать PDF») вверху страницы результата 2026-07-03 21:52:39 +00:00

Closed #1992 [UX-аудит #04] Один источник вводных + один инструмент «что-если» (сейчас три места пересчёта) 2026-07-03 21:52:39 +00:00

Closed #1972 [tradein][ux] Редизайн результата «Тихая уверенность»: одна цифра-герой (expected_sold) + confidence-driven типографика + снять тройное дублирование цен 2026-07-03 21:52:38 +00:00

Closed #1991 [UX-аудит #03] Свести четыре цены к двум + явная пометка «эта идёт в оффер» 2026-07-03 21:44:44 +00:00

Closed #2305 [tradein] scraper_kit migration — Group A: admin/scripts debug (низкий риск) 2026-07-03 21:41:12 +00:00

Closed #2316 [P4] mypy strict: 3 пред-существующие ошибки в generative/exporters/dxf.py 2026-07-03 21:40:49 +00:00

Closed #2306 [tradein] scraper_kit migration — Group B: cian/yandex price-history &amp; session 2026-07-03 21:33:10 +00:00

Closed #1966 [tradein][analytics] Accuracy-loop → CI-гейт: point-in-time backtest на ПОЛНОМ движке (per-rooms MAPE + range-coverage SLA) 2026-07-03 21:25:23 +00:00

Closed #2295 [P3] POST /concepts отдаёт 422 на многоконтурных участках (MultiPolygon) 2026-07-03 21:19:12 +00:00

Closed #2307 [tradein] scraper_kit migration — Group D: порт orphan-модулей (domclick_detail, ekb_geoportal_client) 2026-07-03 21:18:40 +00:00

Closed #2036 trade-in/v2: подключить боевые ручки к новому UI (/trade-in/v2) 2026-07-03 21:08:06 +00:00

Closed #2045 trade-in/v2 [BE-3]: Коэффициент локации + POI-разложение (LocationDrawer) — DEFER / решение 2026-07-03 21:07:31 +00:00

Closed #2304 [tradein] scraper_kit migration — Stage 0: общий parity-test harness 2026-07-03 20:52:26 +00:00

Closed #2262 [tradein][v2] Жёсткий аудит нового дизайна «Мера» v2 (пост honest-interval + design-sync) — ЭПИК 2026-07-03 20:51:28 +00:00

Closed #2266 [tradein][v2] Визуальный аудит — иерархия 3 цен, CTA, микрокопи, консистентность после honest-hero (эпик #2262) 2026-07-03 20:51:06 +00:00

Closed #2265 [tradein][v2] Живой аудит честности чисел на проде — resolved ли жалоба оценщика + остаток #2087 (эпик #2262) 2026-07-03 20:51:06 +00:00

Closed #2046 trade-in/v2 [BE-4]: профиль пользователя (name/org/email) для TopNav — DEFER 2026-07-03 20:33:47 +00:00

Closed #2041 trade-in/v2 [FE-4]: overlay «РЫНОК / Аналогичные объявления» (SourcesView) 2026-07-03 20:29:51 +00:00

Closed #2040 trade-in/v2 [FE-3]: overlay «Аналитика дома» (AnalyticsView) 2026-07-03 20:29:50 +00:00

Closed #2264 [tradein][v2][a11y] Жёсткий аудит доступности — клавиатура/SR end-to-end + aria-modal оверлеев (эпик #2262) 2026-07-03 20:17:50 +00:00

Closed #2255 [P3] Эстиматор: сегментная калибровка по классу жилья — за фичефлагом (follow-up #2209) 2026-07-03 18:44:12 +00:00

Closed #2269 [P2] Кросс-source дедуп: ключ схлопывает лишь 13.5% дублей — канонизация по house_id_fk (follow-up #2215) 2026-07-03 13:15:19 +00:00

Closed #2259 Полный PDF/DOCX-экспорт ПТИЦА-отчёта (/analyze): §1-§7 + альтернативы 2026-07-03 11:32:35 +00:00

Closed #2119 Точки подключения с характеристиками: 51 источник, 27 верифицированы (research 2026-07-02) 2026-07-03 08:57:40 +00:00

Closed #2201 [P0] Продлить 3 mobile-прокси до 15.07 (иначе avito+cian+yandex умрут вместе) 2026-07-03 07:56:39 +00:00

Closed #2267 [tradein][v2][design-sync] Аудит DS-панели claude.ai/design + авторинг 6 floor-card v2-компонентов (эпик #2262) 2026-07-03 07:39:19 +00:00

Closed #2126 [EPIC] scraper-kit — внутренний код-пакет монорепо (консолидация скрапперов) 2026-07-03 07:29:57 +00:00

Closed #2160 [EPIC] proxy-pool — хранилище прокси в БД + автовыбор свободного/рабочего 2026-07-03 07:29:57 +00:00

Closed #2204 [P0] deactivate_stale для domklik/n1 + честный трекинг freshness domklik 2026-07-03 07:03:14 +00:00

Closed #2235 [P2] yandex: 204 активных URL-дубля — дедуп + уникальность source_url 2026-07-03 06:53:28 +00:00

Closed #2236 [P2] external_valuations.house_id всегда NULL (1579/1579) — привязать к houses 2026-07-03 06:40:23 +00:00

Closed #2234 [P2] admin.py: текст исключений утекает в HTTP-ответы (8 мест detail=f"...: {e}") 2026-07-03 06:27:23 +00:00

Closed #2233 [P1] photo-upload буферизует всё тело в RAM до проверки лимита (OOM-риск при mem_limit 768m) 2026-07-03 06:15:58 +00:00

Closed #2209 [P1] Честность диапазона оценки: раскрыть/рекалибровать 56.6% + min-width floor + backtest baseline + CI-гейт 2026-07-03 06:14:21 +00:00

Closed #2177 §4.2 «Анализ планировок»: покрытие 17% при 100% данных в Объективе — дедуп ЖК + расширение mapping + lots-fallback 2026-07-03 00:19:50 +00:00

Closed #2215 [P2] Кросс-источник дедуп аналогов (house+floor+area) — убрать ~19% двойного счёта 2026-07-02 21:12:31 +00:00

Closed #2216 [P2] Миграции tradein: порядок (до рестарта) + реконсиляция 152 vs 131 + дубль-префиксы 2026-07-02 21:10:50 +00:00

Closed #2181 Альтернативы при отрицательном вердикте: оптимизатор программы (класс × этажность × mix) в конце отчёта 2026-07-02 21:05:41 +00:00

Closed #2211 [P1] Честность UI-источников: убрать «/7», фолбэк-чипы, «классическую», зелёный cache-дот, «CV» 2026-07-02 21:03:36 +00:00

Closed #2212 [P1] Починить rosreestr_dkp_import (deals заморожены 182д) + алерт на max(deal_date) 2026-07-02 20:57:01 +00:00

Closed #2207 [P1] Снять блокировку event loop на POST /estimate (asyncio.to_thread) 2026-07-02 20:50:36 +00:00

Closed #2206 [P1] Обновлять scraped_at в upsert (base.py) — вернуть ~55% инвентаря эстиматору 2026-07-02 20:42:26 +00:00

Closed #2205 [P0] Убрать публичную фейк-оценку /trade-in/ui-preview с прода + noindex 2026-07-02 20:30:00 +00:00

Closed #2208 [P1] Pre-merge CI-гейт для tradein-mvp (backend pytest + frontend typecheck/lint) 2026-07-02 20:05:34 +00:00

Closed #2178 §4.3 «Тренд рынка»: считать динамику цен из objective_lots_history вместо устаревшего Росреестра 2026-07-02 19:51:12 +00:00

Closed #2180 3D-макет окружения в «Размещении застройки»: соседние здания из cad_buildings 2026-07-02 19:50:36 +00:00

Closed #2179 §7 отчёта: раскрыт по умолчанию + участок выделен на 3D-подложке + больший кусок карты 2026-07-02 19:50:35 +00:00

Closed #2164 proxy-pool P4: динамический browser server (acquire + relaunch + release) 2026-07-02 19:21:13 +00:00

Closed #2188 tradein/deploy: tradein-scraper не пересоздаётся при изменении matching/dedup-кода — DORMANT-дедуп запустил бы старый код 2026-07-02 19:04:21 +00:00

Closed #2163 proxy-pool P3: интеграция curl-путей на пул (acquire/release) 2026-07-02 18:57:01 +00:00

Closed #2187 tradein/dedup: ослабить geo-guard в fias-pass — 130 same-fias групп не смержены (NULL geom / >250 м) 2026-07-02 18:51:55 +00:00

Closed #2192 rewire: scheduler_main на kit-scheduler за флагом USE_KIT_SCHEDULER (ship-dark) 2026-07-02 18:41:41 +00:00

Closed #2136 scraper-kit G: scheduler + registry-dispatch (25+ trigger_* → dict-реестр) 2026-07-02 17:44:23 +00:00

Closed #2135 scraper-kit F: перенос pipeline (scrape_pipeline) в пакет 2026-07-02 17:29:18 +00:00

Closed #2162 proxy-pool P2: сервис proxy_pool (acquire/release/health) + health-checker 2026-07-02 16:42:12 +00:00

Closed #2134 scraper-kit E: консолидация бисекции цены (4 копии → pricing/bisection.py) 2026-07-02 16:41:18 +00:00

Closed #2161 proxy-pool P1: таблица scrape_proxies + admin bulk-load + seed env 2026-07-02 16:31:51 +00:00

Closed #2133 scraper-kit D: перенос провайдеров (avito/cian/yandex/domclick) 2026-07-02 16:14:15 +00:00

Closed #2132 scraper-kit C: перенос core-слоя в пакет 2026-07-02 15:44:21 +00:00

Closed #2131 scraper-kit B: Protocol-границы (matcher/config/session/jobs) + adapters 2026-07-02 15:26:17 +00:00

Closed #2127 [EPIC] market — контракт данных скрапперов для внешних потребителей 2026-07-02 15:17:50 +00:00

Closed #2138 market J: перенацелить gendesign_reader на market.v_* + обновить ETL #976 2026-07-02 15:17:43 +00:00

Closed #2137 scraper-kit H: Docker/build wiring для пакета 2026-07-02 14:31:26 +00:00

Closed #2130 market I: contract-view market.v_* поверх producer-таблиц 2026-07-02 14:10:06 +00:00

Closed #2128 scraper-kit A: скаффолд пакета + workspace-подключение 2026-07-02 14:10:05 +00:00

Closed #2129 scrapers K: fix _unix_to_date TZ-inconsistency (3 копии MSK/UTC/naive) 2026-07-02 14:10:05 +00:00

Closed #2043 trade-in/v2 [BE-1]: estimate +cv +source_counts +created_at; /history +sources_used; cache-KPI 2026-07-02 13:59:09 +00:00

Closed #2044 trade-in/v2 [BE-2]: optional radius_m param (estimate / house-analytics / sell-time-sensitivity) 2026-07-02 13:59:09 +00:00

Closed #2111 «Все точки показывают максимум информации» — карты-попапы недоливают данные (verified audit) 2026-06-30 14:11:29 +00:00

Closed #1953 [EPIC] ПТИЦА analysis report — UX + data-honesty аудит (на примере 66:41:0205010:287) 2026-06-28 16:08:06 +00:00

Closed #1961 P1 Сети/точки подключения не на карте (нет слоя источника + радиус 500м vs 2км + полигоны без центроида) (эпик #1953) 2026-06-28 14:46:17 +00:00

Closed #1960 P1 «Медиана рынка» 64k — квартальная n=1 ДКП-медиана вместо новостроечного базиса (эпик #1953) 2026-06-28 14:46:12 +00:00

Closed #1958 P0 График дефицита: оси налезают + плоское/пустое состояние; фактор «Прогноз спрос/предложение» ×4 дубль (эпик #1953) 2026-06-28 14:46:04 +00:00

Closed #1957 P0 ЗОУИТ: сырой «cad_zouit», дубли, пустые «Охраняемые зоны» + СЗЗ-смысл и баннер «жильё ограничено» (эпик #1953) 2026-06-28 14:45:57 +00:00

Closed #1955 P0 «Что хорошо продаётся» — дубли бакетов (obj_class не проброшен) + фантом Comfort/Комфорт (эпик #1953) 2026-06-28 14:45:46 +00:00

Closed #1954 P0 Объект-карточка: площадь «—», обременения «—», «обновлено» — читаются мёртвые колонки (эпик #1953) 2026-06-28 14:45:41 +00:00

Closed #2042 trade-in/v2 [FE-5]: «Предыдущие оценки» (CacheView) + PDF-ссылка + quota + автокомплит адреса 2026-06-28 13:15:18 +00:00

Closed #1945 [site-finder][scrapers] domrf_kn FLATS loader сломан с ~17.05 (DOM.РФ WAF): flats 376k→~0, best-layouts supply пустой 5 недель 2026-06-28 13:03:44 +00:00

Closed #2039 trade-in/v2 [FE-2]: overlay «История / Продажи в доме» (HistoryView) 2026-06-28 12:46:50 +00:00

Closed #2038 trade-in/v2 [FE-1]: data shell + main dashboard wiring (page.tsx + mappers + ParamsPanel/ResultPanel/ObjectSummary/Hero/Footer) 2026-06-28 11:50:53 +00:00

Closed #1964 P2 Data-quality: objective_lots раздут (1.75M), n_sold=99110 аномалия, registration_date разрежен (эпик #1953) 2026-06-28 00:21:47 +00:00

Closed #1965 [feat] Консолидация фин-модели/Концепции в отчёт + интерактив house-picker → 3D → пересчёт (эпик #1953) 2026-06-27 22:08:58 +00:00

Closed #1956 P0 4.2 Планировки: «срок продажи 0 мес» / «% продано —» — per-object snapshot (регрессия #1944) (эпик #1953) 2026-06-27 18:43:20 +00:00

Closed #1959 P0 Индекс дефицита −1.00 ВЕЗДЕ — basis mismatch (спрос сегмент vs предложение район) + honesty-guard (эпик #1953) 2026-06-27 18:18:10 +00:00

Closed #1963 P2 Человеческий язык / микрокопия отчёта (6.2/6.3/6.5 + легенды дефицита/затоварки) (эпик #1953) 2026-06-27 12:59:29 +00:00

Closed #1962 P1 Градрегламент НСПД (тер.зона/КСИТ/высота/этажность) — вывести в Раздел 1 (эпик #1953) 2026-06-27 12:22:52 +00:00

Closed #1968 [tradein][ux] Honesty-fix вывода: «7 источников»→честные 4, убрать фейковую per-source медиану, выпилить domclick из sources 2026-06-27 11:04:00 +00:00

Closed #1723 [tradein][data] Objective bank_name/registration_number не отдаётся на текущем тарифе (ЕГРН-поля) 2026-06-27 01:38:21 +00:00

Closed #39 Access A1: OSRM-докер + osm.pbf Свердл (routing-engine infra) 2026-06-27 01:32:28 +00:00

Closed #1917 [tradein][scrapers] /fetch-json: тюнинг settle после навигации (транзиентный NetworkError на первом XHR) 2026-06-27 00:36:29 +00:00

Closed #815 [EPIC/tracking][tradein] Launch readiness всех скрейперов — подготовить к регулярному сбору 2026-06-26 17:52:21 +00:00

Closed #883 [EPIC][tradein][scrapers] Миграция fetch-слоя на camoufox (real browser anti-bot) 2026-06-26 17:52:17 +00:00

Closed #886 [tradein][scrapers] Phase 2 — cian/n1/yandex на camoufox + снять анти-бот костыли (#883) 2026-06-26 17:52:13 +00:00

Closed #446 epic(infra): Pilot infra status 2026-05-23 — после security pivot 2026-06-26 17:49:16 +00:00

Closed #972 [SF-v2 #950] 950-E1: Backfill enrichment-таблиц newbuilding (3 пустые) 2026-06-26 17:49:11 +00:00

Closed #559 [EPIC][tradein] Полная автоматизация scrapers с persistence через redeploy 2026-06-26 17:49:07 +00:00

Closed #1871 [AUDIT 2026-06-22] ПТИЦА deep-audit: реестр дефектов (цифры/логика/минусы/дизайн) 2026-06-26 17:40:23 +00:00

Closed #1189 [tradein] D: QA полной загрузки сегментов на проде — counts, стабильность estimator, EXPLAIN → решение об индексе 2026-06-26 17:28:06 +00:00

Closed #974 [SF-v2 #950] 950-E3: Активировать yandex_newbuilding (0 строк сегодня) 2026-06-26 15:34:36 +00:00

Closed #1918 [tradein] yandex browser-proxy мёртв (za.mobileproxy.space:62011) → yandex detail/newbuilding/address enrichment в 503 2026-06-26 15:33:00 +00:00

Closed #1184 [tradein] tradein-browser в crash-loop: camoufox InvalidProxy mproxy.site:16928 (прокси недоступен/истёк) 2026-06-26 11:54:32 +00:00

Closed #402 feat(tradein): #13 — Yandex Geocoder API-ключ 2026-06-26 11:54:28 +00:00

Closed #562 [tradein][scrapers] Avito IMV + Houses batch enrichment после city sweep 2026-06-26 10:23:43 +00:00

Closed #915 [tradein][scrapers] Завершить browser-миграцию avito: пайплайн SERP+detail+houses+IMV (#883) 2026-06-26 10:23:28 +00:00

Closed #736 [P1][tradein][qa] Pre-demo consolidated acceptance: milestone-6 estimator/data-quality фиксы вместе на проде 2026-06-26 08:21:39 +00:00

Closed #888 [tradein][backend][devops] Scheduled poll Росреестра на новый квартал → авто-ingest ДКП (deferred из #727) 2026-06-26 08:21:34 +00:00

Closed #905 [tradein][scrapers][devops] Phase 0.5 — вынести camoufox в отдельный tradein-browser сервис (server/connect) (#883) 2026-06-26 08:21:31 +00:00

Closed #930 feat(tradein): checkpoint/resume для *-full-load скраперов — переживать рестарт/деплой 2026-06-26 08:21:28 +00:00

Closed #1347 (medium) BrowserSession Semaphore = 8 вместо задокументированных 3 — ~3x риск WAF-блокировки на DOM.РФ sweep 2026-06-26 07:46:29 +00:00

Closed #1773 [tradein] Адреса убивают same-building anchor: cian-новостройка без номера дома, avito «29р-н» слип, дубль-листинги 2026-06-26 07:46:24 +00:00

Closed #38 Demand D6: Класс жилья normalization через yandex_realty (fallback obj_class) 2026-06-26 07:46:18 +00:00

Closed #854 [tradein][backend][db] IMV bulk backfill → in-app scheduler task (наполнение house_imv_evaluations) 2026-06-26 07:46:13 +00:00

Closed #1811 [tradein][scrapers] Post-merge polish PR #1809 (avito SERP browser) — косметические минор'ы из ревью 2026-06-26 07:46:09 +00:00

Closed #60 B2-1: Sales Tracker v1 — шахматки 3-5 застройщиков ЕКБ 2026-06-26 07:14:06 +00:00

Closed #933 [tradein][scrapers] Верифицировать Yandex totalItems extraction после 1-го prod-прогона full-load (#931 follow-up) 2026-06-26 07:14:00 +00:00

Closed #941 [tradein][devops] Persistent volume-mount для yandex_cookies.json — переживёт git-reset deploy (#940 follow-up) 2026-06-26 07:13:55 +00:00

Closed #1187 [tradein] B: Полная загрузка всех сегментов — secondary_only=False (cian/yandex), верификация avito 2026-06-26 07:13:50 +00:00

Closed #1190 [tradein] E (backlog): N1 — режим первички (отдельный URL-паттерн) 2026-06-26 07:13:19 +00:00

Closed #884 [tradein][scrapers] Phase 0 — BrowserFetcher (camoufox) abstraction + Docker (#883) 2026-06-26 07:13:15 +00:00

Closed #885 [tradein][scrapers] Phase 1 — avito на camoufox BrowserFetcher (#883) 2026-06-26 07:13:13 +00:00

Closed #1774 [tradein] Эстиматор: same-building anchor хрупок (один house_id, exclude avito) — резолвить через фрагменты/кадастр + same-house avito 2026-06-26 07:13:12 +00:00

Closed #1795 tradein/estimator: завышение оценки в бизнес/премиум — кламп к коридору сделок + робастный anchor 2026-06-26 07:13:04 +00:00

Closed #1843 [site-finder][ПТИЦА][data] Оживить КСИТ/высоту/зону в /analyze — crosswalk reg_numb_border → zone_index (+ латентный null zone_code) 2026-06-26 07:12:10 +00:00

Closed #1790 [tradein][scrapers] Avito прокси-ротация выключена на проде (AVITO_PROXY_MAX_ROTATIONS=0) → avito_full_load банится мгновенно 2026-06-26 07:12:02 +00:00

Closed #1881 [epic] Настоящая финмодель проекта (DCF/NPV/IRR/PBP) — объединить геометрию ПТИЦА + полноту девелоперской БДДС 2026-06-26 07:11:55 +00:00

Closed #1850 [site-finder][perf] Оптимизировать zone-regulation резолв в /analyze (мемоизация zone_index_at, двойной резолв, timeout) 2026-06-25 09:12:42 +00:00

Closed #1796 tradein: Avito-баны режут покрытие аналогов и кросс-валидацию оценки 2026-06-20 07:55:22 +00:00

Closed #1820 [tradein][scrapers] avito pipeline: новостройки house-страница (housePage widget missing) + AvitoBlockedError крашит весь прогон 2026-06-20 06:57:56 +00:00

Closed #1785 Кадастр: bulk NSPD grid-walk структурно теряет дома (покрытие МКД ~25-30%) — нужен анализ + денсер-сетка 2026-06-20 05:59:00 +00:00

Closed #1816 tradein: HTTP POST /estimate отдаёт инвариантный центрально-схлопнутый результат и не персистит (estimate_quality напрямую — корректен) 2026-06-20 05:53:09 +00:00

Closed #1814 [tradein][scrapers] avito_detail_backfill: browser-fetch падает → curl-fallback → анти-бот 429 (+ снапшот тащит legacy не-ЕКБ листинги) 2026-06-20 05:34:18 +00:00

Closed #1812 [tradein][scrapers] tradein-browser: снизить per-page fan-out — within-provider rate-cap прокси (~12% fetch-fail при бэкфиле) 2026-06-19 18:30:13 +00:00

Closed #1805 [tradein][scrapers] #883 Phase 2: avito.py SERP — дефолт на BrowserFetcher (camoufox) 2026-06-19 17:53:13 +00:00

Closed #1806 [tradein][scrapers] #883 Phase 2: cian.py SERP — миграция на BrowserFetcher (camoufox) 2026-06-19 17:52:00 +00:00

Closed #1804 [tradein][frontend] Мера estimate — секция «Фото квартиры» 422 на preview-UUID (0/12 фото) 2026-06-19 17:49:45 +00:00

Closed #1803 [tradein][frontend] Мера estimate — React hydration error #418 (SSR≠client mismatch) 2026-06-19 17:49:45 +00:00

Closed #1801 [tradein][scrapers] Cian прокси деградировали — CIAN_PROXY_URL (socks5) таймаут + BROWSER_PROXY_CIAN 503 → detail-покрытие cian ≤3% 2026-06-19 17:15:26 +00:00

Closed #1791 [tradein][scrapers] Cian detail-обогащение: kitchen 3% / ceiling 0% / описание 3% не долетают; отзывы ЖК не садятся 2026-06-19 17:07:15 +00:00

Closed #1792 [tradein][scrapers] Yandex покрытие полей: area 63%, ceiling 0, описание 50%, kitchen 0; отзывы/рейтинг ЖК не садятся 2026-06-19 17:07:03 +00:00

Closed #1789 [tradein][scrapers] Avito ЖК-enrichment не долетает в БД — отзывы/тип/история по дому пусты (house_reviews=0, avito_validated_at=0) 2026-06-19 16:27:03 +00:00

Closed #1793 [tradein][scrapers] tradein-browser: per-provider concurrency — параллель между поставщиками, ≤1 коннект на поставщика 2026-06-19 16:02:14 +00:00

Closed #1709 CI-шторм 2026-06-17 ~18:30 UTC — очередь раннеров забита, tradein-деплой #1699 застрял на ~17+ мин 2026-06-18 13:13:09 +00:00

Closed #1745 (site-finder) [feature] прогноз продаж по ВСЕМ типам квартир (студии/1-5к) для игры ассортиментом 2026-06-18 07:19:09 +00:00

Closed #1744 (site-finder) прогноз и горизонты неясны: переключатель без подсказки + голые числа без единиц 2026-06-18 07:19:06 +00:00

Closed #1743 (site-finder) отчёт «Остатки и скорость» непонятен (3 разнородных понятия, англицизм Velocity-score) 2026-06-18 07:19:04 +00:00

Closed #1742 (site-finder) объяснимость: «затоваренность» = 2 разных смысла; не ясно почему класс рекомендации 2026-06-18 07:18:14 +00:00

Closed #1741 (site-finder) порядок блоков analyze: характеристики участка и стройки вперемешку 2026-06-18 07:18:11 +00:00

Closed #1740 (site-finder) противоречие: gate «МКД нельзя», но рекомендация советует квартирографию 2026-06-18 06:47:36 +00:00

Closed #1739 (site-finder) PDF analyze не скачивается — 500 (snapshot_pdf глотает причину) + forecast/export?format=pdf→422 2026-06-18 06:47:34 +00:00

Closed #1738 (site-finder) future-supply/pipeline считает СУБЪЕКТ анализа как будущего конкурента (self-count) + уже строящиеся как «будущее» 2026-06-18 06:47:32 +00:00

Closed #1737 (site-finder) confidence: сырой ярлык «Компонент · вкладывающий сервис: high» — теряется имя сервиса 2026-06-18 06:47:30 +00:00

Closed #1736 (site-finder) точки подключения ресурсов не отображаются на карте analyze (рендеринг-баг) 2026-06-18 06:47:28 +00:00

Closed #902 [tradein][backend] СберИндекс pull: hedonic + asking слаги 404 на /api/sowa — тянется только real_estate_deals 2026-06-17 19:58:49 +00:00

Closed #814 [tradein][backend][ops] Включить avito_city_sweep schedule + verify полного проксированного свипа 2026-06-17 19:57:49 +00:00

Closed #108 РИАСУРТ Свердл: 14 ключевых layerIds для агломерации ЕКБ (multi-city scaling) 2026-06-17 19:52:59 +00:00

Closed #1539 (low) conflict_resolution.py/_resolve: строковые правила игнорируют приоритет источников (порядок dict) 2026-06-17 19:49:52 +00:00

Closed #61 B2-2: Velocity MV для Site Finder + Generative (на данных B2-1) 2026-06-17 19:43:15 +00:00

Closed #307 feat(objective): активировать data goldmine — 303k lots, 81% цен, mapping backfill (P0) 2026-06-17 19:43:05 +00:00

Closed #850 [P1][tradein][backend][вторичка] #774-3 Estimator Tier A → house_id/cadastre-join вместо regex-address (CLIENT-VISIBLE, backtest-gated) 2026-06-17 19:40:36 +00:00

Closed #774 [needs-human][P2][tradein][backend] Matching-subsystem мёртв для оценки — estimator на regex-address, не house_id/cad-join (архитектура) 2026-06-17 19:40:35 +00:00

Closed #1188 [tradein] C: API-параметр segment=vtorichka|novostroyki|all в выдаче listings 2026-06-17 19:34:51 +00:00

Closed #920 [tradein][estimator] Backtest gate для СберИндекс time-adjust перед активацией (#794 follow-up) 2026-06-17 18:56:21 +00:00

Closed #1509 (low) 10_score_v2.py/main: sat_factor вычисляется и пишется, но не применяется к скорости (мёртвая логика vs комментарий) 2026-06-17 18:28:47 +00:00

Closed #1617 gate_verdict: warning NO_ENGINEERING_NEARBY при ОТСУТСТВИИ инж.сетей форсирует «С ограничениями» вместо «Можно» — чистый вердикт недостижим для жилого учас… 2026-06-17 18:11:46 +00:00

Closed #1593 demand_only overlay: deficit_index ранжирует форматы по rate-крутизне (§9.5 segment_steepness), а не по силе спроса — §9.2/§9.4-компоненты сокращаются 2026-06-17 18:08:27 +00:00

Closed #1383 [low] leads/stats: revenue/deals считаются за всё время под контрактом «за последние N месяцев» 2026-06-17 18:05:53 +00:00

Closed #1513 (low) 08_enrich_economics.py/main: real_n_lots/sold_pct/price считаются по всем лотам, но отчёт подписывает их как период (12 мес/90 дней) 2026-06-17 18:05:47 +00:00

Closed #1520 (low) estimator.py/_fetch_dkp_corridor: low/high_ppm2 = чистые min/max выборки, а не P10/P90 — advisory-текст по одиночному выбросу 2026-06-17 18:05:41 +00:00

Closed #1398 (low) De-partиализация 5 listings-индексов в 097 на ложной посылке «is_active = 100% true», которую 104 подтверждает устаревшей 2026-06-17 18:05:32 +00:00

Closed #1503 (low) server.py/smart_suggestions: нет фильтра 'score выше точки', обещанного в докстринге 2026-06-17 18:05:25 +00:00

Closed #1512 (low) 06_match_economics.py/main: months_to_sellout смешивает сток разных месяцев окна со sold за всё окно 2026-06-17 18:05:15 +00:00

Closed #1511 (low) 06_match_economics.py/main: median_price_m2 считается по равновзвешенным строкам room×month, а не по объёму сделок 2026-06-17 18:05:15 +00:00

Closed #1637 [Fable 5][P3] §15 confidence: нота deal_count теряет окно «за N мес» — расходится с контракт-примером модуля 2026-06-17 17:57:42 +00:00

Closed #1609 domrf_catalog status: классификация по первому ключевому слову во всём HTML + 'продано'≠'продана' → sold помечается free 2026-06-17 17:55:43 +00:00

Closed #1393 (low) Cian _walk_price_range: force-paginate ветка молча теряет хвост ценового бакета (задокументированная потеря в hot path) 2026-06-17 17:55:38 +00:00

Closed #1650 v_supply_layers_latest (м.125) схлопывает все L3 dev_group'ы района в 1 строку — DISTINCT ON без dev_group_name заново вносит #970 на read-слое future_supply 2026-06-17 17:55:32 +00:00

Closed #1606 EMISS-парсер: годовой агрегат (PERIOD='год') и I квартал коллидируют по obs_date=date(year,1,1) — последний Series молча затирает первый 2026-06-17 17:55:27 +00:00

Closed #1633 [Fable 5][P4] §25.3 _geo_weight: подтверждённо-далёкий проект (>6.9 км) получает вес ниже floor для проекта без координат — инверсия против комментария 2026-06-17 17:55:18 +00:00

Closed #1638 normalize.py: 0-заполненная сетка SalesSeries.units сводит guard _count_full_years к диапазону дат, а не к числу реальных наблюдений (латентно, до подключения #979) 2026-06-17 17:55:13 +00:00

Closed #1640 INN-regex затирает легитимные слитные 10/12-значные числа (крупные суммы в рублях) в text/строковых fields перед отправкой в LLM 2026-06-17 17:55:08 +00:00

Closed #1353 [medium] is_residential_zone: prefix-проверка мертва для NSPD zone_code, детект жилой зоны держится на хрупкой подстроке 'жил' без negative-list 2026-06-17 17:55:03 +00:00

Closed #1357 [medium] _score_label игнорирует порог 'хорошо'=25 — участки со score 15..25 помечены 'хорошо' вместо 'средне' 2026-06-17 17:54:58 +00:00

Closed #1486 (high) site-finder-api.ts/useParcelPoiScoreQuery: poi_weighted_score из weight в неверной шкале — клиент видит абсурдный «~10/100» 2026-06-17 17:54:53 +00:00

Closed #1352 (medium) refresh_ekb_districts_median: ST_Intersects двойного-счёта сделок на пограничных кварталах искажает медиану/среднюю цену района 2026-06-17 17:45:34 +00:00

Closed #1344 (high) cad_territorial_zones.geom объявлена GEOGRAPHY(POLYGON) — MultiPolygon ПЗЗ-зоны молча отбрасываются при harvest 2026-06-17 17:45:27 +00:00

Closed #1508 (medium) 09_macro_and_trend.py/main: trend_ratio=2.0 при v_prior==0 даёт максимальный буст районам без истории продаж 2026-06-17 17:45:14 +00:00

Closed #1355 [medium] supply_layers: один domrf-объект может учитываться И в Layer2 (hidden) И в Layer3 (future) — двойной счёт предложения на горизонтах 18/24 мес 2026-06-17 17:45:10 +00:00

Closed #1530 (medium) trade_in_pdf._build_cover: «Срок действия данных» захардкожен today+30д, игнорирует estimate.expires_at (=now+24ч) 2026-06-17 17:45:05 +00:00

Closed #1406 (high) QuartirographyChart.tsx/portfolioMap: портфель по числу комнат наложен на ось площади (м²) — сравнение в разных единицах 2026-06-17 17:44:59 +00:00

Closed #1407 (high) page.tsx / KpiCard «Sold % (квартиры)»: вердикт «выше/ниже среднего рынка» считается по собственному sold% объекта без рыночных данных 2026-06-17 17:44:49 +00:00

Closed #775 [P2][tradein][backend][scrapers] Парсить из embedded-state JSON: Yandex 82% NULL area + Cian buildingCadastralNumber не персистится 2026-06-17 17:12:14 +00:00

Closed #1575 cian offer_price_history frozen since 2026-05-24 — server backfill is a silent no-op; needs local Playwright runner 2026-06-17 17:12:13 +00:00

Closed #1405 (high) QuartirographyChart.tsx/portfolioMap: бар «Студии» в портфеле всегда 0 — график противоречит вердикту «52% — студии и однушки» 2026-06-17 17:12:12 +00:00

Closed #1668 (site-finder) analyze inline confidence — stub, не дотянут до §15 confidence_engine (форсайт) 2026-06-17 13:48:49 +00:00

Closed #1667 (site-finder) analyze: metro_block — заглушка nearest_top3=None (скрапер метро не подключён) 2026-06-17 13:48:47 +00:00

Closed #1666 (site-finder) mv_layout_velocity не рефрешится по расписанию → best_layouts молча устаревают в проде 2026-06-17 13:48:45 +00:00

Closed #1635 commercial: sell_through_pct (темп распродажи нежилого) мислейблится как «доля коммерции» (commercial_share_pct) 2026-06-17 08:34:35 +00:00

Closed #299 feat(plans): vectorize DOM.РФ floor plans — Phase 1 Potrace spike (P0) 2026-06-17 07:07:36 +00:00

Closed #801 [tradein][frontend][infra] Mock-render/MSW для прогона a11y+lighthouse (UI без бэкенда = белый экран) 2026-06-17 06:26:26 +00:00

Closed #1642 make_thumbnail: пропуск по факту существования → устаревшая миниатюра после перекачки оригинала 2026-06-17 06:26:25 +00:00

Closed #1590 Экспортёры report_*: подпись «Индекс дефицита (12 мес)» лжёт при отсутствии 12-мес прогноза — fallback берёт дефицит чужого горизонта 2026-06-17 06:24:58 +00:00

Closed #1569 alembic/env.py регистрирует только Parcel — JobSetting и ~50 реальных таблиц невидимы для drift-detection, autogenerate сгенерировал бы фантомный CREATE TABLE parcels 2026-06-17 06:24:57 +00:00

Closed #1656 [backend][celery] Beat-таски refresh_quarter_price_index_chain и etl_newbuilding_crossload не зарегистрированы на воркере (отсутствуют в include) — молча никогда не выполняются 2026-06-16 20:44:15 +00:00

Closed #1655 nspd_geo: jobs, застрявшие в 'queued' (потерянное брокер-сообщение), никогда не ре-reap'ятся — cleanup_zombies и worker_ready матчат только 'running'/'paused' 2026-06-16 20:44:14 +00:00

Closed #1654 scrape_cadastre: enqueue_cadastre_harvest freshness-skip не идемпотентен — на resume targets_total сжимается ниже targets_done → преждевременный 'done' + раздутый targets_skipped 2026-06-16 20:44:13 +00:00

Closed #1653 ppt_tep OR-JOIN (doc_ref=source_key ИЛИ doc_full_name ILIKE) может вернуть один ППТ-документ несколько раз → дубли ТЭП в ИРД-блоке 2026-06-16 20:44:12 +00:00

Closed #1652 Fallback REFRESH MV CONCURRENTLY: проверка подстроки 'cannot refresh materialized view' не матчит реальное сообщение PostgreSQL → recovery-ветка мёртвый код 2026-06-16 20:44:10 +00:00

Closed #1651 zone_regulation._RE_FLOORS требует литерал 'этаж' после числа → документированная форма 'предельное количество этажей – N' (голое число) не извлекаетс… 2026-06-16 20:44:09 +00:00

Closed #1649 extract_obj_checks фабрикует passed=False для отсутствующих в payload проверок → UNKNOWN трактуется как FAILED (латентно, endpoint отключён) 2026-06-16 20:44:08 +00:00

Closed #1648 fetch_via_rosreestr2coord глотает все исключения → None: WAF-блоки не детектируются, цель помечается 'done' с 0 features, run-статус лжёт 2026-06-16 20:44:07 +00:00

Closed #1647 stealth: BrowserSession.download_binary обходит семафор concurrency (в отличие от get_json) 2026-06-16 20:44:04 +00:00

Closed #1646 [ekburg_permits] parse_xlsx не закрывает read_only workbook (wb.close()) — утечка дескриптора/буфера 2026-06-16 20:44:04 +00:00

Closed #1645 [domrf_catalog] price_rub regex ловит цену за м² раньше полной цены → price_rub=NULL при наличии цены на странице 2026-06-16 20:44:03 +00:00

Closed #1644 _norm_flat: деривация price_per_m2 падает с TypeError при строковом totalArea — необработанное исключение роняет весь run 2026-06-16 20:44:02 +00:00

Closed #1643 Сбой загрузки квартир глотается молча — провал /portal/table не пишется в kn_scrape_failures, run рапортует ложную полноту 2026-06-16 20:44:01 +00:00

Closed #1641 Форматированный 10-значный мобильный без кода страны (922 123 45 67 / 922-123-45-67) проходит redaction нетронутым 2026-06-16 20:44:00 +00:00

Closed #1639 affordability.py:339-342: payment_at_scenario считает аннуитет по rate_path[h] без спреда, хотя rate_path в стеке = key_rate ЦБ → занижен и на иной базе, чем monthly_payment_rub (латент… 2026-06-16 20:43:59 +00:00

Closed #1636 §9.6 Almon-адаптер хардкодит confounded=False → §15 шок-фактор (#1222) частично мёртв в production 2026-06-16 20:43:58 +00:00

Closed #1634 market_now.summary: district-wide счёт ЖК-выборки (obj_count) выдаётся за «N ЖК-конкурентов рядом» 2026-06-16 20:43:57 +00:00

Closed #1632 report_md._md_kv_lines: многострочное значение (напр. product_tz.summary «Резюме») ломает Markdown-буллет — нет свёртки переводов строк 2026-06-16 20:43:56 +00:00

Closed #1631 trade_in_pdf._analog_rows: floor==0 (или total_floors==0) у аналога рендерится как «—» из-за truthiness вместо is not None 2026-06-16 20:43:55 +00:00

Closed #1630 intents.py: _render_why_forecast объявляет future_market источником provenance даже когда из него не выведено ни строки 2026-06-16 20:43:48 +00:00

Closed #1629 grid_geometry.py:59-61 — sanity-check сравнивает искажённые единицы EPSG:3857 с порогами, заданными как наземные метры → валидные крупные/вытянутые квартал… 2026-06-16 20:43:47 +00:00

Closed #1628 date_cr минует _parse_nspd_date → CAST(:date_cr AS date) роняет upsert_quarter_stats и весь harvest_quarter квартала (нет savepoint) 2026-06-16 20:43:46 +00:00

Closed #1627 wms_feature_info (nspd_bulk_client.py:418-420): отсутствует isinstance(data, dict)-guard — non-dict JSON-ответ роняет ячейку grid-walk через AttributeError, потеря без сигнала 2026-06-16 20:43:45 +00:00

Closed #1626 search_by_quarter (nspd_bulk_client.py:305-316): подстрочная классификация 404/400 по тексту исключения с подмешанным body_preview проглатывает 5xx и валидный 400 как «кв… 2026-06-16 20:43:44 +00:00

Closed #1625 Parcel.geometry объявлена как POLYGON — реинтродукция класса крашей на многоконтурных (MultiPolygon) участках, который чинила миграция 93 (латентно: модел… 2026-06-16 20:43:43 +00:00

Closed #1624 [opportunity_harvest] n_features инкрементится до per-quarter commit — отчёт завышает число persisted фич при сбое commit 2026-06-16 20:43:40 +00:00

Closed #1623 [objective_etl] import_anton_objective: FileNotFoundError возвращает dict без raise — Celery-таск SUCCESS при проваленном ETL 2026-06-16 20:43:39 +00:00

Closed #1622 [scrape_kn_catalog_objects] force=True «Загрузить все» молча ограничивается LIMIT 300 — каталог недогружается 2026-06-16 20:43:38 +00:00

Closed #1621 process_nspd_geo_job (nspd_geo.py:374-408, 82-97) не имеет атомарного claim → дублирующие task-сообщения для одного job_id могут идти параллельно (двойные WAF-хиты + зат… 2026-06-16 20:43:37 +00:00

Closed #1620 worker_ready (lifecycle.py:160-171) немедленно ре-enqueue'ит WAF-paused nspd_geo jobs, обходя 30-минутный WAF-cooldown из cleanup_zombies 2026-06-16 20:43:36 +00:00

Closed #1619 ppt_tep JOIN: slug-fallback ILIKE перевёрнут (doc_ref ILIKE '%doc_full_name%') — никогда не матчит + LIKE-метасимволы не экранированы 2026-06-16 20:43:35 +00:00

Closed #1618 granddoc is_active: регистрозависимое сравнение == "Действующий" расходится с документированным lowercase doc_status_name → флаг и сортировка ломаются 2026-06-16 20:43:34 +00:00

Closed #1616 premises_lookup: KNN ближайшего здания ранжирует в ГРАДУСАХ (LIMIT 1) — на широте ЕКБ выбирает не ближайшее по метрам, parking_ratio чужого дома / потеря вали… 2026-06-16 20:43:17 +00:00

Closed #1615 competitors.py:491-502 — ценовой fallback покрывает только objective_complex_mapping, игнорируя nearest_cx gap-fill: конкурент с velocity>0 из спатиального матча получает avg_price=None 2026-06-16 20:43:16 +00:00

Closed #1614 nspd_lite.fetch_geoportal / nspd_client._http_get_json: json.loads на HTTP 200 не обёрнут → WAF-челлендж со статусом 200 даёт JSONDecodeError мимо autoretry harvest_quarter 2026-06-16 20:43:15 +00:00

Closed #1613 obj_checks.extract_obj_checks: bool() на строковом флаге → 'false'/'0'/'нет' трактуется как пройдено 2026-06-16 20:42:27 +00:00

Closed #1612 obj_checks.extract_obj_checks: or-коалесинг passed-значения (list-ветка) теряет boolean False → проваленная проверка пишется как пройденная 2026-06-16 20:42:26 +00:00

Closed #1611 nspd_denorm.denorm_dump: штатный пропуск feature без cad_num считается ошибкой → завышенный error-счётчик в метрике прогона 2026-06-16 20:42:25 +00:00

Closed #1610 domrf_catalog scrape_one_flat: success=True даже при updated=False / 0 извлечённых полей — ложь в статистике батча 2026-06-16 20:42:24 +00:00

Closed #1608 domrf_catalog _TextCollector: void-теги (<br>/<img>/<input>) рассинхронизируют стек/буфер — текст блоков теряется 2026-06-16 20:42:23 +00:00

Closed #1607 ekburg_permits: _COORD_FIRST_RE требует дробную часть — целочисленные координаты МСК-66 теряют геопривязку молча 2026-06-16 20:42:22 +00:00

Closed #1605 Phase A не пагинирует и молча теряет хвост объектов при limit=999999, run всё равно 'done' 2026-06-16 20:42:21 +00:00

Closed #1603 make_thumbnail: неатомарная запись WebP (thumbs.py:53) — усечённый thumb навсегда кэшируется и отдаётся как валидный 2026-06-16 20:42:20 +00:00

Closed #1604 Lazy-загрузка фото: при провале make_thumbnail оригинал записан на диск, но local_path не сохранён в БД (photos.py:113-125) — вечный re-fetch + осиротевший файл 2026-06-16 20:42:20 +00:00

Closed #1602 LLMResult.from_provider теряет finish_reason — content_filter/length-обрезка возвращаются как ok=True 2026-06-16 20:42:19 +00:00

Closed #1601 _parse_openai_response: int() на нечисловых usage-токенах бросает ValueError/TypeError мимо fallback-гарантии complete 2026-06-16 20:41:31 +00:00

Closed #1600 Подписи секций в DXF привязаны по левому-нижнему углу к центроиду, а не отцентрованы на нём 2026-06-16 20:40:43 +00:00

Closed #1599 DXF-экспорт теряет внутренние кольца (отверстия) участка/пятна застройки — вырезы зарисовываются сплошняком 2026-06-16 20:40:41 +00:00

Closed #1598 ConceptInput.land_cost_rub без ge=0: отрицательная стоимость земли молча завышает маржу и IRR-proxy 2026-06-16 20:40:40 +00:00

Closed #1597 place_strategy не отбраковывает стратегию с нулевым размещением: пустой концепт (revenue=0, margin=-land, IRR=-33%) выдаётся как валидный вариант 2026-06-16 20:40:40 +00:00

Closed #1596 [Fable 5][P3] §15 confidence_engine: advisory-cap сообщение дублируется в rationale при all-high (самый частый advisory-случай) 2026-06-16 20:40:39 +00:00

Closed #1595 _score_future_competition: count = len(всех конкурентов), а mean_weight — только по не-None весам → возможное завышение плотности при частичных данных 2026-06-16 20:40:38 +00:00

Closed #1594 demand_only: rate_future=0.0 placeholder при отсутствии будущей ставки даёт максимальный аплифт §9.4 (clamp 1.2), а не нейтраль — комментарий ложный 2026-06-16 20:39:50 +00:00

Closed #1592 [Fable 5][P2] §25 compute_special_indices: итоговый confidence считается по ВСЕМ 6 индексам (включая unavailable→'low'), а не «MIN по доступным» — карточка систематически … 2026-06-16 20:39:49 +00:00

Closed #1591 Snapshot-PDF: блок «Конкуренты (топ 5)» отбирает крупнейшие ЖК по flat_count, а не ближайшие — расходится с комментарием кода 2026-06-16 20:39:01 +00:00

Closed #1589 trade_in_pdf.py:256 — бейдж достоверности печатает n_analogs=объявления+сделки, завышая «N аналогов» и противореча заголовку стр.2 2026-06-16 20:37:23 +00:00

Closed #1588 objective_distinct не фильтрует group_name, но objective_group хардкодится 'Екатеринбург' — латентный кросс-город mislabel при расширении датасета (#307) 2026-06-16 20:37:21 +00:00

Closed #1587 dry_run objective-backfill возвращает auto_accepted=0 вместо числа потенциальных auto-accept — preview вводит в заблуждение 2026-06-16 20:37:20 +00:00

Closed #1586 intents.py: при наличии headline подавляется честная пометка о пустом разделе product_tz (what_to_build) 2026-06-16 20:37:19 +00:00

Closed #1585 intents.py: _fmt_number отдаёт английские 'nan'/'inf' в RU-прозу детерминированного chat-ответа при NaN/Inf-числах 2026-06-16 20:37:17 +00:00

Closed #1584 Grid-walk discovered-счётчик завышается на skipped/чужекатегорийные features и misattribution parcels/buildings 2026-06-16 20:37:16 +00:00

Closed #1583 Phase 2.5 ПЗЗ собирается ДО auto-heal геометрии квартала — broken-geom кварталы молча остаются без территориальных зон при первом harvest 2026-06-16 20:36:24 +00:00

Closed #1582 ddu_price_indicator: missing MV даёт ProgrammingError, а ловится только OperationalError — диагностический except мёртв для своего же кейса 2026-06-16 20:35:36 +00:00

Closed #1581 velocity_alerts: prior_n использует COUNT(*) вместо COUNT(realised) — NULL-строки засчитываются в гейт значимости z-score 2026-06-16 20:35:35 +00:00

Closed #1580 _jsonb_param: json.dumps без allow_nan=False — NaN/Infinity ломают jsonb-INSERT, ран теряется молча 2026-06-16 20:35:34 +00:00

Closed #1579 objective_etl.get_sqlite_info: утечка SQLite-соединения/fd на error-path (close() не в finally) 2026-06-16 20:34:46 +00:00

Closed #1578 weather_cache._fetch_seasonal_remote: ZeroDivisionError/ValueError при пустых t_min/precip и непустом t_max (раздельные None-guard'ы) 2026-06-16 20:34:45 +00:00

Closed #1577 weather_cache._fetch_weather_remote: агрегаты min/max/sum по daily-массивам падают на None-днях -> весь 7-day forecast молча теряется 2026-06-16 20:34:44 +00:00

Closed #1576 recommend_mix: weighted_avg_price_per_m2 не пересчитывается после success-boost share_pct → средневзвешенная цена рассогласована с долями бакетов (пробел в фиксе #1359) 2026-06-16 20:34:42 +00:00

Closed #1574 Голый int(cat_id)/int(total) в парсинге meta search_by_quarter падает на нечисловом NSPD-ответе и валит Phase 1 квартала 2026-06-16 20:34:41 +00:00

Closed #1573 get_features_in_bbox_grid молча глотает WAF-403 и server-error для ПЗЗ-grid-walk → ложный tz_count=0, без layer_failed 2026-06-16 20:34:40 +00:00

Closed #1572 ChatAskRequest.history: max_length=20 даёт hard-422 на длинном диалоге вместо задокументированного усечения (контракт-vs-поведение) 2026-06-16 20:33:53 +00:00

Closed #1571 JobSetting.updated_at — NOT NULL без Python/server default: ORM-вставка строки даст IntegrityError (латентная ловушка) 2026-06-16 20:33:52 +00:00

Closed #1570 ORM-модель Parcel мапится на несуществующую таблицу 'parcels' с устаревшими колонками — мёртвый и вводящий в заблуждение код 2026-06-16 20:33:50 +00:00

Closed #1567 Sentry/GlitchTip scrub-хук навешен только на transaction-события (before_send_transaction), error-события не редактятся — apiKey из URL/spans/breadcrumbs утекает в трекер 2026-06-16 20:33:49 +00:00

Closed #1566 DDU-индикатор: нет валидации формата/порядка periodFrom/periodTo — мусорный или инвертированный period тихо отдаёт пустой/усечённый ряд 2026-06-16 20:33:48 +00:00

Closed #1565 DDU-индикатор: area_ranges целиком вне диапазона 1..6 молча возвращает ВСЕ площади вместо пустого/422 2026-06-16 20:33:47 +00:00

Closed #1564 estimate_pdf (trade_in.py:347): TTL-проверка через .replace(tzinfo=UTC) перепривязывает, а не конвертирует timestamptz — при не-UTC session TZ просроченные оценки отдаются ка… 2026-06-16 20:33:00 +00:00

Closed #1563 Отрицательный query-param limit на 7 GET-эндпоинтах admin_scrape → 'LIMIT -N' → необработанный 500 вместо 422 2026-06-16 20:32:59 +00:00

Closed #1562 bulk_enqueue_geo (/geo/bulk): невалидный thematic_id в середине списка → 400 при уже запущенных geo-jobs (partial execution, нет atomicity/idempotency) 2026-06-16 20:32:58 +00:00

Closed #1561 persist_analysis_run коммитит result ДО дописывания forecast/ird/developer_attribution — сохранённый ран расходится с live-ответом 2026-06-16 20:32:57 +00:00

Closed #1560 Три async-хендлера competitors / best-layouts / best-layouts-pdf блокируют event loop sync DB-IO (и WeasyPrint write_pdf) 2026-06-16 20:32:56 +00:00

Closed #1553 Yandex detail-enrichment не реализован: нет save + detail не fetch'ится в свипе (area_m2 23%, repair 1%) 2026-06-16 11:18:20 +00:00

Closed #1551 Avito detail-enrichment backfill для legacy listings (detail_enriched_at IS NULL) — прокси уже есть 2026-06-16 10:32:58 +00:00

Closed #1538 (low) houses.py/_upsert_house_source: ON CONFLICT не обновляет matched_method/matched_at — провенанс врёт 2026-06-15 16:41:01 +00:00

Closed #1537 (medium) houses.py/match_or_create_house Tier 0: cadastr_exact не регистрирует alias -> риск дубля при бескадастровом скрейпе 2026-06-15 16:41:00 +00:00

Closed #1536 (low) conflict_resolution.py/_resolve cross_validate: молча возвращает медиану, не сигнализирует расхождение цен 2026-06-15 16:40:59 +00:00

Closed #1535 (medium) normalize.py/normalize_address: инициалы 'К.'/'Д.' в названии улицы раскрываются в 'корпус'/'дом' 2026-06-15 16:40:58 +00:00

Closed #1534 (high) normalize.py/normalize_address: асимметричное раскрытие ' д '->' дом ' даёт разные ключи для одного дома 2026-06-15 16:40:57 +00:00

Closed #1533 (low) trade_in_pdf._examples_rows: days_on_market==0 рендерится как «—» из-за or вместо is not None 2026-06-15 16:40:56 +00:00

Closed #1532 (low) trade_in_pdf._build_deals_page: house_label не содержит monolith_brick/other — рассинхрон «Тип дома» между стр.2 и стр.3 2026-06-15 16:40:55 +00:00

Closed #1531 (low) trade_in_pdf._build_listings_page: строка «(с учётом ремонта)» дублирует тот же n_total, фильтрации по ремонту нет 2026-06-15 16:40:54 +00:00

Closed #1529 (low) dadata._classify_kind: fias_level 65 (planning) и 75 (plot) ошибочно попадают в kind='house' 2026-06-15 16:40:53 +00:00

Closed #1528 (low) cian_price_history.backfill: saved считает len(price_changes), а не реально вставленные строки 2026-06-15 16:40:52 +00:00

Closed #1527 (medium) admin.test_cian_auth: 403-бан Cian отдаётся как authenticated=True (VERIFY_BAN_SENTINEL не различается) 2026-06-15 16:40:51 +00:00

Closed #1526 (medium) image_sanitizer.sanitize_image: EXIF orientation срезается без поворота пикселей → фото клиента лежат на боку 2026-06-15 16:40:50 +00:00

Closed #1525 (low) scheduler.py/import_rosreestr_dkp: substring(floor FROM '[0-9]+') теряет минус — этаж '-1' импортируется как 1 2026-06-15 16:40:49 +00:00

Closed #1524 (medium) house_imv_backfill.py/_process_one_house: IMV вернул price=0 → дом помечается imv_status='ok' и больше не переоценивается 2026-06-15 16:40:48 +00:00

Closed #1523 (low) house_imv_backfill.py/pick_lot_params: нет инварианта floor<=floor_at_home → при total_floors=NULL везде floor_at_home падает на 9 2026-06-15 16:40:47 +00:00

Closed #1522 (medium) scheduler.py/trigger_cian_backfill_run: при протухших cookies next_run_at не сдвигается → verify_session бьёт по Cian каждые 60с 2026-06-15 16:40:46 +00:00

Closed #1521 (medium) scrape_pipeline.run_avito_city_sweep: IMV-фаза отравляет сессию → update_heartbeat без rollback переводит успешный sweep в 'failed' 2026-06-15 16:40:45 +00:00

Closed #1519 (low) estimator.py/estimate_quality: freshness/last_scraped_at/days_on_market считаются по listings_clean, а не по показанным anchor_comps_used 2026-06-15 16:40:44 +00:00

Closed #1518 (medium) estimator.py/estimate_quality SB-anchor: границы диапазона из RAW comp_ppm2 без repair_coef рассинхронизированы с центром 2026-06-15 16:40:43 +00:00

Closed #1517 (low) search.py/_validate_geo_pair: cross-field min>max через truthiness — граничный 0 обходит проверку 2026-06-15 16:40:42 +00:00

Closed #1516 (low) schemas/search.py _validate_geo_pair: нет проверки инвертированных вилок floor/year_built/floors_total (min>max) 2026-06-15 16:40:09 +00:00

Closed #1515 (medium) search.py/search(): cache_hit всегда false даже при отдаче из кэша — поле врёт 2026-06-15 16:40:08 +00:00

Closed #1514 (high) search.py/search_query.py: кадастровый номер всегда NULL в выдаче поиска — рассинхрон имён cadastral_number vs kadastr_num 2026-06-15 16:40:07 +00:00

Closed #1510 (medium) 12_more_pois.py/main: bbox padding ±0.005° меньше радиуса привязки 2 км — POI у границ теряются 2026-06-15 16:40:05 +00:00

Closed #1507 (medium) 04_report.py/build_html: селектор .r.r красит все числовые ячейки в красный и перебивает зелёный 2026-06-15 16:40:04 +00:00

Closed #1506 (medium) 04_report.py/build_html: заголовок «последние 90 дней» не соответствует реальным периодам real_* (12 мес / всё время) 2026-06-15 16:40:03 +00:00

Closed #1505 (high) 04_report.py/build_html: HTML-подпись весов противоречит JSON weights_used в том же отчёте 2026-06-15 16:40:02 +00:00

Closed #1504 (high) 04_report.py/main: JSON weights_used не соответствует реальным весам скоринга и не содержит economic 2026-06-15 16:40:01 +00:00

Closed #1502 (low) server.py/price_distribution: квантиль int(p*n) завышает p25/p50/p75 на малых выборках 2026-06-15 16:40:00 +00:00

Closed #1501 (low) server.py/district_time_machine: AVG(price) выдаётся под ключом median_price_kr 2026-06-15 16:39:59 +00:00

Closed #1500 (medium) server.py/jk_full: import psycopg2 в проде (psycopg v3 only) → photos/sale_graph всегда пустые 2026-06-15 16:39:58 +00:00

Closed #1499 (low) server.py/developer_track_record: двойной учёт лотов при N сайтах на один Objective-проект 2026-06-15 16:39:57 +00:00

Closed #1498 (low) check-no-print.py/main: matcher только Edit|Write — print через MultiEdit не блокируется 2026-06-15 16:39:56 +00:00

Closed #1497 (low) check-no-print.py/PRINT_RE: ловит закомментированный print, строковые литералы и method-call .print() — ложные блокировки 2026-06-15 16:39:55 +00:00

Closed #1496 (low) check-no-print.py/normalize_path: rfind берёт последнее 'backend/' — ломает allow-prefix для вложенных backend-каталогов 2026-06-15 16:39:54 +00:00

Closed #1495 (low) check-no-print.py/normalize_path: rfind('backend/') матчит подстроку, а не сегмент пути 2026-06-15 16:39:53 +00:00

Closed #1494 (medium) cleanup_ghosts.py main: _all_docs limit=10000 без пагинации — при росте vault живые chunks ошибочно удаляются как orphan 2026-06-15 16:39:52 +00:00

Closed #1493 (low) cleanup-worktrees-aggressive.py fetch_all_prs: жёсткий лимит 30 страниц (1500 PR) может пометить ветку с PR за пределом как stale и удалить worktree 2026-06-15 16:39:51 +00:00

Closed #1492 (medium) migrate_kg_to_obsidian.py _moc_for_subdir/sort_key: хроносортировка MOC вырождается в обратно-алфавитную из-за None от extract_date 2026-06-15 16:39:50 +00:00

Closed #1491 (high) migrate_kg_to_obsidian.py extract_date/_DATE_PATTERNS: ведущий \b перед месяцем срывает извлечение даты у entity с разделителем '_' 2026-06-15 16:39:49 +00:00

Closed #1490 (low) weightProfiles.ts/useDeleteProfile: JSDoc 'Returns true if deleted' не соответствует поведению (хук возвращает undefined) 2026-06-15 16:39:48 +00:00

Closed #1489 (low) weightProfiles.ts/useWeightProfiles: admin-токен лишний в queryKey React Query 2026-06-15 16:39:47 +00:00

Closed #1488 (medium) download.ts/triggerDownload: синхронный revokeObjectURL в том же тике после a.click() — гонка, срывающая скачивание в Firefox/Safari 2026-06-15 16:39:46 +00:00

Closed #1485 (low) useSiteAnalysis poll-loop: неизвестный FetchStatus молча поллится до 2-мин таймаута вместо явной ошибки 2026-06-15 16:39:45 +00:00

Closed #1484 (low) useCustomPois/customPoisKey: session_id отсутствует в queryKey — кэш может переиспользоваться между сессиями 2026-06-15 16:39:44 +00:00

Closed #1483 (low) Drawer.tsx/Drawer: восстановление фокуса на close может не сработать для размонтированного триггера 2026-06-15 16:39:43 +00:00

Closed #1482 (low) Drawer.tsx/Drawer: prop width молча игнорируется для side='bottom' 2026-06-15 16:39:42 +00:00

Closed #1481 (low) Drawer.tsx/Drawer: slide-out анимация при закрытии не проигрывается (ветка !open рендерит новый пустой узел) 2026-06-15 16:39:09 +00:00

Closed #1479 (medium) AnalogsTable.tsx сортировка по 'Дней': days_on_market=null трактуется как 0, пустые всплывают как самые свежие 2026-06-15 16:39:08 +00:00

Closed #1478 (medium) EstimateResult.tsx hero-бейдж: 'N аналогов' = listings+deals, не совпадает с таблицей аналогов 2026-06-15 16:39:07 +00:00

Closed #1477 (low) site-finder: визит пишется только из map-попапа — переход из ParcelDrawer/CadInput/RecentParcels не попадает в «Недавние» 2026-06-15 16:38:34 +00:00

Closed #1476 (medium) site-finder/useRecentParcels: «Недавние» не обновляются до 60с после визита (нет инвалидации кэша) 2026-06-15 16:38:28 +00:00

Closed #1475 (high) site-finder-api/applyFilters: фильтры «Район» и «ВРИ» в prod дают пустую карту (клиентская фильтрация по плейсхолдерам) 2026-06-15 16:38:27 +00:00

Closed #1474 (high) EntryMap/ParcelDrawer: deselect-overlay z399 перекрывает карточку участка (z20) — drawer некликабелен 2026-06-15 16:38:26 +00:00

Closed #1473 (low) CompareTable.tsx строка velocity: velocity_score рендерится как «N / 100», канонический VelocityBlock — как «N%» → рассинхрон единицы метрики 2026-06-15 16:38:25 +00:00

Closed #1472 (medium) compare/page.tsx handleResult: дедуп по подмножеству полей теряет обновления district/цены/scoreLabel/errorMsg → стейл-данные в таблице сравнения 2026-06-15 16:38:24 +00:00

Closed #1471 (low) EgrnPropertyTable/formatDate: невалидная дата ЕГРН рендерится как «Invalid Date» — мёртвый try/catch 2026-06-15 16:38:23 +00:00

Closed #1470 (medium) PoiList2Gis/site-finder-api: «{totalScore}/100» может превышать 100 и в fallback показывает не POI-метрику 2026-06-15 16:38:23 +00:00

Closed #1469 (medium) ScenariosBlock/ScenarioCard: индекс дефицита берётся с самого длинного горизонта, но подписывается целевым — рассинхрон числа и подписи 2026-06-15 16:38:21 +00:00

Closed #1468 (low) AnalysisSidebar.tsx — мёртвый компонент с неверными подписями секций (4. Инфраструктура / 5. Свежесть) и без section-6 2026-06-15 16:38:20 +00:00

Closed #1467 (low) Section1ParcelInfo headlineSubtitle: захардкоженный «Score +12 vs район» в fallback-подзаголовке 2026-06-15 16:38:19 +00:00

Closed #1466 (medium) Section1ParcelInfo POI-fallback: инвест-балл участка показывается как POI-score «X / 100» с фейковыми weight/score_contribution 2026-06-15 16:38:18 +00:00

Closed #1465 (low) Section2NetworksUtilities.buildSubtitle: расстояния в подзаголовке без ru-группировки ('1234 м' vs '1 234 м' в таблице) 2026-06-15 16:38:17 +00:00

Closed #1464 (high) Section2NetworksUtilities.buildSubtitle: газ/водопровод теряются в подзаголовке (неверные subtype-ключи) 2026-06-15 16:38:15 +00:00

Closed #1463 (high) Section2NetworksUtilities.getUtilityConfig: реальные subtype сетей не маппятся → сырые англ. ключи в таблице 2026-06-15 16:38:15 +00:00

Closed #1462 (medium) NspdEngineeringNearbyBlock.tsx: дедуп label+round(distance) пропускает дубли — расстояния меряются до разных опорных точек 2026-06-15 16:38:14 +00:00

Closed #1461 (medium) NspdEngineeringNearbyBlock.tsx: смешение радиусов 200 м (analyze) и 500 м (connection-points) под подписью «200 м» 2026-06-15 16:38:13 +00:00

Closed #1460 (medium) MarketTrendBlock.tsx/LABEL_COLORS: бейдж тренда всегда серый — ключи карты не совпадают с label из бэкенда 2026-06-15 16:38:12 +00:00

Closed #1459 (low) CpLayerControlPanel.tsx/CpLayerControlPanel: «Показать все» рассинхронизируется при наличии пустых категорий 2026-06-15 16:38:11 +00:00

Closed #1458 (medium) VelocityBlock.tsx/VelocityBlock: «Топ продавцов» показывает «Продано 0 м²» при отсутствии данных velocity 2026-06-15 16:38:10 +00:00

Closed #1457 (medium) MarketTab.tsx/MarketTab: подпись «строящихся» не соответствует activeCount (включает сданные ≤1 года) 2026-06-15 16:38:09 +00:00

Closed #1456 (high) VelocityBlock.tsx/VelocityBlock: рассинхрон bucket-ключей — 4-комн. и 5+ сделки молча выпадают из «По комнатности» и «Топ продавцов» 2026-06-15 16:38:08 +00:00

Closed #1455 (high) ZouitLayer.tsx/ZouitLayer: хеш-сегмент React-key константен для Polygon — старая геометрия ЗОУИТ остаётся на карте 2026-06-15 16:38:07 +00:00

Closed #1454 (low) ScoreBreakdownStackedBar.tsx / легенда показывает категории с contribution===0, отсутствующие в обеих полосах 2026-06-15 16:38:06 +00:00

Closed #1453 (medium) Pipeline24moBlock.tsx / fmtMonth: new Date(ISO-date) даёт UTC-полночь — месяц «Сдача» уезжает на предыдущий в отрицательных TZ 2026-06-15 16:38:05 +00:00

Closed #1452 (low) WeightProfilePanel.tsx / handleSliderChange: дебаунс-таймер дублирует немедленный setDraft и не чистится при unmount 2026-06-15 16:38:04 +00:00

Closed #1451 (medium) ScoreBreakdownStackedBar.tsx / source-view barWidth: знаменатель = макс. знаковый вклад, а не макс. модуль — шкала ломается при отрицательном лидере 2026-06-15 16:38:03 +00:00

Closed #1450 (low) EnvironmentTab/WeatherBlock: футер жёстко пишет «7 дн.» при динамическом forecast_days 2026-06-15 16:38:02 +00:00

Closed #1449 (medium) BestLayoutsBlock/TopLayoutsTable: тултип >100% жёстко пишет «за 24 мес» вместо выбранного time_window 2026-06-15 16:38:01 +00:00

Closed #1448 (medium) BestLayoutsBlock/handleDownloadPdf: PDF собирается из живого состояния контролов, а не из показанного расчёта 2026-06-15 16:38:00 +00:00

Closed #1447 (low) PilotRequestModal/deriveTrackingId: показанный лиду «Номер заявки GD-XXXXXXXX» не хранится в БД и не находится поддержкой 2026-06-15 16:37:59 +00:00

Closed #1446 (low) ConceptDrawMap: нарисованный полигон отрисовывается дважды (FeatureGroup-слой + внешний GeoJSON по prop) 2026-06-15 16:37:58 +00:00

Closed #1445 (low) ConceptVariantsResult: IRR-proxy движка подаётся в UI как полноценная «Внутренняя норма доходности» 2026-06-15 16:37:41 +00:00

Closed #1444 (low) ConceptVariantsResult/VariantPanel: нулевая валовая прибыль подписывается как «Положительная маржа» 2026-06-15 16:37:40 +00:00

Closed #1442 (low) ConceptResultMap/FitBounds: нестабильная зависимость bounds перезапускает fitBounds на каждом ре-рендере, сбрасывая ручной zoom/pan 2026-06-15 16:37:39 +00:00

Closed #1443 (low) ConceptExportButtons: error/serverLoading не сбрасываются при смене variant — стейл-сообщение/disabled под чужой вкладкой 2026-06-15 16:37:39 +00:00

Closed #1441 (medium) ConceptVariantsResult/VariantPanel: FAR (безразмерный) подписан единицей «м²/га» — неверная единица и рассинхрон с PDF движка 2026-06-15 16:37:38 +00:00

Closed #1440 (low) UserMenu.tsx/UserMenu: роль вне TS-union даёт пустой role-badge (нет рантайм-валидации /me) 2026-06-15 16:37:21 +00:00

Closed #1439 (medium) RouteGuard.tsx/RouteGuard: analyst на запрещённом /admin/* молча редиректится в /trade-in/ вместо NoAccessScreen 2026-06-15 16:37:20 +00:00

Closed #1438 (low) RecommendRevenueChart.tsx: при total=0 подписи «0.0 млн» показываются на всех нулевых сегментах 2026-06-15 16:37:19 +00:00

Closed #1437 (low) PrinzipGapBar.tsx: единая безымянная value-ось X смешивает м² и % — несопоставимые длины баров между строками 2026-06-15 16:37:18 +00:00

Closed #1435 (medium) QuartirographyChart.tsx/portfolioMap: бар «строится · Студии» всегда 0% — рассинхрон с подписью «52% портфеля — студии» 2026-06-15 16:36:45 +00:00

Closed #1434 (low) ObjectInfraMap: счётчик «Найдено N POI» и чипы категорий считаются по уже отфильтрованным бэкендом данным 2026-06-15 16:36:44 +00:00

Closed #1433 (low) DeveloperLeaderboard COLS: pct_three_plus/avg_area_sqm/sverdl_sqm_th со значением 0 рендерятся как «—» (falsy-zero) 2026-06-15 16:36:43 +00:00

Closed #1432 (medium) RecommendVelocityPanel footnote: текст «темп = базовый × pf^elasticity» не совпадает с фактическим Темпом продаж 2026-06-15 16:36:42 +00:00

Closed #1431 (medium) RecommendVelocityPanel vs RecommendLiquidityChart: KPI ликвидности на per-bucket эластичности, график «24 мес = liquidity» — на единой scope-эластичности 2026-06-15 16:36:41 +00:00

Closed #1430 (low) JobSettingsPanel/handleSave: очистка max_concurrency/max_retries молча шлёт 0 → 422 2026-06-15 16:36:40 +00:00

Closed #1429 (low) JobSettingsPanel/isPendingFor: одна общая updateMutation — спиннер/opacity рассинхронизируются при параллельных Save 2026-06-15 16:36:39 +00:00

Closed #1428 (medium) BulkGeoPanel/handleSubmit: очистка поля Parallelism шлёт parallelism=0 → 422, запуск молча проваливается 2026-06-15 16:36:36 +00:00

Closed #1427 (low) trade-in/page.tsx: freshResult навсегда перекрывает URL id — переход по другой shared-ссылке в той же сессии показывает устаревший результат 2026-06-15 16:36:35 +00:00

Closed #1426 (medium) trade-in/page.tsx: протухшая/битая shared-ссылка молча показывает EmptyState «Введите параметры», ошибка GET /estimate/{id} не отображается 2026-06-15 16:36:34 +00:00

Closed #1425 (medium) trade-in/page.tsx useEstimateId: чтение window.location.search вместо useSearchParams → SSR hydration mismatch и нереактивность к смене URL 2026-06-15 16:36:33 +00:00

Closed #1424 (high) trade-in/page.tsx restoredEstimate: восстановленный по shared-ссылке отчёт показывает выдуманные параметры объекта (0 м², «Студия», «0 из 0», чужой адрес) 2026-06-15 16:36:32 +00:00

Closed #1423 (low) compare/page.tsx handleResult: dedup-гард сравнивает не все отображаемые поля → возможен стейл медианной цены/района/подписей 2026-06-15 16:36:31 +00:00

Closed #1422 (medium) CompareTable velocity-строка + winnersFor: velocity_score=0 ('нет данных') рендерится как факт и выигрывает зелёную подсветку 'лучшее' 2026-06-15 16:36:30 +00:00

Closed #1421 (low) site-finder-api.ts by-bbox адаптер: parcel с area_m2 === null приземляется в area_ha=0 → «0.00 га» как факт и тихое попадание в площадные фильтры 2026-06-15 16:36:29 +00:00

Closed #1420 (low) site-finder/page.tsx FilterBarBridge: matchCount и totalCount из двух независимых запросов → транзиентный рассинхрон (matchCount может временно > totalCount) 2026-06-15 16:36:28 +00:00

Closed #1419 (medium) site-finder/page.tsx FilterBarBridge: счётчик показывает «0 / 0 участков» во время загрузки/смены bbox вместо состояния загрузки 2026-06-15 16:36:27 +00:00

Closed #1418 (low) page.tsx/handleWeightsChange: смена весов во время первичного analyze (data ещё null) молча теряется 2026-06-15 16:36:26 +00:00

Closed #1417 (low) page.tsx/noiseValue: число и цвет KPI шума считаются от разных значений (round vs raw) 2026-06-15 16:36:25 +00:00

Closed #1416 (low) page.tsx/noiseColor: цвет KPI шума противоречит метке level на интервалах [45,50) и [60,65) 2026-06-15 16:36:24 +00:00

Closed #1415 (low) page.tsx/trendColor: цвет KPI тренда рассинхронизирован с текстовой меткой backend (порог 5% vs 8%) 2026-06-15 16:36:23 +00:00

Closed #1414 (high) page.tsx/districtLabel: KPI «X км от центра» показывает дистанцию до границы района, а не до центра ЕКБ 2026-06-15 16:36:22 +00:00

Closed #1413 (low) data-sources/page.tsx · SOURCES «Объектив»: неверный домен атрибуции (objced.ru вместо objctv.ru) 2026-06-15 16:36:21 +00:00

Closed #1412 (low) ConceptVariantsResult: IRR-proxy подписан как 'IRR / Внутренняя норма доходности' — переобещание метрики 2026-06-15 16:36:20 +00:00

Closed #1411 (medium) concept/page.tsx: устаревший результат концепции против перерисованного полигона (стейл-стейт) 2026-06-15 16:36:19 +00:00

Closed #1409 (low) prinzip/page.tsx KpiCard «Средний метраж»: двойной минус при avg≥49 и ложный «-0» при null 2026-06-15 16:36:18 +00:00

Closed #1410 (high) ConceptVariantsResult: плотность (FAR) подписана как 'м²/га' — неверная единица и занижение в ~10000× 2026-06-15 16:36:18 +00:00

Closed #1408 (medium) page.tsx / KpiCard «Нежилые» и «Машино-места»: hint гейтит на perc, но печатает realised → возможна строка «null продано» 2026-06-15 16:36:17 +00:00

Closed #1404 (low) scrape/all/page.tsx isStale: UI-порог 5 мин расходится с backend-zombie 10 мин — ложный статус «stale» у живого kn-прогона 2026-06-15 16:36:16 +00:00

Closed #1403 (low) scrape/all/page.tsx summary: плитки считают по top-30 и не покрывают статусы skipped/paused/queued — сумма плиток ≠ числу строк 2026-06-15 16:36:14 +00:00

Closed #1402 (medium) scrape/all/page.tsx: смена filter не сбрасывает logsRunId — стейл-стейт показывает логи чужого прогона 2026-06-15 16:36:13 +00:00

Closed #1401 (medium) scrape/all/page.tsx logs: при filter=all кнопка «логи» не задаёт scraper_type — смешивает логи разных скраперов по совпадающему run_id 2026-06-15 16:36:12 +00:00

Closed #1400 (low) 55_schema_scrape_resume.sql: partial-index на heartbeat_at мёртв — reaper фильтрует по COALESCE(heartbeat_at, started_at) 2026-06-15 16:36:11 +00:00

Closed #1399 (low) decode_to_file.py: f.write(decoded) падает TypeError, если JSON декодируется в list/dict 2026-06-15 16:36:10 +00:00

Closed #1396 (low) _fmt_number падает на NaN/Inf-float (ValueError в детерминированном fallback-пути chat) 2026-06-15 16:36:09 +00:00

Closed #1397 (low) Классификация таймаута LLM по имени класса вместо isinstance (хрупко) 2026-06-15 16:36:09 +00:00

Closed #1395 (low) queue_status: broker-failure except-блоки без логирования (silent swallow в UI hot-path) 2026-06-15 16:36:08 +00:00

Closed #1394 (low) POST /geo/bulk игнорирует rate_ms — все bulk-джобы создаются с дефолтом 600ms без контроля оператора 2026-06-15 16:36:07 +00:00

Closed #1392 (low) own_portfolio: слабый regex-guard '^[0-9]+' позволяет non-numeric префиксу dev_id уронить весь current-portfolio запрос 2026-06-15 16:36:06 +00:00

Closed #1391 (low) Fan-out по objective_complex_mapping завышает SUM-метрики в _INLINE_VELOCITY_SQL (best_layouts) 2026-06-15 16:36:05 +00:00

Closed #1390 [low] izyatie_client: мёртвый fallback a_tag.get('title', href) недостижим (title уже непуст) 2026-06-15 16:36:04 +00:00

Closed #1389 [low] TradeInEstimateInput допускает floor > total_floors (нет cross-field валидации) 2026-06-15 16:36:03 +00:00

Closed #1388 [low] Cian has_furniture: реальное False теряется через or-коалесинг двух boolean-полей 2026-06-15 16:36:00 +00:00

Closed #1387 [low] Avito relative-date parser возвращает None для бесцифровых форм ('час назад', 'неделю назад', 'день назад') 2026-06-15 16:35:59 +00:00

Closed #1386 [low] Avito detail abort: транзиентная не-block ошибка сбрасывает consecutive_blocks, маскируя продолжающийся IP-блок 2026-06-15 16:35:58 +00:00

Closed #1385 [low] Guard-2 same_quarter_ratio: знаменатель включает аналоги без кадастрового номера — занижение ratio, over-correction 2026-06-15 16:35:57 +00:00

Closed #1384 [low] quartirography (deals): хардкод period_start_date >= '2025-07-01' — окно неограниченно растёт со временем 2026-06-15 16:35:56 +00:00

Closed #1382 [low] velocity: знаменатель score использует число MAPPED конкурентов (включая с нулевыми продажами) — систематическое занижение velocity_score 2026-06-15 16:35:55 +00:00

Closed #1381 (low) street-deals: period_from считается 30-дневными месяцами, а фильтр — календарными — отображаемое окно не совпадает с запросом 2026-06-15 16:35:54 +00:00

Closed #1380 (low) Cadastre jobs: React-key на внутреннем <tr> вместо mapped Fragment — нестабильная reconciliation / key-warning 2026-06-15 16:35:53 +00:00

Closed #1379 (low) SeasonalWeatherBlock: строка экстремумов мин/макс подписана как «макс» (только максимум) 2026-06-15 16:35:51 +00:00

Closed #1378 (low) ForecastConfidenceBlock: coverage=1.0 (100%) рендерится как «1» вместо «100%» из-за строгого < 1 2026-06-15 16:35:50 +00:00

Closed #1377 (low) Air quality берёт hourly[0] (00:00 forecast-дня), а не текущий час — docstring обещает «текущий час» 2026-06-15 16:35:49 +00:00

Closed #1376 (low) scenarios.py: module-docstring численно противоречит реализации _horizon_widen_factor 2026-06-15 16:35:47 +00:00

Closed #1375 (low) recommend_mix: comparables/competitors матчат obj_class = :cls точно, has_class_data проверяет лишь NOT NULL — молчаливо пустой результат при разном словаре (RU vs EN) 2026-06-15 16:35:46 +00:00

Closed #1374 (low) trigger_kn_sweep: queued_at всегда null — берётся date_done (время завершения) только что поставленной задачи 2026-06-15 16:35:45 +00:00

Closed #1373 (low) Несогласованный вывод quarter_cad для 3-сегментного кад. номера: REGEXP_REPLACE vs _quarter_cad 2026-06-15 16:35:44 +00:00

Closed #1372 (low) _classify зависит от порядка вставки в OSM_CATEGORIES — вторая категория multi-tag элемента молча теряется 2026-06-15 16:35:12 +00:00

Closed #1371 (low) get_connection_points игнорирует harvest_error/staleness — error-only дамп отдаётся как dump_available=true 2026-06-15 16:35:11 +00:00

Closed #1370 (low) Глобальный per-cache Lock удерживается на время сетевого вызова Open-Meteo — сериализация всех analyze-запросов одного cache-типа 2026-06-15 16:35:09 +00:00

Closed #1369 (medium) corp_sum: сбой парсера оставляет run помеченным 'done' (silent failure) — асимметрия с фиксом lots_pf #1220 2026-06-15 16:35:08 +00:00

Closed #1368 (medium) Avito enrichment: пойманная ошибка оставляет общий Session в aborted-state → каскад на все оставшиеся строки 2026-06-15 16:35:07 +00:00

Closed #1367 (medium) Не-idempotent миграции (110 ADD CONSTRAINT, 74 DROP TABLE→VIEW) при ложном заявлении об идемпотентности ломают DR-restore 2026-06-15 16:35:06 +00:00

Closed #1366 (medium) trade_in_pdf: страница «Сделки» рисует выдуманные дни экспозиции (4–118) для rosreestr ДКП-сделок 2026-06-15 16:35:05 +00:00

Closed #1365 (medium) 062 address cleaner: regex 'Площадь \\d' усекает легитимные адреса ЕКБ ('Площадь 1905 года') 2026-06-15 16:35:04 +00:00

Closed #1364 (medium) asking→sold ratio: в asking-медиану попадают новостройки (нет listing_segment guard в seed-миграциях 080/098) 2026-06-15 16:35:01 +00:00

Closed #1363 (medium) reap_zombies может пометить живой sweep 'zombie' → терминальные mark_done/mark_failed молча no-op, риск дубль-sweep 2026-06-15 16:35:00 +00:00

Closed #1362 (medium) OwnPlannedProjectUpdate без price-range валидатора → PUT может сохранить инвертированную вилку (min > max) 2026-06-15 16:34:59 +00:00

Closed #1361 (medium) pzz_loader: rosreestr_id может быть NULL → дубли строк, ON CONFLICT не срабатывает при повторном sync 2026-06-15 16:34:57 +00:00

Closed #1360 (medium) gate_verdict: blocker subcategory=17 сравнивается через isinstance(int) — строковый subcategory из nspd-dump молча деградирует до warning 2026-06-15 16:34:56 +00:00

Closed #1359 (medium) recommend_mix: success-boost меняет share_pct, но не пересчитывает units/revenue/velocity → внутренне противоречивый ответ 2026-06-15 16:34:55 +00:00

Closed #1358 [medium] object_flats_quartirography: бакет 'Нежилые' дробится на дубли, когда у нежилого юнита rooms не NULL 2026-06-15 16:34:54 +00:00

Closed #1356 [medium] fetch_status: завершённый/paused job с непустым target-статусом проваливается в неверный ответ 'not_in_nspd' 2026-06-15 16:34:53 +00:00

Closed #1354 [medium] velocity: monthly_velocity делит суммарный объём конкурентов на MAX месяцев одного конкурента — занижение при разнородных окнах 2026-06-15 16:34:52 +00:00

Closed #1351 (medium) PDF-отчёт Trade-In печатает period_months=24, тогда как данные за 12 месяцев — неверное окно в клиентском документе 2026-06-15 16:34:50 +00:00

Closed #1350 (medium) Аэродромы запрашиваются из OSM только как node — авиашум молча теряется в скоринге 2026-06-15 16:34:49 +00:00

Closed #1349 (medium) Geocode cache get/put делает блокирующий DB-IO на event loop, хотя тот же файл использует to_thread для других DB-вызовов 2026-06-15 16:34:48 +00:00

Closed #1348 (medium) Sber pull выполняет блокирующий DB/CPU на event loop (async-таск без run_in_executor) 2026-06-15 16:34:47 +00:00

Closed #1346 (medium) Блокирующий синхронный psycopg-IO в async-хендлере get_parcel_connection_points 2026-06-15 16:34:46 +00:00

Closed #1345 (high) Sber pull: пойманный сбой UPSERT отравляет Session — нет db.rollback(), все оставшиеся серии каскадно падают 2026-06-15 16:34:45 +00:00

Closed #1343 (high) poi_loader.sync_poi_to_db: UPSERT-цикл без per-row SAVEPOINT — одна битая строка валит весь weekly POI-sync 2026-06-15 16:34:43 +00:00

Closed #1342 (high) parcels.analyze: optional DB-блоки без begin_nested() — один сбойный query отравляет всю tx, молча теряет данные и срывает persist рана 2026-06-15 16:34:42 +00:00

Closed #1341 [high] СЗЗ с упоминанием газ/электр ошибочно эскалируется в hard-blocker — вердикт «Нельзя» вместо «С ограничениями» 2026-06-15 16:34:41 +00:00

Closed #1340 [high] obj_class_filter (англ.) сравнивается с русским obj_class в БД — фильтр класса всегда даёт 0 конкурентов (competitors + best_layouts) 2026-06-15 16:34:40 +00:00

Closed #1339 (high) useSiteAnalysis: re-POST на 'ready' использует apiFetch без проверки статуса — 202-гонка возвращает stub и крашит render tree 2026-06-15 16:34:39 +00:00

Closed #1338 (high) Синхронный CPU-bound генеративный пайплайн geometry.generate блокирует event loop в create_concept 2026-06-15 16:34:38 +00:00

Closed #1337 (high) async-хендлер get_poi_score(decay=routing) делает синхронный блокирующий ORS-вызов на 12с в event loop 2026-06-15 16:34:37 +00:00

Closed #1336 (critical) SRID: геометрия кварталов и зданий из rosreestr2coord (WGS84) ошибочно ST_Transform'ится из 3857 → коллапс к Null Island 2026-06-15 16:34:36 +00:00

Closed #956 [site-finder] EPIC 12: Извлечение факт/гипотеза/уверенность из граддок (NLP §7.4) 2026-06-15 13:40:28 +00:00

Closed #1487 (medium) site-finder-api.ts/applyFilters: фильтры district/vri в prod обнуляют карту (все участки district='—', vri='other') 2026-06-15 11:32:45 +00:00

Closed #1436 (medium) QuartirographyChart.tsx/portfolioMap: portfolio по числу комнат сопоставлен с deals по площади под общими площадными ярлыками 2026-06-15 11:32:45 +00:00

Closed #1480 (high) trade-in/page.tsx восстановление по ?id=: параметры объекта синтезируются нулями → EstimateResult показывает '0 м²', 'Студия', 'Этаж 0 из 0' и чужой адрес 2026-06-15 11:32:44 +00:00

Closed #936 [tradein][estimator] Gate перед flip tier_aware_ratio_enabled ON — backtest + golden-regression (#928/#934 follow-up) 2026-06-14 16:56:27 +00:00

Closed #42 Infra I1: POI saturation per capita (Росстат демография по районам) 2026-06-14 15:19:01 +00:00

Closed #1186 [tradein] A: Query-side guard вторички — estimator/asking_to_sold/matview не должны читать novostroyki из listings 2026-06-14 15:11:28 +00:00

Closed #1070 [ИРД][сети] ООО «Брик» — техприсоединение, образоват. объект ул. Железнодорожников 3 (66:41:0702048:26/:27) 2026-06-14 14:49:33 +00:00

Closed #96 Demand: Помещения ЕГРН (38489) + Машино-места (38490) — per-flat cross-check + parking ratio 2026-06-14 14:49:29 +00:00

Closed #107 ekburg.ru/isogd direct scraper: РНС/ППТ/ГПЗУ для ЕКБ-city 2026-06-14 14:16:25 +00:00

Closed #79 B7-1: 152-ФЗ — аудит кода на PII в logs / Sentry / БД 2026-06-13 19:22:31 +00:00

Closed #70 B4-3: Performance аудит — Sentry Tracing + EXPLAIN slow queries 2026-06-13 19:22:31 +00:00

Closed #76 B6-2: VPS resources аудит — capacity headroom для пилотов 2026-06-13 18:52:12 +00:00

Closed #78 B6-4: Secrets rotation policy + procedure documentation 2026-06-13 18:50:56 +00:00

Closed #263 epic(infra): NSPD unify — Вариант B consolidation (cadastre as single scraper) 2026-06-13 18:39:22 +00:00

Closed #28 Gate G1: Импорт ПЗЗ ЕКБ shape → pzz_zones_ekb 2026-06-13 18:39:18 +00:00

Closed #68 B4-1: Test coverage — критичные пути (recommend / analyze / concepts) 2026-06-13 18:38:29 +00:00

Closed #77 B6-3: Frontend build cache — npm + Turborepo remote 2026-06-13 18:38:29 +00:00

Closed #69 B4-2: OpenAPI / TS codegen — добавить в CI assert 2026-06-13 18:38:29 +00:00

Closed #75 B6-1: Uptime monitoring — Uptime Kuma / healthcheck.io 2026-06-13 18:38:29 +00:00

Closed #83 B9-1: README — обновить под актуальное состояние + quick start 2026-06-13 18:25:33 +00:00

Closed #73 B5-3: Data freshness monitoring — dashboard + alerts 2026-06-13 18:25:33 +00:00

Closed #72 B5-2: Alembic vs raw SQL — синхронизация состояния схемы 2026-06-13 18:25:33 +00:00

Closed #80 B7-2: License / ToS audit — OSM ODbL, Объектив, DOM.РФ, Open-Meteo 2026-06-13 18:25:27 +00:00

Closed #66 B3-3: Mobile responsiveness — Leaflet + ECharts на планшете 2026-06-13 18:25:27 +00:00

Closed #255 feat(#232): ЗОУИТ visual layer на Leaflet карте — схематичные полигоны охранных зон (требование Макса) 2026-06-13 17:41:09 +00:00

Closed #44 Infra I3: Инженерные сети из OSM (вода/канал/электр/газ) — utility distance 2026-06-13 17:41:02 +00:00

Closed #41 Access A3: Per-category routing-radius decay (closes Limit_POI_Factor_Tiny) 2026-06-13 17:41:02 +00:00

Closed #65 B3-2: Analytics dashboard — поиск + drill-down + cross-links 2026-06-13 17:14:16 +00:00

Closed #50 UX X4: Multi-cad сравнение (2-5 участков side-by-side) 2026-06-13 17:14:16 +00:00

Closed #17 Analytics: velocity-anomaly detection — алерт на ЖК с сильным провалом продаж 2026-06-13 17:14:10 +00:00

Closed #99 Demand: «Индикатор цен ДДУ» — применить ARN-framework НСПД к нашим первичным данным 2026-06-13 17:14:10 +00:00

Closed #57 B1-4: Concept UI — фронт от полигона до вариантов и экспортов 2026-06-13 16:42:20 +00:00

Closed #56 B1-3: Generative Stage 1c — TEAP + финмодель + PDF/Excel/DXF 2026-06-13 16:42:14 +00:00

Closed #55 B1-2: Generative Stage 1b — Greedy алгоритм + STRtree коллизии 2026-06-13 16:42:14 +00:00

Closed #54 B1-1: Generative Stage 1a — Shapely-парсер + placement grid 2026-06-13 16:42:14 +00:00

Closed #100 UX: Differentiation от НСПД (сравнительная таблица + deep-links + footers) 2026-06-13 15:53:03 +00:00

Closed #97 UX: Deep-links на сервисы НСПД из Site Finder (Open on ПКК, верификация) 2026-06-13 15:53:03 +00:00

Closed #259 bug(#233): pzz_sync — pkk.rosreestr.ru PKK6 deprecated, мигрировать на NSPD WMS (territorial_zones) 2026-06-13 15:52:57 +00:00

Closed #200 cadastre: докачать geom для 932 участков (371 квартал) из job 20 2026-06-13 15:52:57 +00:00

Closed #252 bug(scrapers): NspdLiteError HTTP 500 на nspd.gov.ru WMS — нужна retry policy для transient ошибок 2026-06-13 15:52:57 +00:00

Closed #106 ФГИС ТП Минэк: Функциональные зоны (846615) federal Генплан — bbox tiling для ЕКБ 2026-06-13 15:23:22 +00:00

Closed #236 [QA] analytics/recommend: ипотечная ставка показывает "Январь 2026" — данные 4+ месяца назад 2026-06-13 15:22:23 +00:00

Closed #237 [QA] analytics/recommend: нет индикатора актуальности данных (last_updated) 2026-06-13 15:22:23 +00:00

Closed #251 bug(backend): GET /api/v1/parcels/{cad} возвращает 501 "Not implemented yet" — удалить или реализовать 2026-06-13 15:22:23 +00:00

Closed #428 [low] docs/PILOT_ACCESS.md: заменить claudestars@proton.me на role-mailbox 2026-06-13 15:22:18 +00:00

Closed #427 [low] basic_auth: расширить username regex под john.doe / jane_smith 2026-06-13 15:22:17 +00:00

Closed #429 [low] basic_auth: list_users.sh fragile regex (может матчить комментарии) 2026-06-13 15:22:17 +00:00

Closed #71 B5-1: Backup cron + S3 — СРОЧНО (риск потери 6.83M ДДУ) 2026-06-13 15:22:17 +00:00

Closed #253 bug(frontend): React error #418 hydration mismatch на /admin/scrape/cadastre 2026-06-13 14:50:55 +00:00

Closed #35 Demand D3: Absorption rate / прогноз месяцев до распродажи 80% 2026-06-13 14:50:53 +00:00

Closed #254 feat(site-finder): Ad-hoc custom POI с весом — пользователь добавляет свою точку на карту (требование Макса) 2026-06-13 14:49:57 +00:00

Closed #64 B3-1: Landing page редизайн — B2B value prop + CTA flow 2026-06-13 14:49:55 +00:00

Closed #63 B2-4: Объектив coverage аудит + расширение групп если <70% 2026-06-13 14:49:53 +00:00

Closed #62 B2-3: PRINZIP CRM — автоматизация стратегических инсайтов 2026-06-13 14:49:50 +00:00

Closed #49 UX X3: PDF export «Site Analysis Report» (WeasyPrint) 2026-06-13 14:49:48 +00:00

Closed #40 Access A2: Endpoint /parcels/{cad}/isochrones (walk/car 10/15/30 мин) + UI 2026-06-13 14:49:46 +00:00

Closed #37 Demand D5: Buyer affordability index (CRM PRINZIP + CBR + rosreestr_deals) 2026-06-13 14:49:44 +00:00

Closed #20 Analytics: mortgage-rate sensitivity — 'что будет, если ставка вырастет на 1pp?' 2026-06-13 14:49:42 +00:00

Closed #244 bug(#232): cad_zouit fallback не срабатывает когда nspd_quarter_dumps вообще пуст (regression PR #240) 2026-06-13 14:42:46 +00:00

Closed #232 [QA] ЗОУИТ "Нет пересечений" — cad_zouit имеет данные, но analyze их не использует 2026-06-13 14:42:44 +00:00

Closed #31 Gate G4: Extract max_floors / FAR / parking из pzz_zones_ekb.raw_props 2026-06-13 14:42:42 +00:00

Closed #29 Gate G2: Парсер ВРИ + категория земель из НСПД per cad 2026-06-13 14:42:40 +00:00

Closed #256 feat(#126): Sub-PR B — интегрировать grid sampling в harvest_quarter (single-pixel WMS fix) 2026-06-13 14:42:38 +00:00

Closed #102 Site Finder: WMS-overlay инженерных сетей НСПД на Leaflet карте (low-effort MVP) 2026-06-13 14:42:36 +00:00

Closed #168 Bulk cadastre ingest ЕКБ — 2408 кварталов через NSPD 2026-06-13 14:42:34 +00:00

Closed #126 🐛 NSPD WMS GetFeatureInfo НЕ bulk — Sprint 2 grid sampling fix 2026-06-13 14:42:31 +00:00

Closed #115 🔌 Engineering: Точки подключения к сетям + параметры (KILLER FEATURE от Макса) 2026-06-13 14:42:29 +00:00

Closed #94 NSPD API client: единый интегратор слоёв (foundation для G1/G2/G3/E1/#93) 2026-06-13 14:42:27 +00:00

Closed #1246 [Fable 5][uncertain][P2] ObjectSaleChart: ось X строится по месяцам только первого type — серии parking/nonliv рисуются на чужих месяцах 2026-06-13 13:22:57 +00:00

Closed #1248 [Fable 5][uncertain][P3] useParcelAnalyzeQuery: poll-цикл игнорирует AbortSignal — зомби-поллинг и лишние POST /analyze после навигации 2026-06-13 13:19:51 +00:00

Closed #1245 [Fable 5][uncertain][P3] chat.py: async-хендлер /chat/ask выполняет синхронное чтение БД (JSONB-отчёт) в event loop'е 2026-06-13 13:19:44 +00:00

Closed #1244 [Fable 5][uncertain][P3] Excel-экспортёр §13: строки отчёта, начинающиеся с '=', пишутся как живые формулы (formula/DDE-injection) 2026-06-13 13:19:44 +00:00

Closed #1247 [Fable 5][uncertain][P3] Trade-in: чтение window.location.search во время рендера — hydration mismatch при открытии shareable-ссылки ?id= 2026-06-13 13:09:38 +00:00

Closed #944 🔮 [EPIC][site-finder] Site Finder v2 — ИИ-прогноз продуктовой стратегии (ТЗ ГенГеныч) 2026-06-13 12:38:17 +00:00

Closed #731 [tradein][db][tech-debt] Stale stats (ANALYZE никогда) + чистка мёртвой схемы 2026-06-13 11:59:37 +00:00

Closed #732 [tradein][db][tech-debt] Унификация кадастровой колонки kadastr_num → cadastral_number 2026-06-13 11:59:33 +00:00

Closed #769 [P3][tradein][backend] Data-layer/op хвост аудита: trgm-индекс на deals.address, FDW fetch_size, matview-refresh, cian-unescape, address-centroid 2026-06-13 11:59:30 +00:00

Closed #730 [tradein][db][tech-debt] Index hygiene — дубли + 87 unused + бессмысленные партиалы (~42 МБ) 2026-06-13 11:53:13 +00:00

Closed #800 [tradein][frontend][bug] Retry-storm + белый экран на 401 (/me+/quota без backoff) 2026-06-13 11:53:09 +00:00

Closed #973 [SF-v2 #950] 950-E2: Расписание cian/yandex_newbuilding enrichment 2026-06-13 11:30:46 +00:00

Closed #1088 [SF][future-supply] Geo-join земля↔застройщик (ДОМ.РФ + РНС-ИНН + КРТ) по кадастру/гео 2026-06-13 11:21:58 +00:00

Closed #1087 [SF][future-supply][spike] Разведка ГИСОГД-СО gisogd66.midural.ru — API РНС/ввод + застройщик 2026-06-13 11:11:52 +00:00

Closed #958 [site-finder] EPIC 14: UI: горизонт-селектор, экран прогноза/сценариев, слои карты, confidence 2026-06-13 11:00:58 +00:00

Closed #960 [site-finder] EPIC 16: LLM-инфраструктура (провайдер, промпты, секреты, cost/guardrails) 2026-06-13 11:00:56 +00:00

Closed #999 [SF-v2 #958] 958-B4: Слои карты: будущие ЖК / скрытый склад / зоны риска 2026-06-13 11:00:55 +00:00

Closed #957 [site-finder] EPIC 13: Чат-интерфейс над движком (LLM-оркестрация + UI-панель) 2026-06-13 11:00:53 +00:00

Closed #961 [site-finder] EPIC 17: Контракт API результата + версионирование анализа 2026-06-13 11:00:51 +00:00

Closed #1169 [site-finder] §25.3 истинная каннибализация: overlap vs собственный портфель (own-portfolio) 2026-06-13 10:26:11 +00:00

Closed #950 [site-finder] EPIC 6: 3-слойный склад (open/hidden/future) + индекс будущего давления 2026-06-13 10:26:10 +00:00

Closed #946 [site-finder] EPIC 2: Росстат/ЕМИСС + Дом.РФ макро-ingest (доходы, инфляция, распроданность) 2026-06-13 10:26:08 +00:00

Closed #947 [site-finder] EPIC 3: Сущность «Граддокумент» + парсер ППТ/ПМТ/слушаний/КРТ/ЕИСЖС 2026-06-13 10:26:07 +00:00

Closed #1084 [sf] EKBGeoportalClient hardening при C8-wiring: CQL float-формат + User-Agent + httpx.Client pooling 2026-06-13 10:23:07 +00:00

Closed #1134 krt_lookup: многострочный regex в _PLANNING_NO_MATCH_SQL ломает 2 топонима (#1131 follow-up) 2026-06-13 10:23:05 +00:00

Closed #1119 [qa] post-deploy smoke: ird-блок в /analyze (enable_ird_analyze ON) + latency 2026-06-13 10:23:04 +00:00

Closed #1122 land_reservation: parser/ingest hardening ПЕРЕД первым реальным прогоном (#1118 follow-up) 2026-06-13 10:23:02 +00:00

Closed #1085 [SF][future-supply] Ingest ППТ/ПМТ ЕКБ — WFS геометрия + ТЭП из PDF (pdfplumber) 2026-06-13 10:23:01 +00:00

Closed #1234 [Fable 5][P3] Snapshot-PDF: '&mdash;'-фоллбеки двойно экранируются автоэскейпом Jinja2 — в PDF печатается литеральный текст «&mdash;» 2026-06-13 10:06:07 +00:00

Closed #1159 okn_objects: недозагрузка реестра (428 vs ~798 ЕГРОКН) + raw_props={id} без названия/адреса 2026-06-13 10:06:07 +00:00

Closed #1116 gknspecial_harvest: incremental per-prefix commit (durability на больших прогонах) 2026-06-13 10:06:07 +00:00

Closed #1095 [sf] parcel_ird_overlaps: расширить except + тест ProgrammingError (при D9b wiring) 2026-06-13 10:06:07 +00:00

Closed #1222 [Fable 5][P3] §15 report-confidence: _confounded читает ключи, которых нет в forecast-диктах — шок-окно никогда не влияет на уверенность 2026-06-13 10:06:06 +00:00

Closed #1240 [Fable 5][P3] PilotRequestModal: клиентская валидация слабее Pydantic-схемы — лид на лендинге получает сырой JSON 422 2026-06-13 10:06:06 +00:00

Closed #1221 [Fable 5][P3] recommend_mix: _district_market_saturation без latest-snapshot фильтра — каждый ЖК считается ~3 раза, медиана и гейт n>=5 искажены 2026-06-13 10:06:06 +00:00

Closed #1231 [Fable 5][P3] noise_loader: loop-UPSERT без begin_nested — один дефектный OSM-way (3-точечное кольцо) валит весь weekly-синк на каждом прогоне 2026-06-13 10:06:06 +00:00

Closed #1226 [Fable 5][P3] objective_sync_config.get_config: голый except Exception: pass на seed-INSERT — запрещённый паттерн, сессия остаётся в aborted-состоянии 2026-06-13 10:06:06 +00:00

Closed #1237 [Fable 5][P3] UserMenu: роль analyst (есть в backend с #962) отображается бейджем «Пилот» 2026-06-13 10:06:06 +00:00

Closed #1228 [Fable 5][P3] OCR-нормализация не чинит задокументированный шум «6б:41:…» — кад-номера тихо теряются 2026-06-13 10:06:06 +00:00

Closed #1229 [Fable 5][P3] best_layouts: supply-бакеты ('4+', euro-1/2) не стыкуются с velocity-бакетами objective ('4', '5+', '2') — supply=0/sold_pct искажены 2026-06-13 10:06:06 +00:00

Closed #1232 [Fable 5][P3] Крах weekly POI-синка 29 февраля: date.replace(year=-2) бросает ValueError 2026-06-13 10:06:06 +00:00

Closed #1136 ekb_ppt_tep: post-фильтры парсера + врезка в analyze + seed-URL (#1133 follow-up) 2026-06-13 09:32:53 +00:00

Closed #1223 [Fable 5][P3] PUT /admin/jobs/settings/{job_type} для отсутствующей строки молча теряет изменения и отвечает 200 с fallback-дефолтами 2026-06-13 08:36:24 +00:00

Closed #1236 [Fable 5][P3] scrape_cadastre: перманентный не-WAF фейл не инкрементит targets_failed → job вечно 'running'; cleanup-таска не в beat 2026-06-13 08:36:14 +00:00

Closed #1225 [Fable 5][P3] §14.2 price_feasibility: reason говорит «субсид. ставка», хотя платёж считан по рыночной key_rate+4.5 п.п. (~19%) 2026-06-13 08:20:32 +00:00

Closed #1239 [Fable 5][P3] JobSettingsPanel: правки JSON extra_config молча теряются, если textarea свёрнута при сохранении 2026-06-13 08:20:27 +00:00

Closed #1235 [Fable 5][P3] nspd_geo: except (NspdLiteError, Exception) проглатывает SoftTimeLimitExceeded — 6-часовой лимит таски не работает 2026-06-13 08:20:19 +00:00

Closed #1241 [Fable 5][P3] useCustomPois инвалидирует несуществующий ключ ["analyze", cad] — скор и breakdown не обновляются после изменения custom-POI 2026-06-13 08:15:06 +00:00

Closed #1224 [Fable 5][P3] §25.3 _price_overlap: нулевая ширина ценовой вилки нашего проекта внутри вилки кандидата даёт 0.0 вместо 1.0/None 2026-06-13 08:10:47 +00:00

Closed #1238 [Fable 5][P3] ObjectSaleChart: серия «цена ₽/м²» рисует значения, делённые на 1000, без valueFormatter — тултип читается с ошибкой в 1000 раз 2026-06-13 08:10:39 +00:00

Closed #1233 [Fable 5][P3] beat_schedule: 4 cron'а написаны в UTC при timezone=Europe/Moscow — бегут на 3ч раньше; price-index ДО medians 2026-06-13 08:06:23 +00:00

Closed #1227 [Fable 5][P3] scrape_catalog_batch не делает db.commit() — все UPDATE цен откатятся при закрытии сессии 2026-06-13 08:06:17 +00:00

Closed #1242 [Fable 5][P3] useSiteAnalysis: общий cancelledRef между конкурентными мутациями — новый analyze воскрешает отменённый poll-цикл 2026-06-13 07:54:11 +00:00

Closed #1230 [Fable 5][P3] Разорванный переносом строки regex в _PLANNING_NO_MATCH_SQL: ветки «Донбасской» и «Лумумбы» никогда не матчатся 2026-06-13 07:51:34 +00:00

Closed #1220 [Fable 5][P2] scrape_objective: провал lots_pf-стрима (главный 600МБ отчёт) проглатывается — run завершается status='done' 2026-06-13 07:34:58 +00:00

Closed #1205 [Fable 5][P2] Artificial Demand (§25.5) фильтрует objective_lots по админ-району без resolve_objective_districts — индекс молча пуст для 7 из 8 районов 2026-06-13 07:34:55 +00:00

Closed #1203 [Fable 5][P2] recommend_mix: _district_velocity_trend — захардкоженные даты 2025: «recent»-окно растёт безгранично, trend_factor раздут до ~2x 2026-06-13 06:24:22 +00:00

Closed #1210 [Fable 5][P2] _AVG_PRICE_SQL без snapshot-фильтра: цена конкурента — смесь исторических снапшотов, flats_sold кратно завышен 2026-06-13 06:17:27 +00:00

Closed #1206 [Fable 5][P2] ON CONFLICT по nullable doc_num: документы без номера дублируются при каждом прогоне 2026-06-13 06:17:14 +00:00

832 issues created by 2 users

Opened #1336 (critical) SRID: геометрия кварталов и зданий из rosreestr2coord (WGS84) ошибочно ST_Transform'ится из 3857 → коллапс к Null Island 2026-06-14 18:08:36 +00:00

Opened #1337 (high) async-хендлер get_poi_score(decay=routing) делает синхронный блокирующий ORS-вызов на 12с в event loop 2026-06-14 18:08:38 +00:00

Opened #1338 (high) Синхронный CPU-bound генеративный пайплайн geometry.generate блокирует event loop в create_concept 2026-06-14 18:08:39 +00:00

Opened #1339 (high) useSiteAnalysis: re-POST на 'ready' использует apiFetch без проверки статуса — 202-гонка возвращает stub и крашит render tree 2026-06-14 18:08:40 +00:00

Opened #1340 [high] obj_class_filter (англ.) сравнивается с русским obj_class в БД — фильтр класса всегда даёт 0 конкурентов (competitors + best_layouts) 2026-06-14 18:08:41 +00:00

Opened #1341 [high] СЗЗ с упоминанием газ/электр ошибочно эскалируется в hard-blocker — вердикт «Нельзя» вместо «С ограничениями» 2026-06-14 18:08:43 +00:00

Opened #1342 (high) parcels.analyze: optional DB-блоки без begin_nested() — один сбойный query отравляет всю tx, молча теряет данные и срывает persist рана 2026-06-14 18:08:44 +00:00

Opened #1343 (high) poi_loader.sync_poi_to_db: UPSERT-цикл без per-row SAVEPOINT — одна битая строка валит весь weekly POI-sync 2026-06-14 18:08:45 +00:00

Opened #1344 (high) cad_territorial_zones.geom объявлена GEOGRAPHY(POLYGON) — MultiPolygon ПЗЗ-зоны молча отбрасываются при harvest 2026-06-14 18:08:46 +00:00

Opened #1345 (high) Sber pull: пойманный сбой UPSERT отравляет Session — нет db.rollback(), все оставшиеся серии каскадно падают 2026-06-14 18:08:47 +00:00

Opened #1346 (medium) Блокирующий синхронный psycopg-IO в async-хендлере get_parcel_connection_points 2026-06-14 18:08:48 +00:00

Opened #1347 (medium) BrowserSession Semaphore = 8 вместо задокументированных 3 — ~3x риск WAF-блокировки на DOM.РФ sweep 2026-06-14 18:08:51 +00:00

Opened #1348 (medium) Sber pull выполняет блокирующий DB/CPU на event loop (async-таск без run_in_executor) 2026-06-14 18:08:52 +00:00

Opened #1349 (medium) Geocode cache get/put делает блокирующий DB-IO на event loop, хотя тот же файл использует to_thread для других DB-вызовов 2026-06-14 18:08:53 +00:00

Opened #1350 (medium) Аэродромы запрашиваются из OSM только как node — авиашум молча теряется в скоринге 2026-06-14 18:08:54 +00:00

Opened #1351 (medium) PDF-отчёт Trade-In печатает period_months=24, тогда как данные за 12 месяцев — неверное окно в клиентском документе 2026-06-14 18:08:57 +00:00

Opened #1352 (medium) refresh_ekb_districts_median: ST_Intersects двойного-счёта сделок на пограничных кварталах искажает медиану/среднюю цену района 2026-06-14 18:08:58 +00:00

Opened #1353 [medium] is_residential_zone: prefix-проверка мертва для NSPD zone_code, детект жилой зоны держится на хрупкой подстроке 'жил' без negative-list 2026-06-14 18:09:00 +00:00

Opened #1354 [medium] velocity: monthly_velocity делит суммарный объём конкурентов на MAX месяцев одного конкурента — занижение при разнородных окнах 2026-06-14 18:09:01 +00:00

Opened #1355 [medium] supply_layers: один domrf-объект может учитываться И в Layer2 (hidden) И в Layer3 (future) — двойной счёт предложения на горизонтах 18/24 мес 2026-06-14 18:09:02 +00:00

Opened #1356 [medium] fetch_status: завершённый/paused job с непустым target-статусом проваливается в неверный ответ 'not_in_nspd' 2026-06-14 18:09:03 +00:00

Opened #1357 [medium] _score_label игнорирует порог 'хорошо'=25 — участки со score 15..25 помечены 'хорошо' вместо 'средне' 2026-06-14 18:09:04 +00:00

Opened #1358 [medium] object_flats_quartirography: бакет 'Нежилые' дробится на дубли, когда у нежилого юнита rooms не NULL 2026-06-14 18:09:05 +00:00

Opened #1359 (medium) recommend_mix: success-boost меняет share_pct, но не пересчитывает units/revenue/velocity → внутренне противоречивый ответ 2026-06-14 18:09:07 +00:00

Opened #1360 (medium) gate_verdict: blocker subcategory=17 сравнивается через isinstance(int) — строковый subcategory из nspd-dump молча деградирует до warning 2026-06-14 18:09:08 +00:00

Opened #1361 (medium) pzz_loader: rosreestr_id может быть NULL → дубли строк, ON CONFLICT не срабатывает при повторном sync 2026-06-14 18:09:09 +00:00

Opened #1362 (medium) OwnPlannedProjectUpdate без price-range валидатора → PUT может сохранить инвертированную вилку (min > max) 2026-06-14 18:09:10 +00:00

Opened #1363 (medium) reap_zombies может пометить живой sweep 'zombie' → терминальные mark_done/mark_failed молча no-op, риск дубль-sweep 2026-06-14 18:09:11 +00:00

Opened #1364 (medium) asking→sold ratio: в asking-медиану попадают новостройки (нет listing_segment guard в seed-миграциях 080/098) 2026-06-14 18:09:12 +00:00

Opened #1365 (medium) 062 address cleaner: regex 'Площадь \\d' усекает легитимные адреса ЕКБ ('Площадь 1905 года') 2026-06-14 18:09:14 +00:00

Opened #1366 (medium) trade_in_pdf: страница «Сделки» рисует выдуманные дни экспозиции (4–118) для rosreestr ДКП-сделок 2026-06-14 18:09:15 +00:00

Opened #1367 (medium) Не-idempotent миграции (110 ADD CONSTRAINT, 74 DROP TABLE→VIEW) при ложном заявлении об идемпотентности ломают DR-restore 2026-06-14 18:09:16 +00:00

Opened #1368 (medium) Avito enrichment: пойманная ошибка оставляет общий Session в aborted-state → каскад на все оставшиеся строки 2026-06-14 18:09:47 +00:00

Opened #1369 (medium) corp_sum: сбой парсера оставляет run помеченным 'done' (silent failure) — асимметрия с фиксом lots_pf #1220 2026-06-14 18:09:49 +00:00

Opened #1370 (low) Глобальный per-cache Lock удерживается на время сетевого вызова Open-Meteo — сериализация всех analyze-запросов одного cache-типа 2026-06-14 18:09:50 +00:00

Opened #1371 (low) get_connection_points игнорирует harvest_error/staleness — error-only дамп отдаётся как dump_available=true 2026-06-14 18:09:52 +00:00

Opened #1372 (low) _classify зависит от порядка вставки в OSM_CATEGORIES — вторая категория multi-tag элемента молча теряется 2026-06-14 18:09:53 +00:00

Opened #1373 (low) Несогласованный вывод quarter_cad для 3-сегментного кад. номера: REGEXP_REPLACE vs _quarter_cad 2026-06-14 18:09:54 +00:00

Opened #1374 (low) trigger_kn_sweep: queued_at всегда null — берётся date_done (время завершения) только что поставленной задачи 2026-06-14 18:09:55 +00:00

Opened #1375 (low) recommend_mix: comparables/competitors матчат obj_class = :cls точно, has_class_data проверяет лишь NOT NULL — молчаливо пустой результат при разном словаре (RU vs EN) 2026-06-14 18:09:56 +00:00

Opened #1376 (low) scenarios.py: module-docstring численно противоречит реализации _horizon_widen_factor 2026-06-14 18:09:57 +00:00

Opened #1377 (low) Air quality берёт hourly[0] (00:00 forecast-дня), а не текущий час — docstring обещает «текущий час» 2026-06-14 18:09:59 +00:00

Opened #1378 (low) ForecastConfidenceBlock: coverage=1.0 (100%) рендерится как «1» вместо «100%» из-за строгого < 1 2026-06-14 18:10:00 +00:00

Opened #1379 (low) SeasonalWeatherBlock: строка экстремумов мин/макс подписана как «макс» (только максимум) 2026-06-14 18:10:02 +00:00

Opened #1380 (low) Cadastre jobs: React-key на внутреннем <tr> вместо mapped Fragment — нестабильная reconciliation / key-warning 2026-06-14 18:10:03 +00:00

Opened #1381 (low) street-deals: period_from считается 30-дневными месяцами, а фильтр — календарными — отображаемое окно не совпадает с запросом 2026-06-14 18:10:06 +00:00

Opened #1382 [low] velocity: знаменатель score использует число MAPPED конкурентов (включая с нулевыми продажами) — систематическое занижение velocity_score 2026-06-14 18:10:07 +00:00

Opened #1383 [low] leads/stats: revenue/deals считаются за всё время под контрактом «за последние N месяцев» 2026-06-14 18:10:08 +00:00

Opened #1384 [low] quartirography (deals): хардкод period_start_date >= '2025-07-01' — окно неограниченно растёт со временем 2026-06-14 18:10:10 +00:00

Opened #1385 [low] Guard-2 same_quarter_ratio: знаменатель включает аналоги без кадастрового номера — занижение ratio, over-correction 2026-06-14 18:10:11 +00:00

Opened #1386 [low] Avito detail abort: транзиентная не-block ошибка сбрасывает consecutive_blocks, маскируя продолжающийся IP-блок 2026-06-14 18:10:12 +00:00

Opened #1387 [low] Avito relative-date parser возвращает None для бесцифровых форм ('час назад', 'неделю назад', 'день назад') 2026-06-14 18:10:13 +00:00

Opened #1388 [low] Cian has_furniture: реальное False теряется через or-коалесинг двух boolean-полей 2026-06-14 18:10:15 +00:00

Opened #1389 [low] TradeInEstimateInput допускает floor > total_floors (нет cross-field валидации) 2026-06-14 18:10:16 +00:00

Opened #1390 [low] izyatie_client: мёртвый fallback a_tag.get('title', href) недостижим (title уже непуст) 2026-06-14 18:10:17 +00:00

Opened #1391 (low) Fan-out по objective_complex_mapping завышает SUM-метрики в _INLINE_VELOCITY_SQL (best_layouts) 2026-06-14 18:10:18 +00:00

Opened #1392 (low) own_portfolio: слабый regex-guard '^[0-9]+' позволяет non-numeric префиксу dev_id уронить весь current-portfolio запрос 2026-06-14 18:10:19 +00:00

Opened #1393 (low) Cian _walk_price_range: force-paginate ветка молча теряет хвост ценового бакета (задокументированная потеря в hot path) 2026-06-14 18:11:21 +00:00

Opened #1394 (low) POST /geo/bulk игнорирует rate_ms — все bulk-джобы создаются с дефолтом 600ms без контроля оператора 2026-06-14 18:11:22 +00:00

Opened #1395 (low) queue_status: broker-failure except-блоки без логирования (silent swallow в UI hot-path) 2026-06-14 18:11:23 +00:00

Opened #1396 (low) _fmt_number падает на NaN/Inf-float (ValueError в детерминированном fallback-пути chat) 2026-06-14 18:11:24 +00:00

Opened #1397 (low) Классификация таймаута LLM по имени класса вместо isinstance (хрупко) 2026-06-14 18:11:26 +00:00

Opened #1398 (low) De-partиализация 5 listings-индексов в 097 на ложной посылке «is_active = 100% true», которую 104 подтверждает устаревшей 2026-06-14 18:11:27 +00:00

Opened #1399 (low) decode_to_file.py: f.write(decoded) падает TypeError, если JSON декодируется в list/dict 2026-06-15 05:52:03 +00:00

Opened #1400 (low) 55_schema_scrape_resume.sql: partial-index на heartbeat_at мёртв — reaper фильтрует по COALESCE(heartbeat_at, started_at) 2026-06-15 05:52:04 +00:00

Opened #1401 (medium) scrape/all/page.tsx logs: при filter=all кнопка «логи» не задаёт scraper_type — смешивает логи разных скраперов по совпадающему run_id 2026-06-15 05:53:31 +00:00

Opened #1402 (medium) scrape/all/page.tsx: смена filter не сбрасывает logsRunId — стейл-стейт показывает логи чужого прогона 2026-06-15 05:53:32 +00:00

Opened #1403 (low) scrape/all/page.tsx summary: плитки считают по top-30 и не покрывают статусы skipped/paused/queued — сумма плиток ≠ числу строк 2026-06-15 05:53:33 +00:00

Opened #1404 (low) scrape/all/page.tsx isStale: UI-порог 5 мин расходится с backend-zombie 10 мин — ложный статус «stale» у живого kn-прогона 2026-06-15 05:53:34 +00:00

Opened #1405 (high) QuartirographyChart.tsx/portfolioMap: бар «Студии» в портфеле всегда 0 — график противоречит вердикту «52% — студии и однушки» 2026-06-15 05:53:35 +00:00

Opened #1406 (high) QuartirographyChart.tsx/portfolioMap: портфель по числу комнат наложен на ось площади (м²) — сравнение в разных единицах 2026-06-15 05:53:36 +00:00

Opened #1407 (high) page.tsx / KpiCard «Sold % (квартиры)»: вердикт «выше/ниже среднего рынка» считается по собственному sold% объекта без рыночных данных 2026-06-15 05:53:37 +00:00

Opened #1408 (medium) page.tsx / KpiCard «Нежилые» и «Машино-места»: hint гейтит на perc, но печатает realised → возможна строка «null продано» 2026-06-15 05:53:38 +00:00

Opened #1409 (low) prinzip/page.tsx KpiCard «Средний метраж»: двойной минус при avg≥49 и ложный «-0» при null 2026-06-15 05:53:40 +00:00

Opened #1410 (high) ConceptVariantsResult: плотность (FAR) подписана как 'м²/га' — неверная единица и занижение в ~10000× 2026-06-15 05:53:41 +00:00

Opened #1411 (medium) concept/page.tsx: устаревший результат концепции против перерисованного полигона (стейл-стейт) 2026-06-15 05:53:42 +00:00

Opened #1412 (low) ConceptVariantsResult: IRR-proxy подписан как 'IRR / Внутренняя норма доходности' — переобещание метрики 2026-06-15 05:53:44 +00:00

Opened #1413 (low) data-sources/page.tsx · SOURCES «Объектив»: неверный домен атрибуции (objced.ru вместо objctv.ru) 2026-06-15 05:53:45 +00:00

Opened #1414 (high) page.tsx/districtLabel: KPI «X км от центра» показывает дистанцию до границы района, а не до центра ЕКБ 2026-06-15 05:53:46 +00:00

Opened #1415 (low) page.tsx/trendColor: цвет KPI тренда рассинхронизирован с текстовой меткой backend (порог 5% vs 8%) 2026-06-15 05:53:47 +00:00

Opened #1416 (low) page.tsx/noiseColor: цвет KPI шума противоречит метке level на интервалах [45,50) и [60,65) 2026-06-15 05:53:48 +00:00

Opened #1417 (low) page.tsx/noiseValue: число и цвет KPI шума считаются от разных значений (round vs raw) 2026-06-15 05:53:49 +00:00

Opened #1418 (low) page.tsx/handleWeightsChange: смена весов во время первичного analyze (data ещё null) молча теряется 2026-06-15 05:53:50 +00:00

Opened #1419 (medium) site-finder/page.tsx FilterBarBridge: счётчик показывает «0 / 0 участков» во время загрузки/смены bbox вместо состояния загрузки 2026-06-15 05:53:51 +00:00

Opened #1420 (low) site-finder/page.tsx FilterBarBridge: matchCount и totalCount из двух независимых запросов → транзиентный рассинхрон (matchCount может временно > totalCount) 2026-06-15 05:53:52 +00:00

Opened #1421 (low) site-finder-api.ts by-bbox адаптер: parcel с area_m2 === null приземляется в area_ha=0 → «0.00 га» как факт и тихое попадание в площадные фильтры 2026-06-15 05:53:53 +00:00

Opened #1422 (medium) CompareTable velocity-строка + winnersFor: velocity_score=0 ('нет данных') рендерится как факт и выигрывает зелёную подсветку 'лучшее' 2026-06-15 05:53:54 +00:00

Opened #1423 (low) compare/page.tsx handleResult: dedup-гард сравнивает не все отображаемые поля → возможен стейл медианной цены/района/подписей 2026-06-15 05:53:55 +00:00

Opened #1424 (high) trade-in/page.tsx restoredEstimate: восстановленный по shared-ссылке отчёт показывает выдуманные параметры объекта (0 м², «Студия», «0 из 0», чужой адрес) 2026-06-15 05:53:56 +00:00

Opened #1425 (medium) trade-in/page.tsx useEstimateId: чтение window.location.search вместо useSearchParams → SSR hydration mismatch и нереактивность к смене URL 2026-06-15 05:54:40 +00:00

Opened #1426 (medium) trade-in/page.tsx: протухшая/битая shared-ссылка молча показывает EmptyState «Введите параметры», ошибка GET /estimate/{id} не отображается 2026-06-15 05:54:41 +00:00

Opened #1427 (low) trade-in/page.tsx: freshResult навсегда перекрывает URL id — переход по другой shared-ссылке в той же сессии показывает устаревший результат 2026-06-15 05:54:42 +00:00

Opened #1428 (medium) BulkGeoPanel/handleSubmit: очистка поля Parallelism шлёт parallelism=0 → 422, запуск молча проваливается 2026-06-15 05:54:43 +00:00

Opened #1429 (low) JobSettingsPanel/isPendingFor: одна общая updateMutation — спиннер/opacity рассинхронизируются при параллельных Save 2026-06-15 05:54:44 +00:00

Opened #1430 (low) JobSettingsPanel/handleSave: очистка max_concurrency/max_retries молча шлёт 0 → 422 2026-06-15 05:54:45 +00:00

Opened #1431 (medium) RecommendVelocityPanel vs RecommendLiquidityChart: KPI ликвидности на per-bucket эластичности, график «24 мес = liquidity» — на единой scope-эластичности 2026-06-15 05:54:46 +00:00

Opened #1432 (medium) RecommendVelocityPanel footnote: текст «темп = базовый × pf^elasticity» не совпадает с фактическим Темпом продаж 2026-06-15 05:54:47 +00:00

Opened #1433 (low) DeveloperLeaderboard COLS: pct_three_plus/avg_area_sqm/sverdl_sqm_th со значением 0 рендерятся как «—» (falsy-zero) 2026-06-15 05:54:48 +00:00

Opened #1434 (low) ObjectInfraMap: счётчик «Найдено N POI» и чипы категорий считаются по уже отфильтрованным бэкендом данным 2026-06-15 05:54:49 +00:00

Opened #1435 (medium) QuartirographyChart.tsx/portfolioMap: бар «строится · Студии» всегда 0% — рассинхрон с подписью «52% портфеля — студии» 2026-06-15 05:54:50 +00:00

Opened #1436 (medium) QuartirographyChart.tsx/portfolioMap: portfolio по числу комнат сопоставлен с deals по площади под общими площадными ярлыками 2026-06-15 05:54:51 +00:00

Opened #1437 (low) PrinzipGapBar.tsx: единая безымянная value-ось X смешивает м² и % — несопоставимые длины баров между строками 2026-06-15 05:54:52 +00:00

Opened #1438 (low) RecommendRevenueChart.tsx: при total=0 подписи «0.0 млн» показываются на всех нулевых сегментах 2026-06-15 05:54:53 +00:00

Opened #1439 (medium) RouteGuard.tsx/RouteGuard: analyst на запрещённом /admin/* молча редиректится в /trade-in/ вместо NoAccessScreen 2026-06-15 05:55:36 +00:00

Opened #1440 (low) UserMenu.tsx/UserMenu: роль вне TS-union даёт пустой role-badge (нет рантайм-валидации /me) 2026-06-15 05:55:37 +00:00

Opened #1441 (medium) ConceptVariantsResult/VariantPanel: FAR (безразмерный) подписан единицей «м²/га» — неверная единица и рассинхрон с PDF движка 2026-06-15 05:55:38 +00:00

Opened #1442 (low) ConceptResultMap/FitBounds: нестабильная зависимость bounds перезапускает fitBounds на каждом ре-рендере, сбрасывая ручной zoom/pan 2026-06-15 05:55:39 +00:00

Opened #1443 (low) ConceptExportButtons: error/serverLoading не сбрасываются при смене variant — стейл-сообщение/disabled под чужой вкладкой 2026-06-15 05:55:40 +00:00

Opened #1444 (low) ConceptVariantsResult/VariantPanel: нулевая валовая прибыль подписывается как «Положительная маржа» 2026-06-15 05:55:41 +00:00

Opened #1445 (low) ConceptVariantsResult: IRR-proxy движка подаётся в UI как полноценная «Внутренняя норма доходности» 2026-06-15 05:55:42 +00:00

Opened #1446 (low) ConceptDrawMap: нарисованный полигон отрисовывается дважды (FeatureGroup-слой + внешний GeoJSON по prop) 2026-06-15 05:55:44 +00:00

Opened #1447 (low) PilotRequestModal/deriveTrackingId: показанный лиду «Номер заявки GD-XXXXXXXX» не хранится в БД и не находится поддержкой 2026-06-15 05:55:45 +00:00

Opened #1448 (medium) BestLayoutsBlock/handleDownloadPdf: PDF собирается из живого состояния контролов, а не из показанного расчёта 2026-06-15 05:55:46 +00:00

Opened #1449 (medium) BestLayoutsBlock/TopLayoutsTable: тултип >100% жёстко пишет «за 24 мес» вместо выбранного time_window 2026-06-15 05:55:47 +00:00

Opened #1450 (low) EnvironmentTab/WeatherBlock: футер жёстко пишет «7 дн.» при динамическом forecast_days 2026-06-15 05:55:48 +00:00

Opened #1451 (medium) ScoreBreakdownStackedBar.tsx / source-view barWidth: знаменатель = макс. знаковый вклад, а не макс. модуль — шкала ломается при отрицательном лидере 2026-06-15 05:55:49 +00:00

Opened #1452 (low) WeightProfilePanel.tsx / handleSliderChange: дебаунс-таймер дублирует немедленный setDraft и не чистится при unmount 2026-06-15 05:55:50 +00:00

Opened #1453 (medium) Pipeline24moBlock.tsx / fmtMonth: new Date(ISO-date) даёт UTC-полночь — месяц «Сдача» уезжает на предыдущий в отрицательных TZ 2026-06-15 05:55:51 +00:00

Opened #1454 (low) ScoreBreakdownStackedBar.tsx / легенда показывает категории с contribution===0, отсутствующие в обеих полосах 2026-06-15 05:55:52 +00:00

Opened #1455 (high) ZouitLayer.tsx/ZouitLayer: хеш-сегмент React-key константен для Polygon — старая геометрия ЗОУИТ остаётся на карте 2026-06-15 05:55:53 +00:00

Opened #1456 (high) VelocityBlock.tsx/VelocityBlock: рассинхрон bucket-ключей — 4-комн. и 5+ сделки молча выпадают из «По комнатности» и «Топ продавцов» 2026-06-15 05:55:55 +00:00

Opened #1457 (medium) MarketTab.tsx/MarketTab: подпись «строящихся» не соответствует activeCount (включает сданные ≤1 года) 2026-06-15 05:55:56 +00:00

Opened #1458 (medium) VelocityBlock.tsx/VelocityBlock: «Топ продавцов» показывает «Продано 0 м²» при отсутствии данных velocity 2026-06-15 05:55:57 +00:00

Opened #1459 (low) CpLayerControlPanel.tsx/CpLayerControlPanel: «Показать все» рассинхронизируется при наличии пустых категорий 2026-06-15 05:55:58 +00:00

Opened #1460 (medium) MarketTrendBlock.tsx/LABEL_COLORS: бейдж тренда всегда серый — ключи карты не совпадают с label из бэкенда 2026-06-15 05:55:59 +00:00

Opened #1461 (medium) NspdEngineeringNearbyBlock.tsx: смешение радиусов 200 м (analyze) и 500 м (connection-points) под подписью «200 м» 2026-06-15 05:56:00 +00:00

Opened #1462 (medium) NspdEngineeringNearbyBlock.tsx: дедуп label+round(distance) пропускает дубли — расстояния меряются до разных опорных точек 2026-06-15 05:56:01 +00:00

Opened #1463 (high) Section2NetworksUtilities.getUtilityConfig: реальные subtype сетей не маппятся → сырые англ. ключи в таблице 2026-06-15 05:56:44 +00:00

Opened #1464 (high) Section2NetworksUtilities.buildSubtitle: газ/водопровод теряются в подзаголовке (неверные subtype-ключи) 2026-06-15 05:56:45 +00:00

Opened #1465 (low) Section2NetworksUtilities.buildSubtitle: расстояния в подзаголовке без ru-группировки ('1234 м' vs '1 234 м' в таблице) 2026-06-15 05:56:46 +00:00

Opened #1466 (medium) Section1ParcelInfo POI-fallback: инвест-балл участка показывается как POI-score «X / 100» с фейковыми weight/score_contribution 2026-06-15 05:56:47 +00:00

Opened #1467 (low) Section1ParcelInfo headlineSubtitle: захардкоженный «Score +12 vs район» в fallback-подзаголовке 2026-06-15 05:56:48 +00:00

Opened #1468 (low) AnalysisSidebar.tsx — мёртвый компонент с неверными подписями секций (4. Инфраструктура / 5. Свежесть) и без section-6 2026-06-15 05:56:50 +00:00

Opened #1470 (medium) PoiList2Gis/site-finder-api: «{totalScore}/100» может превышать 100 и в fallback показывает не POI-метрику 2026-06-15 05:56:51 +00:00

Opened #1469 (medium) ScenariosBlock/ScenarioCard: индекс дефицита берётся с самого длинного горизонта, но подписывается целевым — рассинхрон числа и подписи 2026-06-15 05:56:51 +00:00

Opened #1471 (low) EgrnPropertyTable/formatDate: невалидная дата ЕГРН рендерится как «Invalid Date» — мёртвый try/catch 2026-06-15 05:56:52 +00:00

Opened #1472 (medium) compare/page.tsx handleResult: дедуп по подмножеству полей теряет обновления district/цены/scoreLabel/errorMsg → стейл-данные в таблице сравнения 2026-06-15 05:56:53 +00:00

Opened #1473 (low) CompareTable.tsx строка velocity: velocity_score рендерится как «N / 100», канонический VelocityBlock — как «N%» → рассинхрон единицы метрики 2026-06-15 05:56:54 +00:00

Opened #1474 (high) EntryMap/ParcelDrawer: deselect-overlay z399 перекрывает карточку участка (z20) — drawer некликабелен 2026-06-15 05:56:55 +00:00

Opened #1475 (high) site-finder-api/applyFilters: фильтры «Район» и «ВРИ» в prod дают пустую карту (клиентская фильтрация по плейсхолдерам) 2026-06-15 05:56:57 +00:00

Opened #1476 (medium) site-finder/useRecentParcels: «Недавние» не обновляются до 60с после визита (нет инвалидации кэша) 2026-06-15 05:57:40 +00:00

Opened #1477 (low) site-finder: визит пишется только из map-попапа — переход из ParcelDrawer/CadInput/RecentParcels не попадает в «Недавние» 2026-06-15 05:57:41 +00:00

Opened #1478 (medium) EstimateResult.tsx hero-бейдж: 'N аналогов' = listings+deals, не совпадает с таблицей аналогов 2026-06-15 05:57:42 +00:00

Opened #1479 (medium) AnalogsTable.tsx сортировка по 'Дней': days_on_market=null трактуется как 0, пустые всплывают как самые свежие 2026-06-15 05:57:43 +00:00

Opened #1480 (high) trade-in/page.tsx восстановление по ?id=: параметры объекта синтезируются нулями → EstimateResult показывает '0 м²', 'Студия', 'Этаж 0 из 0' и чужой адрес 2026-06-15 05:57:44 +00:00

Opened #1481 (low) Drawer.tsx/Drawer: slide-out анимация при закрытии не проигрывается (ветка !open рендерит новый пустой узел) 2026-06-15 05:57:45 +00:00

Opened #1482 (low) Drawer.tsx/Drawer: prop width молча игнорируется для side='bottom' 2026-06-15 05:57:46 +00:00

Opened #1483 (low) Drawer.tsx/Drawer: восстановление фокуса на close может не сработать для размонтированного триггера 2026-06-15 05:57:47 +00:00

Opened #1484 (low) useCustomPois/customPoisKey: session_id отсутствует в queryKey — кэш может переиспользоваться между сессиями 2026-06-15 05:57:48 +00:00

Opened #1485 (low) useSiteAnalysis poll-loop: неизвестный FetchStatus молча поллится до 2-мин таймаута вместо явной ошибки 2026-06-15 05:57:49 +00:00

Opened #1486 (high) site-finder-api.ts/useParcelPoiScoreQuery: poi_weighted_score из weight в неверной шкале — клиент видит абсурдный «~10/100» 2026-06-15 05:57:50 +00:00

Opened #1487 (medium) site-finder-api.ts/applyFilters: фильтры district/vri в prod обнуляют карту (все участки district='—', vri='other') 2026-06-15 05:57:51 +00:00

Opened #1488 (medium) download.ts/triggerDownload: синхронный revokeObjectURL в том же тике после a.click() — гонка, срывающая скачивание в Firefox/Safari 2026-06-15 05:58:35 +00:00

Opened #1489 (low) weightProfiles.ts/useWeightProfiles: admin-токен лишний в queryKey React Query 2026-06-15 05:58:37 +00:00

Opened #1490 (low) weightProfiles.ts/useDeleteProfile: JSDoc 'Returns true if deleted' не соответствует поведению (хук возвращает undefined) 2026-06-15 05:58:38 +00:00

Opened #1491 (high) migrate_kg_to_obsidian.py extract_date/_DATE_PATTERNS: ведущий \b перед месяцем срывает извлечение даты у entity с разделителем '_' 2026-06-15 05:58:39 +00:00

Opened #1492 (medium) migrate_kg_to_obsidian.py _moc_for_subdir/sort_key: хроносортировка MOC вырождается в обратно-алфавитную из-за None от extract_date 2026-06-15 05:58:40 +00:00

Opened #1493 (low) cleanup-worktrees-aggressive.py fetch_all_prs: жёсткий лимит 30 страниц (1500 PR) может пометить ветку с PR за пределом как stale и удалить worktree 2026-06-15 05:58:41 +00:00

Opened #1494 (medium) cleanup_ghosts.py main: _all_docs limit=10000 без пагинации — при росте vault живые chunks ошибочно удаляются как orphan 2026-06-15 05:58:41 +00:00

Opened #1495 (low) check-no-print.py/normalize_path: rfind('backend/') матчит подстроку, а не сегмент пути 2026-06-15 05:58:42 +00:00

Opened #1496 (low) check-no-print.py/normalize_path: rfind берёт последнее 'backend/' — ломает allow-prefix для вложенных backend-каталогов 2026-06-15 05:58:43 +00:00

Opened #1497 (low) check-no-print.py/PRINT_RE: ловит закомментированный print, строковые литералы и method-call .print() — ложные блокировки 2026-06-15 05:58:45 +00:00

Opened #1498 (low) check-no-print.py/main: matcher только Edit|Write — print через MultiEdit не блокируется 2026-06-15 05:58:46 +00:00

Opened #1499 (low) server.py/developer_track_record: двойной учёт лотов при N сайтах на один Objective-проект 2026-06-15 05:58:47 +00:00

Opened #1500 (medium) server.py/jk_full: import psycopg2 в проде (psycopg v3 only) → photos/sale_graph всегда пустые 2026-06-15 05:58:48 +00:00

Opened #1501 (low) server.py/district_time_machine: AVG(price) выдаётся под ключом median_price_kr 2026-06-15 05:58:49 +00:00

Opened #1502 (low) server.py/price_distribution: квантиль int(p*n) завышает p25/p50/p75 на малых выборках 2026-06-15 05:58:50 +00:00

Opened #1503 (low) server.py/smart_suggestions: нет фильтра 'score выше точки', обещанного в докстринге 2026-06-15 05:58:51 +00:00

Opened #1504 (high) 04_report.py/main: JSON weights_used не соответствует реальным весам скоринга и не содержит economic 2026-06-15 05:58:52 +00:00

Opened #1505 (high) 04_report.py/build_html: HTML-подпись весов противоречит JSON weights_used в том же отчёте 2026-06-15 05:58:53 +00:00

Opened #1506 (medium) 04_report.py/build_html: заголовок «последние 90 дней» не соответствует реальным периодам real_* (12 мес / всё время) 2026-06-15 05:58:54 +00:00

Opened #1507 (medium) 04_report.py/build_html: селектор .r.r красит все числовые ячейки в красный и перебивает зелёный 2026-06-15 05:58:55 +00:00

Opened #1508 (medium) 09_macro_and_trend.py/main: trend_ratio=2.0 при v_prior==0 даёт максимальный буст районам без истории продаж 2026-06-15 05:58:56 +00:00

Opened #1509 (low) 10_score_v2.py/main: sat_factor вычисляется и пишется, но не применяется к скорости (мёртвая логика vs комментарий) 2026-06-15 05:58:57 +00:00

Opened #1510 (medium) 12_more_pois.py/main: bbox padding ±0.005° меньше радиуса привязки 2 км — POI у границ теряются 2026-06-15 05:58:58 +00:00

Opened #1511 (low) 06_match_economics.py/main: median_price_m2 считается по равновзвешенным строкам room×month, а не по объёму сделок 2026-06-15 05:58:59 +00:00

Opened #1512 (low) 06_match_economics.py/main: months_to_sellout смешивает сток разных месяцев окна со sold за всё окно 2026-06-15 05:59:00 +00:00

Opened #1513 (low) 08_enrich_economics.py/main: real_n_lots/sold_pct/price считаются по всем лотам, но отчёт подписывает их как период (12 мес/90 дней) 2026-06-15 05:59:02 +00:00

Opened #1514 (high) search.py/search_query.py: кадастровый номер всегда NULL в выдаче поиска — рассинхрон имён cadastral_number vs kadastr_num 2026-06-15 05:59:03 +00:00

Opened #1515 (medium) search.py/search(): cache_hit всегда false даже при отдаче из кэша — поле врёт 2026-06-15 05:59:04 +00:00

Opened #1516 (low) schemas/search.py _validate_geo_pair: нет проверки инвертированных вилок floor/year_built/floors_total (min>max) 2026-06-15 05:59:05 +00:00

Opened #1517 (low) search.py/_validate_geo_pair: cross-field min>max через truthiness — граничный 0 обходит проверку 2026-06-15 05:59:07 +00:00

Opened #1518 (medium) estimator.py/estimate_quality SB-anchor: границы диапазона из RAW comp_ppm2 без repair_coef рассинхронизированы с центром 2026-06-15 05:59:08 +00:00

Opened #1519 (low) estimator.py/estimate_quality: freshness/last_scraped_at/days_on_market считаются по listings_clean, а не по показанным anchor_comps_used 2026-06-15 05:59:09 +00:00

Opened #1520 (low) estimator.py/_fetch_dkp_corridor: low/high_ppm2 = чистые min/max выборки, а не P10/P90 — advisory-текст по одиночному выбросу 2026-06-15 05:59:10 +00:00

Opened #1521 (medium) scrape_pipeline.run_avito_city_sweep: IMV-фаза отравляет сессию → update_heartbeat без rollback переводит успешный sweep в 'failed' 2026-06-15 05:59:11 +00:00

Opened #1522 (medium) scheduler.py/trigger_cian_backfill_run: при протухших cookies next_run_at не сдвигается → verify_session бьёт по Cian каждые 60с 2026-06-15 05:59:12 +00:00

Opened #1523 (low) house_imv_backfill.py/pick_lot_params: нет инварианта floor<=floor_at_home → при total_floors=NULL везде floor_at_home падает на 9 2026-06-15 05:59:13 +00:00

Opened #1524 (medium) house_imv_backfill.py/_process_one_house: IMV вернул price=0 → дом помечается imv_status='ok' и больше не переоценивается 2026-06-15 05:59:14 +00:00

Opened #1525 (low) scheduler.py/import_rosreestr_dkp: substring(floor FROM '[0-9]+') теряет минус — этаж '-1' импортируется как 1 2026-06-15 05:59:15 +00:00

Opened #1526 (medium) image_sanitizer.sanitize_image: EXIF orientation срезается без поворота пикселей → фото клиента лежат на боку 2026-06-15 05:59:16 +00:00

Opened #1527 (medium) admin.test_cian_auth: 403-бан Cian отдаётся как authenticated=True (VERIFY_BAN_SENTINEL не различается) 2026-06-15 05:59:18 +00:00

Opened #1528 (low) cian_price_history.backfill: saved считает len(price_changes), а не реально вставленные строки 2026-06-15 05:59:19 +00:00

Opened #1529 (low) dadata._classify_kind: fias_level 65 (planning) и 75 (plot) ошибочно попадают в kind='house' 2026-06-15 05:59:20 +00:00

Opened #1530 (medium) trade_in_pdf._build_cover: «Срок действия данных» захардкожен today+30д, игнорирует estimate.expires_at (=now+24ч) 2026-06-15 05:59:21 +00:00

Opened #1531 (low) trade_in_pdf._build_listings_page: строка «(с учётом ремонта)» дублирует тот же n_total, фильтрации по ремонту нет 2026-06-15 05:59:22 +00:00

Opened #1532 (low) trade_in_pdf._build_deals_page: house_label не содержит monolith_brick/other — рассинхрон «Тип дома» между стр.2 и стр.3 2026-06-15 05:59:23 +00:00

Opened #1533 (low) trade_in_pdf._examples_rows: days_on_market==0 рендерится как «—» из-за or вместо is not None 2026-06-15 05:59:24 +00:00

Opened #1534 (high) normalize.py/normalize_address: асимметричное раскрытие ' д '->' дом ' даёт разные ключи для одного дома 2026-06-15 05:59:25 +00:00

Opened #1535 (medium) normalize.py/normalize_address: инициалы 'К.'/'Д.' в названии улицы раскрываются в 'корпус'/'дом' 2026-06-15 05:59:26 +00:00

Opened #1536 (low) conflict_resolution.py/_resolve cross_validate: молча возвращает медиану, не сигнализирует расхождение цен 2026-06-15 05:59:28 +00:00

Opened #1537 (medium) houses.py/match_or_create_house Tier 0: cadastr_exact не регистрирует alias -> риск дубля при бескадастровом скрейпе 2026-06-15 05:59:29 +00:00

Opened #1538 (low) houses.py/_upsert_house_source: ON CONFLICT не обновляет matched_method/matched_at — провенанс врёт 2026-06-15 05:59:30 +00:00

Opened #1539 (low) conflict_resolution.py/_resolve: строковые правила игнорируют приоритет источников (порядок dict) 2026-06-15 05:59:31 +00:00

Opened #1551 Avito detail-enrichment backfill для legacy listings (detail_enriched_at IS NULL) — прокси уже есть 2026-06-16 07:25:50 +00:00

Opened #1553 Yandex detail-enrichment не реализован: нет save + detail не fetch'ится в свипе (area_m2 23%, repair 1%) 2026-06-16 10:48:45 +00:00

Opened #1560 Три async-хендлера competitors / best-layouts / best-layouts-pdf блокируют event loop sync DB-IO (и WeasyPrint write_pdf) 2026-06-16 17:05:30 +00:00

Opened #1561 persist_analysis_run коммитит result ДО дописывания forecast/ird/developer_attribution — сохранённый ран расходится с live-ответом 2026-06-16 17:05:31 +00:00

Opened #1562 bulk_enqueue_geo (/geo/bulk): невалидный thematic_id в середине списка → 400 при уже запущенных geo-jobs (partial execution, нет atomicity/idempotency) 2026-06-16 17:05:32 +00:00

Opened #1563 Отрицательный query-param limit на 7 GET-эндпоинтах admin_scrape → 'LIMIT -N' → необработанный 500 вместо 422 2026-06-16 17:05:33 +00:00

Opened #1564 estimate_pdf (trade_in.py:347): TTL-проверка через .replace(tzinfo=UTC) перепривязывает, а не конвертирует timestamptz — при не-UTC session TZ просроченные оценки отдаются ка… 2026-06-16 17:05:34 +00:00

Opened #1565 DDU-индикатор: area_ranges целиком вне диапазона 1..6 молча возвращает ВСЕ площади вместо пустого/422 2026-06-16 17:05:35 +00:00

Opened #1566 DDU-индикатор: нет валидации формата/порядка periodFrom/periodTo — мусорный или инвертированный period тихо отдаёт пустой/усечённый ряд 2026-06-16 17:05:36 +00:00

Opened #1567 Sentry/GlitchTip scrub-хук навешен только на transaction-события (before_send_transaction), error-события не редактятся — apiKey из URL/spans/breadcrumbs утекает в трекер 2026-06-16 17:05:37 +00:00

Opened #1569 alembic/env.py регистрирует только Parcel — JobSetting и ~50 реальных таблиц невидимы для drift-detection, autogenerate сгенерировал бы фантомный CREATE TABLE parcels 2026-06-16 17:06:25 +00:00

Opened #1570 ORM-модель Parcel мапится на несуществующую таблицу 'parcels' с устаревшими колонками — мёртвый и вводящий в заблуждение код 2026-06-16 17:06:26 +00:00

Opened #1571 JobSetting.updated_at — NOT NULL без Python/server default: ORM-вставка строки даст IntegrityError (латентная ловушка) 2026-06-16 17:06:27 +00:00

Opened #1572 ChatAskRequest.history: max_length=20 даёт hard-422 на длинном диалоге вместо задокументированного усечения (контракт-vs-поведение) 2026-06-16 17:06:28 +00:00

Opened #1573 get_features_in_bbox_grid молча глотает WAF-403 и server-error для ПЗЗ-grid-walk → ложный tz_count=0, без layer_failed 2026-06-16 17:06:29 +00:00

Opened #1574 Голый int(cat_id)/int(total) в парсинге meta search_by_quarter падает на нечисловом NSPD-ответе и валит Phase 1 квартала 2026-06-16 17:06:30 +00:00

Opened #1575 cian offer_price_history frozen since 2026-05-24 — server backfill is a silent no-op; needs local Playwright runner 2026-06-16 17:06:41 +00:00

Opened #1576 recommend_mix: weighted_avg_price_per_m2 не пересчитывается после success-boost share_pct → средневзвешенная цена рассогласована с долями бакетов (пробел в фиксе #1359) 2026-06-16 17:07:18 +00:00

Opened #1577 weather_cache._fetch_weather_remote: агрегаты min/max/sum по daily-массивам падают на None-днях -> весь 7-day forecast молча теряется 2026-06-16 17:08:06 +00:00

Opened #1578 weather_cache._fetch_seasonal_remote: ZeroDivisionError/ValueError при пустых t_min/precip и непустом t_max (раздельные None-guard'ы) 2026-06-16 17:08:07 +00:00

Opened #1579 objective_etl.get_sqlite_info: утечка SQLite-соединения/fd на error-path (close() не в finally) 2026-06-16 17:08:08 +00:00

Opened #1580 _jsonb_param: json.dumps без allow_nan=False — NaN/Infinity ломают jsonb-INSERT, ран теряется молча 2026-06-16 17:08:10 +00:00

Opened #1581 velocity_alerts: prior_n использует COUNT(*) вместо COUNT(realised) — NULL-строки засчитываются в гейт значимости z-score 2026-06-16 17:08:11 +00:00

Opened #1582 ddu_price_indicator: missing MV даёт ProgrammingError, а ловится только OperationalError — диагностический except мёртв для своего же кейса 2026-06-16 17:08:12 +00:00

Opened #1583 Phase 2.5 ПЗЗ собирается ДО auto-heal геометрии квартала — broken-geom кварталы молча остаются без территориальных зон при первом harvest 2026-06-16 17:09:00 +00:00

Opened #1584 Grid-walk discovered-счётчик завышается на skipped/чужекатегорийные features и misattribution parcels/buildings 2026-06-16 17:10:37 +00:00

Opened #1585 intents.py: _fmt_number отдаёт английские 'nan'/'inf' в RU-прозу детерминированного chat-ответа при NaN/Inf-числах 2026-06-16 17:10:38 +00:00

Opened #1586 intents.py: при наличии headline подавляется честная пометка о пустом разделе product_tz (what_to_build) 2026-06-16 17:11:26 +00:00

Opened #1587 dry_run objective-backfill возвращает auto_accepted=0 вместо числа потенциальных auto-accept — preview вводит в заблуждение 2026-06-16 17:11:27 +00:00

Opened #1588 objective_distinct не фильтрует group_name, но objective_group хардкодится 'Екатеринбург' — латентный кросс-город mislabel при расширении датасета (#307) 2026-06-16 17:13:05 +00:00

Opened #1589 trade_in_pdf.py:256 — бейдж достоверности печатает n_analogs=объявления+сделки, завышая «N аналогов» и противореча заголовку стр.2 2026-06-16 17:13:06 +00:00

Opened #1590 Экспортёры report_*: подпись «Индекс дефицита (12 мес)» лжёт при отсутствии 12-мес прогноза — fallback берёт дефицит чужого горизонта 2026-06-16 17:13:54 +00:00

Opened #1591 Snapshot-PDF: блок «Конкуренты (топ 5)» отбирает крупнейшие ЖК по flat_count, а не ближайшие — расходится с комментарием кода 2026-06-16 17:13:55 +00:00

Opened #1592 [Fable 5][P2] §25 compute_special_indices: итоговый confidence считается по ВСЕМ 6 индексам (включая unavailable→'low'), а не «MIN по доступным» — карточка систематически … 2026-06-16 17:13:56 +00:00

Opened #1593 demand_only overlay: deficit_index ранжирует форматы по rate-крутизне (§9.5 segment_steepness), а не по силе спроса — §9.2/§9.4-компоненты сокращаются 2026-06-16 17:14:44 +00:00

Opened #1594 demand_only: rate_future=0.0 placeholder при отсутствии будущей ставки даёт максимальный аплифт §9.4 (clamp 1.2), а не нейтраль — комментарий ложный 2026-06-16 17:14:45 +00:00

Opened #1595 _score_future_competition: count = len(всех конкурентов), а mean_weight — только по не-None весам → возможное завышение плотности при частичных данных 2026-06-16 17:14:46 +00:00

Opened #1596 [Fable 5][P3] §15 confidence_engine: advisory-cap сообщение дублируется в rationale при all-high (самый частый advisory-случай) 2026-06-16 17:14:48 +00:00

Opened #1597 place_strategy не отбраковывает стратегию с нулевым размещением: пустой концепт (revenue=0, margin=-land, IRR=-33%) выдаётся как валидный вариант 2026-06-16 17:15:36 +00:00

Opened #1598 ConceptInput.land_cost_rub без ge=0: отрицательная стоимость земли молча завышает маржу и IRR-proxy 2026-06-16 17:15:37 +00:00

Opened #1599 DXF-экспорт теряет внутренние кольца (отверстия) участка/пятна застройки — вырезы зарисовываются сплошняком 2026-06-16 17:16:25 +00:00

Opened #1600 Подписи секций в DXF привязаны по левому-нижнему углу к центроиду, а не отцентрованы на нём 2026-06-16 17:16:26 +00:00

Opened #1601 _parse_openai_response: int() на нечисловых usage-токенах бросает ValueError/TypeError мимо fallback-гарантии complete 2026-06-16 17:16:27 +00:00

Opened #1602 LLMResult.from_provider теряет finish_reason — content_filter/length-обрезка возвращаются как ok=True 2026-06-16 17:16:28 +00:00

Opened #1603 make_thumbnail: неатомарная запись WebP (thumbs.py:53) — усечённый thumb навсегда кэшируется и отдаётся как валидный 2026-06-16 17:16:29 +00:00

Opened #1604 Lazy-загрузка фото: при провале make_thumbnail оригинал записан на диск, но local_path не сохранён в БД (photos.py:113-125) — вечный re-fetch + осиротевший файл 2026-06-16 17:17:19 +00:00

Opened #1605 Phase A не пагинирует и молча теряет хвост объектов при limit=999999, run всё равно 'done' 2026-06-16 17:17:21 +00:00

Opened #1606 EMISS-парсер: годовой агрегат (PERIOD='год') и I квартал коллидируют по obs_date=date(year,1,1) — последний Series молча затирает первый 2026-06-16 17:18:58 +00:00

Opened #1607 ekburg_permits: _COORD_FIRST_RE требует дробную часть — целочисленные координаты МСК-66 теряют геопривязку молча 2026-06-16 17:18:59 +00:00

Opened #1608 domrf_catalog _TextCollector: void-теги (<br>/<img>/<input>) рассинхронизируют стек/буфер — текст блоков теряется 2026-06-16 17:19:47 +00:00

Opened #1609 domrf_catalog status: классификация по первому ключевому слову во всём HTML + 'продано'≠'продана' → sold помечается free 2026-06-16 17:19:48 +00:00

Opened #1610 domrf_catalog scrape_one_flat: success=True даже при updated=False / 0 извлечённых полей — ложь в статистике батча 2026-06-16 17:19:49 +00:00

Opened #1611 nspd_denorm.denorm_dump: штатный пропуск feature без cad_num считается ошибкой → завышенный error-счётчик в метрике прогона 2026-06-16 17:19:50 +00:00

Opened #1612 obj_checks.extract_obj_checks: or-коалесинг passed-значения (list-ветка) теряет boolean False → проваленная проверка пишется как пройденная 2026-06-16 17:19:51 +00:00

Opened #1613 obj_checks.extract_obj_checks: bool() на строковом флаге → 'false'/'0'/'нет' трактуется как пройдено 2026-06-16 17:19:52 +00:00

Opened #1614 nspd_lite.fetch_geoportal / nspd_client._http_get_json: json.loads на HTTP 200 не обёрнут → WAF-челлендж со статусом 200 даёт JSONDecodeError мимо autoretry harvest_quarter 2026-06-16 17:19:53 +00:00

Opened #1615 competitors.py:491-502 — ценовой fallback покрывает только objective_complex_mapping, игнорируя nearest_cx gap-fill: конкурент с velocity>0 из спатиального матча получает avg_price=None 2026-06-16 17:19:55 +00:00

Opened #1616 premises_lookup: KNN ближайшего здания ранжирует в ГРАДУСАХ (LIMIT 1) — на широте ЕКБ выбирает не ближайшее по метрам, parking_ratio чужого дома / потеря вали… 2026-06-16 17:20:43 +00:00

Opened #1617 gate_verdict: warning NO_ENGINEERING_NEARBY при ОТСУТСТВИИ инж.сетей форсирует «С ограничениями» вместо «Можно» — чистый вердикт недостижим для жилого учас… 2026-06-16 17:20:45 +00:00

Opened #1618 granddoc is_active: регистрозависимое сравнение == "Действующий" расходится с документированным lowercase doc_status_name → флаг и сортировка ломаются 2026-06-16 17:21:02 +00:00

Opened #1619 ppt_tep JOIN: slug-fallback ILIKE перевёрнут (doc_ref ILIKE '%doc_full_name%') — никогда не матчит + LIKE-метасимволы не экранированы 2026-06-16 17:21:03 +00:00

Opened #1620 worker_ready (lifecycle.py:160-171) немедленно ре-enqueue'ит WAF-paused nspd_geo jobs, обходя 30-минутный WAF-cooldown из cleanup_zombies 2026-06-16 17:21:04 +00:00

Opened #1621 process_nspd_geo_job (nspd_geo.py:374-408, 82-97) не имеет атомарного claim → дублирующие task-сообщения для одного job_id могут идти параллельно (двойные WAF-хиты + зат… 2026-06-16 17:21:52 +00:00

Opened #1622 [scrape_kn_catalog_objects] force=True «Загрузить все» молча ограничивается LIMIT 300 — каталог недогружается 2026-06-16 17:21:53 +00:00

Opened #1623 [objective_etl] import_anton_objective: FileNotFoundError возвращает dict без raise — Celery-таск SUCCESS при проваленном ETL 2026-06-16 17:21:54 +00:00

Opened #1624 [opportunity_harvest] n_features инкрементится до per-quarter commit — отчёт завышает число persisted фич при сбое commit 2026-06-16 17:21:55 +00:00

Opened #1625 Parcel.geometry объявлена как POLYGON — реинтродукция класса крашей на многоконтурных (MultiPolygon) участках, который чинила миграция 93 (латентно: модел… 2026-06-16 18:44:17 +00:00

Opened #1626 search_by_quarter (nspd_bulk_client.py:305-316): подстрочная классификация 404/400 по тексту исключения с подмешанным body_preview проглатывает 5xx и валидный 400 как «кв… 2026-06-16 18:44:18 +00:00

Opened #1627 wms_feature_info (nspd_bulk_client.py:418-420): отсутствует isinstance(data, dict)-guard — non-dict JSON-ответ роняет ячейку grid-walk через AttributeError, потеря без сигнала 2026-06-16 18:44:19 +00:00

Opened #1628 date_cr минует _parse_nspd_date → CAST(:date_cr AS date) роняет upsert_quarter_stats и весь harvest_quarter квартала (нет savepoint) 2026-06-16 18:44:20 +00:00

Opened #1629 grid_geometry.py:59-61 — sanity-check сравнивает искажённые единицы EPSG:3857 с порогами, заданными как наземные метры → валидные крупные/вытянутые квартал… 2026-06-16 18:44:21 +00:00

Opened #1630 intents.py: _render_why_forecast объявляет future_market источником provenance даже когда из него не выведено ни строки 2026-06-16 18:44:22 +00:00

Opened #1631 trade_in_pdf._analog_rows: floor==0 (или total_floors==0) у аналога рендерится как «—» из-за truthiness вместо is not None 2026-06-16 18:44:23 +00:00

Opened #1632 report_md._md_kv_lines: многострочное значение (напр. product_tz.summary «Резюме») ломает Markdown-буллет — нет свёртки переводов строк 2026-06-16 18:44:25 +00:00

Opened #1633 [Fable 5][P4] §25.3 _geo_weight: подтверждённо-далёкий проект (>6.9 км) получает вес ниже floor для проекта без координат — инверсия против комментария 2026-06-16 18:44:26 +00:00

Opened #1634 market_now.summary: district-wide счёт ЖК-выборки (obj_count) выдаётся за «N ЖК-конкурентов рядом» 2026-06-16 18:44:27 +00:00

Opened #1635 commercial: sell_through_pct (темп распродажи нежилого) мислейблится как «доля коммерции» (commercial_share_pct) 2026-06-16 18:44:29 +00:00

Opened #1636 §9.6 Almon-адаптер хардкодит confounded=False → §15 шок-фактор (#1222) частично мёртв в production 2026-06-16 18:44:30 +00:00

Opened #1637 [Fable 5][P3] §15 confidence: нота deal_count теряет окно «за N мес» — расходится с контракт-примером модуля 2026-06-16 18:44:32 +00:00

Opened #1638 normalize.py: 0-заполненная сетка SalesSeries.units сводит guard _count_full_years к диапазону дат, а не к числу реальных наблюдений (латентно, до подключения #979) 2026-06-16 18:44:33 +00:00

Opened #1639 affordability.py:339-342: payment_at_scenario считает аннуитет по rate_path[h] без спреда, хотя rate_path в стеке = key_rate ЦБ → занижен и на иной базе, чем monthly_payment_rub (латент… 2026-06-16 18:46:26 +00:00

Opened #1640 INN-regex затирает легитимные слитные 10/12-значные числа (крупные суммы в рублях) в text/строковых fields перед отправкой в LLM 2026-06-16 18:46:27 +00:00

Opened #1641 Форматированный 10-значный мобильный без кода страны (922 123 45 67 / 922-123-45-67) проходит redaction нетронутым 2026-06-16 18:46:28 +00:00

Opened #1642 make_thumbnail: пропуск по факту существования → устаревшая миниатюра после перекачки оригинала 2026-06-16 18:46:29 +00:00

Opened #1643 Сбой загрузки квартир глотается молча — провал /portal/table не пишется в kn_scrape_failures, run рапортует ложную полноту 2026-06-16 18:46:30 +00:00

Opened #1644 _norm_flat: деривация price_per_m2 падает с TypeError при строковом totalArea — необработанное исключение роняет весь run 2026-06-16 18:46:33 +00:00

Opened #1645 [domrf_catalog] price_rub regex ловит цену за м² раньше полной цены → price_rub=NULL при наличии цены на странице 2026-06-16 18:46:50 +00:00

Opened #1646 [ekburg_permits] parse_xlsx не закрывает read_only workbook (wb.close()) — утечка дескриптора/буфера 2026-06-16 18:46:51 +00:00

Opened #1647 stealth: BrowserSession.download_binary обходит семафор concurrency (в отличие от get_json) 2026-06-16 18:46:54 +00:00

Opened #1648 fetch_via_rosreestr2coord глотает все исключения → None: WAF-блоки не детектируются, цель помечается 'done' с 0 features, run-статус лжёт 2026-06-16 18:46:55 +00:00

Opened #1649 extract_obj_checks фабрикует passed=False для отсутствующих в payload проверок → UNKNOWN трактуется как FAILED (латентно, endpoint отключён) 2026-06-16 18:46:55 +00:00

Opened #1650 v_supply_layers_latest (м.125) схлопывает все L3 dev_group'ы района в 1 строку — DISTINCT ON без dev_group_name заново вносит #970 на read-слое future_supply 2026-06-16 18:46:57 +00:00

Opened #1651 zone_regulation._RE_FLOORS требует литерал 'этаж' после числа → документированная форма 'предельное количество этажей – N' (голое число) не извлекаетс… 2026-06-16 18:46:58 +00:00

Opened #1652 Fallback REFRESH MV CONCURRENTLY: проверка подстроки 'cannot refresh materialized view' не матчит реальное сообщение PostgreSQL → recovery-ветка мёртвый код 2026-06-16 18:47:00 +00:00

Opened #1653 ppt_tep OR-JOIN (doc_ref=source_key ИЛИ doc_full_name ILIKE) может вернуть один ППТ-документ несколько раз → дубли ТЭП в ИРД-блоке 2026-06-16 18:47:03 +00:00

Opened #1654 scrape_cadastre: enqueue_cadastre_harvest freshness-skip не идемпотентен — на resume targets_total сжимается ниже targets_done → преждевременный 'done' + раздутый targets_skipped 2026-06-16 18:47:04 +00:00

Opened #1655 nspd_geo: jobs, застрявшие в 'queued' (потерянное брокер-сообщение), никогда не ре-reap'ятся — cleanup_zombies и worker_ready матчат только 'running'/'paused' 2026-06-16 18:47:06 +00:00

Opened #1656 [backend][celery] Beat-таски refresh_quarter_price_index_chain и etl_newbuilding_crossload не зарегистрированы на воркере (отсутствуют в include) — молча никогда не выполняются 2026-06-16 18:47:07 +00:00

Opened #1666 (site-finder) mv_layout_velocity не рефрешится по расписанию → best_layouts молча устаревают в проде 2026-06-17 13:37:36 +00:00

Opened #1667 (site-finder) analyze: metro_block — заглушка nearest_top3=None (скрапер метро не подключён) 2026-06-17 13:37:37 +00:00

Opened #1668 (site-finder) analyze inline confidence — stub, не дотянут до §15 confidence_engine (форсайт) 2026-06-17 13:37:38 +00:00

Opened #1709 CI-шторм 2026-06-17 ~18:30 UTC — очередь раннеров забита, tradein-деплой #1699 застрял на ~17+ мин 2026-06-17 18:47:19 +00:00

Opened #1723 [tradein][data] Objective bank_name/registration_number не отдаётся на текущем тарифе (ЕГРН-поля) 2026-06-17 19:51:32 +00:00

Opened #1736 (site-finder) точки подключения ресурсов не отображаются на карте analyze (рендеринг-баг) 2026-06-18 06:26:42 +00:00

Opened #1737 (site-finder) confidence: сырой ярлык «Компонент · вкладывающий сервис: high» — теряется имя сервиса 2026-06-18 06:26:43 +00:00

Opened #1738 (site-finder) future-supply/pipeline считает СУБЪЕКТ анализа как будущего конкурента (self-count) + уже строящиеся как «будущее» 2026-06-18 06:26:44 +00:00

Opened #1739 (site-finder) PDF analyze не скачивается — 500 (snapshot_pdf глотает причину) + forecast/export?format=pdf→422 2026-06-18 06:26:45 +00:00

Opened #1740 (site-finder) противоречие: gate «МКД нельзя», но рекомендация советует квартирографию 2026-06-18 06:26:47 +00:00

Opened #1741 (site-finder) порядок блоков analyze: характеристики участка и стройки вперемешку 2026-06-18 06:26:50 +00:00

Opened #1742 (site-finder) объяснимость: «затоваренность» = 2 разных смысла; не ясно почему класс рекомендации 2026-06-18 06:27:03 +00:00

Opened #1743 (site-finder) отчёт «Остатки и скорость» непонятен (3 разнородных понятия, англицизм Velocity-score) 2026-06-18 06:27:52 +00:00

Opened #1744 (site-finder) прогноз и горизонты неясны: переключатель без подсказки + голые числа без единиц 2026-06-18 06:27:53 +00:00

Opened #1745 (site-finder) [feature] прогноз продаж по ВСЕМ типам квартир (студии/1-5к) для игры ассортиментом 2026-06-18 06:27:54 +00:00

Opened #1746 (site-finder) [feature/data] все инженерные сети на карту + единый источник (191-ФЗ engineering_networks не используется) 2026-06-18 06:27:56 +00:00

Opened #1772 [tradein] Один дом дробится на несколько houses → same-building компы теряются (unify по кадастру) 2026-06-19 08:26:01 +00:00

Opened #1773 [tradein] Адреса убивают same-building anchor: cian-новостройка без номера дома, avito «29р-н» слип, дубль-листинги 2026-06-19 08:26:03 +00:00

Opened #1774 [tradein] Эстиматор: same-building anchor хрупок (один house_id, exclude avito) — резолвить через фрагменты/кадастр + same-house avito 2026-06-19 08:26:04 +00:00

Opened #1781 [tradein] cian-первичка не освежается: 9205 заморожены с 31.05, 93% без house_id_fk, фантомы не гаснут (Савкова 29) 2026-06-19 11:14:06 +00:00

Opened #1785 Кадастр: bulk NSPD grid-walk структурно теряет дома (покрытие МКД ~25-30%) — нужен анализ + денсер-сетка 2026-06-19 14:00:34 +00:00

Opened #1789 [tradein][scrapers] Avito ЖК-enrichment не долетает в БД — отзывы/тип/история по дому пусты (house_reviews=0, avito_validated_at=0) 2026-06-19 15:36:10 +00:00

Opened #1790 [tradein][scrapers] Avito прокси-ротация выключена на проде (AVITO_PROXY_MAX_ROTATIONS=0) → avito_full_load банится мгновенно 2026-06-19 15:36:19 +00:00

Opened #1791 [tradein][scrapers] Cian detail-обогащение: kitchen 3% / ceiling 0% / описание 3% не долетают; отзывы ЖК не садятся 2026-06-19 15:39:52 +00:00

Opened #1792 [tradein][scrapers] Yandex покрытие полей: area 63%, ceiling 0, описание 50%, kitchen 0; отзывы/рейтинг ЖК не садятся 2026-06-19 15:40:06 +00:00

Opened #1793 [tradein][scrapers] tradein-browser: per-provider concurrency — параллель между поставщиками, ≤1 коннект на поставщика 2026-06-19 15:46:58 +00:00

Opened #1795 tradein/estimator: завышение оценки в бизнес/премиум — кламп к коридору сделок + робастный anchor 2026-06-19 16:07:05 +00:00

Opened #1796 tradein: Avito-баны режут покрытие аналогов и кросс-валидацию оценки 2026-06-19 16:07:26 +00:00

Opened #1801 [tradein][scrapers] Cian прокси деградировали — CIAN_PROXY_URL (socks5) таймаут + BROWSER_PROXY_CIAN 503 → detail-покрытие cian ≤3% 2026-06-19 16:59:05 +00:00

Opened #1803 [tradein][frontend] Мера estimate — React hydration error #418 (SSR≠client mismatch) 2026-06-19 17:33:53 +00:00

Opened #1804 [tradein][frontend] Мера estimate — секция «Фото квартиры» 422 на preview-UUID (0/12 фото) 2026-06-19 17:34:00 +00:00

Opened #1805 [tradein][scrapers] #883 Phase 2: avito.py SERP — дефолт на BrowserFetcher (camoufox) 2026-06-19 17:34:09 +00:00

Opened #1806 [tradein][scrapers] #883 Phase 2: cian.py SERP — миграция на BrowserFetcher (camoufox) 2026-06-19 17:34:16 +00:00

Opened #1811 [tradein][scrapers] Post-merge polish PR #1809 (avito SERP browser) — косметические минор'ы из ревью 2026-06-19 17:57:24 +00:00

Opened #1812 [tradein][scrapers] tradein-browser: снизить per-page fan-out — within-provider rate-cap прокси (~12% fetch-fail при бэкфиле) 2026-06-19 18:23:18 +00:00

Opened #1814 [tradein][scrapers] avito_detail_backfill: browser-fetch падает → curl-fallback → анти-бот 429 (+ снапшот тащит legacy не-ЕКБ листинги) 2026-06-19 18:51:11 +00:00

Opened #1816 tradein: HTTP POST /estimate отдаёт инвариантный центрально-схлопнутый результат и не персистит (estimate_quality напрямую — корректен) 2026-06-20 05:34:22 +00:00

Opened #1820 [tradein][scrapers] avito pipeline: новостройки house-страница (housePage widget missing) + AvitoBlockedError крашит весь прогон 2026-06-20 06:38:58 +00:00

Opened #1843 [site-finder][ПТИЦА][data] Оживить КСИТ/высоту/зону в /analyze — crosswalk reg_numb_border → zone_index (+ латентный null zone_code) 2026-06-20 15:22:32 +00:00

Opened #1846 DomClick scraper мёртв: VPS-IP заблокирован QRATOR + редизайн сайта (нужен прокси + rewrite на новый API) 2026-06-20 17:59:15 +00:00

Opened #1850 [site-finder][perf] Оптимизировать zone-regulation резолв в /analyze (мемоизация zone_index_at, двойной резолв, timeout) 2026-06-20 18:40:59 +00:00

Opened #1871 [AUDIT 2026-06-22] ПТИЦА deep-audit: реестр дефектов (цифры/логика/минусы/дизайн) 2026-06-22 07:55:29 +00:00

Opened #1881 [epic] Настоящая финмодель проекта (DCF/NPV/IRR/PBP) — объединить геометрию ПТИЦА + полноту девелоперской БДДС 2026-06-23 11:31:23 +00:00

Opened #1917 [tradein][scrapers] /fetch-json: тюнинг settle после навигации (транзиентный NetworkError на первом XHR) 2026-06-26 10:24:32 +00:00

Opened #1918 [tradein] yandex browser-proxy мёртв (za.mobileproxy.space:62011) → yandex detail/newbuilding/address enrichment в 503 2026-06-26 12:06:11 +00:00

Opened #1926 [AUDIT #1871 остаток] invest_score advisory flag + units_sold align + yandex total_seen obs + frontend polish 2026-06-26 17:39:49 +00:00

Opened #1940 [tradein][scrapers] Browser-sweep'ы зависают ДО первого HTTP (http_requests=0) → zombie/stuck-running на 6ч, источник теряет день 2026-06-27 02:13:53 +00:00

Opened #1945 [site-finder][scrapers] domrf_kn FLATS loader сломан с ~17.05 (DOM.РФ WAF): flats 376k→~0, best-layouts supply пустой 5 недель 2026-06-27 06:08:13 +00:00

Opened #1949 [tradein][scrapers] cian: full_load зомбится ~43% + city_sweep self-inflicted watchdog-бан → 86% инвентаря stale 2026-06-27 07:46:45 +00:00

Opened #1950 [tradein][scrapers] avito: changeip-recovery одношотный (30s timeout роняет run) + статус 'banned' завышен когда SERP отработал 2026-06-27 07:47:03 +00:00

Opened #1951 [tradein][devops] Деплой неатомарен — recreate scraper посреди run убивает in-flight sweep (cian_full_load → zombie) 2026-06-27 07:47:16 +00:00

Opened #1953 [EPIC] ПТИЦА analysis report — UX + data-honesty аудит (на примере 66:41:0205010:287) 2026-06-27 08:44:13 +00:00

Opened #1954 P0 Объект-карточка: площадь «—», обременения «—», «обновлено» — читаются мёртвые колонки (эпик #1953) 2026-06-27 08:44:33 +00:00

Opened #1955 P0 «Что хорошо продаётся» — дубли бакетов (obj_class не проброшен) + фантом Comfort/Комфорт (эпик #1953) 2026-06-27 08:44:48 +00:00

Opened #1956 P0 4.2 Планировки: «срок продажи 0 мес» / «% продано —» — per-object snapshot (регрессия #1944) (эпик #1953) 2026-06-27 08:45:04 +00:00

Opened #1957 P0 ЗОУИТ: сырой «cad_zouit», дубли, пустые «Охраняемые зоны» + СЗЗ-смысл и баннер «жильё ограничено» (эпик #1953) 2026-06-27 08:45:26 +00:00

Opened #1958 P0 График дефицита: оси налезают + плоское/пустое состояние; фактор «Прогноз спрос/предложение» ×4 дубль (эпик #1953) 2026-06-27 08:45:41 +00:00

Opened #1959 P0 Индекс дефицита −1.00 ВЕЗДЕ — basis mismatch (спрос сегмент vs предложение район) + honesty-guard (эпик #1953) 2026-06-27 08:46:04 +00:00

Opened #1960 P1 «Медиана рынка» 64k — квартальная n=1 ДКП-медиана вместо новостроечного базиса (эпик #1953) 2026-06-27 08:46:23 +00:00

Opened #1961 P1 Сети/точки подключения не на карте (нет слоя источника + радиус 500м vs 2км + полигоны без центроида) (эпик #1953) 2026-06-27 08:46:36 +00:00

Opened #1962 P1 Градрегламент НСПД (тер.зона/КСИТ/высота/этажность) — вывести в Раздел 1 (эпик #1953) 2026-06-27 08:46:48 +00:00

Opened #1963 P2 Человеческий язык / микрокопия отчёта (6.2/6.3/6.5 + легенды дефицита/затоварки) (эпик #1953) 2026-06-27 08:47:08 +00:00

Opened #1964 P2 Data-quality: objective_lots раздут (1.75M), n_sold=99110 аномалия, registration_date разрежен (эпик #1953) 2026-06-27 08:47:22 +00:00

Opened #1965 [feat] Консолидация фин-модели/Концепции в отчёт + интерактив house-picker → 3D → пересчёт (эпик #1953) 2026-06-27 08:47:42 +00:00

Opened #1966 [tradein][analytics] Accuracy-loop → CI-гейт: point-in-time backtest на ПОЛНОМ движке (per-rooms MAPE + range-coverage SLA) 2026-06-27 08:51:48 +00:00

Opened #1967 [tradein][data] avito 54% NULL lat → невидим PostGIS-радиусу: geo-backfill + dedup на ингесте (рычаг точности массы оценок) 2026-06-27 08:51:59 +00:00

Opened #1968 [tradein][ux] Honesty-fix вывода: «7 источников»→честные 4, убрать фейковую per-source медиану, выпилить domclick из sources 2026-06-27 08:52:08 +00:00

Opened #1969 [tradein][compliance] ФЗ-152 / ToS — блокер B2C: PII потребителей в БД + правовой риск скрейпа 2026-06-27 08:52:17 +00:00

Opened #1970 [tradein][tech-debt] Flag sprawl: ~40 estimate_* флагов, матрица взаимодействий непротестирована → паралич правок 2026-06-27 08:52:37 +00:00

Opened #1971 [tradein][business] Лид-флоу — тупик: CTA = mailto-стаб, нет реального POST /lead → воронка в никуда 2026-06-27 08:52:45 +00:00

Opened #1972 [tradein][ux] Редизайн результата «Тихая уверенность»: одна цифра-герой (expected_sold) + confidence-driven типографика + снять тройное дублирование цен 2026-06-27 08:53:03 +00:00

Opened #1989 [UX-аудит #01] Закрепить итог (выкупная стоимость + «Скачать PDF») вверху страницы результата 2026-06-27 12:48:23 +00:00

Opened #1990 [UX-аудит #02] Дедуп чисел на странице результата — одни и те же суммы повторяются 3–4 раза 2026-06-27 12:48:37 +00:00

Opened #1991 [UX-аудит #03] Свести четыре цены к двум + явная пометка «эта идёт в оффер» 2026-06-27 12:48:45 +00:00

Opened #1992 [UX-аудит #04] Один источник вводных + один инструмент «что-если» (сейчас три места пересчёта) 2026-06-27 12:48:52 +00:00

Opened #1993 [UX-аудит #05] Убрать сырые внутренние подписи с витрины (start_price, benchmark, yandex_valuation, asking…) 2026-06-27 12:49:00 +00:00

Opened #1994 [UX-аудит #06a] Прятать пустые блоки + единый формат сумм (frontend) 2026-06-27 12:49:10 +00:00

Opened #1995 [UX-аудит #06b] Данные сделок-заглушки: все даты 01.01.26 + немонотонный sell-time (backend/data) 2026-06-27 12:49:19 +00:00

Opened #1996 [UX-аудит #07] Иерархия «ответ → доказательство → тех-детали» на странице результата 2026-06-27 12:49:27 +00:00

Opened #2000 DomClick Layer B (deep detail-backfill) заблокирован QRATOR — нужен dedicated residential RU proxy 2026-06-27 13:39:51 +00:00

Opened #2002 [tradein][analytics] Elite/premium estimate accuracy — data-research findings + roadmap 2026-06-27 15:22:02 +00:00

Opened #2003 [tradein][tech-debt] houses.house_class never populated — dead merge engine + Avito «Класс жилья» not extracted 2026-06-27 15:22:22 +00:00

Opened #2007 [tradein][yandex] SERP _entity_to_lot: писать ceiling_height + kitchen_area_m2 в колонки + нормализовать house_type 2026-06-27 16:56:38 +00:00

Opened #2008 [tradein][cian] SERP: промоут полей из raw_payload в колонки — kitchen_area_m2, mortgage_available (+ новые is_apartments, is_rosreestr_checked) 2026-06-27 16:56:53 +00:00

Opened #2009 [tradein][avito] detail: дописать house_type + house_catalog_url (+5 house-level полей) в save_detail_enrichment 2026-06-27 16:57:13 +00:00

Opened #2010 [tradein][avito] IMV: персист comparables + searchSimilarUrl (сейчас полностью выбрасываются) 2026-06-27 16:57:24 +00:00

Opened #2011 [tradein] Аудит покрытия полей скрапперов avito/cian/yandex — сводка + прод-замер (2026-06-27) 2026-06-27 16:57:55 +00:00

Opened #2012 [tradein][estimator] Подключить house_type/kitchen/ceiling как фичи comp-scoring (+ обязательный backtest) 2026-06-27 17:21:40 +00:00

Opened #2013 [tradein][avito] year_built = 0% — источник не отдаёт год постройки (потолок ~1.7% через houses-catalog) 2026-06-27 17:21:54 +00:00

Opened #2036 trade-in/v2: подключить боевые ручки к новому UI (/trade-in/v2) 2026-06-28 09:50:28 +00:00

Opened #2038 trade-in/v2 [FE-1]: data shell + main dashboard wiring (page.tsx + mappers + ParamsPanel/ResultPanel/ObjectSummary/Hero/Footer) 2026-06-28 11:04:40 +00:00

Opened #2039 trade-in/v2 [FE-2]: overlay «История / Продажи в доме» (HistoryView) 2026-06-28 11:04:46 +00:00

Opened #2040 trade-in/v2 [FE-3]: overlay «Аналитика дома» (AnalyticsView) 2026-06-28 11:04:53 +00:00

Opened #2041 trade-in/v2 [FE-4]: overlay «РЫНОК / Аналогичные объявления» (SourcesView) 2026-06-28 11:04:57 +00:00

Opened #2042 trade-in/v2 [FE-5]: «Предыдущие оценки» (CacheView) + PDF-ссылка + quota + автокомплит адреса 2026-06-28 11:05:06 +00:00

Opened #2043 trade-in/v2 [BE-1]: estimate +cv +source_counts +created_at; /history +sources_used; cache-KPI 2026-06-28 11:05:15 +00:00

Opened #2044 trade-in/v2 [BE-2]: optional radius_m param (estimate / house-analytics / sell-time-sensitivity) 2026-06-28 11:05:19 +00:00

Opened #2045 trade-in/v2 [BE-3]: Коэффициент локации + POI-разложение (LocationDrawer) — DEFER / решение 2026-06-28 11:05:27 +00:00

Opened #2046 trade-in/v2 [BE-4]: профиль пользователя (name/org/email) для TopNav — DEFER 2026-06-28 11:05:29 +00:00

Opened #2062 trade-in/v2: UI/UX-полировка по аудиту (доступность, доверие к числам, иерархия, копирайт) 2026-06-28 15:44:07 +00:00

Opened #2081 trade-in/v2: UI/UX аудит — round 2 (системный контраст · честность чисел: дедуп/фильтр/адрес · a11y drawer+автокомплит) 2026-06-28 20:50:46 +00:00

Opened #2087 trade-in/v2: data-contract — рассинхрон счётчика источников / ratio-vs-медианы / базы торга + кросс-source дедуп (из аудита #2081) 2026-06-28 22:05:22 +00:00

Opened #2111 «Все точки показывают максимум информации» — карты-попапы недоливают данные (verified audit) 2026-06-30 12:34:37 +00:00

Opened #2119 Точки подключения с характеристиками: 51 источник, 27 верифицированы (research 2026-07-02) 2026-07-02 07:08:15 +00:00

Opened #2126 [EPIC] scraper-kit — внутренний код-пакет монорепо (консолидация скрапперов) 2026-07-02 13:39:10 +00:00

Opened #2127 [EPIC] market — контракт данных скрапперов для внешних потребителей 2026-07-02 13:39:25 +00:00

Opened #2128 scraper-kit A: скаффолд пакета + workspace-подключение 2026-07-02 13:39:48 +00:00

Opened #2129 scrapers K: fix _unix_to_date TZ-inconsistency (3 копии MSK/UTC/naive) 2026-07-02 13:39:59 +00:00

Opened #2130 market I: contract-view market.v_* поверх producer-таблиц 2026-07-02 13:40:07 +00:00

Opened #2131 scraper-kit B: Protocol-границы (matcher/config/session/jobs) + adapters 2026-07-02 13:40:15 +00:00

Opened #2132 scraper-kit C: перенос core-слоя в пакет 2026-07-02 13:40:22 +00:00

Opened #2133 scraper-kit D: перенос провайдеров (avito/cian/yandex/domclick) 2026-07-02 13:40:29 +00:00

Opened #2134 scraper-kit E: консолидация бисекции цены (4 копии → pricing/bisection.py) 2026-07-02 13:40:37 +00:00

Opened #2135 scraper-kit F: перенос pipeline (scrape_pipeline) в пакет 2026-07-02 13:40:43 +00:00

Opened #2136 scraper-kit G: scheduler + registry-dispatch (25+ trigger_* → dict-реестр) 2026-07-02 13:40:50 +00:00

Opened #2137 scraper-kit H: Docker/build wiring для пакета 2026-07-02 13:40:56 +00:00

Opened #2138 market J: перенацелить gendesign_reader на market.v_* + обновить ETL #976 2026-07-02 13:41:07 +00:00

Opened #2160 [EPIC] proxy-pool — хранилище прокси в БД + автовыбор свободного/рабочего 2026-07-02 16:25:04 +00:00

Opened #2161 proxy-pool P1: таблица scrape_proxies + admin bulk-load + seed env 2026-07-02 16:25:22 +00:00

Opened #2162 proxy-pool P2: сервис proxy_pool (acquire/release/health) + health-checker 2026-07-02 16:25:33 +00:00

Opened #2163 proxy-pool P3: интеграция curl-путей на пул (acquire/release) 2026-07-02 16:25:40 +00:00

Opened #2164 proxy-pool P4: динамический browser server (acquire + relaunch + release) 2026-07-02 16:25:47 +00:00

Opened #2177 §4.2 «Анализ планировок»: покрытие 17% при 100% данных в Объективе — дедуп ЖК + расширение mapping + lots-fallback 2026-07-02 17:41:00 +00:00

Opened #2178 §4.3 «Тренд рынка»: считать динамику цен из objective_lots_history вместо устаревшего Росреестра 2026-07-02 17:41:17 +00:00

Opened #2179 §7 отчёта: раскрыт по умолчанию + участок выделен на 3D-подложке + больший кусок карты 2026-07-02 17:41:25 +00:00

Opened #2180 3D-макет окружения в «Размещении застройки»: соседние здания из cad_buildings 2026-07-02 17:41:41 +00:00

Opened #2181 Альтернативы при отрицательном вердикте: оптимизатор программы (класс × этажность × mix) в конце отчёта 2026-07-02 17:41:52 +00:00

Opened #2187 tradein/dedup: ослабить geo-guard в fias-pass — 130 same-fias групп не смержены (NULL geom / >250 м) 2026-07-02 18:09:21 +00:00

Opened #2188 tradein/deploy: tradein-scraper не пересоздаётся при изменении matching/dedup-кода — DORMANT-дедуп запустил бы старый код 2026-07-02 18:09:21 +00:00

Opened #2189 tradein/canon: слэш-коллапс в tradein_canon_addr — «Сулимова, 32» ≡ «Сулимова, 3/2» (подтверждено ревизией DaData) 2026-07-02 18:09:46 +00:00

Opened #2192 rewire: scheduler_main на kit-scheduler за флагом USE_KIT_SCHEDULER (ship-dark) 2026-07-02 18:29:20 +00:00

Opened #2200 EPIC: Мера (trade-in) — ремедиация полного аудита 2026-07-02 2026-07-02 19:16:18 +00:00

Opened #2201 [P0] Продлить 3 mobile-прокси до 15.07 (иначе avito+cian+yandex умрут вместе) 2026-07-02 19:16:59 +00:00

Opened #2202 [P0] Подключить scrape_proxies pool к боевым скрейперам — убрать single-IP SPOF 2026-07-02 19:17:06 +00:00

Opened #2203 [P0] Off-box бэкап tradein-postgres + restore-тест + hardening backup-скрипта 2026-07-02 19:17:23 +00:00

Opened #2204 [P0] deactivate_stale для domklik/n1 + честный трекинг freshness domklik 2026-07-02 19:17:32 +00:00

Opened #2205 [P0] Убрать публичную фейк-оценку /trade-in/ui-preview с прода + noindex 2026-07-02 19:17:40 +00:00

Opened #2206 [P1] Обновлять scraped_at в upsert (base.py) — вернуть ~55% инвентаря эстиматору 2026-07-02 19:17:51 +00:00

Opened #2207 [P1] Снять блокировку event loop на POST /estimate (asyncio.to_thread) 2026-07-02 19:17:58 +00:00

Opened #2208 [P1] Pre-merge CI-гейт для tradein-mvp (backend pytest + frontend typecheck/lint) 2026-07-02 19:18:06 +00:00

Opened #2209 [P1] Честность диапазона оценки: раскрыть/рекалибровать 56.6% + min-width floor + backtest baseline + CI-гейт 2026-07-02 19:18:17 +00:00

Opened #2211 [P1] Честность UI-источников: убрать «/7», фолбэк-чипы, «классическую», зелёный cache-дот, «CV» 2026-07-02 19:18:28 +00:00

Opened #2212 [P1] Починить rosreestr_dkp_import (deals заморожены 182д) + алерт на max(deal_date) 2026-07-02 19:18:37 +00:00

Opened #2213 [P1] Defense-in-depth для trusted-header auth + rate-limiter fix 2026-07-02 19:18:46 +00:00

Opened #2214 [P1] Observability: off-box uptime-probe + fail health-check на dead backend + mem-лимиты + log-rotation 2026-07-02 19:18:56 +00:00

Opened #2215 [P2] Кросс-источник дедуп аналогов (house+floor+area) — убрать ~19% двойного счёта 2026-07-02 19:19:05 +00:00

Opened #2216 [P2] Миграции tradein: порядок (до рестарта) + реконсиляция 152 vs 131 + дубль-префиксы 2026-07-02 19:19:14 +00:00

Opened #2217 [needs-human] 152-ФЗ позиция (17342 телефона) + права на переопубликование скрейпленных данных 2026-07-02 19:19:23 +00:00

Opened #2218 [needs-human] Продуктовая ясность: мот vs бесплатных оценок + конверсионный слой + README 2026-07-02 19:19:33 +00:00

Opened #2233 [P1] photo-upload буферизует всё тело в RAM до проверки лимита (OOM-риск при mem_limit 768m) 2026-07-02 21:31:55 +00:00

Opened #2234 [P2] admin.py: текст исключений утекает в HTTP-ответы (8 мест detail=f"...: {e}") 2026-07-02 21:32:01 +00:00

Opened #2235 [P2] yandex: 204 активных URL-дубля — дедуп + уникальность source_url 2026-07-02 21:32:09 +00:00

Opened #2236 [P2] external_valuations.house_id всегда NULL (1579/1579) — привязать к houses 2026-07-02 21:32:17 +00:00

Opened #2254 B2B-запрос в ЕЭСК: реестр ТП/РП с адресами или координатами (полная карта точек подключения) 2026-07-03 05:56:55 +00:00

Opened #2255 [P3] Эстиматор: сегментная калибровка по классу жилья — за фичефлагом (follow-up #2209) 2026-07-03 06:04:47 +00:00

Opened #2259 Полный PDF/DOCX-экспорт ПТИЦА-отчёта (/analyze): §1-§7 + альтернативы 2026-07-03 06:19:17 +00:00

Opened #2262 [tradein][v2] Жёсткий аудит нового дизайна «Мера» v2 (пост honest-interval + design-sync) — ЭПИК 2026-07-03 06:28:51 +00:00

Opened #2264 [tradein][v2][a11y] Жёсткий аудит доступности — клавиатура/SR end-to-end + aria-modal оверлеев (эпик #2262) 2026-07-03 06:29:38 +00:00

Opened #2265 [tradein][v2] Живой аудит честности чисел на проде — resolved ли жалоба оценщика + остаток #2087 (эпик #2262) 2026-07-03 06:29:55 +00:00

Opened #2266 [tradein][v2] Визуальный аудит — иерархия 3 цен, CTA, микрокопи, консистентность после honest-hero (эпик #2262) 2026-07-03 06:30:10 +00:00

Opened #2267 [tradein][v2][design-sync] Аудит DS-панели claude.ai/design + авторинг 6 floor-card v2-компонентов (эпик #2262) 2026-07-03 06:30:26 +00:00

Opened #2269 [P2] Кросс-source дедуп: ключ схлопывает лишь 13.5% дублей — канонизация по house_id_fk (follow-up #2215) 2026-07-03 06:41:45 +00:00

Opened #2275 [tradein][v2] Мобильной раскладки нет: 390px → overflowX 473px, десктопная сетка без брейкпоинта (из аудита #2266) 2026-07-03 07:25:41 +00:00

Opened #2277 [tradein] cleanup-волна после стабилизации scraper-kit: удалить legacy-дубли скрапперов + косметика pool 2026-07-03 07:30:13 +00:00

Opened #2291 [P3] Дедуп-остаток после #2269: mkr-misfire (334), ё/е-фолд (~60), area-straddle (139) 2026-07-03 13:15:10 +00:00

Opened #2294 [P3] Сегментный множитель: confidence-гейт против band-by-predicted утечки (follow-up #2255) 2026-07-03 18:44:06 +00:00

Opened #2295 [P3] POST /concepts отдаёт 422 на многоконтурных участках (MultiPolygon) 2026-07-03 19:13:54 +00:00

Opened #2304 [tradein] scraper_kit migration — Stage 0: общий parity-test harness 2026-07-03 20:17:02 +00:00

Opened #2305 [tradein] scraper_kit migration — Group A: admin/scripts debug (низкий риск) 2026-07-03 20:17:13 +00:00

Opened #2306 [tradein] scraper_kit migration — Group B: cian/yandex price-history &amp; session 2026-07-03 20:17:16 +00:00

Opened #2307 [tradein] scraper_kit migration — Group D: порт orphan-модулей (domclick_detail, ekb_geoportal_client) 2026-07-03 20:17:23 +00:00

Opened #2308 [tradein] scraper_kit migration — Group E: core valuation (estimator.py) — МАКСИМАЛЬНЫЙ РИСК 2026-07-03 20:17:33 +00:00

Opened #2309 [tradein] scraper_kit migration — Group F: широкий рефактор структуры providers/* 2026-07-03 20:17:40 +00:00

Opened #2310 [tradein] scraper_kit migration — Group C: backfill/enrichment tasks 2026-07-03 20:17:50 +00:00

Opened #2316 [P4] mypy strict: 3 пред-существующие ошибки в generative/exporters/dxf.py 2026-07-03 20:57:27 +00:00

Opened #2317 trade-in/v2: подключить LocationDrawer к GET /location-coef (frontend wiring, follow-up #2045) 2026-07-03 21:07:41 +00:00

Opened #2320 [tradein][analytics] Point-in-time backtest на listing_source_snapshots — заблокировано данными, не кодом 2026-07-03 21:25:38 +00:00

Opened #2322 [tradein] scraper_kit bug: yandex/cian newbuilding providers — BrowserFetcher без endpoint= ломает любого caller'а 2026-07-03 21:27:51 +00:00

Opened #2323 [tradein] admin.py: scrape_cian_newbuilding awaits sync save_newbuilding_enrichment — TypeError at runtime 2026-07-03 21:27:56 +00:00

Opened #2330 [tradein] scraper_kit: avito build_warmed_session() не выставляет config= — тихо теряет sticky-proxy на prod-default пути 2026-07-03 22:06:57 +00:00

Opened #2334 [tradein] scraper_kit Group E1: avito_imv → kit (estimator.py dependency, часть #2308) 2026-07-03 22:34:03 +00:00

Opened #2335 [tradein] scraper_kit Group E2: cian_valuation → kit (estimator.py dependency, часть #2308) 2026-07-03 22:34:14 +00:00

Opened #2336 [tradein] scraper_kit Group E3: yandex_valuation → kit (estimator.py dependency, часть #2308) 2026-07-03 22:34:22 +00:00

Opened #2337 [tradein] scraper_kit Group E4: финальное переключение estimator.py на kit (#2308 завершение) 2026-07-03 22:34:31 +00:00

Opened #2349 [tradein] scraper_kit Group F1: fix yandex/cian newbuilding BrowserFetcher missing endpoint= (#2322) 2026-07-03 23:50:59 +00:00

Opened #2350 [tradein] scraper_kit Group F2: fix avito build_warmed_session() missing config= (#2330) 2026-07-03 23:51:01 +00:00

Opened #2351 [tradein] scraper_kit Group F3: системный аудит config-footgun паттерна во всех providers/* 2026-07-03 23:51:13 +00:00

Opened #2352 [tradein] scraper_kit Group F4: shared base classes + consistent naming/layout providers/* 2026-07-03 23:51:20 +00:00

Opened #2358 [tradein] scraper_kit Group F4-Foundation: shared base/utils для providers/* 2026-07-04 00:18:25 +00:00

Opened #2361 [tradein] scraper_kit Group F4a: миграция avito/* на shared base (_base.py) 2026-07-04 00:56:30 +00:00

Opened #2362 [tradein] scraper_kit Group F4b: миграция cian/* на shared base (_base.py) 2026-07-04 00:56:33 +00:00

Opened #2363 [tradein] scraper_kit Group F4c: миграция yandex/* на shared base (_base.py) 2026-07-04 00:56:38 +00:00

Opened #2364 [tradein] scraper_kit Group F4d: миграция domclick/* на shared base (_base.py) 2026-07-04 00:56:43 +00:00

Opened #2367 [site-finder] ИСОГД Свердл: реестр РНС как ранний сигнал future-supply (§6) — наследник Потока 2 из #103 2026-07-04 02:06:32 +00:00

Opened #2369 [tradein][obs] scrape_runs.total_seen=0 у yandex (и проверить avito/cian) — counters пишутся только в jsonb 2026-07-04 02:19:49 +00:00

Opened #2376 backend: POST /api/v1/trade-in/lead + persist (parent #1971) 2026-07-04 06:32:33 +00:00

Opened #2377 frontend: заменить mailto-CTA на форму лида в HeroTransparency (parent #1971) 2026-07-04 06:32:47 +00:00

Opened #2378 chore(tradein/estimator): схлопнуть low-risk кластер флагов (dedup/disclosure/manual-review/confidence-floor) — #1970 2026-07-04 06:34:55 +00:00

Opened #2379 chore(tradein/estimator): схлопнуть quarter-index price-correction флаги (#764) — #1970 2026-07-04 06:34:59 +00:00

Opened #2380 chore(tradein/estimator): схлопнуть #1795 corridor-clamp/radius-floor/expected-sold-clamp флаги — #1970 2026-07-04 06:35:02 +00:00

Opened #2381 chore(tradein/estimator): схлопнуть same-building-anchor + IMV-blend tuning флаги (#651/#652/#680/#1774) — #1970 2026-07-04 06:35:09 +00:00

Opened #2382 fix(tradein/estimator): merge orphaned floor term for hedonic composite (#2002 roadmap item 1) 2026-07-04 06:35:48 +00:00

Opened #2385 [tradein] scraper_kit F4 follow-up: сделать config mandatory в {cian,yandex}/newbuilding.py + домиграция на _base 2026-07-04 06:44:00 +00:00

Opened #2386 [tradein] scraper_kit F4 follow-up: mock-target artifact блокирует миграцию avito/imv.py на _base 2026-07-04 06:44:17 +00:00

Opened #2395 [tradein][v2] Форма лида (#2377) невидима на проде — смонтирована в мёртвом legacy-дереве, не в v2 2026-07-04 08:18:30 +00:00

Opened #2397 [tradein] scraper_kit: decommission legacy orchestration (scrape_pipeline.py / scheduler.py) — enable full legacy deletion 2026-07-04 08:36:23 +00:00

Opened #2406 [tradein] port legacy-only sweep edge cases (cancel-midway / watchdog-timeout / SIGTERM-drain) onto kit run_*_city_sweep 2026-07-04 11:10:13 +00:00

Opened #2408 [tradein] standalone kit unit-тесты для SERP/houses парсеров (после удаления legacy golden-parity) + чистка orphaned fixtures 2026-07-04 11:49:34 +00:00

Opened #2409 [needs-human][data] 191-ФЗ engineering_networks: нужен датасет из личного кабинета Минстроя (ФГИС ТП, QGIS.zip) 2026-07-04 12:09:00 +00:00

Opened #2416 [needs-human][devops] deploy-obsidian.yml: живо ли GitHub-зеркало, или workflow мёртв с 16.05? 2026-07-04 12:38:33 +00:00

Opened #2422 [tradein] kit standalone unit-покрытие после удаления legacy golden-parity (final E #2419) + чистка orphaned fixtures 2026-07-04 13:12:51 +00:00

Opened #2423 [tradein] dedup: avito house-no regex хватает цифры из приклеенного названия метро вместо реального номера дома 2026-07-04 13:20:02 +00:00

Opened #2425 [tradein] v2: клик по «Предыдущие оценки» не переключает вид, если в этой же SPA-сессии уже был submit свежей оценки 2026-07-04 14:17:10 +00:00

Opened #2431 [tradein] dedup regression: PR #2429 сломал сравнение корпуса дома между avito/cian («NкM») и domklik («N/M») 2026-07-04 17:07:00 +00:00

Opened #2435 [tradein] Houses Catalog: Cian bti_data/valuation house_info распарсены, но выбрасываются (никогда не пишутся в houses) 2026-07-04 19:38:20 +00:00

Opened #2440 feat(scraper): harvest plan_image из уже работающего catalog-скрапера (22d) — блокер для #299/#300 2026-07-05 15:43:41 +00:00

Opened #2442 feat(scrapers): подключить flat-level catalog scraper в Celery + прокинуть catalog_url_hash 2026-07-05 16:08:26 +00:00

Opened #2443 [needs-human] DOM.РФ WAF hard-ban на VPS IP с 2026-05-24 — статус cooldown не проверялся 6 недель 2026-07-05 16:37:49 +00:00

Opened #2445 EPIC: аудит кода ПТИЦЫ (мульти-агентный code review 2026-07-05) — 18 подтверждённых находок 2026-07-05 18:22:10 +00:00

Opened #2449 fix(site-finder): раскрыть/устранить 2 оставшихся *45.0 proxy-сайта в velocity.py (follow-up #2445-A4) 2026-07-05 18:36:44 +00:00

Opened #2452 fix(frontend): нейтральный fallback ещё в 4 enum-lookup-местах (follow-up #2445-B2/B3) 2026-07-05 19:03:49 +00:00

Opened #2457 fix(export): «НДС (паркинг)» → «НДС (паркинг + коммерция)» в full_report экспортёрах (follow-up #2445-C1) 2026-07-05 19:23:32 +00:00

Opened #2462 [needs-human][devops] deploy-очередь: контейнер отстаёт от :latest при серии быстрых мержей + SENTRY_RELEASE-флаг врёт о готовности 2026-07-05 20:15:49 +00:00

Opened #2464 EPIC: exhaustive line-by-line аудит backend ПТИЦЫ (2026-07-07) — 89 подтверждённых находок 2026-07-07 11:46:44 +00:00

Opened #2549 [EPIC] tradein: DB-backed auth + ролевка manager→employee (login-форма, сессии, team-management) 2026-07-30 06:16:55 +00:00

Opened #2550 tradein/auth 1: Foundation — bcrypt, password.py, session-настройки config 2026-07-30 06:17:10 +00:00

Opened #2551 tradein/auth 2: Schema — tradein_users + tradein_sessions (SQL 192_*) 2026-07-30 06:17:21 +00:00

Opened #2552 tradein/auth 3: Auth-core — login/logout, session middleware, dual-mode rbac_guard 2026-07-30 06:17:35 +00:00

Opened #2554 tradein/auth 4: Team-API — CRUD сотрудников, квоты, статистика (org-scoped) 2026-07-30 06:21:24 +00:00

Opened #2555 tradein/auth 5: Frontend — login-форма + session-aware RouteGuard 2026-07-30 06:21:34 +00:00

Opened #2556 tradein/auth 6: Frontend — team-дашборд менеджера (сотрудники, квоты, статистика) 2026-07-30 06:21:45 +00:00

Opened #2557 tradein/auth 7: Seed-миграция существующих юзеров в tradein_users 2026-07-30 06:21:57 +00:00

Opened #2558 tradein/auth 8: DevOps — SESSION_SECRET + AUTH_MODE=dual на прод; cutover follow-up 2026-07-30 06:22:08 +00:00

Opened #2567 tradein/ui: чистить TanStack Query cache при смене identity (login/logout) 2026-07-30 19:09:08 +00:00

Opened #2568 tradein/db: recovery-прогон сида 193 упадёт при демоутнутой seed-роли (узкий fail-mode) 2026-07-30 19:27:53 +00:00

Opened #2571 tradein/auth: усилить защиту логина от перебора после снятия basic_auth 2026-07-30 21:17:56 +00:00

Opened #2572 tradein/auth: переключить AUTH_MODE=db_only после обкатки cutover 2026-07-30 21:18:08 +00:00

Opened #2573 tradein/auth: устаревший текст ошибки 401 — «Caddy basic_auth required» после cutover 2026-07-30 21:56:08 +00:00

Opened #2574 [P0] tradein: скраперы отрабатывают вхолостую — данные не обновляются 5–18 дней, avito 0 активных 2026-07-31 12:12:29 +00:00

Opened #2576 [EPIC] tradein: расширение Меры на всю Свердловскую область 2026-07-31 13:01:41 +00:00

Opened #2581 [CRITICAL] tradein: Tier A «тот же дом» матчит листинги по всей области без гео-предиката → цена в 4-5 раз выше реальной 2026-07-31 14:02:17 +00:00

Opened #2582 [CRITICAL] tradein: гейт EKB-геокодера держится на списке из 37 городов — всё остальное считается Екатеринбургом 2026-07-31 14:02:35 +00:00

Opened #2583 tradein: остальные находки аудита области — C3 (квартальный индекс) + H1-H5 2026-07-31 14:03:49 +00:00

Opened #2585 [P0] tradein: ключ Яндекс-геокодера недействителен — 403 Invalid api key, работает только резервный Nominatim 2026-07-31 14:41:31 +00:00

Opened #2590 tradein/geocoder: инвариант «назван чужой топоним + результат внутри ЕКБ = недостоверно» вместо перечисления городов 2026-07-31 16:09:36 +00:00

Opened #2593 tradein: выпилить Яндекс-геокодер и остатки источника N1 2026-07-31 17:47:51 +00:00

Opened #2594 [CRITICAL] tradein: скрапер не пишет город в адрес объявления — данные области уходят в Екатеринбург 2026-07-31 18:03:05 +00:00

Opened #2600 tradein: прокси-пул — здоровье глобальное, бан на одном источнике выбрасывает прокси отовсюду (и обычно не засчитывается) 2026-07-31 20:28:02 +00:00

Opened #2603 tradein/geocode: хвосты после #2601 — непрошитый sibling-caller в geocode_deals_nominatim.py + наблюдаемость гейта 2026-07-31 21:41:15 +00:00

Opened #2604 [HIGH] tradein: ночное геокодирование даёт 0 сохранённых 8 прогонов подряд — очередь на 98% забита неактивными объявлениями чужих регионов 2026-07-31 21:57:14 +00:00

Opened #2607 [HIGH] tradein: listing_source_snapshot падает в zombie каждую ночь 6 суток подряд, осиротевшие запросы висят по 46 часов и держат горизонт vacuum 2026-07-31 23:12:23 +00:00

Opened #2610 tradein/proxy: пул не отличает «оператор выключил руками» от авто-отключения — проверка здоровья молча возвращает узел в строй 2026-08-01 05:37:06 +00:00

Opened #2613 [HIGH] tradein: 6 из 7 запасных прокси в окружении мертвы — подписка mobileproxy не отвечает с начала июля 2026-08-01 19:05:09 +00:00

Opened #2616 tradein/proxy: запретить сбор без прокси (сейчас пустой прокси = прямое подключение с IP сервера), затем убрать мёртвые переменные mobileproxy 2026-08-01 20:12:32 +00:00

Opened #2620 tradein/pricing: у 4+ комнат коэффициент выкупа больше единицы — новостроечный гард стоит только на одной стороне, а deals.rooms обрезан на 4 2026-08-02 09:21:29 +00:00

Opened #2625 [HIGH] tradein/scraper: капча Циана и пустые выдачи Яндекса засчитываются как успешный прогон — 41 из 68 прогонов за 2 недели забрали ноль лотов без ед… 2026-08-02 11:24:00 +00:00

Opened #2628 tradein: бэкфилл городских меток — ТОЛЬКО yandex/cian, наивный гео-критерий снесёт ~640 корректных меток Авито 2026-08-02 12:03:44 +00:00

Opened #2631 fix(mera/b2c): публичный лэндинг всё же дёргает /api/v1/me — инвариант «на публичной странице запроса к /me не происходит» нарушен 2026-08-02 13:08:23 +00:00

Opened #2632 tradein: бэкенд не отдаёт фактический радиус поиска — карта рисует круг по выбору пользователя, а не по тому, что реально искали 2026-08-02 13:09:58 +00:00

Opened #2636 tradein: вернуть domclick_detail_backfill после починки — выключена при 0 обогащений на 491 попытку 2026-08-02 14:13:11 +00:00

Opened #2638 [ВЛАДЕЛЬЦУ] Один рабочий прокси на три источника — 37 из 53 банов от исчерпания пула, а не от площадок 2026-08-02 14:38:16 +00:00

Opened #2656 [HIGH] tradein/estimate: якорь дома и знаменатель коэффициента выкупа читают is_active без фильтра свежести — протухшие объявления напрямую двигают цену 2026-08-05 15:16:32 +00:00

Opened #2657 [HIGH] tradein/scraper: охват Домклика упал в 8-10 раз — прод-свип даёт ~1% предложения, а видимый пул держался внешним ручным ингестом 2026-08-05 15:17:03 +00:00

Opened #2658 tradein/scraper: пропуск задачи не оставляет следа — статус «пропущено» построен и ни разу не использован, а алерт стоит в недостижимой ветке 2026-08-05 15:17:28 +00:00

Opened #2659 tradein: деактивация по TTL не знает про баны и покрытие — паушальный TTL уже выкосил 9033 живых строки, у Циана первичка не подметается вовсе 2026-08-05 15:17:57 +00:00

Opened #2660 tradein: витрины и «медианный торг» читают listings без сегмента и свежести — пользователь видит 14.5 тыс. мертвецов как живые, а в торг попадает пе… 2026-08-05 15:18:25 +00:00

Opened #2665 [HIGH] tradein/auth: bcrypt блокирует единственный event loop — поток логинов кладёт весь API, и он же сейчас единственный настоящий ограничитель темпа 2026-08-05 17:47:40 +00:00

Opened #2666 tradein: два видимых пользователю числа отдаются без гейта правдоподобия — «медианный торг +36%» и индекс локации с шумом ±20 п.п. 2026-08-05 18:09:07 +00:00

Opened #2669 tradein/cian: views_total пуст у всех 21 682 объявлений — парсер делает int() по строке «146 просмотров, 8 за сегодня» 2026-08-05 18:46:00 +00:00

Opened #2670 tradein/scraper: длинная серия неудач замолкает навсегда, а прогон, оборванный после частичного сбора, отчитывается успешным 2026-08-05 18:50:21 +00:00

Opened #2672 tradein: «медианный торг» считается по псевдорепликам — 34% показываемых чисел стоят на ОДНОМ объявлении, и гейт по числу пар этого не видит 2026-08-05 19:06:47 +00:00

Opened #2673 [КРИТИЧНО] МЕРА слепа: за всю историю не отправлено ни одного уведомления — в GlitchTip нет ни правил, ни получателей 2026-08-05 19:11:40 +00:00

Opened #2674 [EPIC] МЕРА: 47 мест, где код написан, отревьюен, смержен — и ни разу не сработал на проде 2026-08-05 19:12:32 +00:00

Opened #2676 tradein/browser: сайдкар не считает восстановимой ошибку «execution context was destroyed» — страница уходит в навигацию между goto и evaluate, ретрая нет 2026-08-05 19:37:02 +00:00

Opened #2677 [HIGH] tradein/estimate: домовой якорь подбирается без учёта ремонта, а подмешивается только вверх — после починки параметров это станет системати… 2026-08-05 19:55:47 +00:00

Opened #2678 tradein/houses: хвосты после #2675 — camelCase-типы домов не нормализованы у источника, расхождение двух путей по монолиту, 369 замороженных строк 2026-08-05 19:56:23 +00:00

Opened #2679 [HIGH] tradein/deploy: список путей для пересборки скрапера — неполный allowlist, и PR #2675 уже уехал в контейнер, который его не исполняет 2026-08-05 20:36:28 +00:00

Opened #2683 chore(tradein): _manifest_applied.txt отстал на 27 имён — гейт от коллизий номеров миграций не работает между ветками 2026-08-05 22:08:23 +00:00

Opened #2686 [HIGH] tradein: статус «забанен» на инфраошибке — из-за него сбор Авито замедлили вдвое по ложному основанию 2026-08-05 22:47:05 +00:00

Opened #2687 tradein/avito: решить по данным 9–10.08 — нужны ли два недельных полных обхода, и как делать пробный прогон с узким окном 2026-08-05 23:14:09 +00:00

Opened #2690 [HIGH] tradein: 781 дубль домов не схлопнуть — «независимый идентификатор здания» оказался тем же адресом, а слияние необратимо и без аудита 2026-08-06 00:18:46 +00:00

Opened #2691 tradein: успешный прогон загрузки не двигает отметку времени — здоровый источник будет выглядеть протухшим 2026-08-06 00:20:56 +00:00

Opened #2697 chore(tradein): DROP listings_snapshots.position_in_serp (шаг 2 из 2, #2674) 2026-08-06 05:50:21 +00:00

Opened #2698 [HIGH] tradein/imv: домовая оценка Авито мертва 34 дня — 0 сохранённых из 35 попыток в каждом прогоне, все прогоны done 2026-08-06 05:50:47 +00:00

Opened #2699 tradein/estimate: высота потолков в двух колонках — эстиматор читает одну, карта приоритетов называет каноном другую, 855 значений Циана не видит … 2026-08-06 05:52:45 +00:00

Opened #2700 [HIGH] tradein/cian: detail-страницы отдают 403 на 50 из 50 попыток 15 дней подряд — прогон пишет errors=0 и done, все домовые поля Циана нулевые 2026-08-06 05:55:06 +00:00

Opened #2701 tradein: 38% дневных снимков объявлений не знают своего прогона — три вызова save_listings из девяти теряют run_id 2026-08-06 06:00:23 +00:00

Opened #2702 tradein: отметки времени прогона не охватывают его работу — 153 прогона из 487 «длятся» дольше собственного окна, пятичасовой записан как 32 мс 2026-08-06 06:21:55 +00:00

Opened #2703 tradein: сторож «ноль результатов» структурно слеп к backfill-задачам — читает поле, которого в их счётчиках нет, поэтому 78 пустых прогонов из 158 … 2026-08-06 06:22:23 +00:00

Opened #2704 [ВЛАДЕЛЬЦУ] Сводка: 8 пунктов, которые не чинятся кодом — учётки, ключи, получатель уведомлений, два решения 2026-08-06 06:23:36 +00:00

Opened #2709 tradein: redis недостижим из контейнера ПО СЕТИ, а не из-за переменной — «просто задать REDIS_URL» сделает поиск вчетверо медленнее и молча 2026-08-06 07:59:30 +00:00

Opened #2714 [HIGH] tradein/auth: потолок сверок бьёт и по своим — один IP на 5 запросах в секунду закрывает вход всем, бессрочно 2026-08-06 08:53:54 +00:00

Opened #2715 tradein/auth: хвост после #2712 — насыщение без следа в аудите и с логом, выселяющим прочие логи; гейт после выборки из БД; правило только в коммент… 2026-08-06 08:54:30 +00:00

Opened #2722 tradein/ci: тесты браузерного сайдкара не запускаются в пайплайне — 4 из них лежат красными на main, и об этом никто не знает 2026-08-06 10:27:31 +00:00

Opened #2723 [HIGH] tradein/proxy: проверка здоровья прокси ходит обычным HTTP, а работа — браузером — 480 зелёных проб за 10 суток, когда сбор падал по 4-5 раз в день 2026-08-06 11:02:12 +00:00

Opened #2725 fix(tradein/scraper): сигнал живости cian_history_backfill шлётся один раз — живые прогоны reap'ятся как zombie 2026-08-06 11:09:07 +00:00

Opened #2731 tradein: «время наблюдения» у снимка — это время начала транзакции сбора; 219 строк семиминутного прогона несут одну метку 2026-08-06 12:15:47 +00:00

Opened #2741 tradein/devops: логи умирают вместе с контейнером при каждом деплое — ночной прогон невозможно разобрать утром 2026-08-06 15:41:31 +00:00

Opened #2752 tradein/db: миграция 229 завела дубль индекса по expires_at — точная копия индекса из 001 2026-08-06 18:39:53 +00:00

Opened #2753 ptica/observability: страховка скраба ПДн может утечь то, что защищает + проводка проверяется грепом по исходнику 2026-08-06 18:49:54 +00:00

Opened #2755 tradein/frontend: остаточный слой фикстур — 600 строк выдуманных чисел без потребителей + комментарии, описывающие исчезнувший контракт 2026-08-06 19:02:38 +00:00

Opened #2757 [HIGH] ci: сервис-контейнер сборки с портом 5432 попадает в БОЕВОЙ Postgres — раннер работает в сети хоста, спасло только несовпадение пароля 2026-08-06 21:03:01 +00:00

Opened #2761 ops: 13 ГБ из 113 занятых — логи двух контейнеров без ротации; наши compose вообще без потолка 2026-08-06 22:10:27 +00:00

Opened #2764 tradein/scraper: ban_kind проставляется по умолчанию у 9 вызывающих из 12 — метка выглядит доказательством, не будучи им 2026-08-06 22:49:07 +00:00

Opened #2766 tradein/frontend: у фронтенда trade-in ноль проверок поведения — при том что сегодня через него прошли три видимых пользователю изменения 2026-08-06 23:31:02 +00:00

Opened #2767 tradein/cian: обогащение новостроек не дало ни одной записи 8 суток подряд — 200 попыток, все прогоны done, причина в разборе а не в сети 2026-08-07 02:37:30 +00:00

Opened #2770 tradein/frontend: pnpm-lock.yaml никем не читается и врёт про состав зависимостей 2026-08-07 08:01:23 +00:00

Opened #2771 [HIGH] tradein/houses: 20% домов без координат — геокодер чинит объявление, но в дом координаты не возвращаются 2026-08-07 08:35:17 +00:00

Opened #2775 backend/core: verify_admin_token / AdminTokenAuth — проверка без единого вызывающего 2026-08-07 08:52:39 +00:00

Opened #2777 [HIGH] tradein/houses: 108 домов сшиты сопоставителем из объявлений разных населённых пунктов (до 290 км разброса) 2026-08-07 08:54:48 +00:00

Opened #2778 backend/tests: 6 проверок парсера ППТ ждут PDF-образец, которого нет ни у кого — нужен файл от Anton 2026-08-07 08:55:58 +00:00

Opened #2782 frontend/site-finder: CRUD профилей весов недостижим — UI просит Admin Token, которого негде взять 2026-08-07 08:59:23 +00:00

Opened #2783 backend/weather_cache: тест требует single-flight, которого код НЕ обещает — гейт красит PR-ы по таймингу 2026-08-07 09:22:10 +00:00

Opened #2790 site-finder §4.1: «Применить» у весов POI ни к чему не приводит + системные пресеты не видны 2026-08-07 10:37:43 +00:00

Opened #2793 Вернуть снос дубля индекса trade_in_estimates(expires_at) — теперь с lock_timeout 2026-08-07 11:28:48 +00:00

Opened #2800 [HIGH] tradein/proxy: браузерная проба спрашивает только Авито — узел «здоров» и мёртв для Домклика одновременно 2026-08-09 17:36:36 +00:00

Opened #2807 tradein/newbuilding: счётчик price_dynamics_rows меряет прирост таблицы, а читается как «сколько записали» 2026-08-10 08:19:02 +00:00

Opened #2811 [HIGH] site-finder: weights_profile.source = "profile" ставится по факту параметра, а не по факту найденного профиля 2026-08-10 08:50:27 +00:00

Opened #2812 [HIGH] ptica/db: параллельные запросы Объектива падают на /dev/shm = 64 МБ (умолчание Docker) — 6 отказов за сутки 2026-08-10 09:19:27 +00:00

Opened #2814 [HIGH] tradein/avito: рейтинг дома подклеен в адрес объявления — у всех 1 123 таких строк нет координат (100%), 12.7% аналогов невидимы радиусу 2026-08-10 09:32:10 +00:00

Opened #2827 tradein/avito: detail-страницы отдают HTTP 439 firewall независимо от IP и клиента 2026-08-11 04:53:40 +00:00

Opened #2830 tradein: два места по-прежнему ходят мимо пула прокси (cian_price_history + /admin/scraper/health) 2026-08-11 06:09:08 +00:00

Opened #2841 Битый слой buildcache роняет сборку бэкенда — правка не доезжает до прода, а сигнала об этом нет 2026-08-12 15:31:19 +00:00

Opened #2842 source_url записывается только при вставке — колонка не способна залечиться сама (решение не очевидно, поэтому не чинил) 2026-08-12 15:46:16 +00:00

Opened #2846 «ФАКТИЧЕСКИЕ СДЕЛКИ» на экране — сделки семимесячной давности, и возраст никуда не доезжает 2026-08-12 17:51:04 +00:00

Opened #2848 Осиротевший прогон 6 часов числится «идёт»: деплой убил процесс, а status='running' остался — гейт деплоя врёт 2026-08-12 18:51:58 +00:00

Opened #2853 Коэффициент «хороший ремонт» — не константа: 1.000 в фонде до 1990 против 1.023 в новом, применяется 1.05 2026-08-12 20:30:05 +00:00

Opened #2854 Домклик: блок бьёт внутри первой корзины, ротация узла его не видит — шесть корзин не доводятся никогда 2026-08-13 05:29:58 +00:00

Opened #2855 Проба узла спрашивает robots.txt, а работа — защищённый API: «пара здорова» ровно там, где свип получает QRATOR 2026-08-13 05:34:16 +00:00

Opened #2857 Витрина поиска отдаёт четыре поля-заглушки: NULL прописан в самом определении, читателей у трёх — ноль 2026-08-13 06:50:14 +00:00

Opened #2860 yandex_newbuilding_sweep: восемь прогонов подряд «обработано 5, успешно 0» со статусом done, очередь растёт 351 → 389 2026-08-13 08:33:16 +00:00

Opened #2862 Бэктест калибрует оценщик с выключенным штрафом за тип дома: deals.house_type пуст у 96 974 из 96 974, у источника заполнен на 99.74% 2026-08-13 09:03:07 +00:00

Opened #2864 chore(tooling): pre-commit пинит ruff v0.7.4, в venv 0.15.12 — хук переформатирует чужие строки 2026-08-13 11:38:20 +00:00

Opened #2867 ПТИЦА: avg_area_m2 в топ-планировках показывает 0 м² вместо «нет данных» (нужна правка контракта) 2026-08-13 11:52:58 +00:00

Opened #2869 CI/деплой встали: диск VPS 94%, копятся buildx-билдеры (20 штук, до 2 месяцев) 2026-08-13 12:24:30 +00:00

Opened #2871 CI: backend-tests краснеет ПОСЛЕ зелёного pytest, и по логу нельзя понять, в каком шаге 2026-08-13 16:34:58 +00:00

Opened #2894 B2C: бесплатная проба покрытия — POST /trade-in/coverage 2026-08-15 16:04:21 +00:00

Opened #2896 B2C: платёжный контур 150 ₽ (CloudPayments) + серверный пейволл 2026-08-15 16:04:22 +00:00

Opened #2895 B2C: анонимный периметр — открыть geocode/suggest и coverage без авторизации 2026-08-15 16:04:22 +00:00

Opened #2897 B2C: страница отчёта /r/<token> + доставка на e-mail 2026-08-15 16:04:23 +00:00

Opened #2898 estimator: окно прогноза срока продажи вместо одного числа + персист 2026-08-15 16:04:24 +00:00

Opened #2899 estimator: положение объекта на рынке (перцентиль внутри когорты) 2026-08-15 16:04:24 +00:00

Opened #2900 B2C data: контур сверки «прогноз → факт сделки» 2026-08-15 16:04:25 +00:00

Opened #2901 B2C: раздел статей (SEO-контур) 2026-08-15 16:04:26 +00:00

Opened #2902 B2C: «Продажа под ключ» — приём заявки на агентскую услугу 2026-08-15 16:04:26 +00:00

Opened #2904 compliance: заменить маркетинговые метрики лэндинга на вычисляемые до снятия noindex 2026-08-15 16:04:27 +00:00

Opened #2903 B2C: игра «Проверьте себя» на реальных сделках 2026-08-15 16:04:27 +00:00

Opened #2916 ops: правка Caddyfile ради МЕРЫ пересобирает и передеплоивает Site Finder, применяя все pending SQL 2026-08-16 07:02:23 +00:00

Opened #2917 ops: смоук периметра МЕРЫ не запускается после деплоя — регресс живёт до суток 2026-08-16 07:02:40 +00:00

Opened #2924 tradein: очередь yandex_newbuilding упирается в одни и те же пять домов — неудача ничего не помечает 2026-08-19 08:13:06 +00:00

Opened #2934 [HIGH] ПТИЦА: отчёт утверждает отсутствие природного риска, ни разу его не проверив — 12 мест 2026-08-19 13:10:38 +00:00

Opened #2936 [HIGH] МЕРА/эстиматор: отбор сопоставимых предпочитает источник с худшими данными — отсутствие поля считается идеальным совпадением 2026-08-19 13:33:30 +00:00

Opened #2950 Деплой Trade-In своим prune -af убивает compose pull деплоя ПТИЦЫ (разные группы concurrency, один докер-демон) 2026-08-20 07:13:53 +00:00

Opened #2953 tradein: 429 от Nominatim — сдерживатель темпа стоит на успешной ветке, при череде неудач его нет 2026-08-20 07:39:03 +00:00

Opened #2956 [needs-human] НСПД не отдаёт данные с 27.07 — 24 суток без единого успешного дампа, WAF 403 на IP VPS 2026-08-20 08:02:58 +00:00

Opened #2962 tradein/ПТИЦА: мост gap-fill по objective_lots.complex_id тянет чужие ЖК — скорость и цена раздуты вчетверо у 185 конкурентов 2026-08-20 09:07:03 +00:00

Opened #2967 ПТИЦА: основной источник скорости продаж (objective) не выбирался ни разу — порог 50%, максимум покрытия 23.7% 2026-08-20 09:53:01 +00:00

Opened #2982 act_number не извлекается ни у одной строки land_reservation — регекс ждёт суффикс областных актов 2026-08-20 16:27:49 +00:00

Opened #2985 cad_territorial_zones: запрос к НСПД на каждый квартал, 1 строка в таблице и ни одного читателя 2026-08-20 16:54:28 +00:00

Opened #2986 gisogd_permits: ключ (doc_group, doc_num) схлопывает 2243 разных документа — на проде нет 23.9% реестра 2026-08-20 17:01:44 +00:00

Opened #2989 [EPIC] МЕРА: пересборка базы начисто при переезде на выделенный сервер 2026-08-20 17:47:29 +00:00

Opened #2990 Чистый старт БД падает на миграции 077: FDW-backfill выполняется до создания USER MAPPING 2026-08-20 17:47:48 +00:00

Opened #2991 Postgres на стоковом конфиге: shared_buffers 128 МБ на базу 21 ГБ, wal_compression off при доле FPI 55-86% 2026-08-20 17:48:04 +00:00

Opened #2992 Апсерт переписывает 41 колонку безусловно — корень 15 ГБ раздутости и 7 ГБ WAL в сутки 2026-08-20 17:48:19 +00:00

Opened #2993 listing_source_snapshot пишет полную копию всех источников каждые сутки — 97,6% строк дубли по построению 2026-08-20 17:48:35 +00:00

Opened #2994 26 203 мёртвых объявления числятся активными: deactivate_stale_* читают last_seen_at, который лжёт 2026-08-20 17:48:59 +00:00

Opened #2995 Кросс-источниковый дедуп объявлений невозможен по построению: dedup_hash = source + source_id, матчер не вызывается ни разу 2026-08-20 17:49:19 +00:00

Opened #2996 Блокер Москвы: город входит в ценовую формулу текстом, нормализованный адрес считается уникальным по всей стране 2026-08-20 17:49:45 +00:00

Opened #2997 Индексы: ~855 МБ мёртвых и дублирующих на listings, у houses вообще нет индекса под geography 2026-08-20 17:50:05 +00:00

Opened #2998 Росреестр не грузится 39 суток: rosreestr_dkp_import каждый день рапортует done с total_seen=0 2026-08-20 17:50:30 +00:00

Opened #3005 Cron бэкапа tradein вызывает скрипт сырым путём — потеря бита +x сломает бэкап молча 2026-08-20 19:25:29 +00:00

Opened #3027 Переезд: понизить TTL на 13 доменах за 24–48 часов до окна 2026-08-21 12:54:58 +00:00

Opened #3028 Переезд: скрапперы остаются на Beget — построчный upsert через сеть станет часами ожидания 2026-08-21 12:55:05 +00:00

Opened #3029 Переезд: деплой-конвейер разворачивается наизнанку — раннеры на Beget катят на Selectel 2026-08-21 12:55:13 +00:00

Opened #3030 Переезд: лимиты потребления на Beget после разгрузки — cgroup, своп, prune, мониторинг 2026-08-21 12:55:38 +00:00

Opened #3031 Переезд: зоопарк дашбордов в LXC на новом хосте, сертификаты 13 сайтов перевыпустить, 94.228.121.73 погасить 2026-08-21 12:55:52 +00:00

Opened #3032 Переезд: замерить фактическую задержку Beget ↔ Selectel СПб — оценка 10–15 мс не проверялась 2026-08-21 12:56:06 +00:00

Opened #3033 Авито: у площадки есть родной фильтр вторички — качаем впятеро больше, чем нужно 2026-08-21 13:30:55 +00:00

Opened #3034 Авито: притворяемся Chrome 120 в 2026 году, и заголовки внутренне противоречивы 2026-08-21 13:31:17 +00:00

Opened #3035 Авито detail-бэкфилл отрезает ?context= — теряется searchHash, карточка выглядит пришедшей ниоткуда 2026-08-21 13:31:40 +00:00

Opened #3036 Данные о доме с площадок не доезжают: консьерж заполнен у 5 домов из 10 131, а парсим мы его на каждой карточке 2026-08-21 13:32:08 +00:00

Opened #3037 Авито отдаёт историю цен по объявлению — не запрашиваем вовсе 2026-08-21 13:32:21 +00:00

Opened #3043 Авито: geoCoords/radius в SERP-URL сервером не применяются — якорный city-sweep качает 5× одну и ту же городскую выдачу 2026-08-21 15:26:15 +00:00

Opened #3044 Авито detail: HTTP 439 не обработан вовсе, а 429 с бан-страницей QRATOR ретраится на сожжённом IP 2026-08-21 16:02:52 +00:00

Opened #3045 Корень отказов Авито: QRATOR отдаёт proof-of-work челлендж, а мы его не проходим ни одним из путей 2026-08-21 16:27:05 +00:00

Opened #3047 Парсер карточки Авито недобирает поля: параметры дома теряются молча, метро тянется из описания, собственник не парсится 2026-08-21 20:39:08 +00:00

Opened #3051 Москва, часть 1/3: ключи регионов — реестр вместо констант, city_fias_id, doc_type 2026-08-22 11:23:52 +00:00

Opened #3052 Москва, часть 2/3: гард по полигону вместо радиуса 3 км — адрес перестаёт быть уникальным по стране 2026-08-22 11:24:14 +00:00

Opened #3053 Москва, часть 3/3: решение по FDW — обогащение ходит в чужую базу, переезд рвёт связь 2026-08-22 11:24:38 +00:00

Opened #3057 Переезд: раннбук окна cutover — порядок, тайминги, критерии отката 2026-08-23 16:00:29 +00:00

Opened #3059 Переезд: перечень интеграций, привязанных к IP 46.173.16.127 — что ломается молча 2026-08-23 16:49:00 +00:00

Opened #3061 [БЛОКЕР] Переезд ломает сам Forgejo: его БД живёт внутри уезжающего gendesign-postgres-1 2026-08-23 21:03:46 +00:00

Opened #3063 Яндекс: is_homeowner / is_pro_seller стираются при каждом «бедном» re-scrape (живая потеря данных) 2026-08-23 21:12:07 +00:00

Opened #3064 Домклик: богатые поля SERP оседают в raw_payload и никуда не доезжают (100 % NULL в колонках) 2026-08-23 21:15:32 +00:00

Opened #3074 Скрапперы: чекпоинты — длинный прогон продолжается с места обрыва, а не начинается заново 2026-08-24 15:25:40 +00:00

Opened #3075 После переезда: сузить периметр доступа — отзыв старого ключа, узкие правила SSH, уборка секретов 2026-08-24 15:34:12 +00:00

Opened #3078 Телеметрия: метрики и Grafana — сегодня тихий отказ не виден ничем 2026-08-24 16:14:39 +00:00

Opened #3081 MERA: карточка прогресса оценки показывает выдуманные стадии и ссылается на серверную механику, которой в этом пути нет 2026-08-24 16:51:37 +00:00

Opened #3082 MERA: на /trade-in/estimate нет ограничителя одновременности — рейт-лимит меряет частоту, а не параллелизм 2026-08-24 16:55:17 +00:00

Opened #3083 MERA: бэкенд оценки крутится в один воркер uvicorn — тяжёлый /estimate внутри event loop блокирует всех 2026-08-24 16:55:49 +00:00

Opened #3085 Блокер 30.08: на Poincare нет бэкапов вообще — пустой crontab, и отказ будет тихим 2026-08-24 17:26:16 +00:00

Opened #3094 Переезд: на Poincare не задан TRADEIN_DATABASE_URL — newbuilding-crossload молча грузит 0 лотов вместо ~11 000/сут 2026-08-26 05:35:26 +00:00

Opened #3110 Переезд: 188.246.224.93 заблокирован у российских операторов — продукты недоступны клиентам с 25.08 2026-08-26 10:46:01 +00:00

Opened #3114 Пароли БД утекают в логи: postgres_exporter печатает DSN при каждой неудачной сборке WAL-метрик (~210 строк в сутки) 2026-08-26 12:36:11 +00:00

Opened #3118 Домклик не собирается с 5 августа: 17 банов подряд, QRATOR рубит на первой из шести корзин 2026-08-26 14:47:27 +00:00

Opened #3119 Poincare не отвечает с 00:41 МСК — продукты лежат девять часов, и об этом никто не узнал 2026-08-27 06:58:51 +00:00

Opened #3122 Планировщик: зомби после ребута хоста блокируют источники до 6 часов — нужен boot-reap по границе старта контейнера 2026-08-27 08:59:40 +00:00

Opened #3148 Легаси-периметр impersonate: три прод-пути бэкенда остались на chrome120, а тест это закрепляет 2026-08-27 15:17:36 +00:00

Opened #3151 geocode-бэкфилл: budget_sec проверяется только между батчами — прогон ушёл на 175 % бюджета 2026-08-27 16:01:31 +00:00

Opened #3154 Секрет вебхука GlitchTip уходит в Loki: uvicorn логирует query-параметр, скруббер #3115 его не ловит 2026-08-27 16:54:58 +00:00

Opened #3155 Prometheus не видел ни одного Alertmanager: цель file_sd осталась пустой при включённом профиле alerts 2026-08-27 18:05:57 +00:00

Opened #3156 tgbot: getUpdates падает 23 раза в сутки, а в логе пустая строка вместо причины 2026-08-27 18:09:01 +00:00

Opened #3157 Доставка уведомлений GlitchTip ненаблюдаема: is_sent не означает, что кто-то их получил 2026-08-27 18:09:01 +00:00

Opened #3159 GlitchTip: почта уходит в /dev/null (EMAIL_URL=consolemail://), uptime-мониторы шлют в никуда 2026-08-27 18:09:02 +00:00

Opened #3158 Grafana: ноль правил алертинга и ноль контакт-поинтов — решить, нужен ли он вообще 2026-08-27 18:09:02 +00:00

Opened #3161 Alertmanager отвечает 404 на /api/v2/alerts: внешний префикс распространён на весь API 2026-08-27 18:16:27 +00:00

Opened #3163 Тема «метрики» в Telegram пуста: инфра-алерты и клиентские инциденты делят одну тему 158 2026-08-27 18:35:20 +00:00

Opened #3164 Уведомления бэкапов уходят в общую тему форума: TELEGRAM_TOPIC_ID не задан ни в одном env бэкапов 2026-08-27 18:35:21 +00:00

Opened #3168 import_rosreestr_dkp: курсор last_id живёт только в памяти — рестарт начинает импорт с нуля 2026-08-27 20:19:59 +00:00

Opened #3170 yandex_city_sweep: combo с упавшим сохранением уходит в чекпоинт — молчаливая дыра в покрытии 2026-08-27 21:15:11 +00:00

Opened #3171 Ротация IP прокси построена, но не вызвана ни разу: единственный вызывающий — ручка админки 2026-08-27 21:37:19 +00:00

Opened #3172 Свежесть источника меряется по статусу done — источник с блоками числится мёртвым, пока приносит данные 2026-08-27 21:44:27 +00:00

Opened #3175 Квартальный harvest НСПД не догоняет устаревание: 50 кварталов в неделю на 11 048 — покрытие сходится к 6% 2026-08-27 22:02:51 +00:00

Opened #3177 Авито detail: авторизованные сессии — хранение кук, липкость к прокси, прогрев в браузерном пути 2026-08-28 16:52:10 +00:00

Opened #3178 Авито/Домклик: ban_kind теряет явное большинство при схлопывании + причина в алерте захардкожена 2026-08-28 16:57:50 +00:00

Opened #3179 Авито: распространить существующее хранилище сессий (как у Циана/Домклика) + липкость к exit-IP 2026-08-28 16:57:51 +00:00

Opened #3180 Авито: браузерный путь берёт сохранённую сессию + прогрев, сейчас ходит холодным 2026-08-28 16:57:51 +00:00

Opened #3181 Авито: измерить потолок карточек на сессию и развести «аккаунт vs прогретые куки» 2026-08-28 16:57:52 +00:00

Opened #3182 Флаг AVITO_DETAIL_BACKFILL_USE_CURL имеет разные значения в контейнерах, которые оба исполняют задачи 2026-08-28 17:05:49 +00:00

Opened #3184 Обрыв по серии блоков срабатывает на КАЖДОМ прогоне (40 из 40 за 14 дней) — критерий не несёт информации 2026-08-28 17:34:38 +00:00

Opened #3185 Сайдкар безусловно блокирует картинки — camoufox предупреждает, что это детектируется WAF (44 раза за 3 часа) 2026-08-28 17:42:15 +00:00

Opened #3187 Сайдкар жёстко задаёт таймзону МСК поверх geoip — camoufox предупреждает о детекте при расхождении с IP 2026-08-28 18:05:46 +00:00

Opened #3189 Домклик: критерий обрыва по доле блоков — нужна своя калибровка (один прокси без ротации, цена ошибки другая) 2026-08-28 18:21:32 +00:00

Opened #3190 Домклик detail: сайдкар даёт чистый контекст на каждый запрос, мы реплеим протухший qrator_jsid2 — отсюда «одна карточка и стена» 2026-08-28 18:23:49 +00:00

Opened #3191 Яндекс: недорендеренная карточка (1,8 МБ вместо 3,9) принимается за успешную — проверка размера отвечает не на тот вопрос 2026-08-28 18:35:15 +00:00

Opened #3192 Яндекс: авторизованная сессия открывает контакты продавца (author.phoneNumbers) — хранилище сессии и извлечение телефонов 2026-08-28 18:41:14 +00:00

Opened #3194 Ключ шифрования кук и сами куки уезжают в GlitchTip через текст исключения SQLAlchemy (все три сервиса сессий) 2026-08-28 18:50:38 +00:00

Opened #3196 Скрапперы A1: detail-пути ДомКлика, Циана и Яндекса не проставляют ban_kind — 23 бана Авито числятся unknown, у Яндекса ветка бана мертва 2026-08-28 19:17:02 +00:00

Opened #3197 Скрапперы A2: четыре точки ходят мимо пула прокси, и тёплый контекст сайдкара ключуется по провайдеру, а не по узлу 2026-08-28 19:17:25 +00:00

Opened #3205 tradein/domclick: площадка отдаёт одну карточку на экземпляр браузера — перезапускать camoufox после каждой страницы 2026-08-29 09:58:51 +00:00

Opened #3208 dev-env: разделить трафик рабочей машины (VPN / геохайд / прод-прокси / обычный) — сейчас DNS тормозит и мешает воспроизводить прод локально 2026-08-29 10:32:34 +00:00

Opened #3212 fix(tradein/domclick): перезапуск браузера на карточку уничтожает пропуск QRATOR — лечим симптом, который сами и создаём 2026-08-29 10:59:12 +00:00

Opened #3219 MCP-стек рефакторинга: хвосты после PR #3209 (DuckDB, покрытие codanna, копипаста в forecasting) 2026-08-29 11:15:53 +00:00

Opened #3225 tradein: offer_price_history.diff_percent у domklik — колонка смешанных единиц (рубли и проценты вперемешку) 2026-08-29 13:02:30 +00:00

Opened #3234 Аналоги подбираются без учёта класса дома — total_floors как прокси серии 2026-08-29 15:19:45 +00:00

Opened #3239 tradein/domclick: после #3237 настоящий отказ площадки перестал банить узел — уехал в ветку «сбой транспорта» 2026-08-29 16:02:29 +00:00

Opened #3246 tradein/proxy: блок Домклика банит узел пула на двое суток там, где хватило бы сброса контекста 2026-08-29 18:27:39 +00:00

Opened #3248 Пересчитать хедонические коэффициенты поверх area-бакетного ratio — площадь штрафуется дважды, 4+ комнат занижены на 21% 2026-08-29 19:36:03 +00:00

Opened #3251 tradein/scrapers: проверить Авито, Циан и Яндекс тем же способом, что вскрыл дефекты Домклика 2026-08-29 20:03:44 +00:00

Opened #3252 tradein/domclick: аудит полноты — что есть на странице карточки и чего мы не забираем 2026-08-29 20:04:09 +00:00

Opened #3253 tradein/domclick: данные о доме с карточки не доезжают до houses — 400 домов против 3061 объявления 2026-08-29 20:04:31 +00:00

Opened #3256 Пересчитать asking_to_sold_ratios — бакет ≥85 м² занижен на 5%, остаток занижения крупного жилья 2026-08-29 20:14:10 +00:00

Opened #3261 tradein/domclick: проверить, не травят ли контекст инжектируемые куки сессии — последняя невыясненная разница между добором и ручными пробами 2026-08-29 21:05:08 +00:00

Opened #3263 tradein/browser: заход через поиск Яндекса срабатывает 2 раза из 9 — капча на выдаче, откат без Referer 2026-08-29 23:32:12 +00:00

Opened #3264 tradein/domclick: свип ходит на QRATOR без кук сессии — все запросы виснут на PoW, 0 лотов 2026-08-30 06:29:38 +00:00

Opened #3270 CI Trade-In: test_fifth_concurrent_estimate_gets_fast_429 виснет на 120с — гонка на sleep(0.05) 2026-08-30 08:59:54 +00:00

Opened #3272 tradein/domclick: «система защиты от протечек» в описании квартиры читалась свипом как блок QRATOR 2026-08-30 09:03:32 +00:00

Opened #3274 Публичный лендинг лежит 30–90 секунд при КАЖДОМ деплое: подмена контейнера всплывает как 502 2026-08-30 09:57:38 +00:00

Opened #3280 Лендинг на мобильном: тикер — 39% узлов страницы (446 из 1142). Анимация при этом невиновна 2026-08-30 10:45:53 +00:00

Opened #3283 tradein/domclick: пустой пул прокси и таймаут навигации считаются блоками площадки и вместе рвут добор карточек 2026-08-30 11:35:21 +00:00

Opened #3284 tradein/cian: добор карточек работает без единого отказа, но квота 100/сутки — остаток разгребается 190 дней 2026-08-30 12:23:07 +00:00

Opened #3288 tradein/avito: отказ сайдкара и пустой пул считаются блоками площадки и рвут добор по доле — тот же дефект, что #3283, но по ratio 2026-08-30 20:50:04 +00:00

Opened #3297 tradein/avito: browser-путь detail не смотрит на HTTP-статус — отказ 439 приезжает как ошибка парсинга, узел не ротируется 2026-08-31 10:36:23 +00:00

Opened #3299 tradein/proxy_pool: защита «последнего узла выделенной affinity» не считает узлы 'any' и прячет свободный узел от всех источников 2026-08-31 11:09:12 +00:00

Opened #3307 domrf_kn: наш.дом.рф сменил анти-бот на StormWall — IP Poincare блокируется, конвейер КН стоит с 28.06 2026-09-01 06:31:34 +00:00

Opened #3310 proxy_pool: защита последнего узла бережёт бан, но не счётчик отказов — узел выбывает через 3 мс после обещания «продолжит выдаваться» 2026-09-01 07:24:57 +00:00

Opened #3311 tradein/scrapers: 101 городское расписание выключено и не запускалось ни разу — 39 городов области не отличимы от «собрано и пусто» 2026-09-01 07:27:27 +00:00

Opened #3312 tradein/scheduler: пропуск по протухшим кукам Циана отбрасывает следующий запуск на сутки вместо шести часов — _defer_next_run_at не знает про interval_minutes 2026-09-01 07:28:00 +00:00

Opened #3315 avito exhaustive: резюм пере-пробивает готовые полосы — на худом пуле весь бан-бюджет сгорает до первой новой корзины 2026-09-01 17:13:12 +00:00

Opened #3316 [SECURITY][P1] tradein/team: имя из roles.yaml при создании сотрудника даёт эскалацию до admin — IDOR по всем оценкам и безлимит квоты 2026-09-02 06:51:27 +00:00

Opened #3319 avito_city_sweep: чекпоинт мёртв по построению — 0 из 67 прогонов за 60 дней записали done_buckets, плюс две дыры честности 2026-09-02 06:56:01 +00:00

Opened #3320 v2: четыре места, где числа честно посчитаны и нечестно показаны — «0,00 млн · −100%» зелёным, смешанные выборки в футере, deals-only полоса, бейдж о… 2026-09-02 06:56:21 +00:00

Opened #3321 лендинг: обязательные этаж и состояние уничтожаются непрочитанными — takeDraft() удаляет черновик целиком на монтировании /estimate 2026-09-02 06:56:38 +00:00

Opened #3322 Россети WFS: сессионный feature.id как external_id — power_supply_centers раздут ×10, ON CONFLICT не сработал ни разу 2026-09-02 06:57:00 +00:00

Opened #3323 Сборник аудита 02.09 — средние/низкие подтверждённые находки (7 шт., каждая с уликой скептика) 2026-09-02 06:57:31 +00:00

Opened #3324 Деплой ПТИЦЫ проверяет только backend /health — мёртвый frontend или crash-loop worker/beat уезжают зелёным деплоем 2026-09-02 06:57:51 +00:00

Opened #3332 domclick_detail_backfill: обрыв «пул пуст» бросает попытку неучтённой — attempted ≠ enriched+failed+blocked 2026-09-02 11:42:07 +00:00

Opened #3333 scraper-kit: дрейн-метка interrupted только у avito_city_sweep — у yandex/cian/newbuilding дрейн по-прежнему неотличим от полного done 2026-09-02 11:42:11 +00:00

Opened #3338 yandex/avito detail_backfill: save-False не начисляет исход — та же потеря попытки, что #3332 у domclick 2026-09-02 12:39:05 +00:00

Opened #3339 v2: флаг thin_market карточки avito_imv нигде не отрисован — «display-only» обещание без display 2026-09-02 12:42:20 +00:00

Opened #3341 PDF-отчёт клиента печатает реальные названия площадок — привести к норме publicLabel («Источник N») 2026-09-03 06:48:51 +00:00

Opened #3343 Флаки: test_auth_api.py — замер «худший сторонний запрос < 500 мс» падает на нагруженном раннере и роняет деплой tradein 2026-09-03 07:05:35 +00:00

Opened #3354 Alloy: второй слой скруббинга query-секретов (secret|token|api_key) в alloy-apps.alloy — defence-in-depth к #3154 2026-09-05 17:55:15 +00:00

Opened #3355 scraper-kit: ещё 4 дрейна с живым чекпоинтом без метки interrupted — domclick sweep и три full-load (cian/yandex/avito) нерезюмируемы после SIGTERM 2026-09-05 17:58:00 +00:00

Opened #3359 scraper-kit: containment-skip до пробы (#3315) подключён только у avito — cian/yandex full-load при резюме тоже пере-пробивают готовые полосы 2026-09-05 18:08:17 +00:00

Opened #3360 [SECURITY] Caddy: /trade-in/api/v1/admin/* доступен снаружи анонимно до guard'а — нет среза админского префикса на периметре 2026-09-05 18:13:24 +00:00

Opened #3366 scraper-kit: run_yandex_full_load не имеет job'а в планировщике — единственный вход админский POST, резюм/чекпоинт без авто-потребителя 2026-09-05 19:03:47 +00:00

Opened #3368 yandex full-load: _leaf, обрезанный max_pages_per_bucket/CAP, пишется в done-леджер как complete — с containment (#3362) хвост крупного бакета не переобходится 2026-09-05 19:15:06 +00:00

Opened #3369 domclick city sweep: cancel-ветка пишет counters без done_buckets — резюм cancelled-прогона пересобирает всё заново 2026-09-05 19:22:40 +00:00

Opened #3375 [P1] yandex full-load: _leaf/_degraded передают on_bucket(key, len(seen), …) — int уезжает в save_listings как lots → TypeError, ручной full-load Яндекса ничего не сохраняет 2026-09-05 20:07:16 +00:00

Opened #3376 domklik price history: 42 скачка ровно ×10 (потерянный разряд в цене источника) — миграция 285 их честно пересчитала в +900 %, гейт лоадера такие занулит; п… 2026-09-05 20:32:47 +00:00

Opened #3380 deploy-metrics: up -d не перечитывает одно-файловый bind-mount конфига Alloy (Beget читал конфиг 26.08 после успешного деплоя #3377) 2026-09-05 21:05:27 +00:00

Opened #3384 tradein: «пул пуст на старте батча» у cian/domclick detail-бэкфиллов уходит мимо no_proxy_stop — scheduler пишет failed со стухшими counters 2026-09-05 21:47:39 +00:00

Opened #3385 tradein/yandex: сдвиг разряда (×10) в истории цен Яндекса структурно не ловится на записи — нужен отлов «на следующем наблюдении» 2026-09-05 22:02:25 +00:00

Opened #3386 tradein-backend без USE_PROXY_POOL_* — браузерные скрейпы из backend (yandex full-load, админ-ручки) идут на SCRAPER_PROXY_URL = выключенный узел 9 (407) → camoufox InvalidIP, 83 провала … 2026-09-05 22:10:39 +00:00

Opened #3390 tradein: две живые копии mark_failed/mark_done с разной семантикой counters — app/services/scrape_runs.py ЗАМЕНЯЕТ, scraper_kit/orchestration/runs.py МЕРЖИТ (||) 2026-09-06 01:31:46 +00:00

Opened #3391 tradein: SIGTERM-drain при деплое не помечает app-task бэкфиллы (cian_detail/cian_history/avito/domclick detail) — hard-cancel через 100 с, строки остаются running → boot-reap делает их zombie 2026-09-06 02:42:14 +00:00

Opened #3393 tradein: прогоны, оборванные деплоем (interrupted=1), попадают в лестницы стриков — failed-ratio судит частичные counters, а done обнуляет стрик банов источника 2026-09-06 03:30:33 +00:00

Opened #3394 tradein/cian: фаза houses у cian_city_sweep падает 0/30 с 02.09 — fetch_newbuilding зовётся без proxy_provider → env-фолбэк на мёртвый узел 9 → сайдкар 503 2026-09-06 04:28:26 +00:00

Opened #3398 tradein: пул прокси на пути /estimate — синхронный acquire без statement_timeout на event loop, IMV-баны атрибутируются источнику avito целиком, house_imv_backfill curl-путь без … 2026-09-06 05:45:43 +00:00

Opened #3401 tradein/dadata: услуга CLEAN (стандартизация) выключена на аккаунте — HTTP 403, /estimate работает через suggest-fallback без canonical/cadnum (решение владельца: включить… 2026-09-06 07:18:32 +00:00

Opened #3402 tradein/cian: капча Циана приходит с HTTP 200 и не распознаётся как отказ площадки — cian_detail_backfill сжигает батч (0/210, 0/400) на одном узле, парсер пишет «def… 2026-09-06 08:34:05 +00:00

Opened #3404 Выбор оператора прокси неизмерим: прогон не связан с узлом, а история банов стирается успешной ротацией 2026-09-06 09:19:51 +00:00

Opened #3408 tradein-backend: пул коннектов SQLAlchemy 15 против пикового спроса до 28 на /estimate; sync db.execute/commit в estimator и cian_price_history на публичном event loop 2026-09-06 11:30:33 +00:00

Opened #3410 tradein/browser: /login сайдкара не принимает proxy-override — cian auto-login всегда идёт с env-узла сайдкара (сейчас выключенный узел 9 → InvalidIP) 2026-09-06 12:32:06 +00:00

Opened #3411 tradein/cian: страницы ЖК (zhk-*.cian.ru) не грузятся — Page.goto timeout 60s, фаза houses городского свипа остаётся пустой даже через пул 2026-09-07 10:31:33 +00:00

Opened #3412 tradein/browser: cian-инстанс camoufox отказывает в 63% запусков (99/156 за 30ч) — релонч браузера перед КАЖДЫМ fetch из-за чередования аренд; generic на том же узле 0% 2026-09-07 11:10:25 +00:00

Opened #3413 tradein/browser: cian-инстанс camoufox отказывает в 63% запусков (99/156 за 30ч) — релонч браузера перед КАЖДЫМ fetch из-за чередования аренд; generic на том же узле 0% 2026-09-07 11:10:31 +00:00

Opened #3414 tradein/browser: cian-инстанс camoufox отказывает в 63% запусков (99/156 за 30ч) — релонч браузера перед КАЖДЫМ fetch из-за чередования аренд; generic на том же узле 0% 2026-09-07 11:10:37 +00:00

Opened #3415 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:11:19 +00:00

Opened #3416 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:11:29 +00:00

Opened #3417 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:11:35 +00:00

Opened #3418 scraper-kit/cian: бакет уходит в done_buckets, хотя фаза houses внутри отказала полностью — следующий прогон пропускает фазу и рапортует done с houses_attempted=0 2026-09-07 11:11:41 +00:00

Opened #3419 tradein/cian: 80 таймаутов навигации в сутки на ПРОГРЕТЫХ инстансах — хвост латентности Циана против BROWSER_NAV_TIMEOUT_MS=60000 не измерен 2026-09-07 12:56:02 +00:00

Opened #3439 tradein/avito: серия отказов НАШЕГО тракта не рвёт detail-бэкфилл — 4 прогона × 1600 попыток дали 8 карточек и статус done (infra провалился между ratio-брейк… 2026-09-11 11:32:45 +00:00

Opened #3443 Полный деплой ПТИЦЫ роняет сам Caddy на 67 секунд — все домены отдают code=000, заглушка окна деплоя здесь бессильна по построению 2026-09-11 19:55:47 +00:00

Opened #3448 Быстрый путь caddy_only не исполняется: мерж с единственным caddy-файлом пересоздал весь стек ПТИЦЫ, а пропущенная джоба показана как success 2026-09-11 20:47:42 +00:00

Opened #3449 geocoder: отмена по бюджету оставляет поток работать с сессией запроса — следующий шаг ловит «another operation is in progress», персист оценки отдаёт 500 2026-09-11 21:30:26 +00:00

Opened #3450 MERA/оценка: премиальный лот прижимается к коридору сделок обычной вторички своей улицы — Малышева 84 теряет 41.8% от клампа 2026-09-11 21:43:12 +00:00

Opened #3451 tradein: TVF street_sales_vs_listings фильтрует сделки по d.rooms — та же синтетика, что снята в #3256; /sales-vs-listings отдаёт пустое пересечение 2026-09-11 21:53:46 +00:00

Opened #3452 MERA/оценка: порог показа коридора (3) и порог доверия к нему (10) рассогласованы — клиенты в зоне 3..9 видят коридор, но ценовая страховка молча … 2026-09-11 21:53:51 +00:00

Opened #3463 tradein-backend: у запросов к БД нет потолка ни по времени, ни по ожиданию блокировки — одна заблокированная таблица вешает /estimate для всех 2026-09-12 08:58:17 +00:00

Opened #3466 MERA/оценка: пометка «коридор справочный» не покрывает Tier A — там сделок много, пометки нет, а кламп всё равно выключен 2026-09-12 09:43:36 +00:00

Opened #3467 Деплой метрик кладёт правила на диск, но Prometheus их не перечитывает — правка алерта не вступает в силу, а деплой зелёный 2026-09-12 10:22:15 +00:00

Opened #3469 Витрина сделок на лендинге МЕРЫ не пересчитывается: задачи нет в расписании, последний прогон 30.08 (13 суток назад), всего 3 прогона за всё вр… 2026-09-12 10:34:58 +00:00

Opened #3471 Инвентаризация проблем прода 12.09.2026: потерянный ответ клиенту, доставка алертов, слепые зоны мониторинга 2026-09-12 10:39:16 +00:00

Opened #3480 tradein: транзакция живёт дольше часа регулярно (50 замеров из 4033 за 14 суток, пик 2.2 ч) — пока она жива, vacuum не убирает мёртвые строки во ВСЕЙ базе 2026-09-12 11:01:11 +00:00

Opened #3486 postgres-exporter: queries.yml примонтирован одиночным файлом и читается только при старте — правка не вступит в силу, джобы агентов пересоздают тольк… 2026-09-12 11:12:25 +00:00

Opened #3493 NoActiveCeleryWorkers врёт: воркер жив и берёт задачи каждую минуту, а тревога говорит «все periodic-таски встали» — на самом деле не поднят экспортер (ag… 2026-09-12 12:00:24 +00:00

Opened #3511 Витрина лендинга: прогон с нулём строк завершается успехом, гасит часы свежести и снимает со страницы весь блок вместе с датой 2026-09-12 16:38:46 +00:00

8 unresolved conversations