{"status":"pass","category":"OPS","severity":"high","evidence":["tests/test_unit.py:659-731 (gemockte respx-Unit-Tests test_hazard_overview_*, test_hazard_regions_*, test_wildfire_danger_* — je Happy + Error)","tests/test_unit.py (64 Test-Funktionen, respx-gemockt; pyproject.toml:65-66 registriert live-Marker)","tests/test_integration.py:23,224,238 (pytestmark live; test_snow_stations_tool, test_avalanche_bulletin_tool; 18 Live-Tests)","tests/test_20_scenarios.py::test_all_scenarios (collect-only: 1 test collected — nicht mehr 0)",".github/workflows/ci.yml:45 (pytest -m \"not live\") + .github/workflows/live-tests.yml:7-25 (nightly cron 04:00 + workflow_dispatch, pytest -m live)"],"gaps":[],"evaluator_notes":"Zuvor partial (3 Hazard-Tools ohne Mock-Tests, test_20_scenarios 0 collected). Remediation Batch 2: Hazard/Regions/Wildfire nun gemockt (test_unit.py:659-731), Live-Tests test_snow_stations_tool/test_avalanche_bulletin_tool ergänzt, test_20_scenarios sammelt jetzt test_all_scenarios (1 collected). respx-Mocking, Marker registriert, CI schliesst live aus, separater Nightly-Workflow. Pass."}
