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 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.
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.
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.