Spaces:
Sleeping
Sleeping
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- app/environment.py +2 -0
- 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 |
|