MIXED FLEET · CROSS-VENDOR NORMALIZATION
16,908 confirmed mappings·18 OEM families·366 canonical fields·30-second setup
One machine is an integration. Five hundred machines from eight manufacturers is a translation problem. Forge collapses every OEM dialect into one schema your agent already understands.
Paste telemetry from any two machines and see them come out as the same schema. No POC required.
A frontier model can read one machine's raw telemetry unaided. Point it at a Fanuc dump and it will work out that SpindleSpeed is an RPM. That is not the hard part, and pretending otherwise insults the reader.
The hard part starts at machine number two. Eight OEMs on one floor means eight naming conventions, three unit systems and no shared notion of what "load" means. Spindle load is a percentage on a Haas, an amperage on an older Okuma, and a torque ratio on a Siemens Sinumerik. An agent asked to rank your worst-performing machines is now comparing percentages against amps and calling the answer analysis.
Roughly 70% of installed manufacturing equipment is 20+ years old, so the fleet you actually own is a museum of naming decisions made by people who never expected an LLM to read them. And 58% of industrial AI project resources go to integration before a model touches a single machine — which is a large part of why 40% of agentic AI projects will be cancelled by 2027 and 88% of AI pilots never reach production.
Forge maps raw vendor tags onto 366 canonical fields. Four machines, four vendors, four dialects, one output shape:
| Raw tag in | Canonical field out | Where it came from | |
|---|---|---|---|
| haas Q600_1: 3400 | → | spindle_speed_rpm: 3400 | Next Gen Control Q-variable |
| fanuc SpindleSpeed: 3400 | → | spindle_speed_rpm: 3400 | FOCAS / MTConnect stream |
| siemens DB21.DBD40: 3400 | → | spindle_speed_rpm: 3400 | S7 data block offset |
| mazak S_ACT: 3400 | → | spindle_speed_rpm: 3400 | SmoothX actual spindle |
Your agent writes one query against spindle_speed_rpm instead of four adapters against four vendors. That is the entire value proposition, and it only shows up at fleet scale.
Curated corpus → embedding match → LLM research → physics validator → signal classifier. Each layer only sees what the one above it could not resolve, so the common case never pays for the hard case.
Rate-of-change, stuck sensor, dropout, operating mode, correlation and confidence decay. A frozen sensor reading a plausible number is caught before your agent acts on it.
A tag resolved once by the LLM is cached, confirmed after 5 uses, auto-packed at 10, and served from Layer 1 forever after. Novel-tag cost is per new tag, not per call — it trends to zero as the fleet stabilises.
Fields below the confidence floor return unmapped rather than force-fitted. An agent acting on a confidently wrong mapping is worse than an agent that knows it is missing a field.
No SDK, no per-tag mapping table, no historian project. Same call for every manufacturer — only the oem hint changes, and it is optional:
Unknown manufacturers still normalize. The vertical gate disables itself when the OEM is unrecognised, so you get clean fields on day one and higher-confidence mappings once you pass oem and model.
Longer-form writing on industrial AI infrastructure by Foundry Labs.