Problem
Per-bot Local VM mode can run two desktops on one OpenMausBot host, and the Existing VM connector can attach one user-managed Linux guest. Neither path lets one OpenMausBot control plane assign bot A to a Mac-hosted desktop and bot B to a Windows-hosted Podman desktop.
This leaves multi-machine users choosing between two separate OpenMausBot apps or concentrating both desktops on one physical host.
Proposed contract
- Pair a bounded OpenMaus computer worker running on each trusted host.
- Give each worker an immutable ID plus advertised capabilities such as platform, runtime, capacity, and desktop readiness.
- Store a per-bot worker target; never store raw SSH keys, bearer values, or host credentials in bot config or runtime events.
- Route lifecycle, screenshot, and control calls through an authenticated worker protocol with hostname and origin pinning, short leases, timeouts, and fail-closed reconnect behavior.
- Prefer Podman on Windows and the supported local runtime on macOS.
- Keep one interactive human control lease per desktop and make the two-up workspace switch ownership explicitly.
- Treat an unreachable worker as unavailable without stopping healthy desktops on another worker.
Acceptance
- Pair one macOS worker and one Windows 11 / Podman worker with one OpenMausBot control plane.
- Assign two bots to different workers and start or reuse one isolated desktop on each.
- Show both desktops in the two-up workspace while both bot turns can continue.
- Switch human control without overlapping input ownership.
- Restart the control plane and recover worker identities, per-bot assignments, and safe lease state.
- Disconnect either worker and prove the other remains usable.
- Prove credentials and viewer URLs never enter config snapshots, task events, logs, or exported packages.
- Cover macOS, Linux, and Windows CI with a fake-worker protocol plus one exact Windows Podman acceptance receipt.
Related
This issue is intentionally separate from BYO VPS: the current VPS contract is an x86_64 Linux Docker target, not a Windows worker pool.
Problem
Per-bot Local VM mode can run two desktops on one OpenMausBot host, and the Existing VM connector can attach one user-managed Linux guest. Neither path lets one OpenMausBot control plane assign bot A to a Mac-hosted desktop and bot B to a Windows-hosted Podman desktop.
This leaves multi-machine users choosing between two separate OpenMausBot apps or concentrating both desktops on one physical host.
Proposed contract
Acceptance
Related
This issue is intentionally separate from BYO VPS: the current VPS contract is an x86_64 Linux Docker target, not a Windows worker pool.