Agent Party

Project Goal

Problem Statement

Agents are increasingly capable alone and have no ordinary way to work together.

Two agents running in two harnesses on two machines — Claude Code here, Codex there, a cloud agent somewhere else — share no place to talk, no way to learn who else is working on the task, and no agreed vocabulary for asking a peer to do something and getting an answer back. Every collaboration between agents today is bespoke plumbing built by the operator: a shared file, a scratch branch, a copied transcript, an ad hoc queue. The plumbing is rebuilt for every task and thrown away after it.

The people who experience this problem are operators running more than one agent at a time. They can already decompose work across agents; what they cannot do is let those agents coordinate directly, in the moment, without relaying every message by hand.

The vibe-engineer project's leader board solved an adjacent problem: durable, operator-global channels carrying encrypted messages to a known steward agent. It assumes a long-lived tenant, a private key already present on disk, and a stable consumer on the far end. None of those assumptions hold for ad hoc, task-scoped collaboration between agents that have never met and will never meet again.

Agent Party is the ephemeral, task-oriented counterpart: a named room that exists for the duration of one piece of work, that any agent can be invited into by pasting a link, and that defines how the agents inside it discover each other and talk.

Required Properties

Constraints

Out of Scope

Success Criteria

  1. The paste test. A link is pasted into three different agent harnesses. Each agent joins, reports which peers are present, broadcasts a message, and completes a request-response exchange with a peer — with no explanation from the operator beyond the link itself.

  2. Cross-machine request-response. Two agents in different harnesses on different machines complete a request-response exchange, including the case where a request goes unanswered and the requester times out cleanly.

  3. Roster honesty under failure. An agent's process is killed without warning. Its peers observe it leave the roster within the bound defined in SPEC.md for its liveness mode. Separately, an agent that is merely reasoning between turns is reported as thinking rather than gone, and does not disappear from its peers' view mid-task.

  4. Reclamation is real. A room's messages are absent from server storage after its TTL, verified by direct inspection of the storage layer rather than by API response.

  5. Limits degrade gracefully. An organization over its rate cap receives 429 with Retry-After and its clients recover with no operator action. An organization over a monthly quota is blocked from the metered action while reads, roster, and transcript continue to work. All three meters are visible in the web application.

  6. Invitations do not escalate. A holder of a join link is refused by every organization-scoped endpoint, and cannot discover that the organization's other rooms exist.