{"action":{"$defs":{"BreakageAction":{"additionalProperties":false,"description":"Drift Generator's action: pick a primitive type + parameters.","properties":{"metadata":{"additionalProperties":true,"description":"Additional metadata for the action","title":"Metadata","type":"object"},"action_type":{"const":"breakage","default":"breakage","title":"Action Type","type":"string"},"primitive_type":{"description":"One of the registered breakage primitive class names","title":"Primitive Type","type":"string"},"params":{"additionalProperties":true,"description":"Primitive-specific parameters","title":"Params","type":"object"}},"required":["primitive_type"],"title":"BreakageAction","type":"object"},"RepairAction":{"additionalProperties":false,"description":"Repair Agent's action: a unified diff (or full replacement script).","properties":{"metadata":{"additionalProperties":true,"description":"Additional metadata for the action","title":"Metadata","type":"object"},"action_type":{"const":"repair","default":"repair","title":"Action Type","type":"string"},"unified_diff":{"description":"Unified diff or full replacement script","title":"Unified Diff","type":"string"}},"required":["unified_diff"],"title":"RepairAction","type":"object"}},"additionalProperties":false,"description":"Union action: exactly one of `breakage` / `repair` must be set.\n\nThis is the type registered with OpenEnv's `create_app`. It avoids\nPydantic discriminated unions to keep the OpenAPI schema flat and\ncross-version-friendly.","properties":{"metadata":{"additionalProperties":true,"description":"Additional metadata for the action","title":"Metadata","type":"object"},"breakage":{"anyOf":[{"$ref":"#/$defs/BreakageAction"},{"type":"null"}],"default":null},"repair":{"anyOf":[{"$ref":"#/$defs/RepairAction"},{"type":"null"}],"default":null}},"title":"ForgeAction","type":"object"},"observation":{"additionalProperties":false,"description":"What the agent (or the trainer's rollout function) sees at each step.\n\nInherits `done`, `reward`, `metadata` from the OpenEnv `Observation` base.","properties":{"done":{"default":false,"description":"Whether the episode has terminated","title":"Done","type":"boolean"},"reward":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"number"},{"type":"null"}],"default":null,"description":"Reward signal from the last action","title":"Reward"},"metadata":{"additionalProperties":true,"description":"Additional metadata for the observation","title":"Metadata","type":"object"},"current_phase":{"description":"One of 'drift_gen', 'repair', 'verify', 'done'","title":"Current Phase","type":"string"},"task_id":{"default":"","title":"Task Id","type":"string"},"task_description":{"default":"","title":"Task Description","type":"string"},"target_category":{"default":"","title":"Target Category","type":"string"},"script_content":{"default":"","description":"Current state of the script","title":"Script Content","type":"string"},"error_trace":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Error Trace"},"library_versions":{"additionalProperties":{"type":"string"},"title":"Library Versions","type":"object"},"reward_breakdown":{"additionalProperties":true,"title":"Reward Breakdown","type":"object"},"held_out_breakdown":{"additionalProperties":{"type":"number"},"title":"Held Out Breakdown","type":"object"},"episode_step":{"default":0,"title":"Episode Step","type":"integer"},"info":{"additionalProperties":true,"title":"Info","type":"object"}},"required":["current_phase"],"title":"ForgeObservation","type":"object"},"state":{"additionalProperties":true,"description":"Base class for environment state.\n\nRepresents internal environment state, separate from observations.","properties":{"episode_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Unique identifier for the current episode","title":"Episode Id"},"step_count":{"default":0,"description":"Number of steps taken in the current episode","minimum":0,"title":"Step Count","type":"integer"}},"title":"State","type":"object"}}