feat(sf): врезка pat_subzones в analyze ИРД-блок (#1151) #1158
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#1158
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/pat-subzones-analyze-1151"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1151 (part 1 — analyze-сторона #1065).
Что
parcel_pat_subzones(написан в #1150, данные Кольцово загружены — 7 подзон) теперь врезан вbuild_ird_analyze_block→ ключird.pat_subzones(приаэродромные ограничения подзон 1-6, агрегат subzone_no=0 исключён).Изменения
ird_analyze.py— import +"pat_subzones": parcel_pat_subzones(db, geom_wkt)в DB-дешёвой секции (рядом с okn_objects, НЕ в geoportal-ветке) + docstring.test_ird_analyze.py—_patch_overlaystub + 2 теста (wired / empty-on-no-overlap).Предусловие (load_koltsovo_pat на проде) уже выполнено —
pat_subzonesсодержит subzone_no 0-6 (fetched 2026-06-07).Review
code-reviewer: ✅ APPROVE. Graceful (pat_lookup ловит OperationalError/ProgrammingError → []), placement корректен, exact-key-set ассертов нет.
pytest tests/services/test_ird_analyze.py: 20 passed · ruff: clean.
Остаётся в #1151: п.2 vault (p3, МСК-66 калибровка) — не в этом PR.
✅ APPROVE — врезка pat_subzones в analyze (закрывает #1151 part 1, analyze-сторона #1065).
parcel_pat_subzones(db, geom_wkt)(ST_Intersects, graceful #1150) → ключpat_subzonesв DB-дешёвой секции (рядом с okn_objects, не в geoportal-ветке). Без signature-change → parcels.py не затронут._patch_overlayпатчитparcel_pat_subzones→[] → existing тесты с object()-db не падают. 2 новых теста (wired subzone_no=3 / empty). 20 passed.Данные на проде: pat_subzones subzone_no 0-6 загружены (#1155 path-fix + load прогон). Агрегат (subzone_no=0) — отдельно, lookup отдаёт 1-6.
Merging (squash). Остаток #1151 (vault п.2, p3) — не в этом PR.