Discovery
Discovery covers two cases: finding data whose owner is already known, and being found by someone who does not know the owner.
From an Identity
Resolving a DID returns its document, which advertises the network address of a store and the ID of that identity’s root document — a personal index whose keys name the documents holding the person’s profile, avatars, and published spaces. Looking someone up means resolving the DID and syncing the root document; no search service is queried. Because the root document’s ID is part of the identity, it is self-certifying: any store can serve a copy, and none can tamper with it.
Registries
Nothing points at a space until it is listed.
A registry is a service that collects submissions and publishes them as
ordinary documents called views — recent,
featured, and per-category listings.
A registry runs standalone or as a feature of a data store.
Views are what clients sync.
They are capped, so syncing one costs a bounded amount regardless of how much the registry has accumulated. Entries are stored in the registry’s intended order. Because views are ordinary documents, anyone can read, cache, or mirror them without an account.
Publishing
Publishing means submitting an entry to a registry. An entry states what the thing is, where it lives, and how to describe it: title, tags, and preview image. Submissions carry an expiry; refreshing one keeps it listed, so abandoned entries fall off without being pruned.
Publishing and hosting are separate steps. Hosting keeps data reachable; publishing makes it findable. A space can be online but unlisted, or listed but unreachable.
Curation
A registry decides what it lists; it cannot misrepresent. Every submission is signed by its author and passed on unchanged, and readers check those signatures themselves. A registry can decline to carry something but cannot forge, alter, or re-attribute an entry. Search, ranking, and moderation are policies a registry adopts, not rules the protocol imposes. A client can follow a different registry without the underlying data moving.
Presence
A listing says a space exists. It says nothing about who’s inside.
A client present in a space broadcasts a signed presence message across that space’s gossip overlay. Every peer in the overlay repeats the message to its neighbors. Peers already in a space learn about each other this way, without querying anyone directly.
Joining that overlay for the first time requires dialing a peer already inside it. A registry supplies that peer: a client asks the registry who is present in a space, then dials the addresses it returns. From there, presence for everyone else in the space comes from gossip, and once it has reached everyone, clients hold direct connections to each other.