| { |
| "version": "v9c", |
| "sprint": "A7c", |
| "trained_at": "2026-03-28T17:30:02.968878+00:00", |
| "backbone_source": "v8 (frozen \u2014 CMAPSS+SCANIA heads unchanged)", |
| "vsn_rho_method": "perturbation_sensitivity", |
| "domains": { |
| "cmapss": { |
| "rul_source": "supervised", |
| "onnx": "tft_weights_v8_cmapss.onnx", |
| "note": "Unchanged from v8" |
| }, |
| "scania": { |
| "rul_source": "supervised", |
| "onnx": "tft_weights_v8_scania.onnx", |
| "note": "Unchanged from v8" |
| }, |
| "nist": { |
| "rul_source": "synthetic_estimated", |
| "onnx": "tft_weights_v9c_nist.onnx", |
| "auc": 0.9276, |
| "rmse": 0.6232, |
| "vsn_rho": 0.5868, |
| "vsn_validated": false, |
| "nist_seed": 42 |
| }, |
| "femto": { |
| "rul_source": "supervised", |
| "onnx": "tft_weights_v10a_femto.onnx", |
| "rmse_cycles": 78.5705, |
| "rmse_normalised": 0.2568, |
| "mae_cycles": 39.7257, |
| "r2": -0.0452, |
| "vsn_rho": 0.1341, |
| "vsn_validated": false, |
| "rul_cap": 306, |
| "n_features": 14, |
| "feature_names": [ |
| "H_rms", |
| "H_kurt", |
| "H_peak", |
| "H_crest", |
| "H_skew", |
| "H_shape", |
| "H_impulse", |
| "V_rms", |
| "V_kurt", |
| "V_peak", |
| "V_crest", |
| "V_skew", |
| "V_shape", |
| "V_impulse" |
| ], |
| "backbone_frozen": true, |
| "backbone_version": "v9c", |
| "fpt_method": "H_rms > mean+3.0\u03c3 (healthy_pct=0.1)" |
| }, |
| "nist_anomaly": { |
| "rul_source": "none", |
| "head_type": "anomaly_only", |
| "onnx": "tft_weights_v11a_nist_anomaly.onnx", |
| "auc": 0.9216, |
| "vsn_rho": 0.5692, |
| "auc_validated": true, |
| "n_sensors": 14, |
| "window_size": 30, |
| "backbone_frozen": true, |
| "backbone_version": "v9c", |
| "training_data": "mds2-2361 nominal (nist_windows_v9c.npz cache)", |
| "note": "ESTIMATED \u2014 synthetic anomaly labels from A7c cache." |
| }, |
| "cnc": { |
| "rul_source": "supervised", |
| "head_type": "rul_anomaly", |
| "onnx": "tft_weights_v12a_cnc.onnx", |
| "scaler": "cnc_scaler_v12a.pkl", |
| "rmse_um": 36.6639, |
| "rmse_normalised": 0.2444, |
| "mae_um": 35.2722, |
| "r2": -0.4361, |
| "vsn_rho": 0.3495, |
| "vsn_validated": false, |
| "vb_cap": 150.0, |
| "vb_fpt": 50.0, |
| "n_features": 14, |
| "feature_names": [ |
| "mean", |
| "std", |
| "rms", |
| "kurtosis", |
| "peak", |
| "crest_factor", |
| "skewness", |
| "shape_factor", |
| "impulse_factor", |
| "variance", |
| "peak_to_peak", |
| "mav", |
| "zero_crossing_rate", |
| "waveform_length" |
| ], |
| "train_cutter": "c4", |
| "val_cutter": "c6", |
| "backbone_frozen": true, |
| "backbone_version": "v9c", |
| "dataset": "PHM 2010 (C4 train, C6 validate)", |
| "note": "ESTIMATED if rho < 0.75. C1 not in mirror \u2014 C4/C6 only." |
| }, |
| "cnc_nuaa": { |
| "onnx_path": "tft_weights_v15a_cnc_nuaa.onnx", |
| "scaler_path": "cnc_nuaa_scaler_v15a.pkl", |
| "rul_cap": 0.3, |
| "rul_cap_unit": "mm", |
| "vb_cap_mm": 0.3, |
| "signals": [ |
| "bending_moment_x", |
| "bending_moment_y", |
| "torsion", |
| "axial_force", |
| "spindle_power", |
| "spindle_current" |
| ], |
| "n_stats": 7, |
| "seq_len": 5, |
| "input_dim": 42, |
| "nrmse": 0.6785, |
| "r2": -2.0818, |
| "vsn_rho": 0.0746, |
| "badge": "ESTIMATED", |
| "dataset": "NUAA Ideahouse (IEEE DataPort DOI:10.21227/3aa1-5e83)", |
| "opc_ua_proxy": "bending_moment+torsion+spindle ~ /Nck/Spindle/driveLoad" |
| } |
| }, |
| "product_classifier": { |
| "version": "v1", |
| "onnx": "product_classifier_v1.onnx", |
| "scaler": "product_classifier_scaler_v1.pkl", |
| "labels": "product_classifier_labels_v1.pkl", |
| "n_features": 14, |
| "feature_names": [ |
| "Total_running_time_NC_program", |
| "Tool_number_Magazine_9998_Place_1", |
| "Spindle_position_error", |
| "Z-axis_position_MCS", |
| "X-axis_position_MCS", |
| "Spindle_angular_velocity", |
| "Spindle_speed", |
| "Spindle_smoothed_speed", |
| "X-axis_position_WCS", |
| "Z-axis_position_WCS", |
| "ToolChange_smoothed_current_value", |
| "ToolChange_smoothed_torque", |
| "Net_running_time_program", |
| "Tool_number_Magazine_Place_6" |
| ], |
| "product_labels": [ |
| 1.0, |
| 2.0, |
| 3.0 |
| ], |
| "n_classes": 3, |
| "window_size": 30, |
| "conf_threshold": 0.7, |
| "val_accuracy": 0.9993, |
| "dataset": "TUAWS (Zenodo 15735480)" |
| }, |
| "wear_multipliers": { |
| "version": "v1", |
| "source": "UC Berkeley Milling Dataset (NASA)", |
| "method": "linear_regression_VB_vs_run_per_case", |
| "nominal_condition": "cast_iron_avg", |
| "nominal_rate_um_per_cut": 0.0512, |
| "multipliers": { |
| "1": 1.0, |
| "2": 2.189, |
| "3": 2.406 |
| }, |
| "product_mapping": { |
| "1": "Product A \u2014 nominal (cast iron average)", |
| "2": "Product B \u2014 steel average (2.189x nominal)", |
| "3": "Product C \u2014 most aggressive condition (2.406x nominal)" |
| }, |
| "note": "Derived from UC Berkeley milling dataset. Cast iron = nominal (1.0). Steel = material_2 avg rate / material_1 avg rate. Aggressive = max rate across all conditions / nominal. On a real cell, these would be replaced by calibration runs per product." |
| } |
| } |