Implementer of 35db31089 (symmetric reward cap) flagged 4 additional
asymmetric-clamp sites in policy-input features (plan_isv slots),
mirroring the same bug class but on the feature side rather than
reward side:
experience_kernels.cu:850 plan_isv[PNL_VS_TARGET] capped above only
experience_kernels.cu:853 plan_isv[PNL_VS_STOP] capped above only
backtest_plan_kernel.cu:164 — mirror of 850
backtest_plan_kernel.cu:168 — mirror of 853
unrealized P&L can be negative -> fminf(x, 2.0) leaves an unbounded
lower tail that produces feature jitter at the policy input, hurting
the network's state representation under losing-trade conditions.
Fix: symmetric clamp via fmaxf(-2.0, fminf(x, 2.0)).
Per pearl_symmetric_clamp_audit (added in close-out commit) and
pearl_bounded_modifier_outputs_require_structural_activation: any
spec-bounded scalar requires bilateral enforcement.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>