One-shot implementation
The smallest workflow that delivers real work: take an isolated checkout, implement once, review once, publish, put the checkout away. No repair loop and no waiting on a pull request. Use it when the change is small enough that a rejected review means you want to look at it yourself.
Prerequisites
Section titled “Prerequisites”A repository folder with a remote and push permission, git credentials, and an authenticated harness allowed to open a pull request.
checkout → implement → review. A passing review publishes and cleans up; a rejected review keeps the checkout.
How it works
Section titled “How it works”checkout is a folder node with action="create". It makes one isolated checkout per repository folder on a generated branch, so the run never touches your working copy. cleanup is the matching action="remove".
review declares outputs="verdict:choice", and its two outgoing conditions tell Orbital that pass and reject are the only answers it will accept. A rejection ends the run at a failed terminal and deliberately skips cleanup, because removal would refuse anyway with uncommitted work in the checkout, and because the point of a rejection is that you want to read the diff.
Cleanup routes on worktree.clean. Removal measures every checkout first and removes none if any would lose dirty files or unpushed work, so the fallback ends at a failed terminal that names what happened rather than pretending the run succeeded.
Save, validate and run
Section titled “Save, validate and run”Download all files. Choose a repository with a remote and the permissions above. Make an .orbital/ directory inside it and extract the archive there, keeping every relative path. From that project folder run:
orbital validate .orbital/workflow.dotAdd the repository folder to a project in Orbital. On New run select the project and workflow graph, choose your authenticated harness, set work to a description or ticket URL, and supply the goal.
Expected behaviour
Section titled “Expected behaviour”A passing review publishes a pull request and ends successfully with the checkout removed. A rejected review ends failed with the checkout intact for you to inspect. A refused removal ends failed and retains the checkout.
Complete source
Section titled “Complete source”Every DOT file below is a complete runnable graph. The archive contains the same files. Prompt files are companions, not separate workflows.
workflow.dot
Section titled “workflow.dot”digraph one_shot { graph [version="1", entry="checkout", inputs="work", description="Implement one change in an isolated checkout, review it once and publish it"]
checkout [shape="folder", action="create"] implement [prompt="Implement the change described by {{ inputs.work }}. Follow the conventions already in the repository. Do not commit or push.", outputs="implementation_summary:text"] review [prompt="Review the change in the working folder. The implementor reported: {{ context.implementation_summary }}. Choose pass when the change is complete and correct, or reject when it is not.", outputs="verdict:choice"] publish [prompt="Commit the reviewed change on its own branch, push it and open a pull request that explains why the change exists.", outputs="publication_summary:text"] cleanup [shape="folder", action="remove"] published [shape="Msquare", outcome="success"] rejected [shape="Msquare", outcome="failed", label="Checkout kept for inspection"] retained [shape="Msquare", outcome="failed", label="Checkout retained to preserve local work"]
checkout -> implement implement -> review review -> publish [condition="verdict == 'pass'", weight="2"] review -> rejected [condition="verdict == 'reject'", weight="1"] publish -> cleanup cleanup -> published [condition="worktree.clean == true", weight="1"] cleanup -> retained}Add a local check with implementor with a local step, or follow the pull request to merge with the ticket workflow.