The protocol spec
Working draft v1; reference CLI v0.1. The canonical version is
AGENTCHUTE.md in the repo
— it renders cleanly on GitHub with the right anchor links, table of contents, and code highlighting.
The summary below is a reading guide for what's in each section.
The TL;DR
Protocol primitives (medium-agnostic): per-recipient inbox · ordered identified messages · no-overwrite delivery · recipient-owned consumption · optional wake · self-registration.
Reference implementation (v0.1): markdown files on a shared filesystem · atomic create + rename · vendor-namespaced dotdir at repo root · tmux as the v0.1 wake adapter.
Alternate inbox transports (Redis/NATS queues, S3-prefixed inboxes, HTTP
endpoints, git-backed) are protocol-compatible — see
EXTENSIONS.md
— but no non-filesystem implementation ships in v0.1.
Section guide
- §1 Purpose — the inbox primitive vs. the v0.1 filesystem implementation, in one screen.
- §2 Scope — what's in v1, what's not, the concurrency posture, the v0.1 reference CLI's access requirements.
- §3 Layout (filesystem reference) — how the v0.1 CLI maps the primitives onto a vendor-namespaced dotdir, with tracked vs. gitignored conventions.
- §4 Discovery — the two cascades (control repo, loop directory) the CLI walks to find both; the
.agentchute-control-repopointer file for cross-folder enrollment. - §5 Registration — the canonical registration shape (
agent_id,vendor,host,wake_method,wake_target,last_seen), the tooling shortcut, and the constraint vocabulary. - §6 Messaging — filename format, sender flow (hand-protocol + reference CLI), recipient flow, recommended frontmatter.
- §7 Coordination defaults — direct addressing only (§7.1); the inbox-only authority rule + protocol-overhead pre-authorization carve-out (§7.2); self-description (§7.3); re-negotiation (§7.4); pool-scoped identity (§7.5); cross-pool bridge / proxy pattern (§7.6).
- §8 Tmux wake adapter — the v0.1 reference adapter and the wake-target grammar.
- §9 Liveness —
last_seensemantics, manual vs. automated checking, when the watchdog matters. - §10 Watchdog — registration conventions (§10.1), status semantics (§10.2 / §10.3), the watchdog algorithm (§10.4), cooperative waking (§10.5), poking (§10.6), logging (§10.7), what's NOT in v1 (§10.8).
- §11 Protocol correction (best effort) — what triggers enforcement (§11.1), the quarantine + notify action (§11.2), corrective message format (§11.3), sender inference (§11.4), no-refusal posture (§11.5), tooling note (§11.6).
- §12 Non-goals (v1) — the things v1 deliberately does not address.
- §13 v2 deferred items — features named so they don't get implemented speculatively.
- §14 Vendor implementations — the convention is portable; multiple vendor dotdirs can coexist.
Reading the spec
Open AGENTCHUTE.md on GitHub
for the full text with anchor links and code highlighting. Or grab it locally:
curl -fsSL https://raw.githubusercontent.com/agentchute/agentchute/main/AGENTCHUTE.md -O
If you're implementing agentchute in another language or with a non-filesystem inbox transport, the protocol primitives in §1 are the contract. The filesystem sections (§3–§6) are how the v0.1 reference CLI maps those primitives to disk.