Decision record

ADR-0003: MCP writes to live pages

Written by

ADR-0003: MCP writes to live-edited pages are rejected

Status: accepted · Date: 2026-08-28

Decision

update_page over MCP refuses to write while the collab service holds an in-memory room for the target page (checked via the collab service’s /rooms/:ws/:page/active probe). The caller gets a clear retryable error; when no room is live, the write replaces current.json, deletes the stale collab.yupdate so the next room seeds from the new JSON, and records an api-source revision.

Context

PLAN Phase 6 required an explicit choice: reject, or apply API writes as Yjs updates through the collab service. A live room’s in-memory Y.Doc is the authority while editors are connected; writing beneath it silently loses whichever side checkpoints last.

Alternatives considered

Consequences

References

Written and maintained by , who made this decision — about · GitHub.

← All decisions