Task · SKT-0175

Reject non-finite incident intensity values

Description

Source review of scheduled-intensity presence found that existing numeric range comparisons do not independently reject NaN, which is not a member of the documented [0,1] domain. Keep this separate from authored zero-versus-omission semantics. Confirm the public-loader behavior before changing it; no broader Active-only, live activation, timing-bound or emitter change is implied.

Acceptance Criteria

Definition of Done

Implementation Plan

Confirm non-finite public-loader behavior on unchanged production code first, reject only values outside the existing finite [0,1] contract, preserve scope and zero/omission/live behavior; focused remote proof and guarded review before integration.

Implementation Notes

Loop54 landed ff9248e7e96f557a900ae341e51b0080764c436d. Closed-range predicate rejects NaN; public loader accepted both NaN forms on base and rejects after fix, infinities already rejected. Finite zero/fraction/omission and all target/scope/live semantics unchanged. Guarded review/dsreview PASS, complete composed CodeRabbit and exact clean remote fullcheck+parallel standalone race passed. Full-catalog remote dump canonical comparison3810/3810 names resolved, no parse gaps. No new fields/structs/skills/docs contract change, so generation inapplicable to this task; companion presence task generated its own artifacts. Hosted exact-SHA CI pending.

Final Summary

Rejected NaN through the existing finite [0,1] incident contract with a one-condition change and real-loader regression. No presence, Active or live behavior broadening; reviewed and exact-tree gated with companion presence repair.

View the source file on GitHub