Similarly to D10298, this addresses what we learned when testing D10297 that it's important that we validate the stringified JSON that we retrieve from ClientDBThreadInfo. Specifically, it's possible for ClientDBThreadInfo to have either stringified MinimallyEncodedRoleInfos or LegacyEncodedRoleInfos stored in the .roles field, and we should A. valdidate that the data is correctly formed B. determine which format the data is in.
Depends on D10298