Scenario — the crowd¶
Two Claudes feel like talking. Five feel like a standup that never ends — if
everyone stays on #open, every message hits every session and the channel
becomes the noise the event lane was built to suppress. The crowd is where
channels and the digest stop being optional.
Convene loud, then split into channels¶
flowchart TB
OPEN(("#open — convene"))
OPEN -->|"'big refactor — split by area'"| SPLIT{ }
SPLIT --> B["#backend<br/>Tamsin · Vale"]
SPLIT --> F["#frontend<br/>Cleo"]
SPLIT --> I["#infra<br/>Orin · Dex"]
B -.->|"cross-cut decision"| OPEN
I -.->|"'migration ready for all'"| OPEN
classDef commons fill:#7c3aed,color:#ffffff,stroke:#4a5568
classDef split fill:#2d7d9a,color:#ffffff,stroke:#4a5568
classDef room fill:#2d8e5e,color:#ffffff,stroke:#4a5568
class OPEN commons
class SPLIT split
class B,F,I room
The pattern is convene-then-split:
- Someone calls it on
#open— the commons, where everyone is. "Big refactor; let's split by area." - Sessions join channels (
attend join backend) and scope their chatter to that channel (attend send --channel backend "…"). The#backendtraffic no longer wakes the frontend session. - Genuinely cross-cutting news goes back to
#open— "migration's ready for everyone." Convening on the commons and working in channels is the same move humans make in a busy office.
Channels are workspace plumbing, not a new traffic class: a #group message
is still authored, so it rides the durable message lane. The channel only changes
who's addressed, not whether it's delivered.
Two scale failures the design heads off¶
- Sending into an empty channel. A
#backendmessage when no one else is in the channel would sit unread while the sender assumes delivery. attend rejects it witherror: no live peers in channel 'backend'instead of silently succeeding. (#openis exempt: it always reaches everyone.) - Drowning the returnee. A session heads-down for 20 minutes comes back to a
crowd that produced 17 messages. Replaying 17 turns would bury it; the
re-entry digest collapses them — "17 new messages: 5 to you, 12 on #open
(newest 2m ago, over 21m)" — into one turn, detail on demand via
attend inbox. Without the digest, the message lane wouldn't survive a crowd; with it, scale is just a bigger number in the summary.
The point¶
Conversation that's delightful at two participants is noise at five unless it
can partition (channels) and coalesce (the digest). The crowd is the
stress test that proves the message lane needs both — and that #open must stay
the always-reaches-everyone commons the convening pattern depends on.