{"data":{"kind":"file","path":"README.md","version_id":"c5xap0vligrliukrm01g8eyv","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1368,"modified_at":"2025-12-20T14:25:11.067000","content_hash":"328e1d18a7cf6936b9218281cff608f77b146ff08d691b4f201fb6a0ac83db1f"},"entries":[],"content":"# CodeBlue Environment\n\nGym-compatible RLVR environment for training analytics agents on data analysis tasks.\n\n## Features\n\n- **Multi-step episodes**: Agents can execute Python/Pandas code, save notes, and submit answers\n- **Stateless mode**: Agent sees only task + last result each turn (must use notes to remember)\n- **Stateful mode**: Full conversation history available\n- **Trace logging**: Complete visibility into agent behavior with JSON traces\n\n## Usage\n\n### As Gym Environment\n\n```python\nfrom codeblue_env import CodeBlueEnv, EnvConfig\n\nconfig = EnvConfig(task_split=\"train\")\nenv = CodeBlueEnv(config)\n\nobs, info = env.reset(options={\"task_id\": \"bank_easy_001\"})\nobs, reward, terminated, truncated, info = env.step(action)\n```\n\n### With Agent Runner\n\n```bash\n# Run single task\npython agent_runner.py --task bank_easy_001\n\n# Run all tasks with traces\npython agent_runner.py --all --trace\n\n# Stateful mode (full conversation history)\npython agent_runner.py --task bank_hard_005 --stateful\n```\n\n## Tools Available to Agent\n\n- `run_python`: Execute Python code with DataFrame `df`\n- `save_note`: Save observations for reference across turns\n- `submit_answer`: Submit final answer (ends episode)\n\n## Task Levels\n\n- **L1-L3**: Easy (single aggregation, filtering)\n- **L4-L5**: Medium (multi-step, comparisons)\n- **L6-L8**: Hard (complex logic, multiple conditions)\n","encoding":"utf-8","truncated":false,"total_bytes":1368},"status":null}