Releases: theodorebeaupre-prog/usher
Release list
v0.3.2
The failover now tells the next agent what happened
Two hours ago, someone on r/ClaudeCode pulled this repo, ran the test suite, and pointed out a failure mode we hadn't covered: continuation, not routing. When agent A hits its cap halfway through editing your repo and usher fails over to agent B, replaying the original prompt isn't a handoff — B has no idea A already changed things, and might duplicate or revert that partial work.
They were right. This release is their suggestion, almost verbatim.
- Continuation notice: when a failover agent takes over from one that actually ran, its prompt now opens with a warning — a previous agent was already working on this task; inspect
git statusand the diff before continuing. The original prompt follows, untouched. - Envelope visibility: guarded attempts carry
"continuation_guard": truein the--jsonattempts array. First attempts and pre-0.3.2 envelope shapes are byte-identical. - Opt-out:
continuation_guard = falsein config.toml if your pipeline needs the prompt verbatim. - An agent that fails to start never touched the workspace, so it doesn't trigger the notice.
Their four-step scenario is now an E2E test in tests/e2e_headless_test.go. The stronger version of their idea — a user-supplied handoff file — is open as #6 if you want to build it.
brew upgrade usher
v0.3.1
v0.3.0
The last feature stop before 1.0. Eight agents, one door. 🔦
Highlights
--json— one machine-readable envelope as the only stdout write: final agent, task type, exit code, output, and a per-attempt array (quota events and timeouts included).usher -p --json "task" | jq .agentjust works.--timeout— a hung agent can't stall your pipeline anymore: usher kills the whole process group (helpers and all) and exits 124, GNU convention. The hung-agent test went from 31s to 2.4s during review.- stdin replay — piped stdin is buffered once and replayed to every failover attempt, so the second agent sees the same input the first one did.
- Two new adapters — Qwen Code and Amp join the table (eight total).
- Ledger accuracy: launch events are only recorded for attempts that actually started.
Install
go install github.com/theodorebeaupre-prog/usher@latestor grab a binary below. Full story in the README.
v0.2.0
Headless mode arrives: usher -p routes your task, runs the winner's print-and-exit mode with pure-stdout passthrough, and automatically fails over to the next agent on a usage cap — your nightly job never dies to a rate limit. Plus GitHub Copilot CLI and Cursor CLI adapters (six agents), grounded quota fixtures, and honest decision-line copy.
v0.1.0
The first seating. Smart routing across Claude Code, Codex, Gemini CLI, and opencode using the subscriptions you already pay for — heuristic router with --why transparency, quota ledger with per-vendor decay, native TUI handoff, and the animated pixel-usher banner. Right this way.