
N° 05For fabrication
The shop that runs with the lights off.
Mills, lasers and printers stream into a digital twin. Agents run the jobs you grant them. Every command is written down before it reaches the machine.
Plate 05 · A three-axis mill after hours, lit only by its own work light
One model
Every machine is a device with channels.
A mill, a laser, a printer and the camera watching them are the same kind of thing in CommandAGI: a device with channels — a G-code line, a status feed, a video stream. You place them as units in a world that matches your floor.
Drivers speak each controller's own protocol, through one session interface:
- CNC: GRBL 1.1 over USB, FluidNC and grblHAL over TCP, Smoothieware, LinuxCNC 2.9.
- Printers: Marlin, Klipper through Moonraker, PrusaLink, OctoPrint, Duet / RepRapFirmware, Repetier-Server.
- Lasers: the laser verbs of GRBL, Smoothieware, Klipper and Duet, with nesting and sheet G-code in the vector app.

Plate 06 · The twin beside the machine it follows
The twin follows the machine, not the plan.
The digital twin draws what the controller reports — position, line, feed, alarms — and marks every deviation over half a millimetre. Simulated and live are labelled, and they never mix.
Written down before it is sent.
Every action is appended to the run's stream, with the principal that sent it, before the driver is called. An acknowledgement is not a position. A lost link is recorded as state unknown — and nothing is ever silently retried.
If an agent decides to try again, that decision is its own recorded command.
02:14:07.180 note agent:night-shift: run_program bracket-v3.gcode 02:14:07.192 command G21 G90 02:14:07.204 ack ok 02:14:07.260 command G1 X112.4 Y38.05 F1200 02:14:07.274 ack ok 02:14:09.910 state state: unknown (link lost) 02:14:12.330 event link back · Idle 02:14:12.402 note agent:night-shift: send_command $H
Authority
Authority is a standing grant.
You decide once what an agent may touch: which world, which units, which channels, which verbs, for how long. Inside that grant it arms the machine, runs programs and sends commands in real time — no confirmation dialog at 2 a.m.
The driver enforces the bounds, not a person. Stop, hold and emergency verbs are always allowed to anyone with any grant on the unit.
commandagi grant add --principal agent:night-shift \
--world shop --unit mill-1 --channel gcode \
--verb open --verb arm --verb run --for 8h --note "night shift"
Cameras
Cameras are channels, too.
A USB camera, a screen or an ESP32-CAM is one more channel on a unit. Its video is recorded into the same run as the G-code, on the same clock, so a replay shows what the machine was told and what it did.
The camera-wall dashboard puts every recorded stream on one screen.
Plate 07 · A camera clamped to the gantry, looking down the cut
Counted, not projected.
What is in the product today, by the numbers in the repository.
- 26
- Drivers in the catalog
CNC, printers, servo buses, cameras, shells and more — one session interface.
- 4
- Verbs a grant can give
open, arm, run and send. Stop is never withheld.
- 5min
- Until arming lapses
An armed session that sits idle disarms itself.
- 0
- Silent retries
A physical command is sent once. Retrying is a decision, and it is recorded.
Verification
We say exactly how far it has been tested.
Each driver carries one word for what it has been verified against: none, loopback, bench or hardware. Today the fabrication drivers say loopback — tested against faithful software fakes of each protocol. No machine has been commissioned yet.
When a driver runs on a real mill on a real bench, it will say bench. Not before.
Bring your machines.
Open the workbench in your browser, place your machines in a simulation world, and run the job there first.