Commit graph

  • 9890a4189c fix(tests): test_849 savepoint-count 2→3 на лот (#1921 добавил upsert-reconcile SAVEPOINT, sequential) fix/test-849-savepoint-count bot-backend 2026-06-26 19:29:08 +03:00
  • d111573a4b Merge pull request 'fix(trade-in/ui): расшифровка ДКП/IMV/CV + графики на --viz токены + убрать emoji (#1871)' (#1922) from fix/tradein-redesign-pack into main lekss361 2026-06-26 16:19:23 +00:00
  • 74ea6659ea Merge pull request 'fix(scrapers): avito_full_load краш (source_id-reconcile) + cian/yandex ban-ротация' (#1921) from fix/scraper-resilience-upsert-rotation into main lekss361 2026-06-26 16:19:06 +00:00
  • 5d5b2981fc Merge pull request 'fix(estimator): флаг + тесты для ghost-anchor guard и radius-dedup (#1871)' (#1919) from fix/estimator-trust-ghost-dedup into main lekss361 2026-06-26 16:18:58 +00:00
  • 27766acf38 fix(trade-in/ui): расшифровка ДКП/IMV/CV + графики на --viz токены + убрать emoji из вердиктов (#1871) bot-backend 2026-06-26 19:16:55 +03:00
  • c1cdf3969c fix(scrapers): ban/stuck-ротация для cian+yandex (provider-aware _rotate_proxy_ip) bot-backend 2026-06-26 19:10:26 +03:00
  • 197068c515 fix(scrapers): save_listings — UPDATE by (source,source_id) при dedup_hash-дрейфе (avito_full_load краш) bot-backend 2026-06-26 19:10:12 +03:00
  • 2fe34ac785 fix(estimator): ghost-anchor — confidence='low' when radius analogs empty (#1871) (#1920) bot-backend 2026-06-26 16:07:12 +00:00
  • 99736b6e32 fix(estimator): ghost-anchor — confidence='low' when radius analogs empty (#1871) Light1YT 2026-06-26 21:01:34 +05:00
  • 9678aface5 fix(estimator): dedup radius-аналогов — не раздувать n_analogs (#1871) bot-backend 2026-06-26 18:52:11 +03:00
  • 68f7c0e015 fix(estimator): запрет confidence=high при n_analogs=0 (#1871 ghost-anchor) bot-backend 2026-06-26 18:50:19 +03:00
  • e03c810306 feat(tradein-imv): route IMV backfill через BrowserFetcher.fetch_json за dormant-флагом (#915 Stage 3) (#1916) bot-backend 2026-06-26 09:54:28 +00:00
  • e347303465 docs(tradein): document SCRAPER_FETCH_MODE + AVITO_IMV_USE_BROWSER_FETCHER in .env.example (#915) Light1YT 2026-06-26 14:53:57 +05:00
  • 0d010a707c feat(tradein-imv): route IMV backfill через BrowserFetcher.fetch_json за dormant-флагом (#915 Stage 3) Light1YT 2026-06-26 14:42:26 +05:00
  • d479edeb3f feat(tradein-browser): additive POST /fetch-json + BrowserFetcher.fetch_json (#915 Stage 2) (#1915) bot-backend 2026-06-26 09:30:35 +00:00
  • 8eec6a752c feat(tradein-browser): additive POST /fetch-json + BrowserFetcher.fetch_json (#915 Stage 2) Light1YT 2026-06-26 14:25:06 +05:00
  • e0cd378d19 fix(migration-133): dedup via cascade-delete, not child re-point (prod hotfix) bot-backend 2026-06-26 08:16:27 +00:00
  • f1141f3578 fix(migration-133): dedup via cascade-delete, not child re-point (prod hotfix) Light1YT 2026-06-26 13:14:57 +05:00
  • 1d5b081cb4 fix(cian): recover new-build house via cadastral anchor + listings (source,source_id) dedup (#1773) (#1912) bot-backend 2026-06-26 07:45:22 +00:00
  • 3f1925052b feat(scheduler): wire house_imv_backfill as scheduled source (#854) (#1910) bot-backend 2026-06-26 07:45:08 +00:00
  • f091554942 fix(scrapers): named BrowserSession concurrency const, fix Semaphore(3) doc drift (#1347) (#1913) bot-backend 2026-06-26 07:44:29 +00:00
  • 9c52e0b29f feat(etl): housing-class normalization fallback via yandex_realty trigram match (#38) (#1911) bot-backend 2026-06-26 07:44:25 +00:00
  • 5ed88c41a4 fix(avito): post-merge polish — unify fetch_mode guard + empty-render guard (#1811) (#1909) bot-backend 2026-06-26 07:44:22 +00:00
  • 282243fb97 fix(cian): recover new-build house number via cadastral anchor + listings (source,source_id) dedup (#1773) Light1YT 2026-06-26 12:29:25 +05:00
  • 95b2fb34e2 feat(etl): housing-class normalization fallback via yandex_realty trigram match (#38) Light1YT 2026-06-26 12:26:13 +05:00
  • 14798cc07c feat(scheduler): wire house_imv_backfill as scheduled source (#854) Light1YT 2026-06-26 12:25:01 +05:00
  • 9b9cc99c11 fix(avito): post-merge polish — unify fetch_mode guard + empty-render guard (#1811) Light1YT 2026-06-26 12:20:13 +05:00
  • c3542ec519 fix(scrapers): make BrowserSession concurrency a named const, fix Semaphore(3) doc drift (#1347) Light1YT 2026-06-26 12:19:33 +05:00
  • 67d41df880 fix(freshness): repoint nspd source to live nspd_quarter_dumps (data-table mode) bot-backend 2026-06-26 06:51:00 +00:00
  • 5b2b8e1958 fix(freshness): repoint nspd source to live nspd_quarter_dumps (data-table mode) Light1YT 2026-06-26 11:38:46 +05:00
  • 2304e09e37 fix(freshness): calibrate kn staleness thresholds to weekly cadence bot-backend 2026-06-26 06:33:29 +00:00
  • 1ea8d0b721 fix(freshness): calibrate kn staleness thresholds to weekly cadence Light1YT 2026-06-26 11:20:02 +05:00
  • 66da75681f feat(financial/dcf): dormant separate-index inflation capability (default OFF) bot-backend 2026-06-25 12:12:02 +00:00
  • 9e848cee43 feat(financial/dcf): dormant separate-index inflation capability (default OFF) Light1YT 2026-06-25 16:53:32 +05:00
  • b82963d12e feat(financial): ground-floor нежилое (office/commercial) tranche bot-backend 2026-06-25 11:40:01 +00:00
  • 55811ff7cc feat(workers): data-freshness monitor (Celery beat → GlitchTip) bot-backend 2026-06-25 11:29:34 +00:00
  • 6b4b081c44 feat(financial): surface office revenue in PDF + concept UI (offices presentation) Light1YT 2026-06-25 16:27:17 +05:00
  • f59d874bac chore(codegen): regen api-types after /freshness handler refactor Light1YT 2026-06-25 16:17:23 +05:00
  • df1299175d feat(financial): model ground-floor нежилое (office/commercial) tranche Light1YT 2026-06-25 16:16:30 +05:00
  • f249212695 fix(site-finder): isolate zone-regulation cache write off the request session (#1850 item 4) bot-backend 2026-06-25 11:16:26 +00:00
  • 39f099bc17 chore(mocks): regenerate parcel-analyze financial_estimate (consistent with current backend) bot-backend 2026-06-25 11:02:36 +00:00
  • 6d6abf30b1 feat(workers): Celery-beat data-freshness monitor with GlitchTip alerts Light1YT 2026-06-25 16:02:13 +05:00
  • 1237d814f1 chore(mocks): regenerate parcel-analyze financial_estimate from current backend Light1YT 2026-06-25 15:56:10 +05:00
  • 7eee75f657 fix(site-finder): isolate zone-regulation cache write off the request session Light1YT 2026-06-25 15:54:08 +05:00
  • d2773e0c91 fix(site-finder): optimize zone-regulation resolve in /analyze (#1850) bot-backend 2026-06-25 09:12:41 +00:00
  • d589ddf6c4 feat(financial): levered (equity) IRR — capstone финмодели #1881 bot-backend 2026-06-25 09:06:46 +00:00
  • 18942898d1 fix(site-finder): memoize zone_index WFS lookup + dedupe resolve in /analyze (#1850) Light1YT 2026-06-25 14:00:13 +05:00
  • 5de5367fab test(concepts): add levered_irr keys to FinancialModel contract-key assertion Light1YT 2026-06-25 13:54:21 +05:00
  • 1ae8ae3ca0 feat(financial): levered (equity) IRR for the developer financial model Light1YT 2026-06-25 13:25:25 +05:00
  • dc659da655 feat(site-finder): geo-radius market-price calibration in /analyze (#1881 follow-up) bot-backend 2026-06-25 07:59:56 +00:00
  • 282843f241 feat(site-finder): geo-radius market-price calibration in /analyze (#1881 follow-up) Light1YT 2026-06-25 12:46:56 +05:00
  • 3073651812 fix(generative/financial): VAT only on parking, residential ДДУ exempt (ст. 149 НК) bot-backend 2026-06-25 07:22:58 +00:00
  • 2c9629a64c fix(generative/financial): VAT only on parking, residential ДДУ exempt (ст. 149 НК) Light1YT 2026-06-25 12:09:53 +05:00
  • 89509824c2 chore(agents): bump all worker + analyst agents to opus 4.8 bot-backend 2026-06-25 06:54:14 +00:00
  • d74501ae75 chore(agents): bump all worker + analyst agents to opus 4.8 Light1YT 2026-06-25 11:53:27 +05:00
  • 4eaf184d0e fix(avito): graceful sidecar HTTP 500/503 in browser SERP fetch (#1790) bot-backend 2026-06-25 06:47:41 +00:00
  • e65b4d44d5 fix(avito): graceful sidecar HTTP 500/503 in browser SERP fetch (#1790) Light1YT 2026-06-25 11:45:16 +05:00
  • 4bb09911b8 feat(financial): LTC 70%/equity 30% норматив МКД РФ в модели финансирования bot-backend 2026-06-24 16:49:01 +00:00
  • 7e42b34a46 feat(financial): LTC 70%/equity 30% норматив МКД РФ в модели финансирования Light1YT 2026-06-24 21:37:17 +05:00
  • 5a73f1d0b6 feat(cockpit): поверхностить financial_estimate в Development Scan / Investment Clearance (#1881 rank-5) (#1894) bot-backend 2026-06-24 16:20:19 +00:00
  • c1541962dc feat(cockpit): поверхностить financial_estimate в Development Scan / Investment Clearance Light1YT 2026-06-24 21:16:55 +05:00
  • c13ab32aa2 Merge pull request 'fix(financial): парковка price/cost по классу — econom наземная, business=Excel (#1881)' (#1893) from fix/parking-economics-by-class into main bot-backend 2026-06-24 12:21:23 +00:00
  • 4eeda46cfa fix(financial): парковка price/cost по классу (econom наземная, business Excel) fix/parking-economics-by-class Light1YT 2026-06-24 16:58:21 +05:00
  • a45dfd4ee3 Merge pull request 'fix(gate): area-gate ЗОУИТ utility-easement blocker (sub-17) — снять over-block can_build (#1881)' (#1892) from fix/zouit-engineering-area-gate into main bot-backend 2026-06-24 10:09:08 +00:00
  • bc1da8eac9 fix(gate): area-gate ЗОУИТ utility-easement blocker (sub-17) — снять over-block fix/zouit-engineering-area-gate Light1YT 2026-06-24 14:45:59 +05:00
  • 41d97aeaf9 Merge pull request 'fix(site-finder): разгейтить geoportal зон-резолвер от gappy NSPD-дампа — починить видимость финмодели (#1881)' (#1891) from fix/zoning-resolution-decouple into main bot-backend 2026-06-23 23:55:52 +00:00
  • 2e53f0a1c4 test(analyze): авто-стаб geoportal зон-резолвера в api/v1 тестах (CI desync fix) fix/zoning-resolution-decouple Light1YT 2026-06-24 04:33:17 +05:00
  • de13bfc64c fix(gate): main_vri-authoritative детекция МКД (убрать Ж-1/Ж-2 ИЖС false-positive, включить Ц-2) Light1YT 2026-06-24 03:59:31 +05:00
  • 46f021e1c8 fix(site-finder): разгейтить geoportal зон-резолвер от gappy NSPD-дампа Light1YT 2026-06-24 03:25:06 +05:00
  • d2b745e240 Merge pull request 'feat(financial): DCF-график продаж по реальному темпу поглощения (rank 1, #1881)' (#1890) from feat/dcf-velocity-schedule into main bot-backend 2026-06-23 22:08:08 +00:00
  • b6b9aa9929 feat(financial): DCF-график продаж по реальному темпу поглощения (rank 1) feat/dcf-velocity-schedule Light1YT 2026-06-24 02:56:48 +05:00
  • cb7df4657a Merge pull request 'feat(site-finder): backfill ЕКБ зон-регламента — разблокировать видимость финмодели (#1881)' (#1889) from feat/zone-regulation-backfill into main bot-backend 2026-06-23 21:27:58 +00:00
  • c972eebce6 chore(api-types): regen после нового admin-endpoint backfill (#1881) feat/zone-regulation-backfill Light1YT 2026-06-24 02:17:04 +05:00
  • 2ff34b1500 feat(site-finder): backfill ЕКБ зон-регламента — разблокировать видимость финмодели (#1881) Light1YT 2026-06-24 02:11:41 +05:00
  • b7629067cf Merge pull request 'chore(mocks): add financial_estimate to parcel-analyze mock for local preview (#1881)' (#1888) from chore/mock-financial-estimate into main bot-backend 2026-06-23 21:01:30 +00:00
  • 5359556068 chore(mocks): add financial_estimate to parcel-analyze mock for local preview (#1881) chore/mock-financial-estimate Light1YT 2026-06-24 01:58:44 +05:00
  • 8bec98e435 Merge pull request 'fix(estimator): enable split-home disclosure at validated threshold 1.2 (audit #1871)' (#1887) from fix/finmodel-split-disclosure-threshold into main bot-backend 2026-06-23 20:55:45 +00:00
  • 77a3d3f75a fix(estimator): enable split-home disclosure at validated threshold 1.2 (audit #1871) fix/finmodel-split-disclosure-threshold Light1YT 2026-06-24 01:54:58 +05:00
  • f0b689318e Merge pull request 'feat(finmodel): financing overlay (кредит 15%) поверх unlevered DCF (epic #1881 PR-5)' (#1886) from feat/finmodel-financing into main bot-backend 2026-06-23 20:23:47 +00:00
  • d350d27325 feat(finmodel): financing overlay (кредит 15%) поверх unlevered DCF (epic #1881 PR-5) feat/finmodel-financing Light1YT 2026-06-24 01:12:47 +05:00
  • 9495c2d157 Merge pull request 'feat(site-finder): bridge финмодели (DCF) в кокпит Investment Clearance (epic #1881 PR-4)' (#1885) from feat/finmodel-sitefinder-bridge into main bot-backend 2026-06-23 17:55:03 +00:00
  • 67b65c8d8a feat(site-finder): bridge финмодели (DCF) в кокпит Investment Clearance (epic #1881 PR-4) feat/finmodel-sitefinder-bridge Light1YT 2026-06-23 22:44:04 +05:00
  • ae90f84c90 Merge pull request 'feat(finmodel): monthly DCF — real NPV/IRR/PBP, replace IRR-proxy (epic #1881 PR-3)' (#1884) from feat/finmodel-dcf into main bot-backend 2026-06-23 17:02:54 +00:00
  • d4068a255b feat(finmodel): monthly DCF — real NPV/IRR/PBP, replace IRR-proxy (epic #1881 PR-3) feat/finmodel-dcf Light1YT 2026-06-23 21:52:04 +05:00
  • 2276c2057b Merge pull request 'feat(generative): calibrate finmodel sale price from Objective market (epic #1881 PR-2)' (#1883) from feat/finmodel-price-calibration into main bot-backend 2026-06-23 16:21:15 +00:00
  • b1332d6b55 feat(generative): calibrate finmodel sale price from Objective market data (epic #1881 PR-2) feat/finmodel-price-calibration Light1YT 2026-06-23 21:10:25 +05:00
  • 29bbe47ed8 Merge pull request 'feat(generative): full static developer financial cascade (epic #1881 PR-1)' (#1882) from feat/finmodel-cost-cascade into main bot-backend 2026-06-23 11:57:05 +00:00
  • 65bab902e1 feat(generative): full static developer financial cascade (epic #1881 PR-1) feat/finmodel-cost-cascade Light1YT 2026-06-23 16:45:58 +05:00
  • 7ae96ad1af Merge pull request 'fix(estimator): radius (source,source_id) dedup + split-house corridor disclosure (audit #1871 P2)' (#1880) from audit/1871-p2-estimator-dedup-split into main bot-backend 2026-06-23 09:49:11 +00:00
  • 1b23fc5d95 fix(estimator): radius (source,source_id) dedup + split-house corridor disclosure (audit #1871 P2) audit/1871-p2-estimator-dedup-split Light1YT 2026-06-23 14:48:02 +05:00
  • 50b57788ee Merge pull request 'fix(tradein): drop non-EKB avito detail coords on ingest (audit #1871 P2)' (#1879) from audit/1871-p2-avito-coord into main bot-backend 2026-06-23 09:34:13 +00:00
  • 04550bc94f fix(tradein): drop non-EKB avito detail coords on ingest (audit #1871 P2) audit/1871-p2-avito-coord Light1YT 2026-06-23 14:33:10 +05:00
  • f13eac3b97 Merge pull request 'fix(site-finder): P3 a11y/UI batch from audit #1871' (#1878) from audit/1871-p3-uiux into main bot-backend 2026-06-23 07:55:24 +00:00
  • f7773c71d4 fix(site-finder): P3 a11y/UI batch from audit #1871 audit/1871-p3-uiux Light1YT 2026-06-23 12:52:32 +05:00
  • bfa95e4aee Merge pull request 'fix(site-finder): honest POI-score label + drop duplicate MOI column (audit #1871 P2)' (#1877) from audit/1871-p2-invest-moi into main bot-backend 2026-06-23 07:39:47 +00:00
  • 589b3bfdc3 fix(site-finder): honest POI-score label + drop duplicate MOI column (audit #1871 P2) audit/1871-p2-invest-moi Light1YT 2026-06-23 12:29:02 +05:00
  • c698af68ce Merge pull request 'fix(site-finder): velocity fallback 4500→750, coverage/proxy disclosure, market_trend staleness honesty (audit #1871 P2)' (#1876) from audit/1871-p2-velocity-market into main bot-backend 2026-06-23 07:15:22 +00:00
  • adf3ec7c00 fix(site-finder): velocity fallback 4500→750, coverage/proxy disclosure, market_trend staleness honesty (audit #1871 P2) audit/1871-p2-velocity-market Light1YT 2026-06-23 12:04:08 +05:00
  • 85d91375dc Merge pull request 'fix(ptica): honest isReal flags — placeholder stubs no longer marked real (audit #1871 P1.3)' (#1875) from audit/1871-p1-3-isreal-stubs into main bot-backend 2026-06-23 06:27:59 +00:00
  • 389bdd3306 test(ptica): use tracked mock fixtures instead of git-excluded __preview (CI fix) audit/1871-p1-3-isreal-stubs Light1YT 2026-06-23 11:25:33 +05:00