PROTHAM
Initial commit: AdaptiveWorld Env v2.0 (Round 2)
7043cc6
Raw
History Blame Contribute Delete
2.2 kB
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