# Decision: Harden NRMSE and Use Metric Profiles in RotatingMachine - Date: 2026-02-24 - Scope: `nodes/generalFunctions/src/nrmse/*`, `nodes/rotatingMachine/src/specificClass.js` ## Context Drift analytics were previously single-path and flow-focused with weak input safeguards in NRMSE. Requirement: make NRMSE architecturally robust and apply it across multiple measurements in rotatingMachine. ## Decision Adopt a metric-profile drift architecture: 1. Harden `generalFunctions/nrmse` with: - strict validation for malformed inputs - timestamp-aware alignment support - per-metric state - configurable rolling window and EWMA long-term trend - point-based API (`assessPoint`) while retaining legacy calls 2. Rewire rotatingMachine to consume NRMSE per metric: - `flow` model drift - `power` model drift - pressure-quality drift as node-specific plausibility/redundancy assessment 3. Expose drift and confidence outputs per metric in node output payload. ## Consequences - Drift computations are deterministic and safer under bad inputs. - RotatingMachine confidence now reflects multiple measurement channels. - Output schema expands with power/pressure drift fields. ## Rollback Notes - Revert `errorMetrics.js` and rotatingMachine drift wiring to return to legacy flow-only drift behavior.