name: scheduling-opt-env description: > A real-world AI agent training environment for combinatorial scheduling optimisation. Agents must determine schedule feasibility, classify constraint violations, and repair infeasible schedules to minimise makespan — mirroring the daily workflow of operations researchers and production planners. version: "1.0.0" author: "Team SchedulingOpt" license: MIT tasks: - id: feasibility_check name: Feasibility Check difficulty: easy description: Determine whether a proposed schedule satisfies all constraints. max_steps: 3 action_schema: response: type: string enum: ["feasible", "infeasible"] task_id: type: string - id: conflict_classification name: Conflict Classification difficulty: medium description: Identify the type of constraint violation present in an infeasible schedule. max_steps: 5 action_schema: response: type: string enum: - resource_overload - deadline_violation - precedence_violation - availability_conflict - capacity_exceeded task_id: type: string - id: schedule_repair name: Schedule Repair difficulty: hard description: > Return a corrected schedule (as JSON) that resolves all constraint violations and minimises total makespan. max_steps: 8 action_schema: response: type: string description: > JSON object with key "assignments": list of {job_id, machine_id, start_time} dicts. task_id: type: string action_space: type: object properties: response: type: string description: > The agent's response: "feasible"/"infeasible", a violation category, or a JSON repair schedule. task_id: type: string description: Identifier for the current task. observation_space: type: object properties: schedule_instance: type: string description: JSON-encoded scheduling problem instance (jobs, machines, proposed assignments). task_id: type: string description: Current task identifier. context: type: string description: Instructions or context for the current step. step_number: type: integer description: Current step number within the episode.