""" PRISM uncertainty module. """ import random from env.models import Task def apply_uncertainty(task: Task, rng: random.Random) -> float: noise = rng.gauss(0, task.uncertainty * 0.3) return max(0.0, min(1.0, task.risk + noise)) class PRISM: """ Probabilistic risk and inference shaping module. """ def __init__(self, seed: int = 42): self.rng = random.Random(seed) def apply_uncertainty(self, task: Task) -> float: return apply_uncertainty(task, self.rng) def execution_succeeds(self, task: Task) -> bool: effective_risk = self.apply_uncertainty(task) return self.rng.random() > effective_risk