OPEN SOURCE · MIT · CLAUDE CODE · CODEX · CURSOR
Agents write the code. Stageway makes them prove it.
One confirmed plan becomes a staged run: tests that fail for the right reason, an implementation checked against real command output, an optional independent review, and a guarded draft PR. Every stage starts a fresh agent session. Every check that counts is one the runner ran itself.
curl -fsSL https://raw.githubusercontent.com/MarkoArsov/agent-workflow/v0.1.0/install.sh | sh -s -- --global
Requires the matching published tag. Review the pinned script first if that is your policy.
MIT · zero runtime dependencies · runs locally · no account · no telemetry
- 01Planconfirmed
- 02Testsred → frozen
- 03Implementgreen
- 04Reviewfresh session
- 05Deliverqueued
Example run. Checks, attempts, and evidence stay on disk with the project.
THE VERIFICATION GAP
Passing tests is not a merge signal.
≈ 1 in 2
test-passing AI pull requests that the project's own maintainers would not merge
METR, March 2026: 296 AI-generated PRs reviewed by maintainers of 3 SWE-bench Verified repositories
≈ 24 pts
average gap between the automated grader and the maintainers' merge decisions
Writing code stopped being the hard part. Proving a change is right is the new bottleneck, and Stageway is built around it. Read the research
HOW IT WORKS
Five stages. Each one has to show its work.
Fresh horses at every stage: each stage starts a new session with only the plan, the project's rules, and the repository, so no chat history or bias carries over.
Specify
Research first, questions second. One complete plan in which every outcome maps to a named check.
Four plan files plus a validated pipeline.json
Tests
Written before the code. They must fail on an assertion, not a setup error. Then they're frozen.
Red proof and test-file hashes
Implement
Build, run every named check, fix, repeat. The runner then runs the checks itself.
Parsed green output bound to the current diff fingerprint
Review
A fresh session with the requirements and the actual diff. It never sees the implementation's reasoning.
Findings, and checks re-run after any correction
Deliver
Runner-owned commit, push, and draft PR. Refuses base branches; never force-pushes.
A delivery record per repository
Small change? Run specify, then implement, in one session: the same plan and named checks, no detached run.
BOUNDED AUTONOMY
Runs unattended. Stops only for what matters.
Recorded, run continues
- Review findings, which are advisory
- Advisory rule findings
- One route for every stage
- Usage the provider didn't report, kept as unknown
Blocks completion
- Secret material or a blocking rule finding
- Edits outside the declared paths, or to a read-only repository
- A named check fails, or red or green evidence is missing
- A frozen test changed, or your pre-existing changes were touched
- Stale green evidence fails its re-run before delivery
- A delivery guard trips: base branch, unrelated staged changes, a moved HEAD
- Configured attempts or time limits run out
Scope and guard violations stop the run at once. Failing checks go back to the agent as feedback first. Advisory findings never turn into babysitting, and a failed safety check never turns into a success summary.
THE SCORECARD
Measured against 36 checkpoints. Gaps included.
Most tools tell you they're safe. Stageway publishes the scorecard: what the runner enforces, what's partial, what belongs to your organization, and what's still open.
Intake
Context
Planning
Execution
Verification
Review and merge
Post-merge
- Implemented 11
- Conditional 2
- Partial 14
- External 5
- Gap 2
- Policy choice 2
Beyond the rubric
OPEN SOURCE
Open source, all the way down.
A verification layer you can't inspect is just another claim to trust. Every line that decides whether your agents' work passes is in the public repository.
MIT-licensed
Use it at work, change it, ship it.
Read the runner
Standard-library Python with zero runtime dependencies. The runner, parsers, and guards are ordinary code, not a hidden service.
Runs on your machine
Your agent CLIs, your logins, your repositories. No Stageway account, server, or telemetry.
Built in the open
Public CI on Linux and macOS, public tests, public scorecard, gaps included.
DESIGN
Every decision answers a failure mode.
Research before planning
Agents guess, or ask questions the repository can answer.
specify reads instructions and working examples first, then asks only what is missing.
Tests first, red on an assertion
A test written after the code can prove the code instead of the requirement.
The red stage must fail on assertions, not setup errors. Then the tests are frozen.
A fresh session per stage
Shared chat history biases later judgment.
Every stage and retry starts from the plan and the repository, not the previous conversation.
Mechanical verification
A confident report can still be wrong.
An agent's response is a proposal, not a completion. The runner runs the checks.
Stop only on safety
Treating every finding as a stop turns automation into babysitting.
Scope, secrets, frozen tests, failed checks, and delivery guards block. Review notes don't.
Open and local
A closed verification layer is one more claim to trust.
The whole verification layer is public code that runs on your machine.
COST AND MODELS
Scripts own the process. Models own the judgement.
- Any harness. Claude Code, Codex, or Cursor. No vendor lock-in.
- A route per stage. Explicit ordered fallbacks, never switched silently. An answer always resumes the session that asked.
- Two sessions minimum. The cheapest complete path is
specify, thenimplement. - No model calls where none are needed. Verification, status, watching, and delivery are local scripts.
REVIEW
Review is the new bottleneck. Stageway treats it that way.
Agents produce diffs faster than anyone can responsibly merge them. Use AI to understand a change before you judge it, keep your own queue short, and spend the waits reviewing. A named human still approves.
understandreview-guidepeer-pr-reviewaddress-pr-commentspr-preflightOne runner per project, and a short queue beats a pile of draft PRs. Review and everyday use
YOURS TO CHANGE
The workflow adapts to the repository, not the other way around.
Setup records commands, branches, agents, models, permissions, and delivery choices. Copy skills, capture rules, and add connectors and stages without touching installed defaults. Change it per project without forking, or fork the whole thing: it's MIT.
CHANGE WHAT YOUR AGENTS KNOW
stageway skill copy review
stageway skill new release-notes --description "Draft release notes from verified changes."
stageway refresh
Customize skills and stages
KEEP EXTENSIONS WITH THE PROJECT
.stageway/
├── skills/
├── rules/
├── references/
├── connectors/
└── stages.json
See the project layout
PICK YOUR PATH
Start where you are.
First time here
Adopting it for a team
Contributing
Maintaining your setup
READY TO START
Give your agents a route. Make every stage prove itself.
Open source under the MIT license. Contributions welcome.