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.
RoomOne shared project maps to one room
ModeChat, plan, or execute before a prompt can run
LockOne 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.
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