8d942a88b4
- Surface tilt magnitude stays visible 0-180 degrees; never blanked by placement. Lock is self-gating (only near-zero magnitude can enter), so the placement gate now drives hints only. Edge gating unchanged. - Pitch/Roll suppressed as ambiguous at >=80 degrees; explicit screen-down state past 90 degrees with the true magnitude retained. - SurfacePresentationDetector classifies from the same deadbanded stable magnitude the UI displays, with 1-degree hysteresis at both boundaries and a direct face-up -> screen-down transition. - Tests: angle sweep (30/80/near-vertical/screen-down), hysteretic boundary tests, and a sustained 30-degree run proving a steep phone never locks or fires feedback. 43 tests passing. Audited-by: Claude (2 findings raised and resolved) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>