Commit graph

  • a200025571 Merge pull request 'chore(scrapers): убрать устаревший n1-скраппер (n1.ru → cian), сохранить историч. данные' (#1556) from chore/remove-n1-scraper into main bot-backend 2026-06-16 11:58:02 +00:00
  • c07b5d7c5d chore(tradein): деактивировать N1.ru scraper — источник переехал в Cian chore/remove-n1-scraper bot-backend 2026-06-16 14:50:51 +03:00
  • f160ad3859 Merge pull request 'fix(scrapers): cian detail — извлечение kitchen_area_m2 (part of #1553)' (#1555) from fix/cian-kitchen-area into main bot-backend 2026-06-16 11:42:35 +00:00
  • b390c8334c fix(tradein): cian detail-парсер не извлекал kitchen_area_m2 из offer.kitchenArea fix/cian-kitchen-area bot-backend 2026-06-16 14:37:49 +03:00
  • d76df54ece Merge pull request 'feat(scrapers): yandex detail-enrichment — save + ночной backfill через прокси (part of #1553)' (#1554) from feat/yandex-detail-backfill into main bot-backend 2026-06-16 11:18:18 +00:00
  • fd4a0d643d fix(tradein): review minors — scheduler comment + save-error log label feat/yandex-detail-backfill bot-backend 2026-06-16 14:14:07 +03:00
  • e2e0291a0a fix(tradein): yandex detail backfill — заменить fetch_detail на curl_cffi+proxy bot-backend 2026-06-16 14:05:22 +03:00
  • 03e43f12b5 feat(tradein): yandex detail backfill — save_detail_enrichment + nightly task (#1553) bot-backend 2026-06-16 13:58:20 +03:00
  • 1fc375c2cc Merge pull request 'feat(scrapers): ночной avito detail-enrichment backfill для legacy listings (Closes #1551)' (#1552) from feat/avito-detail-backfill into main bot-backend 2026-06-16 10:32:57 +00:00
  • 227e82dc01 feat(tradein): avito detail-enrichment nightly backfill (#1551) feat/avito-detail-backfill bot-backend 2026-06-16 13:25:29 +03:00
  • b968b811cb Merge pull request 'fix(scrapers): geocode-missing listings nightly scheduler — listings geom coverage backfill (all sources)' (#1549) from fix/geocode-missing-listings-scheduler into main lekss361 2026-06-16 08:32:22 +00:00
  • 6747ce941b Merge pull request 'fix(scrapers): avito detail parser — захват Жилая площадь / Высота потолков / Отделка' (#1550) from fix/avito-detail-apartment-fields into main lekss361 2026-06-16 08:32:14 +00:00
  • e76a8dcaef fix(tradein): review minors — ceiling_height_m numeric(5,2) + strengthen finishing test bot-backend 2026-06-16 10:24:20 +03:00
  • 5285a03c98 fix(tradein): avito detail parser — добавить living_area_m2/ceiling_height_m/finishing bot-backend 2026-06-16 10:19:09 +03:00
  • 17fa6544a2 fix(geocode): set geocode_tried_at on successful geocode UPDATE bot-backend 2026-06-16 10:07:51 +03:00
  • a56420bdfb fix(tradein): wire nightly geocode backfill для listings в in-app scheduler bot-backend 2026-06-16 10:01:49 +03:00
  • aab07845f6 Merge pull request 'fix(tradein): починить 3 теста-регрессии из #1543 — разблокировать deploy gate' (#1548) from fix/week-review-test-regressions into main lekss361 2026-06-16 06:08:12 +00:00
  • 55049046b1 fix(tradein): починить 3 теста-регрессии из #1543 (sber rollback mock, matching tier0, cian price history) — deploy gate green bot-backend 2026-06-16 09:03:27 +03:00
  • 7d39aebbd4 Merge pull request 'fix(tradein): hotfix миграции 108 — deploy red (typo + collision-safe репойнт)' (#1547) from fix/migration-108-collision-safe into main lekss361 2026-06-16 05:48:38 +00:00
  • dca3de10e6 fix(tradein): миграция 108 — typo cl.cluster_key + collision-safe репойнт (dup-vs-dup) bot-backend 2026-06-16 08:46:44 +03:00
  • 8d1a13ee5e Merge pull request 'fix(week-review): аудит код-ревью — 181 фиксов (label week ревью 1)' (#1543) from fix/week-review-audit into main lekss361 2026-06-16 05:46:11 +00:00
  • 91c2f6a6a8 Merge pull request 'fix(tradein): avito houses dedup через match_or_create_house + merge-миграция дублей (108)' (#1546) from fix/avito-houses-dedup-merge into main lekss361 2026-06-16 05:38:23 +00:00
  • bc504d9519 fix(tradein): M1 review — short_address для match_or_create_house (alias keyspace) bot-backend 2026-06-16 08:35:38 +03:00
  • be70cacf18 test: выровнять weather_cache/nspd_geo тесты под #1377/#1336 (CI red→green) bot-backend 2026-06-16 08:35:14 +03:00
  • b72af1cc49 fix(tradein): avito houses dedup через match_or_create_house + merge-миграция дублей (108) bot-backend 2026-06-15 22:40:46 +03:00
  • edfdd04923 fix(frontend): regen api-types.ts — rate_ms в BulkGeoEnqueueRequest bot-backend 2026-06-15 22:32:21 +03:00
  • c6bfce3d1a fix(migrations): живые миграции для прод-фиксов #1361/#1419/#1364 bot-backend 2026-06-15 21:31:28 +03:00
  • 291c000792 Merge pull request 'fix(tradein): yandex newbuilding rating drift — «4.3из 5» без пробела (#974)' (#1545) from fix/yandex-nb-rating-drift into main lekss361 2026-06-15 18:31:12 +00:00
  • 278dafba76 fix(tradein): yandex newbuilding rating drift — "4.3из 5" без пробела (#974) bot-backend 2026-06-15 21:29:43 +03:00
  • 0f95a15c8e Merge pull request 'fix(tradein): cian newbuilding MFE/reliability drift — initialState extraction (#972)' (#1544) from fix/cian-newbuilding-mfe-drift into main lekss361 2026-06-15 18:13:45 +00:00
  • 891598a5d7 fix(tradein): cian newbuilding MFE/reliability drift — initialState extraction (#972) bot-backend 2026-06-15 21:12:05 +03:00
  • 479f01ae1a Merge remote-tracking branch 'forgejo/main' into HEAD bot-backend 2026-06-15 21:07:05 +03:00
  • 483fdb0caa Merge pull request 'feat(tradein): scheduler-источник cian_city_sweep (newbuilding Phase 4), seed dormant (#973)' (#1296) from feat/cian-city-sweep-schedule into main lekss361 2026-06-15 17:48:33 +00:00
  • a77a175f66 Merge pull request 'fix(tradein): обновить test_scraper_proxy под BrowserFetcher-транспорт fetch_newbuilding' (#1542) from fix/cian-newbuilding-proxy-tests into main lekss361 2026-06-15 17:48:12 +00:00
  • 7fd69e90cd fix(site-finder/compare): thread velocityDataAvailable into compare columns (#1422) Light1YT 2026-06-15 21:33:10 +05:00
  • 1241d7fe4d fix(tradein): переименовать seed-миграцию 101→103 (коллизия с gendesign_reader #976) bot-backend 2026-06-13 11:25:56 +03:00
  • b0a4df48e1 feat(tradein): scheduler-источник cian_city_sweep (newbuilding Phase 4), seed dormant (#973) bot-backend 2026-06-13 11:20:34 +03:00
  • 35bc792cf2 fix(tradein): обновить test_scraper_proxy под BrowserFetcher-транспорт fetch_newbuilding — зелёный CI-гейт (#972) bot-backend 2026-06-15 19:02:13 +03:00
  • b3e7a9f9fa Merge pull request 'fix(tradein): cian fetch_newbuilding через BrowserFetcher (camoufox) — initialState под анти-ботом (#972)' (#1540) from fix/cian-newbuilding-browser-fetch into main lekss361 2026-06-15 15:44:42 +00:00
  • 3859624d1d Merge pull request 'feat(tradein): yandex_newbuilding sweep-entrypoint + market-схема enrichment, seed dormant (#974)' (#1541) from feat/yandex-newbuilding-sweep into main lekss361 2026-06-15 15:44:27 +00:00
  • c9daf8e268 fix(tradein): yandex sweep — guard ext_id=NULL перед fetch_jk + cleanup httpx (#974 review M1/M3) bot-backend 2026-06-15 18:41:08 +03:00
  • 8279b0ee1f fix(week-review): cross-file добивка код-ревью (#1338, #1363, #1419, #1421, #1424, #1480) Light1YT 2026-06-15 20:29:00 +05:00
  • feab585ad5 feat(tradein): yandex_newbuilding sweep-entrypoint + market-схема enrichment, seed dormant (#974) bot-backend 2026-06-15 18:28:58 +03:00
  • 86e9ea2937 fix(week-review): автофиксы код-ревью — 169 issue (label «week ревью 1») Light1YT 2026-06-15 20:21:11 +05:00
  • 480fbba3ca fix(tradein): cian fetch_newbuilding через BrowserFetcher (camoufox) — initialState под анти-ботом (#972) bot-backend 2026-06-15 18:19:32 +03:00
  • cab19020a9 perf(site-finder): pushdown obj_pricing CTE to nearby competitors (#70/#307) (#1335) bot-backend 2026-06-14 16:58:43 +00:00
  • af5e730438 perf(site-finder): pushdown obj_pricing CTE to nearby competitors in analyze (#70, #307) Light1YT 2026-06-14 21:48:45 +05:00
  • 863577beb6 feat(sql): corroborated trgm backfill objective_complex_mapping +17 (#307 OBJ-2 r2) (#1333) bot-backend 2026-06-14 16:45:55 +00:00
  • 5bf30570a5 perf(sql): geography GIST + covering index для analyze-пути Site Finder (157) (#1334) bot-backend 2026-06-14 16:45:22 +00:00
  • 904e945035 perf(sql): geography GIST + covering index для горячего analyze-пути SF (157) Light1YT 2026-06-14 21:32:38 +05:00
  • bcd1b53e25 feat(sql): corroborated trgm backfill objective_complex_mapping +17 (#307 OBJ-2 r2) Light1YT 2026-06-14 21:29:27 +05:00
  • b405ae291d feat(site-finder): additive objective_lots price fallback for competitors (#307 OBJ-3) (#1332) bot-backend 2026-06-14 16:10:02 +00:00
  • 0778af5d2c feat(site-finder): additive objective_lots price fallback for competitors (#307 OBJ-3) Light1YT 2026-06-14 20:59:50 +05:00
  • f9dd903f4d feat(sql): conservative trgm backfill objective_complex_mapping +23 (#307 OBJ-2) (#1331) bot-backend 2026-06-14 15:51:38 +00:00
  • b421f62b3c feat(sql): conservative trgm backfill of objective_complex_mapping (#307 OBJ-2) Light1YT 2026-06-14 20:41:51 +05:00
  • f376d8ce05 fix(tradein-browser): non-fatal launch + background proxy retry (crash-loop 3141x) (#1330) bot-backend 2026-06-14 15:18:58 +00:00
  • 74461e8611 fix(tradein-browser): non-fatal launch + background proxy retry Light1YT 2026-06-14 20:16:12 +05:00
  • 72e0b050f9 feat(site-finder): POI saturation per capita по районам ЕКБ (#42) (#1329) bot-backend 2026-06-14 15:05:22 +00:00
  • 1b77f479e7 feat(site-finder): POI saturation per capita по районам ЕКБ (#42) Light1YT 2026-06-14 19:51:42 +05:00
  • e5e0ccb283 feat(site-finder): сетевые обременения из ЗОУИТ (#1070, Refs #103) (#1328) bot-backend 2026-06-14 14:49:32 +00:00
  • 5507bbc1a4 feat(site-finder): domrf→cad geom-match + parking_ratio конкурентов (#96) (#1327) bot-backend 2026-06-14 14:49:28 +00:00
  • 3dee18743d chore(frontend): regen api-types.ts для /competitors-parking endpoint (#96 codegen-gate) Light1YT 2026-06-14 19:22:33 +05:00
  • 3f245026ee feat(site-finder): выделить сетевые обременения из ЗОУИТ (#1070, Refs #103) Light1YT 2026-06-14 19:17:33 +05:00
  • 7e2065a74f feat(site-finder): wire domrf→cad_buildings geom-match + parking_ratio конкурентов (#96) Light1YT 2026-06-14 19:17:30 +05:00
  • 2c22c3f7ea feat(site-finder): per-building помещения/машино-места + parking_ratio (on-demand MVP, #96) Light1YT 2026-06-14 18:48:16 +05:00
  • 11aa011d11 perf(db): covering-index objective_lots district-price (#70) + 152-ФЗ/perf audit docs (#70 #79) Light1YT 2026-06-14 00:09:09 +05:00
  • d030b04cf2 docs(infra): secrets rotation policy + procedure (#78) Light1YT 2026-06-13 23:48:14 +05:00
  • eb251ba7e7 ci(infra): coverage-gate (#68) + OpenAPI codegen-assert (#69) + uptime monitoring (#75) Light1YT 2026-06-13 23:28:06 +05:00
  • d38417d8af feat(admin): freshness endpoint (#73) + README Forgejo refresh (#83) + migrations doc (#72) Light1YT 2026-06-13 23:12:28 +05:00
  • 8107c23f18 feat(frontend): mobile responsiveness (#66) + data-sources страница (#80) Light1YT 2026-06-13 23:12:31 +05:00
  • e027f0a6ea feat(admin): freshness endpoint (#73) + README Forgejo refresh (#83) + migrations doc (#72) Light1YT 2026-06-13 23:12:28 +05:00
  • 0b20d98b45 feat(site-finder): ЗОУИТ visual layer на Leaflet карте (#255) Light1YT 2026-06-13 22:31:59 +05:00
  • 7d81b1b65f feat(site-finder): ЗОУИТ visual layer на Leaflet карте (#255) Light1YT 2026-06-13 22:31:59 +05:00
  • 50555821fb feat(site_finder): routing POI decay (#41) + OSM utility distances (#44) + ЗОУИТ geom (#255bk) Light1YT 2026-06-13 22:31:56 +05:00
  • adc6dde015 feat(site-finder): multi-cad сравнение (#50) + analytics поиск/cross-links (#65) Light1YT 2026-06-13 22:04:52 +05:00
  • 7d69364e5f feat(site-finder): multi-cad сравнение (#50) + analytics поиск/cross-links (#65) Light1YT 2026-06-13 22:04:52 +05:00
  • 658d724075 feat(analytics): velocity-anomaly alerts (#17) + ARN ДДУ price indicator (#99) Light1YT 2026-06-13 22:04:49 +05:00
  • 3bbbf25412 feat(concept): concept-компоненты (DrawMap/ParamsForm/VariantsResult/ResultMap/ExportButtons) (#57) Light1YT 2026-06-13 21:33:23 +05:00
  • 750d34d5cb feat(concept): Concept UI Stage 1d — ввод участка + варианты (#57) Light1YT 2026-06-13 21:32:35 +05:00
  • 72583ed026 feat(concept): concept-компоненты (DrawMap/ParamsForm/VariantsResult/ResultMap/ExportButtons) (#57) Light1YT 2026-06-13 21:33:23 +05:00
  • 8242e51b61 feat(generative): exporters (dxf/pdf) + generative test suite (#54 #55 #56) Light1YT 2026-06-13 21:33:20 +05:00
  • ab4126eaa1 feat(concept): Concept UI Stage 1d — ввод участка + варианты (#57) Light1YT 2026-06-13 21:32:35 +05:00
  • 3b79533f9f feat(generative): движок концепций Stage 1a/1b/1c (#54 #55 #56) Light1YT 2026-06-13 21:32:32 +05:00
  • d737307022 feat(site-finder): НСПД verify deep-links + landing GenDesign vs НСПД таблица (#97 #100) Light1YT 2026-06-13 20:45:08 +05:00
  • 35871a32bd feat(site-finder): НСПД verify deep-links + landing GenDesign vs НСПД таблица (#97 #100) Light1YT 2026-06-13 20:45:08 +05:00
  • 1883271908 fix(cadastre): NSPD 500-retry + per-layer skip (#252) + disable dead pzz-beat (#259) + geom backfill (#200) Light1YT 2026-06-13 20:45:05 +05:00
  • 84d08940c6 fix(analytics): свежая ипотечная ставка + recommend last_updated + drop dead route (#236 #237 #251) Light1YT 2026-06-13 20:14:57 +05:00
  • 1836a13fb5 fix(analytics): свежая ипотечная ставка + recommend last_updated + drop dead route (#236 #237 #251) Light1YT 2026-06-13 20:14:57 +05:00
  • 6883d14177 fix(ops): repair broken main-DB backup + harden auth scripts/docs (#71 #427 #429 #428) Light1YT 2026-06-13 20:13:04 +05:00
  • d1bc59a5dd chore(objective): fuzzy backfill objective_complex_mapping +115 dev-corroborated (#307 OBJ-2) Light1YT 2026-06-13 18:50:57 +05:00
  • 414601c1d2 test(analytics): vitest для ObjectSaleChart union-months alignment (#1246) Light1YT 2026-06-13 18:20:41 +05:00
  • e2c8c0e97b fix(analytics): выровнять ObjectSaleChart серии по union месяцев всех типов (#1246) Light1YT 2026-06-13 18:20:25 +05:00
  • 16e505326d perf(site-finder): honour AbortSignal в poll-цикле useParcelAnalyzeQuery (#1248) Light1YT 2026-06-13 18:10:21 +05:00
  • b95ba75ac8 perf(site-finder): honour AbortSignal в poll-цикле useParcelAnalyzeQuery (#1248) Light1YT 2026-06-13 18:10:21 +05:00
  • 3cf9fad683 fix(backend): экранировать Excel formula-injection (#1244) + увести chat-чтение с event loop (#1245) Light1YT 2026-06-13 18:10:21 +05:00
  • 99c9a130bc feat(forecast): расширить горизонт прогноза до 24 мес (ТЗ §12.1) Light1YT 2026-06-13 17:27:35 +05:00
  • 4454244ac2 chore(tradein-db): drop duplicate listings_geom_active_idx (#730) Light1YT 2026-06-13 16:47:58 +05:00
  • 851613c4e4 chore(tradein-db): drop duplicate listings_geom_active_idx (#730) Light1YT 2026-06-13 16:47:58 +05:00
  • 6444dc0ebd fix(tradein-frontend): остановить retry-storm на 401 — refetchOnMount:false + backoff (#800) Light1YT 2026-06-13 16:47:58 +05:00
  • e1442d3b1d feat(tradein-scheduler): nightly newbuilding-enrichment schedule (#973) Light1YT 2026-06-13 16:24:03 +05:00