niua.contract/v1
Every rule the gate enforces.
A contract is JSON that turns rules on and sets their thresholds. Unknown rules are rejected, so a typo never weakens a check. The 8 built-ins, one sentence each (robots and motion: simulation only, no hardware tested):
- articulated.sim-ready@1A URDF or MJCF robot or articulated object loads and runs in MuJoCo under simcheck with no errors: sound mass and inertia, working joints, and collision that matches the visible geometry.
- urdf.sim-ready@1A URDF robot is one valid tree with real masses, joint limits, meshes that resolve and a collider on every visible link, checked statically without running a simulator.
- motion.g1-safe@1A Unitree G1 motion clip stays inside its joint limits, its feet barely slide and stay out of the floor, and it stays upright when replayed in MuJoCo.
- splat.sim-ready@1A Gaussian splat and its collision mesh share one frame, the floor is level, the collider covers the floor, and boxes dropped in MuJoCo come to rest on it.
- glb.prop@1A 3D prop meets an engine's structural budget: named parts, assigned materials, collision, real-world scale, and at most 50,000 triangles and 2048 px textures.
- glb.prop-strict@1The same prop checks on a mobile budget: at most 10,000 triangles and 1024 px textures.
- wav.sfx@1A sound effect is 44.1 or 48 kHz, mono or stereo, 0.05 to 30 s long, never clips, and has no dead air at either end.
- wav.voice@1A voice line is mono, 0.3 to 60 s long, between -23 and -16 LUFS, and never clips.
Every rule NIUA checks, with its threshold and how to fix a failure. For anyone building a robot, a motion clip, a prop or a sound that has to pass.
01 List the published contracts
curl https://api.ohao.tech/api/v1/contracts/builtin02 Read the rules of one
niua-runner contracts motion.g1-safe@103 Check a file against it (needs NIUA_API_KEY)
niua-runner check clip.csv --contract motion.g1-safe@1
- Contract
- the published rules a file must meet, by name and version. Each rule has a threshold and a fix.
- Gate
- NIUA's checker. It runs a contract on your file and says pass or fail, with a fix for each fail.
- Receipt
- a signed note that this exact file passed this exact contract. Anyone can verify it, offline.
For agents: rules JSON · built-in contracts JSON · llms.txt
Loading rules…