Summary of the source lessons: typespecs document expectations and improve analysis tooling, while behaviours formalize callback contracts for interchangeable modules. Together they support safer extension points and clearer API communication across teams.
Document these contracts where modules are defined in [[modules-and-docs]], apply them to long-lived service boundaries in [[otp-supervision]], and verify contract adherence in [[testing]].