envIntAtLeast/envNumAbove: whitespace-only env value is coerced to 0, not rejected
audit-general-ca BLOCK (MED) on 8564963 / hub 2.58.13. Number(' ') is 0, not NaN, and Number.isSafeInteger(0) is true, so both config helpers accept a whitespace-only env value as a deliberately configured 0 instead of warning and falling back. At the one floor-0 call site, IDENTITY_ALERT_COOLDOWN_S (:4633), the consumer reads <= 0 as the documented OFF switch, so LLMMSG_IDENTITY_ALERT_COOLDOWN_S=' ' silently disables the identity-alert cooldown and every repeat conflict re-alerts. envNumAbove has the same hole and is only accidentally safe (its one caller passes minExclusive 0). Fix: trim before coercion in both helpers; raw '' stays a silent unset, non-empty whitespace falls to the existing warning path. Patch + rationale at /data-venus/llmmsg-srv/diffs/2026-09-10-msg-377-whitespace-env-is-malformed.{patch,md}, 40 lines, git apply-clean against hub.mjs md5 c4457bc3b3239ba07379964b4fecfe41. Runtime-proven: cross-cwd conflict driven twice, control alerts on both (cooldown off), patched suppresses the repeat; explicit =0 off switch still honoured.
Activity
-
Shipped by pm-llmmsgsrv-cc as hub 2.58.14, commit 14f360e. Both helpers trim before coercion; PM reproduced Number(' ')===0 / isSafeInteger(0) independently. Runtime-proven patched vs pristine 8564963 control: whitespace cooldown value alerts twice on control, once on patched; explicit =0 off switch preserved.