This was generated by AI during triage.
Problem
receiveAudioHandle.startToChat gates wake phrases using conn.current_state, which defaults to idle on a new WebSocket connection and is populated only by live state_changed events. If the socket reconnects while firmware remains in sleep, security, or story_time, no authoritative state snapshot is replayed. A correctly transcribed "wake up" is then treated as ordinary conversation and never dispatches self.robot.set_state({state: "idle"}).
This is separate from UAT US7: in the filmed run Whisper transcribed the likely wake command as Welcome, so the wake router never ran before the later reconnect.
Desired behavior
A new connection should learn the device's authoritative sticky state before wake-phrase routing. After reconnecting in a non-conversational state, "wake up" should dispatch exactly one transition to idle.
Acceptance criteria
Scope boundary
Do not add Welcome as an ASR alias for wake up; it is a common word and would create false state exits. The fix should restore/synchronize state, not route wake phrases unconditionally.
Problem
receiveAudioHandle.startToChatgates wake phrases usingconn.current_state, which defaults toidleon a new WebSocket connection and is populated only by livestate_changedevents. If the socket reconnects while firmware remains insleep,security, orstory_time, no authoritative state snapshot is replayed. A correctly transcribed "wake up" is then treated as ordinary conversation and never dispatchesself.robot.set_state({state: "idle"}).This is separate from UAT US7: in the filmed run Whisper transcribed the likely wake command as
Welcome, so the wake router never ran before the later reconnect.Desired behavior
A new connection should learn the device's authoritative sticky state before wake-phrase routing. After reconnecting in a non-conversational state, "wake up" should dispatch exactly one transition to
idle.Acceptance criteria
security, feedswake up, and observes exactly oneset_state(idle)dispatch.sleepandstory_time.idledoes not make ordinary uses of "wake up" force a redundant transition.state_changed -> idle, security cancellation, and physical scan stop.Scope boundary
Do not add
Welcomeas an ASR alias forwake up; it is a common word and would create false state exits. The fix should restore/synchronize state, not route wake phrases unconditionally.