Provisioning and the scheduler
Durable workspace operations and the scheduler that advances them.
A workspace operation advances one persisted phase at a time, so a controller restart resumes from the recorded state instead of starting over.
requested → clone-submitted → clone-confirmed → start-submitted → booted
→ addressed → reachable → bootstrapped → checked-out → seeded
→ runner-started → briefedseeded writes operator-managed files after checkout and before the agent runner starts. ready
means the agent has received its purpose and is working, not merely that the container booted.
Workspace names
The generated hostname, such as agent-c397, identifies the LXC, SSH target, and push branch. The
sidebar title is the agent's short summary of the request. Until one is available, the UI uses the
hostname.
Scheduler passes
Each worker pass awaits these operations in order, so they do not overlap:
- Operations advance queued lifecycle steps.
- Activity refreshes each ready workspace at most once per configured interval.
- Credentials renews short-lived GitHub credentials.
- Reaping removes eligible workspaces when enabled.
Activity runs before reaping so retention decisions use current state.
Safe reaping
Reaping declines to destroy a workspace when it is:
- blocked on an operator decision;
- holding uncommitted changes or unpushed commits; or
- impossible to inspect.
The dashboard marks the reason. Push or discard changes to make a workspace eligible, or destroy it explicitly when you have finished with it.
Last updated on