| Lock Client | Owns client protocol, request identity, retry, and resume behavior. In this design it participates in: Client opens an authenticated session and proposes acquire to the consensus leader. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents the external caller from also owning the contract and failure behavior of Session Library. | 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 “Old owner resumes after long pause” 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 Lock Client boundary before extracting or scaling it. |
| Session Library | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Committed acquire increments fencing counter and returns lease plus token. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Lock Client from also owning the contract and failure behavior of Leader Endpoint. | 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 “Leader changes during renewal” to Lock 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 Session Library boundary before extracting or scaling it. |
| Leader Endpoint | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Protected resource requires token on every mutation and rejects values below its maximum. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Session Library from also owning the contract and failure behavior of Consensus Leader. | 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 “Client reaches resource after lease loss” to Session Library. | 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 Leader Endpoint boundary before extracting or scaling it. |
| Consensus Leader | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Renewals extend the lease only after quorum commit; client stops work before uncertainty margin. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Leader Endpoint from also owning the contract and failure behavior of Consensus Followers. | 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 “Watch misses compaction window” to Leader Endpoint. | 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 Consensus Leader boundary before extracting or scaling it. |
| Consensus Followers | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Expiry/release commits a new revision and notifies ordered watchers. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Consensus Leader from also owning the contract and failure behavior of Replicated 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 “Administrator force-releases active lock” to Consensus Leader. | 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 Consensus Followers boundary before extracting or scaling it. |
| Replicated Log | Preserves durable ordering, replay, and consumer checkpoints. In this design it participates in: Client opens an authenticated session and proposes acquire to the consensus leader. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Consensus Followers from also owning the contract and failure behavior of Lease Table. | Call every downstream consumer synchronously. That couples user latency and availability to analytics, notification, indexing, and audit dependencies. Here that simpler choice would couple “Old owner resumes after long pause” to Consensus Followers. | 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 Replicated Log boundary before extracting or scaling it. |
| Lease Table | Owns authoritative versioned state or immutable evidence. In this design it participates in: Committed acquire increments fencing counter and returns lease plus token. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Replicated Log from also owning the contract and failure behavior of Fencing Counter. | 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 “Leader changes during renewal” to Replicated 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 Lease Table boundary before extracting or scaling it. |
| Fencing Counter | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Protected resource requires token on every mutation and rejects values below its maximum. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Lease Table from also owning the contract and failure behavior of Watch Registry. | 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 “Client reaches resource after lease loss” to Lease Table. | 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 Fencing Counter boundary before extracting or scaling it. |
| Watch Registry | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Renewals extend the lease only after quorum commit; client stops work before uncertainty margin. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Fencing Counter from also owning the contract and failure behavior of Clock / Lease Monitor. | 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 “Watch misses compaction window” to Fencing Counter. | 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 Watch Registry boundary before extracting or scaling it. |
| Clock / Lease Monitor | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Expiry/release commits a new revision and notifies ordered watchers. | Proves correctness and supports controlled recovery. It prevents Watch Registry from also owning the contract and failure behavior of Protected Database. | 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 “Administrator force-releases active lock” to Watch Registry. | 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 Clock / Lease Monitor boundary before extracting or scaling it. |
| Protected Database | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Client opens an authenticated session and proposes acquire to the consensus leader. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Clock / Lease Monitor from also owning the contract and failure behavior of Protected Object 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 “Old owner resumes after long pause” to Clock / Lease Monitor. | 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 Protected Database boundary before extracting or scaling it. |
| Protected Object Store | Owns authoritative versioned state or immutable evidence. In this design it participates in: Committed acquire increments fencing counter and returns lease plus token. | Defines the source of truth and commit boundary. It prevents Protected Database from also owning the contract and failure behavior of Admin Recovery. | 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 “Leader changes during renewal” to Protected Database. | 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 Protected Object Store boundary before extracting or scaling it. |
| Admin Recovery | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Protected resource requires token on every mutation and rejects values below its maximum. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Protected Object Store from also owning the contract and failure behavior of Audit Stream. | 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 “Client reaches resource after lease loss” to Protected Object 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 Admin Recovery boundary before extracting or scaling it. |
| Audit Stream | Preserves durable ordering, replay, and consumer checkpoints. In this design it participates in: Renewals extend the lease only after quorum commit; client stops work before uncertainty margin. | Proves correctness and supports controlled recovery. It prevents Admin Recovery from also owning the contract and failure behavior of operators and repair tooling. | Call every downstream consumer synchronously. That couples user latency and availability to analytics, notification, indexing, and audit dependencies. Here that simpler choice would couple “Watch misses compaction window” to Admin Recovery. | 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 Audit Stream boundary before extracting or scaling it. |