"""Deterministic state verifier — no LLM-as-judge.""" from typing import Any, Dict from server.tasks.triage_task import TriageTask from server.tasks.incident_routing_task import IncidentRoutingTask from server.tasks.release_notes_task import ReleaseNotesTask from server.tasks.dep_update_task import DepUpdateTask _GRADERS = { "triage": TriageTask(), "incident_routing": IncidentRoutingTask(), "release_notes": ReleaseNotesTask(), "dep_update": DepUpdateTask(), } def verify(final_state: Dict[str, Any], org_config: Dict[str, Any], scenario: Dict[str, Any]) -> Dict[str, Any]: task_type = scenario.get("type", "") grader = _GRADERS.get(task_type) if not grader: return {"score": 0.0, "error": f"Unknown task type: {task_type}"} score = grader.grade(final_state, org_config, scenario) return {"score": score, "task_type": task_type}