{"data":{"kind":"file","path":"README.md","version_id":"o08nv2692dltehl4sk33e10w","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":4063,"modified_at":"2026-07-21T15:53:00.376000","content_hash":"a6f666bd17c0ab7af3359537a81f3f1c592cbd46cf8c27ac77a19f9c2c965783"},"entries":[],"content":"# AgentBoard BabyAI v1 Context\n\nSelf-contained Verifiers v1 port of the AgentBoard BabyAI text-game\nenvironment.\n\nThe environment preserves the AgentBoard BabyAI prompt format, train/eval split,\naction parsing, progress reward, and grounding metrics used by the legacy\n`agentboard-babyai-context` environment. It targets the Verifiers 0.2.x\ntask-centric API: a typed `Task` owns scoring and a rollout-local `User`\nsimulator emits each new observation. The required BabyAI runtime, annotations,\nand prompt are packaged with the environment; an AgentBoard checkout is not\nrequired at installation or runtime.\n\n## Package layout\n\n- `agentboard_babyai_v1_context.py`: typed task data/state, taskset, user\n  simulator, rewards, and metrics.\n- `agentboard_babyai_runtime.py`: minimal BabyAI runtime extracted from the\n  frozen AgentBoard revision.\n- `agentboard_babyai_v1_assets/`: the 112 task annotations and vanilla prompt.\n- `tests/`: split, prompt, packaging, state, and upstream parity regressions.\n- `NOTICE.md`, `UPSTREAM_AGENTBOARD.md`, and `licenses/`: provenance and license\n  boundaries.\n\nEach rollout receives a private `BabyAIUser` process containing the live\nGymnasium environment. Only typed, serializable task data and state cross the\nVerifiers boundary. Assistant messages contain actions; user messages contain\nthe next `Observation: ...\\nAction:` turn. Verifiers 0.2 records the body-token\nspan for those user messages, which is the observation surface selected by\nPrime-RL's built-in ECHO algorithm.\n\nPrime-RL v1 taskset shape:\n\n```toml\n[[orchestrator.train.env]]\nname = \"agentboard-babyai-v1-train\"\nmax_turns = 20\ntaskset = { id = \"agentboard-babyai-v1-context\", split = \"train_3_per_subtask\" }\nharness = { id = \"null\", runtime = { type = \"subprocess\" } }\n\n[orchestrator.algo]\ntype = \"echo\"\n\n[orchestrator.algo.roles.user]\nalpha = 0.05\n```\n\nThe packaged split contains 84 training episodes and 28 evaluation episodes:\nthree and one, respectively, from each of 28 BabyAI task families.\n\nPrime-RL normalizes its RL and ECHO cross-entropy components independently.\nTherefore, the larger count of user observation tokens does not change the RL\nterm's effective per-token learning rate; `alpha` controls the auxiliary\ncomponent directly.\n\nInstall through the Prime CLI:\n\n```bash\nprime env install agentboard-babyai-v1-context \\\n  --path ./environments --prerelease --plain\n```\n\nThe released `prime eval run` command currently targets legacy\n`load_environment()` packages. This package is a Verifiers 0.2 taskset plugin,\nso evaluate it with the Verifiers v1 CLI used by the new Prime-RL path:\n\n```bash\nuv run eval agentboard-babyai-v1-context \\\n  --taskset.split eval_1_per_subtask \\\n  --harness.id null --harness.runtime.type subprocess \\\n  --max-turns 20 --model <endpoint/model> --num-tasks 4\n```\n\nBefore using a model endpoint, the package can be checked without inference:\n\n```bash\nuv run validate agentboard-babyai-v1-context \\\n  --only-setup --num-tasks 4 --runtime.type subprocess\n```\n\nVerifiers 0.2.0 currently depends on a prerelease renderer. When installing or\ntesting directly with `uv` outside Prime-RL's locked workspace, include\n`--prerelease=allow`.\n\nRun the local regression suite in an isolated install. Set `AGENTBOARD_PATH`\nonly when running the optional parity checks against the frozen upstream\ncheckout; those checks additionally need AgentBoard's legacy test dependencies\n(`gym==0.24.0` and `matplotlib`):\n\n```bash\nuv run --no-project --isolated --prerelease=allow --python 3.12 \\\n  --with ./environments/agentboard_babyai_v1_context \\\n  python -m unittest discover \\\n  -s ./environments/agentboard_babyai_v1_context/tests -v\n```\n\n## Licensing\n\nThe extracted AgentBoard runtime and prompt are distributed under Apache\nLicense 2.0. The packaged AgentBoard task annotations are distributed under GNU\nGPL version 2. These materials remain separately identified rather than being\npresented under one package-wide license. See `NOTICE.md`,\n`UPSTREAM_AGENTBOARD.md`, and `licenses/` for the precise provenance and full\nlicense texts.\n","encoding":"utf-8","truncated":false,"total_bytes":4063},"status":null}