Fixes #26. Changes: - Fix warming gate: check total_days < 14 OR days_below_coverage > 2 - Rewrite _detect_habit_change: correct consecutive-day scanning - Fix _compute_horizon_rate: require history spans full horizon Tests: 29 new tests covering PR-2,3,6,7,9,15,16. 139 total passing.