--- name: evolv-mechanical-rotating-equipment description: Provide rotating equipment engineering guidance for EVOLV machine and pumping logic. Use when implementing or reviewing `rotatingMachine`, `machineGroupControl`, pump/motor behavior, operating envelopes, efficiency/power curves, surge/choke limits, and physically plausible constraints in node domain logic. --- # EVOLV Mechanical Rotating Equipment ## Mission Keep rotating equipment behavior physically plausible, safe, and diagnosable in EVOLV JavaScript domain classes. ## Harness Execution Contract - Start from equipment assumptions and current curve/sensor sources in repo. - Define invariants before edits: - physical plausibility constraints remain enforced - degraded/fail-safe behavior remains explicit - outputs remain diagnosable for operations teams - Validate with boundary-condition evidence and deterministic test outcomes. ## Scope - `nodes/rotatingMachine/` - `nodes/machineGroupControl/` - `nodes/pumpingStation/` - Related shared curve/model datasets in `nodes/generalFunctions/datasets/assetData/` ## Engineering Checklist 1. Validate units and conversions before algorithm changes. 2. Enforce operating envelope constraints: - min/max speed - flow/head boundaries - power/torque limits - efficiency range sanity 3. Prevent impossible states (negative flow where not allowed, non-physical efficiencies, unstable mode transitions). 4. Define clear degraded behavior for out-of-range inputs. 5. Preserve interpretability: outputs should map to recognizable mechanical concepts. ## Implementation Pattern - Keep mechanics in `src/specificClass.js`. - Keep Node-RED concerns in `src/nodeClass.js`. - Use shared helpers from `generalFunctions` for logging/config assertions. ## Test Expectations Add/adjust tests under node-specific `test/` for: - boundary conditions - invalid sensor/input combinations - regression of known machine edge cases - deterministic output under repeated ticks ## Deliverables Return: - assumptions about equipment type and curve source - implemented constraints and rationale - test coverage for boundary cases - remaining mechanical uncertainties requiring field data Decision interview triggers: - safety envelope changes (speed, power, flow/head boundaries) - curve-source replacement with uncertain field alignment - degraded-mode changes that affect availability vs protection tradeoffs