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.