spec_version: 1 name: adaptive-world-env version: "2.0.0" type: environment runtime: docker app: server/app.py port: 7860 description: > An OpenEnv environment where agents complete multi-step professional tasks while the world mutates mid-episode without announcement. API schemas drift, fields rename, endpoints version, policies flip, and status meanings change silently. The environment tracks belief accuracy separately from task completion — revealing whether agents succeed because they understand the world or despite misunderstanding it. Difficulty escalates automatically based on agent performance. Agent world models persist across episodes. tasks: - id: easy name: Syntactic Drift (Field Rename / Endpoint Version / Auth) difficulty: easy max_steps: 8 reward_range: [0.0, 1.0] - id: medium name: Multi-Drift (Policy + Schema Change simultaneously) difficulty: medium max_steps: 10 reward_range: [0.0, 1.0] - id: hard name: Silent Semantic Drift (200 OK, Wrong Meaning) difficulty: hard max_steps: 12 reward_range: [0.0, 1.0] - id: expert name: Adversarial Stability + Cross-Service Drift difficulty: expert max_steps: 15 reward_range: [0.0, 1.0] action_space: type: structured fields: - action_type: string # call_api | probe_schema | query_history | declare_belief | submit_result - method: string - url: string - headers: dict - body: dict - query_params: dict - belief_state: dict # agent's declared world model - history_steps: int # used by query_history observation_space: type: structured fields: - task_description: string - domain: string - prior_world_model: dict # agent's beliefs from previous episodes (cross-episode persistence) - current_step: int - max_steps: int - last_status_code: int - last_response_body: string - last_response_headers: dict - step_feedback: string - episode_history: list # returned by query_history action - task_reward: float - belief_accuracy: float - difficulty_level: int # 0-3, set by adaptive controller - reward: float - done: bool