from __future__ import annotations from typing import List from tasks.base_task import BaseTask class MediumTask(BaseTask): task_id = "medium_silent_cache" difficulty = "medium" config_path = "configs/medium_dag.yaml" step_limit = 10 def get_system_prompt(self) -> str: return ( "You are diagnosing a silent-cache scenario. " "No explicit errors appear; use span details to detect timeout fallback patterns." ) def grade( self, declared_service: str | None, declared_fault: str | None, steps_used: int, rewards: List[float], ) -> float: correct = declared_service == "Redis_Cache" and declared_fault == "Timeout" return self._score_correct(correct=correct, steps_used=steps_used, step_limit=self.step_limit)