""" Data models for the CI/CD Doctor RL environment. """ from pydantic import BaseModel, Field from typing import Dict, Any, List class PipelineAction(BaseModel): command: str # raw string the agent types, e.g. "cat requirements.txt"2 class PipelineObservation(BaseModel): stdout: str exit_code: int pipeline_status: str # "not_run" | "running" | "passed" | "failed" steps_remaining: int done: bool = False reward: float = 0.0 class PipelineState(BaseModel): episode_id: str task: str # "easy" | "medium" | "hard" filesystem: Dict[str, str] pipeline_status: str step_count: int done: bool total_reward: float answer_key: Dict[str, Any] # never sent to agent, used by grader milestones: List[str] = Field(default_factory=list) # grader-only, tracks unlocked reward tiers