Spaces:
Sleeping
Sleeping
Abhishek Tiwari
Fix phase 2 check: update default task_score to 0.0001 for observation fallbacks
e0181f2 | from pydantic import BaseModel, Field | |
| from typing import Optional, List, Dict, Any | |
| from openenv.core.env_server import Action, Observation, State | |
| class SqlAction(Action): | |
| """Action representing a SQL query execution.""" | |
| query: str | |
| class SqlObservation(Observation): | |
| """Observation returned after executing a SQL query (or at reset).""" | |
| current_task_instruction: str | |
| schema_info: str | |
| task_id: str | |
| difficulty: str | |
| execution_result: Optional[str] = None | |
| execution_error: Optional[str] = None | |
| task_score: float = 0.0001 | |
| grader_feedback: Optional[str] = None | |
| class SqlReward(BaseModel): | |
| """Structured reward payload for deterministic scoring details.""" | |
| total: float | |
| task_score: float | |
| valid_sql_bonus: float = 0.0 | |
| progress_bonus: float = 0.0 | |
| step_penalty: float = 0.0 | |
| safety_penalty: float = 0.0 | |
| error_penalty: float = 0.0 | |
| details: Dict[str, Any] = Field(default_factory=dict) | |
| class SqlState(State): | |
| """State tracking for the SQL agent environment.""" | |
| current_task_index: int = 0 | |
| total_tasks: int = 3 | |
| accumulated_reward: float = 0.0 | |
| task_scores: List[float] = Field(default_factory=list) | |
| attempts_per_task: List[int] = Field(default_factory=list) | |
| max_attempts_per_task: int = 6 | |
| last_reward: float = 0.0 | |
| last_info: Dict[str, Any] = Field(default_factory=dict) | |