|
|
18942898d1
|
fix(site-finder): memoize zone_index WFS lookup + dedupe resolve in /analyze (#1850)
CI / backend-tests (pull_request) Successful in 11m8s
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m46s
- memoize coord→zone_index (bounded thread-safe LRU, ±1m key, negative caching) so
repeat /analyze skips the live WFS round-trip; regulation content still read fresh
from zone_regulation_cache (cache-update correctness preserved). Lock guards the
module-global memo (sync /analyze runs in threadpool); WFS call stays outside lock.
- resolve once, thread into build_ird_analyze_block (resolved_zone_regulation kwarg)
→ no redundant 2nd resolve when both enable_zoning_regulation_in_analyze and
enable_ird_analyze are on.
- unify divergent timeouts (parcels 3s / ird 4s) into settings.geoportal_timeout_s=4.
- document (not change) the mid-request db.commit() smell on cache-miss (separate task).
Closes #1850
|
2026-06-25 14:00:13 +05:00 |
|
|
|
285e8f974a
|
fix(sf): ekb_ppt_tep post-фильтры + врезка в analyze (#1136)
Deploy / changes (push) Successful in 6s
Deploy / build-backend (push) Successful in 2m12s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 4m34s
Deploy / deploy (push) Successful in 1m11s
Post-фильтры парсера (по образцу ppt2018_22823):
- Табл.11: отбрасываем строки без zone_name (преамбульные артефакты
merged-cells давали 2 фантома при 12 реальных зонах).
- Табл.13: dedup по (phase, composition, zone, area_ha) + фильтры
короткого-без-зоны и нумерационного шума (~364 строк → ~30-40 реальных).
Analyze-врезка: новый ppt_tep_lookup.parcel_ppt_tep — JOIN
planning_projects ⋈ ekb_ppt_tep по doc_ref↔source_key/doc_full_name
(best-effort, без FK). Wired в build_ird_analyze_block рядом с
planning_projects/krt_requisites — DB-источники, graceful.
Seed-URL остаётся placeholder с # VERIFY (ingest пропускает с WARNING).
Tests: 27 в parser (3 новых), 7 lookup, 22 wiring (2 новых).
All ruff/syntax green.
Closes #1136
|
2026-06-13 09:32:52 +00:00 |
|
|
|
f5dcd9dc2b
|
feat(sf): врезка pat_subzones в analyze ИРД-блок (#1158)
Deploy / changes (push) Successful in 6s
Deploy / build-backend (push) Successful in 1m27s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m30s
Deploy / deploy (push) Successful in 1m18s
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-07 17:59:50 +00:00 |
|
|
|
fe67e60d48
|
feat(sf): граддокументация (статус+ПАГЕ-реквизиты) из planning_projects в analyze (#1154)
Deploy / changes (push) Successful in 6s
Deploy / build-backend (push) Successful in 1m30s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m33s
Deploy / deploy (push) Successful in 1m9s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
|
2026-06-07 15:15:03 +00:00 |
|
|
|
7af87c338c
|
feat(sf): вшить parcel_okn_objects (okn_objects) в ИРД-блок analyze (#1152)
Deploy / changes (push) Successful in 5s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m34s
Deploy / deploy (push) Successful in 1m9s
Deploy / build-backend (push) Successful in 2m13s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
|
2026-06-07 15:00:44 +00:00 |
|
|
|
dc63173aba
|
feat(sf): вшить функц.зоны генплана (ekb_genplan_functional_zone) в analyze (#1140)
Deploy / changes (push) Successful in 5s
Deploy / build-backend (push) Successful in 1m20s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m53s
Deploy / deploy (push) Successful in 1m24s
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-07 12:27:22 +00:00 |
|
|
|
86b9a5a197
|
perf(sf): КРТ-геометрия в БД, _krt_at из БД вместо живого WFS (#1139)
Deploy / changes (push) Successful in 9s
Deploy / build-backend (push) Successful in 1m21s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m26s
Deploy / deploy (push) Successful in 1m13s
Co-authored-by: bot-backend <bot-backend@gendsgn.local>
Co-committed-by: bot-backend <bot-backend@gendsgn.local>
|
2026-06-07 12:14:35 +00:00 |
|
|
|
97731a2b09
|
feat(sf): КРТ-реквизиты (ekb_krt_sites) в ИРД-блок analyze (#1131)
Deploy / deploy (push) Blocked by required conditions
Deploy / changes (push) Successful in 9s
Deploy / build-backend (push) Successful in 1m29s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m23s
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-07 11:50:29 +00:00 |
|
|
|
d9b92f19f4
|
feat(sf): вшить parcel_reservations в ИРД-блок analyze (#1127)
Deploy / build-worker (push) Successful in 2m36s
Deploy / changes (push) Successful in 6s
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 1m22s
Deploy / deploy (push) Successful in 1m17s
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-07 11:09:26 +00:00 |
|
|
|
5b07c6641b
|
perf(sf): concurrent geoportal-вызовы в ИРД-блоке analyze (#1123)
Deploy / changes (push) Successful in 6s
Deploy / build-backend (push) Successful in 1m34s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m48s
Deploy / deploy (push) Successful in 1m18s
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-07 10:47:25 +00:00 |
|
|
|
4cc0b6da8c
|
feat(sf): включить enable_ird_analyze + latency-hardening (#1115)
Deploy / changes (push) Successful in 7s
Deploy / build-backend (push) Successful in 1m29s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m31s
Deploy / deploy (push) Successful in 1m12s
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-07 10:00:48 +00:00 |
|
|
|
53e76738b4
|
feat(sf): wire ППТ/ПМТ planning_projects в analyze ird-блок (#1105)
Deploy / changes (push) Successful in 6s
Deploy / build-worker (push) Successful in 2m26s
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 1m22s
Deploy / deploy (push) Successful in 1m14s
planning_lookup.py (parcel_planning_overlaps, ST_Intersects через GIST idx_planning_projects_geom) + ird_analyze.py ключ planning_projects (DB-only). ППТ/ПМТ overlap участка в analyze ird-блоке. За флагом enable_ird_analyze (OFF), parcels.py не тронут. Зеркалит ird_overlay_lookup. Зависит от #1104 (м.134). 7 тестов.
Refs #1085.
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-06 20:50:34 +00:00 |
|
|
|
7b40e7e480
|
feat(sf): wire ИРД-слой в analyze за флагом enable_ird_analyze (#1101)
Deploy / changes (push) Successful in 6s
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 1m33s
Deploy / build-worker (push) Successful in 2m49s
Deploy / deploy (push) Successful in 1m11s
D9b capstone — поле `ird` в ответе analyze за флагом enable_ird_analyze (default OFF): parcel_ird_overlaps (м.132, incl opportunity) + функц.зона/КРТ (геопортал WFS) + ПЗЗ-регламент (C8b cache-first). Логика в self-contained ird_analyze.py; parcels.py +13 строк flag-gated, defense-in-depth ×3 graceful. Schema additive (ird Optional). Замыкает ИРД-эпик #1067 (#1078/#1090/#1092/#1099/#1100/#1058/#1060). 4 теста.
Refs #1067.
Co-authored-by: lekss361 <lekss361@gendsgn.local>
Co-committed-by: lekss361 <lekss361@gendsgn.local>
|
2026-06-06 19:50:57 +00:00 |
|