Developer docsCompute · Arena · API

Build a community challenge

Package your simulator and evaluator, share the test, and keep its trust clear.

Simulation and evaluation builders · 7 min · Updated
Markdown

Keep the simulation stack you already use

A community challenge is a versioned simulator and evaluator from a builder-owned HIM Package. Keep your repository layout, language, framework, assets, and native commands. The .him overlay tells HIM which entrypoints to run and which outputs to preserve.

  • MuJoCo, MJX, Brax, Isaac Lab, custom Python, and immutable OCI entrypoints use the same package flow.
  • Community challenge v1 uses one headless harness entrypoint for simulation and scoring; it may call separate modules inside your repository.
  • The package digest pins the code, and every challenge version is immutable.
  • Private packages create private challenges. Publish the package first when you want others to run it.
  • Use a challenge package you are comfortable making inspectable to participants; creator and candidate code share the Community sandbox.

From repository to shared challenge

  1. Add a small .him overlay to the repository that already owns the simulator and evaluator.
  2. Declare the real headless harness command that runs the simulation, invokes the candidate, and writes evaluation/evaluator.json.
  3. Validate and push the immutable package, then test its native command on a bounded SSH machine if needed.
  4. Open Account, choose Create challenge, select package entrypoints, and name the score metric.
  5. Choose private, unlisted, or public visibility, then share the challenge.
  6. Participants select an owned policy package on the challenge page or run him arena submit.
  7. Matching provider-verified scores appear on that exact version's Community leaderboard.
Smallest builder flow
him init . --simulator
# Keep the native simulator command in .him/him.yaml
him doctor . --json
him validate --json
him test --local --json
him push --visibility unlisted --yes --json

him catalog create-challenge sha256:<challenge-package-digest> \
  --name "Balance Recovery" \
  --description "Recover from a repeatable push." \
  --simulator-entrypoint evaluate \
  --score-metric success_rate \
  --yes --json

HIM Official and Community stay distinct

Challenge trust is visible wherever a result appears.
HIM OfficialCommunity
OwnerHIM controls the challengeThe named builder controls it
EvaluatorReviewed and separately hostedPinned inside the creator's package
ResultsEligible for the official leaderboardIts own creator-defined Community leaderboard
HardwareMay qualify for supervised reviewRequires HIM review first

How participant policies run

HIM pins the creator's challenge package and the participant's approved policy package in one private, network-disabled Compute job. The creator's harness receives bounded candidate paths, runs the declared entrypoint, and emits the fixed score metric. Only provider-verified or trusted-local metrics with the exact challenge evaluator digest can rank.

Enter from a terminal or agent
him arena submit <challenge-version-id> \
  --package sha256:<policy-package-digest> \
  --entrypoint evaluate \
  --json

him arena leaderboard <challenge-version-id> --json