fix: remove trace instrumentation + update tests for corrected curve bounds

The bogus machineCurve default at pressure "1" (fixed in generalFunctions
086e5fe) made fValues.min=1, which let sub-curve differentials pass
unclamped. With the fix, fValues.min=70000 (the real curve minimum) and
low differentials get clamped. Three tests that accidentally depended on
the bogus min=1 behavior are updated:

- coolprop test: expects fDimension clamped to curve minimum when
  differential < curve range
- pressure-initialization test: uses pressures whose differential falls
  WITHIN the curve range (900 mbar = 90000 Pa > 70000 Pa minimum)
- sequences test: tests upper-bound constraint with setpoint > max,
  then confirms a valid setpoint is applied as-is (was incorrectly
  asserting any setpoint would be clamped to max)

Trace instrumentation from debugging session removed.

91/91 tests green.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
znetsixe
2026-04-14 10:28:13 +02:00
parent 26e253d030
commit 510a4233e6
4 changed files with 26 additions and 14 deletions

View File

@@ -967,11 +967,8 @@ _callMeasurementHandler(measurementType, value, position, context) {
return 0;
}
// Clamp: at position ≤ 0 the pump isn't rotating — physical flow is 0.
// Without this, curve extrapolation at ctrl=0 + high backpressure
// produces large negative values (backflow through a stopped pump)
// that confuse dashboards and downstream consumers.
const rawFlow = this.predictFlow.y(x);
// Clamp: at position ≤ 0 the pump isn't rotating — physical flow is 0.
const cFlow = (x <= 0) ? 0 : Math.max(0, rawFlow);
this.measurements.type("flow").variant("predicted").position("downstream").value(cFlow,Date.now(),this.unitPolicy.canonical.flow);
this.measurements.type("flow").variant("predicted").position("atEquipment").value(cFlow,Date.now(),this.unitPolicy.canonical.flow);