REQUIRED_SPACE_METHODS is documented as "every method a host must advertise
to be usable as a space host" -- the list a capability probe compares a host
against. It required com.atproto.space.getRepoState, which appears in no
version of proposal 0016 and in no draft lexicon. It is a pre-lexicon name for
what the draft settled on calling getLatestCommit, and this workspace's own
PDS routes it as a compatibility alias it deliberately does not advertise. A
probe therefore failed a conformant host for lacking a method that does not
exist.
It also omitted listRepoOps, which the draft calls the primary sync
mechanism, along with getBlob and listBlobs. So the list was wrong in both
directions at once: it turned down hosts that could serve a space and passed
hosts that could not be synced from, which is the failure a conformance list
exists to prevent.
The list is now the draft's XRPC table, grouped by the role each row is
assigned to -- space host, repo host, PDS -- less notifySpaceDeleted. That
one is delivered to the services registered for a space rather than served by
a host, so a host that does not answer it is not thereby unable to serve
spaces. notifyWrite stays: a space host receives one from each repo host and
forwards it.
GET_REPO_STATE remains as a constant, documented as not being a 0016 method,
because servers still answer it and a client still has to name it. Breaking for
anything binding the constant as [&str; 17].