The model never does the arithmetic.

Every number in a report comes from a tested, deterministic function. The language model is handed those results and writes the narrative — it cannot compute a severity, move a threshold or invent a frequency, because it is never asked to. The same functions run whether or not a model is involved, so the numbers are identical either way.

The order is fixed

Not chosen per file, not decided by a model. The same six steps in the same order, every time, so two runs of one file cannot disagree.

  1. Quality gate — first, always

    Is this data good enough to diagnose from? Sample rate, resolution, saturation, whether the machine was actually running. A gate failure ends the analysis: the only valid output is an insufficient-data report that names exactly what to re-collect. No diagnosis is made before the gate passes.

  2. Machine context and ISO classification

    Overall vibration velocity against the ISO 20816-3 zone boundaries for the machine's group and support — A good, B acceptable, C unsatisfactory, D unacceptable. Severity in the report is anchored to that zone, never to a model's adjective.

  3. Trend, when there is history

    A regression through the machine's own readings, and a projection to the next zone boundary. With one reading there is no trend, and the report says so rather than implying one.

  4. Bearing fault identification

    Fault frequencies are computed from the named bearing's geometry and the shaft speed — not looked up, not remembered — then matched against the peaks actually present. A match becomes a committed finding, or a differential candidate — something the evidence allows but does not establish — or nothing at all.

  5. Synthesis

    Findings across the layers are reconciled into one committed differential: the calls we stand behind, plus the candidates the interaction rules suppressed, each with the reason it was suppressed. Confidence is a computed grade — high, medium or low — from a weighted rubric of evidence factors, and the factors are printed.

  6. What to measure next

    Whenever the evidence cannot settle the differential, the report names the measurement that would. The same channel carries the gate-failure case: bad data in, a specific list of what to re-capture out.

Each step is one tested module, and the record of what they score against real laboratory data — including every miss — is on the validation record.

What it declines to do

Two of the five analysis layers stand down on a single uploaded file, and the report says so under Limitations rather than quietly reporting nothing:

Three guards that stop it guessing

Most of what makes a diagnostic tool trustworthy is what it refuses to say. These three were added because each removed real false positives without costing a true one — on the MAFAULDA healthy files, clean reports went from 1 in 10 to 6 in 10.

These guards cost recall as well as buying precision, and the validation record states both sides: the four CWRU misses are all one weak-signal fault condition sitting below the floor, and that is written down rather than explained away.

Then a person signs it

The draft is checked claim by claim against the computed result before the report issues. If the drafting pass is unavailable, the deterministic report ships anyway with a visible note — a job degrades to fewer words, never to different numbers. Every report is marked DRAFT and carries a signature block, because a condition assessment is not certified until a qualified analyst says it is.