Audit #2111 (HIGH): попапы карт §3 показывали данные, которые есть в источнике, но недоливались до фронта. Три слоя: - Utility OSM: гуманизируем voltage/operator/diameter/material/цепи из tags JSONB в одну RU-строку UtilityInfrastructureFeature.characteristics («110 кВ/10 кВ · МРСК Урала», «⌀ 500 мм · steel»). diameter берёт первый числовой run (не склеивает мульти-размеры «500x300»). - Точки подключения (НСПД 36328): EngineeringStructure.purpose (назначение/класс, дедуп против type) + рендер «Назначение» и «№ ЕГРН» (cad_num уже был в схеме). - ЗОУИТ: бэкенд уже отдавал reg_numb_border + coverage_pct — фронт рендерит «Рег. №» и «Перекрытие участка N%» (0..1 → %, typeof-guard сохраняет 0%). Аддитивные optional-поля схемы (str|None=None) — без breaking changes. api-types.ts перегенерён офлайн из app.openapi(). Юнит-тесты: _utility_characteristics (formatter edge-cases) + purpose dedup-vs-type. |
||
|---|---|---|
| .. | ||
| analysis_runs | ||
| analytics | ||
| cadastre | ||
| chat | ||
| etl | ||
| exporters | ||
| forecasting | ||
| generative | ||
| llm | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| forecast_request_cache.py | ||
| insights.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||
| own_projects.py | ||
| weather_cache.py | ||