contrabass vs zeroshot
Terminal-first orchestrator for issue-driven AI coding-agent runs — polls Linear/GitHub, runs Codex/OpenCode in git worktrees with retries and verification. Go/Charm rebuild of OpenAI's Symphony. — versus — Executor–verifier orchestration for code changes: a conductor classifies the task, an executor works in an isolated worktree, and a separate verifier must reproduce the evidence — looped to approval.
Closest neighbour: both run coding agents unattended in git worktrees with verification and retries. Contrabass is issue-driven, polling Linear/GitHub for work; Zeroshot starts from a prompt and puts its intelligence in classification and an independent verifier instead of the intake side.
| contrabass | zeroshot | |
|---|---|---|
| Stars | 216 | 1.8k |
| Forks | 25 | 165 |
| Language | Go | JavaScript |
| License | Apache-2.0 | MIT |
| Last activity | 1 months ago | today |
| Topics | coding, orchestration | coding, orchestration |
| Curated connections | 8 | 6 |
contrabass — the curator's take
Pick it when your work already lives in Linear or GitHub issues and you want local coding agents (Codex, OpenCode, oh-my-*) burning down the backlog unattended — worktree per issue, branch-advance verification so 'success' means commits actually landed, stall detection, deterministic retries, and a Bubble Tea TUI plus embedded web dashboard for visibility. Skip it for single interactive sessions (just run the agent CLI) or if you want cloud-hosted execution — pullfrog is the GitHub-Actions version of this job. Young Symphony reimplementation: the workflow parser accepts more fields than the runtime consumes, and the default team mode needs tmux.
zeroshot — the curator's take
Built on one good sentence: the agent that wrote the code shouldn't be the one that says it works. A conductor scores every task on complexity (TRIVIAL→CRITICAL) and type (INQUIRY/TASK/DEBUG) with a junior model, escalating to a senior model when it answers UNCERTAIN, and that score picks the workflow — from single-worker with no validator up to debug pipelines with investigator/fixer/tester/completion-detector. Validators never share the executor's session or reasoning, and must reproduce reported failures. Runs default in a git worktree, keeps a crash-safe SQLite ledger, brings your own provider CLI and stores no keys. Reach for it when unattended runs need to be trustworthy, not fast. Skip it for interactive pair-programming: multi-agent verification loops cost several times a single agent's tokens and can run 90 minutes for one change. Linux and macOS only; the bundled Rust product is a separate, newer track.