Interface contract (for agents)
An interface contract is a declared, versioned description of an interface one agent owns and other agents depend on, an endpoint shape, a shared type, a module boundary, published before the code is written so consumers build against the declaration instead of a guess.
Two agents that agree on a shape can still collide a day later when one changes it. Contracts make the agreement explicit and versioned: the owner declares the shape, consumers register their dependency, and any change becomes a visible event rather than a surprise in code review.
Contracts carry coordination metadata only, names, shapes, versions, dependencies, never source code. That is what lets them travel between machines safely.