Skip to Ozmium documentation
Ozmium Docs

On Stage

Robot show safety in practice - stopping on command, staying inside an envelope, fidelity testing against simulated emergencies, and a wallet that settles.

A character goes in a room with people or it does not. The difference is a short list of things that have to work every time, and they are all engineering rather than performance.

Stop

The stage manager says stop, and the character stops. From any point in any behavior, into a pose that is safe to hold with the power off, in a time the crew has been told.

That command is handled below the decision layer, on the controller driving the joints. The language model that gives the character its personality is not asked and cannot object. An agent that decides whether to comply is not a stop, and Ozwald's own guardrails are already built this way in software: the refusal happens before the sentence leaves the agent, and it is visible rather than silent.

The Envelope

A character that can cross a room and pick up a fire extinguisher can cross a room and pick up anything else. You would rather have the one that can than the one that cannot, so the limit goes on the room rather than on the capability.

The figure gets a volume it may occupy and a ceiling on the force it may produce, both enforced on the controller. Inside that, it improvises. Outside it, the request never reaches the actuators regardless of what the character decided.

Fidelity Testing

Before a character works a room, it is run against simulated emergencies. A fire in the corner of the set. A guest on the floor. A cast member calling for help. A prop where it should not be. The same scenarios, repeatedly, with the details moved around so nothing can be memorized.

Three things are scored:

Measured Passing looks like
Response time Noticed and acted inside the window a person would have
Verification Checked what it was looking at before committing to it
Action quality Chose something that cannot fail, over something clever

The last one decides the other two. In an emergency a character should do the plain, reliable thing: stop the show, raise the alarm, clear the path, hold position. A response that works most of the time is worse than no response, because the crew will have planned around it.

None of this replaces the safety conduct of the cast and crew. A production runs its own procedures, and it should. A character that notices sooner, verifies faster, and never looks away is another set of eyes helping everyone do the job better.

No Network in the Critical Path

A parade does not wait for an API. Ozwald runs a 120B model on hardware in the building, drawing 57 watts, with no metered inference and no rate limit. A character that stalls because somebody else's service is having an incident is a character that cannot be booked.

The same constraint drives the rest of it. The decision layer for each character in the engine is a local process. Locomotion policies run on the robot's own controller at 50 Hz. Nothing in the show loop requires a connection to work.

A Wallet That Settles

Ask a scripted character what he owns and he recites a number somebody typed. Ask Ozwald and he reads a balance, which means he can be surprised by it, can be wrong about what he can afford, and can decline.

Situation Prop Real
Asked what he owns A line in the script A balance at a block height
Handed something by a guest Acknowledged, then gone Arrives, and is there tomorrow
Asked to promise something Whatever the writer allowed Whatever the balance allows
Pushed into something reckless Refuses on cue Refuses because a spend limit stops it

The last row is the one that matters on a route with strangers on it. A limit enforced by the rails is not something a guest can talk a character out of, which is the same property the stop command needs.

Rehearsal Happens on a Testnet

Almost nothing a character does with value during a show needs real money.

Base Sepolia runs the same mechanics with no exposure: the same transaction shapes, the same failure modes, the same wait for a confirmation. A character can work a full day against it while the crew learns how it behaves when a transaction is slow, when one reverts, and when a guest sends something nobody expected.

Environment Used for
Base Sepolia Rehearsal, training, and any guest interaction that does not need to settle
Base mainnet Only what has to be real, under a spend limit the operator sets

The chain id changes between them. The character does not.

Limits

Ozmium does not hold guest assets and a character does not either. Anything a guest sends goes onchain to an address, and what the operator owes them for that is the operator's obligation.

No figure has been built, so the stop path, the envelope, and the timing above are requirements written before the fact. They are here so they can be checked against whatever gets built.

Contents

On This Page