| Editor Client | Owns client protocol, request identity, retry, and resume behavior. In this design it participates in: Apply edits locally for instant feedback and enqueue client operation identity. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents the external caller from also owning the contract and failure behavior of Local Document Model. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Offline client returns with compacted base” to the external caller. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Editor Client boundary before extracting or scaling it. |
| Local Document Model | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Gateway routes by document; server rechecks permission and base version. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Editor Client from also owning the contract and failure behavior of Realtime Gateway. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Permission revoked during active session” to Editor Client. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Local Document Model boundary before extracting or scaling it. |
| Realtime Gateway | Owns authentication, validation, quotas, deadlines, and routing. In this design it participates in: Transform/merge against concurrent operations, assign canonical sequence, and append durably. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Local Document Model from also owning the contract and failure behavior of Session Directory. | Put protocol, authentication, quotas, and business transitions in one process. Acceptable at low scale, but it couples external traffic risk to domain releases. Here that simpler choice would couple “Duplicate client operation reconnects” to Local Document Model. | Costs another hop, policy distribution, and a high-blast-radius fleet. Introduce it when many clients or services need one protocol and protection boundary. Measure the latency, saturation, lag, or mismatch at the Realtime Gateway boundary before extracting or scaling it. |
| Session Directory | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Broadcast canonical operation; clients reconcile pending local operations and acknowledge cursor. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Realtime Gateway from also owning the contract and failure behavior of Permission Service. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Two operations target deleted range” to Realtime Gateway. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Session Directory boundary before extracting or scaling it. |
| Permission Service | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Snapshot periodically and compact only after active/offline retention guarantees. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Session Directory from also owning the contract and failure behavior of Document Router. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Snapshot checksum differs from op replay” to Session Directory. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Permission Service boundary before extracting or scaling it. |
| Document Router | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Apply edits locally for instant feedback and enqueue client operation identity. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Permission Service from also owning the contract and failure behavior of OT / CRDT Engine. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Offline client returns with compacted base” to Permission Service. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Document Router boundary before extracting or scaling it. |
| OT / CRDT Engine | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Gateway routes by document; server rechecks permission and base version. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Document Router from also owning the contract and failure behavior of Canonical Op Log. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Permission revoked during active session” to Document Router. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the OT / CRDT Engine boundary before extracting or scaling it. |
| Canonical Op Log | Preserves durable ordering, replay, and consumer checkpoints. In this design it participates in: Transform/merge against concurrent operations, assign canonical sequence, and append durably. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents OT / CRDT Engine from also owning the contract and failure behavior of Snapshot Builder. | Call every downstream consumer synchronously. That couples user latency and availability to analytics, notification, indexing, and audit dependencies. Here that simpler choice would couple “Duplicate client operation reconnects” to OT / CRDT Engine. | Costs eventual consistency, schema evolution, replay tooling, idempotent consumers, and lag operations. Earn it when bursts or downstream failure must not block acknowledgment. Measure the latency, saturation, lag, or mismatch at the Canonical Op Log boundary before extracting or scaling it. |
| Snapshot Builder | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Broadcast canonical operation; clients reconcile pending local operations and acknowledge cursor. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Canonical Op Log from also owning the contract and failure behavior of Document Store. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Two operations target deleted range” to Canonical Op Log. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Snapshot Builder boundary before extracting or scaling it. |
| Document Store | Owns authoritative versioned state or immutable evidence. In this design it participates in: Snapshot periodically and compact only after active/offline retention guarantees. | Defines the source of truth and commit boundary. It prevents Snapshot Builder from also owning the contract and failure behavior of Presence Service. | Let each service persist its own interpretation. That removes one clear commit boundary and makes retries, support, and reconciliation ambiguous. Here that simpler choice would couple “Snapshot checksum differs from op replay” to Snapshot Builder. | Costs schema migration, replication, backup, and shard ownership. Split storage only when access patterns, retention, or compliance boundaries materially differ. Measure the latency, saturation, lag, or mismatch at the Document Store boundary before extracting or scaling it. |
| Presence Service | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Apply edits locally for instant feedback and enqueue client operation identity. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Document Store from also owning the contract and failure behavior of Cursor Broadcast. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Offline client returns with compacted base” to Document Store. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Presence Service boundary before extracting or scaling it. |
| Cursor Broadcast | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Gateway routes by document; server rechecks permission and base version. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Presence Service from also owning the contract and failure behavior of Offline Merge. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Permission revoked during active session” to Presence Service. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Cursor Broadcast boundary before extracting or scaling it. |
| Offline Merge | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Transform/merge against concurrent operations, assign canonical sequence, and append durably. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Cursor Broadcast from also owning the contract and failure behavior of Export / Audit. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Duplicate client operation reconnects” to Cursor Broadcast. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Offline Merge boundary before extracting or scaling it. |
| Export / Audit | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Broadcast canonical operation; clients reconcile pending local operations and acknowledge cursor. | Proves correctness and supports controlled recovery. It prevents Offline Merge from also owning the contract and failure behavior of operators and repair tooling. | Infer correctness from request logs. Logs do not prove durable business state, detect silent drift, or safely repair ambiguous outcomes. Here that simpler choice would couple “Two operations target deleted range” to Offline Merge. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Export / Audit boundary before extracting or scaling it. |