Manufacturing Execution System (MES). MES is manufacturing execution: dispatch, data collection, genealogy, and completion against released work orders. It is the floor’s system of record for what ran — not planning, not the badge master, not the PLC scan loop.
In industry this is Apriso / Wonderware / Opcenter-class MES capability. In N23D it is not a seat next to someone else’s stack. It is a peer module on one native Rust binary — N23D — 100% Rust we write.

Same product. The badge is a Person from BUS. The work order is ERP. The body is CAD/PLM. The cell AssetId is TIX. MES does not invent part numbers or a shadow roster. A complete is a record on that identity, not a whiteboard wiped at shift change.
What MES actually does
- Work-order download, dispatch, and sequence from the ERP work order, the PLM process-plan snapshot, the CAM packet, and Materials lots. Electronic work instructions from that frozen plan. Dispatch, queue, setup checklist, start and stop, overlap, split and merge.
- Material consume and produce with lot and serial. Genealogy and as-built, forward and backward. This cracked housing came from heat H. Each serial traces to incoming lots. ERP quantity matches.
- Labor and machine booking. Badge resolves to a person through BUS. MES does not own an employee master. Secrets such as SSN never ride on the badge payload.
- SPC and in-process checks as data. Spec limits may come from PLM or QMS. MES stores the measurement. Out of spec raises a nonconformance in QMS and MES holds the unit. Probe results belong with quality evidence, not inside a G-code comment.
- DNC and program download to CNC from the CAM packet, and recipe download to the PLC. Verify result is a gate. PLC interlock false means MES will not start the step.
- Equipment state, OEE, downtime reason. State machine: running, idle, down, setup, starved, blocked. Machine down reason rolls into OEE. Shop simulation can read the prior. OPC-UA and MTConnect ingest from PLC and CNC, as Rust clients.
- Maintenance work requests at execution. A CMMS plan may sit here or in ERP. Spare parts come from ERP inventory.
- WIP inventory between operations: point-of-use bins, kit, WIP stands. The site warehouse is ERP.
- eDHR and batch-record assembly payload. QMS owns the signed-record rules. MES captures what happened. QMS says whether we may claim the product is good.
- A work order and every lot consume and produce live in one LegalEntityId. Cross-entity consume requires an intercompany receipt first. MES does not edit the process plan. Hold plus redline request goes to PLM change.
- 100% Rust we write. No Opcenter or FactoryTalk runtime.

How N23D puts this in one place
Most stacks fail the day after save, when the model, the ticket, or the invoice becomes someone else’s import. N23D removes that day. This module reads the same record as the others.
- one native Rust binary: N23D. 100% Rust we write. No vendor kernel, ledger, PLC runtime, HRIS, or ITSM as the source of truth. File readers and protocol bridges are interchange.
- One identity plane: Item, VariantId, Person, and AssetId are global. Invoice, work order, inventory, quote, pay result, and NCR sit on a LegalEntityId.
- One digital thread: modules read the same record. There is no daily STEP shuffle as the workflow. Check-in is PLM save. CAM does not fork the body.
- Command::Core is the identity and policy plane. CCB is the full-spectrum change spine (not a second vault). TIX holds operational life of assets; ERP sees only the financial view.
- Materials only from MAT. CAD selects VariantId. Missing density means mass is unknown — we do not invent a number so a BOM or plot closes.
- ERP is one company’s books. BUS holds HR, org, legal entities, and group consolidation. HoldCo is not a plant. No fake Form 1120. No fake Lohnsteuer.
- Recipe and cycle-allowed interlocks come from TIX softPLC/OPC-UA. MES does not poke raw memory.
- Genealogy lives in MES; quantity lives in ERP; NCR disposition lives in QMS — shared lot/serial identity.
- A slip is visible to PLM, PMO, and the cell. It is not a status meeting.

What we will not fake
This is the product promise, not a claim that every solver and every pack already ships in the binary today. Industry-class names below are capability equals. They are not products we ship.
- We do not ship a shop-floor custom that syncs to ERP at midnight.
- MES does not own Person. No fake time-and-attendance tax theater. No fake Lohnsteuer.
- MES is not MRP and not softPLC scan-rate control.
If MES still keeps a shadow roster and a shadow part number, we failed. The floor and the ledger name the same thing.
Natively connected, not glued together
N23D runs one data model across design, make, operate, and the business. Nothing is exported as the daily path. Nothing is re-keyed. Nothing is lost in translation between vendors.
- One data model. A part, an order, a nonconformance, a ticket, and a change point at the same objects. No mapping tables, no nightly sync, no drift.
- No export/import loss. Geometry, tolerances, revisions, asset state, and history stay intact because they never leave the system as the daily path.
- Auditability by default. Every change is versioned and attributable, so traceability is a query, not a project.
- Speed. 100% Rust: native performance, small footprint, no runtime surprises.
- Sovereignty. Your data, your infrastructure, your rules. No lock-in.
