Engine oil temperature. Diagnostically distinct from coolant temperature and routinely confused with it, because several fleet APIs expose both under similar names and one of them is often absent. The corpus keeps them apart explicitly rather than letting a nearest-neighbour match collapse them.
vehicle.engine.oil_tempEach of these is a real tag as the device or controller emits it, taken from the Forge mapping corpus. This is the table that does not exist anywhere else — the reason cross-vendor telemetry is hard is visible in a single column.
| OEM / profile | Raw tag as the device emits it | Confidence |
|---|---|---|
| Caterpillar | SPN_175 | 1.00 |
| Cummins | SPN_175 | 1.00 |
| Detroit Diesel | SPN_175 | 1.00 |
| Freightliner | SPN_175 | 1.00 |
| John Deere | SPN_175 | 1.00 |
| Kenworth | SPN_175 | 1.00 |
| Mack Trucks | SPN_175 | 1.00 |
| Navistar / International | SPN_175 | 1.00 |
| PACCAR | SPN_175 | 1.00 |
| Peterbilt | SPN_175 | 1.00 |
| Volvo Trucks | SPN_175 | 1.00 |
Every row above is an exact match — a deterministic pack entry or a confirmed corpus mapping — so all of them carry confidence 1.00. That is not a rounding: these are the two exact-match layers, and a tag that resolves here never reaches the embedding or LLM layers. Mappings resolved by the LLM layer do carry sub-1.0 confidence, but those are per-tenant and are not published here.
The canonical field is not just a name. It is a contract about units, sign convention and plausible range, enforced on the way in and re-checked at read time.
| SI / canonical unit | unitless (identifier or enumeration) |
| Physics bounds | -40 to 215 |
| Measurement type | instantaneous |
| Distinct source tags in the corpus | 7 |
No mapping table to maintain, and no per-vendor branch in your code. The same request shape works for every OEM in the table above.
Read alongside this one.
vehicle.engine.oil_pressure vehicle.turbocharger.rpm vehicle.dtc_description spindle_speed_rpm spindle_load_pct