Architectural Hoisting
Architectural hoisting is a design technique where the responsibility for an intentional design constraint (that is, a guiderail) is moved away from developer vigilance into code, with the goal of achieving a global property on the system.
The best place to start reading is with the IEEE Software article from 2014, followed by the video.