It often wise happens that the event contract gets changed by a developer without thinking about the consequences. It might break other parts of the system that consume the changed event, or it will fail to deserialise events which were persisted before. The basic idea is to have a place where events (and, maybe, commands) might get registered. Then, when an application starts, it could check if contracts known by the application are already registered in the schema registry and if these contracts indeed match. That's what Kafka Schema Registry is for, but it's linked to a single topic, and Eventuous would link it to an aggregate. It would allow having multiple events per aggregate. Subscriptions could do the same check. It would help resolve contract issues when subscriptions are deployed as separate services, which often happens.