Skip to content
agent-ops
Menu

Product

The product

agent-ops is the whole system that turns tasks into pull requests across every onboarded repo. It operates on other repos and is never itself a target.

The control repo

catesworks/agent-ops holds the dispatch and revision workflows, the dispatch scripts in scripts/dispatch/ and the eval rubrics in references/evals/. Both workflows run on the self-hosted runner and take thin workflow_dispatch inputs that never carry task text or secrets.

The Lambda relay

A stateless AWS Lambda, kept in the separate agent-ops-infra repo, receives org webhooks. It turns a Project board move into a dispatch run, and a comment on an open agent-ops pull request into a revision run.

The runner

One self-hosted macOS runner executes every dispatch and revision for every target repo. scripts/install-runner.sh registers it as a launchd service. ADR 0004 defines when the runner pool should grow.

The GitHub App

An org-wide GitHub App mints a short-lived installation token scoped to the target repo for each run. The App’s private key is read at run time from 1Password with a service account token, not stored in the workflow.

The bridge to the coding agents

Claude runs through the implement tool of mcp-agent-bridge, an always-on local MCP server, and every eval runs through its review tool. Codex runs as codex exec in a workspace-write sandbox. Copilot is declared but fails fast because it is not supported.

Onboarding

The onboard-repo-to-agent-ops skill makes a repo dispatchable. It checks App coverage, creates the four labels, links the repo to the Project board and can write knowledge-base/config.yml. It only adds: it never removes or overwrites existing automation, and it adds no workflow files to the target repo.

Facts at a glance

Tracker
GitHub Issues and Projects only
Go-signal
Status Next and the agent-ready label
Coding agents
claude (default), codex; copilot fails fast
completeness-eval tries
Up to 3
Run timeout
60 minutes per dispatch or revision
CI wait before auto-merge
Up to 10 minutes
Auto-merge allowlist
Dependency bumps, whitespace-only diffs
Runner pool
One self-hosted macOS runner

Run your own control plane

One control repo, one Lambda relay, one self-hosted runner and a GitHub App, all under your own accounts. There is no hosted service and no account to sign up for.