| .. |
|
analysis_runs
|
feat(parcels): typed AnalyzeResponse + run-history read endpoints (#961)
|
2026-06-06 18:13:34 +00:00 |
|
cadastre
|
fix(#265 review): CRS 3857→4326 + stable zone_id hash + rename 102 + tx comment
|
2026-05-17 10:45:52 +03:00 |
|
chat
|
feat(chat): LLM tool-loop + §19 redaction wiring for #957 (Step 2+3)
|
2026-06-08 17:45:01 +05:00 |
|
exporters
|
fix(backend): экранировать Excel formula-injection (#1244) + увести chat-чтение с event loop (#1245)
|
2026-06-13 18:10:21 +05:00 |
|
forecasting
|
feat(forecast): расширить горизонт прогноза до 24 мес (ТЗ §12.1)
|
2026-06-13 17:27:35 +05:00 |
|
generative
|
feat(generative): exporters (dxf/pdf) + generative test suite (#54 #55 #56)
|
2026-06-13 21:33:20 +05:00 |
|
llm
|
fix(llm): cap серверного Retry-After через _MAX_BACKOFF_S=30s (#1209)
|
2026-06-13 06:07:46 +00:00 |
|
scrapers
|
fix(okn): expand registry coverage + load detail-card name/address (#1159)
|
2026-06-13 15:02:50 +05:00 |
|
site_finder
|
feat(site-finder): domrf→cad geom-match + parking_ratio конкурентов (#96) (#1327)
|
2026-06-14 14:49:28 +00:00 |
|
__init__.py
|
feat(cadastre): bulk_harvest worker + grid-walker + admin API (#168 PR3/5) (#171)
|
2026-05-15 13:31:32 +03:00 |
|
test_cadastre_bulk.py
|
fix(cadastre): NSPD 500-retry + per-layer skip (#252) + disable dead pzz-beat (#259) + geom backfill (#200)
|
2026-06-13 20:45:05 +05:00 |
|
test_ekburg_permits.py
|
feat(sf): geocode geom для ekburg_construction_permits из МСК-66 (#1124)
|
2026-06-07 11:16:45 +00:00 |
|
test_forecast_request_cache.py
|
perf(forecast): per-request memoization cache for §22 cold build (#1129)
|
2026-06-08 05:26:27 +00:00 |
|
test_functional_zone_lookup.py
|
feat(sf): ingest функц.зон генплана ЕКБ-2045 из ГИСОГД-СО WFS → ekb_genplan_functional_zone (#1137)
|
2026-06-07 12:03:39 +00:00 |
|
test_granddoc_lookup.py
|
feat(sf): граддокументация (статус+ПАГЕ-реквизиты) из planning_projects в analyze (#1154)
|
2026-06-07 15:15:03 +00:00 |
|
test_ird_analyze.py
|
fix(sf): ekb_ppt_tep post-фильтры + врезка в analyze (#1136)
|
2026-06-13 09:32:52 +00:00 |
|
test_ird_overlay_lookup.py
|
fix(site-finder): расширить except в parcel_ird_overlaps до DataError (#1095)
|
2026-06-13 15:02:50 +05:00 |
|
test_job_settings.py
|
fix(admin-jobs): UPSERT в PUT /admin/jobs/settings — не терять изменения (#1223)
|
2026-06-13 08:36:23 +00:00 |
|
test_krt_lookup.py
|
feat(sf): КРТ-реквизиты (ekb_krt_sites) в ИРД-блок analyze (#1131)
|
2026-06-07 11:50:29 +00:00 |
|
test_newbuilding_crossload.py
|
fix(sf): psql stdin-bootstrap пароля gendesign_reader + COALESCE-protect внешних id (review fixup, #976)
|
2026-06-12 11:26:40 +03:00 |
|
test_nspd_denorm.py
|
feat(nspd): denorm nspd_parcels + nspd_buildings tables (#94 PR3 of 4)
|
2026-05-16 20:20:03 +03:00 |
|
test_objective_backfill.py
|
feat(etl): objective_complex_mapping backfill via pg_trgm (#203) (#214)
|
2026-05-16 12:47:09 +00:00 |
|
test_own_developer_ids_config.py
|
feat(site-finder): own-portfolio data source for §25.3 cannibalization (#1169 PR1)
|
2026-06-08 16:21:53 +05:00 |
|
test_planning_lookup.py
|
feat(sf): wire ППТ/ПМТ planning_projects в analyze ird-блок (#1105)
|
2026-06-06 20:50:34 +00:00 |
|
test_ppt_tep_lookup.py
|
fix(sf): ekb_ppt_tep post-фильтры + врезка в analyze (#1136)
|
2026-06-13 09:32:52 +00:00 |
|
test_quarter_dump_lookup.py
|
feat(site_finder): routing POI decay (#41) + OSM utility distances (#44) + ЗОУИТ geom (#255bk)
|
2026-06-13 22:31:56 +05:00 |
|
test_recommend_mix_velocity.py
|
fix(analytics): свежая ипотечная ставка + recommend last_updated + drop dead route (#236 #237 #251)
|
2026-06-13 15:22:22 +00:00 |
|
test_reservation_lookup.py
|
feat(sf): ПАГЕ-парсер изъятия/резервирования → land_reservation (#1118)
|
2026-06-07 10:15:03 +00:00 |
|
test_weather_cache.py
|
test: выровнять weather_cache/nspd_geo тесты под #1377/#1336 (CI red→green)
|
2026-06-16 08:35:14 +03:00 |
|
test_zone_regulation_extract.py
|
feat(sf): zone_regulation_cache — ПЗЗ-регламент по zone_index + числовой экстракт (#1099)
|
2026-06-06 19:31:28 +00:00 |