Context
Users see changes live, and some documents are edited by several people at once. The owner’s realtime answers RT1, RT2 and CO1 (mem L812–814, 2026-10-20) fix the transport, the drivers, presence and co-editing. Presence and co-editing are no longer a Pro-only package (contradiction C-06).Decision
- Transport (RT1). WebSocket, with a server-sent-events fallback. Channels are authenticated, and presence is supported. Drivers: a native driver on Valkey or Postgres pub/sub, Centrifugo, Ably and Pusher. IAM authorises each channel.
- Presence and co-editing (RT2). Presence and cursors. Rich documents are co-edited with Yjs (a CRDT), and the state is saved as snapshots. Form records keep optimistic concurrency control instead.
- Commentable (CO1). A
@Commentabletrait adds comments to any model.
Consequences
- A form record cannot be lost to a concurrent edit, because forms keep the version check.
- A rich document can be edited by several people without a lock, and its history is its snapshots.
Enforcement
planned — the channel authorisation test; the Yjs snapshot round-trip test.Supersedes and sources
Supersedes: none. Amends: the realtime row of 0084, the trait list of 0096. Sources: owner realtime answers RT1, RT2, CO1 (stackra-decisions-2026-10-19.md L812–814, 2026-10-20). Contradiction C-06.