Product

Five services. One layer.

Everything above hardware and below your business. Each piece is separately deployable, and none of them can be replaced by a better model.

Work Engine

A business objective in. Verified physical work out.

A named standard decomposes deterministically. When a customer writes cleanliness: 'hotel_standard', that string is a contract somebody signed and may dispute — it has to mean the same five things every time.

A model improvising a different task list per room would make the completion report unauditable, and the completion report is what we sell.

Below that, the WorkGraph expands recursively — but only where no single skill can do a task whole, and only when a machine is about to run it.

job_1788071417808 — traceSimulation
WorkGraph
Clean the bathroom to hotel standardrover-11
Survey and identify surfacesrover-11
Clean basin, mirror, counterrover-11
Verify against the standardrover-11
Make the bed with fresh linenshumanoid-04
Remove all waste from the roomhumanoid-04
Inspect the finished room
Routing trace
perceivegemini-roboticser-1.5340ms · $0.0021
plangrootn1timeout
planclaudeopus-54100ms · $0.0310
verifyruntimedeterministic12ms · $0.0000
Every attempt is recorded, including the one that failed. “We tried GR00T first and it timed out” is what an audit and a cost reconciliation both need to see.

WorkGraph

Expand it yourself.

A node stops decomposing the moment a published skill can execute it whole — not at a fixed depth. So “replace the towels” is a leaf and “make the bed” is three levels deep, purely because one has a skill and the other does not.

Simulation“Prepare room 417 for next guest” · hotel_standard
·Replace the towels and bathroom linensrestock-linens@1.3.0
·Remove all waste from the roomcollect-waste@1.7.0
·Inspect the finished room and record evidenceinspect-space@1.1.0
5nodes in the graph
3executable — a skill can run these whole
2plans, not tasks — nothing executes these

Expand a node and it stops as soon as a published skill can execute it. Nothing decomposes to a fixed depth: “replace the towels” is a leaf and “make the bed” is three levels deep, purely because one has a skill and the other does not. Publish a make-bed skill tomorrow and that subtree disappears.

Fleet

Deploy, monitor, audit, benchmark.

Audit is not a feature here — it is the reason an enterprise can adopt at all. Every autonomous action has to be reconstructable after the fact.

fleet.reasoningone.aiSimulation
Verified autonomous jobs today
1,284jobs
Verified and intervention-free only. 1,284 of 1,341 jobs qualified — 31 did not finish, 19 needed a human, 7 were never verified. One intervention zeroes a job.
Machines online
847
Job completion
98.4%
Interventions / job
0.014
Recovery success
71.2%
Cost / job
$3.81
Human hours replaced
41,204
MachineBodyStateBatteryDoing
humanoid-04legged / bimanual15kg · 5mm · 3hWorking82%Make the bed — room 417
rover-11wheeled / dexterous60kg · 20mm · 8hWorking61%Inspect production area A
rover-07wheeled / dexterous60kg · 20mm · 8hNeeds assistance44%Bin jammed — operator called
arm-02static / dexterous5kg · 0.1mm · 24hCharging12%

The interface is the real one. The fleet, the job counts and the savings figure are illustrative — see what is real.

State before metrics

A supervisor with 800 robots needs to know which ones need them, right now. Only needs assistance reads as an alarm — colouring “charging” red teaches operators to ignore red.

Never a filled-in number

An unreachable service is reported as unreachable. A console that substitutes a plausible figure has someone making decisions about a fleet while looking at a default.

Inspector

The first commercial surface.

Walk in, scan, walk out with an estimate you can defend. Every quantity carries a tolerance, because an estimate with no stated tolerance is a guess wearing a number — the contractor either over-buys every job or eats the shortfall on some of them, and never learns which.

Findings arrive as hypotheses with the evidence that would confirm them, ordered cheapest and least destructive first. That is what lets the machine ask “do you want me to inspect behind the sink?” instead of guessing.

And when no perception provider is wired, it shows a blocker rather than a number. A takeoff built on invented geometry is the one failure that would kill this product: the contractor prices the job, wins it, and finds out on site.

InspectorSimulation
Kitchen renovation detected
24 frames · scene confidence 86%
Takeoff
Cabinetslinear ft28.0 ± 1.4order 28.0
Countertopsq ft51.2 ± 2.6order 61.8
Flooringsq ft183.4 ± 9.2order 202.5 (9 box)
Sink plumbingverify on site — 61% confidence
Do you want me to inspect behind the sink?
Would confirm or rule out water damage · about 2 min
YesNot now

Edge · safety

A model requests. Only the governor permits.

Force, speed, geofence and e-stop are enforced in the runtime, beneath the model, deterministically. No enterprise deploys machines whose safety depends on what a model decided to do.

Simulationenvelope · speed ≤ 1.2m/s · force ≤ 80N · floor-3
Zone
Request an action. The model asks; only the governor permits — and it is deterministic, so the same request in the same state always gets the same answer.

Speed clamps. Force refuses. Ask for 3 m/s and you get 1.2 — the job continues. Ask for 200N on an 80N body and you get nothing, because that is not a request to push gently, it is a misjudged task.

Edge · offline

Then take the network away.

Warehouses, construction sites and basements have bad networks. A runtime that needs the cloud is not a runtime.

Simulation
Connected
Episode buffer 0
Empty — everything uploaded.
Run a job, then cut the network and run another.

Offline, the machine keeps working with degraded autonomy — a cached plan it has already proved here, and verification that reports uncertain rather than guessing. Uncertain work never counts toward Verified Autonomous Jobs, which is the honest answer: nothing checked it.

Skills · WorldGraph · Edge

The three that compound.

Skills

A skill declares what a body must be able to do — never who made it. A manifest naming a robot brand is rejected at publish time, because the first one accepted turns the registry into a pile of vendor plugins.

WorldGraph

Every attempt, correction and outcome. It answers the question nobody with a frontier model can: which model, body, skill and environment combination actually completes paid work.

Edge

Runs on the machine with zero dependencies, because a runtime with a dependency tree fails to install on the Jetson that matters. Offline-first, with the safety governor beneath the model.