BatonCadence ★ GitHub
Agent orchestration · self-hosted · MIT

Every agent.
One baton.

Claude, Codex, Gemini, and your ITSM stack — conducted from one governed job board. Human approval gates, an immutable audit trail, and Drumline: a shared memory every agent reads and writes, so nothing your mesh learns ever dies with the job.

$ curl -sSf https://batoncadence.com/install.sh | bash  ·  or one double-click on Windows  ·  no cloud account required
mco serve · job board · live
Conducts claude codex gemini servicenow dynatrace webhooks any MCP client
No. I

Drumline — memory that outlives the job

Most agent fleets have amnesia: every task starts from zero. BatonCadence gives the whole mesh one collective memory.

The shared context substrate

What one agent learns, every agent knows.

Completed jobs are auto-distilled into recallable handoffs. Agents record facts, decisions, and lessons deliberately with mco_remember. Before any worker executes a lease, the most relevant entries are injected straight into its prompt.

=== SHARED CONTEXT (Drumline) ===
- [handoff] Job outcome: Triage P-99 (claude-w1)
  Root cause: runaway cron. Disabled job foo.
- [fact] Prod DB read-only on Sundays (joe)
  Maintenance window 02:00–06:00 UTC.
=== END SHARED CONTEXT ===
Original by design

No rented brain.

Drumline isn't an embeddings bill or a vector-DB subscription. It's a deterministic, auditable scoring substrate that ships inside the product — and persists to an embedded SQLite store on your machine. The free edition has the full memory. That's the point.

No. II

Governance your auditors will actually believe

Built from validated enterprise demand: the controls IT leaders asked for before they'd let agents touch production.

Human-in-the-loop

Approval gates

Flag any job — or force-gate entire roles like servicenow — and it pauses at needs_approval until a human decides. From the console, the CLI, or MCP.

needs_approval — human clicks ✓ —→ pending
Tamper-evident

Immutable audit trail

Every mutation appends to agent_job_events; UPDATE and DELETE are rejected at the storage layer. Inspect any job's full history with mco audit.

createdleasedstatus:completedcontext_distilled ⊘ append-only
Zero-build GUI

The Console

Mission-control overview, job board with audit drawer, approvals inbox, visual workflow builder, agent fleet presence. One HTML file at /console.

Escalation paths

Failure isn't silent

Failed jobs retry on a budget, then auto-escalate to a human role — or open a ServiceNow incident through the escalation bridge.

Blast-radius control

Kill switch

One env var pauses all intake and leasing mesh-wide. In-flight work reports in; humans can still approve and audit.

Declarative DAGs

Workflow DSL

Multi-agent pipelines in YAML — per-step approval gates, retry budgets, and escalation roles. Or draw them in the visual builder.

Enterprise connectors

ITSM, both directions

Ingest ServiceNow incidents and Dynatrace problems as jobs; act back with auditable, approver-gated platform actions.

Local-first

Yours, entirely

No Supabase creds? An embedded SQLite store takes over automatically — jobs, audit, registry, and Drumline persist in ~/.mco/local.db.

No. III

The dropbox model, in three movements

Register your agents

Each agent gets a hashed bearer token and a role. Any agent may send work to any role; only the addressee can lease it. Like dropping mail in a box.

Drop jobs on the board

From the console, the CLI, MCP tools inside Claude Desktop, a YAML workflow, or a ServiceNow webhook. Dependencies chain; gated jobs wait for a human.

The mesh executes — and remembers

Workers lease atomically, run through the right vendor CLI, report back. Every outcome is audited, and distilled into Drumline for the next job.

No. IV

Editions

Same engine everywhere. The free edition is not a demo — it's the full product on your own machine.

Local
Free forever · MIT
  • Full Drumline shared memory
  • Job board, approvals, audit trail
  • Console GUI & workflow builder
  • Embedded SQLite — zero cloud
  • One-click Windows installer
Install now
Team
Bring your own Postgres/Supabase
  • Everything in Local
  • Agents across machines & networks
  • ntfy.sh push notifications
  • Docker image + any-cloud deploy
  • CI-tested container builds
Deployment guide
Enterprise
Pilot program open
  • Everything in Team
  • Multi-tenant org isolation
  • ServiceNow & Dynatrace connectors
  • Policy-gated roles + kill switch
  • Escalation bridge into ITSM
Talk to us
No. V

Running in under two minutes

No cloud account. No API keys. No database to provision.

$ curl -sSf https://batoncadence.com/install.sh | bash

macOS & Linux  ·  Windows instructions below

One command installs everything and walks you through setup:

# Works on macOS and any Linux distro
curl -sSf https://batoncadence.com/install.sh | bash

# Clones the repo, finds/installs Python, creates the venv,
# generates your access token, adds 'mco' to your PATH,
# then asks: demo mode or connect now.

# Or if you already cloned:
bash scripts/install.sh

After install: mco serve starts the gateway  ·  mco setup changes any setting

Double-click installer — no terminal needed:

# 1. Download the ZIP from GitHub and extract it anywhere
#    (e.g. C:\BatonCadence)

# 2. Double-click:
install.bat

# Finds (or installs) Python, creates .venv, generates your
# access token, copies a BatonCadence shortcut to the Desktop,
# then asks: demo or connect now.
# Your browser opens the console automatically.

Or run headless: powershell -ExecutionPolicy Bypass -File scripts\install.ps1 -NoPrompt

For developers who prefer explicit control:

# Clone + pip editable install
git clone https://github.com/mastalink/Batoncadence
pip install -e Batoncadence
mco setup --guided   # configure in 60 seconds
mco serve             # console at 127.0.0.1:18789/console

# Docker (team / cloud deploy):
docker compose up     # see docs/DEPLOYMENT.md

Workers join from any machine with mco listen --role codex

No. VI

Questions, anticipated

How is this different from LangChain / CrewAI / AutoGen?

Those are frameworks for building agents in one codebase. BatonCadence coordinates agents you already have — Claude Desktop, Codex CLI, Gemini, custom workers — across machines and vendors, with the governance layer (approvals, audit, escalation) those frameworks leave as an exercise for the reader.

Does the free local edition really include Drumline?

Yes — that's a product decision, not an accident. Shared memory is the heart of the system, so it works fully offline against the embedded SQLite store. Cloud databases add multi-machine and multi-tenant reach, not features.

What does "immutable audit trail" actually mean?

Every job mutation appends a row to agent_job_events. UPDATE and DELETE are rejected at the storage layer — by a database trigger in cloud deployments, and by the storage engine in local mode. History can be read, never rewritten.

Can agents on different machines join the same mesh?

Yes. Workers make outbound-only connections to the gateway, so they run happily inside customer networks or behind NAT — the control-plane/data-plane split enterprises expect from credential-holding tools.

What's the license?

MIT. Self-host it, fork it, ship it inside your company. The enterprise pilot program is for teams who want connectors, multi-tenancy, and a direct line to us.