Commit graph

  • 5408466905 chore(frontend): regen api-types for snapshot exclude_dev param bot-backend 2026-06-18 15:51:56 +03:00
  • 1302fe63d7 feat(site-finder): snapshot.pdf exclude_dev param — hide competitor by developer name bot-backend 2026-06-18 15:23:28 +03:00
  • 493142b990 Merge pull request 'feat(tradein): populate offer_price_history for yandex from gate price.previous/trend' (#1754) from feat/yandex-price-history into main lekss361 2026-06-18 11:37:05 +00:00
  • 0f975e8a53 Merge pull request 'fix(tradein): avito sweep page-level retry — transient page error no longer aborts run' (#1755) from fix/avito-sweep-page-retry into main lekss361 2026-06-18 11:36:53 +00:00
  • 6c132d7f0a fix(tradein): avito sweep page-level retry — transient page error no longer aborts run bot-backend 2026-06-18 14:29:01 +03:00
  • 6c82528db5 feat(tradein): populate offer_price_history for yandex from gate price.previous/trend bot-backend 2026-06-18 14:23:23 +03:00
  • 00f6464f54 Merge pull request 'feat(tradein): avito exhaustive full-load (room×price bisection) — mirror cian' (#1753) from feat/avito-exhaustive-fullload into main lekss361 2026-06-18 11:05:26 +00:00
  • 1ddbf867f8 feat(tradein): avito exhaustive full-load (room×price bisection) — mirror cian bot-backend 2026-06-18 13:55:18 +03:00
  • 10b93011a3 Merge pull request 'feat(tradein): schedule cian_full_load (exhaustive secondary) + anchor sweep NB-only' (#1752) from feat/cian-schedule-fullload-nb-only into main lekss361 2026-06-18 10:38:31 +00:00
  • 158a24c25b feat(tradein): schedule cian_full_load (exhaustive secondary) + anchor sweep NB-only bot-backend 2026-06-18 13:25:23 +03:00
  • ca4a61124e Merge pull request 'feat(cadastral): geo-nearest building matcher via local cad mirror' (#1750) from feat/cadastral-geo-match into main lekss361 2026-06-18 08:44:24 +00:00
  • 2b4f80e39f Merge pull request 'feat(site-finder): карта точек подключения (НСПД) в секции «Сети» (#1746 part)' (#1751) from fix/1746-networks-section-map into main lekss361 2026-06-18 08:44:16 +00:00
  • 48bedb5f65 Merge branch 'main' into feat/cadastral-geo-match lekss361 2026-06-18 08:44:06 +00:00
  • 6fe72d2374 Merge pull request 'feat(site-finder): продуктовые решения по фидбеку analyze (#1741-1745)' (#1749) from fix/sf-product-decisions into main lekss361 2026-06-18 08:43:43 +00:00
  • e89fd66639 feat(site-finder): карта точек подключения (НСПД) в секции «Сети» (#1746, доступная часть) Light1YT 2026-06-18 12:48:23 +05:00
  • d93553c489 fix(site-finder): перенумеровать под-подписи Section3 4.1/4.2/4.3 под новый порядок + doc-хедеры (#1741 хвост) Light1YT 2026-06-18 12:38:54 +05:00
  • f9769571a3 fix(cadastral): single-statement match UPDATE — OFFSET chunk skipped rows bot-backend 2026-06-18 10:28:19 +03:00
  • edd187b47f feat(cadastral): geo-nearest building matcher via local cad mirror bot-backend 2026-06-18 10:18:54 +03:00
  • 8cd0620543 feat(site-finder): продуктовые решения по фидбеку analyze (#1741 #1742 #1743 #1744 #1745) Light1YT 2026-06-18 12:18:04 +05:00
  • 6214baf0c9 Merge pull request 'fix(site-finder): 5 дефектов из фидбека analyze (#1736-1740)' (#1748) from fix/sf-feedback-batch into main lekss361 2026-06-18 07:06:45 +00:00
  • 3280859170 Merge remote fix/sf-feedback-batch (#1736 minimap test) into local fix/sf-feedback-batch bot-backend 2026-06-18 10:05:56 +03:00
  • c859872217 fix(parcels): wrap forecast-export PDF in try/except+logger (#1739 completion) bot-backend 2026-06-18 10:05:25 +03:00
  • 0f9babb7ff test(site-finder): wrap MiniMap test render in QueryClientProvider (#1736) bot-backend 2026-06-18 10:03:48 +03:00
  • bcd24923b8 Merge remote-tracking branch 'forgejo-backend/main' into fix/sf-feedback-batch bot-backend 2026-06-18 10:01:43 +03:00
  • e7342d9f98 chore(frontend): regenerate api-types.ts for forecast pdf export (#1739) bot-backend 2026-06-18 10:00:26 +03:00
  • 7448db0be0 Merge pull request 'feat(avito): dedicated newbuilding (novostroyka) citywide sweep' (#1747) from feat/avito-newbuilding-sweep into main lekss361 2026-06-18 07:00:22 +00:00
  • b1c0ea1268 fix(site-finder): 5 дефектов из боевого фидбека analyze (#1736 #1737 #1738 #1739 #1740) Light1YT 2026-06-18 11:47:21 +05:00
  • 1a658a65a6 feat(avito): dedicated newbuilding (novostroyka) citywide sweep feat/avito-newbuilding-sweep bot-backend 2026-06-18 09:45:54 +03:00
  • bf91eb0be0 Merge pull request 'feat(browser): per-source proxy pool behind FEATURE_BROWSER_POOL_ENABLED (Phase 1)' (#1735) from feat/browser-per-source-proxy-pool into main lekss361 2026-06-18 06:06:57 +00:00
  • b9eb478c8f feat(browser): per-source proxy pool behind FEATURE_BROWSER_POOL_ENABLED (Phase 1) bot-backend 2026-06-18 09:01:50 +03:00
  • 635851a71c Merge pull request 'fix(yandex): read predicted price from entity.predictions.predictedPrice (#1725)' (#1734) from fix/yandex-predicted-price-path-1725 into main lekss361 2026-06-18 05:12:25 +00:00
  • 41f2402b25 fix(yandex): read predicted price from entity.predictions.predictedPrice (#1725) bot-backend 2026-06-18 08:03:05 +03:00
  • 8f9c11a45f Merge pull request 'feat(browser): concurrent page pool (BROWSER_CONCURRENCY, default 4) + raise mem_limit to 5g' (#1733) from feat/browser-concurrent-pool into main lekss361 2026-06-17 21:07:31 +00:00
  • a6717705b9 fix(browser): reset page_counter on recycle + close login page in finally (#796 review) feat/browser-concurrent-pool bot-backend 2026-06-18 00:06:50 +03:00
  • 820fd819bb feat(browser): concurrent page pool (BROWSER_CONCURRENCY, default 4) + raise mem_limit to 5g bot-backend 2026-06-17 23:55:11 +03:00
  • 6d3fad6b96 Merge pull request 'fix(backfill): drop nonexistent kadastr_num column from listings SELECT' (#1732) from fix/backfill-kadastr-column into main lekss361 2026-06-17 20:53:26 +00:00
  • 73fa739e0f fix(backfill): drop nonexistent kadastr_num column from listings SELECT fix/backfill-kadastr-column bot-backend 2026-06-17 23:47:30 +03:00
  • 367b2719a9 Merge pull request 'fix(avito): proactive IP rotate at sweep start + raise max_rotations 2→4 (Datadome ban recovery)' (#1731) from fix/avito-proactive-ip-rotate into main lekss361 2026-06-17 20:39:13 +00:00
  • 687c9e5e9d fix(avito): proactive IP rotate at sweep start + raise max_rotations 2->4 (Datadome ban recovery) fix/avito-proactive-ip-rotate bot-backend 2026-06-17 23:35:24 +03:00
  • 84902984e3 Merge pull request 'feat(domclick): wire DomClick citywide sweep into pipeline+scheduler (seeded disabled)' (#1730) from feat/activate-domclick-sweep into main lekss361 2026-06-17 20:29:43 +00:00
  • 07eed4b55e Merge pull request 'feat(avito): capture newbuilding ЖК id/url from SERP card' (#1729) from feat/avito-newbuilding-capture into main lekss361 2026-06-17 20:29:39 +00:00
  • 2ed3ae81bc feat(domclick): wire DomClick citywide sweep into pipeline+scheduler (seeded disabled) feat/activate-domclick-sweep bot-backend 2026-06-17 23:21:49 +03:00
  • 1e3642f14c Merge pull request 'docs(readme): refresh to Jun 2026 — Trade-In/Мера + Site Finder v2 + structure + remove debug.log' (#1728) from docs/readme-refresh-jun2026 into main lekss361 2026-06-17 20:18:05 +00:00
  • dd7b2268b7 Merge pull request 'fix(scrapers): write resolved house_id to listings.house_id_fk in realtime link hook' (#1727) from fix/house-id-fk-realtime-link into main lekss361 2026-06-17 20:16:27 +00:00
  • dd59ef0516 feat(avito): capture newbuilding ЖК id/url from SERP card; persist newbuilding_id/url feat/avito-newbuilding-capture bot-backend 2026-06-17 23:15:35 +03:00
  • d46367da63 docs(readme): refresh to Jun 2026 — Trade-In/Мера + Site Finder v2 + structure + remove debug.log bot-backend 2026-06-17 23:14:40 +03:00
  • e63b21eccb fix(scrapers): write resolved house_id to listings.house_id_fk in realtime link hook fix/house-id-fk-realtime-link bot-backend 2026-06-17 23:07:22 +03:00
  • 97fce43484 Merge pull request 'feat(yandex): map rich entity fields (predictedPrice, seller, listing_date, trend, metro)' (#1725) from feat/yandex-rich-fields into main lekss361 2026-06-17 20:03:25 +00:00
  • f87f3a15d3 Merge pull request 'fix(sql): ALTER TABLE IF EXISTS in migration 162 (deploy red — district_economics absent)' (#1726) from fix/migration-162-table-if-exists into main lekss361 2026-06-17 20:02:34 +00:00
  • d46695ba50 fix(sql): ALTER TABLE IF EXISTS in migration 162 — district_economics absent on main DB (deploy red) fix/migration-162-table-if-exists lekss361 2026-06-17 20:02:06 +00:00
  • df83e0256b Merge pull request 'fix(tradein): correct SberIndex hedonic/asking dataset filter dims + 404 warning (#902)' (#1724) from fix/sber-dataset-paths-902 into main lekss361 2026-06-17 19:58:48 +00:00
  • 1fe670ea6a feat(yandex): map rich entity fields (predictedPrice, seller, listing_date, trend, metro) bot-backend 2026-06-17 22:58:16 +03:00
  • 4ebc271a6c Merge pull request 'feat(site-finder): РИАСУРТ Свердл 14-layer harvest client+schema+task for ЕКБ agglomeration (#108)' (#1712) from feat/riasurt-sverdl-layers-108 into main lekss361 2026-06-17 19:52:58 +00:00
  • 0a72ef9491 merge main + renumber 163→167 + guard riasurt harvest (#108 review) feat/riasurt-sverdl-layers-108 bot-backend 2026-06-17 22:52:15 +03:00
  • 5ca987fcd3 fix(tradein): correct SberIndex hedonic/asking dataset-paths + 404 warning (#902) fix/sber-dataset-paths-902 bot-backend 2026-06-17 22:50:52 +03:00
  • f25e89767b Merge pull request 'fix(matching): conflict_resolution picks freshest (last_seen_at) value, deterministic (#1539)' (#1722) from fix/conflict-resolution-freshness-1539 into main lekss361 2026-06-17 19:49:51 +00:00
  • ddf4873874 fix(riasurt): renumber migration 163→167 + guard quarterly harvest behind flag (#108 review) bot-backend 2026-06-17 22:45:23 +03:00
  • 13db14c8c9 Merge pull request 'feat(objective): diff-gated objective_lots_history writer trigger (#307 OBJ-6)' (#1719) from feat/objective-lots-history-writer-307-obj6 into main lekss361 2026-06-17 19:44:25 +00:00
  • f30f6acbf7 fix(matching): conflict_resolution picks freshest (last_seen_at) value, deterministic (#1539) fix/conflict-resolution-freshness-1539 bot-backend 2026-06-17 22:43:59 +03:00
  • e4cc2d9625 chore(sql): renumber objective history writer migration 164→166 (avoid collision) feat/objective-lots-history-writer-307-obj6 bot-backend 2026-06-17 22:43:55 +03:00
  • 81e708b953 Merge pull request 'feat(sql): sales-tracker velocity + absorption MVs for Site Finder (#61)' (#1711) from feat/velocity-mv-61 into main lekss361 2026-06-17 19:43:14 +00:00
  • 8a24b057ac Merge pull request 'fix(site-finder): gate velocity on confidence of objective_complex_mapping (#307 OBJ-2)' (#1720) from fix/objective-mapping-is-reviewed-gate-307-obj2 into main lekss361 2026-06-17 19:43:04 +00:00
  • 45d8e9e4a5 Merge pull request 'fix(cian): persist detail rich fields (description) + stamp detail_enriched_at' (#1718) from fix/cian-detail-rich-fields into main lekss361 2026-06-17 19:42:58 +00:00
  • f6b3aad03d Merge pull request 'test(etl): fix stale assert in objective_backfill dry_run test (#1709 systemic CI red)' (#1721) from fix/objective-backfill-test-1709 into main lekss361 2026-06-17 19:40:00 +00:00
  • 65b0c02b85 test(etl): fix stale assert in objective_backfill dry_run test (#1709) bot-backend 2026-06-17 22:38:44 +03:00
  • 2cf6261005 chore(sql): renumber sales-tracker MV migration 161→164 (avoid collision) feat/velocity-mv-61 bot-backend 2026-06-17 22:36:39 +03:00
  • 5b8ee994d5 Merge pull request 'feat(tradein): segment=vtorichka|novostroyki|all on listings search (#1188)' (#1710) from feat/listings-segment-param-1188 into main lekss361 2026-06-17 19:34:50 +00:00
  • 931a57ac59 Merge pull request 'feat(yandex): ingest novostroyki via gate-API newFlat=YES' (#1715) from feat/yandex-novostroyki-newflat into main lekss361 2026-06-17 19:34:32 +00:00
  • 9585f7fc16 Merge pull request 'fix(avito): classify novostroyki by item-development-name marker; map переуступка sale_type' (#1716) from fix/avito-novostroyki-segment into main lekss361 2026-06-17 19:34:27 +00:00
  • 24615b96c1 fix(site-finder): gate velocity on is_reviewed objective_complex_mapping (#307 OBJ-2) fix/objective-mapping-is-reviewed-gate-307-obj2 bot-backend 2026-06-17 22:32:52 +03:00
  • fe805ea528 fix(cian): persist detail rich fields (description/kitchen/ceiling) + stamp detail_enriched_at fix/cian-detail-rich-fields bot-backend 2026-06-17 22:32:18 +03:00
  • 3a3f934bac feat(objective): diff-gated objective_lots_history writer trigger (#307 OBJ-6) bot-backend 2026-06-17 22:31:51 +03:00
  • 1de2ef2abf Merge pull request 'fix(frontend): regen api-types.ts — POI-score fields (#1709 systemic CI red)' (#1714) from fix/api-types-poiscore-drift-1709 into main lekss361 2026-06-17 19:31:49 +00:00
  • 73f47da2f9 Merge pull request 'ci: cache uv + skip dev deps to speed up gate jobs (#1709)' (#1717) from ci/cache-uv-speed-gates-1709 into main lekss361 2026-06-17 19:31:35 +00:00
  • 4e8086cc1f ci: cache uv + skip dev deps to speed up gate jobs (#1709) bot-backend 2026-06-17 22:29:33 +03:00
  • 22a7a3f086 fix(avito): classify novostroyki by item-development-name marker; map переуступка sale_type fix/avito-novostroyki-segment bot-backend 2026-06-17 22:24:13 +03:00
  • bc4c6852a1 feat(yandex): ingest novostroyki via gate-API newFlat=YES feat/yandex-novostroyki-newflat bot-backend 2026-06-17 22:22:17 +03:00
  • d44f78c33e fix(frontend): regen api-types.ts — add POI-score fields (#1709) bot-backend 2026-06-17 22:22:02 +03:00
  • 57800b24e9 Merge pull request 'ci: drop push-on-feature-branch trigger to kill duplicate CI runs (#1709)' (#1713) from fix/ci-dedup-runner-storm-1709 into main lekss361 2026-06-17 19:16:06 +00:00
  • 7f732ff24d ci: drop push-on-feature-branch trigger to kill duplicate CI runs (#1709) fix/ci-dedup-runner-storm-1709 bot-backend 2026-06-17 22:09:01 +03:00
  • 31e316e04e feat(site-finder): РИАСУРТ Свердл 14-layer harvest client+schema+task for ЕКБ agglomeration (#108) bot-backend 2026-06-17 21:49:04 +03:00
  • 96a9c575b4 feat(sql): sales-tracker velocity + absorption MVs for Site Finder (#61) bot-backend 2026-06-17 21:48:11 +03:00
  • 0fb70f2f90 Merge pull request 'fix(sql): EMISS PK includes period_type so yearly+Q1 coexist (#1606 follow-up)' (#1706) from fix/emiss-pk-granularity-1687 into main lekss361 2026-06-17 18:46:00 +00:00
  • 2659600374 fix(sql): emiss backfill period_type='quarter' to match scraper (#1606 review) fix/emiss-pk-granularity-1687 bot-backend 2026-06-17 21:45:12 +03:00
  • b64334d7bd feat(tradein): segment=vtorichka|novostroyki|all query-param on listings (#1188) feat/listings-segment-param-1188 bot-backend 2026-06-17 21:43:01 +03:00
  • 8022be6b2f Merge pull request 'fix(leads): replace ::interval cast with make_interval (psycopg v3 trap) (#1383 follow-up)' (#1707) from fix/admin-leads-interval-cast-1694 into main lekss361 2026-06-17 18:42:11 +00:00
  • 16990af11c Merge pull request 'docs(estimator): DKP corridor described as P10/P90 not min/max in schema+TS (#1520 follow-up)' (#1708) from fix/dkp-corridor-doc-p10p90-1695 into main lekss361 2026-06-17 18:42:10 +00:00
  • 584aa46f6f Merge pull request 'fix(admin-scrape): ge=1 on /failures limit + enforce LLM finish_reason' (#1701) from fix/admin-scrape-validation into main lekss361 2026-06-17 18:35:35 +00:00
  • 6bf1042171 Merge pull request 'fix(llm): word-boundary INN match, tighten edge cases (#1640 follow-up)' (#1703) from fix/inn-regex-word-boundary-1682 into main lekss361 2026-06-17 18:34:52 +00:00
  • 3d2d6d5da2 Merge pull request 'fix(exporters): annotate scenario deficit horizon in excel too (#1590 follow-up)' (#1702) from fix/excel-deficit-horizon-1590 into main lekss361 2026-06-17 18:34:47 +00:00
  • 9e6b0b1786 Merge pull request 'fix(weather): wind_d returns None when no valid samples, not fabricated 0.0°' (#1700) from fix/weather-wind-d-allnone into main lekss361 2026-06-17 18:34:45 +00:00
  • be33faf73e Merge pull request 'fix(scrapers): narrow domrf Level-1 status badge-class regex (#1609 follow-up)' (#1704) from fix/domrf-badge-regex-narrow-1686 into main lekss361 2026-06-17 18:34:32 +00:00
  • ae6d86d9cc Merge pull request 'test(site-finder): cover is_residential_zone raw_props/subcategory branch (#1353 follow-up)' (#1705) from test/residential-zone-rawprops-1681 into main lekss361 2026-06-17 18:34:30 +00:00
  • e5d78b5e53 Merge pull request 'feat(yandex): route gate-API fetch through camoufox (sustainable, no proxy burn)' (#1699) from feat/yandex-camoufox-transport into main lekss361 2026-06-17 18:28:50 +00:00
  • c514b992ee Merge pull request 'fix(site-finder): remove dead sat_factor (computed+written, never applied) (#1509)' (#1698) from fix/score-sat-factor-1509 into main lekss361 2026-06-17 18:28:45 +00:00
  • 5170107405 fix(sql): EMISS PK includes period_type so yearly+Q1 coexist (#1606 follow-up) bot-backend 2026-06-17 21:27:34 +03:00
  • 4309a12c67 fix(llm): word-boundary INN match, tighten edge cases (#1640 follow-up) fix/inn-regex-word-boundary-1682 bot-backend 2026-06-17 21:24:59 +03:00
  • c54502ebf8 fix(exporters): annotate scenario deficit horizon in excel too (#1590 follow-up) fix/excel-deficit-horizon-1590 bot-backend 2026-06-17 21:23:57 +03:00
  • 145dc62e0b fix(admin-scrape): ge=1 on count param + enforce LLM finish_reason (#review-followup) fix/admin-scrape-validation bot-backend 2026-06-17 21:23:13 +03:00
  • bcb348da40 fix(leads): replace ::interval cast with make_interval (psycopg v3 trap) (#1383 follow-up) fix/admin-leads-interval-cast-1694 bot-backend 2026-06-17 21:22:53 +03:00