refactor(voice): remove unconsumed nav-hint + observer-action delivery surface master
Delete the voice-session side-effect delivery surface that no client consumes: the GET/POST /api/voice/nav-hints and /api/voice/observer-actions routes, their in-memory TTL queues, and the _nav_target / _observer_action tool-dispatch side-channel that fed them. Payloads dead-lettered after a 60s TTL because nothing drained the queues. - Remove nav_hints() and observer_actions() routes from convey/voice.py - Delete think/voice/{nav_queue,observer_queue}.py outright - Drop _nav_target emissions from the 5 tool handlers and the _observer_action sentinel from observer.start_listening (now a plain stub ack); dispatch_tool_call no longer strips or enqueues any side-channel key - Remove the voice.navHints / voice.observerActions contract entries and regenerate docs/openapi/convey-clients.json - Prune the tied tests, accuracy-clean docs/design/voice-server.md, and delete docs/design/observer-actions.md observer.start_listening stays in the tool manifest with an unchanged schema; only its side-effect behavior is removed. Forward-only removal with no native clients to coordinate — no version bump, no deprecation shims. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>