Rooms reference

This page lists the runtime facts for Orchestrator Rooms. For the user task, see Create and run a Room.

Availability

Rooms are enabled by default when the host supports persistent agent sessions. Set SERO_ROOMS=0 or SERO_ROOMS=false before Sero starts to disable Rooms as an emergency measure.

SERO_ROOM_MODELS limits Rooms on the machine to a comma-separated list of provider/model values. SERO_ROOM_THINKING limits the allowed thinking levels. Values that do not match an available option are ignored and logged.

Terms

TermMeaning
Roomone problem, its temporary team, limits, messages, work, and result
Conductorthe member that coordinates the team and decides when work is complete
Memberone persistent agent session with a defined job and approved access
Proposalthe team, limits, access, and delivery plan shown before start
Briefthe current objective, decisions, work, blockers, questions, and success checks
Artifacta file or other result recorded by a member
Claima notice that a member intends to work on a path or named resource

Room statuses

StatusMeaning
draftthe Room is being described or reviewed
adjustingSero is revising the proposal
startingSero is creating approved member sessions and workspaces
readysetup is complete and member work can start
runningthe scheduler can start member turns
pausingcurrent turns are settling; no new turn starts
pausedno member turn can start until resume
completingSero is delivering the result and closing resources
completedthe result was delivered and the Room ended
failedthe Room ended because it could not recover
cancelledthe user stopped the Room

completed, failed, and cancelled are final states.

Member access

Each member has one approved permission level:

LevelWorkspaceCommandsVersion control
read-onlyreadnoneread
edit-workspaceread and write in its assigned workspaceallowedlocal changes
edit-and-pushread and write in its assigned workspaceallowedpush and pull-request actions

The host checks each requested tool against the member's permission level. A tool that needs more authority is removed from the approved grant. An unknown plugin tool is denied until Sero has an explicit permission mapping for it.

The Conductor can change tasks, priorities, and instructions. It can retire, suspend, or resume members, but it cannot add or replace members after the Room starts. It also cannot increase a member's access. The host grant fixes the member set and each member's tools for the running Room.

The Room can ask the user to approve a higher time or cost limit. Requests for new members or increased access are rejected while the Room runs.

Workspace modes

ModeBehavior
read-only-sharedmembers read the workspace and do not edit it
worktree-per-membereach editing member receives a separate managed Git worktree
shared-working-treeediting members use one working tree and must coordinate overlapping paths

worktree-per-member is the normal mode for editing teams. Read-only members do not need a worktree.

Path claims

A claim records that a member intends to work on a path or named resource. It is not a lock. Each editing member has a separate checkout, and Git handles conflicts when the changes are combined. Claims help members prevent duplicate work.

FieldMeaning
patterna path, a directory, or a glob
reasonwhy the member needs the claim
statusactive or released
createdAt, releasedAtwhen the claim was created and released

Overlap is tested against other members' active claims only. A member that re-claims its own pattern is not in conflict with itself.

The Room's claim policy decides what an overlap does:

PolicyResult
warnrecord the claim and identify members with overlapping claims
blockthe whole request is refused, so a partly applied claim set never exists

A member can hold up to 50 active claims. Sero keeps up to 200 released claims for the audit trail and removes the oldest entries first.

Sero releases a member's claims when the member retires or the Room ends. It also checks the roster when it reads claims and ignores claims from members that are no longer active.

Artifacts

An artifact is a result recorded by a Room member.

FieldMeaning
kindone of plan, decision, branch, commit, patch, test-result, review, report, pull-request, final-answer
titlethe member's title for the artifact
refa host artifact reference, or an external URL
producedByMemberIdthe member that recorded it
relatedWorkIdthe related work item, if present

Scheduling and limits

Rooms have limits for maximum cost, working time, team size, active member turns, and retry behavior. Reaching a hard limit stops new turns and shows a reason in the Room. It does not silently increase the limit.

One active-turn slot is reserved for the Conductor when the Conductor is not already running. This lets the Conductor respond when other members fill the remaining slots.

Questions, messages, and approvals

A member question ends that member's turn and releases its active slot. The same session continues after the answer arrives.

An intervention can be delivered:

  • now — wake or interrupt the named members;
  • next-turn — add the message to the next turn without an immediate model call.

Only the user control surface can resolve approvals. The member control surface cannot approve requests, start or stop the Room, or change the Room's approved limits.

Delivery

The proposal defines one delivery destination. A Room started from chat also returns one final result to the chat that started it.

Delivery to an external destination needs user approval. Sero records a delivery reference when the destination provides one.

User tool actions

The rooms tool is the user control surface.

ActionPurpose
preparecreate a draft proposal from a problem description
adjustrevise a draft proposal from a plain-language instruction
startapprove setup and start member sessions
pause, resumeprevent new turns while active turns finish, or restart member turns; pause does not stop an active turn
cancel, deletestop a Room and abort active turns, or remove its state and member session history
resolve_approvalapprove or reject one request
intervenesend information or direction to members
wakeput an idle member back to work
answeranswer a waiting member question
releaserelease an explicit wait between members
timelineread Room activity
watch, unwatchstart or stop live status updates
historyread a member session history
contextread the current Room context

Room members use the separate room tool through the Sero CLI. The runtime checks that the caller is on the Room roster. A Room member cannot use the user-only rooms control surface.

Recovery and retention

After a restart, Sero reconciles saved Room state with member sessions and managed worktrees. Interrupted member turns are released. The Conductor decides what work still needs to run.

Pausing keeps the Room record and member session history. The store supports an internal archive state that removes old retained message activity, but the current user control surface does not expose an archive action. Deleting removes the Room state and deletes its persistent-session grant history, including its member session files. Sero first preserves member work in checkpoints and refuses deletion if it cannot preserve a member worktree.

State and storage

Room state is stored per workspace:

<workspace>/.sero/apps/orchestrator/rooms/
  index.json
  <roomId>/room.json
  <roomId>/members/<memberId>.json
  <roomId>/messages/<page>.json
  <roomId>/revisions.json
  <roomId>/timeline.jsonl

These files can contain prompts, answers, paths, model usage, costs, and work results. Remove private data before you share them.