name: debugops version: "1.0.0" description: > DebugOps — an AI Incident Response environment where an agent acts as an on-call SRE to diagnose and resolve production system failures using noisy logs, degraded metrics, and multi-step fix sequences. observation_space: type: dict fields: services: type: dict description: "Per-service health status: api, db, cache → healthy | degraded" logs: type: list[str] description: "System log lines (may contain noise and red herrings)" metrics: type: dict fields: latency: { type: float, description: "Latency in ms" } error_rate: { type: float, description: "Error rate 0.0–1.0" } cpu: { type: float, description: "CPU utilisation %" } time_step: type: int description: "Steps elapsed in the current episode" action_space: type: discrete actions: - restart_api - restart_db - restart_cache - scale_up - noop tasks: - name: simple description: "Single-service failure; 2-step fix; 15-step budget." module: tasks.task_simple max_steps: 15 difficulty: low - name: multi_service description: "Two services degrade simultaneously; 12-step budget; extra latency penalty." module: tasks.task_multi_service max_steps: 12 difficulty: medium - name: critical description: "Memory-leak root cause with misleading logs; SLA penalty; 10-step budget." module: tasks.task_critical max_steps: 10 difficulty: high grader: module: grader.grader function: evaluate_episode score_range: [0.0, 1.0] deterministic: true baseline: module: agent.baseline function: act description: "Heuristic agent using log-keyword matching and metric thresholds." inference: script: inference.py env_vars: - API_BASE_URL - MODEL_NAME - HF_TOKEN required_env: - name: API_BASE_URL description: "OpenAI-compatible LLM endpoint" default: "https://router.huggingface.co/v1" - name: MODEL_NAME description: "Model identifier" default: "Qwen/Qwen2.5-72B-Instruct" - name: HF_TOKEN description: "HuggingFace / OpenAI API key" required: true