-
Notifications
You must be signed in to change notification settings - Fork 0
Harden ci-autopilot portfolio docs #1965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,23 @@ | ||
| # ci-autopilot | ||
|
|
||
| AI-powered CI autopilot — detects GitHub Actions failures and autonomously dispatches repairs via a Python agent | ||
| AI-powered CI autopilot worker/runtime - detects GitHub Actions failures and dispatches repairs via a Python agent | ||
|
|
||
| [](https://github.com/Coding-Autopilot-System/ci-autopilot/actions/workflows/ci.yml) | ||
| [](https://www.python.org/) | ||
| [](LICENSE) | ||
|
|
||
| ## Overview | ||
|
|
||
| ci-autopilot is an AI-powered CI repair agent that 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 coordinates the full lifecycle from failure detection to merged fix. | ||
| `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. | ||
|
|
||
| ## Repo boundary | ||
|
|
||
| - `autopilot-core` is the control plane for org-level scheduling, rollout, and PR governance. | ||
| - `ci-autopilot` is the worker/runtime implementation for runner execution, queue polling, and repair dispatch. | ||
| - `autopilot-demo` is the demonstration target used to show the runtime and control plane working together. | ||
|
|
||
| ## Architecture | ||
|
|
||
| ```mermaid | ||
|
|
@@ -25,12 +31,19 @@ flowchart LR | |
|
|
||
| **Core components:** | ||
|
|
||
| - **autopilot-failure-intake.yml** — Intake workflow triggered on `workflow_run` failure events; creates a queued issue | ||
| - **autopilot-create-issue.yml** — Creates GitHub issues via `actions/github-script` when monitored workflows fail | ||
| - **fixer.yml** — Main CI autopilot; runs `agent/poll_once.py` on 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) | ||
| - **autopilot-failure-intake.yml** - Intake workflow triggered on `workflow_run` failure events; creates a queued issue | ||
| - **autopilot-create-issue.yml** - Creates GitHub issues via `actions/github-script` when monitored workflows fail | ||
| - **fixer.yml** - Main CI autopilot; runs `agent/poll_once.py` on 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) | ||
|
|
||
| ## Enterprise proof points | ||
|
|
||
| - 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. | ||
|
|
||
| ## Quick Start | ||
|
|
||
|
|
@@ -42,6 +55,12 @@ python -m agent.poll_once | |
|
|
||
| For full runner registration, service setup, and local development instructions see the [Setup Guide](https://github.com/Coding-Autopilot-System/ci-autopilot/wiki/Setup-Guide) wiki page. | ||
|
|
||
| ## Runbook path | ||
|
|
||
| 1. Read [docs/control-plane.md](docs/control-plane.md) for the issue-queue contract with `autopilot-core`. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This step describes Useful? React with 👍 / 👎. |
||
| 2. Use [docs/runner-setup.md](docs/runner-setup.md) to provision the worker host. | ||
| 3. Use [docs/operations.md](docs/operations.md) and [docs/troubleshooting.md](docs/troubleshooting.md) for day-2 support. | ||
|
|
||
| ## Documentation | ||
|
|
||
| | Source | Description | | ||
|
|
@@ -51,10 +70,11 @@ For full runner registration, service setup, and local development instructions | |
| | [docs/operations.md](docs/operations.md) | Day-2 operations runbook | | ||
| | [docs/security.md](docs/security.md) | Security posture and access model | | ||
| | [docs/control-plane.md](docs/control-plane.md) | Failure intake and issue control plane | | ||
| | [docs/troubleshooting.md](docs/troubleshooting.md) | Lightweight troubleshooting guide | | ||
| | [GitHub Pages](https://coding-autopilot-system.github.io/ci-autopilot/) | Professional docs landing page | | ||
|
|
||
| **Wiki:** [Home](https://github.com/Coding-Autopilot-System/ci-autopilot/wiki/Home) | [Setup Guide](https://github.com/Coding-Autopilot-System/ci-autopilot/wiki/Setup-Guide) | [Architecture](https://github.com/Coding-Autopilot-System/ci-autopilot/wiki/Architecture) | [Configuration Reference](https://github.com/Coding-Autopilot-System/ci-autopilot/wiki/Configuration-Reference) | ||
|
|
||
| ## Ecosystem | ||
|
|
||
| Part of the [Coding-Autopilot-System](https://github.com/Coding-Autopilot-System) ecosystem: [gsd-orchestrator](https://github.com/Coding-Autopilot-System/gsd-orchestrator) | [Promptimprover](https://github.com/Coding-Autopilot-System/Promptimprover) | [autogen](https://github.com/Coding-Autopilot-System/autogen) | ||
| Part of the [Coding-Autopilot-System](https://github.com/Coding-Autopilot-System) ecosystem alongside the adjacent autopilot repos: [autopilot-core](https://github.com/Coding-Autopilot-System/autopilot-core) | [autopilot-demo](https://github.com/Coding-Autopilot-System/autopilot-demo) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # 20260610_ci-autopilot_boundary-readme | ||
|
|
||
| Issue Description: README overlapped with neighboring repos and undersold the worker/runtime role. | ||
| State: It was not explicit enough that this repo is the runner-side execution path. | ||
| Action: Added repo boundary language, enterprise proof points, and a short runbook path in `README.md`. | ||
| Result: The repo now reads as the worker/runtime implementation instead of a generic platform overview. | ||
| Diff Patch: Updated `README.md` only. | ||
| Rationale: Portfolio readers need a fast distinction between governance/control plane and runner-hosted execution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new boundary wording says this repository provides an execution path from a queued task to a proposed fix, but
agent/poll_once.pyonly lists queued issues and exits; it neither invokes Codex nor creates or proposes a fix. This overstates the currently implemented worker behavior and will mislead readers evaluating or operating the repository.Useful? React with 👍 / 👎.