Build a community challenge
Package your simulator and evaluator, share the test, and keep its trust clear.
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
- Add a small .him overlay to the repository that already owns the simulator and evaluator.
- Declare the real headless harness command that runs the simulation, invokes the candidate, and writes evaluation/evaluator.json.
- Validate and push the immutable package, then test its native command on a bounded SSH machine if needed.
- Open Account, choose Create challenge, select package entrypoints, and name the score metric.
- Choose private, unlisted, or public visibility, then share the challenge.
- Participants select an owned policy package on the challenge page or run him arena submit.
- Matching provider-verified scores appear on that exact version's Community leaderboard.
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 --jsonHIM Official and Community stay distinct
| HIM Official | Community | |
|---|---|---|
| Owner | HIM controls the challenge | The named builder controls it |
| Evaluator | Reviewed and separately hosted | Pinned inside the creator's package |
| Results | Eligible for the official leaderboard | Its own creator-defined Community leaderboard |
| Hardware | May qualify for supervised review | Requires 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.
him arena submit <challenge-version-id> \
--package sha256:<policy-package-digest> \
--entrypoint evaluate \
--json
him arena leaderboard <challenge-version-id> --json