Each abstract *Contract class defines the observable-state invariants of the corresponding repository interface. The concrete *Impl is run against the suite via a thin subclass. Future fakes or alternative impls can be verified by subclassing the same contract. 24 new tests across 3 files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>