Commit graph

  • 6322d10199 feat(forecasting): §11 macro-scenarios (conservative/base/aggressive) (#984, 954-A) Light1YT 2026-06-03 12:59:17 +05:00
  • 691ccef4b7 feat(forecasting): class/commercial/USP §10.2/10.4/10.5 + §16 (#983, 953-B) (#1015) bot-backend 2026-06-03 07:52:24 +00:00
  • bba165a5f2 feat(forecasting): §10.2/10.4/10.5 + §16 reasons on forecast-overlay (#983, 953-B) Light1YT 2026-06-03 12:52:19 +05:00
  • 72e9b24f2c feat(recommend): horizon-aware recommend_mix opt-in overlay (#982, 953-A) (#1014) bot-backend 2026-06-03 07:40:33 +00:00
  • 574ee43577 feat(forecasting): recommendation overlay module + schema/route (#982, 953-A) Light1YT 2026-06-03 12:40:03 +05:00
  • eef240a17f feat(recommend): horizon-aware forecast-overlay for recommend_mix (#982, 953-A) Light1YT 2026-06-03 12:28:00 +05:00
  • 489e380f1e feat(forecasting): what-to-build ranker + MAI proxy (#981, 952-B) (#1013) bot-backend 2026-06-03 07:07:17 +00:00
  • 78b667b018 feat(forecasting): §9.7 what-to-build ranker + §7.9 MAI proxy (#981, 952-B) Light1YT 2026-06-03 12:07:12 +05:00
  • 70ffa399fc feat(forecasting): demand-supply forecast engine (#980, 952-A) (#1012) bot-backend 2026-06-03 06:56:33 +00:00
  • f3b04331f4 feat(forecasting): demand-supply forecast engine (#980, 952-A §9.7) Light1YT 2026-06-03 11:56:28 +05:00
  • 9758e21cbd feat(forecasting): §9.4 demand-normalization coefficient (#951f, advisory) (#1011) bot-backend 2026-06-03 06:28:14 +00:00
  • 81df075ccc feat(forecasting): §9.4 demand-normalization coefficient (#951f, advisory) Light1YT 2026-06-03 11:28:10 +05:00
  • 69ad6c87fc feat(forecasting): §9.5 macro coefficient (#951e, advisory) (#1010) bot-backend 2026-06-03 06:20:04 +00:00
  • a5e887ae32 feat(forecasting): §9.5 macro coefficient (#951e, advisory) Light1YT 2026-06-03 11:19:59 +05:00
  • f41e2536d8 feat(forecasting): §9.6 key-rate sensitivity module (#951d, advisory) (#1009) bot-backend 2026-06-03 06:06:16 +00:00
  • f87c5cb0b8 feat(forecasting): §9.6 key-rate sensitivity module (#951d, advisory) Light1YT 2026-06-03 11:05:55 +05:00
  • c7bfc9e22a feat(forecasting): monthly sales series builder for §9.6 (#951c) (#1008) bot-backend 2026-06-03 05:52:33 +00:00
  • e3bb125910 feat(forecasting): monthly sales series builder for §9.6 (#951c) Light1YT 2026-06-03 10:50:28 +05:00
  • ace3b99508 feat(forecasting): monthly macro series + regime classifier (#951b) (#1007) bot-backend 2026-06-03 05:37:43 +00:00
  • 6a79b99c29 feat(forecasting): monthly macro series + key-rate regime classifier (#951b) Light1YT 2026-06-03 10:37:24 +05:00
  • a10592847d feat(site_finder): future-supply-pressure index (#950 Step 6) (#1006) lekss361 2026-06-03 05:10:08 +00:00
  • f8daf50f5f feat(site_finder): future-supply-pressure index (#950 Step 6) Light1YT 2026-06-03 01:57:29 +05:00
  • ae85f19993 feat(workers): supply-layers refresh task + weekly beat (#950 Step 5) (#1005) Light1YT 2026-06-02 20:47:05 +00:00
  • 1db488ba99 feat(workers): supply-layers refresh task + weekly beat (#950 Step 5) Light1YT 2026-06-03 01:45:30 +05:00
  • 900802264a feat(site-finder): supply_layers v2 compute service (#950 EPIC6 step3+4) (#1004) Light1YT 2026-06-02 20:34:26 +00:00
  • a5cc24dc8a feat(site-finder): supply_layers v2 compute service (#950 EPIC6 step3+4) Light1YT 2026-06-03 01:33:54 +05:00
  • 33ecbda689 feat(db): supply_layers store + latest view (#950 PR B) (#1003) Light1YT 2026-06-02 20:21:04 +00:00
  • 37b4330eae feat(db): supply_layers store + latest view (#950 PR B) Light1YT 2026-06-03 01:20:04 +05:00
  • 420cda2831 feat(domrf): persist domrf_kn_objects.free_flats (#950 PR A) (#1002) Light1YT 2026-06-02 20:06:29 +00:00
  • e961ea9435 feat(domrf): persist domrf_kn_objects.free_flats (#950 PR A) Light1YT 2026-06-03 01:05:05 +05:00
  • 59be55f80e feat(site-finder): per-competitor relevance_weight (#949 PR B) (#1000) Light1YT 2026-06-02 19:45:38 +00:00
  • 2450159fe9 feat(site-finder): per-competitor relevance_weight (#949 PR B) Light1YT 2026-06-03 00:45:28 +05:00
  • 45d61ecff0 feat(site_finder): market-metrics service (#949 PR A, §9.2) (#997) Light1YT 2026-06-02 19:26:26 +00:00
  • c4a06813c2 feat(site_finder): market-metrics service (#949 PR A, ТЗ §9.2) Light1YT 2026-06-03 00:23:55 +05:00
  • c78c6ec2d0 feat(site-finder): live CBR key-rate scraper → macro_indicator (#945 PR B) (#964) Light1YT 2026-06-02 19:05:57 +00:00
  • ea42d29a4a feat(site-finder): live CBR key-rate scraper → macro_indicator (#945 PR B) Light1YT 2026-06-03 00:05:25 +05:00
  • dbae4b0bda feat(site-finder): macro_indicator table + backfill + reader (#945 PR A) (#963) Light1YT 2026-06-02 18:41:28 +00:00
  • 77b5fb800e feat(site-finder): unified macro_indicator table + backfill + reader (#945 PR A) Light1YT 2026-06-02 23:41:16 +05:00
  • 6e2bb80690 Merge pull request 'fix(tradein): collapse CRM block + density so input form fits laptops' (#943) from fix/tradein-form-fit-laptops into main lekss361 2026-06-01 08:02:47 +00:00
  • 702f322b22 fix(tradein): collapse CRM block + density so form fits laptops fix/tradein-praktika-logo-form-scroll bot-backend 2026-06-01 10:58:43 +03:00
  • 8751fe819b Merge pull request 'fix(tradein): praktika wordmark logo + form button cutoff on short viewports' (#942) from fix/tradein-praktika-logo-form-scroll into main lekss361 2026-06-01 07:18:49 +00:00
  • ed15559f80 fix(tradein): praktika wordmark logo + form button cutoff on short viewports bot-backend 2026-06-01 10:15:49 +03:00
  • a23e650fae fix(tradein): system-curl subprocess transport for Yandex SERP over SOCKS5 (#940) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-05-31 22:39:06 +00:00
  • 4f7426b28c fix(tradein): system-curl subprocess transport for Yandex SERP over SOCKS5 bot-backend 2026-06-01 01:35:47 +03:00
  • 921c14e054 feat(trade-in): OfferCard — убрать редактируемую цену + ползунок торга, разбивка на дефолтах (#939) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 22:31:20 +00:00
  • 5dbcc45b34 feat(trade-in): OfferCard — убрать редактируемую цену + ползунок торга, разбивка на дефолтах bot-backend 2026-06-01 01:17:00 +03:00
  • 567549c3aa feat(tradein): cian full-load secondary-only — drop novostroyki at parse (#938) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 21:35:32 +00:00
  • d93e96fb0c feat(tradein): checkpoint/resume for yandex full-load — survive restart (#930) (#937) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-05-31 21:34:23 +00:00
  • 3294bc2021 fix(tradein): exclude novostroyki from radius-median comp pool (#935) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 21:33:23 +00:00
  • 77ed21a479 feat(tradein): cian full-load secondary-only — drop novostroyki at parse bot-backend 2026-06-01 00:32:31 +03:00
  • d45018f0c2 feat(tradein): checkpoint/resume for yandex full-load — survive restart (#930) bot-backend 2026-06-01 00:17:32 +03:00
  • 571980c56e feat(tradein): ppm²-tier segmentation of asking→sold ratio (#928, flag OFF) (#934) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-05-31 21:22:39 +00:00
  • 14bcb21221 fix(tradein): exclude novostroyki from radius-median comp pool bot-backend 2026-06-01 00:21:35 +03:00
  • 3bcfb6b2f1 feat(tradein): checkpoint/resume for yandex full-load — survive restart (#930) feat/yandex-exhaustive-price-room bot-backend 2026-06-01 00:17:32 +03:00
  • 4b0fd10cb0 fix(tradein): #928 cache-key collision, migration-098 band guard, tier-signal note bot-backend 2026-06-01 00:13:16 +03:00
  • 846c5014c6 feat(tradein): checkpoint/resume for cian full-load — survive restart (#930) (#932) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 21:11:48 +00:00
  • 2bcccdf619 feat(tradein): exhaustive Yandex realty load — adaptive room×price + concurrency (#931) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-05-31 21:10:26 +00:00
  • 47afe402c1 feat(tradein): checkpoint/resume for cian full-load — survive restart (#930) bot-backend 2026-06-01 00:03:09 +03:00
  • 46db7ebcba feat(tradein): ppm2-tier segmentation of asking->sold ratio pool, flag-gated (#928) bot-backend 2026-05-31 23:58:46 +03:00
  • 830657c1ab feat(tradein): exhaustive Yandex realty load — adaptive room×price + concurrency bot-backend 2026-05-31 23:58:38 +03:00
  • 5e94d558b5 perf(tradein): cian full-load incremental save + concurrent pagination (#929) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 20:27:27 +00:00
  • 2ebc3eeead fix(tradein): drop undefined _cancelled assign in cian-full-load cancel path bot-backend 2026-05-31 23:24:42 +03:00
  • a9f71686a9 perf(tradein): cian full-load incremental save + concurrent pagination bot-backend 2026-05-31 23:19:46 +03:00
  • ecf8add2ce fix(browser): pageError.location needs valid defaults, not just optional chaining (#918 follow-up) (#927) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 20:15:39 +00:00
  • 7141648d35 fix(browser): pageError.location needs valid defaults, not just optional chaining (#918 follow-up) bot-backend 2026-05-31 23:13:19 +03:00
  • 0883f6d0f1 feat(tradein): exhaustive Cian EKB secondary load — room×price partitioning (#926) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 19:54:19 +00:00
  • 587564153f fix(tradein): cian _rotate_ip uses cian_proxy_rotate_url; page-scope idiom bot-backend 2026-05-31 22:51:52 +03:00
  • 46269b527a feat(tradein): exhaustive Cian EKB secondary load — room×price partitioning bot-backend 2026-05-31 22:43:05 +03:00
  • 26c0b94131 Merge pull request 'fix(tradein): add cian_proxy_url to test _mock_settings — unblock deploy (#923)' (#925) from fix/cian-proxy-test-mock into main lekss361 2026-05-31 19:34:41 +00:00
  • a5457af716 Merge pull request 'fix(tradein): skip TLS verify for sberindex.ru pull — server omits LE intermediate (#922)' (#924) from fix/922-sber-tls-verify into main lekss361 2026-05-31 19:34:24 +00:00
  • b9690d4d63 fix(tradein): add cian_proxy_url to test _mock_settings — unblock deploy (#923) bot-backend 2026-05-31 22:34:16 +03:00
  • ca0943689d fix(tradein): skip TLS verify for sberindex.ru pull — server omits LE intermediate (#922) bot-backend 2026-05-31 22:33:42 +03:00
  • 02af421799 feat(tradein): dedicated Cian mobile proxy — separate egress from Avito (#923) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 19:30:14 +00:00
  • e63bdd9c65 feat(tradein): dedicated Cian mobile proxy — separate egress from Avito (#cian-proxy) bot-backend 2026-05-31 22:27:30 +03:00
  • 3bd107f923 test(tradein): fix #794 test regressions on main (broken by #919 early squash-merge) (#921) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-05-31 19:05:10 +00:00
  • 2564cd6667 test(tradein): fix #794 test regressions on main — update sber/dkp tests to new API, dedup test files bot-backend 2026-05-31 22:00:54 +03:00
  • d2722df52f test(tradein): fix #794 regressions — update existing sber/dkp tests to new API, dedup test files feat/794-sber-time-adjust bot-backend 2026-05-31 21:55:14 +03:00
  • 4999c877ae feat(tradein): СберИндекс time-adjust for frozen Rosreestr ДКП + per-dashboard filter fix (#794) (#919) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-05-31 18:48:22 +00:00
  • 19cf1162a0 fix(browser): null-guard pageError.location in playwright bundle (#915) (#918) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 18:45:41 +00:00
  • 468bdb052b fix(tradein): sber series fallback continues on error + benchmark gated to ЕКБ region (#794 review) bot-backend 2026-05-31 21:37:41 +03:00
  • a6afb4ad2b fix(browser): null-guard pageError.location in playwright bundle (#915) bot-backend 2026-05-31 21:34:43 +03:00
  • 3485b977f1 feat(tradein): СберИндекс time-adjust for frozen Rosreestr ДКП + per-dashboard filter fix (#794) bot-backend 2026-05-31 21:33:36 +03:00
  • 62d989b8a3 feat(tradein): Cian browser auto-login — POST /admin/scrape/cian/auto-login (#639) (#917) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 18:24:51 +00:00
  • 683cb50245 fix(tradein): wire validated Cian login selectors + 2-step flow + review fixes (#639) bot-backend 2026-05-31 21:17:09 +03:00
  • 92f44ac968 feat(tradein): route avito pipeline SERP+detail+houses through BrowserFetcher (#915) (#916) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 18:10:38 +00:00
  • 9fbe8e2717 fixup(tradein): merge main (#901 avito browser branch) + real SERP-routing test (#915) bot-backend 2026-05-31 21:07:46 +03:00
  • e19e45b3f4 Merge remote-tracking branch 'forgejo/main' into feat/915-pipeline-browser-routing bot-backend 2026-05-31 21:05:37 +03:00
  • 10bed769d3 fixup(tradein): real _cffi assert + module-level firewall import + SERP-routing test (#915) bot-backend 2026-05-31 21:01:21 +03:00
  • 1f18a2ccdc feat(tradein): Cian browser auto-login — POST /admin/scrape/cian/auto-login (#639) bot-backend 2026-05-31 20:57:39 +03:00
  • 5f3f55faef feat(tradein): route avito pipeline SERP+detail+houses through BrowserFetcher (#915) bot-backend 2026-05-31 20:30:53 +03:00
  • 639d3b0cea feat(tradein): systemd timer scheduler — trigger script + units + SCHEDULER_ENABLE flag (#581) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 16:53:38 +00:00
  • 2c5b83268b feat(tradein): systemd timer scheduler — trigger script + units + SCHEDULER_ENABLE flag (#581) bot-backend 2026-05-31 19:50:49 +03:00
  • 441e48141b feat(tradein): avito SERP via BrowserFetcher behind scraper_fetch_mode (#901) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-05-31 16:49:35 +00:00
  • 80b953d0bc fixup(tradein): avito browser-mode — skip curl client alloc + rotation-false test (#901) bot-backend 2026-05-31 19:46:34 +03:00
  • 1eb241da34 feat(tradein): avito SERP via BrowserFetcher behind scraper_fetch_mode (#901) bot-backend 2026-05-31 19:36:08 +03:00
  • 9d357f0cc4 Merge pull request 'fix(browser): bump fetch wait 2500→6000ms so avito listings hydrate (#905) — migration proven' (#912) from fix/905-browser-wait-ms into main lekss361 2026-05-31 16:20:42 +00:00
  • f09d9737ce fix(browser): bump fetch wait 2500→6000ms so avito listings hydrate (#905) bot-backend 2026-05-31 19:17:01 +03:00
  • c43a25ef42 Merge pull request 'fix(browser): camoufox reads AVITO_PROXY_URL → real avito data not soft-block stub (#905)' (#911) from fix/905-browser-proxy-env into main lekss361 2026-05-31 15:51:43 +00:00
  • 3527a6bc8d style(browser): fix pre-existing ruff lints in server.py (RUF100, E501) bot-backend 2026-05-31 18:50:35 +03:00
  • 57acec215f fix(browser): read AVITO_PROXY_URL for camoufox proxy (#905) bot-backend 2026-05-31 18:49:45 +03:00