| .. |
|
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
|
feat(export): add PPTX presentation export of §22 forecast report (#959)
|
2026-06-07 14:09:35 +05:00 |
|
forecasting
|
feat(forecasting): activate §25.3 cannibalization unit-mix axis (4/4), gated (#1169)
|
2026-06-09 16:09:29 +05:00 |
|
llm
|
fix(chat): clean квартирография rendering in chat_system prompt (v2, #957)
|
2026-06-09 15:07:14 +05:00 |
|
scrapers
|
feat(sf): OCR-пайплайн изъятия ЕКБ (Tesseract rus) → land_reservation (#1062)
|
2026-06-07 18:07:06 +03:00 |
|
site_finder
|
feat(site-finder): own-portfolio data source for §25.3 cannibalization (#1169 PR1)
|
2026-06-08 16:21:53 +05: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(nspd-geo): coerce geom to MultiPolygon + wide cad_buildings schema in on-demand ingest
|
2026-06-04 13:11:47 +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
|
feat(sf): врезка pat_subzones в analyze ИРД-блок (#1158)
|
2026-06-07 17:59:50 +00:00 |
|
test_ird_overlay_lookup.py
|
feat(sf): gknspecial_zone ИРД-harvest → ird_overlays (#1114)
|
2026-06-07 09:54:53 +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
|
feat(sf): cross-load ETL tradein→gendesign newbuilding_listings — вариант A (#976)
|
2026-06-12 11:18:47 +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_quarter_dump_lookup.py
|
Merge remote-tracking branch 'forgejo/main' into fix/234-nspd-harvest-eta-badge
|
2026-05-17 09:19:12 +03:00 |
|
test_recommend_mix_velocity.py
|
feat(recommend): horizon-aware recommend_mix opt-in overlay (#982, 953-A) (#1014)
|
2026-06-03 07:40:33 +00:00 |
|
test_reservation_lookup.py
|
feat(sf): ПАГЕ-парсер изъятия/резервирования → land_reservation (#1118)
|
2026-06-07 10:15:03 +00:00 |
|
test_zone_regulation_extract.py
|
feat(sf): zone_regulation_cache — ПЗЗ-регламент по zone_index + числовой экстракт (#1099)
|
2026-06-06 19:31:28 +00:00 |