AI-powered CI autopilot worker/runtime - detects GitHub Actions failures and dispatches repairs via a Python agent
ci-autopilot packages the worker/runtime side of the platform. It monitors GitHub Actions workflows, detects failures, triages them via an issue queue, and dispatches autonomous repairs using a Python agent backed by Codex. It runs on a self-hosted runner and provides the execution path from queued repair task to proposed fix.
The agent (agent/poll_once.py) is a Python 3.12 stdlib-only program that polls the issue queue, picks up queued repair tasks, and dispatches them to the Codex repair pipeline. No external dependencies are required.
autopilot-coreis the control plane for org-level scheduling, rollout, and PR governance.ci-autopilotis the worker/runtime implementation for runner execution, queue polling, and repair dispatch.autopilot-demois the demonstration target used to show the runtime and control plane working together.
flowchart LR
A["GitHub Actions\nfailure detected"] --> B["autopilot-failure-intake\n(intake workflow)"]
B --> C["Issue queue\n(runner-offline label)"]
C --> D["agent/poll_once.py\n(Python 3.12)"]
D --> E["Codex\n(repair dispatch)"]
E --> F["PR / fix\ncommitted"]
Core components:
- autopilot-failure-intake.yml - Intake workflow triggered on
workflow_runfailure events; creates a queued issue - autopilot-create-issue.yml - Creates GitHub issues via
actions/github-scriptwhen monitored workflows fail - fixer.yml - Main CI autopilot; runs
agent/poll_once.pyon the self-hosted Windows runner - agent/poll_once.py - Python 3.12 stdlib agent; polls the issue queue and dispatches repairs
- runner-smoke-test.yml - Smoke tests the self-hosted runner on demand
- runner-health.yml - Manual runner health check (dispatch only)
- Deliberately small runtime surface: Python 3.12 stdlib-only agent for easier audit and rebuild.
- Clear separation of concerns: issue intake and governance stay in the control plane; repair execution stays on the worker.
- Self-hosted runner model supports enterprise network boundaries, managed toolchains, and least-privilege token handling.
- Queue-driven processing creates an auditable handoff between CI failure detection and agent action.
# Prerequisites: Python 3.12, GitHub CLI, GH_TOKEN env var
export GH_TOKEN=<your_token>
python -m agent.poll_onceFor full runner registration, service setup, and local development instructions see the Setup Guide wiki page.
- Read docs/control-plane.md for the issue-queue contract with
autopilot-core. - Use docs/runner-setup.md to provision the worker host.
- Use docs/operations.md and docs/troubleshooting.md for day-2 support.
| Source | Description |
|---|---|
| docs/architecture.md | System architecture and design goals |
| docs/runner-setup.md | Runner registration and service setup |
| docs/operations.md | Day-2 operations runbook |
| docs/security.md | Security posture and access model |
| docs/control-plane.md | Failure intake and issue control plane |
| docs/troubleshooting.md | Lightweight troubleshooting guide |
| GitHub Pages | Professional docs landing page |
Wiki: Home | Setup Guide | Architecture | Configuration Reference
Part of the Coding-Autopilot-System ecosystem alongside the adjacent autopilot repos: autopilot-core | autopilot-demo