Chat is not just the current wedge.
It is also a backend-first coordination kernel.
That means the shell is downstream of chat truth, not the other way around.
Core split
The current chat subsystem should be read in three layers:src/chat/core/- durable truth
src/chat/policy/- room-local commands and participation rules
src/chat/projections/- rebuildable product views
Truth versus projection
Shared truth includes durable facts such as:- rooms
- memberships
- grant bindings
- messages
- reactions
- cursor updates
- unread
- mention lists
- inbox
- sidebar activity
- transcript shaping
Agent relationship
Agents do not own Chat. Chat does not define Agent core semantics. Instead:- Chat can route communication into sessions
- Agent can execute on session events