BlockStep, BlockChannelStep and refinement.cu patch_collide each carried the same compute_rho_u -> omega clamp -> collide_mrt_no_force sequence. collide_mrt_unforced (collision_mrt.cuh, __forceinline__) now holds it once; the three sites call it. Same operations in the same order: no numerical, ABI or SRT change. The host source contract now requires one helper definition and exactly one call per file, and forbids the old inline sequence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>