Here is a morning we have seen, in some version, at almost every plant we work with.
It is the second day of the month at a renewable natural gas facility, and the compliance lead is closing last month's numbers. One of them won't close. The plant's energy balance, the share of incoming biogas energy accounted for as sales gas, flare or thermal oxidizer, is short by a few points.
Finding out why takes the rest of the week. The flare flow meter stopped reporting for nine hours in the middle of the month. Nothing downstream broke, so nobody noticed. The historian recorded nothing for those hours, the spreadsheet added up what it had, and the total came out low. The report was due on Friday.
None of this is unusual, and it isn't caused by too little data. The plants we work with send Rimba more than 15 million sensor readings a day. Reports go wrong in the exceptions: a meter that goes quiet, a lab certificate in a layout nobody has seen before, a tag renamed during a control system upgrade. Each one is small, and each one can put a wrong number into a signed report.
We built Rimba around three ideas about how to stop that.
The hard part is the exceptions
Industrial data comes in two forms. Signals are the time series from meters, analyzers and control systems. Records are the documents around them: invoices, bills of lading, lab certificates, sustainability declarations. A reported number usually depends on both, such as a meter total checked against a delivery ticket, so we read them together.
On the signal side, Rimba looks for gaps continuously instead of waiting for month-end. So far it has detected about 338,000 gaps automatically, from a few minutes of dropout to multi-day outages. In our example, the silent flare meter becomes a flagged gap during the month, while there is still time to deal with it.
On the record side, our Evidence Intelligence models read layout before language. They recover the structure of a scanned page, find the fields that matter for that document type, and link each extracted value to where it sits on the page. When a document doesn't match a type we support, or a field can't be read with confidence, it goes to a person instead of into the report. A system that refuses to guess is less impressive in a demo and much more useful at audit time.
AI on plant data has to compute, not guess
Language models are not reliable at arithmetic over long runs of numbers. Give one a week of one-minute meter data and you will get a fluent summary with the wrong totals.
Agentic Time-Series Reasoning (ATR) works differently. The agent doesn't read the readings. It writes and runs code against them: it totals flows, checks for gaps, and compares a meter against the instruments around it. It then reasons over the results of those calculations, which are exact.
For the flare meter, that means working out what is known around the gap: how much gas came in, how much went to sales and to the oxidizer, and what the meter read before and after. The team then decides how to fill the gap, and Rimba records the substitution, including the method, who made it and when. About 130,000 gaps have been resolved this way so far, each with its own record.
A number is only as good as its trail
The energy balance looks like one percentage. Underneath it are 16 calculations and 11 field instruments (flow meters, gas chromatographs and analyzers), evaluated every minute.