Skip to main content
competition.yaml is the entry point for every custom environment bundle. BenchGen reads this file to understand the environment’s structure, which data and programs to use, and how to display results.

Top-level fields

pages

Optional documentation tabs displayed alongside the environment. Each entry needs a title and a file path relative to the bundle root.

phases

Phases define the active evaluation windows. Most environments have a single phase. Each phase references one or more tasks by their index.

tasks

Each task defines a single evaluation problem — the data and programs needed to score one type of submission.

solutions

Optional reference solutions included with the bundle. BenchGen uses these to verify that the scoring program works correctly before the environment is published.

leaderboard

Defines the columns displayed in the results table. Keys must match the keys your scoring program writes to scores.json.

Leaderboard group fields

Column fields

Complete example

Next steps

Bundle Structure

The files inside the .zip and what each one does.

Create a Custom Environment

End-to-end upload walkthrough.
Last modified on September 3, 2026