Commit graph
Select branches
Hide pull requests
audit/1871-p1-2-ghost-anchor-guard
audit/1871-p1-3-isreal-stubs
audit/1871-p1-scenarios-collapse
audit/1871-p2-avito-coord
audit/1871-p2-estimator-dedup-split
audit/1871-p2-invest-moi
audit/1871-p2-velocity-market
audit/1871-p3-uiux
chore/analyst-inbound-queue-tradein-db
chore/bot-harness-tuning
chore/bot-safety-followups
chore/design-sync-tradein
chore/frontend-vitest-wkt-tests
chore/mock-financial-estimate
chore/ptica-iso-preview-spin
chore/remove-n1-scraper
ci/forgejo-pytest-gate
ci/frontend-vitest-job
docs/agent-usage-throttle-qa-terminal
feat/1746-utility-infra-map
feat/39-osrm-per-category
feat/794-sber-time-adjust
feat/801-preview-full-wt
feat/activate-domclick-sweep
feat/analyst-role-audit-962
feat/analyze-market-coords-999
feat/analyze-response-contract-961
feat/avito-detail-backfill
feat/avito-newbuilding-capture
feat/avito-newbuilding-sweep
feat/backtest-oos-almon-seasonal
feat/browser-concurrent-pool
feat/cbr-inflation-macro-946
feat/cian-zhk-resolve-972
feat/claude-envvars-and-stale-cron
feat/competitor-velocity-spatial-fallback-968
feat/concept-house-catalog-1965-stage3a
feat/concept-house-picker-1965-stage3b
feat/concept-live-massing-1965-stage2b
feat/concept-recompute-1965-stage2a
feat/concept-section-1965-stage1
feat/dcf-velocity-schedule
feat/demand-supply-months-of-inventory
feat/district-vocab-reconciliation
feat/emiss-macro-indicators-946
feat/finmodel-cost-cascade
feat/finmodel-dcf
feat/finmodel-financing
feat/finmodel-price-calibration
feat/finmodel-sitefinder-bridge
feat/forecast-celery-task-persist
feat/forecast-chart-section6
feat/forecast-docx-pptx-buttons
feat/forecast-endpoint-horizon-enqueue
feat/forecast-export-docx-959
feat/forecast-export-md-959
feat/forecast-export-pptx-959
feat/forecast-export-telegram-959
feat/forecast-export-ui-959
feat/forecast-future-supply-competitors
feat/forecast-meta-footer
feat/forecast-orchestrator-service
feat/forecast-product-tz-block
feat/forecast-scoring-panel
feat/forecast-section-998
feat/horizon-selector-996
feat/insight-entity-948a
feat/listings-segment-param-1188
feat/location-948b-r
feat/location-entity-948b
feat/market-map-layers-999
feat/newbuilding-enrich-backfill-972
feat/objective-lots-history-writer-307-obj6
feat/plan-vectorization-spike-299
feat/ptica-cockpit-complete-bottom
feat/ptica-default-and-rich-map
feat/ptica-map-glyphs-sitefinder-dark
feat/ptica-real-ksit-frontend
feat/ptica-tabs-6-6-reports-params
feat/riasurt-sverdl-layers-108
feat/rosstat-emiss-macro-946
feat/site-finder-v2-cockpit
feat/site-finder-v2-map-light-polish
feat/tradein-address-precision
feat/tradein-avito-houses-fix
feat/tradein-avito-imv-fix
feat/tradein-backfill-prioritize-listings
feat/tradein-domclick-house-sku-schema
feat/tradein-ekb-geoportal-buildings
feat/tradein-fias-estimate-frontend
feat/tradein-fias-tier-matching
feat/tradein-geocode-deals-from-houses
feat/tradein-geocode-deals-nominatim
feat/tradein-hedonic-ground-floor
feat/tradein-repair-coef-calibration
feat/tradein-same-building-match
feat/velocity-mv-61
feat/wire-978-almon-rate-regime
feat/wire-district-resolver
feat/yandex-camoufox-transport
feat/yandex-detail-backfill
feat/yandex-exhaustive-price-room
feat/yandex-novostroyki-newflat
feat/zone-regulation-backfill
fix/1666-layout-velocity-beat
fix/1667-metro-block
fix/1668-analyze-confidence
fix/171-migration-path
fix/1781-house-fk-source-identity
fix/1917-fetch-json-network-retry
fix/1926-app-log-stdout
fix/1926-scrape-runs-total-seen
fix/2013-avito-cohort-null
fix/admin-leads-interval-cast-1694
fix/admin-scrape-validation
fix/affordability-market-spread
fix/audit-followups-1953
fix/avito-novostroyki-segment
fix/avito-proactive-ip-rotate
fix/avito-sweep-single-run-guard
fix/backfill-kadastr-column
fix/backtest-sig-gate
fix/base-pace-room-bucket-1593
fix/best-layouts-bucket-normalization
fix/best-layouts-per-object-snapshot-1956
fix/cad-zones-multipolygon-1344
fix/ci-dedup-runner-storm-1709
fix/cian-detail-rich-fields
fix/cian-kitchen-area
fix/cian-paginate-tail-1393
fix/confidence-deal-count-window-1637
fix/conflict-resolution-freshness-1539
fix/deficit-segmentation-1959
fix/district-median-dedup-1352
fix/dkp-corridor-doc-p10p90-1695
fix/dkp-corridor-percentile-1520
fix/domrf-badge-regex-narrow-1686
fix/domrf-status-classify-1609
fix/emiss-period-dedup-1606
fix/emiss-pk-granularity-1687
fix/enrich-economics-window-1513
fix/estimator-tiebreaker-nanalogs
fix/excel-deficit-horizon-1590
fix/expire-brusnika-trial-access
fix/finmodel-split-disclosure-threshold
fix/frontend-healthcheck-hostname
fix/gate-verdict-no-blocker-1617
fix/geo-weight-floor-1633
fix/gknspecial-incremental-commit-per-prefix
fix/house-id-fk-realtime-link
fix/inn-regex-context-1640
fix/inn-regex-word-boundary-1682
fix/izyatie-ocr-cad-normalize
fix/job-settings-json-persist-v2
fix/job-settings-panel-json-state-persist
fix/leads-stats-window-1383
fix/listings-partial-indexes-1398
fix/match-economics-1511-1512
fix/migration-162-table-if-exists
fix/noise-loader-savepoint-per-row
fix/normalize-zero-fill-guard-1638
fix/nspd-geo-soft-time-limit-passthrough
fix/nspd-soft-time-limit-v2
fix/objective-lots-dedup-1964
fix/objective-mapping-is-reviewed-gate-307-obj2
fix/objective-sync-config-bare-except
fix/okn-objects-full-registry-load
fix/parcel-ird-overlap-except-expand
fix/parcel-snapshot-mdash-double-escape
fix/parking-economics-by-class
fix/pdf-expires-at-1530
fix/pilot-request-modal-validation
fix/poi-loader-leap-year-date-replace
fix/poi-score-scale-1486
fix/ptica-3d-preview-product-verdict
fix/ptica-button-fontsize
fix/ptica-inter-map-product
fix/ptica-left-rail
fix/ptica-parity-data-mapping
fix/ptica-visual-parity
fix/ptica-vri-row
fix/quartirography-area-bucket-1406
fix/rbac-test-user2-expired
fix/recommend-mix-saturation-latest-snapshot
fix/report-assembler-confounded-keys
fix/report-frontend-display-1953
fix/report-map-points-1961
fix/report-microcopy-1963
fix/report-nspd-zoning-1962
fix/residential-zone-detect-1353
fix/sber-dataset-paths-902
fix/score-label-threshold-1357
fix/score-sat-factor-1509
fix/scrape-cadastre-fail-counter-v2
fix/scrape-cadastre-permanent-fail-counter
fix/sf-feedback-batch
fix/site-finder-entry-crash-1001
fix/smart-suggestions-threshold-1503
fix/sold-pct-market-verdict-1407
fix/supply-layers-overlap-1355
fix/supply-view-devgroup-key-1650
fix/test-849-savepoint-count
fix/tradein-dedup-by-fias
fix/tradein-dedup-fias-pass-no-geoguard
fix/tradein-deploy-scraper-paths-filter
fix/tradein-no-numberless-house-insert
fix/tradein-praktika-logo-form-scroll
fix/tradein-v2-uiux-p1
fix/trend-ratio-vprior-zero-1508
fix/usermenu-analyst-role-label
fix/v2-map-legend-position
fix/v2-remove-resource-legend
fix/weather-wind-d-allnone
fix/week-review-backend-v2
fix/week-review-finish
fix/zoning-resolution-decouple
fix/zouit-engineering-area-gate
main
perf/171-objective-crm-report-month-idx
perf/best-layouts-objects-first
perf/forecast-parallel-horizons-1129
perf/tradein-estimate-audit
revert/site-finder-v2
rollback/sf-old-analysis-design
rollback/site-finder-home-light
test/residential-zone-rawprops-1681
#1000
#1002
#1003
#1004
#1005
#1006
#1007
#1008
#1009
#1010
#1011
#1012
#1013
#1014
#1015
#1016
#1017
#1018
#1019
#1020
#1021
#1022
#1023
#1024
#1025
#1026
#1027
#1028
#1029
#1030
#1031
#1032
#1033
#1034
#1035
#1036
#1037
#1038
#1039
#1040
#1041
#1042
#1043
#1044
#1045
#1046
#1047
#1048
#1049
#1050
#1051
#1052
#1053
#1054
#1055
#1056
#1068
#1069
#1071
#1072
#1073
#1074
#1075
#1076
#1077
#1078
#1079
#1080
#1082
#1083
#1089
#109
#1090
#1092
#1093
#1094
#1096
#1097
#1098
#1099
#110
#1100
#1101
#1103
#1104
#1105
#1106
#1107
#1108
#1109
#111
#1110
#1111
#1112
#1113
#1114
#1115
#1117
#1118
#1120
#1121
#1123
#1124
#1125
#1126
#1127
#1128
#1131
#1132
#1133
#1135
#1137
#1139
#1140
#1141
#1143
#1144
#1145
#1146
#1147
#1148
#1149
#1150
#1152
#1153
#1154
#1155
#1157
#1158
#116
#1160
#1161
#1162
#1163
#1164
#1165
#1166
#1167
#1168
#117
#1170
#1171
#1172
#1173
#1174
#1175
#1176
#1177
#1178
#1179
#118
#1180
#1181
#1183
#1185
#119
#1192
#1193
#1194
#1195
#1197
#1199
#120
#1200
#121
#122
#123
#124
#1243
#1249
#125
#1250
#1251
#1252
#1253
#1254
#1255
#1256
#1257
#1258
#1259
#1260
#1261
#1262
#1263
#1264
#1265
#1266
#1267
#1268
#1269
#1270
#1271
#1272
#1273
#1274
#1275
#1276
#1277
#1278
#1279
#1280
#1281
#1282
#1283
#1284
#1285
#1286
#1287
#1288
#1289
#1290
#1291
#1292
#1293
#1294
#1295
#1296
#1297
#1298
#1299
#1300
#1301
#1302
#1303
#1304
#1305
#1306
#1307
#1308
#1309
#131
#1310
#1311
#1312
#1313
#1314
#1315
#1316
#1317
#1318
#1319
#132
#1320
#1321
#1322
#1323
#1324
#1325
#1326
#1327
#1328
#1329
#133
#1330
#1331
#1332
#1333
#1334
#1335
#135
#136
#137
#138
#139
#141
#142
#143
#145
#146
#147
#148
#149
#151
#152
#153
#154
#1540
#1541
#1542
#1543
#1544
#1545
#1546
#1547
#1548
#1549
#155
#1550
#1552
#1554
#1555
#1556
#1557
#1558
#1559
#1568
#157
#158
#159
#160
#163
#164
#165
#1657
#1658
#1659
#166
#1660
#1661
#1662
#1663
#1664
#1665
#1669
#167
#1670
#1671
#1672
#1673
#1674
#1675
#1676
#1677
#1678
#1679
#1680
#1681
#1682
#1683
#1684
#1685
#1686
#1687
#1688
#1689
#169
#1690
#1691
#1692
#1693
#1694
#1695
#1696
#1697
#1698
#1699
#170
#1700
#1701
#1702
#1703
#1704
#1705
#1706
#1707
#1708
#171
#1710
#1711
#1712
#1713
#1714
#1715
#1716
#1717
#1718
#1719
#172
#1720
#1721
#1722
#1724
#1725
#1726
#1727
#1728
#1729
#173
#1730
#1731
#1732
#1733
#1734
#1735
#174
#1747
#1748
#1749
#175
#1750
#1751
#1752
#1753
#1754
#1755
#1756
#1757
#1758
#1759
#176
#1760
#1761
#1762
#1763
#1764
#1765
#1766
#1767
#1768
#1769
#177
#1770
#1771
#1775
#1776
#1777
#1778
#1779
#178
#1780
#1782
#1783
#1784
#1786
#1787
#1788
#179
#1794
#1797
#1798
#1799
#180
#1800
#1802
#1807
#1808
#1809
#181
#1810
#1813
#1815
#1817
#1818
#1819
#182
#1821
#1822
#1823
#1824
#1825
#1826
#1827
#1828
#1829
#183
#1830
#1831
#1832
#1833
#1834
#1835
#1836
#1837
#1838
#1839
#184
#1840
#1841
#1842
#1844
#1845
#1847
#1848
#1849
#185
#1851
#1852
#1853
#1854
#1855
#1856
#1857
#1858
#1859
#186
#1860
#1861
#1862
#1863
#1864
#1865
#1866
#1867
#1868
#1869
#187
#1870
#1872
#1873
#1874
#1875
#1876
#1877
#1878
#1879
#188
#1880
#1882
#1883
#1884
#1885
#1886
#1887
#1888
#1889
#189
#1890
#1891
#1892
#1893
#1894
#1895
#1896
#1897
#1898
#1899
#190
#1900
#1901
#1902
#1903
#1904
#1905
#1906
#1907
#1908
#1909
#191
#1910
#1911
#1912
#1913
#1914
#1915
#1916
#1919
#192
#1920
#1921
#1922
#1923
#1924
#1925
#1927
#1928
#1929
#193
#1930
#1931
#1932
#1933
#1934
#1935
#1936
#1937
#1938
#1939
#194
#1941
#1942
#1943
#1944
#1946
#1947
#1948
#195
#1952
#196
#1973
#1974
#1975
#1976
#1977
#1978
#1979
#198
#1980
#1981
#1982
#1983
#1984
#1985
#1986
#1987
#1988
#199
#1997
#1998
#1999
#2001
#2004
#2005
#2006
#2014
#2015
#2016
#2017
#2018
#2019
#2020
#2021
#2022
#2023
#2024
#2025
#2026
#2027
#2028
#2029
#2030
#2031
#2032
#2033
#2034
#2035
#2037
#2047
#2048
#2049
#205
#2050
#2051
#2052
#2053
#2054
#2055
#2056
#2057
#2058
#2059
#206
#2060
#2061
#2063
#2064
#2065
#2066
#2067
#2068
#2069
#207
#2070
#2071
#2072
#2073
#2074
#2075
#2076
#2077
#2078
#2079
#208
#2080
#2082
#2083
#2084
#2085
#2086
#2088
#2089
#209
#2090
#2091
#2092
#2093
#2094
#2095
#2096
#2097
#2098
#2099
#210
#2100
#2101
#2102
#2103
#2104
#2105
#2106
#2107
#2108
#2109
#211
#2110
#2112
#2113
#2114
#2115
#2116
#2117
#2118
#212
#2120
#2121
#2122
#2123
#2124
#2125
#213
#2139
#214
#2140
#2141
#2142
#2143
#2144
#2145
#2146
#2147
#2148
#2149
#215
#2150
#2151
#2152
#2153
#2154
#2155
#2156
#2157
#2158
#2159
#216
#2165
#2166
#2167
#2168
#2169
#217
#2170
#2171
#2172
#2173
#2174
#2175
#2176
#218
#2182
#2183
#2184
#2185
#2186
#219
#2190
#2191
#2193
#2194
#2195
#2196
#2197
#2198
#2199
#220
#221
#2210
#2219
#222
#2220
#2221
#2222
#2223
#2224
#2225
#2226
#2227
#2228
#2229
#223
#2230
#2231
#2232
#2237
#2238
#2239
#224
#2240
#2241
#2242
#2243
#2244
#2245
#2246
#2247
#2248
#2249
#225
#2250
#2251
#2252
#2253
#2256
#2257
#2258
#226
#2260
#2261
#2263
#2268
#2270
#2271
#2272
#2273
#2274
#2276
#2278
#2279
#228
#2280
#2281
#2282
#2283
#2284
#2285
#2286
#2287
#2288
#2289
#229
#2290
#2292
#2293
#2296
#2297
#2298
#2299
#230
#2300
#2301
#2302
#2303
#2311
#2312
#2313
#2314
#2315
#2318
#2319
#2321
#2324
#2325
#2326
#2327
#2328
#2329
#2331
#2332
#2333
#2338
#2339
#2340
#2341
#2342
#2343
#2344
#2345
#2346
#2347
#2348
#2353
#2354
#2355
#2356
#2357
#2359
#2360
#2365
#2366
#2368
#2370
#2371
#2372
#2373
#2374
#2375
#2383
#2384
#2387
#2388
#2389
#239
#2390
#2391
#2392
#2393
#2394
#2396
#2398
#2399
#240
#2400
#2401
#2402
#2403
#2404
#2405
#2407
#241
#2410
#2411
#2412
#2413
#2414
#2415
#2417
#2418
#2419
#2420
#2421
#2424
#2426
#2427
#2428
#2429
#2430
#2432
#2433
#2434
#2436
#2437
#2438
#2439
#2441
#2444
#2446
#2447
#2448
#245
#2450
#2451
#2453
#2454
#2455
#2456
#2458
#2459
#246
#2460
#2461
#2463
#2465
#2466
#2467
#2468
#2469
#247
#2470
#2471
#2472
#2473
#2474
#2475
#2476
#2477
#2478
#2479
#248
#2480
#2481
#2482
#2483
#2484
#2485
#2486
#2487
#2488
#2489
#249
#2490
#2491
#2492
#2493
#2494
#2495
#2496
#2497
#2498
#2499
#250
#2500
#2501
#2502
#2503
#2504
#2505
#2506
#2507
#2508
#2509
#2510
#2511
#2512
#2513
#2514
#2515
#2516
#2517
#2518
#2519
#2520
#2521
#2522
#2523
#2524
#2525
#2526
#2527
#2528
#2529
#2530
#2531
#2532
#2533
#2534
#2535
#2536
#2537
#2538
#2539
#2540
#2541
#2542
#2543
#2544
#257
#258
#260
#262
#265
#266
#267
#268
#269
#270
#272
#273
#274
#275
#276
#277
#278
#279
#280
#281
#282
#283
#284
#285
#286
#287
#288
#289
#290
#291
#292
#293
#294
#296
#298
#302
#303
#304
#305
#306
#308
#309
#310
#311
#312
#313
#315
#316
#317
#318
#319
#320
#321
#322
#323
#324
#325
#326
#327
#328
#329
#330
#331
#332
#333
#334
#335
#336
#337
#338
#339
#340
#341
#342
#343
#344
#345
#346
#347
#348
#349
#350
#351
#352
#353
#354
#355
#356
#357
#358
#359
#360
#361
#362
#363
#364
#365
#366
#367
#368
#369
#370
#371
#372
#373
#374
#375
#376
#377
#378
#379
#380
#381
#382
#383
#384
#385
#386
#387
#388
#389
#403
#404
#405
#406
#407
#408
#409
#410
#412
#413
#414
#416
#417
#418
#419
#420
#421
#422
#423
#424
#425
#426
#430
#432
#433
#434
#435
#436
#437
#438
#439
#440
#441
#442
#443
#444
#445
#447
#448
#449
#450
#451
#452
#453
#454
#455
#456
#457
#458
#459
#460
#461
#462
#463
#464
#465
#466
#467
#468
#469
#470
#471
#472
#473
#474
#475
#476
#477
#478
#479
#480
#481
#482
#483
#484
#485
#486
#487
#488
#489
#490
#491
#492
#493
#494
#495
#496
#497
#498
#499
#500
#501
#502
#503
#504
#505
#506
#507
#508
#509
#510
#511
#512
#513
#514
#515
#516
#517
#518
#519
#520
#521
#522
#523
#524
#525
#526
#527
#528
#529
#530
#531
#532
#533
#534
#535
#536
#537
#538
#539
#540
#541
#542
#543
#544
#545
#546
#547
#548
#549
#550
#551
#552
#553
#554
#555
#556
#557
#558
#583
#584
#585
#586
#587
#588
#589
#590
#591
#592
#593
#594
#595
#596
#597
#598
#599
#600
#601
#602
#603
#604
#605
#606
#607
#608
#609
#610
#611
#612
#613
#614
#615
#616
#617
#618
#619
#620
#624
#625
#626
#627
#628
#629
#630
#631
#632
#634
#635
#637
#638
#640
#641
#642
#643
#645
#646
#649
#650
#660
#661
#662
#663
#664
#665
#668
#669
#670
#671
#672
#673
#674
#675
#676
#677
#678
#679
#680
#681
#682
#683
#684
#685
#686
#687
#688
#689
#700
#701
#702
#703
#704
#705
#706
#707
#708
#709
#710
#711
#712
#713
#715
#716
#718
#719
#720
#723
#725
#729
#733
#734
#735
#737
#738
#739
#743
#744
#745
#746
#749
#751
#752
#761
#776
#777
#778
#779
#780
#782
#783
#784
#785
#787
#788
#789
#790
#791
#792
#793
#797
#798
#802
#803
#804
#805
#807
#808
#809
#810
#811
#812
#813
#816
#817
#818
#819
#820
#825
#828
#829
#830
#831
#832
#833
#837
#838
#84
#840
#841
#842
#844
#845
#846
#847
#848
#85
#851
#852
#856
#857
#858
#86
#860
#861
#862
#863
#864
#866
#867
#868
#869
#87
#870
#872
#873
#874
#875
#876
#877
#878
#88
#881
#882
#889
#89
#890
#891
#892
#893
#894
#896
#897
#898
#899
#90
#900
#903
#904
#906
#907
#908
#909
#91
#910
#911
#912
#913
#914
#916
#917
#918
#919
#92
#921
#923
#924
#925
#926
#927
#929
#931
#932
#934
#935
#937
#938
#939
#940
#942
#943
#95
#963
#964
#98
#997
-
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 -
b60df61f6a
Merge pull request 'refactor(tradein/estimator): extract deterministic pricing into pure _price_from_inputs (#1966 foundation)' (#1976) from refactor/tradein-estimator-price-spine into main
lekss361
2026-06-27 10:13:33 +00:00 -
453a1f08da
fix(report): newbuild-consistent district median + obj_class dedup (#1953)
Light1YT
2026-06-27 15:10:49 +05:00 -
845f699176
chore(claude-config): secret-read + psycopg2 hooks, tradein.md rule, tradein-mvp globs (#1975)
lekss361
2026-06-27 10:03:19 +00:00 -
b73161a133
chore(claude-config): secret-read + psycopg2 hooks, tradein.md rule, tradein-mvp globs
bot-backend
2026-06-27 13:02:30 +03:00 -
2ea49b637f
refactor(tradein/estimator): extract deterministic pricing into pure _price_from_inputs (#1966 foundation)
bot-backend
2026-06-27 13:00:21 +03:00 -
24a80ee0cf
wip: extract pricing spine (pre-test)
bot-backend
2026-06-27 12:51:14 +03:00 -
3b7e1dc27f
Merge pull request 'chore(claude-config): self-merge policy (Mera/Ptica) + config-audit fixes' (#1974) from chore/claude-config-audit into main
lekss361
2026-06-27 09:48:29 +00:00 -
f1f49176f5
chore(claude-config): self-merge policy (Mera/Ptica) + config-audit fixes
bot-backend
2026-06-27 12:44:47 +03:00 -
ebdbedcabb
Merge pull request 'fix(report): EGRN площадь/обновлено + forecast-confidence dedup + ЗОУИТ типизация (#1954 #1958 #1957)' (#1973) from fix/report-quickwins-1953 into main
bot-backend
2026-06-27 09:34:44 +00:00 -
bd1ed4861c
docs(zouit): уточнить DISTINCT ON-комментарий + убрать stale cad_zouit из FE-типа (#1957)
Light1YT
2026-06-27 14:21:01 +05:00 -
76647bb4cf
fix(report): площадь/обновлено EGRN, forecast-confidence dedup, ЗОУИТ типизация (#1953)
Light1YT
2026-06-27 14:14:40 +05:00 -
1123f38149
Merge pull request 'fix(scrapers): cian full_load anti-zombie + avito changeip-resilience & честный статус (#1949 #1950)' (#1952) from fix/scraper-resilience-cian-zombie-avito-changeip into main
lekss361
2026-06-27 08:38:10 +00:00 -
e24d3cf4be
fix(scrapers): cian full_load anti-zombie — per-fetch wait_for + heartbeat внутри бакета (#1949)
bot-backend
2026-06-27 11:32:42 +03:00 -
757f6486f5
fix(scrapers): avito changeip-resilience (retry короткими попытками) + честный статус когда SERP отработал (#1950)
bot-backend
2026-06-27 11:24:54 +03:00 -
d87641ac29
Merge pull request 'fix(freshness): output-floor on cycle-SUM over fresh_days window (#1945, #1947)' (#1948) from feat/freshness-output-floor into main
bot-backend
2026-06-27 07:50:04 +00:00 -
c646a71001
fix(freshness): output-floor on cycle-SUM over fresh_days window (#1945, #1947)
Light1YT
2026-06-27 12:36:50 +05:00 -
9c9b50ceca
Merge pull request 'feat(freshness): zero-output check + kn_flats source — catch "ran but produced nothing" (#1945)' (#1947) from feat/freshness-zero-output-check into main
lekss361
2026-06-27 07:02:51 +00:00 -
bd1adc1f59
feat(freshness): zero-output check + kn_flats source (#1945)
Light1YT
2026-06-27 11:52:29 +05:00 -
1fb33e20dd
Merge pull request 'perf(estimate): trigram expr index for same-building anchor Tier A (~94x)' (#1946) from perf/tradein-estimate-audit into main
bot-backend
2026-06-27 06:18:01 +00:00 -
8d5c1a888d
perf(estimate): trigram expression index for same-building anchor Tier A (~94x)
perf/tradein-estimate-audit
Light1YT
2026-06-27 11:16:48 +05:00 -
7f2aa20be3
Merge pull request 'fix(site_finder): correct best-layouts supply fan-out (~8.5x) + objects-first perf' (#1944) from perf/best-layouts-objects-first into main
bot-backend
2026-06-27 05:58:38 +00:00 -
7533bc333b
fix(site_finder): correct best-layouts supply fan-out + objects-first perf
perf/best-layouts-objects-first
Light1YT
2026-06-27 10:45:19 +05:00 -
d9a4228c6d
Merge pull request 'fix(perf): move migration 171 to repo-root data/sql/ so deploy applies it' (#1943) from fix/171-migration-path into main
bot-backend
2026-06-27 05:19:39 +00:00 -
23cc188972
fix(perf): move migration 171 to repo-root data/sql/ so the deploy applies it
fix/171-migration-path
Light1YT
2026-06-27 10:06:33 +05:00 -
47fe8e2469
Merge pull request 'perf(analyze): partial index on objective_corpus_room_month (~3.8x on hot velocity baseline)' (#1942) from perf/171-objective-crm-report-month-idx into main
bot-backend
2026-06-27 05:02:41 +00:00 -
116af2ebc1
perf(analyze): partial index on objective_corpus_room_month for EKB velocity baseline
perf/171-objective-crm-report-month-idx
Light1YT
2026-06-27 09:49:39 +05:00 -
fc61fee15e
Merge pull request 'fix(backend): emit app.* INFO logs to stdout on the API process (#1926)' (#1941) from fix/1926-app-log-stdout into main
bot-backend
2026-06-27 02:59:08 +00:00 -
eab7e3b9f3
fix(backend): emit app.* INFO logs to stdout on the API process (#1926)
fix/1926-app-log-stdout
Light1YT
2026-06-27 07:43:49 +05:00 -
264701a4e4
Merge pull request 'fix(estimator): deterministic comp tie-breaker + n_analogs counts priced analogs' (#1939) from fix/estimator-tiebreaker-nanalogs into main
bot-backend
2026-06-27 00:58:15 +00:00 -
bcdc7ccb04
fix(estimator): deterministic comp tie-breaker + n_analogs counts priced analogs
fix/estimator-tiebreaker-nanalogs
Light1YT
2026-06-27 05:57:04 +05:00 -
5968d78049
Merge pull request 'fix(tradein-browser): in-page fetch retry + settle tuning for /fetch-json (#1917)' (#1938) from fix/1917-fetch-json-network-retry into main
bot-backend
2026-06-27 00:31:20 +00:00 -
2687f75b92
fix(tradein-browser): in-page fetch retry + configurable settle for /fetch-json (#1917)
fix/1917-fetch-json-network-retry
Light1YT
2026-06-27 05:30:16 +05:00 -
dfdd978528
Merge pull request 'test(tradein): cover avito/cian + mark_failed total_seen persistence (#1926)' (#1937) from fix/1926-scrape-runs-total-seen into main
bot-backend
2026-06-27 00:17:23 +00:00 -
8bb302aadf
test(tradein): cover avito/cian + mark_failed total_seen/new_count persistence (#1926)
fix/1926-scrape-runs-total-seen
Light1YT
2026-06-27 05:16:14 +05:00 -
a246044583
Merge pull request 'fix(tradein): backfill house_id_fk via source-identity path (#1781)' (#1936) from fix/1781-house-fk-source-identity into main
bot-backend
2026-06-27 00:05:14 +00:00 -
6ce60a0d8c
fix(tradein): backfill house_id_fk via source-identity path (#1781)
fix/1781-house-fk-source-identity
Light1YT
2026-06-27 05:01:02 +05:00 -
94d3a981c8
Merge pull request 'feat(analyze): per-category OSRM routing — foot vs driving (#39 A3)' (#1935) from feat/39-osrm-per-category into main
bot-backend
2026-06-26 23:43:28 +00:00 -
8a3bae0cda
feat(analyze): per-category OSRM routing (foot vs driving) (#39 A3)
feat/39-osrm-per-category
Light1YT
2026-06-27 04:30:25 +05:00 -
6c8bf0e496
Merge pull request 'feat(site-finder): OSM инж.сети на карту analyze (#1746)' (#1934) from feat/1746-utility-infra-map into main
bot-backend
2026-06-26 22:43:59 +00:00 -
854fa69a8b
feat(site-finder): render OSM utility-infrastructure layer on analyze map (#1746)
feat/1746-utility-infra-map
Light1YT
2026-06-27 03:40:51 +05:00 -
63ac12dc23
feat(tradein): recurring house-dedup merge (schedule dormant) (#1772) (#1933)
bot-backend
2026-06-26 21:39:30 +00:00 -
70ca65b62b
test(tradein): fix real-DB merge test schema (#1772, #1933 review)
Light1YT
2026-06-27 02:38:15 +05:00 -
f48db87d39
feat(site-finder): OSRM road-distance in /analyze behind flag (#39 A2) (#1932)
bot-backend
2026-06-26 21:25:50 +00:00 -
fa5e5d83f1
feat(tradein): recurring house-dedup merge (schedule dormant) (#1772)
Light1YT
2026-06-27 02:23:22 +05:00 -
7a1d2a4ed6
fix(site-finder): Overpass retry-backoff + mirror fallback for utility loader (#1746) (#1931)
bot-backend
2026-06-26 21:13:06 +00:00 -
1d367f5d8e
feat(site-finder): OSRM road-distance in /analyze behind flag (#39 A2)
Light1YT
2026-06-27 02:05:56 +05:00 -
c70154ed61
fix(site-finder): Overpass retry-backoff + mirror fallback for utility loader (#1746)
Light1YT
2026-06-27 01:36:13 +05:00 -
3753079dee
feat(site-finder): OSM engineering-networks loader + endpoint (#1746) (#1930)
bot-backend
2026-06-26 20:01:00 +00:00 -
8d1e483271
chore: rename migration 100→170 (next free seq; 100-105 taken, max=169) (#1746)
Light1YT
2026-06-27 00:49:02 +05:00 -
42ed1f8a93
feat(site-finder): OSM engineering-networks loader + endpoint (#1746)
Light1YT
2026-06-27 00:42:02 +05:00 -
4fe20a9cbd
feat(devops): self-hosted OSRM routing engine for site-finder (#39) (#1929)
bot-backend
2026-06-26 19:18:21 +00:00 -
26f9605c06
feat(devops): self-hosted OSRM routing engine for site-finder (#39)
Light1YT
2026-06-27 00:13:41 +05:00 -
4846197d54
fix(site-finder): align competitor flats_sold to objective_lots.contract_date (#1926) (#1927)
bot-backend
2026-06-26 18:33:51 +00:00 -
1a07af028a
fix(site-finder): harden flats_sold sold-count SQL — fan-out, premise_kind, predicate (#1926)
Light1YT
2026-06-26 23:21:55 +05:00 -
89d05bbfec
fix(tradein): persist scrape_runs.total_seen/new_count from sweep counters (#1926) (#1928)
bot-backend
2026-06-26 18:09:17 +00:00 -
c336f91182
fix(site-finder): align competitor flats_sold to objective_lots.contract_date (#1926)
Light1YT
2026-06-26 23:03:13 +05:00 -
f87b6ada4c
fix(tradein): persist scrape_runs.total_seen/new_count columns from sweep counters (#1926)
Light1YT
2026-06-26 22:59:27 +05:00 -
87364eebca
fix(test): test_849 expects 3 begin_nested/lot after #1921 upsert-reconcile SAVEPOINT — unblock red main gate (#1925)
bot-backend
2026-06-26 17:23:24 +00:00 -
731f5538a5
fix(test): test_849 expects 3 begin_nested/lot after upsert-reconcile SAVEPOINT (#1921)
Light1YT
2026-06-26 22:22:32 +05:00 -
d89210200b
perf(tradein): GIST index on (geom::geography) for estimator radius filter (#1189) (#1924)
bot-backend
2026-06-26 17:12:49 +00:00 -
cf165bfd66
review: wrap migration 134 in BEGIN/COMMIT (runner not --single-transaction)
Light1YT
2026-06-26 22:12:05 +05:00 -
57456b5d10
perf(tradein): GIST index on (geom::geography) for estimator radius filter (#1189)
Light1YT
2026-06-26 22:09:01 +05:00