monte init.
Tasks
A Task is one question with its gold answer. It is the unit a Split enumerates, the grader scores, and rollouts run against. A Task belongs to the Environment and is identical for every Run.Anatomy
An Environment implements a small protocol:splits()names its task-ID lists.grade(task, output)returns a score, under a declared grader identity.fingerprint()hashes the task source, the grader, and the harness config.install()andverify_install(), both optional, set up and check box assets.
monte.environments entry point. The box bootstrap never knows an Environment by name: monte env install --all installs whatever is registered.
The grader
The grader is the non-negotiable part. Ungraded data is never an input to the platform. One grader serves eval, training, and spot-checks, so scores cannot drift apart by construction.Available Environments
The
math Splits live on the durable data root, not in the repo. They are seeded by a manifest-verified copy and never derived on a box.
Related pages
Authoring an environment
Build one: package shape, rules, and how to test it.
Measurement
How an Environment gets frozen into something measurable.

