The current SwiftUI shell is working, but AppDelegate still owns too many responsibilities: launching the runtime, tracking readiness, handling auto-restart, and coordinating browser open behavior.
Next slice:
- Move runtime process launch/stop/restart and readiness polling into a dedicated Swift controller type.
- Keep the menu bar UI and Preferences UI unchanged.
- Preserve the fixed loopback port and browser auto-open contract.
- Keep the nightly eval loop passing after the refactor.
Acceptance criteria:
AppDelegate only coordinates menu actions and delegates runtime lifecycle behavior.
- The app still opens the browser automatically when the runtime is ready.
- Startup timeout and restart-on-exit behavior remain unchanged.
./packaging/macos/bundle.sh and ./scripts/nightly_product_eval.sh --run still pass.
The current SwiftUI shell is working, but
AppDelegatestill owns too many responsibilities: launching the runtime, tracking readiness, handling auto-restart, and coordinating browser open behavior.Next slice:
Acceptance criteria:
AppDelegateonly coordinates menu actions and delegates runtime lifecycle behavior../packaging/macos/bundle.shand./scripts/nightly_product_eval.sh --runstill pass.