← ExamplesGitHub
EXAMPLE / PERSISTENCE

A shared database without an implicit shared boundary.

Shared persistence can be compatible with BOUND, but only when state ownership and access contracts are explicit.

Domain

Customer profile data used by Account and Notification services.

Boundary

  • Account Service owns customer profile state.
  • Notification Service may read an explicitly defined projection.
  • Notification Service does not acquire write authority merely because it can reach the database.

Contract

Owned state: customer profile
Permitted consumer: Notification Service
Access: read-only projection
Fields: customer_id, email, notification_preferences
Freshness: projection updated within the stated synchronization window
Forbidden: direct writes by the consumer

Execution

The implementation may use a shared database, a read replica, a view, or another storage mechanism. The boundary is defined by ownership and permitted operations rather than by the physical location of the data.

Verification

  • Database permissions prevent unauthorized writes.
  • Integration tests verify projection shape.
  • Migration tests verify compatibility.
  • Runtime checks detect unexpected write access.
Boundary failure: “the table is accessible” is not a contract. Access capability and decision authority must not be treated as equivalent.