Agentic4PDM: Host-Governed Evidence Admissibility for Industrial Fault Diagnosis
Organizations: FPT Corporation · Independent Researcher · Aalborg University
Abstract
We study industrial fault diagnosis as a classification task that assigns sensor time-series windows to predefined health states or fault types. Scarce labels and changing operating conditions make repeated training of specialized classifiers costly. Yet structures such as periodicity, trends, and transients can remain diagnostically informative and be examined through reusable analytical tools. LLM agents can select and interpret these tools, but fixed rules or training-derived guidance may not resolve each signal's ambiguity, while unconstrained interpretation may overstate weak or conflicting results. We introduce Agentic4PDM, a framework that separates adaptive investigation from control over evidence use. LLM agents compare each signal with labeled references from every candidate class, identify unresolved distinctions, and propose follow-up measurements. A deterministic software controller, called the host, enforces contract-checked gated adjudication (CCGA): it checks requests, requires commitment to a complete tool batch before results are observed, and assigns evidence roles based on tool checks against labeled references. These roles distinguish corroborative support from advisory information. The Judge Agent proposes a diagnosis, while the controller checks protocol compliance and records the investigation. Agentic4PDM supports training-free diagnosis using pretrained representations and labeled references without task-specific diagnostic models, and a standard setting that additionally investigates trained-model predictions. Experiments on selected bearing and motor diagnosis challenges and an unfiltered industrial test set supplied by our customer show gains in aggregate macro F1 over the evaluated diagnostic and agentic baselines. Ablations further support the value of the governed workflow.
Figures & tables
| Enabled mechanisms | Performance (%) | ||||||
| Variant | CB retrieval | Analyst reports | Request gate | Packet & influence gate | Finali- zation | ACC | F1-M |
| A1 Full workflow | ✓ | ✓ | ✓ | ✓ | ✓ | 47.24 | 38.54 |
| A2 Global top- | ✗ | ✓ | ✓ | ✓ | ✓ | 37.20 | 29.89 |
| A3 No Analyst reports | ✓ | ✗ | ✓ | ✓ | ✓ | 46.35 | 37.72 |
| A4 Ungoverned | ✓ | ✓ | ✗ | ✗ | ✓ | 36.31 | 30.53 |
| A5 No request gate | ✓ | ✓ | ✗ | ✓ | ✓ | 39.96 | 33.35 |
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Group | Method | Baseline-Failure Hard (BFH) | Geometry-Stratified Response-Stability (GRS) | AVG | |||||||||||||
| UO | PU | MCC5 | UO | PU | MCC5 | BFH | GRS | ||||||||||
| ACC | F1-M | ACC | F1-M | ACC | F1-M | ACC | F1-M | ACC | F1-M | ACC | F1-M | ACC | F1-M | ACC | F1-M | ||
| ZARA [ 39 ] | 45.00 | 39.30 | 39.00 | 40.31 | 35.00 | 24.90 | 63.43 | 65.26 | 41.94 | 43.23 | 47.66 | 44.22 | 39.67 | 34.84 | 51.01 | 50.90 | |
| Agent | FETA [ 55 ] | 34.00 | 32.32 | 36.00 | 33.84 | 17.00 | 17.65 | 53.73 | 53.46 | 35.21 | 30.79 | 38.02 | 36.90 | 29.00 | 27.94 | 42.32 | 40.38 |
| Ours | Agentic4PDM (TF) | 63.00 | 62.12 | 44.00 | 42.30 | 42.00 | 40.73 | 81.52 | 81.40 | 47.68 | 40.78 | 50.69 | 50.14 | 49.67 | 48.38 | 59.96 | 57.44 |
| Method | MCC5 | PU | UO |
| Flat source plurality | 48.26 | 28.45 | 85.00 |
| Agentic4PDM | 54.09 | 37.90 | 87.38 |
| Tool (selected on) / method | ToolCard / scoring | MCC5 | PU | UO | Mean |
| Windowed profile (MCC5) | quant_windowed_profile_windows_16_amplitude_l1 | 36.15 | 35.22 | 30.17 | 33.85 |
| Crossing-run statistics (PU) | quant_crossing_run_statistics_q50_js | 22.89 | 37.94 | 16.73 | 25.85 |
| Distribution KS (UO) | quant_distribution_ks_raw | 31.78 | 32.78 | 60.02 | 41.53 |
| Agentic4PDM | Saved class | 52.93 | 38.54 | 86.12 | 59.20 |
| Method | Time (s) | Input (k) | Output (k) | Total (k) | LLM calls |
| FETA | 1,078.59 | 68.05 | 4.62 | 72.67 | 8.0 |
| ZARA | 98.20 | 5.11 | 2.72 | 7.83 | 4.0 |
| Agentic4PDM (standard) | 1,645.79 | 89.88 | 12.48 | 102.36 | 17.4 |
| Dataset | Classes | Train | Fault generation / setting | Operating conditions | Rate (Hz) |
| PU [ 36 ] | 3 | 150 | Real bearing damage from accelerated lifetime tests | Condition 0: 900 rpm, 0.7 Nm, 1000 N. Conditions 1–3: 1500 rpm with torque/radial-load pairs 0.1 Nm/1000 N, 0.7 Nm/400 N, and 0.7 Nm/1000 N. | 64,000 |
| UO [ 25 ] | 3 | 150 | Inner-/outer-race defect specimens; fabrication method not specified in the source description | Time-varying speed: A, increasing; B, decreasing; C, increasing then decreasing; D, decreasing then increasing. | 200,000 |
| MCC5 [ 8 ] | 4 | 200 | Laboratory motor measurements with rotor, electrical, and bearing fault configurations | Frozen scored pool: 20 Nm at 1000, 2000, and 3000 rpm (Conditions 0–2). | 12,800 |
| Bel | 2 | 20 | Bearing vibration supplied by our customer; binary normal/abnormal labels, with damage type unspecified | - | – |
| (a) Bearing diagnosis | |||||
| Dataset | Challenge | Total | Healthy | Inner-race | Outer-race |
| PU | BFH | 100 | 34 | 33 | 33 |
| GRS | 906 | 205 | 487 | 214 | |
| UO | BFH | 100 | 34 | 33 | 33 |
| GRS | 763 | 197 | 221 | 345 | |
| Model / backbone | Prediction / reasoning approach |
| (a) Deep learning Evaluated baselines | |
| CNN-TCC [ 18 ] QCNN [ 41 ] WDCNN [ 66 ] | Neural classifiers |
| (b) Foundation models Evaluated baselines | |
| Moirai 1.1 R Large [ 59 ] Moirai 2 Small [ 42 ] Chronos-2 [ 3 ] Chronos-2 Small [ 3 ] | Fixed representations with KNN, SVM, or XGBoost (12 combinations), following MOMENT’s representation-plus-SVM evaluation [ 22 ] , StarEmbed’s fixed-embedding evaluation [ 37 ] , and the broader embedding comparison [ 27 ] . |
| (c) Agentic methods Evaluated baselines | |
| FETA [ 55 ] | Training-set channel ranking, DTW exemplar retrieval, and channel-level LLM reasoning with confidence-based aggregation. |
| Protocol item | Setting |
| Labeled reference pool | 50 samples per class: 150 each for PU and UO (3 classes), and 200 for MCC5 (4 classes) |
| Query sample | 2048 observations, non-overlapping, using all available dataset channels |
| Component | Setting | Value |
| (a) Language model | ||
| Model and access | Qwen3.6-27B vision-language model, served locally through an OpenAI-compatible endpoint; the same model serves every agent role | |
| Decoding | Temperature 0, top- 1, top- , presence penalty 1.5, seed 0 | |
| Extended thinking | Enabled for the analysis and synthesis roles, 512-token budget | |
| Output limit | 38,048 tokens per request | |
| Images | At most 10 per request, longest side 1400 px | |
| Optimizer | Schedule | Architecture | ||||||
| Algorithm | Learning rate | Epochs | Batch size | Bearing (3 channels) | Motor (8 channels) | Common | ||
| Adam | 0.9 | 0.95 | 100 | 128 | First convolution: kernel 16, stride 2 | First convolution: kernel 8, stride 1 | 64 final channels; dropout 0.35 | |
| Group | Setting | Value |
| (a) Foundation-model representations | ||
| Backbones | Moirai 1.1 R Large, Moirai 2 Small, Chronos-2, Chronos-2 Small, all frozen | |
| Embedding | Mean pooling, per-dimension feature scaling, context length 2048, patch size 32, batch size 100 | |
| (b) Classical heads on those representations | ||
| KNN | , uniform weights | |
| SVM | RBF kernel, , | |
| System | Method-specific workflow | Retrieval and prompting | Common configuration | Reported comparison |
| FETA [ 55 ] | Channel-level reasoning: ranks channels, compares retrieved exemplars, and aggregates per-channel judgments with confidence scores. | Channel ranking from the labeled reference bank; DTW exemplar retrieval; a per-channel comparison prompt; and deterministic confidence aggregation. | Qwen3.6-27B; deterministic decoding; frozen manifests; class-balanced reference bank; common resource limits. | Evaluated on the common BFH/GRS task, split, manifests, reference data, and scoring procedure. |
| ZARA [ 39 ] | Feature-guided reasoning: combines pairwise feature knowledge with hierarchical selection, candidate pruning, and decision synthesis. | Frozen-encoder, class-wise retrieval; pairwise feature-importance knowledge; feature-selection and decision prompts; and candidate pruning. | Qwen3.6-27B; deterministic decoding; frozen manifests; class-balanced reference bank; common resource limits. | Evaluated on the common BFH/GRS task, split, manifests, reference data, and scoring procedure. |
| Symbol | Meaning |
|---|---|
| Inputs and reference retrieval | |
| Query multivariate time-series sample supplied for diagnosis. | |
| Immediate predecessor of the query sample, available only through one-step temporal context. | |
| Numbers of observations and sensor channels in one sample, respectively. | |
| Diagnosis-label set, its number of classes, and a generic candidate class. | |
| Labeled training set (the reference pool) and its number of samples. | |
| # | Property | What it describes |
|---|---|---|
| 1 | amplitude_distribution_match | How the signal’s amplitude values are spread, i.e., the shape of their histogram. |
| 2 | severity_or_offset_distribution_shift | Whether the amplitude values are shifted, widened, or offset as a whole. |
| 3 | global_summary_match | Whole-sample summary statistics such as level, spread, and peakiness. |
| 4 | global_severity_or_impulsiveness | How strong and how spiky the signal is over the whole sample. |
| 5 | local_ordering_dynamics | The order in which neighbouring values rise and fall. |
| 6 | scale_invariant_local_shape | Local rise-and-fall patterns, regardless of amplitude and time scale. |
| ToolCard | vibration_1 (high) | phase_current_1 (high) | phase_current_2 (medium) | Winning class | Step 1 |
| Fractal scaling | 0 | 0 | 2 | Class 0 | Usable |
| Local extrema | 2 | 2 | 0 | Class 2 | Usable |
| Autocorrelation | 0 | 2 | 1 | None | Excluded |
| Sample | ToolCard | Class-0 control | Class-1 control | Class-2 control | Role | |
| 106619 | Autocorrelation | 0 | 1 | 2 | 1 | Corroborative |
| 107665 | Fractal scaling | 0 | none | none | 0 | Advisory |
| Action | Purpose and constrained request interface |
| compare_normal compare_abnormal | Re-check the normal-region overlay or the abnormal pairwise evidence. Request task_objective and judge_feedback ; the abnormal action may additionally bound target_classes . |
| view_image | Load one previously supplied figure for next-turn close inspection. Request image_path . |
| run_sandbox | Optional same-transform, full-sample comparative measurement. Request task_objective , sandbox_request , and metric_spec ; configurations that isolate the registered quantitative library disable this action. |
| select_quantitative_tools | Declare the unresolved properties ; the Host returns the offer from the 25 default ToolCards (Declare and Offer, Section 3.5.1 ). |
| run_quantitative_tools | Commit a batch from the offer; the Host checks the request conditions and then runs it (Commit and Execute, Section 3.5.1 ). |
| finalize | Propose one terminal class decision. It must be standalone and include the Host-required fault-screen contract. |
| Family | Registered purpose |
| savgol | Light polynomial denoising that preserves local waveform shape. |
| median | Suppress isolated impulses without averaging their amplitude into neighbors. |
| ewm | Track a smooth causal-style local level with bounded lag. |
| median_mean_ewm | Extract a slow robust trend from mixed impulsive and broadband noise. |
| lowpass | Remove high-frequency content while avoiding phase shift. |
| Tier | Assigned when |
| high | The channel is a primary discriminator: it shows transient bursts or impulses, a clear envelope change, a region marked as deviant, or class-separating structure whose removal would change the class ranking. |
| medium | The channel is useful but secondary: it gives operating context, such as load or phase-current behavior, or a weak deviation that supports but cannot settle the class. This is the default tier for a kept channel. |
| low | The channel carries weak but real class information and serves only as tie-break support. |
| removed | The channel shows no visible class information. |
| ID | Selectable ToolCard | Fixed configuration | Measurement purpose |
|---|---|---|---|
| T01 | quant_autocorrelation_lags_128_pearson | max_lag=128; similarity=pearson | Compare periodic recurrence across lags without requiring cycle-phase alignment. |
| T02 | quant_autoregressive_coefficients_order_8_l1 | order=8; similarity=l1 | Compare short-memory linear dynamics using regularized autoregressive coefficients. |
| T03 | quant_cepstral_shape_quefrency_128_pearson | max_quefrency=128; similarity=pearson | Compare repeated spectral spacing over normalized quefrency bins. |
| T04 | quant_crossing_run_statistics_q50_js | similarity=js; threshold_quantile=0.5 | Compare threshold crossings, run lengths, and state persistence. |
| T05 | quant_detrended_morphology_linear_residual_pearson | representation=linear_residual; similarity=pearson | Compare local residual shape after removing a declared slow trend. |
| T06 | quant_distribution_ks_raw | kind=ks; standardize=false | Compare complete-sample amplitude distributions without requiring point alignment. |
| Appendix | Protocol event shown |
| N | Agent selection of transform families and channel priorities, followed by Host parameter tuning, deterministic segmentation, and channel guards. |
| N | Frozen NAAgent and ABAgent comparisons that reject the healthy class but leave the two fault classes live. |
| N | Uncertainty declaration, score-blind ToolCard offer, pre-result batch commitment, and Host-controlled execution. |
| N | Packet provenance checks, reference preflight, influence assignment, and the round report. |
| N | Judge proposal, Host recheck of the earlier records, and the admitted Class 2 record. |