OpenEnv Agent commited on
Commit
c3e6ffa
·
1 Parent(s): eec2adc

fix: clamp scores to strictly (0.01, 0.99) — no exact 0.0 or 1.0

Browse files
Files changed (2) hide show
  1. app/environment.py +2 -0
  2. app/tasks.py +3 -0
app/environment.py CHANGED
@@ -41,6 +41,7 @@ class IncidentResponseEnv:
41
  def state(self) -> StateModel:
42
  grader_fn = GRADERS[self.task_id]
43
  score, _ = grader_fn(self.grader_state)
 
44
  return StateModel(
45
  task_id=self.task_id,
46
  step=self.step_count,
@@ -72,6 +73,7 @@ class IncidentResponseEnv:
72
 
73
  grader_fn = GRADERS[self.task_id]
74
  current_score, _ = grader_fn(self.grader_state)
 
75
 
76
  # check done conditions
77
  max_steps_reached = self.step_count >= self.meta["max_steps"]
 
41
  def state(self) -> StateModel:
42
  grader_fn = GRADERS[self.task_id]
43
  score, _ = grader_fn(self.grader_state)
44
+ score = max(0.01, min(0.99, score))
45
  return StateModel(
46
  task_id=self.task_id,
47
  step=self.step_count,
 
73
 
74
  grader_fn = GRADERS[self.task_id]
75
  current_score, _ = grader_fn(self.grader_state)
76
+ current_score = max(0.01, min(0.99, current_score))
77
 
78
  # check done conditions
79
  max_steps_reached = self.step_count >= self.meta["max_steps"]
app/tasks.py CHANGED
@@ -25,6 +25,7 @@ def grade_easy(grader_state: Dict[str, Any]) -> Tuple[float, str]:
25
  score += 0.4
26
  reasons.append("applied correct fix (+0.4)")
27
 
 
28
  return round(score, 2), "; ".join(reasons) if reasons else "no progress"
29
 
30
 
@@ -61,6 +62,7 @@ def grade_medium(grader_state: Dict[str, Any]) -> Tuple[float, str]:
61
  score += 0.2 * grader_state["postmortem_quality"]
62
  reasons.append(f"postmortem quality (+{0.2 * grader_state['postmortem_quality']:.2f})")
63
 
 
64
  return round(min(score, 1.0), 2), "; ".join(reasons) if reasons else "no progress"
65
 
66
 
@@ -103,6 +105,7 @@ def grade_hard(grader_state: Dict[str, Any]) -> Tuple[float, str]:
103
  score += 0.20 * pm_quality
104
  reasons.append(f"postmortem quality (+{0.20 * pm_quality:.2f})")
105
 
 
106
  return round(min(score, 1.0), 2), "; ".join(reasons) if reasons else "no progress"
107
 
108
 
 
25
  score += 0.4
26
  reasons.append("applied correct fix (+0.4)")
27
 
28
+ score = max(0.01, min(0.99, score))
29
  return round(score, 2), "; ".join(reasons) if reasons else "no progress"
30
 
31
 
 
62
  score += 0.2 * grader_state["postmortem_quality"]
63
  reasons.append(f"postmortem quality (+{0.2 * grader_state['postmortem_quality']:.2f})")
64
 
65
+ score = max(0.01, min(0.99, score))
66
  return round(min(score, 1.0), 2), "; ".join(reasons) if reasons else "no progress"
67
 
68
 
 
105
  score += 0.20 * pm_quality
106
  reasons.append(f"postmortem quality (+{0.20 * pm_quality:.2f})")
107
 
108
+ score = max(0.01, min(0.99, score))
109
  return round(min(score, 1.0), 2), "; ".join(reasons) if reasons else "no progress"
110
 
111