## Context The application already exposes local HTTP endpoints for recording lifecycle actions. Windows desktop integrations invoke the coordinator in-process, while macOS currently has no desktop process capable of participating in AppKit or Carbon event loops. ## Decisions ### Native helper owns macOS desktop APIs A bundled Swift helper owns the AppKit status item and Carbon global-hotkey registrations. The .NET host starts the helper only on macOS and terminates it during shutdown. ### Existing HTTP endpoints remain the control seam The helper invokes loopback endpoints for recording and diagnostic actions. It does not duplicate recording state or lifecycle policy. It polls the status endpoint to keep the menu-bar presentation current. ### Configuration is passed as an explicit manifest The .NET host derives a manifest from configured launch profiles. Shortcut strings are passed unchanged so macOS uses the same bindings displayed and registered on Windows. ## Verification - Behavior tests prove the manifest preserves configured shortcuts and maps actions to the existing endpoints. - The Swift helper supports a describe/self-test mode for deterministic packaging validation. - Runtime verification launches the application, starts a new recording, and captures the visible macOS menu-bar recording state.