Sortie is a coding agent orchestrator. It polls an issue tracker for matching tickets, gives each one an isolated workspace, launches the coding agent you already use on it, and follows the work through CI, review, and merge. Sortie does not write code or improve the agent's output: it owns everything between the agent finishing and the pull request merging.
A single workflow file defines which issues to pick up, which agent to run, how many agents run at once, and the prompt template, with issue fields filled in per ticket. Editing the file changes the next session without a restart.
Failed runs retry with backoff. When CI and review feedback are enabled, failing checks and reviewer comments route back into the same agent session. Token budgets cap spend per issue, run history persists in SQLite across restarts, and finished work moves the ticket to a handoff state.
Sortie runs as one binary with no separate database server or job queue, on your own machine or server, and sends no telemetry. Its architecture draws on OpenAI Symphony, but it is written in Go, persists state in SQLite, and uses pluggable adapters for trackers and agents.
Features
- Issue trackers: GitHub Issues, GitLab Issues, Gitea Issues (including Forgejo and Codeberg), Linear, and Jira
- Coding agents: Claude Code, Copilot, OpenCode, Codex, Kiro, and Gemini
- Parallel sessions: runs several agents at once, each in its own isolated workspace
- Workflow file: one file holds the issue filter, agent choice, concurrency, and prompt template, and reloads without a restart
- Retries: failed runs retry automatically with backoff
- CI and review feedback: failing checks and review comments go back to the agent session
- Cost tracking: tracks token use per issue and caps it before it overspends
- Persistent state: run history in SQLite survives restarts and resumes where it stopped
- Handoff transitions: the orchestrator moves tickets to review or done states instead of relying on the agent
