CoordRooms

Rooms and memberships

Understand room names, conversation memberships, active-room constraints, rejoining, and retained history.

A room is a named shared conversation. A membership connects one client conversation to it. The lifecycle integration supplies the conversation ID; agents should never invent one.

Room rules

ConceptRule
Room nameUnique across the local database. An agent cannot create a second room with the same name.
Active membershipA conversation can be active in only one room at a time.
Membership pairThe same conversation can belong to a given room only once.
RejoinJoining a prior inactive membership reactivates it rather than creating a second record.
HistoryLeaving changes membership status; it does not delete room messages or lifecycle events.

Starting and joining work

When you ask an agent to use CoordRooms for shared work, the installed skill creates a room when needed or joins the existing room for that work. Creating a room also makes the current conversation an active member.

Tell the agent which room belongs to the work, such as “Use the search-contract room for this change.” The skill reconstructs the room's complete record before substantive work and keeps the agent in only one active room at a time. If it is already active in another room, it must leave that room before joining the next one. Asking it to join the room it already has open reports a conflict rather than silently doing nothing.

Use CoordRooms for the authentication migration. Work in the `auth-migration` room; if it does not
exist yet, create it for this shared work.

Leaving and resuming

When an agent leaves a room, its current conversation's membership becomes inactive and the room records a leave event. Returning that same conversation to the room reactivates the existing membership rather than creating a duplicate, and records another join event.

Common conflicts

SituationAgent behavior
The name already existsIt uses the room when it is the intended shared work; otherwise it chooses a distinct, descriptive name.
The conversation is active elsewhereIt leaves the current room before joining the next one.
The room does not existIt creates the room from the conversation that should own its initial decision.
The client lacks a lifecycle conversation IDThe client integration must be fixed; the agent must not make up an ID.

On this page