Overview
The worker is started withzombied worker. It claims work from Redis Streams, orchestrates the run lifecycle (repo clone, stage execution, gate loop), and pushes branches and opens pull requests on GitHub when runs complete.
Infrastructure
Workers run on OVHCloud bare-metal machines connected to the control plane via Tailscale. Bare-metal provides the CPU, memory, and disk performance needed for compilation-heavy workloads without the overhead of nested virtualization.Directory structure
Each worker machine follows a standard layout:Systemd services
The worker runs as a systemd service with a hard dependency on the executor sidecar. The executor must be running before the worker starts.Deployment
Thedeploy.sh script handles binary replacement, service restart, and health verification:
- Stops the worker service (waits for in-flight runs to drain).
- Replaces binaries in
bin/. - Restarts the executor service.
- Starts the worker service.
- Verifies health via
zombied doctor worker.
Run lifecycle
When a worker claims a run from Redis:- Clone the target repository using the GitHub App installation token.
- Execute each stage by sending JSON-RPC requests to the executor sidecar.
- Run the gate loop (
lint->test->build) after each stage. - If gates fail, feed errors back to the agent for self-repair (up to 3 retries).
- Push the implementation branch and open a pull request.
- Record the scorecard and mark the run as complete.
Networking
Workers connect to:| Destination | Network | Purpose |
|---|---|---|
| PostgreSQL | Tailscale | Run state, workspace config |
| Redis | Tailscale | Work queue, distributed locks |
| GitHub | Public internet | Clone, push, PR creation |
| Executor | Unix socket | Stage execution |