spark_colony / reasoning /decision.py
diwash-barla1's picture
refactor: decompose app into modular domain packages for v2.5
0f336cf
Raw
History Blame Contribute Delete
641 Bytes
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),
)