Studio
Studio is where you write. Not where you chat, not where you read briefings, not where you tune Sadie. Just writing.
The surface is a Tiptap editor bound to a Yjs document. You get real-time multiplayer with presence cursors, persistent offline state, text-anchored comments, and a filing pipeline that lifts polished drafts back into your wiki as first-class sources.
Workspaces and documents
Section titled “Workspaces and documents”Studio is organized into workspaces. Each workspace has its own slug, color token, and access grants. Inside a workspace, documents are typed as draft, note, brief, essay, or post. Status moves through draft, published, and filed.
A default workspace is always created for you at bootstrap. You can add more in the workspace switcher.
Multiplayer and presence
Section titled “Multiplayer and presence”Studio uses @tiptap/extension-collaboration over a Yjs Y.Doc. Two persistence layers keep your work safe:
- y-indexeddb stores the document locally so it survives a refresh without a server round trip.
- y-websocket syncs state between browsers through the collab server.
Presence is Yjs awareness: cursor positions and collaborator names update in real time. In development, run pnpm dev:collab to start the websocket server on ws://127.0.0.1:1234. In production, point NEXT_PUBLIC_COLLAB_WS_URL at your deployed server.
Solo editing works without the websocket server. IndexedDB persists your work; multiplayer just isn’t live until the websocket comes up.
Comments
Section titled “Comments”Comments anchor to character ranges in the text, not to node IDs. Select a range, add a comment, and it travels with the selection as the document changes. Each comment carries an author name and color for presence display, plus a resolved flag so you can triage without deleting the thread.
Filing to wiki
Section titled “Filing to wiki”When a document is done, you can file it. Filing promotes the document content as a source into the wiki compiler pipeline. The document’s wikiEntryId links back to the resulting entry so you can navigate from entry to draft and back.
Filing is the way Studio pays back into your wiki. Drafts and notes sharpen your thinking in the moment; filed documents compound over time.
Policy lint is record-only
Section titled “Policy lint is record-only”Your editor is your space. Studio runs the same policy lint as Chats and Briefs, but the action is always record-only: matches are logged to policy_violations, your text is never mutated. You can inspect the log in Access under Policies if you want to audit drift against your own rules.
This is a deliberate asymmetry. Hard rewrites in a writing surface would fight you. In Studio, Sadie only tells you when a rule tripped.
Related
Section titled “Related”- Studio document - the data model
- Wiki entry - what filing produces
- Policies - the lint rules