Relevant Zulip discussion[0].
The user experience for adding a delegate can be viewed as cumbersome.
When adding new delegates, the rad id command will fail if any
delegates are not available locally. This is for good reason since
computing canonical references uses the existence of default branch
under each delegate.
However, it is noted that only a threshold of delegates is actually required to perform this computation. That means we can improve the experience by checking if there is a threshold of delegates available when updating, and also when fetching.
For updating via rad id we can note which DIDs are missing and
suggest to follow them. When fetching, we change the logic to only
fail during validation when less than the threshold of rad/sigrefs
are found.
The computation of the canonical branch may also need some tweaking to be tolerant of missing references.
It may also be useful to document or add tooling for checking what SHA a delegate has for a given ref which will help in seeing if a canonical branch is going to update or is falling for behind due to a peer.