Track a Mac App Store–distributable build of LPDO, for discoverability (the App Store is the one macOS storefront with real reach). This is a separate product from the Developer ID .pkg (#68) — it is not a repackage.
Why separate / why hard
MAS requires the App Sandbox, which is incompatible with LPDO's current architecture. A MAS build must:
- Run the server in-process (or as a sandboxed XPC/
SMAppService agent) — cannot spawn the chess-db binary as a subprocess the way the desktop build does.
- Keep the database inside the app container (
~/Library/Containers/com.specure.lpdo/Data/…) — not ~/.chess-db, /var/lib/lpdo, or /Library/Application Support/LPDO.
- Drop the CLI on PATH — no writing to
/usr/local/bin; no installer scripts; no system daemon.
- Use different signing/distribution —
Apple Distribution + Mac Installer Distribution via App Store Connect/Transporter, not Developer ID.
SMAppService.agent (per-user login helper) is MAS-permitted, but it does not lift the sandbox — the sandbox (container-only data, no subprocess, no CLI) is the real constraint.
Scope of work (when prioritized)
- Sandbox entitlements + an in-process/XPC server design (a meaningful rearchitecture of the desktop client/server split, macOS-only).
- DB relocated into the app container; migration story for users coming from the
.pkg/.dmg.
- App Store Connect setup, review, and the commission/review-latency implications.
- Decide the feature line of the 'lite' build (GUI + in-context server; no CLI; remote-server management likely the only CLI-ish feature, via the existing
--remote proxy).
Relationship to other macOS work
Track a Mac App Store–distributable build of LPDO, for discoverability (the App Store is the one macOS storefront with real reach). This is a separate product from the Developer ID
.pkg(#68) — it is not a repackage.Why separate / why hard
MAS requires the App Sandbox, which is incompatible with LPDO's current architecture. A MAS build must:
SMAppServiceagent) — cannot spawn thechess-dbbinary as a subprocess the way the desktop build does.~/Library/Containers/com.specure.lpdo/Data/…) — not~/.chess-db,/var/lib/lpdo, or/Library/Application Support/LPDO./usr/local/bin; no installer scripts; no system daemon.Apple Distribution+Mac Installer Distributionvia App Store Connect/Transporter, not Developer ID.SMAppService.agent(per-user login helper) is MAS-permitted, but it does not lift the sandbox — the sandbox (container-only data, no subprocess, no CLI) is the real constraint.Scope of work (when prioritized)
.pkg/.dmg.--remoteproxy).Relationship to other macOS work
.pkg(full-featured direct-download installer; system launchd daemon, CLI on PATH). Kept..dmg— the current notarized GUI download.