| name | implementation-optional-experiences |
| description | Implement optional or build-specific user experiences without weakening the core runtime, including persistent assistant/viewer mode, paged remote assistant history, voice push-to-talk and transcription, terminal companions, and supported external-build stubs. Use when implementing, gating, disabling, or testing these experiences. |
Implementation Optional Experiences
Objective
Add optional experiences as independently gated adapters over shared session and terminal contracts. Preserve a fully functional core build when any optional module is absent.
See the optional-experience architecture diagram for gating, viewer, voice, companion, and stub boundaries.
See the browser and computer-use lifecycle diagram for native-message framing, bridge selection, exclusive desktop ownership, abort, and restoration paths.
See the derived-assistance lifecycle diagram for maintained-document confinement, focus/turn-aware away summaries, advisor wire isolation, desktop import, and supported disabled profiles.
See the voice capture and retry diagram for recorder-before-socket capture, generation ownership, early reconnect, silent replay, focus-mode finalization, and idempotent cleanup.
Load references by task
- Read assistant-viewer.md to implement assistant activation, viewer-only remote sessions, paged history, scroll anchoring, and supported absence.
- Read voice-companion-stubs.md to implement voice eligibility and push-to-talk, transcription lifecycle, companion generation and rendering, and no-op external-build stubs.
- Read browser-computer-use.md to implement browser-extension automation, native-message framing, secure local transport, exclusive desktop control, native input and capture, abort handling, and turn-end restoration.