Root cause: configUtils.initConfig was silently stripping the four
unknown constraint keys (nominalFlowMin, flowMax, maxRainRef,
minSampleIntervalSec) because they weren't declared in the schema.
With those keys gone, validateFlowBounds saw NaN/NaN and routed every
i_start into the invalid-bounds branch — _beginRun never fired, so
sumPuls stayed 0.
Fix is in generalFunctions/src/configs/monster.json (declared the
four keys with sensible defaults). Plus a 4-line comment at the guard
site documenting the schema dependency. 10/10 tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>