fix: preserve DEB metadata in city summary
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
from web.services.city_payloads import build_city_summary_payload
|
||||||
|
|
||||||
|
|
||||||
|
def test_city_summary_payload_preserves_deb_metadata():
|
||||||
|
payload = build_city_summary_payload(
|
||||||
|
{
|
||||||
|
"name": "shanghai",
|
||||||
|
"display_name": "Shanghai",
|
||||||
|
"temp_symbol": "°C",
|
||||||
|
"current": {},
|
||||||
|
"risk": {},
|
||||||
|
"deb": {
|
||||||
|
"prediction": 29.7,
|
||||||
|
"raw_prediction": 27.6,
|
||||||
|
"version": "deb_v1_recent_bias_corrected",
|
||||||
|
"bias_adjustment": 1.3,
|
||||||
|
"bias_samples": 18,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
assert payload["deb"] == {
|
||||||
|
"prediction": 29.7,
|
||||||
|
"raw_prediction": 27.6,
|
||||||
|
"version": "deb_v1_recent_bias_corrected",
|
||||||
|
"bias_adjustment": 1.3,
|
||||||
|
"bias_samples": 18,
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ from web.core import _is_excluded_model_name
|
|||||||
TURKISH_MGM_CITIES = {"ankara", "istanbul"}
|
TURKISH_MGM_CITIES = {"ankara", "istanbul"}
|
||||||
|
|
||||||
def build_city_summary_payload(data: Dict[str, Any]) -> Dict[str, Any]:
|
def build_city_summary_payload(data: Dict[str, Any]) -> Dict[str, Any]:
|
||||||
|
deb = data.get("deb") if isinstance(data.get("deb"), dict) else {}
|
||||||
return {
|
return {
|
||||||
"name": data.get("name"),
|
"name": data.get("name"),
|
||||||
"display_name": data.get("display_name"),
|
"display_name": data.get("display_name"),
|
||||||
@@ -26,7 +27,7 @@ def build_city_summary_payload(data: Dict[str, Any]) -> Dict[str, Any]:
|
|||||||
"settlement_source_label"
|
"settlement_source_label"
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
"deb": {"prediction": data.get("deb", {}).get("prediction")},
|
"deb": dict(deb) if deb else {"prediction": None},
|
||||||
"deviation_monitor": data.get("deviation_monitor") or {},
|
"deviation_monitor": data.get("deviation_monitor") or {},
|
||||||
"risk": {
|
"risk": {
|
||||||
"level": data.get("risk", {}).get("level"),
|
"level": data.get("risk", {}).get("level"),
|
||||||
|
|||||||
Reference in New Issue
Block a user