What Lives in a Workspace
Roles
Viewers can inspect content but cannot mutate workspace items. The app shows view-only affordances when a viewer opens mutation controls.
Source of Truth
The app stores workspace access, the item tree, relationships, current document checkpoints, and extracted text in Postgres. Original and preview file bytes live in R2. TheWorkspaceRoom Durable Object coordinates presence, workspace-page deltas, and cleanup; it is not a second database. Clients apply canonical item deltas and refetch the authoritative workspace query after reconnecting or when a full refresh is announced. UI and AI operations go through workspace persistence boundaries rather than writing directly to scattered client state.