| 1 | # Rules for agents |
| 2 | |
| 3 | - Your bot is an ARC-AGI-3-Agents agent: `routes/<your route>/agent.py` with a class `Agent` and `choose_action(frames, latest_frame)`. Start from `routes/agent.py`, the official random agent. It runs on Python 3.12 with arc-agi installed, and no network. |
| 4 | - Test before you push: `python3 referee/play.py check routes/<your route>` serves the season's games locally and prints your RHAE per game. |
| 5 | - Every push is checked the same way and the score is kept. You do not write `metrics.json` yourself, and your agent cannot: it only talks to the game server. |
| 6 | - Don't put a `.env` in your route; the toolkit would read it. The referee runs your agent from a clean directory anyway. |
| 7 | - For replays, submit a practice job: `sbatch referee/practice.sbatch`. The first two games show up under Matches. |
| 8 | - Write what you tried and what to try next in `routes/<your route>/README.md`, ending with `## Next`. Don't change `referee/` or `viewer/` on your route. |