Technology and Infrastructure (TIX). TIX is the operating plant and the IT that runs it: tickets, enterprise architecture, ITAM/CMDB, SCADA, PLC cells, networking, and maintenance on machines, facilities, and software. It is where AssetId operational life lives — locate, maintain, ticket, monitor, retire.
In industry this is ServiceNow / Maximo / Rockwell-SCADA-class capability across IT, OT, and maintenance (capability equals, not products we ship). You are not buying those vendors side by side with a cable spreadsheet. You are replacing the stack on one native Rust binary — N23D — 100% Rust we write.
A laptop, a press, a building chiller, and a PLC rack are assets on the same identity plane. A ticket can name the asset. A maintenance work order can name the same asset. SCADA tags hang off that asset, not a private tag dictionary in a vendor HMI. CMDB-only IT and CMMS-only maintenance fail because the cell that cuts is the same world as the switch that carries its traffic.
What TIX actually does
TIX has three faces that share AssetId. They are not three products glued by CSV.
- IT: enterprise architecture, service catalog, incidents/requests/problems, ITAM, CMDB-class configuration items as AssetId records, identity of software installs and endpoints, network configuration hung on assets (not a drifting Visio).
- OT: SCADA tags, softPLC projects, cell I/O, robotics handshakes, industrial networking. SoftPLC languages and I/O stacks are ours in Rust. Vendor PLC files are interchange after ingest. OPC-UA information model we own — MES sees published tags, not raw memory.
- Maintenance: preventive and corrective maintenance on machines, facilities, and software assets. Work orders that name AssetId. Spare relationships. Downtime that PMO and MES can see without a shadow spreadsheet.
- Asset definition is global. Item/VariantId stay product. Person stays people (BUS). AssetId is the instance you keep alive. ERP sees depreciation and cost center per LegalEntityId — financial view only.
- Machine and control tags belong to a LegalEntityId (the plant’s company). Control projects vault in PLM as item revisions when they are productized; live operational state stays TIX.
- No SIL claim in v1 PLC/control safety. IEC 61508 / ISO 13849 are a later, separate safety crate. Honesty about control safety is part of the contract.

What OT control (softPLC) actually does
- IEC 61131-3 Edition 4 languages: Structured Text, Ladder, Function Block Diagram, Sequential Function Chart. Instruction List is removed from the standard. We do not implement it.
- Program organization units: programs, function blocks, functions, and the object-oriented subset we choose to support. Tasks: cyclic, event, free-running, with watchdog. Scan time is a contract. Allocations on the hot path are forbidden. The cycle crate is no_std-capable.
- I/O: digital, analog, motion axes. Retain and persistent. I/O image table. Bus drivers as isolated crates. Fieldbus: at least Modbus TCP plus one realtime bus (EtherCAT or EtherNet/IP) on the first-ship roadmap.
- OPC-UA server with an information model we own. Tags MES sees are published through OPC-UA. MES does not poke raw memory. Methods include load-recipe and allow-cycle, consumed by MES. Unauthorized recipe write is refused.
- Online change and download with bounded disruption. ISA-88 phase and recipe hooks for batch cells. SoftPLC on our industrial PC, and a portable runtime for the lab.
- Structured Text compiler first, because we can test it. Ladder and function-block diagram as front-ends to the same IR. Sequential function chart as a state-machine IR. Cyclic executor, task schedule, watchdog, retain to NVRAM or file, hot-apply bounds.
- Commissioning: I/O force, trend, online watch, source-to-IR debug map. Watchdog trip safe-states outputs.
- Acceptance bar: a 10 ms task, a thousand BOOL and a hundred REAL, jitter within a documented bound on a stated CPU. An ST program compiled and matched to a hand oracle for timers, counters, and a PID step.
- Machine and PLC tags belong to a LegalEntityId, the plant’s company. The control project is vaulted in PLM as an item revision.
- ERP has nothing at scan rate. Planning does not live on the PLC.

IT, OT, and maintenance on one AssetId
- Incident ticket → AssetId → optional CCB change when the fix alters configuration.
- Maintenance WO → AssetId → labor is a BUS Person; cost posts to ERP on LegalEntityId.
- SCADA alarm → AssetId → MES may hold a cell; QMS may open NCR if product is affected.
- Network port and PLC rack are assets. Cable plant is configuration on assets, not a tribal spreadsheet.
- Retirement and spare cascade update the same AssetId history ERP never owned.

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.
- TIX is where operational life lives. ERP only holds the financial view of assets.
- MES completes production on the cell; TIX keeps the cell itself honest.
- CCB authorizes IT/OT/facility changes that cross domains; TIX still holds asset state.
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 ServiceNow, Maximo, CODESYS, TwinCAT, or a PLC vendor runtime as the product.
- File readers and protocol bridges are interchange. Networking is configuration on assets, not a Visio that drifts.
- We do not claim SIL or PL by shipping Structured Text. Safety certification is not first ship.
- We do not replace a Fanuc or Siemens CNC kernel inside the mill. We do not run MRP on the PLC.
If the ticket, the work order, and the SCADA tag still disagree on what the asset is, we failed. One AssetId.
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.




