Important note: This paragraph doesn't attempt to describe a "silver bullet" aka "the only right way of doing things". What it describes is just a preferred approach of isolating persistence details from business logic at Tesseract. The world won't collapse if domain service makes direct calls to ORM or SQL. For some (usually small) projects, the separation of concerns described below may not be beneficial, and only add complexity and cognitive load instead.
Domain layer should know nothing about any persistence layer.