| Hat | Stage | Upstream gate | Output | Unblocks |
|---|---|---|---|---|
| Orchestrator | Execution plan | PRD + SPEC + TDD + TSD all approved | repos/*/ai/fix_plan.md per repo + ralph/workspace-plan.md rollup |
/ralph-dispatch |
When to Use
All upstream artifacts are approved and user wants per-repo fix_plans so ralph can execute.
Hard Gate — Refuses Unless All True
For every PRD being planned:
- PRD
approvedANDapproved.jsonhasPRD-{NNN}. - For every target repo with
role=serviceorshared-lib: SPECapproved; if a TDD exists, TDDapproved. - For every target repo with
role=automation-tests: TSDapprovedand test-case setapproved.
Any failure → print Gate failure. Missing approvals: {list}. Run wb.publish then wb.approve after review. and stop.
What This Skill Adds Over ralph-plan Alone
| Feature | Source |
|---|---|
| Plan generation | ai-ralph native |
| Approval gate | this skill |
Context routing via sync-context.sh |
this skill |
Workspace rollup ralph/workspace-plan.md |
this skill |
Protocol
- Scope — ask PRDs (default: approved PRDs with empty
fix_plan reposcolumn inEPIC-PIPELINE.md), target repos (default: all), engine (default:DEVIN_DEFAULT). - Run adapter:
./scripts/ralph-plan.sh [--agent {engine}] [{repo}]. - Aggregate per-repo fix_plans into
ralph/workspace-plan.mdrollup — PRDs planned, tasks per repo table, risks/blockers. - Update
EPIC-PIPELINE.md— populatefix_plan repos, setExecto~. - Suggest next:
/ralph-dispatch.
Do Not
- Bypass approval gate. “Urgent” is not a reason.
- Switch engines mid-run. Pick one; rerun if needed.