One of the most subtle ways systems become fragile is when external models leak into the domain.
APIs, databases, and platform services all expose their own representations. Those representations are shaped by infrastructure concerns:transport, serialization, storage, not by business meaning.
When domain logic starts consuming those models directly, the system quietly becomes dependent on infrastructure semantics.
At first, everything works.
But over time, external changes begin to ripple through the system. A renamed field, a new response shape, a platform-specific constraint, and suddenly domain logic needs to adapt to something it should never have depended on.
The issue isn’t the external system. It’s the absence of a semantic boundary.
The domain should define its own entities, independently of how data is transported or stored. Infrastructure models must be translated at the boundary, so the domain remains stable even as infrastructure evolves.
This keeps business logic focused on business intent, not technical representation.
Minimal example in the visual.
Systems that scale protect their domain not only from infrastructure changes, but from infrastructure semantics.