← Unovie.AI
Architecture Overview · AgentMesh

AgentMesh: Physical AI at the Machine

How the AgentMesh Sovereign Pod reads machine signals, decides inside a 30-millisecond budget, writes the work order, and improves every night, with the safety PLC kept in charge and no data leaving the site.

Abstract

AgentMesh is a small pod of servers on the factory network, next to the robots, test rigs, battery lines and tools it watches. It runs one loop in four stages. Sense reads signals without writing back to them. Decide judges each event in milliseconds. Reason writes up what happened and what to do about it. The Kiln reviews the day every night and makes small, tested improvements. AgentMesh acts on its own only where the consequence is low. Anything touching process safety goes to the PLC, the safety system and the operator as an alarm and a request. Numbers marked "target" have not yet been measured on a customer line.

1The short version

New factories are full of sensors, robots and AI-driven tools, and they produce faster signals than people can watch. AgentMesh sits next to the machines and watches every channel. When it sees something going wrong, it decides within milliseconds what kind of fault it is and how urgent it is. It then either takes a low-consequence action itself or raises the alarm and asks the control system to act. Seconds later a person has a written work order.

Sense · Decide

React at machine speed

Signals are read through read-only connectors, turned into compact fingerprints and judged against known faults and fixed rules. The Decide budget, from the signal arriving to an action or request being written, is under 30 ms (target, p99).

Reason

Explain and write it up

The Unovie Reasoning Model looks at the event, the equipment's history and the site's playbook, then drafts a work order. The first line is ready within 2 seconds and the full write-up within 15 seconds (targets). The model never moves equipment.

Kiln

Improve every night

At 02:00 the Kiln replays the day and proposes at most three small edits to the playbook. An edit is kept only if it does better on a locked set of past events. Model weights never change.

< 30 ms
signal to action or request (target, p99)
≤ 2 s
first line of the work order (target)
~100 ms
to detect a failed server (target)
0
raw signals sent off site

2Where it fits

AgentMesh sits at the site operations level of the factory network (Purdue Level 3), between the machines and the business systems. It reads signals from sensors, controllers, historians and test rigs, and writes only to the outputs the site has listed for it. The safety PLC and the safety system stay in charge of anything that can hurt people or equipment. Toward IT, the pod only sends: finished work orders go out to maintenance and quality systems, and nothing comes back in on that path. Findings can also go to an AgentNexus rack in the customer's own enclave, which works across many sites.

AgentMesh in context Machines and controllers on the left feed signals read-only into the AgentMesh pod in the middle. The pod sends low-consequence actions and safety requests back to the PLC, which stays in charge. On the right, work orders go out one way to maintenance and quality systems and findings go to AgentNexus. MACHINES · LEVELS 0–2 Sensors and DAQ vibration, acoustic, thermal Robots, tools, test rigs cells, BMS, power meters Historian and alarms tags, control-system alarms PLC and safety system always in charge SITE OPERATIONS · LEVEL 3 AgentMesh Sovereign Pod Reflex Sense · Decide < 30 ms target writes outputs Thinker Reason · Kiln work orders nightly review Shared platform Data Triad · Evidence Log Mesh Arbiter (failover) cluster software · NVMe storage read act / request only to outputs listed for the site OUTSIDE · OUTBOUND ONLY Business systems MES, QMS, maintenance AgentNexus in your enclave orders findings
Figure 1. AgentMesh between the machines and the business systems. Signals come in read-only, actions go only to listed outputs, and data leaves the site only as finished results.

3How it's organised

The pod's work is split into two roles. The Reflex role holds the fast path: it owns the connection to the machines and is the only part allowed to write outputs. The Thinker role holds the slow path: reasoning, records and the nightly review. Each role runs on its own server, and each role has a warm standby on another server, so either server can carry everything if the other fails. The four-server pod has two such pairs (section 4). Everything runs as microservices on CNCF-conformant cluster software.

ServiceStageRoleWhat it does
Unovie GatewaySenseReflexThe boundary to the machines. Read-only connectors (DAQ, OPC UA, Modbus, CAN, MQTT, receive-only span port), an allow-list per protocol, and an audit log.
Ingest BufferSenseReflexHolds each channel's latest signal in memory and cuts it into windows.
Signal EncoderSenseReflexTurns each window into a compact fingerprint of what the signal looks like.
Unovie Decision EngineDecideReflexCompares the fingerprint with past events, applies the site's fixed rules, and acts or raises a request.
Vector MemoryDecideReflexIn-memory index of past events: "have we seen this before, and was it bad?" Copied to the standby.
Reason ServiceReasonThinkerGathers the context for an event, asks the Reasoning Model, checks the answer and sends the work order.
Unovie RuntimeReasonThinkerServes the Unovie Reasoning Model locally, with its weights pinned by checksum.
Data TriadReasonThinkerThree stores: an analytics store for signals and history, a knowledge graph of equipment and rules, and the Vector Memory archive.
KilnKilnThinkerThe nightly review that proposes, tests and keeps or drops playbook edits.
Mesh ArbiterAllBothWatches the other server, decides who owns each role, and moves a role when a server fails.
Evidence LogAllBothAn append-only, signed record of every decision, action, request and playbook change.
AgentMesh roles and standbys Two servers side by side. The Reflex server runs Sense and Decide actively and holds a standby of Reason. The Thinker server runs Reason, the Data Triad and the Kiln actively and holds a warm standby of the Reflex path. Both run the Mesh Arbiter and the Evidence Log and are joined by three heartbeat paths. Reflex server Active Gateway · Ingest Buffer · Signal Encoder Decision Engine · Vector Memory (hot) owns the machine-side address and outputs Standby Reason Service and Runtime, ready to start Mesh Arbiter · Evidence Log writer Thinker server Active Reason Service · Unovie Runtime Data Triad · Kiln (02:00) sends work orders outbound Warm standby Reflex path loaded, fed a mirror of the signals Mesh Arbiter · Evidence Log writer link A link B mgmt heartbeat every 10 ms on all three
Figure 2. The two roles and their standbys. Event hand-offs and memory copies travel over the two direct links; the management network is the third heartbeat path.

4The four-server pod

The Sovereign Pod is one 3U shelf holding four compact servers, all the same model: AMD Ryzen AI Max+ 395, with processor, graphics and AI accelerator on one chip. Unovie custom-builds the pod to meet agentic performance, low-latency and high-availability requirements, and delivers it configured and tested. Because every server is the same, there is one spare-parts kit and one software image, and a replacement server sets itself up from the slot it's put in.

The four servers form two pairs. Each pair has a Reflex server and a Thinker server that stand in for each other, as described above. A pair can watch its own line or its own set of domain kits. A pod can start as one pair and grow to two without a rebuild.

The four-server Sovereign Pod Four servers in a 3U shelf, arranged as pair A (server 1 Reflex, server 2 Thinker) and pair B (server 3 Reflex, server 4 Thinker with more memory). Fast direct cables join every server to every other: a ring plus two diagonals. Each server has two 10 gigabit ports, one to the machine network and one to the site network. ONE 3U SHELF · FOUR SERVERS · DIRECT CABLES IN A FULL MESH Pair A Pair B Server 1 · Reflex Sense · Decide 64 GB unified memory cluster control Server 2 · Thinker Reason · Data Triad 64 GB unified memory cluster control Server 3 · Reflex Sense · Decide 64 GB unified memory cluster control Server 4 · Thinker Reason · more kits · Kiln 128 GB unified memory workloads only pair link pair link ring ring diagonals TWO 10 GB/S PORTS PER SERVER Machine network read-only connectors listed outputs only one owner writes at a time Site network management work orders and findings, outbound only Shared across the pod One software image · cluster control on three servers, so it survives losing any one · records copied between pair members over the direct cables
Figure 3. The four-server pod. Copies of data and the heartbeat travel over the direct cables, so the two network ports stay free for machine and site traffic.

One server

ItemWhat it isWhat it's used for
ProcessorAMD Ryzen AI Max+ 395, 16 coresGateway, rules, Reason service, the system itself
Graphics processorRadeon 8060S, on the same chipSignal fingerprints and the decision models on Reflex servers; the Reasoning Model on Thinker servers
AI accelerator (NPU)XDNA 2, about 50 TOPSReserved for small helper models once they're tested on it
Memory64 GB unified, shared by processor and graphics (128 GB on server 4)Models, the in-memory Vector Memory index and signal buffers. Memory is what we plan around most carefully.
StorageNVMe solid-state drives in three tiersA system drive; a fast drive for the live index and working data; a four-drive card for signal history and the Data Triad's archive
NetworkTwo 10 Gb/s ports, plus direct cables to the other three serversOne port to the machine network and one to the site network, so the two never share a cable

Why it's built this way

ChoiceWhy
Two Reflex/Thinker pairsEach pair can lose a server and keep deciding. Two pairs double the lines or kits one pod can carry.
Cluster control on three serversCluster control needs a majority to keep working. Three members survive losing any one; the fourth server gives all its memory to work.
More memory on server 4Room for longer reasoning context, more domain kits and the nightly Kiln. Pair B's essential work still fits a 64 GB server, so if server 4 fails, server 3 carries it and only the extras pause.
Direct cables in a full meshEvery server is one hop from every other. Heartbeats and copies of data don't depend on the site switches, and a failed cable has another path.
Separate machine and site portsThe machine network and the business network never touch on the same port, which keeps the boundary simple to inspect.
One model of serverOne spare-parts kit, one image, and any server can replace any other.
4
servers in one 3U shelf
2
Reflex/Thinker pairs
2 × 10G
network ports per server
3 of 4
servers share cluster control

5What happens, step by step

An event goes through the same steps every time. There is no language model on this path: every step is either a small, fast model with a fixed set of answers or a fixed rule, so the same input always gives the same, auditable answer.

From signal to action Five steps from left to right: Gateway reads the signal, the Signal Encoder makes a fingerprint, Vector Memory finds similar past events, the Policy and Bounds Gatekeeper applies fixed rules, then the event goes to Lane A for a direct low-consequence action or Lane B for an alarm and request to the PLC. Every decision is written to the Evidence Log and handed to Reason. DECIDE BUDGET · < 30 MS TARGET · NO LANGUAGE MODEL Read Gateway 1 ms Fingerprint Signal Encoder 8 ms Recall Vector Memory 2 ms Check rules Gatekeeper + extractor 12 ms Lane A act directly Lane B alarm + request write: 2 ms · margin: 5 ms Evidence Log signed record of the decision and why Hand-off to Reason decision + signal snippet → work order
Figure 4. The Decide path and its planning budget per step. The window of signal being judged is collected before the clock starts.
StepWhat happensBudget (target)
ReadThe Gateway receives the sample and puts it in that channel's buffer.1 ms
FingerprintWhen a window is complete, the Signal Encoder turns it into a fingerprint.8 ms
RecallVector Memory finds the nearest past events and whether they were faults.2 ms
Check rulesThe Policy & Bounds Gatekeeper applies the site's fixed rules: which outputs are allowed, limits, hold-offs. Alarm text and equipment names are picked out.12 ms
WriteThe Lane A action or Lane B request is written to its output.2 ms
MarginKept free for bursts.5 ms
Total, signal to action or request, p99 under full load< 30 ms
Lane A

Low consequence: act

Only for outputs the site has listed as Lane A, such as a reject gate, a conveyor divert or quarantining a device on the IT side. If Decide is unhealthy it stops issuing Lane A outputs: no output is the safe state.

Lane B

Safety-related: ask

Anything touching process safety. AgentMesh raises the alarm and writes a request to the PLC or safety system, which decides. If AgentMesh is silent, the PLC's own logic still runs.

Reflex Arbiter

A second opinion, after

A small decision model adds context: should someone inspect, and how urgent is it? It runs after the Lane B request has been written, so it can never slow down the alarm.

6Work orders and records

Every decision is handed to the Thinker with a short snippet of the signal. The Reason Service gathers what the site knows about that machine (its nameplate, recent events, active alarms and the last work order) from the Data Triad, and asks the Unovie Reasoning Model to write it up. The answer is checked against a fixed form before it goes anywhere.

7Getting better every night

A site's playbook holds what it has learned: which patterns mean what, which checks to run, how to word a work order. The Kiln improves the playbook, not the model.

StepWhat happens
ReplayAt 02:00 the Kiln replays the day's events and outcomes from the Data Triad.
ReflectIt looks at where the playbook was wrong or slow and proposes at most three small edits.
TestEach edit is scored on a locked set of past events that it never learns from. An edit that doesn't do better is dropped.
KeepEdits that pass are switched on and written to the hash-chained audit trail, so every change can be traced and undone.
The model weights never change on site. They are pinned by checksum, and the pod refuses to load weights that don't match. What improves is the playbook, which a person can read, review and roll back.

8Keeping data safe

AgentMesh is designed against NIST SP 800-53 controls and the NIST AI Risk Management Framework. It is not a safety function and carries no SIL rating: the PLC and the safety system remain the safety layer.

ConcernHow it's handled
Writing to the wrong thingConnectors to the machines are read-only. The pod writes only to the outputs listed in the site's output map, and only the server that owns the Reflex role may write.
Data leaving the siteNothing leaves the site except finished results the customer has chosen to send. The path to IT is outbound only.
Tampered modelsModel weights are pinned by SHA-256 checksum and checked before loading.
Services talking to the wrong serviceEvery service has its own identity. Traffic between services is encrypted with mutual TLS, and the network policy denies anything not explicitly allowed.
Knowing what happenedThe Evidence Log is append-only and signed. Every decision, action, request and playbook change can be traced to its inputs.
Losing recordsRecords are copied to the standby server, and the Data Triad takes a nightly snapshot that is copied off the active server.

9When something breaks

The Mesh Arbiter on each server sends a heartbeat every 10 milliseconds on three separate paths. If a server misses ten heartbeats in a row on all three, about 100 ms (target), the other server takes over its role.

What failsWhat happensWho handles it
The Reflex serverThe Thinker server, already warm, checks that nobody else holds the machine-side address, takes it, and resumes Decide. It keeps doing Reason as well.Mesh Arbiter
The Thinker serverThe Reflex server starts its standby Reasoning Model and intake, and keeps deciding. Work orders resume once the model is warm.Mesh Arbiter
One heartbeat pathNothing changes; the other two paths still carry the heartbeat.Mesh Arbiter
A server that comes backIt stays on standby. Roles move back only when a person decides to: there is no automatic failback.Operator
Decide itself is unhealthyLane A outputs stop. Lane B falls back to the PLC's own logic.Decision Engine
Two servers must never act at once. Each takeover raises a number called the epoch, every output carries it, and the output side refuses writes from an older epoch. The time from a Reflex failure to the survivor acting again will be measured on the bench and written into each site's agreement, together with the safe default the PLC uses in that window, agreed with the customer's controls engineer.

10Domain kits

Every kit runs on the same loop. A kit is a set of connectors, encoders, a playbook and an equipment graph for one kind of problem. Images can confirm or locate a fault, but they are never a kit's main signal. The first kit built end to end is Rotating Equipment Health.

KitMain signalLane
Rotating Equipment HealthVibration DAQ, historian tagsB (or A: slow-down request)
Leak & Energy LossUltrasonic DAQ, flow and pressure tagsB
Battery Safety FusionRead-only BMS, off-gas, thermalB
Electrical HealthPartial-discharge couplers, power-quality metersB
Test Campaign MonitorRead-only mirror of the test-rig DAQB (advisory)
Process Golden-RunHistorian and OPC UA tagsB
OT Network WatchReceive-only span portA (IT-side quarantine)
Alarm Flood TriageControl-system alarm streamB
Process Signature QAWeld and machining signaturesA (reject gate)
Document CopilotManuals, procedures, work ordersNone (no outputs)

11Glossary

AgentNexus
Unovie's rack for a fleet of sites. It runs agents that work across sites, at business speed, and never controls equipment.
DAQ
Data acquisition hardware that samples sensors such as accelerometers or microphones.
Data Triad
The pod's three stores: analytics, knowledge graph and Vector Memory archive.
Epoch
A number that goes up at every takeover, so outputs from a server that has lost its role are refused.
Evidence Log
The signed, append-only record of everything AgentMesh decided and did.
Kiln
The nightly review that improves the playbook with small, tested edits.
Lane A / Lane B
Lane A: low-consequence outputs AgentMesh may act on itself. Lane B: safety-related events, where it raises an alarm and asks the PLC or safety system.
Mesh Arbiter
The service that watches both servers and moves roles when one fails.
PLC
Programmable logic controller: the industrial computer that runs the machine and its safety logic.
Playbook
The site's readable list of what patterns mean and what to do about them.
Purdue Level 3
The site operations layer of the standard factory network model, above the controllers and below business IT.
Reflex / Thinker
The pod's two roles: the fast path that decides and acts, and the slow path that reasons and learns.
SIL
Safety Integrity Level, a rating for safety functions. AgentMesh is not a safety function and has none.
Vector Memory
An index of fingerprints of past events, used to answer "have we seen this before?" in milliseconds.