"""Contract tests: one shared behaviour suite every implementation must satisfy. Unlike unit tests (which test one module in isolation) a contract test is parametrised over EVERY implementation of an interface, so a newly added provider either satisfies the same promises as the existing ones or the suite goes red on the day it is added - not months later, in production, on the one code path that assumed the promise held. """