Commit graph

  • 74f1ffb500 perf(objective): request-path consumers dedup inline, not via whole-table view (#1964) fix/objective-lots-dedup-1964 Light1YT 2026-06-28 05:00:47 +05:00
  • e67cb721bf fix(objective): physflat-dedup current-state consumers + honest n_sold window (#1964) Light1YT 2026-06-28 04:27:43 +05:00
  • 91edef1524 Merge pull request 'fix: audit follow-up мелочи — индекс domrf_kn_flats + max_height_m coercion + hide empty reg-date (#1953)' (#2031) from fix/audit-followups-1953 into main bot-backend 2026-06-27 22:37:14 +00:00
  • 8aec625134 fix(audit): index for flats_latest, coerce max_height_m, hide empty reg-date (#1953) fix/audit-followups-1953 Light1YT 2026-06-28 03:19:18 +05:00
  • 2fb34112b5 Merge pull request 'feat(concept): picker «выбери дом» + каталог-эндпоинт — Stage 3b, финал #1965' (#2030) from feat/concept-house-picker-1965-stage3b into main bot-backend 2026-06-27 22:08:57 +00:00
  • c55eb4f4d4 feat(concept): фронт-пикер типовых домов (#1965 Stage 3b) feat/concept-house-picker-1965-stage3b Light1YT 2026-06-28 02:49:44 +05:00
  • 3b84609670 Merge pull request 'feat(concept): каталог типовых домов + program-placement (#1965 Stage 3a)' (#2029) from feat/concept-house-catalog-1965-stage3a into main bot-backend 2026-06-27 21:40:10 +00:00
  • e8b05d821e test(concept): turn greedy backward-compat into a real golden pin (#1965 Stage 3a) feat/concept-house-catalog-1965-stage3a Light1YT 2026-06-28 02:23:55 +05:00
  • 5f994cc300 feat(tradein/domclick-local): --enum-cache — enumerate один раз, resume detail поверх bot-backend 2026-06-27 23:37:07 +03:00
  • 2ebf7468cd fix(tradein/avito): hard-timeout on detail-backfill fetch — prevent zombie-hang (#1950) lekss361 2026-06-27 20:29:27 +00:00
  • 94cf1f6217 feat(concept): house-type catalog + program-driven placement (#1965 Stage 3a) Light1YT 2026-06-28 01:29:04 +05:00
  • e3adcd47be fix(tradein/avito): hard-timeout on detail-backfill fetch — prevent zombie-hang (#1950) bot-backend 2026-06-27 23:19:26 +03:00
  • 44b9305d89 feat(tradein/estimator): elite-segment manual_review trigger by asking ppm² (#2002) lekss361 2026-06-27 20:15:38 +00:00
  • aa65809cd2 feat(tradein/estimator): elite-segment manual_review trigger by asking ppm² (#2002) bot-backend 2026-06-27 23:11:55 +03:00
  • 5b4c0dd1b2 Merge pull request 'feat(concept): живой 3D-massing → пересчёт финмодели в «7. Концепция» (#1965 Stage 2b)' (#2026) from feat/concept-live-massing-1965-stage2b into main bot-backend 2026-06-27 20:10:41 +00:00
  • a0232e22f1 feat(concept): live 3D massing → financial recompute in «7. Концепция» (#1965 Stage 2b) feat/concept-live-massing-1965-stage2b Light1YT 2026-06-28 01:01:53 +05:00
  • 01b0dc74de Merge pull request 'feat(generative): POST /concepts/recompute — live финрасчёт по massing-program (#1965 Stage 2a)' (#2024) from feat/concept-recompute-1965-stage2a into main bot-backend 2026-06-27 19:53:53 +00:00
  • ec0f113d4f chore(tradein/backtest): --resolve-house-id flag to measure Tier-S + IMV anchor (#2002) lekss361 2026-06-27 19:44:38 +00:00
  • 0f7f5ea0ab fix(tradein/domclick-local): resume — убрать преждевременный added==0 break в _paginate bot-backend 2026-06-27 22:39:47 +03:00
  • 7e824ce6e4 chore(frontend): regenerate api-types.ts for /concepts/recompute (#1965 Stage 2a) feat/concept-recompute-1965-stage2a Light1YT 2026-06-28 00:38:28 +05:00
  • 18d012da1b fix(generative): forward genuine price_source through /recompute (#1965 Stage 2a) Light1YT 2026-06-28 00:33:59 +05:00
  • 00e121056a chore(tradein/backtest): --resolve-house-id flag to measure Tier-S + IMV anchor (#2002) bot-backend 2026-06-27 22:33:09 +03:00
  • d38d5d43c5 feat(generative): LIVE financial recompute from massing program (#1965 Stage 2a) Light1YT 2026-06-28 00:27:25 +05:00
  • 3cc015c249 fix(tradein/domclick-local): SERP enumerate — wait_for_selector вместо слепого render-wait bot-backend 2026-06-27 22:26:48 +03:00
  • fed33fce27 Merge pull request 'feat(site-finder): «7. Концепция» в light-отчёте — Stage 1 #1965' (#2023) from feat/concept-section-1965-stage1 into main bot-backend 2026-06-27 19:22:12 +00:00
  • e809063ca3 feat(site-finder): add «7. Концепция» section to light analysis report feat/concept-section-1965-stage1 Light1YT 2026-06-28 00:13:57 +05:00
  • 3187419eb8 feat(tradein/ui): manual-review banner + premium-building badge on estimate (#2002) lekss361 2026-06-27 19:09:46 +00:00
  • 482d3caf08 feat(tradein/ui): manual-review banner + premium-building badge on estimate (#2002) bot-backend 2026-06-27 22:04:38 +03:00
  • 96d5794b5c Merge pull request 'fix(best-layouts): per-object latest snapshot для supply → срок продажи/% продано (#1956)' (#2020) from fix/best-layouts-per-object-snapshot-1956 into main bot-backend 2026-06-27 18:43:19 +00:00
  • e39fb86a9b feat(tradein): AI-curated premium-building overlay — class + false-positive demotion (#2002) lekss361 2026-06-27 18:43:05 +00:00
  • 31f101acbb feat(tradein): AI-curated premium-building overlay — class labels + false-positive demotion (#2002) bot-backend 2026-06-27 21:40:01 +03:00
  • 0acd72a325 fix(best-layouts): per-object latest snapshot for supply (#1956) fix/best-layouts-per-object-snapshot-1956 Light1YT 2026-06-27 23:24:28 +05:00
  • 6aff5a000d Merge pull request 'fix(forecast): segment + dedup demand/supply → индекс дефицита больше не −1.00 везде (#1959)' (#2018) from fix/deficit-segmentation-1959 into main bot-backend 2026-06-27 18:18:09 +00:00
  • 275e7e9618 feat(tradein/estimator): manual_review recommendation flag (#2002) lekss361 2026-06-27 18:17:24 +00:00
  • 07834b59a1 feat(tradein/estimator): manual_review recommendation flag (#2002) bot-backend 2026-06-27 21:13:46 +03:00
  • 3cafe22c15 docs(forecast): исправить устаревшие комментарии #1959 (deep-review follow-up) fix/deficit-segmentation-1959 Light1YT 2026-06-27 23:02:09 +05:00
  • c5227a164e feat(tradein/cian): promote kitchen/mortgage/apartments + normalize house_type (#2008) lekss361 2026-06-27 18:01:50 +00:00
  • 2e44f48291 feat(tradein/cian): promote kitchen/mortgage/apartments + normalize house_type (#2008) bot-backend 2026-06-27 20:54:36 +03:00
  • 41804ed70e fix(forecast): посегментный+дедуплицированный индекс дефицита (#1959) Light1YT 2026-06-27 22:50:58 +05:00
  • 440bb2ca51 feat(tradein/yandex): normalize house_type + promote kitchen/ceiling to columns (#2007) lekss361 2026-06-27 17:45:11 +00:00
  • 024fadac73 fix(tradein/yandex): cap ceiling to numeric(3,2) range + backfill 'other'->NULL bot-backend 2026-06-27 20:43:31 +03:00
  • 50684ce87e fix(tradein/estimator): remove dead tier-aware-ratio path — truncation artifact + footgun (#2002) lekss361 2026-06-27 17:34:54 +00:00
  • ac99886201 fix(tradein/estimator): remove dead tier-aware-ratio path — truncation artifact + footgun (#2002) bot-backend 2026-06-27 20:31:49 +03:00
  • 4a93a9297c fix(tradein/avito): persist house_type + house_catalog_url in save_detail_enrichment (#2009) lekss361 2026-06-27 17:30:34 +00:00
  • a1ee06ef17 feat(tradein/yandex): normalize house_type + promote kitchen/ceiling to columns (#2007) bot-backend 2026-06-27 20:30:27 +03:00
  • c6a5cecb33 docs(tradein/avito): clarify house_url is new-first additive in save_detail_enrichment docstring bot-backend 2026-06-27 20:28:47 +03:00
  • bff0b43f98 fix(tradein/avito): persist house_type + house_catalog_url in save_detail_enrichment (#2009) bot-backend 2026-06-27 20:23:48 +03:00
  • 9b1f064069 feat(tradein/domclick-local): SERP-enumerate (QRATOR-обход) + offer-card v3 extras bot-backend 2026-06-27 20:03:05 +03:00
  • 840d64a4a0 feat(tradein): premium_houses MV + premium_building flag (#2002) lekss361 2026-06-27 16:40:39 +00:00
  • 09f9dc131f feat(tradein/estimator): premium_building flag from premium_houses MV (#2002) bot-backend 2026-06-27 19:37:39 +03:00
  • 8c1b96ecb5 feat(tradein/db): premium_houses materialized view from listing concentration (#2002) bot-backend 2026-06-27 19:31:42 +03:00
  • fe69d6e70e feat(tradein/estimator): ground-floor term in hedonic correction (#2002) feat/tradein-hedonic-ground-floor bot-backend 2026-06-27 19:21:11 +03:00
  • f7426dc12b feat(tradein/domclick): JSONL ingest script for local detail-backfill runner bot-backend 2026-06-27 19:14:10 +03:00
  • c45445b726 feat(tradein/estimator): hedonic year+area correction on expected_sold (#2002) lekss361 2026-06-27 16:06:08 +00:00
  • f999011b30 fix(tradein/estimator): hedonic respects le_asking + hedonic unit test (#2002) bot-backend 2026-06-27 19:03:01 +03:00
  • 75f1d36505 chore(tradein/domclick): configurable human-break (--break-min/--break-max, default 40-60s) bot-backend 2026-06-27 18:50:46 +03:00
  • 7d9ecb117f feat(tradein/estimator): hedonic year+area correction on expected_sold (#2002) bot-backend 2026-06-27 18:45:10 +03:00
  • 480ecc90e5 feat(tradein/domclick): local Layer-B runner — home-IP + new-headless chromium, paced bot-backend 2026-06-27 18:24:08 +03:00
  • 9448a945d4 feat(tradein/estimator): calibrated 80% prediction interval for expected_sold range (#1966) lekss361 2026-06-27 14:01:24 +00:00
  • ed4335b932 feat(tradein/estimator): calibrated 80% prediction interval for expected_sold range (#1966) bot-backend 2026-06-27 16:53:14 +03:00
  • eef23071c5 feat(tradein/domclick): Layer B detail-backfill (SSR parse + AVM) — DORMANT/parked bot-backend 2026-06-27 16:39:16 +03:00
  • 40b7ca4242 Merge pull request 'feat(tradein/domclick): обогащение Layer A поиска — description, repair-инференс, minhash, seller' (#1999) from feat/tradein-domclick-search-enrich into main lekss361 2026-06-27 13:37:13 +00:00
  • 54a5d13c48 feat(tradein/domclick): enrich Layer A SERP parser — description, repair-inference, minhash, seller bot-backend 2026-06-27 16:35:25 +03:00
  • 3cd1605c5c Merge pull request 'fix(site-finder): сети и точки подключения на карте Раздела 3 (#1961)' (#1998) from fix/report-map-points-1961 into main bot-backend 2026-06-27 13:00:14 +00:00
  • ef51bb8b62 Merge pull request 'fix(report): человеческий язык в Разделе 6 — дефицит/затоварка, 6.2/6.3/6.5 (#1963)' (#1988) from fix/report-microcopy-1963 into main bot-backend 2026-06-27 12:59:28 +00:00
  • ec9ed56fad feat(tradein/backtest): hermetic estimator regression gate — frozen fixture + baseline (#1966 PR 3/3) lekss361 2026-06-27 12:55:35 +00:00
  • 1bbc032316 fix(site-finder): show networks & connection points on Раздел 3 map (#1961) fix/report-map-points-1961 Light1YT 2026-06-27 17:52:51 +05:00
  • f7d0bbd30e feat(tradein/backtest): frozen fixture + baseline + hermetic CI regression gate (#1966 PR 3/3) bot-backend 2026-06-27 15:49:58 +03:00
  • e82761964d fix(report): human RU microcopy in Site Finder Section 6 (#1963) fix/report-microcopy-1963 Light1YT 2026-06-27 17:42:27 +05:00
  • 1648da01c3 fix(tradein/backtest): order-based callable replay (platform-robust) + gzip fixture loading (#1966 PR 3/3) bot-backend 2026-06-27 15:39:34 +03:00
  • 16f375782b Merge pull request 'fix(report): вывести ПЗЗ-градрегламент НСПД в Раздел 1 + coerceFloat КСИТ (#1962)' (#1987) from fix/report-nspd-zoning-1962 into main bot-backend 2026-06-27 12:22:51 +00:00
  • 63d685a105 fix(report): уникальный React key для ВРИ-списка (дубль-VRI warning) (#1962) fix/report-nspd-zoning-1962 Light1YT 2026-06-27 17:18:57 +05:00
  • 727f9b1f05 Merge pull request 'fix(tradein/auth): always-available logout button on NoAccessScreen' (#1986) from fix/tradein-logout-on-noaccess into main lekss361 2026-06-27 12:18:34 +00:00
  • 5a73bbeb8e feat(tradein/backtest): --dump-fixture + hermetic replay_fixture + prod-parity (anchor gate, drop MIN_CANDIDATES skip) (#1966 PR 3/3) bot-backend 2026-06-27 15:17:44 +03:00
  • a9dfe44f5c fix(tradein/auth): always-available logout button on NoAccessScreen bot-backend 2026-06-27 15:16:42 +03:00
  • 58e71dab01 fix(report): surface ПЗЗ-градрегламент НСПД в Раздел 1 (#1962) Light1YT 2026-06-27 17:10:20 +05:00
  • c1e0ccb2e8 Merge pull request 'fix(site-finder): фронт light-отчёта — encumbrance/obj_class/ЗОУИТ display + forecast axis & flat-state (#1954 #1955 #1957 #1958)' (#1985) from fix/report-frontend-display-1953 into main bot-backend 2026-06-27 12:00:13 +00:00
  • e2bf285980 chore(design-sync): ship Inter + JetBrains Mono brand fonts via cfg.extraFonts bot-backend 2026-06-27 14:56:50 +03:00
  • 6adba229f0 fix(site-finder): wire encumbrance/obj_class/ЗОУИТ display + forecast axis & flat-state (#1953) fix/report-frontend-display-1953 Light1YT 2026-06-27 16:51:40 +05:00
  • b2d4f980f0 Merge pull request 'chore(design-sync): sync inputs for claude.ai/design trade-in DS' (#1984) from chore/design-sync-tradein into main lekss361 2026-06-27 11:42:14 +00:00
  • 89c31e7449 Merge pull request 'fix(report): newbuild-consistent медиана + obj_class/Comfort dedup + recommend_mix regression (#1955 #1960)' (#1978) from fix/report-data-1953 into main bot-backend 2026-06-27 11:41:36 +00:00
  • e70f5da82b chore(design-sync): sync inputs for claude.ai/design trade-in DS bot-backend 2026-06-27 14:40:50 +03:00
  • d5e51ca809 Merge branch 'main' into fix/report-data-1953 Light1YT 2026-06-27 16:26:39 +05:00
  • 11861e5dc0 Merge pull request 'fix(ci): pin prettier 3.9.0 (codegen-check + pre-commit) + regenerate stale api-types.ts' (#1981) from fix/ci-prettier-codegen-pin into main lekss361 2026-06-27 11:25:37 +00:00
  • 57bf8ffb81 feat(tradein/backtest): full-spine prediction + range-coverage/calibration/segment metrics (#1966 PR 2/3) lekss361 2026-06-27 11:21:57 +00:00
  • ab4bc229b2 fix(tradein/domclick): open-band recursion guard, count schema-guard, 5+ rooms, geo canary + tests bot-backend 2026-06-27 14:13:46 +03:00
  • ce6e693ea7 fix(ci): pin prettier 3.9.0 for codegen check + pre-commit so api-types is byte-stable Light1YT 2026-06-27 16:11:26 +05:00
  • 677ebda2c2 Merge remote-tracking branch 'refs/remotes/forgejo/main' into feat/tradein-backtest-full-spine bot-backend 2026-06-27 14:07:46 +03:00
  • 28e36c18e2 feat(tradein/backtest): full-spine prediction via _price_from_inputs + range-coverage/calibration/segment metrics (#1966) bot-backend 2026-06-27 14:06:28 +03:00
  • efdf11d10f Merge pull request 'fix(tradein/ux): honest source list — drop dead domklik/restate, remove fake per-source median (#1968)' (#1980) from feat/tradein-honesty-sources into main lekss361 2026-06-27 11:03:59 +00:00
  • 050dd73c93 wip(tradein/backtest): full-spine prediction path compiles (#1966) bot-backend 2026-06-27 14:01:54 +03:00
  • 684385263e Merge pull request 'fix(tradein/domclick): рекан скрейпера на BFF JSON API + честный статус (#1846, #1968)' (#1979) from fix/tradein-domclick-bff-rewrite into main lekss361 2026-06-27 10:59:47 +00:00
  • f1b8ae47a2 fix(tradein/ux): honest source list — drop dead domklik/restate, remove fake per-source median, sync hero/footer/card (#1968) bot-backend 2026-06-27 13:58:16 +03:00
  • 4a63b8f7d7 Merge remote-tracking branch 'forgejo/main' into fix/tradein-domclick-bff-rewrite bot-backend 2026-06-27 13:57:24 +03:00
  • 52fc920507 fix(tradein/domclick): rewrite dead scraper to BFF JSON API + honest status (#1846, #1968) bot-backend 2026-06-27 13:57:07 +03:00
  • f3e622acec chore(tradein): renumber domclick schedule migration 132 -> 138 (collision with 132_scrape_schedules_seed_house_imv on main) bot-backend 2026-06-27 13:52:43 +03:00
  • dbef242716 feat(tradein/scrapers): domclick вторичка через bff-search-web JSON API (Layer A) bot-backend 2026-06-27 13:46:51 +03:00
  • a184d38aa6 fix(analytics): recommend_mix success-boost regression from view 172 (#1955) Light1YT 2026-06-27 15:49:40 +05:00
  • 86ddf99bb6 Merge pull request 'feat(tradein/auth): expire praktika trial access + trial-ended screen (contact Artem)' (#1977) from feat/tradein-praktika-trial-ended into main lekss361 2026-06-27 10:35:06 +00:00
  • 703e411a17 feat(tradein/auth): expire praktika trial access + trial-ended screen (contact Artem) bot-backend 2026-06-27 13:30:28 +03:00