{"action":{"additionalProperties":false,"description":"A typed tool call sent by the RL agent.\n\nThe agent selects a tool by name and provides typed parameters.\nThe action router validates the tool name against TOOL_NAMES and\ndeserializes params using the corresponding Pydantic model.","properties":{"metadata":{"additionalProperties":true,"description":"Additional metadata for the action","title":"Metadata","type":"object"},"tool":{"description":"Tool name (e.g., 'fs.read', 'proc.list', 'net.curl')","title":"Tool","type":"string"},"params":{"additionalProperties":true,"description":"Tool parameters (validated against the tool's param model)","title":"Params","type":"object"}},"required":["tool"],"title":"SovereignAction","type":"object"},"observation":{"$defs":{"ToolResult":{"description":"Structured result returned by every tool execution.","properties":{"status":{"description":"Execution status","enum":["success","error","timeout","blocked"],"title":"Status","type":"string"},"stdout":{"default":"","description":"Standard output from command","title":"Stdout","type":"string"},"stderr":{"default":"","description":"Standard error from command","title":"Stderr","type":"string"},"exit_code":{"default":-1,"description":"Process exit code","title":"Exit Code","type":"integer"},"state_delta":{"additionalProperties":true,"description":"Key state changes caused by the action (e.g., files modified)","title":"State Delta","type":"object"}},"required":["status"],"title":"ToolResult","type":"object"}},"additionalProperties":false,"description":"Structured observation returned after every tool execution.\n\nCombines the tool result with an optional system snapshot and\nsafety violation information.","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"},"tool_result":{"$ref":"#/$defs/ToolResult","description":"Result of the tool execution"},"system_snapshot":{"additionalProperties":true,"description":"Partial system state snapshot (uptime, load, etc.)","title":"System Snapshot","type":"object"},"safety_violation":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Description of safety rule violation, if any","title":"Safety Violation"},"tool_name":{"default":"","description":"Name of the tool that was executed","title":"Tool Name","type":"string"},"info":{"additionalProperties":true,"description":"Hidden metadata for evaluation/debugging (ignored by agent)","title":"Info","type":"object"}},"title":"SovereignObservation","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"}}