{ "openapi": "3.1.0", "info": { "title": "SRE OpenEnv - Infrastructure Incident Responder", "description": "An OpenEnv-compatible environment simulating a microservice cluster with real Redis and MariaDB backends. Agents diagnose and resolve infrastructure incidents across 3 difficulty tiers.", "version": "1.0.0" }, "paths": { "/reset": { "post": { "summary": "Reset", "description": "Reset the environment for a specific task.", "operationId": "reset_reset_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResetRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnvironmentState" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/step": { "post": { "summary": "Step", "description": "Execute an action in the environment.", "operationId": "step_step_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StepRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Observation" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/state": { "get": { "summary": "State", "description": "Get the current environment state.", "operationId": "state_state_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnvironmentState" } } } } } } }, "/tasks": { "get": { "summary": "Tasks", "description": "List all available tasks.", "operationId": "tasks_tasks_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/TaskInfo" }, "type": "array", "title": "Response Tasks Tasks Get" } } } } } } }, "/grader": { "post": { "summary": "Grader", "description": "Grade the current episode for a task using live health checks.", "operationId": "grader_grader_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GraderRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GraderResult" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/baseline": { "get": { "summary": "Baseline", "description": "Run the built-in baseline agent on all tasks and return results.", "operationId": "baseline_baseline_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BaselineResult" }, "type": "array", "title": "Response Baseline Baseline Get" } } } } } } }, "/health": { "get": { "summary": "Health", "description": "Health check endpoint.", "operationId": "health_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Health Health Get" } } } } } } } }, "components": { "schemas": { "Action": { "properties": { "action_type": { "$ref": "#/components/schemas/ActionType" }, "target_service": { "anyOf": [ { "$ref": "#/components/schemas/ServiceName" }, { "type": "null" } ] }, "parameters": { "additionalProperties": true, "type": "object", "title": "Parameters" } }, "type": "object", "required": [ "action_type" ], "title": "Action", "description": "An action the agent can take in the environment." }, "ActionType": { "type": "string", "enum": [ "check_health", "check_logs", "restart_service", "analyze_logs", "update_config", "rollback_config", "run_diagnostics", "scale_service", "nop" ], "title": "ActionType", "description": "Available agent actions." }, "BaselineResult": { "properties": { "task_id": { "type": "string", "title": "Task Id" }, "actions_taken": { "items": { "$ref": "#/components/schemas/Action" }, "type": "array", "title": "Actions Taken" }, "final_reward": { "type": "number", "title": "Final Reward" }, "passed": { "type": "boolean", "title": "Passed" }, "steps_used": { "type": "integer", "title": "Steps Used" } }, "type": "object", "required": [ "task_id", "actions_taken", "final_reward", "passed", "steps_used" ], "title": "BaselineResult", "description": "Result from running the baseline agent." }, "EnvironmentState": { "properties": { "services": { "items": { "$ref": "#/components/schemas/ServiceState" }, "type": "array", "title": "Services" }, "step_count": { "type": "integer", "title": "Step Count", "default": 0 }, "max_steps": { "type": "integer", "title": "Max Steps", "default": 50 }, "total_reward": { "type": "number", "title": "Total Reward", "default": 0.0 }, "done": { "type": "boolean", "title": "Done", "default": false }, "task_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Task Id" } }, "type": "object", "required": [ "services" ], "title": "EnvironmentState", "description": "Full observable state of the SRE environment." }, "GraderRequest": { "properties": { "task_id": { "type": "string", "title": "Task Id" } }, "type": "object", "required": [ "task_id" ], "title": "GraderRequest", "description": "Request body for /grader." }, "GraderResult": { "properties": { "task_id": { "type": "string", "title": "Task Id" }, "passed": { "type": "boolean", "title": "Passed" }, "score": { "type": "number", "maximum": 1.0, "minimum": 0.0, "title": "Score" }, "message": { "type": "string", "title": "Message" }, "details": { "additionalProperties": true, "type": "object", "title": "Details" } }, "type": "object", "required": [ "task_id", "passed", "score", "message" ], "title": "GraderResult", "description": "Result from the grading function." }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "Observation": { "properties": { "message": { "type": "string", "title": "Message" }, "data": { "additionalProperties": true, "type": "object", "title": "Data" }, "success": { "type": "boolean", "title": "Success", "default": true }, "reward": { "type": "number", "title": "Reward", "default": 0.0 } }, "type": "object", "required": [ "message" ], "title": "Observation", "description": "An observation returned after taking an action." }, "ResetRequest": { "properties": { "task_id": { "type": "string", "title": "Task Id" } }, "type": "object", "required": [ "task_id" ], "title": "ResetRequest", "description": "Request body for /reset." }, "ServiceName": { "type": "string", "enum": [ "gateway", "auth", "payment", "database" ], "title": "ServiceName", "description": "Names of microservices in the cluster." }, "ServiceState": { "properties": { "name": { "$ref": "#/components/schemas/ServiceName" }, "status": { "$ref": "#/components/schemas/ServiceStatus" }, "uptime_seconds": { "type": "integer", "title": "Uptime Seconds", "default": 0 }, "error_count": { "type": "integer", "title": "Error Count", "default": 0 }, "last_error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Error" }, "config": { "additionalProperties": true, "type": "object", "title": "Config" } }, "type": "object", "required": [ "name", "status" ], "title": "ServiceState", "description": "State of a single microservice." }, "ServiceStatus": { "type": "string", "enum": [ "healthy", "degraded", "down", "oom" ], "title": "ServiceStatus", "description": "Status of a microservice." }, "StepRequest": { "properties": { "action": { "$ref": "#/components/schemas/Action" } }, "type": "object", "required": [ "action" ], "title": "StepRequest", "description": "Request body for /step." }, "TaskInfo": { "properties": { "id": { "type": "string", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "difficulty": { "type": "string", "title": "Difficulty" }, "max_steps": { "type": "integer", "title": "Max Steps" }, "tags": { "items": { "type": "string" }, "type": "array", "title": "Tags" } }, "type": "object", "required": [ "id", "name", "description", "difficulty", "max_steps" ], "title": "TaskInfo", "description": "Metadata about an SRE task." }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } } } }