Skip to content
agent-ops
Menu

Self-hosted agent-dispatch control plane

Turn labeled GitHub Issues into eval-gated pull requests

Label a task agent-ready and move it to Next on the Project board. One self-hosted runner grades the task, runs a coding agent on a fresh branch, grades the diff and opens a pull request. Anything outside a narrow allowlist is held for a human to merge.

Sample dispatch: owner/repo task 42
  1. Status Next + agent-readydispatched
  2. task-definition-evalDELEGATABLE
  3. Coding agent on agent/task-42claude
  4. completeness-eval (up to 3 tries)DONE
  5. Pull requestheld for human merge

gh workflow run dispatch -f task_id=42 -f target_repo=owner/repo

From Issue to pull request

  1. Step 1

    Mark the task

    A task is a GitHub Issue on the Project board. Add the agent-ready label and, optionally, an agent label such as agent:codex. No agent label means Claude.

  2. Step 2

    Move it to Next

    Moving the task’s Status to Next is the go-signal. The Lambda relay confirms the label and calls workflow_dispatch on the control repo with the task number, URL, target repo and agent.

  3. Step 3

    Grade the task

    task-definition-eval reads the task text. BOUNCE stops the run before any file is edited and moves the task to Waiting+needs-you with what is missing.

  4. Step 4

    Run the coding agent

    The runner clones the target repo onto agent/task-<id>, loads its knowledge base and conventions files, and hands the task to the coding agent.

  5. Step 5

    Grade the diff

    completeness-eval grades the diff against the task, up to 3 tries. For a public-facing repo, publish-safety-eval runs last; HOLD pushes nothing.

  6. Step 6

    Open the pull request

    The pull request carries the eval verdicts. Dependency bumps and whitespace-only diffs with a DONE verdict and green CI may auto-merge; everything else is held for human merge. A merge moves the task to Done.

The whole path →

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.