interface contract
The written agreement for one connection between two parts of a system.
An interface contract specifies what crosses one boundary in a system -- protocol, messages, rates, security, errors and versioning -- so each side can be built and tested on its own.
Examples
The arrow from soil probes to the gateway gets its own contract: the topic
gh1/<probe-id>/telemetry/soil, the payload{v, ts, soil_pct}, the security in use and what happens when the gateway goes offline.