Docs menu

Ship

Cloud sandboxes

A cloud sandbox runs one task in a clean remote checkout. Midas clones the repository at the base branch you choose, works on a new branch, pushes the branch, and opens a draft pull request. The checkout is destroyed when the run ends, so nothing keeps running afterward.

Start one

Open the dashboard, choose a personal or organization workspace, and go to Sandboxes. A workspace owner or admin has to turn cloud sandboxes on first, in Settings for a personal workspace or Organization settings for a shared one. The wallet must be able to cover the run.

In the Start dialog, name the repository, pick the base branch, and describe the task. Midas queues the sandbox and starts it as soon as a runner is free.

Repository   owner/name
Base branch  main
Task         Add pagination to the audit log endpoint, with tests.

The repository must be one the MIDAS GitHub App can read. The task is one message. If you need to steer the work, start a local session instead.

Cloud sandboxes start from the dashboard today. CLI support and interactive terminal access are not available yet, so the dashboard is the controller.

What happens

  • Midas takes an ephemeral clone of the repository at the base branch.
  • The agent works on a new branch. It can read code, edit files, run tests, and commit.
  • On exit, Midas pushes the branch and opens a draft pull request against the base branch.
  • The dashboard shows the run, its status, the compute time, the cost, and a link to the pull request.
  • The checkout is destroyed, so the run leaves nothing behind.

The draft pull request is the handoff. Review it like any other pull request, push changes, or close it. The GitHub review system can review it too.

Lifecycle

  • queuedThe sandbox is accepted and waiting for a runner.
  • provisioningThe job is being created and the checkout is being prepared.
  • runningThe agent is working in the sandbox and sending heartbeats.
  • stoppedThe run ended and the workspace was torn down.
  • failedThe run ended with an error. The reason is shown in the dashboard.
  • cancelledSomeone stopped the sandbox before it finished.

You can stop a sandbox from the dashboard while it runs. A sandbox that stops sending heartbeats is stopped automatically, and every run has a ceiling set for the workspace.

Isolation

Sandboxes run in a separate namespace on a dedicated node pool that scales to zero when idle. Each run gets its own Kubernetes Job.

  • The container runs as a non-root user, with capabilities dropped.
  • The workspace is an emptyDir volume, not a persistent disk. It is destroyed with the pod.
  • There is no service account token mounted into the pod and no inbound network route.
  • The sandbox reaches GitHub to clone and push, and the Midas API for model access and status.
  • Model access uses a short-lived token bound to that sandbox. GitHub access uses a repository-scoped installation token. Both are revoked at teardown.
The sandbox keeps the repository, base branch, pull request number and URL, status, timing, and a bounded failure reason. It does not keep your repository contents, the diff, or the transcript. Model requests still go through the gateway and are metered like any other session.

Billing

Compute is billed per second, with a sixty-second minimum, and is separate from model inference. The dashboard shows the two charges in separate columns so you can see what the machine cost and what the model cost. The compute rate is set for the workspace by an administrator, and the rate is snapshotted when the sandbox is created.

The same settings page sets the session limit, in minutes. When the limit is reached the sandbox is stopped, and the run still reports whatever it finished.

Current limits

  • Start, list, and stop live in the dashboard. CLI support is not available yet.
  • There is no interactive terminal into a sandbox. It runs one task to completion.
  • There is no merge from the dashboard. Review and merge the draft pull request on GitHub.
  • Midas does not track whether the pull request was merged or closed as a sandbox outcome yet.

Next steps

  • Reviews covers the pull request review that can run on the draft.
  • Workspaces covers the wallet, the session limit, and organization roles.