read-dependencies: given a repository state, every dependency it
declares, each with its identity, every declaration of it and the
pin each gives; and every declaration that could not be read, with
the reason.
read-tiers: given a repository state, its tiers, the cadence of
each, and which identities each names.
Both answers are the same for the same repository state, and reading
either changes nothing (5).
list-releases: given an identity, every release its source
publishes, each with its version, date and link, and whether the
source has withdrawn it; or that the source could not be reached.
order: given an identity and two versions, which is newer, that
they are the same, or that their order cannot be decided.
The order is the source’s own (6), and the same two versions always
order the same way.
read-advisories: given an identity and a version, every advisory
that names that version, each with its identity, its severity as the
advisory gives it, and a link.
read: given a repository, its held state and the version it was
read at.
write: given a repository, the version read and the next held
state. The write is all or nothing, and succeeds only if the held
state is still at the version read (30).
The store holds nothing in the repository’s content (28), and every
checkout of one repository reaches the same store.
Each seam is bound by naming one or more profiles of Part C. Any
number of dependency descriptions, release sources, notes sources
and advisory sources are bound at once, each answering for the
identities it knows, and exactly one store is written.
One conformance suite holds every profile to Parts A and B; a
profile that fails it is not one.