You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
P0: Workbench fresh-Mac onboarding depends on unbundled Python and manual private-network setup
Incident
The David/Jane setup attempt exposed that evaOS Workbench v2.1.32 is not self-contained for a new Mac. A prepared Mac can pass because Python, GUI packages, Tailscale/Headscale enrollment, CUA, grants, and TCC state already exist. A fresh Mac requires manual terminal/code assistance and can still appear locally or agent-ready before live VM-to-Mac tools work.
Parents: #480, #623
Related P0: #655
Affected release: evaos-beta-v2.1.32-evaos-beta
Proven Root Cause
The app bundles bridge Python source, Peekaboo, and a native helper, but not a compatible Python runtime.
The launcher assumes Python 3.10+ without validating or installing it; system Python 3.9 fails before connector startup.
Workbench detects a private tailnet address but does not install/start/enroll the Mac network client.
Headscale is the server-side control plane; the Mac still needs a Tailscale-compatible client.
CUA is not bundled. Its absence should use Peekaboo fallback and must not block pairing.
Existing local/CI canaries were pre-provisioned and did not prove a virgin installation.
Required Customer Experience
From a supported pristine Mac, the customer should need only to:
Install Workbench from the public artifact.
Sign in.
Follow unavoidable macOS permission prompts for the correct signed identity.
Press a guided Connect action.
See each prerequisite repaired or named precisely.
Receive end-to-end ready only after canonical runtime tools pass.
No customer should install Python, pip packages, Homebrew, or manually exchange terminal commands.
Priority 1 Execution Order
Failing clean-host contract tests: reproduce no compatible host Python, incompatible system Python, no private-network client, stopped/unenrolled/wrong-network client, absent CUA, and no prior connector state.
Self-contained Bridge runtime: choose and document signed native packaging or a pinned relocatable runtime, then prove the installed app never depends on Homebrew, system Python, pip, or customer terminal work.
Guided private-network bootstrap: model missing, stopped, unenrolled, wrong-network, ACL-blocked, and online states; provide approved in-app install/open/enrollment actions without exposing enrollment material.
Prepared-Mac non-regression: prove CUA-primary behavior when available, bundled Peekaboo fallback when absent, current TCC identity, and preservation of Matt-style working setups without touching Matt's Mac.
Pristine-Mac release gate: install the exact signed/notarized candidate on a genuinely clean supported Mac, complete one guided Connect flow, run canonical status/see/low-impact action/stop/revoke/kill-switch/reboot proof, then complete RC, distribution, public URL, and customer setup gates.
Implementation may split into child issues only after the first test/architecture slice establishes separately mergeable ownership boundaries. Do not create duplicate GitHub or Linear work items merely to parallelize the plan.
Current exact next action: create an isolated current-head worktree from evaos/beta-rc-20260612, preserve the dirty shared checkout, and land the failing clean-host packaging/onboarding tests before implementation.
Acceptance Criteria
Workbench ships a self-contained signed bridge runtime, either native or with a pinned relocatable runtime and dependencies.
Missing/incompatible Python on the host cannot prevent Mac Control.
Workbench distinguishes network client missing, stopped, unenrolled, wrong network, ACL blocked, and online states.
The product provides the approved in-app install/open/enrollment action for the private-network client, using short-lived broker material without exposing it.
CUA is explicitly bundled/supported or explicitly optional; missing CUA automatically uses the bundled Peekaboo path without customer intervention.
The UI keeps local runtime, permissions, private network, broker grant, VM configuration, agent plugin, and live runtime-tool proof separate.
customer_mac_status, desktop_control_status, and desktop_see pass from the paired VM before the page reports end-to-end ready.
Offline/stale/pending states never render as connected or end-to-end ready.
One low-impact action, stop, revoke, and kill-switch pass with redacted audited proof.
Reboot/relaunch retains only valid state and fails closed when the network or grant is unavailable.
Release proof includes both a pristine-Mac first-install canary and the existing prepared-Mac upgrade/non-regression canary.
Customer-facing copy provides a direct button or precise guided prompt at every recoverable step; no generic “private connector link” dead end.
P0: Workbench fresh-Mac onboarding depends on unbundled Python and manual private-network setup
Incident
The David/Jane setup attempt exposed that evaOS Workbench v2.1.32 is not self-contained for a new Mac. A prepared Mac can pass because Python, GUI packages, Tailscale/Headscale enrollment, CUA, grants, and TCC state already exist. A fresh Mac requires manual terminal/code assistance and can still appear locally or agent-ready before live VM-to-Mac tools work.
Parents: #480, #623
Related P0: #655
Affected release:
evaos-beta-v2.1.32-evaos-betaProven Root Cause
agent_pairedwith runtime tools ready; P0: require end-to-end proof for Mac control readiness #657 fixes that source defect but is not in the published artifact.Required Customer Experience
From a supported pristine Mac, the customer should need only to:
No customer should install Python, pip packages, Homebrew, or manually exchange terminal commands.
Priority 1 Execution Order
Implementation may split into child issues only after the first test/architecture slice establishes separately mergeable ownership boundaries. Do not create duplicate GitHub or Linear work items merely to parallelize the plan.
Current exact next action: create an isolated current-head worktree from
evaos/beta-rc-20260612, preserve the dirty shared checkout, and land the failing clean-host packaging/onboarding tests before implementation.Acceptance Criteria
customer_mac_status,desktop_control_status, anddesktop_seepass from the paired VM before the page reports end-to-end ready.Hard Boundaries
Validation
Evidence
Redacted root-cause packet:
/Volumes/LEXAR/Codex/evidence/evaos-workbench-runtime-reliability-release-train/fresh-mac-onboarding-root-cause-20260712.mdProof Boundary
Issue filing and diagnosis do not prove implementation or customer readiness.