INNER CODE UNIT · Python
_score_prediction
cmu-sei/GHOSTS · experimental/grms/grms/main.py:116
def _score_prediction(prediction: SavedPrediction) -> PredictionScore | None:
"""Score a prediction against its known outcome. Returns None if no outcome set."""
if prediction.known_outcome is None:
return None
if prediction.leader_response is None:
return None
known = prediction.known_outcome
lr = prediction.leader_response
dimensions: list[ScoreDimension] = []
escalation_score = None
if known.escalation_risk is not None:
diff = abs(lr.escalation_risk - known.escalation_risk)
escalation_score = max(0.0, 1.0 - diff)
dimensions.append(ScoreDimension(
dimension="escalation_risk",
predicted=lr.escalation_risk,