Skip to content

HR-led wake detection over-calls WAKE (and mis-times onset/wake) when overnight HR is elevated — should be motion-weighted #460

Description

@vishk23

Problem

The sleep/wake detector leans heavily on heart rate to separate wake from sleep. When overnight HR is elevated for a NON-wake reason — stimulants/supplements, illness/fever, alcohol, a hot room, stress — the detector reads the elevated HR as wakefulness: it over-calls WAKE mid-night and mis-times onset + final wake, fragmenting one night into several short, low-efficiency sessions.

Observed on real WHOOP-era nights where a supplement held overnight HR ~55–60 (vs a normal ~45–50): nights that were genuinely ~6–7 h of sleep detected as fragmented 2–5 h pieces (efficiency 0.48–0.77), needing 2–3 manual re-stages. The mis-scored short sessions then propagate into Rest, sleep debt, and the next day's overnight-quiet baseline.

Proposal

Weight motion more heavily (and HR less) in the wake decision — a still body with elevated HR is far more likely asleep-with-high-HR than awake. Options: require accelerometer/gravity agreement before an HR-driven wake call; scale the HR wake threshold by the person's OWN recent overnight-HR baseline (so a globally-elevated night doesn't trip it); or suppress HR-led wake during sustained stillness.

Context

Recurring on my own device; surfaced again while validating Wave 0 sleep scoring (#456) on real history.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions