Autonomous Mode
Ralph loops over ready work until the spec ships, blocks, or hits the iteration cap.
scripts/ralph/ralph.shscripts/ralph/ralph.sh --watchscripts/ralph/ralph.sh --watch verboseReview gates
Section titled “Review gates”Configure in scripts/ralph/config.env:
REQUIRE_PLAN_REVIEW=1PLAN_REVIEW=codexWORK_REVIEW=codexSupported review backends include RepoPrompt, Codex, Copilot, and none. Production Ralph runs should use a real review backend.
Execution contract
Section titled “Execution contract”Ralph should not invent new scope. Each loop must:
- Re-read the spec and ready task.
- Check current git state.
- Execute only the ready work.
- Run configured review.
- Record receipt state.
- Stop on blocker, missing requirement, or unsafe ambiguity.
flowchart LR Ready["Ready task"] --> Execute["Fresh execution"] Execute --> Review["Review backend"] Review --> Receipt["Receipt"] Receipt -->|pass| Continue["Continue"] Receipt -->|block| Human["Human handover"]
Team usage
Section titled “Team usage”In teams, Ralph should run after product and technical ownership have already happened:
/flow-next:interview fn-1 --scope=business/flow-next:interview fn-1 --scope=technical/flow-next:plan-review fn-1scripts/ralph/ralph_once.shDo not use Ralph as a substitute for product clarification. It is an execution loop, not a product owner.
Monitor
Section titled “Monitor”scripts/ralph/ralph.sh --watchscripts/ralph/ralph.sh --watch verboseUse watch mode when you want to keep the Ralph terminal visible during a long run. It shows the current task, review state, receipts, and stop reason without requiring a separate global TUI install.
Stop conditions
Section titled “Stop conditions”- Review verdict is not shippable.
- Required command or tool is unavailable.
- The ready task requires a decision outside the spec.
- Git state is unexpectedly dirty.
- Evidence cannot be produced.
- Iteration cap is reached.
A clean stop is success. It preserves the handover so a human can decide the next step.