01
The facts exist, in the wrong places
The screwdriver's torque curve is in a PDF. Its approach vector is in the engineer's head. Its I/O map is in the PLC project. Its tool centre point is in the robot pendant.
OCM standard · Cellwright software
Everything needed to build an automation cell already exists — it just isn't anywhere a program can read it. OCM is the open standard that writes it down as component, module and cell manifests. Cellwright is the software that reads them and generates the robot program, the PLC sequence and the cycle-time estimate.
STATUS: PRE-ALPHA. The software chain is real and runs on a laptop. The PLC-sequence emitter is not written, the runtime I/O is still simulated, and no hardware has been built. We will say so plainly until it isn't true.

FIG. 1 — frame on a base cabinet at operator height, datum plate, two interchangeable process modules
WHY AUTOMATION CELLS COST WHAT THEY COST
01
The screwdriver's torque curve is in a PDF. Its approach vector is in the engineer's head. Its I/O map is in the PLC project. Its tool centre point is in the robot pendant.
02
Four places, four transcriptions, four chances to be wrong — and no way to check any of them until the cell is standing on your floor and the schedule has already moved.
03
Change a fastener, swap a feeder, add a variant, and the engineering bill arrives again, because nothing about the last cell was written where a program could read it.
How it works
Each tier is authored as a manifest and composed only of validated instances of the tier below it. A tier may reference what the tier below declares, and never restates it. A fact has exactly one home, and a missing reference stops the user, making no assumptions.
component
One purchased part, transcribed from its datasheet or manual: torque range, stroke, voltage, mass, mounting, and the ports it exposes. Facts only, in the units the datasheet prints.
module
An assembly of components that performs a function — a screwdriver, a feeder, a fixture. It declares which components it contains, how they are wired, and which ports it exposes upward.
cell
One machine: which modules are fitted, where they sit on the frame, and how they connect. Reach and collision are checked here, and the robot program and PLC sequence are generated from it.
line
Many cells in sequence: conveyance, handoff points, and the order of operations. Each cell keeps its own owner and manifests; the line only declares how they meet.
What it changes on your floor
The estimate comes from the same manifests that generate the program, so the number you approve is the number the machine is built to.
Swap a module, regenerate. The re-engineering that used to be weeks becomes a rebuild of generated output.
Ask for 6.0 N·m from a tool rated to 5.0 N·m and nothing is emitted. Where the manifests are incomplete, you get a completion list — including when the reader is an AI agent.
OCM is an open standard, independently implementable. Anyone can write their own generator against the same manifests — which is the test of whether the standard is real.
Cells into a line
Put two cells side by side and the tempting move is to wire them into one machine. We refuse it on purpose: the seam between cells is deliberately thin, so no cell becomes hostage to its neighbour's vendor.
boundary
Safety, handoff interlock and data cross a cell boundary on three separate channels. The interlock is two opto-isolated discrete signals — part available, ready to accept — so any machine that can shake hands drops into the line, including one that isn't ours.
identity
Most target parts can't be marked, so a single RFID tag on the pallet carries an unwritable carrier ID and the bound unit ID. No cell infers which part it is holding by counting handshakes. A failed or disagreeing read is a refusal, never a guess.
records
Each cell commits to a local append-only journal before the cycle completes — a plain text file a technician can tail at 02:00. Forwarding to Postgres, MQTT, an OPC UA historian or an MES file drop is declared in the manifest, and the line keeps running when it's unreachable.
The AI agent, and what it is allowed to touch
In AUTO and in MANUAL the agent has no write path — not a blocked one, an absent one. The link carrying it is powered through a relay that closes only when the cell's key selector is in PROGRAM. Reading never stops: the controller publishes its state out an RS-422 port whose receive conductors are left out of the cable, so the agent can diagnose and explain a running cell without any means of talking back.
Three layers hold independently — the API refuses the verb, the controller rejects the write, and the conductor is open — and the last one is the one you can be shown at the panel.
How agent authority is enforcedThree ways to get one
Open files
The OCM standard, the registries, the mechanical files and Cellwright itself. Free, licensed openly, yours to modify.
Verified parts
The tested bill of materials, verified drive list and measured frame data, shipped as a kit so you skip the sourcing.
Complete
You describe the assembly. Accel Solutions delivers a running cell, with the OCM manifests handed over in the open format.
Where we actually are
The mechanical design comes fourth on purpose. We already know how to build a frame; it carries no information. The question that decides whether this project is real is whether the generator can go from a cell description to a collision-checked robot program and a PLC sequence with no human writing waypoints — and that is testable on a laptop.
Follow the build journalNext step
Early conversations shape what gets built first. If you have a cell in mind — or a changeover that costs you every quarter — we want to hear the details.
Start a conversation