|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI / changes (pull_request) Successful in 11s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m47s
CI / backend-tests (pull_request) Successful in 16m39s
Фактор `domrf_coverage` в §15-движке уверенности описан как «покрытие маппинга domrf↔objective, главный sparse-риск проекта ~2.5%». Продьюсера для этой величины НЕТ и не было: слот `supply_layers.domrf_coverage` никто не заполняет — `orchestrator._summarize_supply_layers` это прямо оговаривает («нет дешёвого продьюсера»). Значение всегда приходит из второй ветки: `analyze.market_data_coverage_pct` = competitors_priced / competitors_total, то есть доля БЛИЖНИХ ЖК (3 км) с ценой из Objective. Замер на проде 13.08 по 2074 анализам: min 0%, медиана 40%, среднее 31.7%, max 70% — другая величина другого порядка. Пользователь при этом читал «Известные планировки и площади есть у 40% будущих проектов». Ни «планировки», ни «будущих» к тому, что измерено, отношения не имеют. Правится ТОЛЬКО то, что читает человек: нота фактора и докстроки. Значение, пороги и ключ `domrf_coverage` не тронуты — ключ читает фронт (ForecastConfidenceBlock, ConfidencePanel) как стабильный контракт, и тест это фиксирует. Отдельно записал в комментарии у порогов: high=0.6 / low=0.2 подбирались под ожидавшиеся ~2.5%, а реальная медиана 40% — пороги стоит пересмотреть замером, отдельным заходом. Чего НЕ сделал и почему: аудит предлагал убрать fallback, чтобы значение стало None. Проверил — так нельзя: на None фактор вообще не добавляется в список (guard `if domrf_coverage is not None`), а агрегат weakest-link, то есть исчезновение фактора МОЖЕТ поднять уверенность. Выбросить реальный сигнал ради «честного неизвестно» здесь было бы хуже, чем назвать его верно. Тесты двусторонние: против confidence_engine из main падает ровно новый test_note_names_what_is_actually_measured. Хунки форматирования — не мои: pre-commit ruff v0.7.4 против 0.15.12 (#2864). Refs #2464 |
||
|---|---|---|
| .. | ||
| api | ||
| fixtures | ||
| integration | ||
| scrapers | ||
| scripts | ||
| services | ||
| smoke | ||
| sql | ||
| workers | ||
| __init__.py | ||
| _sentry_wiring_probe.py | ||
| conftest.py | ||
| skip_allowlist.txt | ||
| test_admin_weight_profiles.py | ||
| test_app_logging.py | ||
| test_audit_middleware.py | ||
| test_auth_db.py | ||
| test_auth_session_guard.py | ||
| test_auth_session_service.py | ||
| test_concepts_stub.py | ||
| test_connection_capacity_loaders.py | ||
| test_eesk_reserve_loader.py | ||
| test_eias_heat_loader.py | ||
| test_ekb_geoportal_client.py | ||
| test_ekgas_outlet_loader.py | ||
| test_gas_grs_loader.py | ||
| test_gate_verdict.py | ||
| test_gisogd66_loader.py | ||
| test_health.py | ||
| test_layout_signature.py | ||
| test_layout_tz_html.py | ||
| test_layout_tz_pdf.py | ||
| test_network_obremenenie.py | ||
| test_network_zone_humanize.py | ||
| test_noise_loader.py | ||
| test_nspd_client.py | ||
| test_nspd_sync.py | ||
| test_ors_client.py | ||
| test_osm_tp_geocoder.py | ||
| test_osrm_client_local.py | ||
| test_ping.py | ||
| test_poi_score.py | ||
| test_quarter_dump_lookup.py | ||
| test_rbac.py | ||
| test_riasurt_sverdl_client.py | ||
| test_saturation.py | ||
| test_sentry_init.py | ||
| test_utility_infrastructure_loader.py | ||
| test_velocity.py | ||
| test_weight_profiles.py | ||