Praxis
From design intent to a signed commissioning package.
Give Praxis a design package and a model of the line it will run on, and it returns one signed artifact: the control logic, the setpoint windows, the motion programs, the coverage on every parameter, and the record of everything it assumed. Or it returns nothing, and names what it was missing.

The contract, both ends.
Reference vertical is footwear, high-mix low-volume — the segment where the cost of commissioning a new SKU dominates and the trial is a production run nobody wanted.
The artifact is specified before the engines.
Until the shape of the emitted artifact is fixed, the generation layer has no defined contract to build against. So the output was designed first, and everything upstream is constrained by it.
Seven layers. The feedback path is what makes the second SKU cheaper.
Ingestion normalizes heterogeneous inputs into one graph; the physics core solves; the generators emit; the assembler seals. Twenty-one engines sit inside these layers, each with one job and one output contract, so any of them can be swapped without disturbing its neighbours.
Three of these stages can refuse.
A blocked run that names a missing adhesive data sheet is a better product than a completed run that guessed at cure kinetics. The gates are the architectural expression of that.
The engine register.
Twenty-one engines across seven layers, plus three cross-cutting services. Listed in full because an architecture you cannot audit is an architecture nobody can disagree with.
What is actually in the package.
Every submodel is independently extractable; the signature covers the whole package. What is missing from it is stated at the same size as what is in it.
The product surface.
The engines above are the backend. This is what a controls engineer actually touches, and why each piece of it earns a place in the first version.
Draft 1 is a proposal, not a settled design.
These are the parts that need resolving before the next draft, stated rather than smoothed over.
PLCopen XML solves PLC logic portability. There is no confirmed neutral equivalent for stitch-jig pattern files or knit-machine strand programs — these appeared machine-native in every source reviewed. Draft 1 assumes a per-vendor adapter, and that assumption needs testing against real machine vendors.
The architecture assumes an AutomationML line model exists. Most footwear plants will not have one. Who builds it, how long it takes, and whether Praxis needs a twin-authoring mode is unresolved and materially affects time-to-value.
E3 blocks on a missing TDS. If adhesive and compound coverage is thin in the target segment the gate fires constantly and the product feels obstructive. This needs a survey before the strictness of that gate is committed to.
Deliberately. The cutting station already has a mature closed CAD-to-machine path. Praxis treats the nested cut file as an input that passes through, not an output it generates.
Full virtual commissioning at gate 09 may dominate total runtime. Whether it runs on every solve or only on release candidates is a product decision with real consequences for how the tool feels.
