Parent
#112 — PRD: macOS Desktop Client (Electron, Intel x64 v1)
What to build
Add the Desktop Client workspace package and a minimal Electron shell that completes the first demoable vertical slice: launch app → embedded local server starts on a dynamic loopback port → BrowserWindow shows the same entry view as the browser product → quit cleans up the server process.
v1 native chrome is minimal: Dock icon, application menu with About and Quit, standard window close behavior (document whether close equals quit).
Developer workflow: a package script runs Electron against the standalone server (system Node acceptable for this slice; bundled Node comes in the release pipeline slice).
Update workspace guard rules to admit the new package without violating root harness constraints.
Acceptance criteria
Blocked by
Parent
#112 — PRD: macOS Desktop Client (Electron, Intel x64 v1)
What to build
Add the Desktop Client workspace package and a minimal Electron shell that completes the first demoable vertical slice: launch app → embedded local server starts on a dynamic loopback port → BrowserWindow shows the same entry view as the browser product → quit cleans up the server process.
v1 native chrome is minimal: Dock icon, application menu with About and Quit, standard window close behavior (document whether close equals quit).
Developer workflow: a package script runs Electron against the standalone server (system Node acceptable for this slice; bundled Node comes in the release pipeline slice).
Update workspace guard rules to admit the new package without violating root harness constraints.
Acceptance criteria
file://loading of the Next app/api/agentsreturns success, port released after stopBlocked by