From 00a2c98074176d3c727ab8908902fd362e25ebe3 Mon Sep 17 00:00:00 2001 From: Alexander Whitestone Date: Mon, 13 Apr 2026 16:18:36 -0400 Subject: [PATCH] =?UTF-8?q?paper:=20v0.1.6=20=E2=80=94=20document=20whispe?= =?UTF-8?q?r=20(private=20DM)=20and=20inventory=20commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added whisper to §3.5 integration table and §3.7 command table - Added whisper design paragraph: cross-room private messaging, type isolation, validation - Added inventory stub to §3.7 command table - Updated closing paragraph to include whisper isolation guarantee --- docs/papers/sovereign-in-the-room.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/papers/sovereign-in-the-room.md b/docs/papers/sovereign-in-the-room.md index 5fa74be5..08f41318 100644 --- a/docs/papers/sovereign-in-the-room.md +++ b/docs/papers/sovereign-in-the-room.md @@ -2,7 +2,7 @@ **Authors:** Timmy Foundation **Date:** 2026-04-12 -**Version:** 0.1.5-draft +**Version:** 0.1.6-draft **Branch:** feat/multi-user-bridge --- @@ -164,6 +164,7 @@ The bridge translates between HTTP/WebSocket (for web clients) and Evennia's com |---|---|---| | `look` / `l` | `look` | ✅ Implemented | | `say ` | `say` | ✅ Implemented (room broadcast) | +| `whisper ` | `whisper` | ✅ Implemented (private DM) | | `who` | `who` | ✅ Implemented | | `move ` | `goto` / `teleport` | ✅ Implemented (WS) | @@ -189,13 +190,17 @@ The bridge implements classic MUD (Multi-User Dungeon) commands that enable rich |---------|--------|-------------| | `look` / `l` | `look` | View current room and its occupants | | `say` | `say ` | Broadcast speech to room occupants | +| `whisper` | `whisper ` | Private message to any online user (cross-room) | | `go` / `move` | `go ` | Move to a new room, notifying previous occupants | | `emote` / `/me` | `emote ` | Third-person action broadcast (e.g., "Alice waves hello") | | `who` | `who` | List all online users with their rooms and command counts | +| `inventory` / `i` | `inventory` | Check inventory (stub for future item system) | The `go` command enables room transitions over HTTP—previously only possible via WebSocket `move` messages. When a user moves, the bridge atomically updates room occupancy tracking and delivers departure notifications to remaining occupants via the room events queue. The `emote` command broadcasts third-person actions to co-present users while returning first-person confirmation to the actor, matching classic MUD semantics. -All commands maintain the same session isolation guarantees: a `say` in the Tower is invisible to users in the Chapel, and room transitions are consistent across concurrent requests. +The `whisper` command implements private directed messaging between any two online users, regardless of room. Whisper events use `type: "whisper"` (distinct from `type: "room_broadcast"`) and are delivered only to the target user's room events queue—third parties in either room cannot observe the exchange. This cross-room whisper capability means a user in the Tower can secretly contact a user in the Chapel, enabling private coordination within the multi-user world. The bridge validates: target must be online, sender cannot whisper to self, and message content is required. + +All commands maintain the same session isolation guarantees: a `say` in the Tower is invisible to users in the Chapel, room transitions are consistent across concurrent requests, and whispers are private by design. ---