deprec / openenv.yaml
exploring-solver's picture
updated logic to use qwen with intended tasks
5510ae2
Raw
History Blame Contribute Delete
3.69 kB
name: DevOpsEnv
version: "1.0.0"
description: >
An OpenEnv-compliant Linux DevOps and SRE troubleshooting environment.
Agents act as a junior SRE to diagnose and fix broken simulated server states
using bash commands and file edits.
domain: software_engineering
tags:
- openenv
- devops
- sre
- troubleshooting
- linux
license: MIT
author: SolvorLabs
# -------------------------------------------------
# Environment interface
# -------------------------------------------------
interface:
reset:
method: POST
path: /reset
request:
task_id: string # task1 | task2 | task3
response: Observation
step:
method: POST
path: /step
request:
episode_id: string
action: Action
response: StepResult
state:
method: GET
path: /state
params:
episode_id: string
response: State
tasks:
method: GET
path: /tasks
response: List[TaskInfo]
grader:
method: POST
path: /grader
request:
episode_id: string
response: GraderResponse
health:
method: GET
path: /health
# -------------------------------------------------
# Typed models (Matches your models.py)
# -------------------------------------------------
models:
Observation:
task_id: string
task_description: string
episode_id: string
system_state: SystemState
thread_history: list[dict]
available_actions: list[string]
step_number: integer
max_steps: integer
hint: string | null
SystemState:
task_id: string
available_commands: list[string]
filesystem_snapshot: string
running_processes: list[dict]
service_status: dict[string, string]
logs: string
http_ports_open: list[integer]
docker_containers: list[dict]
cpu_usage: float
memory_usage_mb: integer
Action:
action_type: string # bash_cmd | file_edit | submit
command: string | null
file_path: string | null
file_content: string | null
summary: string | null
Reward:
step_reward: float
total_reward: float
explanation: string
StepResult:
observation: Observation
reward: Reward
done: boolean
info: dict
State:
task_id: string
episode_id: string
step_number: integer
max_steps: integer
done: boolean
total_reward: float
history: list[dict]
final_score: float | null
GraderResponse:
episode_id: string
task_id: string
score: float # 0.0 – 1.0
breakdown: dict[string, float]
feedback: string
# -------------------------------------------------
# Tasks (Matches your data.py)
# -------------------------------------------------
tasks:
task1:
name: "Nginx Service Recovery"
difficulty: easy
max_steps: 10
description: >
The Nginx web server has crashed. The agent must restart the service
and ensure port 80 is returning an HTTP 200 OK status.
task2:
name: "Docker Compose Fix"
difficulty: medium
max_steps: 15
description: >
A Docker container is misconfigured with the wrong port mapping.
The agent must edit docker-compose.yml to fix the port and spin the container up.
task3:
name: "API Memory Leak"
difficulty: hard
max_steps: 20
description: >
A Python mock API is experiencing a memory leak. The agent must diagnose
the running processes, kill the faulty process, patch the python file, and restart.
# -------------------------------------------------
# Deployment
# -------------------------------------------------
deployment:
framework: FastAPI
python: ">=3.11"
port: 7860
dockerfile: Dockerfile
huggingface_space: true
space_sdk: docker