Talk to the Manager hands-free — the commute and walking use case.
Why native, and why last
The current mobile page carries substantial iOS Safari scar tissue: unlockIOSAudio(), startAudioKeepAlive(), reconnectDeepgram() (mobile-page.ts). A native AVAudioSession removes all of it.
Sequenced last deliberately: it is the highest-risk surface and it is far more valuable once there is a Manager to talk to than as a voice interface over a task list.
Scope
- Native audio session with proper background/interruption handling
- Speech in, spoken digests out
- Lives as a mic affordance on the Manager tab — not a separate tab
- Reuses existing voice infrastructure (
voice-supervisor.ts, TTS config) rather than a parallel stack
Acceptance
- Audio survives backgrounding, lock, and phone-call interruption
- A digest is requestable and answerable entirely by voice
- Degrades cleanly with no network
Talk to the Manager hands-free — the commute and walking use case.
Why native, and why last
The current mobile page carries substantial iOS Safari scar tissue:
unlockIOSAudio(),startAudioKeepAlive(),reconnectDeepgram()(mobile-page.ts). A nativeAVAudioSessionremoves all of it.Sequenced last deliberately: it is the highest-risk surface and it is far more valuable once there is a Manager to talk to than as a voice interface over a task list.
Scope
voice-supervisor.ts, TTS config) rather than a parallel stackAcceptance