При n=1 аналоге q1==q3==median → asking-диапазон (Q1..Q3 ₽/м²) схлопывался в
ноль ширины: юзеру уходил «диапазон» из одной точки с ложной точностью.
RANGE_MIN_HALFWIDTH_PCT=0.12 + чистая _apply_range_floor, применяемая
ПОСЛЕДНЕЙ в спайне к обоим диапазонам (headline asking + expected_sold)
вокруг их точек. Floor ТОЛЬКО расширяет; точку и confidence не трогает;
не может триггернуть manual_review wide-range (1.273 < 1.9).
Frozen backtest baseline БАЙТ-ИДЕНТИЧЕН до/после (replay проверен):
expected_sold-диапазон строится калиброванным PI-бэндом (rel-width 0.743,
кратно шире floor 0.24) — floor на нём no-op; кусает только вырожденный
asking-хвост (n=1..2), который replay не скорит. Bias/MAPE не сдвинуты.
+10 юнит-тестов (включая доказательство порядка floor-после-IMV-blend).
Refs #2209