31f5937a7f
Reduce extension memory pressure and delivery races while adding richer candidates, tactile feedback, and safer two-level creative polishing.
1.3 KiB
1.3 KiB
Flow Bluetooth HFP release gate
Run this checklist on a physical iPhone before every release that changes Flow, PiP, ASR warmup, or audio-session code. Simulator audio is not an HFP substitute.
Required devices
- Built-in iPhone microphone
- One Bluetooth HFP headset (AirPods or equivalent)
Pass criteria
- Start a PiP Flow session and record 50 consecutive utterances with the built-in microphone.
- Repeat 50 utterances with the Bluetooth headset already connected.
- Switch Prompt in the host app, return to the original text field, and record 20 more Bluetooth utterances.
- During recording, connect and disconnect the headset once. The app must recover automatically before speech starts, or stop with an explicit audio-device-changed error after speech has started.
- Recreate the keyboard extension once while processing and once after the Host writes the final result.
The run fails if any of the following occurs:
-10868orformats don't matchcapture.engine.startFailed- A completed utterance reports zero input frames
host.deliveredhas no matchingkeyboard.insert- The same utterance is inserted more than once
- A background task exceeds 30 seconds
- AVAudioSession activation blocks the main thread
Archive the filtered [trace] log with the release test record.