from schemas.models import DecisionScore class DecisionScoreEngine: """Calculates Expected Value (EV) score for candidate agent actions.""" @staticmethod def calculate_action_score(benefit: float, cost: float, risk: float, confidence: float, resource_usage: float) -> DecisionScore: ev = (benefit * (confidence / 100.0)) / (1.0 + (cost * 0.1) + (risk * 0.2) + (resource_usage * 0.1)) return DecisionScore( benefit=benefit, cost=cost, risk=risk, confidence=confidence, resource_usage=resource_usage, expected_value=round(ev, 2), )