You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Port the orchestration capabilities of justrach/devswarm into forge as a native, trackable layer on top of the existing crates. DevSwarm exposes 37 MCP tools that wrap parallel agent orchestration, task chains, review-fix loops, code-intelligence (blast-radius), and GitHub project management. The goal of this epic is to bring those capabilities into codegraff so we get the same multi-agent leverage without running a second MCP server.
DevSwarm has spent ~440 closed issues converging on the right shapes (allocator discipline, MCP shutdown handling, worker tool-scoping, worker-prompt isolation). We get to skip those mistakes.
Orchestrator/Synthesizer: Orchestrator (Opus-tier) decomposes a swarm task → workers (Sonnet-tier) execute in parallel → synthesizer (Sonnet-tier) aggregates one cohesive output.
Role + Mode routing: 8 roles (finder/reviewer/fixer/explorer/architect/orchestrator/synthesizer/monitor) × 4 modes (smart/rush/deep/free). Each role pins a default model tier (Sonnet for most, Opus for architect/orchestrator, Haiku for monitor).
Goal
Port the orchestration capabilities of
justrach/devswarminto forge as a native, trackable layer on top of the existing crates. DevSwarm exposes 37 MCP tools that wrap parallel agent orchestration, task chains, review-fix loops, code-intelligence (blast-radius), and GitHub project management. The goal of this epic is to bring those capabilities into codegraff so we get the same multi-agent leverage without running a second MCP server.Why this is worth doing
DevSwarm capabilities being ported
Tools (37 total, 7 categories)
run_agent,run_swarm,run_task,review_fix_loop,run_reviewer,run_explorer,run_zig_infra→ [DSP-1] Agents: port run_swarm / run_task / review_fix_loop + role+mode routing from devswarm #55decompose_feature,get_project_state,get_next_task,prioritize_issues→ [DSP-2] Planning tools: decompose_feature / get_project_state / get_next_task / prioritize_issues from devswarm #58create_issue,update_issue,close_issue,get_issue,create_issues_batch,close_issues_batch,link_issues→ [DSP-3] Issues tools: create/update/close/get + batch + link_issues from devswarm #59create_branch,get_current_branch,commit_with_context,push_branch,recently_changed,git_history_for→ [DSP-4] Git tools: branch ops, commit_with_context, push_branch, recently_changed, git_history_for from devswarm #56create_pr,get_pr_status,list_open_prs,merge_pr,get_pr_diff,review_pr_impact→ [DSP-5] Pull Request tools: create/status/list/merge/diff + review_pr_impact from devswarm #54blast_radius,relevant_context,symbol_at,find_callers,find_callees,find_dependents→ [DSP-6] Code Intelligence: blast_radius, relevant_context, symbol_at, callers/callees/dependents from devswarm #57Core patterns
finder_fixer,reviewer_fixer,explore_report,architect_build.NO_ISSUES_FOUNDor hits max-iter.Overlap with already-open codegraff issues (do NOT duplicate)
Out of scope for this epic
Bug-class lessons from devswarm's closed issues (apply during port)
When implementing children, watch for these patterns devswarm hit and burned days fixing:
Acceptance criteria for the epic as a whole
reviewer_fixeris the obvious one) runs end-to-end against this repo and closes the loop on a real issue.