Skip to main content
You are not limited to the 9-float controller family. Any policy that implements a two-method contract can be certified in the frozen Webots oracle.

The contract

obs carries the same fields your local-gym policy reads (proximity in the same {"left","right"} dict form, collision, sensor_valid), so a policy trained in LocalDreamEnv certifies unchanged. Two differences: the exam adds t (tick index) and has no frame (the physics world has no camera), and sensor_valid is always 1 there, because exact physics has no post-reset settle window. Do not depend on it:
act returns an action in the wheel-fraction vocabulary:
A differential SNN maps its two motor populations onto wheels. The returned wheels flow through the exact same downstream path as an evolved genome, so a genome wrapped as a Policy reproduces its exam verdict bit for bit. This is the acceptance test we run before every deploy.

Submit it

Or raw HTTP, with policy on an exam-only job:

The sandbox

Partner code is trusted and key-gated, and it runs locked down:
  • No network egress (blocked at the socket layer; the exam needs none).
  • No subprocess or shell spawning.
  • Resource-limited (memory + total CPU) and time-limited per call. A runaway or erroring policy fails the job; it never silently scores.
This is a trusted-partner posture, not a hostile-code jail (true isolation would use seccomp/gVisor). The container ships numpy and onnxruntime; a policy needing torch or norse will not import, so export your weights and run a numpy forward pass in act(). Ship a Python module, not a converted graph.

What stays frozen

The policy is the only new degree of freedom. The world, spawn slots, episode count, control tick, proximity remap, scoring, and the anti-exploit control arms (the cruiser that must fail) are identical to every other exam, so your verdict is comparable to the whole program history.
Want an SNN-native observation (spike trains, richer sensor channels) rather than the proximity/collision contract? That is an extension we design with you. Tell us your policy’s IO.