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#1115
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/enable-ird-analyze"
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?
Что
Включает feature-flag
enable_ird_analyze(ИРД-блок вPOST /parcels/{cad}/analyze, #1067 D9b) по дефолту + hardening из pre-enablement чеклиста #1102. Данные на проде уже наполнены (ird_overlays 9630, zone_regulation_cache 33 зоны, planning_projects 1170).Изменения
config.py:enable_ird_analyze: bool = False → True(overrideENABLE_IRD_ANALYZE=falseостаётся).ird_analyze.py:_GEOPORTAL_TIMEOUT_S = 8 → 4(короче держим sync-handler; геопортал без SLA).functional_zone— слой генплан-функц.зон в геопортале ЕКБ = 0 фич (источник = ФГИС ТП, #1058). Поле остаётсяNone, helper сохранён для будущего ingest.parcels.py:exc_info=Trueв catch ИРД-блока (GlitchTip-видимость при ON).Тесты
Дефолт→True ⇒ 4 endpoint-теста analyze теперь мокают
build_ird_analyze_block(в сеть не ходят).test_ird_analyzeобновлён под отсутствие functional_zone-вызова. Затронутый pytest зелёный (forecasting 891/891, ird_analyze 4/4, ird_overlay_lookup 5/5, ird_harvest 5/5, analyze endpoint-тесты pass).После merge (follow-up, не блокер)
/analyze(GlitchTip).irdприсутствует, latency в норме.Closes #1102. Часть #1067.
✅ APPROVE — staff+ review.
Verified against live prod:
ird_overlays=9630,zone_regulation_cache=33,planning_projects=1170 → flag-flip data-justified.Two highest-risk items verified in-repo:
parcels.pyimportsbuild_ird_analyze_blockbare-name (from ...ird_analyze import build_ird_analyze_block); all 4 endpoint-test_PATCHEStargetapp.api.v1.parcels.build_ird_analyze_block→ correct namespace, tests won't leak network calls.analyze_parcelcalls the block insideif settings.enable_ird_analyze: try/except; geoportal failure cannot surface to caller.exc_info=Trueis a genuine GlitchTip-visibility improvement.Latency bound: functional_zone WFS removed → warm-cache path = 2 network calls (krt + zone_index) × 4s timeout;
get_or_fetch_zone_regulationconfirmed cache-first (DB before urbanCard). Worst-case ~8s, typical sub-second. Graceful degradation: 3 inner except-blocks + 1 outer.Consistency: functional_zone removal matches #1058 (source = ФГИС ТП, layer empty in EKB geoportal). Config comment updated accurately.
test_full_block_assemblycorrectly assertsfunctional_zone is None+ layer not in client.calls.🟡 Minor (non-actionable): redundant
block["functional_zone"]=Nonereassignment (cosmetic, commented); unrelated ruff-reformatting inexport_parcel_forecast(line-length only). Neither warrants a follow-up.CI runs API unavailable on this Forgejo instance — relying on
mergeable=true+ reported-green pytest; post-merge deploy will gate. Merging (squash).