Skip to content

[Meta] Run hosted channels in the cloud with local workspaces #13

Description

@iamnbutler

Run channels in team-deployed cloud cells while repositories, lanes, shells, browser and desktop tools stay on the team's workspace machines. A hosted channel is where the channel and durable pi state run; this work does not move tool execution into the cloud. Ace does not operate a hosting service, and the tailnet remains the sole authority for team membership and collaboration access.

Existing implementation and evidence

  • Hosted channel service, Durable Object storage, workspace transport and ace new --hosted <url> landed in 3ff0b97. 1a2e1f3 fixed the initial workspace connection.
  • The directory and deployment instructions already exist. The current configured directory was reachable in the October 7 read-only audit; its listing contained no hosted channels. That observation does not establish whether a channel service has been deployed elsewhere.
  • PR #85 records real model/tool execution and completed-run replay through the workspace adapter in a local Workers/Durable Objects runtime. It does not certify deployed Cloudflare behavior, interruption during a tool, or a second physical machine.
  • Initial deployed qualification on one physical workspace machine is recorded in #176: real model/local tools, persistence, reset recovery, clean disconnect/reconnect and idle behavior passed with the fix now merged in fix(channel): keep hosted runs resident while busy #186 (80c67ca). Another actual client/teammate machine and physical sleep/network-partition recovery remain open.

Pilot blockers

Delivered movement slice

Hosted-channel milestones, in priority order

These are implementation priorities, not a claim that each item depends on every item above it. Fix focused defects exposed by the pilot and attach their evidence before treating deployed operation as qualified.

Optional later milestones

Related work, not prerequisites for the pilot

Execution-host handoff #49, cross-gateway/team terminals #11, directory push #14, project identity acceptance #15, local peer-agent messaging #57/#160, lobbies #17 and real-phone qualification #18 have their own scopes. #10 is baseline two-host collaboration and does not establish hosted-channel acceptance. Owners already have terminal access through their workspace host; general forwarding/teammate terminal rights remain #11.

Keep the channel runtime-neutral, protocol types shared and durable state in pi-durable. Existing channels are permanent data; stored-format changes need versioned migrations verified against a backup. Preserve the app's project-first flow and the distinction between cell availability and workspace execution.

Tracked by #58; the deployed pilot and findings also link from dogfooding #5. Original scope: CLI creation already existed, while app creation, outbound messaging and browser access remained. Migrated from TODO.md — During dogfooding.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions