spec_version: 1 name: cache_invalidation_env version: "1.0.0" type: space runtime: fastapi app: server.app:app port: 7860 description: > Cache invalidation under uncertainty: agents choose invalidate, refresh, or keep per step from noisy hit/stale observations. Three difficulty tasks (easy → hard), each with a programmatic episode grader (final_score in [0,1]). tasks: - name: easy description: "Fewer cache items and low volatility; easier to infer staleness from noisy observations." difficulty: easy max_steps: 10 grader: true grader_kind: programmatic grader_callable: env.task_graders:easy_agent_grader score_range: [0.0, 1.0] - name: medium description: "More items and moderate volatility; invalidation vs keep tradeoffs matter more." difficulty: medium max_steps: 10 grader: true grader_kind: programmatic grader_callable: env.task_graders:medium_agent_grader score_range: [0.0, 1.0] - name: hard description: "Most items and high volatility; noisy staleness signal and harder tradeoffs." difficulty: hard max_steps: 10 grader: true grader_kind: programmatic grader_callable: env.task_graders:hard_agent_grader score_range: [0.0, 1.0] endpoints: reset: POST /reset step: POST /step state: GET /state schema: GET /schema metadata: GET /metadata health: GET /health tasks: GET /tasks