SpecSheriff
rule · _guidelines/spec/1.24 · s-7vm323mhry2enx3

What the domains share is agreed in contracts

Checkedconfirmed by its owner

Contracts is not a domain: it belongs to none of them and agrees what they share and how they work together — the terminology, the conventions every domain's API follows, and the rules that bind more than one domain. A domain coins no term of its own — a term it needs is added to contracts — and a term is defined once: one term naming two things, or two terms naming one, is refused. What only one domain needs, it holds itself. A data record one domain provides to others is described in that domain, as part of its interface; contracts describes a data record only where no single domain provides it, as a store more than one domain writes.

Why

Domains that coin their own words, or their own conventions for the same exchange, stop understanding one another, and a reader cannot tell whether two words mean one thing. Holding in contracts only what binds more than one domain keeps it from owning what a single domain defines. A data record described away from the domain that provides it has no owner: the provider changes what it gives while its description stands elsewhere.

The links made to it