Review Lanes
Review lanes are role worktrees used for reviewing another lane's branch. Early consumer use
found that detached FETCH_HEAD reviews are easy to lose and hard to repeat, so
fairway should document named review branches as the default pattern.
Principles
- Review is routed by config, not by whoever is idle.
- The claimant cannot approve their own work.
- Review branches are named and disposable.
- Reviewer/merge lanes can own the integration step when the orchestrator is not doing it: verify the scratch branch, merge locally into the configured main branch, and push the integrated main branch for CI.
- Findings live in fairway review records or artifacts, not random repo-root files.
- Model/provider diversity is useful when practical, but provider choice never bypasses role ownership or gates.
Recommended Flow
Inside the reviewer lane worktree:
git fetch origin
git rebase origin/main
git fetch origin agent/backend
git branch -f review/backend origin/agent/backend
git switch review/backend
fairway record review T-042 --reviewer arch --verdict approve --reason "schema and API impact reviewed"
The branch name should be derived from config:
review/{source-role}
fairway route review <task-id> determines which review role(s) are required.
fairway merge-ready <task-id> verifies the required approvals exist before the
coordinator merges.
Reviewer/Merge Lane
When execution is split across disposable provider threads, the merge lane is the control point that prevents remote branch sprawl:
- fetch or inspect the worker branch locally,
- run focused validation and review,
- record the Fairway review verdict,
- merge or squash into the configured main branch locally,
- push the main branch or approved integration branch with push intent
main-validationorintegration, - record CI/deploy evidence and close out the worker branch.
After the last required review domain is approved, fairway coordinator plan
surfaces a review-complete handback for the coordinator or reviewer/merge lane.
That handback is a signal to run fairway merge-ready <task-id> and continue the
configured merge/push/release workflow if it passes. It is not approval to
auto-merge or push, and it does not replace merge-ready.
Once the coordinator records the merge/push/closeout decision, record normal
evidence such as push intent, lane closeout, release-run/release-verify output,
or an explicit review-handback-ack evidence row. Coordinator plan treats those
records, and terminal tasks with recorded completion commits, as closed for
review-handback purposes so older completed work does not reappear as a fresh
next action.
The merge lane should not push every provider thread branch just to get CI. Worker branches are scratch by default; the merged batch is the remote validation unit unless a review, release, backup, or exception intent is recorded.
Future Command
fairway review checkout <task-id> [--source-role <role>]
This should:
- resolve the source role branch,
- fetch it,
- create or reset
review/{source-role}, - switch the current review worktree to that branch,
- print the task detail and required review routes.