Execution

onton is our open-source gameplan agent supervisor. Given a gameplan file, it will deterministically manage a team of coding agents through the gameplan's dependency graph, prompting them and then monitoring each pull request until it's ready to merge.

The lifecycle of a patch agent

A

A patch is unblocked

Whenever a patch is ready for development, onton spins up a new git worktree and prompts its coding agent backend with a patch prompt built from the gameplan.

The agent will implement the patch and open a PR.

B

Patch monitoring

onton will continuously handle PR feedback, in the form of CI checks, merge conflicts, and review comments—passing them back to the coding agent.

C

The patch is approved

When all feedback has been incorporated, the patch is ready for the engineer to perform any final review, and finally to merge it.

The loop is repeated for any newly-unblocked patches.

Patch dependency rules

The concept of "unblocked" for a patch is well-defined and intuitive:

A patch is unblocked if all of its dependencies are merged, or if all but one of its dependencies are merged, and the remaining dependency has an open PR.

A patch with no open dependencies will have a branch created from main; a patch with one open dependency will be branched off of its one open dependency.

Since onton and its coding backends are adept at rebasing and resolving merge conflicts, this allows the system to traverse a whole gameplan eagerly, but in an orderly, controlled manner.

Read more