Collaboration Surface

Roundtable

Roundtable is Waterbrother’s shared-project model: one project, one room, multiple people, one visible execution surface, and explicit collaboration state instead of chat chaos.

The terminal remains the source of truth. Messaging is the collaboration surface. Shared state lives in a machine file and a human file so execution, ownership, and decisions stay durable.

Room One shared project maps to one room
Mode Chat, plan, or execute before a prompt can run
Lock One active operator at a time
Files

Where shared project state lives

  • .waterbrother/shared.json is the machine source of truth.
  • ROUNDTABLE.md is the human collaboration file.
  • .waterbrother/self-awareness.json captures Waterbrother’s current repo/runtime understanding.
  • The terminal and Telegram both read from the same shared project state.
Modes

Shared room modes

  • chat: discussion only, no execution.
  • plan: ideation and task shaping, no execution.
  • execute: active operator can drive code changes.

Telegram execution in shared projects is gated on execute mode. This prevents normal conversation from turning into accidental code execution.

Commands

Current shared-project flow

waterbrother project share
waterbrother room status
waterbrother room members
waterbrother room invite 8331997434 editor Phillip
waterbrother room invites
waterbrother room task add "Ship Telegram group tasks"
waterbrother room task assign rt_ab12cd 8331997434
waterbrother room task comment rt_ab12cd "Need owner review"
waterbrother room task history rt_ab12cd
waterbrother room runtime review-anthropic
waterbrother room tasks
waterbrother room mode execute
waterbrother room claim
waterbrother room release
Task Queue

Shared backlog inside Roundtable

Shared projects now keep a lightweight task queue in both .waterbrother/shared.json and the ## Task Queue section of ROUNDTABLE.md. Members can add tasks, and owners or editors can assign or move them across open, active, blocked, and done. Each task also carries comment/history entries so planning context does not disappear into chat scrollback. Room status also summarizes task ownership so the active workload is visible without opening every task.

The local TUI /status payload now exposes sharedRoom with pending invites, task ownership summary, and recent task activity so the operator can see collaboration state without leaving the terminal.

Room Runtime

Shared execution can point at a named runtime profile

A shared room can now select a named runtime profile for execution. That room-level selection is visible in /room, applies to Telegram fallback runs, and is applied to the active TUI host before live bridged execution when available.

Operator Lock

Why the room uses one active operator

Waterbrother does not allow everyone to issue live execution commands at once. Shared projects use an active-operator lock so one person owns execution while others discuss, plan, and review. This keeps the TUI readable and the execution history defensible.

Owners administer room mode and membership. Owners and editors can claim the operator lock. Observers stay read-only.

Telegram Groups

How group rooms stay explicit

In Telegram groups, Waterbrother does not react to every message. It only processes slash commands, messages that mention the bot, or replies to one of the bot’s messages. Shared execution still requires the room to be in execute mode and the sender to hold the active-operator lock.

Directly targeted group messages are classified as chat, planning, or execution. Only explicit execution requests run the live session. In plan mode, targeted task: and todo: messages are captured into the shared task queue, while targeted product/project questions are answered directly from local repo state.

Executor Identity

Every room shows who is acting and with what runtime

/room now exposes the active executor surface and runtime identity. In practice that means collaborators can see whether execution is going through a live TUI host or the fallback path, and which provider/model/runtime profile is currently backing the room.

Roadmap

What Roundtable grows into

  • intent classification for group chats
  • runtime and model visibility for the active executor
  • Discord and Signal adapters built on the same room model