# Top 10 Production Priorities (Round 2, Availability-First) Context: - Generated after implementing the first top-10 and follow-up items `IMP-20260219-011/012/013`. - Focus remains: keep runtime up, prefer degraded/null outputs over hard failures. ## Priority List 1. Fix measurement outlier toggle corruption. - Why: toggling replaces the outlier config object with a boolean, breaking later config reads. - Evidence: `nodes/measurement/src/specificClass.js:509`. 2. Fix rotating machine pressure-difference unit request API mismatch. - Why: `difference('Pa')` no longer matches container API; requested unit is ignored, risking incorrect efficiency basis. - Evidence: `nodes/rotatingMachine/src/specificClass.js:856`, `nodes/generalFunctions/src/measurements/MeasurementContainer.js:436`. 3. Guard reactor PFR state indexing at boundary conditions. - Why: known edge behavior can overrun index mapping near exact reactor length and destabilize updates. - Evidence: `nodes/reactor/src/specificClass.js:326`. 4. Make dashboard template resolution fail-soft. - Why: missing template currently throws and aborts dashboard generation path. - Evidence: `nodes/dashboardAPI/src/specificClass.js:91`. 5. Make dashboard input path skip invalid children instead of throwing. - Why: missing child source/config currently throws; should warn and continue in availability-first mode. - Evidence: `nodes/dashboardAPI/src/nodeClass.js:55`. 6. Harden shared config merge semantics for arrays/types. - Why: recursive merge mutates destination and treats arrays as objects, risking config drift. - Evidence: `nodes/generalFunctions/src/helper/configUtils.js:77`. 7. Fix machineGroupControl child position source path. - Why: reads `positionVsParent` from `general` instead of `functionality`, causing inconsistent routing metadata. - Evidence: `nodes/machineGroupControl/src/specificClass.js:53`. 8. Accept numeric-string measurement payloads safely. - Why: measurement node currently ignores numeric strings common in PLC/edge integrations. - Evidence: `nodes/measurement/src/nodeClass.js:167`. 9. Fix reactor editor save wiring mismatch. - Why: editor save hook references the wrong node helpers, risking mis-saved position settings. - Evidence: `nodes/reactor/reactor.html:133`. 10. Replace raw `structuredClone` usage with compatibility-safe clone strategy. - Why: runtime portability risk across constrained Node-RED deployments. - Evidence: `nodes/settler/src/specificClass.js:34`, `nodes/settler/src/specificClass.js:45`. ## Implementation Status - Implemented on 2026-02-19 in current session. - Verification: tests passed for `generalFunctions`, `measurement`, `reactor`, `rotatingMachine`, `dashboardAPI`, `machineGroupControl`, `settler`, `pumpingStation`, `valve`, `valveGroupControl`, `monster`. - Follow-up architectural items are tracked in `.agents/improvements/IMPROVEMENTS_BACKLOG.md`.