Train in the dream
CMA-ES evolves a compact controller inside the doom world model, the same
public checkpoint as
alakazamworld/doom-dungeon-hg
(byte-identical, sha256-verified).
Certify in the oracle
A frozen Webots exam (two physical worlds, fixed contract, anti-exploit
control arms) is the sole scoreboard. Dream fitness is never a capability
claim.
The pipeline
OnePOST /jobs runs both stages and leaves a machine-readable job.json:
GET /jobs/{job_id} for live progress; never block on the POST.
Lineage is an explicit input
Warm-start any job from a prior champion withtrain.parent (an inline genome
or a prior job_id). Lineage is recorded in the artifacts, so chains are
reproducible with no ambient state. Warm-started jobs reproduce the historical
best-known profile: contact-safe, 0 contacts in 40/40 exam episodes.
Two ways to train
Server jobs (this API)
Submit a spec, get a reproducible, certified result. Best for lineage
chains and anything you want the oracle’s verdict on.
Local gym (your hardware)
The world-model weights are public. Run the dream locally (WebGPU or
ONNX Runtime) at your own speed, then submit champions to the exam.
See Local gym.
What’s live vs. roadmap
The serving VM sleeps when idle; the first request wakes it. During the boot
window (4 to 8 min) requests return
503 {"status": "waking"} with a phase
field; retry the same call until it succeeds. Measured
wall-times on the serving VM: smoke job 12–17 min, real-scale job 3–4 h, exam
alone 4–6 min (the VM’s CPU generation varies per boot).
