Spaces:
Sleeping
Sleeping
| """Grader for rate_limit task: 429 Too Many Requests.""" | |
| def grade() -> float: | |
| """Grade the rate_limit task. Returns float strictly between 0 and 1.""" | |
| try: | |
| import sys | |
| from pathlib import Path | |
| _root = str(Path(__file__).resolve().parent.parent.parent) | |
| if _root not in sys.path: | |
| sys.path.insert(0, _root) | |
| from environment.api_triage_env import APITriageEnv | |
| from environment.incident_generator import get_incident_by_type | |
| env = APITriageEnv(max_steps=10) | |
| env.incident = get_incident_by_type("rate_limit") | |
| if env.incident is None: | |
| return 0.1 | |
| env.fix_applied = False | |
| env.done = False | |
| env.step_counter = 0 | |
| env.total_reward = 0.0 | |
| for action in ["inspect_logs", "wait_retry", "resolve"]: | |
| _, _, done, info = env.step(action) | |
| if done: | |
| return 0.95 if info.get("resolution") == "success" else 0.1 | |
| return 0.1 | |
| except Exception: | |
| return 0.1 | |