Deterministic runtime control
Research into what deterministic control can and cannot do for small AI agents: bounded steps, closed vocabularies where honest abstention is a correct answer, and claims that need witnesses.
Applied research in perception, sequence modelling, language, audio and on-device optimisation, done to put a model on a customer's hardware and keep it honest there, not to publish a chart. This page is the glossary of what we actually build with.
The lab's lead programme is a privacy-first diagnostics stack that runs entirely inside the customer's building: local models, verified training worlds, deterministic control and an edge acceleration line, developed measurement-first.
Research into what deterministic control can and cannot do for small AI agents: bounded steps, closed vocabularies where honest abstention is a correct answer, and claims that need witnesses.
Open-weight models, quantized and served on commodity hardware, fine-tuned for industrial root-cause analysis so the plant's telemetry never leaves the plant.
A data engine that turns real fault-labelled wind and solar telemetry archives and physics-grounded synthetic plants into training and evaluation worlds whose answers are checkable.
An edge co-processor line for high-throughput vector retrieval and real-time drift and anomaly monitoring, designed to sit beside a standard industrial PC.
Every capability claim passes a pre-registered evaluation with frozen gates before it ships, and the streaming-monitoring mathematics has been validated against real quantum-hardware measurement data. A research paper on the control work is in preparation: the results will be published openly as a preprint and submitted for peer review, negative findings included.
The diagnostics stack in the portfolioEach section below is a working vocabulary: the methods we reach for, what they are for, and where they are running today. Nothing here is a claim about accuracy. Every number lives in the customer's evaluation suite, not on a marketing page.
The work is turning pixels into metric structure, from a single lens or a calibrated rig, and then deciding how much of that structure to believe.
Sensor streams, sales histories and event logs are sequences first. We choose the architecture by the shape of the data and the budget of the device, not by what is fashionable.
The interesting problems are not the model but everything around it: retrieval that cites, generation that is bounded, and evaluation that catches drift before a user does.
Voice on a phone line and vibration on a bearing are the same discipline: front-end signal processing that decides what the model gets to see.
Detection is the easy half. Keeping identities across occlusion, across cameras and across a night of footage, inside a fixed millisecond budget, is where the engineering lives.
A model is not finished when it trains; it is finished when it runs within the thermal, memory and latency envelope of the device, unattended, for years.
Every model we ship crosses the same five stations. The order matters: nothing is quantised before it is profiled, and nothing is promoted before a held-out evaluation says the compressed model still does the job.
Layer-level latency and memory on the actual target, under the actual input distribution, with the thermal state logged alongside.
Structured pruning of channels and heads, then knowledge distillation from the full model into the smaller one, so capacity is removed where the profile says it is idle.
Post-training quantisation with representative calibration data first; quantisation-aware training only where INT8 or FP8 costs accuracy the evaluation will not forgive.
Graph fusion, operator selection and engine build per device and precision: ONNX to TensorRT, or a compiled runtime where the target has no GPU at all.
The compressed model re-runs the full held-out evaluation, event-clustered and base-rate-adjusted; a regression anywhere sends it back a station.
Every experiment includes the boring baseline: seasonal-naive, a linear model, last year's architecture. A new method ships only when it beats the baseline on held-out data across seeds, reported as a mean with its spread.
Thresholds, metrics and the definition of a pass are written down before the run. A result that needs the rules changed afterwards is a finding about the rules, not a success.
Simulated scenes, rendered sensors and generated edge cases fill the gaps real data cannot, and every synthetic result is confirmed against a real capture before it counts.
Weights, training code, evaluation harnesses and traces are delivered into the customer's repositories and hardware. We keep the method; you keep everything it produced.
We publish methods and the occasional write-up when a customer agrees. We do not publish accuracy numbers on this site: they depend on data we do not own, and a number without its evaluation protocol is marketing.
Usually yes. The first step is an evaluation harness around what you already have (a baseline we can both trust) and only then a proposal for what to change.
Whatever the system has to live on: Jetson-class edge devices, workstation GPUs, air-cooled racks and, where there is no GPU, compiled CPU runtimes. The optimisation bench exists so the same model can be made to fit each of them honestly.

Describe the signal, the device and the decision it has to support. We will tell you which of these methods apply, what a baseline would look like, and what we would want to measure first.
Talk to the lab