Description
Option A recommended. Swift layer: TCC requests, ScreenCaptureKit screenshot loop, SMAppService login item, Process() lifecycle for Go binary. Go binary unchanged, bundled at Contents/MacOS/hydraheadflatscreen. Distribution via Mac TestFlight, same pipeline as hydraheadipad. Retires install_darwin.go, binary-swap updater, Terminal screenshot loop. See hydraapplepipeline/docs/runbooks/xcode-cloud-connect.md for pipeline reference. Open questions: Qt app signing, TestFlight auto-update on fleet Macs, CGo hardened runtime.
---
## Definition of Done
The pipeline is complete when hydraheadmacos runs on cheeky-cactus and works as a functional replacement for hydraheadflatscreen:
1. Launch Castle Viewer — wait 20 seconds
2. Launch Mercator Talks — wait 20 seconds
3. Launch Rupelmonde Castle Viewer
4. Separately: launch Mercator Talks and confirm voice is arriving (audio streaming works)
This confirms the app correctly integrates with hydracluster for experience launching and that the streaming pipeline (video + audio) is fully operational on Mac hardware.
---