Files
Mastermind/docs/migration/native-poc-results.md
T

45 lines
2.5 KiB
Markdown

# Native macOS POC Results
## Implemented
- SwiftPM-based macOS POC under `native/MastermindPOC`.
- AppKit lifecycle with a menu bar status item.
- Transparent non-activating overlay window with hide/show and click-through controls.
- Overlay window uses `NSWindowSharingType.none` and ScreenCaptureKit filtering excludes the current process windows from app-owned capture.
- ScreenCaptureKit screen stream proof with frame counters.
- ScreenCaptureKit system audio proof with best-effort PCM extraction to 16 kHz mono signed 16-bit little-endian frames.
- AVAudioEngine microphone proof with 16 kHz mono signed 16-bit little-endian frames.
- Separate microphone and system audio counters in the overlay.
- Compact HUD controls for Settings, Hide, and Quit.
- Draggable overlay title area.
- Settings panel with persisted overlay background opacity.
- Swift unit tests for status labels, PCM frame metadata, PCM S16LE encoding, and separate audio counters.
- App bundle build script at `native/MastermindPOC/scripts/build-app.sh`.
## Verified Automatically
- `swift test` passes for `MastermindPOCCore`.
- `swift build --product MastermindPOC` compiles the native executable.
- `native/MastermindPOC/scripts/build-app.sh` produces `native/MastermindPOC/build/MastermindPOC.app`.
- Existing Electron local provider tests pass when run outside the managed sandbox restrictions.
## Manual Verification Needed
- Launch `native/MastermindPOC/build/MastermindPOC.app`.
- Confirm the menu bar item is visible while the app runs.
- Confirm the overlay appears locally and can be hidden.
- Confirm the overlay can be dragged by its top title bar.
- Confirm the overlay Settings button opens the settings panel.
- Confirm the opacity slider changes only the HUD background opacity and persists across relaunches.
- Confirm the overlay Quit button exits the app.
- Confirm click-through lets pointer events pass to apps underneath.
- Grant Screen Recording permission when macOS prompts, then restart the POC if needed.
- Start `Screen + System Audio` and confirm screen frame and system PCM counters increase.
- Start `Microphone` and confirm microphone PCM counters increase while speaking.
- Confirm `Pause All Capture` stops screen, system audio, and microphone updates.
- Confirm app-owned screen capture does not include the Mastermind overlay.
## Boundary
This POC is not a stealth or anti-detection system. It shows a menu bar item while running, requests normal macOS permissions, and only excludes its own overlay from the context it captures for itself.