## Why The portable macOS application can capture meeting audio and expose menu-bar controls, but it still registers unavailable/no-op implementations for calendar metadata, recording prompts, and active-window screenshots. The local macOS environment also disables screenshot OCR, speaker identification, the managed FunASR backend, FunASR diarization, and Whisper-local diarization even though their managed implementations are portable. ## What Changes - Read Teams meeting metadata and prompt candidates from calendars available through macOS EventKit, including Outlook-synced calendars. - Show a native macOS record/skip prompt for due calendar meetings. - Capture the foreground macOS application window through a bundled native helper so screenshot OCR can use the existing portable OCR pipeline. - Register the real macOS integrations instead of no-op/unavailable providers. - Enable the portable OCR, speaker identification, FunASR, and diarization configuration in the macOS runtime environment. - Expose a diagnostic capability surface that proves the effective platform providers and enabled feature switches. - Preserve all Windows-specific COM, notification, screenshot, tray, hotkey, and audio registrations. ## Capabilities ### Modified Capabilities - `meeting-session`: calendar enrichment, recording prompts, workflow editor access, and capability diagnostics work on macOS. - `meeting-summary`: active-window screenshots and screenshot OCR work on macOS. - `meeting-transcription`: portable speaker identification, FunASR, and local diarization can be enabled on macOS. ## Impact - portable service registration in `MeetingAssistant/Program.cs` - a bundled native macOS desktop-integration helper - calendar, meeting-metadata, screenshot, and diagnostic providers - macOS runtime configuration and operational documentation - macOS behavior tests plus Windows-target build verification